3d40c0cc22bda66c2954062e0f00eafb96110ac2
[gnulib.git] / ChangeLog
1 2012-02-25  Bruno Haible  <bruno@clisp.org>
2
3         fabs tests: More tests.
4         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
5         (zero): New variable.
6         (main): Add tests for signed zero.
7         * modules/fabs-tests (Files): Add tests/minus-zero.h.
8
9         fabsf tests: More tests.
10         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
11         (zero): New variable.
12         (main): Add tests for signed zero.
13         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
14
15 2012-02-24  Bruno Haible  <bruno@clisp.org>
16
17         atanl: Provide function definition on MSVC.
18         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
19         function pointer.
20         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
21
22 2012-02-24  Bruno Haible  <bruno@clisp.org>
23
24         acosl: Provide function definition on MSVC.
25         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
26         function pointer.
27         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
28
29 2012-02-24  Bruno Haible  <bruno@clisp.org>
30
31         asinl: Provide function definition on MSVC.
32         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
33         function pointer.
34         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
35
36 2012-02-24  Bruno Haible  <bruno@clisp.org>
37
38         tanl: Provide function definition on MSVC.
39         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
40         function pointer.
41         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
42
43 2012-02-24  Bruno Haible  <bruno@clisp.org>
44
45         cosl: Provide function definition on MSVC.
46         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
47         function pointer.
48         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
49
50 2012-02-24  Bruno Haible  <bruno@clisp.org>
51
52         sinl: Provide function definition on MSVC.
53         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
54         function pointer.
55         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
56
57 2012-02-24  Bruno Haible  <bruno@clisp.org>
58
59         logl: Provide function definition on MSVC.
60         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
61         function pointer.
62         * lib/math.in.h (logl): Undefine if it does not exist as a function.
63
64 2012-02-24  Bruno Haible  <bruno@clisp.org>
65
66         expl: Provide function definition on MSVC.
67         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
68         function pointer.
69         * lib/math.in.h (expl): Undefine if it does not exist as a function.
70
71 2012-02-24  Bruno Haible  <bruno@clisp.org>
72
73         sqrtl: Provide function definition on MSVC.
74         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
75         a function pointer.
76         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
77
78 2012-02-24  Bruno Haible  <bruno@clisp.org>
79
80         ceill: Provide function definition on MSVC.
81         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
82         used as a function pointer.
83         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
84
85 2012-02-24  Bruno Haible  <bruno@clisp.org>
86
87         floorl: Provide function definition on MSVC.
88         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
89         used as a function pointer.
90         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
91
92 2012-02-24  Bruno Haible  <bruno@clisp.org>
93
94         ceilf: Provide function definition on MSVC.
95         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
96         used as a function pointer.
97         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
98
99 2012-02-24  Bruno Haible  <bruno@clisp.org>
100
101         floorf: Provide function definition on MSVC.
102         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
103         used as a function pointer.
104         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
105
106 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
107
108         stdnoreturn: new module
109         This implements a replacement for C11's <stdnoreturn.h>.
110         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
111         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
112         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
113         * tests/test-stdnoreturn.c: New files.
114
115 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
116
117         regex: fix false multibyte matches in some regular expressions
118         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
119         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
120         * lib/regex_internal.c (re_string_skip_chars):
121         Fix miscomputation of remain_len that may cause incomplete
122         multi-byte character and false match.
123
124 2012-02-24  Jim Meyering  <meyering@redhat.com>
125
126         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
127         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
128         uses with "==" *before* the call, e.g., 0 == strcmp (...)
129         Remove now-unnecessary str''cmp obfuscation.
130         Suggested by Akim Demaille.
131
132 2012-02-24  Bruno Haible  <bruno@clisp.org>
133
134         streq: Rename macro.
135         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
136         * NEWS: Mention the change.
137         * lib/mbrtowc.c (mbrtowc): Update.
138         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
139         * lib/wcwidth.c (wcwidth): Update.
140         Suggested by Akim Demaille and Jim Meyering.
141
142 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
143
144         regex: fix typo in definition of MIN
145         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
146         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
147
148 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
149             Bruno Haible  <bruno@clisp.org>
150
151         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
152         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
153         entries into a stack-allocated buffer directly.
154         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
155
156 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
157             Bruno Haible  <bruno@clisp.org>
158
159         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
160
161          - There were several instances of this pattern:
162
163              for (;;) {
164                n = acl (f, GETACLCNT, 0, NULL);
165                [ allocate an array A of size N ]
166                if (acl (f, GETACL, n, a) == n)
167                  break;
168              }
169
170            This loop might never terminate if some other process is constantly
171            manipulating the file's ACL.  The loop should be rewritten to
172            terminate.
173
174          - The acl (... GETACLNT ...) call is merely an optimization; its value
175            is merely a hint as to how big to make the array.  A better
176            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
177            and just guess a reasonably-big size, growing the size and trying
178            again if it's not large enough.  This guarantees termination, and
179            saves a system call.
180
181         * lib/acl-internal.h: Include <limits.h>.
182         (MIN, SIZE_MAX): New macros.
183         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
184         a stack-allocated buffer, and use malloc if it does not fit. Don't
185         use GETACLCNT.
186         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
187
188 2012-02-19  Bruno Haible  <bruno@clisp.org>
189
190         acl: Fix endless loop on Solaris with vxfs.
191         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
192         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
193         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
194         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
195         * tests/test-sameacls.c (main)[Solaris]: Likewise.
196         Reported by Bill Jones in
197         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
198
199 2012-02-19  Bruno Haible  <bruno@clisp.org>
200
201         acl: Fix copy-acl test failure on Solaris 11 2011-11.
202         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
203         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
204         that this function returns 0 in some more cases.
205
206 2012-02-19  Bruno Haible  <bruno@clisp.org>
207
208         acl: Update doc references.
209         * doc/acl-resources.txt: Update links to Solaris documentation.
210
211 2012-02-19  Bruno Haible  <bruno@clisp.org>
212
213         Fix test failure in many locales on Solaris 11.
214         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
215         'tr' arguments.
216         * tests/test-pipe-filter-ii1.c (main): Likewise.
217         * build-aux/bootstrap (check_versions): Run 'tr' command with range
218         expressions in the C locale.
219         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
220         * m4/host-os.m4 (gl_HOST_OS): Likewise.
221
222 2012-02-19  Bruno Haible  <bruno@clisp.org>
223
224         gnulib-tool: Improve usage message.
225         * gnulib-tool (func_usage): Move doc of --help and --version to the
226         section "Operation modes".
227
228 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
229
230         README-release: make it easier to execute commands
231         * top/README-release: break commands out on to separate lines.
232
233 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
234
235         GNUmakefile: simplify detection of unconfigured trees
236         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
237         whether the tree make is being run from is already configured or
238         not.  Related simplifications.
239
240 2012-02-13  Simon Josefsson  <simon@josefsson.org>
241
242         * gnulib-tool (func_usage): Document --help and --version.
243
244 2012-02-11  Jim Meyering  <meyering@redhat.com>
245
246         bootstrap: don't exit 0 upon gnulib-tool failure
247         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
248         its exit status, not 0.
249
250 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
251
252         README-release: various improvements
253         * top/README-release: Give a command to push changes for the
254         release.  Add "distcheck" to list of other pre-release checks.
255         Fix instance of "make stable" which should be "make TYPE".
256
257 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
258
259         maint: replace FSF snail-mail addresses with URLs
260         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
261         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
262         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
263         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
264         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
265         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
266         * lib/check-version.c, lib/check-version.h, lib/config.charset:
267         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
268         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
269         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
270         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
271         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
272         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
273         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
274         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
275         * lib/glthread/thread.c, lib/glthread/thread.h:
276         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
277         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
278         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
279         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
280         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
281         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
282         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
283         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
284         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
285         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
286         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
287         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
288         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
289         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
290         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
291         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
292         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
293         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
294         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
295         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
296         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
297         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
298         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
299         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
300         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
301         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
302         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
303         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
304         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
305         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
306         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
307         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
308         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
309         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
310         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
311         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
312         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
313         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
314         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
315         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
316         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
317         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
318         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
319         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
320         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
321         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
322         * tests/test-poll.c, tests/test-quotearg-simple.c:
323         * tests/test-quotearg.c, tests/test-quotearg.h:
324         * tests/test-round-ieee.c, tests/test-round1.c:
325         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
326         * tests/test-roundl-ieee.c, tests/test-roundl.c:
327         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
328         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
329         * tests/test-strerror.c, tests/test-strerror_r.c:
330         * tests/test-strsignal.c, tests/test-strverscmp.c:
331         * tests/test-xmemdup0.c:
332         Replace FSF snail mail addresses with URLs, as per GNU coding
333         standards.  See glibc bug
334         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
335
336 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
337
338         README-release: capitalize a word and split a line
339         * top/README-release: Fix punctuation and spacing.
340
341 2012-02-08  Akim Demaille  <demaille@gostai.com>
342
343         fatal-signal: use C prototypes (with explicit void).
344         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
345         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
346
347 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
348
349         regex: spelling fix
350         * lib/regexec.c: spelling fix
351
352         regex: rely on stdint.h for SIZE_MAX
353         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
354
355 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
356
357         regex: merge glibc changes
358
359         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
360         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
361         (init_word_char): Work even if bitset words are not exactly 32 or
362         64 bits wide.  Don't assume there are no padding bits.
363         * lib/regex.c [_LIBC]: Do not include <config.h>.
364         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
365         and -Wtype-limits.
366         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
367         needless disagreement with glibc.  All uses changed.  Define it to
368         1 only if _GNU_SOURCE, to match glibc.
369         (_REG_RM_NAME): Remove; no longer needed, since the names in
370         question are now all protected by __USE_GNU.
371         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
372         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
373         * lib/regex_internal.h (MIN): New macro.
374
375         2012-01-03 Ulrich Drepper <drepper@gmail.com>
376         * lib/regcomp.c (init_word_char): Optimize regex a bit.
377
378         2011-12-30 Jakub Jelinek <jakub@redhat.com>
379         * lib/regex_internal.c (re_string_fetch_byte_case):
380         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
381         is miscompiled, and it turns out it is because of an incorrect
382         attribute on re_string_fetch_byte_case.  Unlike
383         re_string_peek_byte_case, this one is really not pure, it modifies
384         memory (increments pstr->cur_idx), and with the pure attribute GCC
385         assumed it doesn't and it cached the presumed value of
386         regexp->cur_idx in a variable across the
387          for (;; ++i)
388            {
389              if (i >= BRACKET_NAME_BUF_SIZE)
390                return REG_EBRACK;
391              if (token->type == OP_OPEN_CHAR_CLASS)
392                ch = re_string_fetch_byte_case (regexp);
393              else
394                ch = re_string_fetch_byte (regexp);
395              if (re_string_eoi(regexp))
396                return REG_EBRACK;
397              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
398                break;
399              elem->opr.name[i] = ch;
400            }
401
402         2011-11-29 Andreas Schwab <schwab@redhat.com>
403         * lib/regcomp.c (build_equiv_class):
404         Fix access after end of search string in regex matcher.
405
406         2011-11-12 Ulrich Drepper <drepper@redhat.com>
407         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
408
409         2011-10-12 Ulrich Drepper <drepper@redhat.com>
410         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
411
412         2011-10-11 Ulrich Drepper <drepper@redhat.com>
413         * lib/regcomp.c (parse_branch, parse_sub_exp):
414         More regex memory leak fixes and tests.
415         (parse_sub_exp, parse_bracket_exp):
416         Fix memory leak for some invalid regular expressions.
417
418         2011-05-28 Ulrich Drepper <drepper@gmail.com>
419         * lib/regex_internal.c, lib/regexec.c:
420         Fix unnecessary overallocation due to incomplete character.  When
421         incomplete characters are found at the end of a string the code
422         ran amok and allocated lots of memory.  Stricter limits are now in
423         place.
424
425         2011-05-20 Reuben Thomas <rrt@sc3d.org>
426         * lib/regex.h: Update documentation.
427
428         2011-05-16 Aharon Robbins <arnold@skeeve.com>
429         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
430
431         2010-05-05 Andreas Schwab <schwab@redhat.com>
432         * lib/regexec.c (find_collation_sequence_value):
433         Fix lookup of collation sequence value during regexp matching.
434
435         2010-01-22 Ulrich Drepper <drepper@redhat.com>
436         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
437
438         2008-01-16 Ulrich Drepper <drepper@redhat.com>
439         * lib/regex.h: Cleanup namespace.
440
441         2007-11-26 Ulrich Drepper <drepper@redhat.com>
442         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
443
444         2007-08-26 Ulrich Drepper <drepper@redhat.com>
445         * lib/regex_internal.h: Prevent some declarations and definitions
446         to be seen when used in tests.
447
448         2005-05-06 Ulrich Drepper <drepper@redhat.com>
449         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
450         __libc_lock_* macros if not _LIBC.
451         (struct re_dfa_t): Add lock.
452
453 2012-02-07  Eric Blake  <eblake@redhat.com>
454
455         maint.mk: also prohibit lower-case @var@
456         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
457         lower case, like @top_srcdir@.
458
459 2012-02-04  Eric Blake  <eblake@redhat.com>
460
461         canonicalize: avoid uninitialized memory use
462         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
463         random '/' left in dest.
464         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
465
466 2012-02-04  Bruno Haible  <bruno@clisp.org>
467
468         isatty: Fix test failure of ptsname_r on native Windows.
469         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
470         and don't set errno.
471         (isatty): Test first whether fd is valid. Set errno when returning 0.
472
473 2012-02-04  Bruno Haible  <bruno@clisp.org>
474
475         spawn-pipe tests: Fix a NULL program name in a diagnostic.
476         * tests/test-spawn-pipe-main.c: Include progname.h.
477         (main): Invoke set_program_name.
478         * modules/spawn-pipe-tests (Depends-on): Add progname.
479
480         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
481         * tests/test-nonblocking-socket-main.c: Include progname.h.
482         (main): Invoke set_program_name.
483         * modules/nonblocking-socket-tests (Depends-on): Add progname.
484
485         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
486         * tests/test-nonblocking-pipe-main.c: Include progname.h.
487         (main): Invoke set_program_name.
488         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
489
490 2012-02-04  Eric Blake  <eblake@redhat.com>
491
492         canonicalize-lgpl: fix // handling
493         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
494
495         canonicalize: fix // handling
496         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
497         /// to //, since only // is special.
498
499 2012-02-04  Bruno Haible  <bruno@clisp.org>
500
501         ioctl: Fix test failure on native Windows.
502         * lib/ioctl.c: Include msvc-nothrow.h.
503         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
504
505 2012-02-04  Bruno Haible  <bruno@clisp.org>
506
507         fsync: Avoid test failure on native Windows.
508         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
509         read-only.
510
511 2012-02-04  Bruno Haible  <bruno@clisp.org>
512
513         sys_select: Avoid syntax error on OpenBSD 5.0.
514         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
515         currently being included, just include the system's <sys/select.h>.
516
517 2012-02-04  Bruno Haible  <bruno@clisp.org>
518
519         sys_select: Avoid syntax error on OpenBSD 5.0.
520         * lib/sys_select.in.h: Include <signal.h> only after the include_next
521         <sys/select.h>, not before.
522         Reported by Jiri B <jirib@devio.us>.
523
524 2012-02-04  Bruno Haible  <bruno@clisp.org>
525
526         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
527         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
528         global variables.
529         * tests/test-get-rusage-data.c (main): Likewise.
530         Reported by Jim Meyering.
531
532 2012-02-04  Bruno Haible  <bruno@clisp.org>
533
534         stdioext: Fix last commit.
535         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
536
537 2012-02-03  Bruno Haible  <bruno@clisp.org>
538
539         stdioext: Add tentative support for Plan9.
540         * lib/stdio-impl.h: Include <errno.h>.
541         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
542         * lib/freadable.c (freadable): Likewise.
543         * lib/fwritable.c (fwritable): Likewise.
544         * lib/fbufmode.c (fbufmode): Likewise.
545         * lib/freading.c (freading): Likewise.
546         * lib/fwriting.c (fwriting): Likewise.
547         * lib/freadptr.c (freadptr): Likewise.
548         * lib/freadseek.c (freadptrinc): Likewise.
549         * lib/freadahead.c (freadahead): Likewise.
550         * lib/fpurge.c (fpurge): Likewise.
551         * lib/fseeko.c (rpl_fseeko): Likewise.
552         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
553         Reported by Jens Staal <staal1978@gmail.com>.
554
555 2012-02-02  Jim Meyering  <meyering@redhat.com>
556
557         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
558         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
559         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
560         not even to try to add the attribute.  Instead, add a pragma to suppress
561         the suggestion/warning.
562
563 2012-01-31  Karl Berry  <karl@gnu.org>
564
565         setstate doc: typo.
566         * doc/posix-functions/setstate.texi (setstate): { not (.
567
568 2012-01-31  Bruno Haible  <bruno@clisp.org>
569
570         popen: Make more robust on Windows.
571         * lib/popen.c: On native Windows, use the _popen based code even if
572         HAVE_POPEN is set.
573         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
574         environment variable on native Windows.
575
576 2012-01-30  Bruno Haible  <bruno@clisp.org>
577
578         pclose: Fix typo.
579         * lib/stdio.in.h (pclose): Fix typo in warning message.
580
581 2012-01-30  Bruno Haible  <bruno@clisp.org>
582
583         doc about getlogin_r, setstate.
584         * doc/posix-functions/getlogin_r.texi: List the incompatible
585         declaration problem under "not fixed by gnulib".
586         * doc/posix-functions/setstate.texi: Mention incompatible declaration
587         problem on Solaris 11 and other platforms.
588
589 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
590             Bruno Haible  <bruno@clisp.org>
591
592         poll tests: Make test more robust.
593         * tests/test-poll.c: Include macros.h.
594         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
595         return value of various I/O operations.
596         * modules/poll-tests (Files): Add tests/macros.h.
597
598 2012-01-30  Bruno Haible  <bruno@clisp.org>
599
600         sys_stat: Fix support for mingw64 and MSVC.
601         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
602         header files already do it.
603         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
604         stat itself.
605         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
606
607 2012-01-30  Bruno Haible  <bruno@clisp.org>
608
609         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
610         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
611         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
612
613 2012-01-29  Bruno Haible  <bruno@clisp.org>
614
615         quotearg: Fix test failure on MacOS X 10.5.
616         * tests/test-quotearg-simple.c: Include localcharset.h.
617         (main): If the locale encoding is not ASCII, bypass the tests of
618         locale_quoting_style and clocale_quoting_style.
619         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
620
621 2012-01-29  Jim Meyering  <meyering@redhat.com>
622
623         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
624         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
625         detect uses of canonicalize_file_name.
626
627 2012-01-28  Bruno Haible  <bruno@clisp.org>
628
629         test-framework-sh: Fix test failure with AIX 7.1 diff.
630         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
631         in column 1, like 'diff -c' does.
632         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
633         whether 'diff -u' is used. Instead, test whether the output contains
634         some '@' character.
635
636 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
637
638         strtoimax: eliminate need for stdint.h, inttypes.h checks
639         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
640         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
641         the prerequisites for a recently-introduced strtoimax test.
642         I guess this might cause strtoimax to be replaced when not
643         strictly necessary on older hosts, but this shouldn't introduce
644         any bugs and it should make Emacs 'configure' faster on typical
645         modern hosts.  Problem discovered when importing the latest gnulib
646         to an Emacs test version.
647         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
648
649 2012-01-28  Bruno Haible  <bruno@clisp.org>
650
651         sys_time: Override 'struct timeval' on some native Windows platforms.
652         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
653         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
654         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
655         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
656         needs to be overridden.
657         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
658         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
659         * tests/test-sys_select.c: Check that the tv_sec member has the same
660         size as a 'time_t'.
661         * tests/test-sys_time.c: Likewise.
662         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
663         is set, set also REPLACE_GETTIMEOFDAY.
664         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
665         convert the resulting 'struct timeval' before returning.
666         * lib/select.c: Include <sys/time.h>.
667         (select, timeval): Undefine at the right place.
668         * modules/select (Depends-on): Add sys_time.
669         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
670         some Windows platforms.
671         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
672
673 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
674
675         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
676         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
677         an integer.
678         * lib/fcntl.c (dupfd): Likewise.
679         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
680
681 2012-01-28  Bruno Haible  <bruno@clisp.org>
682
683         fcntl: Avoid compilation error on native Windows.
684         * modules/fcntl (Depends-on): Add 'close'.
685
686 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
687
688         select, poll, isatty: Avoid warnings on x86_64 mingw64.
689         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
690         pointer to an integer.
691         * lib/poll.c (IsConsoleHandle): Likewise.
692         * lib/isatty.c (IsConsoleHandle): Likewise.
693
694 2012-01-28  Jim Meyering  <meyering@redhat.com>
695
696         doc: clarify README-release
697         * top/README-release: Clarify: you should make a point to have
698         the latest stable versions of build tools in your PATH, and the
699         reference to buildreq is solely for its list of tool names, not
700         for its minimal-functional version numbers.
701         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
702
703         maint.mk: use more readable (yet functionally equivalent) quoting
704         It is common to quote a single quote in a single quoted string like
705         this:  '...'\''...'.  Unless you know the idiom, that looks like
706         gibberish, so prefer to double-quote the string when possible.
707         Then you can use a more readable, lone single quote: "...'..."
708         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
709         "don't" is more readable than the equivalent 'don'\''t'.
710         (sc_cast_of_x_alloc_return_value): Likewise.
711         (sc_cast_of_alloca_return_value): Likewise.
712         (sc_makefile_path_separator_check): Similar: use ":" in '...',
713         rather than '\'':'\''.
714
715 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
716
717         stdalign: relax _Alignof and tighten _Alignas test
718         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
719         as it was too strict: alignof must divide offsetof, but it need
720         not equal offsetof.  Inspired by Joseph S. Myers's comment
721         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
722         Conversely, tighten the _Alignas test a bit, as the resulting
723         alignment must be exactly 8.
724
725 2012-01-27  Bruno Haible  <bruno@clisp.org>
726
727         stdalign: Document the last change.
728         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
729
730 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
731
732         stdalign: check that alignof and offsetof are consistent
733         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
734         Problem reported for gnulib by Richard W.M. Jones in
735         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
736
737 2012-01-27  Jim Meyering  <meyering@redhat.com>
738
739         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
740         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
741         convert a sequence with gaps to the minimal containing range.
742         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
743         * tests/test-update-copyright.sh: Test for this.
744         The FSF confirmed it is ok to do this, assuming there is at
745         least one significant change per year in the affected range:
746         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
747
748 2012-01-26  Bruno Haible  <bruno@clisp.org>
749
750         pipe2: refine doc about thread-safety
751         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
752         multithread-safety problem.
753         * doc/glibc-functions/accept4.texi: Likewise.
754
755 2012-01-26  Bruno Haible  <bruno@clisp.org>
756
757         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
758         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
759         In the test program, include <fcntl.h>, for O_RDONLY.
760
761 2012-01-26  Eric Blake  <eblake@redhat.com>
762
763         pipe2: document lack of thread-safety in replacement
764         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
765         issue in replacement.
766         * doc/glibc-functions/accept4.texi (accept4): Likewise.
767         Based on a report by Eric Wong.
768
769 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
770             Bruno Haible  <bruno@clisp.org>
771
772         malloca: Avoid warnings on x86_64 mingw64.
773         * lib/malloca.c: Include <stdint.h>.
774         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
775         * modules/malloca (Depends-on): Add stdint.
776         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
777
778 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
779
780         obstack: remove __STDC__ conditionals
781         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
782         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
783         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
784         m4/include_next.m4 as the only gnulib-maintained places that still
785         refer to __STDC__.
786
787 2012-01-24  Bruno Haible  <bruno@clisp.org>
788
789         havelib: Modern quoting.
790         * build-aux/config.rpath: Quote 'like this', not `like this', as per
791         the recent change to the GNU coding standards.
792
793 2012-01-24  Bruno Haible  <bruno@clisp.org>
794
795         stdint: Improve support for Android.
796         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
797         Reported by Simon Josefsson <simon@josefsson.org>.
798
799 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
800
801         doc: omit trailing empty lines from INSTALL etc.
802         * doc/Makefile (INSTALL): Omit trailing empty lines.
803         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
804         omit trailing empty lines.  This simplifies the build procedure.
805
806 2012-01-23  Jim Meyering  <meyering@redhat.com>
807
808         tests: avoid spurious warnings about gl_sockets_startup
809         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
810         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
811         reporting a "statement with no effect".
812         * tests/test-accept.c (main): Mark as "(void)".
813         * tests/test-accept4.c (main): Likewise.
814         * tests/test-bind.c (main): Likewise.
815         * tests/test-connect.c (main): Likewise.
816         * tests/test-getpeername.c (main): Likewise.
817         * tests/test-getsockname.c (main): Likewise.
818         * tests/test-getsockopt.c (main): Likewise.
819         * tests/test-listen.c (main): Likewise.
820         * tests/test-recv.c (main): Likewise.
821         * tests/test-recvfrom.c (main): Likewise.
822         * tests/test-send.c (main): Likewise.
823         * tests/test-sendto.c (main): Likewise.
824         * tests/test-setsockopt.c (main): Likewise.
825         * tests/test-shutdown.c (main): Likewise.
826
827 2012-01-21  Bruno Haible  <bruno@clisp.org>
828
829         locale-fr.m4: Fix for Android.
830         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
831         failure of the test program on Bionic libc.
832
833 2012-01-21  Jim Meyering  <meyering@redhat.com>
834
835         bootstrap: fail when bootstrap_post_import_hook fails
836         Otherwise, it's far too easy to miss diagnostics emitted
837         between gnulib-tool's output and that of running configure.
838         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
839
840 2012-01-17  Jim Meyering  <meyering@redhat.com>
841
842         maint: enable sc_trailing_blank
843         * build-aux/pmccabe.css: Remove trailing blanks.
844         * doc/acl-cygwin.txt: Likewise.
845         * doc/gnu-oids.texi: Likewise
846         * cfg.mk: Enable sc_trailing_blank.
847         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
848
849 2012-01-17  Jim Meyering  <meyering@redhat.com>
850
851         maint: enable sc_prohibit_openat_without_use
852         * cfg.mk: Enable sc_prohibit_openat_without_use.
853         Exempt lib/selinux-at.c.
854
855 2012-01-17  Jim Meyering  <meyering@redhat.com>
856
857         maint: enable sc_prohibit_cloexec_without_use
858         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
859         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
860
861 2012-01-17  Jim Meyering  <meyering@redhat.com>
862
863         maint: enable sc_prohibit_intprops_without_use
864         * cfg.mk: Enable sc_prohibit_intprops_without_use
865         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
866
867 2012-01-17  Jim Meyering  <meyering@redhat.com>
868
869         maint: enable sc_prohibit_hash_pjw_without_use
870         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
871         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
872         to match any use of \<hash_pjw\>, i.e., not necessarily with a
873         following " (".
874
875 2012-01-17  Jim Meyering  <meyering@redhat.com>
876
877         maint: enable double-word-prohibiting rule
878         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
879         Exempt three files.
880
881 2012-01-17  Jim Meyering  <meyering@redhat.com>
882
883         maint: remove empty lines at EOF, but excluding modules/*
884         Apply syntax rules at home as well as abroad.  Most changes
885         were induced by running this:
886           make srcdir=. _build-aux=build-aux -f top/maint.mk \
887             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
888             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
889         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
890         Exempt modules/* and two binary files.
891         Also exempt doc/INSTALL*, per request from Bruno Haible.
892         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
893         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
894         * doc/Copyright/request-assign.future: Likewise.
895         * doc/Copyright/request-disclaim.changes: Likewise.
896         * doc/INSTALL: Likewise.
897         * doc/INSTALL.ISO: Likewise.
898         * doc/INSTALL.UTF-8: Likewise.
899         * doc/acl-cygwin.txt: Likewise.
900         * doc/acl-resources.txt: Likewise.
901         * doc/fdl-1.2.texi: Likewise.
902         * doc/fdl-1.3.texi: Likewise.
903         * doc/fdl.texi: Likewise.
904         * lib/argp-pin.c: Likewise.
905         * lib/round.c: Likewise.
906         * lib/unicase/u16-totitle.c: Likewise.
907         * lib/unictype/block_test.c: Likewise.
908         * lib/uninorm/canonical-decomposition.c: Likewise.
909         * m4/README: Likewise.
910         * m4/relocatable-lib.m4: Likewise.
911         * tests/test-isnand-nolibm.c: Likewise.
912         * tests/test-isnand.c: Likewise.
913         * tests/uninorm/NormalizationTest.txt: Likewise.
914
915 2012-01-17  Jim Meyering  <meyering@redhat.com>
916
917         maint: add framework to run syntax-check rules against gnulib sources
918         * cfg.mk: New file, to disable all currently-failing tests.
919         We'll enable them one by one, as they are made to pass.
920         * Makefile (sc_maint): New rule.
921
922 2012-01-21  Bruno Haible  <bruno@clisp.org>
923
924         stdint: Add support for Android.
925         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
926         include the system's <stdint.h>.
927         Reported by Simon Josefsson <simon@josefsson.org>.
928
929 2012-01-19  Jim Meyering  <meyering@redhat.com>
930
931         bootstrap: add bootstrap_post_import_hook
932         Bison does still need something like the gnulib_mk_hook whose
933         invocation I had to remove along with slurp in commit 767ccd40.
934         Technically, we could get along without it, but doing so would
935         have required living with a warning and a mandatory post-bootstrap
936         automake rerun.
937         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
938         (bootstrap_post_import_hook): New function.
939         Invoke it after gnulib-tool --import and before autoreconf.
940
941 2012-01-18  Jim Meyering  <meyering@redhat.com>
942
943         gitlog-to-changelog: don't use "no_"-prefixed variable name
944         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
945         to enable both --cluster and --no-cluster.  Change variable name,
946         s/\$no_cluster/$cluster/, and reverse usage to match.
947
948         gitlog-to-changelog: use "||", not "or" in expressions
949         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
950         expressions.
951
952 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
953
954         gitlog-to-changelog: new option --no-cluster
955         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
956         clustering of adjacent commit messages.
957
958 2012-01-17  Jim Meyering  <meyering@redhat.com>
959
960         maint: spell file systems with two words, not one
961         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
962         two words, not one.
963
964 2012-01-16  Jim Meyering  <meyering@redhat.com>
965
966         bootstrap: add a FIXME comment to ensure we eventually remove the hack
967         * build-aux/bootstrap (gnulib_tool_options): Add comment.
968
969 2012-01-16  Eric Blake  <eblake@redhat.com>
970
971         bootstrap: cater to autoconf 2.59
972         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
973         is not available.
974
975         bootstrap: properly check for libtool
976         * build-aux/bootstrap (libtoolize): Also run libtool when older
977         usage is detected.
978
979 2012-01-15  Bruno Haible  <bruno@clisp.org>
980
981         Improve support for MSVC 9.
982         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
983         clashes on MSVC.
984         * lib/fcntl.in.h: Likewise.
985         * lib/stdlib.in.h: Likewise.
986         * lib/sys_stat.in.h: Likewise.
987
988 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
989
990         gnupload: we hold the master copy of this script now
991         For motivation and more information, see:
992         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
993         * build-aux/gnupload: Make it clear in the heading comments that the
994         master copy of this file is maintained by gnulib.  Since we are at
995         it, bump its copyright year and ...
996         ($scriptversion): ... the date in its version.
997         ($usage): Patches and bug reports should be sent to the gnulib list,
998         not the automake one.
999         * config/srclist.txt: Don't try to sync 'gnupload' from automake
1000         anymore.
1001
1002 2012-01-15  Bruno Haible  <bruno@clisp.org>
1003
1004         Fix module 'random'.
1005         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
1006         initstate, setstate are declared.
1007
1008 2012-01-14  Bruno Haible  <bruno@clisp.org>
1009
1010         Tests for module 'random'.
1011         * modules/random-tests: New file.
1012         * tests/test-random.c: New file, based on tests/test-random_r.c.
1013
1014         New module 'random'.
1015         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
1016         declarations.
1017         * lib/random.c: New file, based on glibc/stdlib/random.c.
1018         * m4/random.m4: New file.
1019         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
1020         HAVE_RANDOM.
1021         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
1022         * modules/random: New file.
1023         * config/srclist.txt: Add an entry for random.c.
1024         * doc/posix-functions/random.texi: Mention the 'random' module.
1025         * doc/posix-functions/initstate.texi: Likewise.
1026         * doc/posix-functions/setstate.texi: Likewise.
1027         * doc/posix-functions/srandom.texi: Likewise.
1028
1029 2012-01-12  Bruno Haible  <bruno@clisp.org>
1030
1031         random_r: Use common idioms.
1032         * lib/random_r.c: Include <stdlib.h> first.
1033
1034         random_r: Override incompatible API on AIX, OSF/1.
1035         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
1036         Override the system function if REPLACE_RANDOM_R is 1.
1037         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
1038         and OSF/1, set REPLACE_RANDOM_R.
1039         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
1040         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
1041         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
1042         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
1043         * doc/glibc-functions/random_r.texi: Likewise.
1044         * doc/glibc-functions/setstate_r.texi: Likewise.
1045
1046         random_r: Support for MSVC 9.
1047         * lib/random_r.c: Include stdint.h, not inttypes.h.
1048
1049 2012-01-12  Eric Blake  <eblake@redhat.com>
1050
1051         inet_ntop: guard extra work by IF_LINT
1052         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
1053         better code generation when not checking for warnings.
1054         Suggested by Paul Eggert and Jim Meyering.
1055
1056         strptime: fix regression on mingw
1057         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
1058         Fix regression.  Reported by Bruno Haible.
1059
1060 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
1061             Bruno Haible  <bruno@clisp.org>
1062
1063         copy-file: add error-code-returning variant.
1064         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
1065         (qcopy_file_preserving): New declaration.
1066         * lib/copy-file.c (qcopy_file_preserving): Renamed from
1067         copy_file_preserving. Change return type to 'int'. Don't emit an error
1068         message here.
1069         (copy_file_preserving): New function.
1070         * tests/test-copy-file.c: Include <stdlib.h>.
1071         (main): Test qcopy_file_preserving if the environment variable
1072         NO_STDERR_OUTPUT is set.
1073         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
1074         with NO_STDERR_OUTPUT
1075         * tests/test-copy-file-2.sh: Likewise.
1076
1077 2012-01-10  Bruno Haible  <bruno@clisp.org>
1078
1079         copy-file: Use 'quote' module consistently.
1080         * lib/copy-file.c (copy_file_preserving): Use quote().
1081
1082         copy-file: Refactor.
1083         * lib/copy-file.c: Include quote.h.
1084         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
1085         message here.
1086         * modules/copy-file (Depends-on): Add quote.
1087
1088         acl: Export qcopy_acl.
1089         * lib/acl.h (qcopy_acl): New declaration.
1090         * lib/copy-acl.c (qcopy_acl): Make non-static.
1091
1092         acl: Rename a local variable.
1093         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
1094
1095         acl: Align return values of copy_acl and qcopy_acl.
1096         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
1097         maybe < -1.
1098
1099 2012-01-11  Eric Blake  <eblake@redhat.com>
1100
1101         strptime: silence gcc warnings
1102         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
1103         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
1104         Reported by Daniel P. Berrange.
1105
1106         inet_ntop: silence gcc warning
1107         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
1108         Reported by Daniel P. Berrange.
1109
1110 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
1111
1112         getloadavg test: skip the test on GNU/Linux without /proc mounted
1113         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
1114         file.  When /proc is not mounted, it always fails with ENOENT.
1115         * tests/test-getloadavg.c (main): Treat ENOENT return code from
1116         getloadavg(3) the same way as ENOSYS and ENOTSUP.
1117
1118 2012-01-10  Bruno Haible  <bruno@clisp.org>
1119
1120         regex: Avoid link error on MSVC 9.
1121         * modules/regex (Depends-on): Add wctype.
1122
1123 2012-01-10  Bruno Haible  <bruno@clisp.org>
1124
1125         doc: Mention --with-tests option.
1126         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
1127         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
1128         --with-tests.
1129         Reported by Reuben Thomas.
1130
1131 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
1132
1133         users.txt: order package names lexicographically.
1134         * users.txt: Order package names lexicographically.
1135
1136 2012-01-10  Jim Meyering  <meyering@redhat.com>
1137
1138         maint.mk: fix description in comment
1139         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
1140
1141         ignore-value: remove deprecated ignore_ptr function
1142         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
1143         * NEWS: Note this.
1144
1145 2012-01-09  Jim Meyering  <meyering@redhat.com>
1146
1147         test-init.sh: avoid a subshell
1148         * tests/test-init.sh: Remove protective subshell.
1149         Suggested by Bernhard Voelker.  While a subshell is normally
1150         required to protect against older shells (Solaris, FreeBSD) that
1151         warn about a missing program before performing redirection, the
1152         shell-selection tests performed by init.sh probably exclude any
1153         offending shell.
1154
1155 2012-01-08  Bruno Haible  <bruno@clisp.org>
1156
1157         setlocale tests: Avoid test failure on Solaris 11 2011-11.
1158         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
1159         variable.
1160
1161 2012-01-08  Bruno Haible  <bruno@clisp.org>
1162
1163         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
1164         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
1165         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
1166         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
1167         macro.
1168         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
1169         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
1170         * lib/spawn_faction_addopen.c: Add workaround implementation if
1171         HAVE_WORKING_POSIX_SPAWN.
1172         * modules/spawn (Makefile): Substitute
1173         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
1174         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
1175         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
1176         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
1177         (Depends-on): Update conditions.
1178         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
1179         the Solaris 11 bug.
1180
1181 2012-01-08  Bruno Haible  <bruno@clisp.org>
1182
1183         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
1184         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
1185         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
1186         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
1187         macro.
1188         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
1189         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
1190         * lib/spawn_faction_adddup2.c: Add workaround implementation if
1191         HAVE_WORKING_POSIX_SPAWN.
1192         * modules/spawn (Makefile): Substitute
1193         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
1194         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
1195         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
1196         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
1197         (Depends-on): Update conditions.
1198         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
1199         the Solaris 11 bug.
1200
1201 2012-01-08  Bruno Haible  <bruno@clisp.org>
1202
1203         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
1204         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
1205         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
1206         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
1207         HAVE_WORKING_POSIX_SPAWN.
1208         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
1209         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
1210         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
1211         * lib/spawn_faction_addclose.c: Add workaround implementation if
1212         HAVE_WORKING_POSIX_SPAWN.
1213         * modules/spawn (Makefile): Substitute
1214         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
1215         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
1216         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
1217         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
1218         (Depends-on): Update conditions.
1219         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
1220         the Solaris 11 bug.
1221
1222 2012-01-08  Bruno Haible  <bruno@clisp.org>
1223
1224         doc: Update for Solaris 11 2011-11.
1225         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
1226         * m4/printf.m4: Update comments.
1227
1228 2012-01-08  Bruno Haible  <bruno@clisp.org>
1229
1230         mktime: Avoid compilation error on Solaris 11.
1231         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
1232
1233 2012-01-08  Bruno Haible  <bruno@clisp.org>
1234
1235         doc: Small fix.
1236         * doc/posix-headers/nl_types.texi: Correct platforms list.
1237
1238 2012-01-08  Simon Josefsson  <simon@josefsson.org>
1239
1240         Add lgpl-3.0 module.
1241         * MODULES.html.sh (Support for building documentation): Add
1242         lgpl-3.0.
1243         * modules/lgpl-3.0: New file.
1244
1245 2012-01-08  Jim Meyering  <meyering@redhat.com>
1246
1247         select.c: indent with spaces, not TABs
1248         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
1249
1250 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
1251
1252         quotearg: do not use grave accent for left quote
1253         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
1254         locale_quoting_style.
1255         (quotearg_buffer_restyled): Fix example.
1256         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
1257
1258 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
1259
1260         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
1261         Most programs do not have translation catalogs for English and much
1262         less separate catalogs for British and American English.  Drop the
1263         suggestion to translators about these two, and provide it
1264         automatically for Unicode locales.  Like most programs, even those
1265         using American English, we use single quotation marks.  This conflicts
1266         with the American typographic convention, but works better when you
1267         cite the entire error message within double quotes.  It also tries not
1268         to clash with established practice and with what non-gnulib programs
1269         will usually do.
1270         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
1271         using an UTF-8 or GB-18030 locale.  The list of other locales with
1272         quotes was provided by Bruno Haible.
1273         (quotearg_buffer_restyled): Adjust instructions to translators.
1274         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
1275         text, since this would be wrong when using Unicode.
1276         * modules/quotearg: Depend on c-strcaseeq.
1277
1278 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
1279
1280         quotearg: fix Wikipedia link
1281         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
1282
1283 2012-01-07  Simon Josefsson  <simon@josefsson.org>
1284
1285         Fix for mingw with MSVC9.
1286         * m4/ld-version-script.m4: Check that compiler rejects version
1287         scripts with syntax errors.  Reported by Bruno Haible
1288         <bruno@clisp.org>.
1289
1290 2012-01-06  Bruno Haible  <bruno@clisp.org>
1291
1292         Talk about "native Windows API", not "Woe32".
1293         * lib/accept4.c: Update comments to mention native Windows.
1294         * lib/execute.c: Likewise.
1295         * lib/fatal-signal.c: Likewise.
1296         * lib/localcharset.c: Likewise.
1297         * lib/nanosleep.c: Likewise.
1298         * lib/nl_langinfo.c: Likewise.
1299         * lib/pclose.c: Likewise.
1300         * lib/pipe-filter-gi.c: Likewise.
1301         * lib/pipe-filter-ii.c: Likewise.
1302         * lib/pipe.c: Likewise.
1303         * lib/pipe2.c: Likewise.
1304         * lib/popen.c: Likewise.
1305         * lib/progreloc.c: Likewise.
1306         * lib/relocatable.c: Likewise.
1307         * lib/sigaction.c: Likewise.
1308         * lib/sigprocmask.c: Likewise.
1309         * lib/spawn-pipe.h: Likewise.
1310         * lib/spawn-pipe.c: Likewise.
1311         * lib/spawni.c: Likewise.
1312         * lib/stat-time.h: Likewise.
1313         * lib/w32spawn.h: Likewise.
1314         * tests/test-isatty.c: Likewise.
1315         * lib/config.charset: More comments.
1316         * doc/gnulib-intro.texi: Mention native Windows.
1317         * doc/posix-functions/_Exit_C99.texi: Likewise.
1318         * doc/posix-headers/fcntl.texi: Likewise.
1319
1320 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
1321
1322         argp: Avoid crash if translator uses % characters in a translation.
1323         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
1324         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
1325
1326 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
1327
1328         doc: C11 and C++11 are now official
1329         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
1330         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
1331         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
1332         * modules/stdalign:
1333         Replace references to draft C1X to C11, and to draft C++0X to C++11.
1334
1335 2012-01-06  Bruno Haible  <bruno@clisp.org>
1336
1337         uc-is-grapheme-break tests: Tweak.
1338         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
1339         message.
1340
1341 2012-01-06  Bruno Haible  <bruno@clisp.org>
1342
1343         test-init.sh: correct the test for diff -u
1344         * tests/test-init.sh: Also redirect stdout to /dev/null.
1345
1346 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1347
1348         Use ', not `, for quoting output.
1349         * build-aux/announce-gen (usage, sizes, print_news_deltas)
1350         (print_changelog_deltas, get_tool_versions, main program):
1351         * build-aux/git-version-gen:
1352         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
1353         * build-aux/move-if-change (help):
1354         * build-aux/useless-if-before-free (usage, main program):
1355         * check-module (parse_module_file, usage)
1356         (find_included_lib_files, check_module):
1357         * lib/argmatch.c (main) [TEST]:
1358         * lib/argp-help.c (_help):
1359         * lib/getopt1.c (main) [TEST]:
1360         * lib/git-merge-changelog.c (usage):
1361         * lib/xstrtol-error.c (xstrtol_error):
1362         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
1363         * m4/argz.m4 (gl_FUNC_ARGZ):
1364         * m4/bison.m4 (gl_BISON):
1365         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
1366         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
1367         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
1368         * m4/fpending.m4 (gl_PREREQ_FPENDING):
1369         * m4/gc-random.m4 (gl_GC_RANDOM):
1370         * m4/intl.m4 (gt_CHECK_DECL):
1371         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
1372         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
1373         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
1374         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
1375         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
1376         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
1377         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
1378         * tests/test-dirname.c (main):
1379         * tests/test-getpass.c (main):
1380         * tests/test-iconvme.c (main):
1381         * tests/test-parse-datetime.c (LOG):
1382         * tests/test-xstrtoimax.sh:
1383         * tests/test-xstrtol.sh:
1384         * tests/test-xstrtoll.sh:
1385         * tests/test-xstrtoumax.sh:
1386         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
1387         * top/GNUmakefile (abort-due-to-no-makefile):
1388         Quote 'like this', not `like this', as per the recent change to
1389         the GNU coding standards.
1390
1391 2012-01-05  Bruno Haible  <bruno@clisp.org>
1392
1393         strtoimax: Don't force a replacement on systems where intmax_t is int.
1394         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
1395         'intmax_t' is not larger than 'int'.
1396         Reported by Pádraig Brady <P@draigBrady.com>.
1397
1398 2012-01-05  Bruno Haible  <bruno@clisp.org>
1399
1400         doc: Mention NetBSD bugs.
1401         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
1402         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
1403
1404 2012-01-05  Bruno Haible  <bruno@clisp.org>
1405
1406         strtoumax tests: Enhance tests.
1407         * tests/test-strtoumax.c (main): Add tests for large values.
1408
1409 2012-01-05  Bruno Haible  <bruno@clisp.org>
1410
1411         strtoimax: Work around AIX 5.1 bug.
1412         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
1413         definition.
1414         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
1415         Set HAVE_STRTOIMAX.
1416         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
1417         REPLACE_STRTOIMAX.
1418         * modules/inttypes-incomplete (Makefile.am): Substitute
1419         REPLACE_STRTOIMAX.
1420         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
1421         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
1422         (Depends-on): Update conditions.
1423         * tests/test-strtoimax.c (main): Add tests for large values.
1424         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
1425
1426 2012-01-05  Bruno Haible  <bruno@clisp.org>
1427
1428         inttypes: Modernize.
1429         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
1430         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
1431         (Makefile.am): Update inttypes.h rule.
1432
1433 2012-01-05  Jim Meyering  <meyering@redhat.com>
1434
1435         init.sh: don't waste a subshell just to redirect stderr
1436         * tests/init.sh: In testing for diff -u and diff -c, use a
1437         stderr-redirecting exec inside `...` rather than a subshell.
1438
1439         test-init.sh: avoid failure on HP-UX 11.00
1440         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
1441         resolves to diff -c or cmp.  Reported by Bruno Haible.
1442
1443 2012-01-05  Bruno Haible  <bruno@clisp.org>
1444
1445         Tests for module 'strtoull'.
1446         * modules/strtoull-tests: New file.
1447         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
1448
1449 2012-01-05  Bruno Haible  <bruno@clisp.org>
1450
1451         Tests for module 'strtoll'.
1452         * modules/strtoll-tests: New file.
1453         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
1454
1455 2012-01-05  Bruno Haible  <bruno@clisp.org>
1456
1457         Tests for module 'strtoul'.
1458         * modules/strtoul-tests: New file.
1459         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
1460
1461 2012-01-05  Bruno Haible  <bruno@clisp.org>
1462
1463         Tests for module 'strtol'.
1464         * modules/strtol-tests: New file.
1465         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
1466
1467 2012-01-04  Jim Meyering  <meyering@redhat.com>
1468
1469         test-init.sh: accommodate Solaris 5.10's different diff -u output
1470         * tests/test-init.sh: Also exempt @@ lines from the comparison
1471         of diff output, since Solaris 5.10 and GNU diff formats differ.
1472         Reported by Stefano Lattarini.
1473
1474 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
1475
1476         test-posixtm: don't assume signed integer wraparound
1477         * tests/test-posixtm.c (main): Don't assume wraparound semantics
1478         after signed integer overflow.  Inspired by (though it may not
1479         fix) Bruno Haible's bug report in
1480         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
1481
1482         Spell out "Windows 9x" and "Windows XP".
1483         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
1484         "Windows 9x" and "WinXP" with "Windows XP".
1485
1486 2012-01-04  Jim Meyering  <meyering@redhat.com>
1487
1488         test-vc-list-files-cvs.sh: remove obsolete comment
1489         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
1490         double exit.  Now that's all encapsulated via skip_ and Exit.
1491
1492 2012-01-04  Bruno Haible  <bruno@clisp.org>
1493
1494         Talk about "native Windows API", not "Win32".
1495         * lib/classpath.c: Update comments to mention native Windows.
1496         * lib/csharpexec.c: Likewise.
1497         * lib/dup2.c: Likewise.
1498         * lib/error.c: Likewise.
1499         * lib/fcntl.c: Likewise.
1500         * lib/filename.h: Likewise.
1501         * lib/findprog.c: Likewise.
1502         * lib/get-rusage-as.c: Likewise.
1503         * lib/get-rusage-data.c: Likewise.
1504         * lib/getpagesize.c: Likewise.
1505         * lib/javaexec.c: Likewise.
1506         * lib/msvc-inval.c: Likewise.
1507         * lib/msvc-nothrow.c: Likewise.
1508         * lib/nanosleep.c: Likewise.
1509         * lib/nonblocking.c: Likewise.
1510         * lib/printf-parse.c: Likewise.
1511         * lib/setlocale.c: Likewise.
1512         * lib/sigaction.c: Likewise.
1513         * lib/strerror_r.c: Likewise.
1514         * lib/tmpdir.c: Likewise.
1515         * lib/vasnprintf.c: Likewise.
1516         * lib/w32spawn.h: Likewise.
1517         * lib/waitpid.c: Likewise.
1518         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
1519         * m4/locale-ar.m4: Likewise.
1520         * m4/locale-fr.m4: Likewise.
1521         * m4/locale-ja.m4: Likewise.
1522         * m4/locale-tr.m4: Likewise.
1523         * m4/locale-zh.m4: Likewise.
1524         * m4/printf.m4: Likewise.
1525         * tests/test-cloexec.c: Likewise.
1526         * tests/test-copy-acl.sh: Likewise.
1527         * tests/test-copy-file.sh: Likewise.
1528         * tests/test-file-has-acl.sh: Likewise.
1529         * tests/test-set-mode-acl.sh: Likewise.
1530         * tests/test-dup-safer.c: Likewise.
1531         * tests/test-dup2.c: Likewise.
1532         * tests/test-dup3.c: Likewise.
1533         * tests/test-fcntl.c: Likewise.
1534         * tests/test-nonblocking-pipe.h: Likewise.
1535         * tests/test-nonblocking-socket.h: Likewise.
1536         * tests/test-pipe.c: Likewise.
1537         * tests/test-pipe2.c: Likewise.
1538         * tests/test-spawn-pipe-child.c: Likewise.
1539         * doc/acl-resources.txt: Likewise.
1540         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
1541         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
1542         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
1543         * lib/localcharset.c: Update comments to mention native Windows.
1544         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
1545         * lib/localename.c: Likewise.
1546         * lib/progreloc.c: Likewise.
1547         * lib/relocatable.c: Likewise.
1548         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
1549         (windows_compute_revents): Renamed from win32_compute_revents.
1550         (windows_compute_revents_socket): Renamed from
1551         win32_compute_revents_socket.
1552         * lib/select.c: Update comments to mention native Windows.
1553         (windows_poll_handle): Renamed from win32_poll_handle.
1554         * m4/threadlib.m4: Update comments to mention native Windows.
1555         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
1556         --enable-threads=windows instead of --enable-threads=win32. Set
1557         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
1558         * lib/glthread/lock.h: Update comments to mention native Windows.
1559         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
1560         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
1561         USE_WIN32_THREADS.
1562         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
1563         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
1564         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
1565         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
1566         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
1567         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
1568         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
1569         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
1570         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
1571         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
1572         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
1573         * tests/test-tls.c: Likewise.
1574         Rationale:
1575         Microsoft renamed the "Win32 API" to "Windows API", as it is available
1576         on both 32-bit and 64-bit Windows systems.
1577         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
1578         line of distinction is between "native Windows" on one side and Unix/
1579         POSIX systems on the other side. More details in
1580         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
1581         Suggested by Paul Eggert.
1582
1583 2012-01-03  Bruno Haible  <bruno@clisp.org>
1584
1585         isatty: Support for MSVC 9.
1586         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
1587         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
1588         (_isatty_nothrow): New function.
1589         (isatty): Use it instead of _isatty.
1590         (IsConsoleHandle): Add comment, from Paolo Bonzini.
1591         * lib/poll.c (IsConsoleHandle): Likewise.
1592         * lib/select.c (IsConsoleHandle): Likewise.
1593         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
1594         (gl_PREREQ_ISATTY): New macro.
1595         * modules/isatty (Depends-on): Add msvc-inval.
1596         (configure.ac): Invoke gl_PREREQ_ISATTY.
1597
1598 2012-01-03  Jim Meyering  <meyering@redhat.com>
1599
1600         maint.mk: remove temporary transition aid from over 1.5 years ago
1601         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
1602         purpose was to aid in the transition (avoiding silent malfunction)
1603         from that old name to the new _sc_search_regexp.  This shim was
1604         added by commit 219c504b.
1605
1606         init.sh: do not try to accommodate compare arguments starting with "-"
1607         * tests/init.sh (compare_dev_null_): Do not try to accommodate
1608         compare arguments that start with "-".  Besides, we do not worry
1609         about this when invoking diff or cmp; why start now with sed?
1610         Using "--" to separate options from argument would trigger sed
1611         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
1612         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
1613
1614 2012-01-02  Bruno Haible  <bruno@clisp.org>
1615
1616         Enhance tests for module 'isatty'.
1617         * modules/isatty-tests (Depends-on): Add pipe-posix.
1618         * tests/test-isatty.c: Include <fcntl.h>.
1619         (DEV_NULL): New macro.
1620         (main): Test the resut of isatty() also on regular files, pipes, and
1621         /dev/null.
1622
1623         New module 'isatty'.
1624         * lib/unistd.in.h (isatty): New declaration.
1625         * lib/isatty.c: New file, based on an idea of
1626         Bastien Roucariès <roucaries.bastien@gmail.com>.
1627         * m4/isatty.m4: New file.
1628         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
1629         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
1630         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
1631         REPLACE_ISATTY.
1632         * modules/isatty: New file.
1633         * doc/posix-functions/isatty.texi: Mention the new module.
1634         Suggested by Paolo Bonzini.
1635
1636 2012-01-02  Bruno Haible  <bruno@clisp.org>
1637
1638         canonicalize: Tweak 2011-12-29 commit.
1639         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
1640         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
1641
1642 2012-01-02  Jim Meyering  <meyering@redhat.com>
1643
1644         gitlog-to-changelog: describe input syntax in --help output
1645         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
1646
1647         gitlog-to-changelog: fix typo in --help: show backslash before email @
1648         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
1649         in sources, but not in actual output.
1650
1651 2011-12-30  Jim Meyering  <meyering@redhat.com>
1652
1653         gitlog-to-changelog: don't malfunction when name contains %-directive
1654         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
1655         in a name string cause trouble.  E.g., with a user name of "%s",
1656         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
1657
1658 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
1659
1660         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
1661         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
1662         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
1663         the "  (tiny change)" notation that is appended to the standard
1664         ChangeLog "date  name  email" header line.
1665
1666 2012-01-01  Jim Meyering  <meyering@redhat.com>
1667
1668         test-framework-sh: init.sh: fix "make dist" failure
1669         When using gnulib-tool's --with-tests option and any module that
1670         depends on test-framework-sh, "make dist" would fail due to the
1671         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
1672         in the gltests directory, and not in the gllib/ directory.
1673         One way to work around that is to move the EXTRA_DIST += init.sh
1674         from the primary module to the -tests one:
1675         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
1676         * modules/test-framework-sh (Makefile.am): ...not here.
1677         Reported by Tom G. Christensen in
1678         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
1679
1680         version-etc: update copyright year reported by --version
1681         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
1682
1683 2011-12-31  Pádraig Brady  <P@draigBrady.com>
1684
1685         canonicalize: only stat() if required
1686         * lib/canonicalize.c (canonicalize_filename_mode):
1687         Avoid calling l?stat() when both CAN_MISSING,
1688         and CAN_NOLINKS are set, as we neither need
1689         to resolve symlinks or test component existence.
1690
1691 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
1692
1693         doc: cover st_ino issues once; add OpenVMS etc.
1694         * doc/posix-functions/stat.texi (stat):
1695         * doc/posix-functions/lstat.texi (lstat):
1696         * doc/posix-functions/fstatat.texi (fstatat):
1697         * doc/posix-functions/fstat.texi (fstat):
1698         Move general 'struct stat' stuff to sys_stat.texi,
1699         leaving behind a pointer.
1700         * doc/posix-headers/sys_stat.texi (sys/stat.h):
1701         Merge duplicate info about 'struct stat' problems into here.
1702         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
1703         and suggest partial workarounds.
1704
1705         same-inode: port to OpenVMS
1706         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
1707         three st_ino values.
1708
1709 2011-12-30  Pádraig Brady  <P@draigBrady.com>
1710
1711         canonicalize: fix references to stat() and lstat()
1712         * lib/canonicalize.c (canonicalize_filename_mode):
1713         Ensure references always resolve to a replacement
1714         function if required (even via a macro).
1715
1716 2011-12-30  Jim Meyering  <meyering@redhat.com>
1717
1718         gitlog-to-changelog: remove a little duplication
1719         * build-aux/gitlog-to-changelog (main): Grep @lines once,
1720         rather than twice.
1721
1722 2011-12-29  Pádraig Brady  <P@draigBrady.com>
1723
1724         canonicalize: add support for not resolving symlinks
1725         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
1726         indicate we don't want to follow symlinks.  Also
1727         provide CAN_MODE_MASK to aid setting these existing
1728         mutually exclusive values.
1729         * lib/canonicalize.c (canonicalize_filename_mode):
1730         Extract the flags from can_mode parameter, which
1731         are currently just used to select between stat()
1732         and lstat().  Also ensure that mutually exclusive
1733         values are flagged immediately as invalid.
1734         * tests/test-canonicalize.c: Verify symlinks are
1735         not followed, and that invalid flag combinations
1736         are diagnosed.
1737
1738 2011-12-25  Jim Meyering  <meyering@redhat.com>
1739
1740         gitlog-to-changelog: do not clump multi-paragraph entries
1741         Identical header lines (date,name,email+coauthors) are suppressed,
1742         thus putting all entries with those same characteristics under
1743         a single header.  However, when a log entry consists of two or
1744         more paragraphs, it may not be clear where it starts and ends.
1745         This change makes it so that such an entry is always separated
1746         from others by a header line, even when that header would
1747         otherwise be suppressed.
1748         * build-aux/gitlog-to-changelog: Implement the above.
1749         Inspired by a related request from Stefano Lattarini in
1750         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
1751
1752 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
1753
1754         announce-gen: fix `cmd' typo in diagnostic
1755         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
1756         diagnostic: a missing '$' meant that the command was not output.
1757
1758 2011-12-23  Jim Meyering  <meyering@redhat.com>
1759
1760         test-framework-sh: distribute init.sh
1761         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
1762         Otherwise, "make -C gnulib-tests check" (at least in grep) would
1763         fail due to the lack of init.sh.
1764
1765         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
1766         * modules/atexit-tests: Rather than listing tests/init.sh,
1767         now that there's a module for it, simply depend on that new module.
1768         * modules/closein-tests: Likewise.
1769         * modules/exclude-tests: Likewise.
1770         * modules/getcwd-tests: Likewise.
1771         * modules/perror-tests: Likewise.
1772         * modules/pread-tests: Likewise.
1773         * modules/pwrite-tests: Likewise.
1774         * modules/vc-list-files-tests: Likewise.
1775         * modules/verify-tests: Likewise.
1776         * modules/xalloc-die-tests: Likewise.
1777         * modules/xstrtoimax-tests: Likewise.
1778         * modules/xstrtol-tests: Likewise.
1779         * modules/xstrtoll-tests: Likewise.
1780         * modules/xstrtoumax-tests: Likewise.
1781         * modules/yesno-tests: Likewise.
1782
1783 2011-12-22  Jim Meyering  <meyering@redhat.com>
1784
1785         test-framework-sh: add minimal tests of init.sh's compare function
1786         * modules/test-framework-sh-tests: New file.
1787         * tests/test-init.sh: New file.
1788
1789         test-framework-sh: new module
1790         * modules/test-framework-sh: New file.
1791         * MODULES.html.sh (Support for maintaining and releasing projects):
1792         List it.
1793
1794         init.sh: do not emit simulated diff output to stderr
1795         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
1796
1797 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
1798
1799         .gitignore: ignore gnulib.dvi and regex.info
1800         * doc/.gitignore:add gnulib.dvi and regex.info
1801
1802 2011-12-22  Jim Meyering  <meyering@redhat.com>
1803
1804         init.sh: correct previous change
1805         * tests/init.sh (compare): My previous change was wrong.
1806         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
1807
1808         init.sh: avoid unwarranted test failure when using "set -e"
1809         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
1810         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
1811         a use like "compare exp out" would get evoke an unconditional failure.
1812
1813 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
1814
1815         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
1816         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
1817         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
1818         autoreconf that did not.
1819         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
1820         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
1821
1822 2011-12-17  Jim Meyering  <meyering@redhat.com>
1823
1824         bootstrap: remove some now-unneeded code
1825         This script arose back when gnulib-tool was young.
1826         Since then, it has seen improvements that render much of this
1827         script unnecessary.  In particular, it can now make symlinks
1828         to the files it uses.  Also, I no longer see as much value in
1829         marking files as read-only via comments.
1830         If you relied on the symlink-creation feature of the preceding
1831         version of this script, you can get most of that functionality
1832         by adding the --symlink option to the definition of
1833         gnulib_tool_option_extras in your bootstrap.conf file.
1834         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
1835         Run autopoint and libtoolize *before* gnulib-tool.
1836         After it, run an abbreviated autoreconf, rather than a loop around
1837         all tools.
1838         (slirp, bt_mark_as_generated): Remove functions.
1839
1840 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1841
1842         ftoastr: fix typo
1843         * lib/ftoastr.h: Fix misspelling in comment.
1844
1845 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
1846
1847         * top/README-release: fix punctuation.
1848
1849 2011-12-17  Jim Meyering  <meyering@redhat.com>
1850
1851         bootstrap: correct the recent buildreq change
1852         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
1853         had no effect.
1854         * build-aux/bootstrap (buildreq): Bracket each search term with
1855         "*...*", so that the shell "case" statement works as intended.
1856         Add comments.
1857
1858 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
1859
1860         build: let bootstrap resort to wget when downloading .po files
1861         * build-aux/bootstrap (download_po_files): Fallback to wget when
1862         downloading the .po files via rsync fails.  This is necessary to
1863         bootstrap from behind a strict firewall.
1864
1865 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
1866
1867         stdint: don't assume C++11 when compiling with g++
1868         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
1869         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
1870         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
1871         work also in C++ before C++11, as that improperly inhibits
1872         generating a substitute stdint.h for that case.
1873
1874 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
1875
1876         alloca: protect comment from gnulib-tool
1877         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
1878         that gnulib-tool doesn't think it's a license, and munge it to
1879         say "GCC version 3".
1880
1881 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
1882
1883         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
1884         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
1885         $(abs_top_builddir) instead of $(top_builddir).
1886
1887 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
1888
1889         strftime-tests: also test nanoseconds
1890         * tests/test-strftime.c (T): Add a test of %N.
1891
1892 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
1893
1894         inttypes, stdint: add C++11 support
1895         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
1896         when including inttypes.h and stdint.h.  Support this change to
1897         the standard.
1898         * doc/posix-headers/inttypes.texi (inttypes.h):
1899         * doc/posix-headers/stdint.texi (stdint.h): Document this.
1900         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
1901         Define if not defined already, for the benefit of pre-C++11 hosts.
1902         Define the standard format macros (e.g., PRId8) always.
1903         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
1904         Likewise, if __cpluspus.  Define the standard constant and limit
1905         macros (e.g., INT8_C, INT8_MAX) always.
1906         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
1907         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
1908         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
1909         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
1910         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
1911         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
1912         Likewise.
1913
1914 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
1915
1916         nonblocking tests: Fix test failure on Linux/PPC.
1917         Suggested by Prerna Saxena in
1918         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
1919         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
1920         Set to 1100000.
1921
1922 2011-12-12  Jim Meyering  <meyering@redhat.com>
1923
1924         argmatch: don't hard-code `' when listing valid option arguments
1925         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
1926         use the quote function to add quotes.  Use fputs rather than
1927         fprintf for the format string with no format directive.
1928
1929 2011-12-07  Eric Blake  <eblake@redhat.com>
1930
1931         bootstrap: detect tools required by gnulib-tool
1932         * build-aux/bootstrap (buildreq): Provide minimum implicit
1933         dependencies.
1934         * DEPENDENCIES: Mention patch as a prereq.
1935
1936 2011-12-04  Bruno Haible  <bruno@clisp.org>
1937
1938         sethostname: Port to Windows platforms.
1939         * lib/sethostname.c: Provide an alternate implementation for Windows
1940         platforms.
1941         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
1942         (main): Skip the test if sethostname() fails with EPERM. On Windows
1943         platforms, don't check the result of gethostname().
1944
1945 2011-12-04  Bruno Haible  <bruno@clisp.org>
1946             Jim Meyering  <meyering@redhat.com>
1947
1948         tests: Avoid spurious error message on platforms without mktemp program.
1949         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
1950
1951 2011-12-04  Bruno Haible  <bruno@clisp.org>
1952
1953         sethostname: Fix documentation.
1954         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
1955         "not fixed" section.
1956
1957 2011-12-03  Bruno Haible  <bruno@clisp.org>
1958
1959         gnulib-tool: Verify that the License field is present and non-empty.
1960         * gnulib-tool (func_get_license_raw): New function, extracted from
1961         func_get_license.
1962         (func_get_license): Use it. Warn if the module is not a test module and
1963         has no license.
1964         Suggested by Jim Meyering.
1965
1966 2011-12-03  Bruno Haible  <bruno@clisp.org>
1967
1968         sethostname tests: Fix link error on mingw.
1969         * tests/test-sethostname1.c: New file, extracted from
1970         tests/test-sethostname.c.
1971         * tests/test-sethostname2.c: New file, extracted from
1972         tests/test-sethostname.c.
1973         * tests/test-sethostname.c: Remove file.
1974         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
1975         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
1976         (Depends-on): Add gethostname.
1977         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
1978         Link the latter with $(GETHOSTNAME_LIB).
1979
1980         sethostname tests: Fix compilation error on mingw.
1981         * tests/test-sethostname.c: Don't include <sys/types.h>.
1982         (geteuid): Use a dummy value without uid_t.
1983         * modules/sethostname-tests (Depends-on): Remove sys_types.
1984
1985         sethostname tests: Avoid a gcc warning.
1986         * tests/test-sethostname.c (main): Remove an unused variable.
1987
1988         Tweak last commit.
1989         * modules/sethostname-tests (Files): Sort by decreasing importance.
1990         (configure.ac): Check for geteuid.
1991         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
1992         the test when there's nothing to test. Drop an unnecessary cast.
1993         Improve an error message. Verify that the final sethostname() call
1994         succeeds.
1995
1996 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
1997
1998         Add a test suite for the sethostname module.
1999         * modules/sethostname-tests: New file.  A test program
2000         for the sethostname module.
2001         * tests/test-sethostname.c: Likewise.
2002
2003 2011-12-03  Bruno Haible  <bruno@clisp.org>
2004
2005         Tweak last commit.
2006         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
2007         Fix preprocessor directives indentation. Fix typos.
2008         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
2009         * modules/unistd (Makefile): Likewise.
2010
2011 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2012
2013         Integrate the sethostname module into unistd.
2014         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
2015         into the unistd.h header.
2016         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
2017         preprocessor directives.
2018         * modules/unistd: Setup the Makefile substitutions of the
2019         SETHOSTNAME preprocessor directives.
2020
2021 2011-12-03  Bruno Haible  <bruno@clisp.org>
2022
2023         Tweak last commit.
2024         * lib/sethostname.c: Don't include <string.h>.
2025         (sethostname): No need to copy the argument string to the stack. Don't
2026         call clearerr. Preserve errno when fprintf failed.
2027         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
2028         Don't invoke AC_REPLACE_FUNCS.
2029         * modules/sethostname (Link): Remove empty section.
2030         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
2031         failure problem.
2032
2033 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2034
2035         New module 'sethostname'.
2036         * lib/sethostname.c (sethostname): New file.  Provide sethostname
2037         for systems that lack it.
2038         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
2039         sethostname declaration and function.
2040         * modules/sethostname: New file.  Define the sethostname module.
2041
2042 2011-12-03  Bruno Haible  <bruno@clisp.org>
2043
2044         Tweak last commit.
2045         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
2046
2047 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2048
2049         Split the HOST_NAME_MAX detection into a separate m4 macro.
2050         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
2051         macro so it can be used by the pending sethostname module.
2052
2053 2011-12-03  Bruno Haible  <bruno@clisp.org>
2054
2055         Fix module descriptions syntax.
2056         * modules/argv-iter (License): Fix syntax.
2057         * modules/di-set (License): Likewise.
2058         * modules/ino-map (License): Likewise.
2059         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
2060
2061 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
2062
2063         stdalign: port to Clang 3.0
2064         Problem reported by Simon Josefsson in
2065         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
2066         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
2067         which has <stdalign.h> but which does not define alignof.
2068         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
2069
2070 2011-12-01  Eric Blake  <eblake@redhat.com>
2071
2072         mktempd: silence dd usage
2073         * build-aux/mktempd (rand_bytes): Silence dd.
2074
2075 2011-11-30  Simon Josefsson  <simon@josefsson.org>
2076
2077         manywarnings: Don't mention gcc version in docstring.
2078         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
2079         Jim Meyering <meyering@redhat.com>.
2080
2081 2011-11-30  Jim Meyering  <meyering@redhat.com>
2082
2083         hash: mark a few floating point constants with "f" suffix
2084         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
2085         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
2086         floating point constants with "f", since they're destined to be
2087         saved/used as "float"s.
2088
2089 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
2090
2091         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
2092         * tests/test-float.c (test_long_double): Correct and re-enable the
2093         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
2094
2095 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
2096
2097         Avoid subtracting two pointers that don't point into the same block.
2098         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
2099         only pointers into the same memory block are subtracted. We cannot
2100         assume that sizeof (ptrdiff_t) == sizeof (void *).
2101
2102 2011-11-29  Eric Blake  <eblake@redhat.com>
2103
2104         maint.mk: add syntax check for use of compare from init.sh
2105         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
2106         moved here from coreutils.
2107
2108         manywarnings: drop -Wunsuffixed-float-constants
2109         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
2110         '1.0D', which is the only way to silence this warning for 'double'.
2111
2112 2011-11-29  Jim Meyering  <meyering@redhat.com>
2113
2114         hash: mark compute_bucket_size with the pure attribute
2115         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
2116
2117         quotearg, propername: correct pragma guard expression
2118         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
2119         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
2120
2121 2011-11-28  Jim Meyering  <meyering@redhat.com>
2122
2123         propername: do not mark proper_name with the const attribute
2124         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
2125         since it examines data pointed to by its parameter.
2126         * lib/propername.c (proper_name): Instead, add a pragma to suppress
2127         the suggestion from -Wsuggest-attribute=const.
2128
2129         propername: mark one more function as const
2130         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
2131
2132 2011-11-27  Jim Meyering  <meyering@redhat.com>
2133
2134         mark functions with const and pure attributes
2135
2136         Mark functions per suggestions from gcc-4.6 when using these options:
2137         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
2138         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
2139         Follow these guidelines: when possible, apply the attribute to
2140         an extern declaration, not to its definition.  Apply it to the
2141         definition only when the definition is static.
2142         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
2143         * lib/argv-iter.h (argv_iter_n_args): Likewise.
2144         * lib/base64.h (isbase64): Likewise.
2145         * lib/basename-lgpl.c (last_component, base_len): Likewise.
2146         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
2147         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
2148         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
2149         (c_tolower, c_toupper): Likewise.
2150         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
2151         * lib/chdir-long.c (find_non_slash): Likewise.
2152         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
2153         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
2154         * lib/file-type.h (file_type): Likewise.
2155         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
2156         * lib/filevercmp.c (verrevcmp): Likewise.
2157         * lib/freadahead.h (freadahead): Likewise.
2158         * lib/fts.c (fts_maxarglen): Likewise.
2159         * lib/hash-pjw.h (hash_pjw): Likewise.
2160         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
2161         * lib/hash.c (is_prime, next_prime): Likewise.
2162         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
2163         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
2164         (hash_table_ok, hash_get_first, hash_string): Likewise.
2165         (compute_bucket_size): Likewise.
2166         * lib/i-ring.h (i_ring_empty): Likewise.
2167         * lib/isnan.c (isnanl): Likewise.
2168         * lib/math.h (isnanl, rpl_isnanl): Likewise.
2169         * lib/memcasecmp.h (memcasecmp): Likewise.
2170         * lib/memchr2.h (memchr2): Likewise.
2171         * lib/memcmp2.h (memcmp2): Likewise.
2172         * lib/parse-datetime.y (lookup_zone): Likewise.
2173         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
2174         [!WINDOWS_SOCKETS]: Likewise.
2175         * lib/strnlen1.h (strnlen1): Likewise.
2176         * lib/uniwidth.in.h (uc_width): Likewise.
2177         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
2178         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
2179         (quoting_options_from_style): Add a comment.
2180         * lib/propername.h (proper_name): Add a comment.
2181
2182 2011-11-27  Bruno Haible  <bruno@clisp.org>
2183
2184         Remove unused macros from !_LIBC code in glibc-borrowed files.
2185         * lib/fnmatch.c (STRCOLL): Remove macro.
2186         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
2187         * lib/glob.c (__stat, __readdir64): Remove macros.
2188         * lib/tempname.c (__open64, __xstat64): Remove macros.
2189         Suggested by Paul Eggert.
2190
2191 2011-11-27  Bruno Haible  <bruno@clisp.org>
2192
2193         getcwd: Fix link error on MSVC 9.
2194         * modules/getcwd (Depends-on): Add readdir, rewinddir.
2195
2196 2011-11-27  Bruno Haible  <bruno@clisp.org>
2197
2198         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
2199         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
2200         HAVE_OPENDIR is 0.
2201         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
2202         HAVE_CLOSEDIR is 0.
2203         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
2204         is 0.
2205         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
2206
2207 2011-11-27  Bruno Haible  <bruno@clisp.org>
2208
2209         getcwd: Fix bug from 2011-08-17.
2210         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
2211         platforms that need it.
2212         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
2213         code of 4 to be a failure, not a success. This ensures that
2214         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
2215
2216 2011-11-27  Bruno Haible  <bruno@clisp.org>
2217
2218         binary-io tests: Avoid test failure on mingw when libtool is used.
2219         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
2220         Don't verify the size of t-bin-out1.tmp here.
2221         * tests/test-binary-io.sh: Verify it here.
2222         Reported by Simon Josefsson.
2223
2224 2011-11-26  Bruno Haible  <bruno@clisp.org>
2225
2226         Fix conflict between two instantiations of module 'unistd'.
2227         * gnulib-tool (func_emit_autoconf_snippet): Substitute
2228         ${include_guard_prefix} also in the autoconf snippet.
2229         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
2230         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
2231         GNULIB_UNISTD_H_GETOPT.
2232         * modules/getopt-posix (configure.ac): Set the
2233         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
2234         * modules/getopt-gnu (configure.ac): Likewise.
2235         * modules/unistd (Makefile.am): Change the substitution value of
2236         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
2237         Reported by Simon Josefsson.
2238
2239 2011-11-25  Bruno Haible  <bruno@clisp.org>
2240
2241         pagealign_alloc: Doc and comments.
2242         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
2243         module.
2244         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
2245
2246 2011-11-25  Jim Meyering  <meyering@redhat.com>
2247
2248         test-update-copyright.sh: avoid false-positive failure
2249         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
2250         around false positive failure on Cygwin/Windows.  The latter was
2251         matching erroneously-created files with names like
2252         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
2253
2254 2011-11-25  Simon Josefsson  <simon@josefsson.org>
2255
2256         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
2257         * m4/valgrind-tests.m4: Check that the parameters that will be
2258         used works, not just a subset of them.  Reported by Bruno Haible
2259         <bruno@clisp.org>.
2260
2261 2011-11-24  Jim Meyering  <meyering@redhat.com>
2262
2263         test-stdalign.c: comment out long double tests
2264         * tests/test-stdalign.c: Don't try to reduce alignment of long double
2265         variables.  That provokes errors like this from gcc-4.7.0 20111124:
2266         error: '_Alignas' specifiers cannot reduce alignment of \
2267         'static_longdouble_alignas'.
2268
2269 2011-11-22  Jim Meyering  <meyering@redhat.com>
2270
2271         init.sh: make "compare /dev/null FILE" output more readable
2272         * tests/init.sh (compare_): Document the preferred order of arguments.
2273         (emit_diff_u_header_): New function.
2274         (compare_dev_null_): Emit a simulated diff, rather than just the
2275         contents of the unexpected file.  Suggestion from Bruno Haible.
2276
2277 2011-11-21  Jim Meyering  <meyering@redhat.com>
2278             Eric Blake  <eblake@redhat.com>
2279
2280         init.sh: work around OSF/1 5.1's mishandling of /dev/null
2281         * tests/init.sh: Make our compare function slightly more portable.
2282         Reported by Bruno Haible in
2283         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
2284
2285 2011-11-21  Simon Josefsson  <simon@josefsson.org>
2286
2287         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
2288         before using it, in code that ends up in config.h.
2289
2290 2011-11-20  Bruno Haible  <bruno@clisp.org>
2291
2292         getcwd: Work around getcwd bug on AIX 5..7.
2293         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
2294         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
2295         Use a different value for gl_cv_func_getcwd_path_max. Move the
2296         definition of HAVE_PARTLY_WORKING_GETCWD from here...
2297         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
2298         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
2299         Define HAVE_MINIMALLY_WORKING_GETCWD.
2300         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
2301         where it is not even minimally working, that is, on AIX.
2302         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
2303         m4/getcwd-path-max.m4.
2304         (main): Update exit code computation.
2305         * doc/posix-functions/getcwd.texi: Mention list of platforms where
2306         getcwd does not handle long file names.
2307
2308 2011-11-20  Bruno Haible  <bruno@clisp.org>
2309
2310         getcwd: Fix bug from 2009-09-10.
2311         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
2312         like "no".
2313
2314 2011-11-20  Simon Josefsson  <simon@josefsson.org>
2315
2316         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
2317
2318 2011-11-20  Bruno Haible  <bruno@clisp.org>
2319
2320         fma tests: Avoid shadowing local variables.
2321         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
2322         expected.
2323
2324 2011-11-20  Bruno Haible  <bruno@clisp.org>
2325
2326         copysignf tests: Fix.
2327         * tests/test-copysignf.c: Fix signature check.
2328
2329 2011-11-20  Bruno Haible  <bruno@clisp.org>
2330
2331         fma: Remove unused code.
2332         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
2333         unused macros.
2334
2335 2011-11-20  Bruno Haible  <bruno@clisp.org>
2336
2337         sethostname: Fix doc about AIX.
2338         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
2339         sethostname; it has it.
2340
2341         sethostname: Mention more portability problems.
2342         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
2343         problem.
2344         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
2345
2346 2011-11-19  Bruno Haible  <bruno@clisp.org>
2347
2348         Depend on module fcntl-h when AT_FDCWD is used.
2349         * modules/utimens (Depends-on): Add fcntl-h.
2350         * modules/areadlinkat (Depends-on): Likewise.
2351         * modules/areadlinkat-with-size (Depends-on): Likewise.
2352         * modules/faccessat (Depends-on): Likewise.
2353         * modules/fchmodat (Depends-on): Likewise.
2354         * modules/fchownat (Depends-on): Likewise.
2355         * modules/getcwd (Depends-on): Likewise.
2356         * modules/mkdirat (Depends-on): Likewise.
2357         * modules/mkfifoat (Depends-on): Likewise.
2358         * modules/readlinkat (Depends-on): Likewise.
2359         * modules/symlinkat (Depends-on): Likewise.
2360         * modules/dup2-tests (Depends-on): Likewise.
2361         * modules/fdutimensat-tests (Depends-on): Likewise.
2362         * modules/futimens-tests (Depends-on): Likewise.
2363
2364 2011-11-19  Bruno Haible  <bruno@clisp.org>
2365
2366         euidaccess: Update a comment.
2367         * lib/euidaccess.c: Update comment about platforms with faccessat.
2368
2369 2011-11-19  Bruno Haible  <bruno@clisp.org>
2370
2371         openat: Fix file list.
2372         * modules/openat (Files): Remove lib/at-func.c.
2373
2374 2011-11-19  Bruno Haible  <bruno@clisp.org>
2375
2376         fstatat: Simplify.
2377         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
2378         gnulib should define rpl_fstatat, there is a
2379         "#define fstatat rpl_fstatat" in <sys/stat.h>.
2380
2381 2011-11-19  Bruno Haible  <bruno@clisp.org>
2382
2383         Ensure 'inline' can be used in tests/test-utimens-common.h.
2384         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
2385         * modules/futimens-tests (configure.ac): Likewise.
2386         * modules/utimens-tests (configure.ac): Likewise.
2387         * modules/utimensat-tests (configure.ac): Likewise.
2388
2389 2011-11-19  Simon Josefsson  <simon@josefsson.org>
2390
2391         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
2392         not hash_insert0.
2393         (hash_insert_if_absent): Doc fix.
2394
2395 2011-11-19  Simon Josefsson  <simon@josefsson.org>
2396
2397         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
2398
2399 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
2400
2401         test-getcwd: disambiguate exit status
2402         * tests/test-getcwd.c (test_long_name): Return 0..7.
2403         (main): Exit with an unambiguous exit status.  The old
2404         code yielded a mysterious mixture of two failure codes.
2405
2406         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
2407         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
2408         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
2409         rpl_fstatat or fstatat.  This should fix the other problem
2410         reported by Kai Habel in
2411         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
2412         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
2413         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
2414         and I reproduced it on a Solaris 8 host we still have in production.
2415
2416 2011-11-18  Jim Meyering  <meyering@redhat.com>
2417
2418         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
2419         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
2420         Add a sentence to the comment.
2421         (hash_insert0): New function that simply calls hash_insert_if_absent.
2422         * lib/hash.h (hash_insert_if_absent): Declare it.
2423         (hash_insert0): Add deprecation attribute.
2424         (_GL_ATTRIBUTE_DEPRECATED): Define.
2425         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
2426         not hash_insert0.
2427         * NEWS: Mention it, even though it's not really an incompatible change.
2428
2429 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
2430
2431         openat: avoid compilation failure due to lack of <errno.h> inclusion
2432         * lib/openat.c: Include <errno.h>.
2433
2434 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
2435
2436         * modules/getcwd (Depends-on): Add fdopendir.
2437         This fixes one of the two problems reported by Kai Habel in
2438         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
2439
2440         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
2441         stdalign problem reported by Ian Beckwith in
2442         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
2443         * modules/crypto/gc-arcfour (Depends-on):
2444         Depend conditionally on crypto/arcfour.
2445         * modules/crypto/gc-arctwo (Depends-on):
2446         Depend conditionally on crypto/arctwo.
2447         * modules/crypto/gc-des (Depends-on):
2448         Depend conditionally on crypto/des.
2449         * modules/crypto/gc-hmac-md5 (Depends-on):
2450         Depend conditionally on crypto/hmac-md5.
2451         * modules/crypto/gc-hmac-sha1 (Depends-on):
2452         Depend conditionally on crypto/hmac-sha1.
2453         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
2454         * modules/crypto/gc-md4 (Depends-on):
2455         Depend conditionally on crypto/md4.
2456         * modules/crypto/gc-md5 (Depends-on):
2457         Depend conditionally on crypto/md5.
2458         * modules/crypto/gc-rijndael (Depends-on):
2459         Depend conditionally on crypto/rijndael.
2460         * modules/crypto/gc-sha1 (Depends-on):
2461         Depend conditionally on crypto/sha1.
2462         * modules/crypto/gc-arcfour:
2463         * modules/crypto/gc-arctwo:
2464         * modules/crypto/gc-des:
2465         * modules/crypto/gc-hmac-md5:
2466         * modules/crypto/gc-hmac-sha1:
2467         * modules/crypto/gc-md2:
2468         * modules/crypto/gc-md4:
2469         * modules/crypto/gc-md5:
2470         * modules/crypto/gc-rijndael:
2471         * modules/crypto/gc-sha1:
2472         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
2473         now that the conditional dependencies do the work for us.
2474
2475 2011-11-17  Jim Meyering  <meyering@redhat.com>
2476
2477         tests: factor st_ctime-comparison out of two headers
2478         * tests/test-utimens-common.h (ctime_compare): Define.
2479         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
2480         * tests/test-lutimens.h (test_lutimens): Likewise.
2481         * tests/test-utimens.h (test_utimens): Likewise.
2482
2483         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
2484         Invoke the test program via an init.sh-using wrapper.
2485         * tests/test-getcwd.sh: New file.
2486         * modules/getcwd-tests (Files): Add it.
2487         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
2488
2489 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
2490
2491         gitlog-to-changelog: support multi-author commits.
2492         The FSF cares about keeping track of all authors of patches to its
2493         projects, but Git doesn't provide obvious support for multi-author
2494         changesets. Consensus seems to be forming around the use of extra
2495         Signed-off-by inspired lines in the log message formatted as
2496         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
2497         multi-author commits between version control systems.
2498         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
2499         log message and output in standard ChangeLog multi-author format.
2500         Reported by Peter Rosin <peda@lysator.liu.se>
2501
2502 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
2503             Bruno Haible  <bruno@clisp.org>
2504
2505         Fix some modules' file list.
2506         * modules/fstatat (Files): Add m4/lstat.m4.
2507         * modules/openat (Files): Likewise.
2508         * modules/unlinkat (Files): Likewise.
2509
2510 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
2511
2512         maint.mk: fix tight-scope.mk generation in VPATH builds.
2513         * top/maint.mk (tight-scope.mk): Make sure to prefix file
2514         reference with $(srcdir) so that the file is found correctly even
2515         when running `make syntax-check' in a VPATH build.
2516
2517 2011-11-13  Bruno Haible  <bruno@clisp.org>
2518             Jim Meyering  <meyering@redhat.com>
2519
2520         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
2521         * tests/init.sh (compare): Remove "No differences encountered" or
2522         synonymous output from the 'diff' program.
2523
2524 2011-11-13  Bruno Haible  <bruno@clisp.org>
2525
2526         Makefile: Tweak indentation.
2527         * Makefile: Use tab as first character in every line that contains rule
2528         commands.
2529
2530 2011-11-13  Bruno Haible  <bruno@clisp.org>
2531
2532         Syntax check for copyright statements.
2533         * check-copyright: New file.
2534         * Makefile (sc_check_copyright): New rule.
2535
2536 2011-11-13  Simon Josefsson  <simon@josefsson.org>
2537
2538         * build-aux/git-version-gen: Add --prefix to configure the tag
2539         match string.
2540
2541 2011-11-13  Simon Josefsson  <simon@josefsson.org>
2542
2543         * build-aux/git-version-gen: Add --help and --version.
2544
2545 2011-11-12  Jim Meyering  <meyering@redhat.com>
2546
2547         revamp the other test-exclude?.sh scripts to use init.sh, too
2548         * tests/test-exclude1.sh: Use init.sh.
2549         * tests/test-exclude2.sh: Likewise.
2550         * tests/test-exclude3.sh: Likewise.
2551         * tests/test-exclude4.sh: Likewise.
2552         * tests/test-exclude5.sh: Likewise.
2553         * tests/test-exclude6.sh: Likewise.
2554         * tests/test-exclude7.sh: Likewise.
2555         * tests/test-exclude8.sh: Likewise.
2556         * modules/exclude-tests (Files): List init.sh.
2557
2558         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
2559         These shell scripts ignored failure of the binary test-exclude,
2560         so making the latter return 77 didn't cause them to be skipped.
2561         * tests/test-exclude5.sh: Exit with test-exclude's error status
2562         when that program fails.  Revamp to use init.sh.
2563         * tests/test-exclude2.sh: Likewise.
2564
2565         test-exclude: fix a typo
2566         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
2567
2568 2011-11-11  Bruno Haible  <bruno@clisp.org>
2569
2570         obstack: Fix compilation error on MSVC 9.
2571         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
2572
2573 2011-11-11  Jim Meyering  <meyering@redhat.com>
2574
2575         test-exclude: skip tests rather than failing on deficient systems
2576         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
2577         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
2578         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
2579         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
2580
2581 2011-11-10  Bruno Haible  <bruno@clisp.org>
2582
2583         ptsname_r test: Avoid gcc warning on glibc systems.
2584         * tests/test-ptsname_r.c (null_ptr): New function.
2585         (test_errors): Use it.
2586
2587 2011-11-10  Bruno Haible  <bruno@clisp.org>
2588
2589         ptsname_r: Avoid compilation error on OSF/1 5.1.
2590         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
2591         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
2592         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
2593         function is not declared or incompatibly declared.
2594         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
2595         * modules/ptsname_r (Depends-on, configure.ac): Update.
2596         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
2597
2598 2011-11-10  Bruno Haible  <bruno@clisp.org>
2599
2600         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
2601         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
2602         When cross-compiling, guess yes on all platforms except AIX.
2603         Reported by Ludovic Courtès <ludo@gnu.org>.
2604
2605 2011-11-09  Bruno Haible  <bruno@clisp.org>
2606
2607         ptsname_r tests: Fix bugs.
2608         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
2609         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
2610
2611 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2612
2613         fstatat: work with cross-compilation
2614         Problem reported by Ludovic Courtès in
2615         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
2616         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
2617         "cross-compiling" and assume the bug is present.  Replace
2618         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
2619         an inverted sense, to be more conservative about our assumptions.
2620         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
2621
2622 2011-11-09  Bruno Haible  <bruno@clisp.org>
2623
2624         Improve MODULES.html output.
2625         * modules/mkfifoat (Description): Use the word "function".
2626         * modules/readlinkat (Description): Likewise.
2627         * modules/symlinkat (Description): Likewise.
2628
2629 2011-11-09  Eric Blake  <eblake@redhat.com>
2630
2631         ptsname_r-tests: new test module
2632         * modules/ptsname_r-tests: New module.
2633         * tests/test-ptsname_r.c: New file.
2634
2635         ptsname_r: new module
2636         * modules/ptsname_r: New module.
2637         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
2638         * lib/ptsname.c (__ptsname_r): Split...
2639         * lib/ptsname_r.c: ...into new file.
2640         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
2641         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
2642         * modules/stdlib (Makefile.am): Substitute witnesses.
2643         * lib/stdlib.in.h (ptsname_r): Declare it.
2644         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
2645         * MODULES.html.sh (Misc): Likewise.
2646         * modules/ptsname (Depends-on): Alter dependency.
2647         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
2648
2649 2011-11-09  Jim Meyering  <meyering@redhat.com>
2650
2651         announce-gen: be more concise when there's only one URL+tarball
2652         * build-aux/announce-gen (get_tool_versions): When you distribute
2653         only one type of tarball, combine the first two "Here are..."
2654         sections and make the key-checking grammar independent of
2655         how many tarballs there are.
2656
2657 2011-11-09  Eric Blake  <eblake@redhat.com>
2658
2659         openpty: provide a stub on mingw
2660         * lib/pty.in.h (includes): Provide forward declarations.
2661         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
2662
2663         raise: fix mingw handling of SIGPIPE
2664         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
2665
2666 2011-11-08  Bruno Haible  <bruno@clisp.org>
2667
2668         More conditional dependencies.
2669         * modules/faccessat (Depends-on): Add conditions.
2670         * modules/fchmodat (Depends-on): Likewise.
2671         * modules/fchownat (Depends-on): Likewise.
2672         * modules/fstatat (Depends-on): Likewise.
2673         * modules/mkfifoat (Depends-on): Likewise.
2674         * modules/readlinkat (Depends-on): Likewise.
2675         * modules/symlinkat (Depends-on): Likewise.
2676         * modules/unlinkat (Depends-on): Likewise.
2677         * modules/utimensat (Depends-on): Likewise.
2678         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
2679         * modules/linkat (Depends-on): Refine the conditions.
2680         * modules/renameat (Depends-on): Likewise.
2681
2682 2011-11-08  Bruno Haible  <bruno@clisp.org>
2683
2684         faccessat: Move AC_LIBOBJ invocation to module description.
2685         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
2686         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
2687         invocation from here...
2688         * modules/faccessat (configure.ac): ... to here. Invoke
2689         gl_PREREQ_FACCESSAT.
2690
2691 2011-11-08  Bruno Haible  <bruno@clisp.org>
2692
2693         faccessat: Simplify autoconf macro.
2694         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
2695         gl_FUNC_EUIDACCESS.
2696
2697 2011-11-08  Bruno Haible  <bruno@clisp.org>
2698
2699         renameat: Fix dependencies.
2700         * modules/renameat (Depends-on): Add stdbool.
2701
2702 2011-11-08  Bruno Haible  <bruno@clisp.org>
2703
2704         mkfifoat: Fix module description.
2705         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
2706         not gl_UNISTD_MODULE_INDICATOR.
2707
2708 2011-11-08  Bruno Haible  <bruno@clisp.org>
2709
2710         fstatat: Remove unused dependency.
2711         * modules/fstatat (Depends-on): Remove fstat.
2712
2713 2011-11-08  Simon Josefsson  <simon@josefsson.org>
2714
2715         GNUmakefile: behave when Makefile is missing.
2716         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
2717
2718 2011-11-08  Bruno Haible  <bruno@clisp.org>
2719
2720         openat: Conditionalize dependencies.
2721         * lib/openat.c: Reduce the scope of some #includes.
2722         * modules/openat (Depends-on): Add conditions.
2723
2724 2011-11-07  Jim Meyering  <meyering@redhat.com>
2725
2726         maint.mk: extract GPG key ID without using a temporary file
2727         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
2728         without using a temporary file.  Based on a suggestion from Werner Koch
2729         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
2730
2731 2011-11-07  Eric Blake  <eblake@redhat.com>
2732
2733         grantpt: fix typo
2734         * lib/stdlib.in.h (grantpt): Check correct function.
2735
2736         maint.mk: silence new syntax check
2737         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
2738
2739 2011-11-06  Bruno Haible  <bruno@clisp.org>
2740
2741         Doc about floating-point and math API.
2742         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
2743         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
2744
2745 2011-11-06  Bruno Haible  <bruno@clisp.org>
2746
2747         stdalign tests: Skip the test when compiled by Sun C.
2748         * tests/test-stdalign.c (main): Skip the test on Sun C.
2749
2750 2011-11-06  Bruno Haible  <bruno@clisp.org>
2751
2752         ansi-c++-opt: Complete the 2011-06-05 change.
2753         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
2754         does not support namespaces, set the variable to "no", not to ":".
2755
2756 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
2757
2758         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
2759
2760 2011-11-06  Bruno Haible  <bruno@clisp.org>
2761
2762         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
2763         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
2764         (minus_zerol) [HP-UX]: New macro.
2765         (unary_minus) [HP-UX]: New function.
2766         (copysignl) [HP-UX]: Use unary_minus function.
2767
2768 2011-11-06  Bruno Haible  <bruno@clisp.org>
2769
2770         ldexp, ldexpf, ldexpl: Enhance tests.
2771         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
2772         and tests/test-ldexpl.c.
2773         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
2774         LDEXP, MIN_EXP, MAX_EXP): New macros.
2775         Include test-ldexp.h.
2776         (main): Just call test_function.
2777         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
2778         infinity.h, nan.h.
2779         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
2780         MAX_EXP): New macros.
2781         Include test-ldexp.h.
2782         (x, y): Remove variables.
2783         (main): Just call test_function.
2784         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
2785         infinity.h, nan.h.
2786         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
2787         MAX_EXP): New macros.
2788         Include test-ldexp.h.
2789         (x, y): Remove variables.
2790         (main): Just call test_function.
2791         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
2792         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
2793         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
2794         (Depends-on): Add isnand-nolibm, signbit, float.
2795         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
2796         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
2797         (Depends-on): Add isnanf-nolibm, signbit, float.
2798
2799 2011-11-06  Bruno Haible  <bruno@clisp.org>
2800
2801         math tests: Cosmetics.
2802         * tests/test-math-c++.cc: Reorder declarations.
2803
2804 2011-11-05  Bruno Haible  <bruno@clisp.org>
2805
2806         fma*: Simplify test.
2807         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
2808         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
2809
2810         Tests for module 'fmal'.
2811         * modules/fmal-tests: New file.
2812         * tests/test-fmal1.c: New file.
2813         * tests/test-fmal2.c: New file.
2814
2815         New module 'fmal'.
2816         * lib/math.in.h (fmal): New declaration.
2817         * lib/fmal.c: New file.
2818         * m4/fmal.m4: New file.
2819         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
2820         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
2821         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
2822         REPLACE_FMAL.
2823         * modules/fmal: New file.
2824         * doc/posix-functions/fmal.texi: Mention the new module and the various
2825         bugs.
2826
2827         Tests for module 'fmaf'.
2828         * modules/fmaf-tests: New file.
2829         * tests/test-fmaf1.c: New file.
2830         * tests/test-fmaf2.c: New file.
2831
2832         New module 'fmaf'.
2833         * lib/math.in.h (fmaf): New declaration.
2834         * lib/fmaf.c: New file.
2835         * m4/fmaf.m4: New file.
2836         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
2837         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
2838         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
2839         REPLACE_FMAF.
2840         * modules/fmaf: New file.
2841         * doc/posix-functions/fmaf.texi: Mention the new module and the various
2842         bugs.
2843
2844         Tests for module 'fma'.
2845         * modules/fma-tests: New file.
2846         * tests/test-fma1.c: New file.
2847         * tests/test-fma1.h: New file.
2848         * tests/test-fma2.c: New file.
2849         * tests/test-fma2.h: New file.
2850
2851         New module 'fma'.
2852         * lib/math.in.h (fma): New declaration.
2853         * lib/fma.c: New file.
2854         * m4/fma.m4: New file.
2855         * m4/fegetround.m4: New file.
2856         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
2857         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
2858         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
2859         REPLACE_FMA.
2860         * modules/fma: New file.
2861         * doc/posix-functions/fma.texi: Mention the new module and the various
2862         bugs.
2863
2864         Extend gl_MATHFUNC.
2865         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
2866         Support 'void' as argument type.
2867         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
2868
2869 2011-11-05  Jim Meyering  <meyering@redhat.com>
2870
2871         maint.mk: also prohibit inclusion of dirent.h without use
2872         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
2873
2874 2011-11-05  Bruno Haible  <bruno@clisp.org>
2875
2876         ldexpl tests: Avoid test failure on MSVC 9.
2877         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
2878         value. Needed in order to enforce the conversion from a value greater
2879         than LDBL_MAX to Infinity.
2880
2881 2011-11-05  Bruno Haible  <bruno@clisp.org>
2882
2883         New modules 'at-internal', 'openat-h', split off from module 'openat'.
2884         * modules/at-internal: New file, extracted from modules/openat.
2885         * modules/openat-h: New file.
2886         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
2887         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
2888         * modules/openat (Description): Add reference to POSIX function.
2889         (Files): Remove lib/openat.h, lib/openat-proc.c.
2890         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
2891         intprops, unistd.
2892         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
2893         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
2894         gl_FCNTL_MODULE_INDICATOR.
2895         (Include): Remove unistd.h, openat.h.
2896         * modules/areadlinkat (Files): Add lib/at-func.c.
2897         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
2898         openat-die, openat-h, save-cwd.
2899         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
2900         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
2901         openat-die, openat-h, save-cwd, unistd.
2902         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
2903         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
2904         openat-h, save-cwd. Remove fcntl-h, openat.
2905         * modules/fchmodat (Files): Remove lib/openat.h.
2906         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
2907         openat, stdbool, unistd.
2908         * modules/fchownat (Files): Remove lib/openat.h.
2909         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
2910         openat, stdbool, sys_stat.
2911         * modules/fdopendir (Files): Remove lib/openat-priv.h,
2912         lib/openat-proc.c.
2913         (Depends-on): Add at-internal.
2914         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
2915         * modules/fstatat (Files): Remove lib/openat.h.
2916         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
2917         stdbool, unistd.
2918         * modules/fts (Depends-on): Add openat-h.
2919         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
2920         openat.
2921         * modules/mkdirat (Files): Remove lib/openat.h.
2922         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
2923         openat, stdbool, sys_stat.
2924         * modules/mkfifoat (Files): Add lib/at-func.c.
2925         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
2926         openat-h, save-cwd. Remove fcntl-h, openat.
2927         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
2928         * modules/readlinkat (Files): Add lib/at-func.c.
2929         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
2930         openat-h, save-cwd. Remove fcntl-h, openat.
2931         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
2932         openat.
2933         * modules/selinux-at (Files): Add lib/at-func.c.
2934         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
2935         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
2936         * modules/symlinkat (Files): Add lib/at-func.c.
2937         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
2938         openat-h, save-cwd. Remove fcntl-h, openat.
2939         * modules/unlinkat (Files): Remove lib/openat.h.
2940         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
2941         stdbool.
2942         * modules/utimensat (Files): Add lib/at-func.c.
2943         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
2944         openat-die, openat-h, save-cwd.
2945         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
2946         * modules/fdutimensat-tests (Depends-on): Add openat.
2947         * modules/fstatat-tests (Depends-on): Add openat-h.
2948         * modules/readlinkat-tests (Depends-on): Add openat.
2949         * modules/symlinkat-tests (Depends-on): Add openat.
2950
2951 2011-11-05  Bruno Haible  <bruno@clisp.org>
2952
2953         openat: Include <stdbool.h>.
2954         * lib/openat.c: Include <stdbool.h>.
2955
2956 2011-11-04  Bruno Haible  <bruno@clisp.org>
2957
2958         fchownat, renameat, unlinkat: Fix dependencies.
2959         * modules/fchownat (Depends-on): Add fstatat.
2960         * modules/renameat (Depends-on): Likewise.
2961         * modules/unlinkat (Depends-on): Likewise.
2962
2963 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
2964
2965         openat: remove direct dependency on dirent
2966         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
2967         and hasn't been needed ever since fdopendir was split into its own
2968         module on 2009-08-31.
2969         * modules/openat (Depends-on): Remove dirent.
2970
2971 2011-11-04  Bruno Haible  <bruno@clisp.org>
2972
2973         renameat: Optimize code size.
2974         * modules/renameat (configure.ac): Don't compile at-func2.c if
2975         REPLACE_RENAMEAT is 1.
2976
2977 2011-11-04  Bruno Haible  <bruno@clisp.org>
2978
2979         openat tests: Fix file list.
2980         * modules/openat-tests (Files): Add tests/test-open.h.
2981
2982 2011-11-04  Bruno Haible  <bruno@clisp.org>
2983
2984         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
2985         * modules/fchmodat (Depends-on): Add openat-die.
2986         * modules/fchownat (Depends-on): Likewise.
2987         * modules/linkat (Depends-on): Likewise.
2988         * modules/renameat (Depends-on): Likewise.
2989         * modules/openat (Depends-on): Add dirent.
2990
2991 2011-11-04  Jim Meyering  <meyering@redhat.com>
2992
2993         at-func*.c: fix comments
2994         * lib/at-func2.c: Correct/improve first-line comment.
2995         * lib/at-func.c: Correct grammar in first-line comment.
2996
2997 2011-11-04  Bruno Haible  <bruno@clisp.org>
2998
2999         New module 'mkdirat', split off from module 'openat'.
3000         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
3001         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
3002         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
3003         * modules/mkdirat: New file, extracted from modules/openat.
3004         * modules/openat (Files): Remove lib/mkdirat.c.
3005         (Depends-on): Remove mkdir.
3006         (configure.ac): Remove AC_LIBOBJ of mkdirat.
3007         (Include): Remove <sys/stat.h>.
3008         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
3009         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
3010         tests/test-mkdir.h.
3011         (Depends-on): Remove ignore-value.
3012         (Makefile.am): Remove rules for test-mkdirat.
3013         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
3014         of module 'openat'.
3015         * NEWS: Mention the change.
3016
3017 2011-11-04  Bruno Haible  <bruno@clisp.org>
3018
3019         closedir: Avoid warning on mingw.
3020         * lib/closedir.c: Include <unistd.h>.
3021
3022 2011-11-04  Bruno Haible  <bruno@clisp.org>
3023
3024         New module 'fstatat', split off from module 'openat'.
3025         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
3026         defined.
3027         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
3028         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
3029         gl_FUNC_FSTATAT.
3030         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
3031         * modules/fstatat: New file, extracted from modules/openat.
3032         * modules/openat (Files): Remove lib/fstatat.c.
3033         (Depends-on): Remove lstat.
3034         (configure.ac): Remove AC_LIBOBJ of fstatat.
3035         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
3036         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
3037         tests/test-lstat.h, tests/test-stat.h.
3038         (Depends-on): Remove getcwd-lgpl.
3039         (Makefile.am): Remove rules for test-fstatat.
3040         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
3041         of module 'openat'.
3042         * NEWS: Mention the change.
3043         * modules/getcwd (Depends-on): Add fstatat.
3044         * modules/linkat (Depends-on): Likewise.
3045         * modules/mkfifoat-tests (Depends-on): Likewise.
3046         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
3047
3048 2011-11-03  Bruno Haible  <bruno@clisp.org>
3049
3050         New module 'unlinkat', split off from module 'openat'.
3051         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
3052         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
3053         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
3054         * modules/unlinkat: New file, extracted from modules/openat. Correct
3055         the dependency conditions.
3056         * modules/openat (Files): Remove lib/unlinkat.c.
3057         (Depends-on): Remove rmdir, unlink.
3058         (configure.ac): Remove AC_LIBOBJ of unlinkat.
3059         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
3060         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
3061         tests/test-rmdir.h, tests/test-unlink.h.
3062         (Depends-on): Remove unlinkdir.
3063         (Makefile.am): Remove rules for test-unlinkat.
3064         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
3065         of module 'openat'.
3066         * NEWS: Mention the change.
3067         * modules/linkat-tests (Depends-on): Add unlinkat.
3068         * modules/mkfifoat-tests (Depends-on): Likewise.
3069         * modules/readlinkat-tests (Depends-on): Likewise.
3070
3071 2011-11-02  Bruno Haible  <bruno@clisp.org>
3072
3073         New module 'fchmodat', split off from module 'openat'.
3074         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
3075         defined.
3076         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
3077         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
3078         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
3079         * modules/fchmodat: New file, extracted from modules/openat.
3080         * modules/openat (Files): Remove lib/fchmodat.c.
3081         (configure.ac): Remove AC_LIBOBJ of fchmodat.
3082         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
3083         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
3084         (Makefile.am): Remove rules for test-fchmodat.
3085         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
3086         of module 'openat'.
3087         * NEWS: Mention the change.
3088
3089 2011-11-02  Jim Meyering  <meyering@redhat.com>
3090
3091         putenv: indent #definition of "environ" to placate cppi
3092         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
3093
3094         gitlog-to-changelog: provide a ChangeLog-repair mechanism
3095         Git logs are often treated as immutable, because editing them
3096         changes the SHA1 checksums of all descendants.  Thus, errors in
3097         git logs tend to stay there forever.  However, when we generate
3098         a ChangeLog file -- typically for distribution -- from that git log,
3099         we can actually make corrections in the generated file.  The key
3100         lies in recording in machine-readable/applicable form the desired
3101         corrections.  See --help for description and an example.
3102         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
3103         (usage): Describe it; alphabetize option descriptions.
3104         (main): Honor the new option, carefully.
3105
3106 2011-11-01  Jim Meyering  <meyering@redhat.com>
3107
3108         gitlog-to-changelog: avoid an infloop
3109         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
3110         that ends up being empty.
3111
3112 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
3113
3114         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
3115         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
3116         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
3117         contains (possibly-quoted) backslashes.  This should avoid
3118         all-too-common shell bugs if COMPLICATED contains backslashes in
3119         the "wrong" places.  Reported by David Evans in
3120         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
3121         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
3122         because we want ASCII ranges.  Is there some reason we don't use
3123         the C locale everywhere in this script?
3124         (func_module, top level): Avoid unwanted pathname expansion when
3125         $repo_url_prefix or $repo_url_suffix_repl contain shell
3126         metacharacters like '?' and '*'.
3127
3128 2011-11-01  Bruno Haible  <bruno@clisp.org>
3129
3130         fchownat: Improve description.
3131         * modules/fchownat (Description): Add link to function.
3132
3133 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
3134
3135         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
3136         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
3137         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
3138         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
3139
3140 2011-11-01  Bruno Haible  <bruno@clisp.org>
3141
3142         alignof: Avoid collision with stdalign module.
3143         * lib/alignof.h (alignof): Remove macro.
3144         * NEWS: Mention the change.
3145         Reported by Paul Eggert.
3146
3147 2011-11-01  Bruno Haible  <bruno@clisp.org>
3148
3149         New module 'fchownat', split off from module 'openat'.
3150         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
3151         defined.
3152         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
3153         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
3154         invoke gl_FUNC_FCHOWNAT.
3155         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
3156         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
3157         * modules/fchownat: New file, extracted from modules/openat.
3158         * modules/openat (Files): Remove lib/fchownat.c.
3159         (Depends-on): Remove lchown.
3160         (configure.ac): Remove AC_LIBOBJ of fchownat.
3161         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
3162         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
3163         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
3164         (Depends-on): Remove mgetgroups, usleep, stat-time.
3165         (configure.ac): Remove test for getegid.
3166         (Makefile.am): Remove rules for test-fchownat.
3167         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
3168         of module 'openat'.
3169         * NEWS: Mention the change.
3170
3171 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
3172
3173         stdalign: port better to MSVC and to Sun C 5.11
3174         This fixes some of the problems reported by Bruno Haible in
3175         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
3176         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
3177         shortcomings of MSVC and of Sun C 5.11.
3178         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
3179         around __declspec arg.
3180         * modules/stdalign-tests (Files): Add tests/macros.h.
3181         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
3182         Include macros.h, for ASSERT.
3183         (DECLARE_ALIGNED): Remove.
3184         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
3185         to catch bug), and to 1 if not (simplifies the rest of the code).
3186         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
3187         (CHECK_AUTO): Remove.
3188         (CHECK_ALIGNED): Check only the alignment of the static vars,
3189         since auto var alignment isn't supported by Sun C 5.11.
3190         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
3191         ASSERT failures are easier to diagnose.
3192
3193 2011-10-31  Bruno Haible  <bruno@clisp.org>
3194
3195         doc about some IRIX 5.3 problems.
3196         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
3197         on IRIX 5.3.
3198         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
3199         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
3200         5.3.
3201         * doc/posix-functions/grantpt.texi: Likewise.
3202         * doc/posix-functions/unlockpt.texi: Likewise.
3203         * doc/posix-functions/lgamma.texi: Likewise.
3204         * doc/posix-functions/nextafter.texi: Likewise.
3205         * doc/posix-functions/remainder.texi: Likewise.
3206         * doc/posix-functions/select.texi: Mention misplaced declaration on
3207         IRIX 5.3.
3208         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3209
3210 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
3211
3212         gitlog-to-changelog: fix git-log invocation.
3213         git-log mishandles date strings before 1970-01-01 UTC, and there is
3214         no use to specify --since=1970-01-01 by default anyway.
3215         * build-aux/gitlog-to-changelog: By default, when no --since option
3216         was given, do not specify explicit --since option to git-log.
3217
3218 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
3219
3220         gitlog-to-changelog: new option --append-dot.
3221         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
3222         first non-blank line of each commit message terminated with a dot.
3223
3224 2011-10-30  Bruno Haible  <bruno@clisp.org>
3225
3226         ffsl, ffsll: Avoid compilation error due to 'restrict'.
3227         * lib/ffsl.h: Include <config.h>.
3228         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
3229
3230 2011-10-30  Jim Meyering  <meyering@redhat.com>
3231
3232         GNUmakefile: reenable "make syntax-check" for most projects
3233         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
3234         build-aux variable", "syntax-check" would do nothing but succeed with
3235         the "No version control files detected..." diagnostic (unless you
3236         happened to override _build-aux via cfg.mk).
3237         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
3238         to precede inclusion of maint.mk.  Otherwise, these variables would
3239         be used undefined in any project that does not override the default.
3240
3241 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
3242
3243         gitlog-to-changelog: treat a message with only blank lines as empty.
3244         * build-aux/gitlog-to-changelog: Move the code that removes leading and
3245         trailing blank lines before the code that issues a warning about an
3246         empty commit message.
3247
3248 2011-10-30  Jim Meyering  <meyering@redhat.com>
3249
3250         test-parse-datetime.c: avoid new DST-related false positive test failure
3251         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
3252         based on the time/date we'll convert, not the current time.
3253         Otherwise, the moment we cross a DST boundary like today's in
3254         Europe, (CEST to CET), that offset ends up being one hour off.
3255
3256 2011-10-27  Bruno Haible  <bruno@clisp.org>
3257
3258         fstat: Tweak documentation.
3259         * modules/fstat (Description): More precise description.
3260
3261 2011-10-27  Bruno Haible  <bruno@clisp.org>
3262
3263         Update documentation regarding 'largefile' module.
3264         * doc/posix-functions/fstat.texi: Tweak wording.
3265         * doc/posix-functions/opendir.texi: Mention that the module fixes the
3266         problems with huge directories and/or small ino_t types.
3267         * doc/posix-functions/readdir.texi: Likewise.
3268         * doc/posix-functions/rewinddir.texi: Likewise.
3269
3270 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
3271
3272         maint.mk: don't maintain a second build-aux variable.
3273         * maint.mk (build_aux): Removed.  The maintainer-makefile module
3274         depends on GNUmakefile, which already maintains a cfg.mk
3275         overridable $(_build-aux) for projects with a non-standard
3276         build-aux directory location, although without the $(srcdir)
3277         prefix.  Use that variable consistently instead of introducing a
3278         second one.  Adjust all call sites.
3279
3280 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
3281
3282         Add stdalign module and use it in other modules.
3283         This is based on a previous proposal by Bruno Haible
3284         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
3285
3286         stdalign: new module
3287         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
3288         * modules/stdalign: New files.
3289         * MODULES.html.sh (c1x_core_properties): Add stdalign.
3290         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
3291
3292         stdalign-tests: new module
3293         * modules/stdalign-tests, tests/test-stdalign.c: New files.
3294
3295         argp: use stdalign
3296         * lib/argp-parse.c: Include <stdalign.h>.
3297         (alignof): Remove.
3298         * modules/argp (Depends-on): Add stdalign.
3299
3300         crypto libraries: use stdalign
3301         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
3302         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
3303         Do not include <stdlib.h> twice, in md4.c.
3304         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
3305         because we are accessing a pointer's bit-pattern, not a size.
3306         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
3307         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
3308         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
3309         * modules/crypto/sha512: Likewise.
3310
3311         sys_socket: use stdalign, not alignof
3312         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
3313         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
3314
3315 2011-10-27  Bruno Haible  <bruno@clisp.org>
3316
3317         raise test: Avoid a test failure on Linux/MIPS.
3318         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
3319         because 99 is a valid signal on Linux/MIPS.
3320
3321 2011-10-27  Bruno Haible  <bruno@clisp.org>
3322
3323         nonblocking tests: Fix test failure on Linux/MIPS.
3324         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
3325         Set to 270000.
3326
3327 2011-10-27  Bruno Haible  <bruno@clisp.org>
3328
3329         utimensat: Work around problem on Linux/hppa.
3330         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
3331         values.
3332         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
3333
3334 2011-10-25  Jim Meyering  <meyering@redhat.com>
3335
3336         maint.mk: fix a bug in sc_prohibit_stddef_without_use
3337         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
3338         after symbols like NULL, size_t, etc.
3339         Reported by Alfred M. Szmidt.
3340
3341         maint.mk: exempt ENODATA from a syntax-check rule
3342         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
3343         from the sc_prohibit_always-defined_macros syntax-check rule.
3344         Add a comment.  See this for more details:
3345         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
3346
3347 2011-10-23  Jim Meyering  <meyering@redhat.com>
3348
3349         fts: close parent dir FD before returning from post-traversal fts_read
3350         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
3351         unlink A, even though an FD open on A remained.  This is suboptimal
3352         (holding a file descriptor open longer than needed), but otherwise not
3353         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
3354         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
3355         that represents a real problem: it causes the removal of A to fail
3356         with e.g., "rm: cannot remove `A': Device or resource busy"
3357
3358         fts visits each directory twice and keeps a cache (fts_fd_ring) of
3359         directory file descriptors.  After completing the final, FTS_DP,
3360         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
3361         cache, but then proceeded to add a new FD to it via the subsequent
3362         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
3363         final file descriptor would be closed only via fts_close's call to
3364         fd_ring_clear.  Now, it is usually closed earlier, via the final
3365         FTS_DP-returning fts_read call.
3366         * lib/fts.c (restore_initial_cwd): New function, converted from
3367         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
3368         Update callers.
3369         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
3370         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
3371
3372 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
3373             Bruno Haible  <bruno@clisp.org>
3374             Jim Meyering  <jim@meyering.net>
3375
3376         readme-release: improve safety of release prep instructions.
3377         * README-release: Don't git pull all branches when only master
3378         is needed for the release process.
3379         Run make maintainer-clean before changing trees and merging.
3380         Don't try to run ./configure right after git pull in case files
3381         that influence the bootstrap process have changed, move the
3382         ./configure step to after running ./bootstrap.
3383         Don't bootstrap "one last time"... it's the first time!
3384
3385 2011-10-22  Bruno Haible  <bruno@clisp.org>
3386
3387         errno, strerror-override: Support for MSVC 10.
3388         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
3389         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
3390         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
3391         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
3392         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
3393         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
3394         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
3395         Assign values compatible with MSVC 10.
3396         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
3397         New macros.
3398         (GNULIB_defined_EWINSOCK): New macro.
3399         * lib/strerror-override.c (strerror_override): Update accordingly.
3400         * lib/strerror-override.h: Likewise.
3401         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
3402         longer equal to the corresponding errno value.
3403         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3404
3405 2011-10-22  Bruno Haible  <bruno@clisp.org>
3406
3407         perror: Recognize when test program crashes.
3408         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
3409         strerror, set gl_cv_func_perror_works to no.
3410         Reported by Daniel Richard G. <skunk@iskunk.org>.
3411
3412         perror: Fix indentation.
3413         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
3414
3415 2011-10-22  Bruno Haible  <bruno@clisp.org>
3416
3417         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
3418         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
3419         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
3420         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
3421         functions, not as a macro.
3422         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
3423         macros.
3424         (isfinite, isinf, isnan, signbit): Check overloaded functions and
3425         absence of macro.
3426         Suggested by Eric Blake.
3427         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3428
3429 2011-10-21  Bruno Haible  <bruno@clisp.org>
3430
3431         relocatable-prog-wrapper: Don't leave object files behind.
3432         * build-aux/install-reloc: Re-synchronize list of .o files to be
3433         removed with list of compilation units.
3434
3435 2011-10-20  Bruno Haible  <bruno@clisp.org>
3436
3437         openpty, posix_openpt: Remove code duplication.
3438         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
3439         * lib/openpty.c: Include <stdlib.h>.
3440         (openpty): Use posix_openpt on all platforms except IRIX.
3441         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
3442
3443 2011-10-20  Bruno Haible  <bruno@clisp.org>
3444
3445         unlockpt: Detect invalid argument.
3446         * lib/unlockpt.c: Include <fcntl.h>.
3447         (unlockpt): Check whether fd is valid, using fcntl().
3448         * modules/unlockpt (Depends-on): Add fcntl-h.
3449
3450 2011-10-20  Bruno Haible  <bruno@clisp.org>
3451
3452         openpty: Avoid compilation error on AIX 6.1.
3453         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
3454
3455 2011-10-20  Bruno Haible  <bruno@clisp.org>
3456
3457         posix_openpt: Support for OpenBSD.
3458         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
3459         (posix_openpt) [OpenBSD]: New code.
3460         * lib/grantpt.c: Include <fcntl.h>.
3461         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
3462         * modules/grantpt (Depends-on): Add fcntl-h.
3463
3464 2011-10-20  Bruno Haible  <bruno@clisp.org>
3465
3466         posix_openpt test: Coding style.
3467         * tests/test-posix_openpt.c: Use GNU coding style.
3468
3469 2011-10-20  Bruno Haible  <bruno@clisp.org>
3470
3471         grantpt: Support --avoid=pt_chown.
3472         * modules/grantpt (Files): Add lib/pty-private.h.
3473
3474 2011-10-20  Bruno Haible  <bruno@clisp.org>
3475
3476         posix_openpt: Fix autoconf macro.
3477         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
3478         unneeded check for _getpty.
3479
3480 2011-10-20  Bruno Haible  <bruno@clisp.org>
3481
3482         openpty: Update comments.
3483         * lib/openpty.c: Add comments about Minix.
3484
3485 2011-10-19  Eric Blake  <eblake@redhat.com>
3486
3487         openpty: relax license
3488         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
3489
3490         pt_chown: use configmake to simplify build
3491         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
3492
3493         ptsname and others: relax license
3494         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
3495         * modules/unlockpt (License): Likewise.
3496         * modules/pt_chown (License): Likewise.
3497         * modules/ptsname (License): Likewise.
3498         * modules/ttyname_r (License): Likewise.
3499
3500 2011-10-19  Jim Meyering  <meyering@redhat.com>
3501
3502         posix_openpt: remove spurious #endif
3503         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
3504
3505 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
3506
3507         maint.mk: Respect $(build_aux) in web-manual rule.
3508         * top/maint.mk (web-manual): Find gen-announce script in user's
3509         $(build_aux) directory instead of hard-coding 'build-aux'.
3510
3511 2011-10-19  Bruno Haible  <bruno@clisp.org>
3512
3513         posix_openpt: Fix compilation error.
3514         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
3515         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
3516         Mention the openpty module as an alternative.
3517
3518 2011-10-19  Bruno Haible  <bruno@clisp.org>
3519
3520         Support for old NeXTstep 3.3 frexp().
3521         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
3522         execution time of the test to 5 seconds.
3523         Reported by Daniel Richard G. <skunk@iskunk.org>.
3524
3525 2011-10-19  Bruno Haible  <bruno@clisp.org>
3526
3527         Support for old NeXTstep 3.3 sed.
3528         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
3529         part, use /.../, not \|...|. Escape periods in the header file name.
3530         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
3531         Reported by Daniel Richard G. <skunk@iskunk.org>.
3532
3533 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
3534
3535         Support for old NeXTstep 3.3 gcc.
3536         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
3537         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
3538         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
3539         * lib/spawn.in.h (_Restrict_arr_): Likewise.
3540         * lib/regex.h (_Restrict_arr_): Likewise.
3541         * lib/regex_internal.h (re_token_t): Likewise.
3542         * lib/regexec.c (check_node_accept_bytes): Likewise.
3543         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
3544
3545 2011-10-18  Eric Blake  <eblake@redhat.com>
3546
3547         posix_openpt: new module
3548         * modules/posix_openpt: New module.
3549         * m4/posix_openpt.m4: New file.
3550         * lib/posix_openpt.c: Likewise.
3551         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
3552         (gl_STDLIB_H_DEFAULTS): Set defaults.
3553         * modules/stdlib (Makefile.am): Substitute macros.
3554         * lib/stdlib.in.h (posix_openpt): Declare.
3555         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
3556         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
3557         * modules/posix_openpt-tests: New test module.
3558         * tests/test-posix_openpt.c: New test.
3559
3560 2011-10-15  Bruno Haible  <bruno@clisp.org>
3561
3562         xstrtoll: Fix compilation failure.
3563         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
3564         from lib/strtol.c.
3565         * doc/posix-headers/limits.texi: Mention missing numerical limits on
3566         some platforms.
3567         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3568
3569 2011-10-15  Bruno Haible  <bruno@clisp.org>
3570
3571         vasnprintf: Optimize bit search operation.
3572         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
3573         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
3574         gl_DOUBLE_EXPONENT_LOCATION.
3575         * modules/vasnprintf (Files): Add m4/exponentd.m4.
3576         * modules/unistdio/u8-vasnprintf (Files): Likewise.
3577         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
3578         * modules/unistdio/u16-vasnprintf (Files): Likewise.
3579         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
3580         * modules/unistdio/u32-vasnprintf (Files): Likewise.
3581         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
3582         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
3583         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
3584
3585 2011-10-15  Bruno Haible  <bruno@clisp.org>
3586
3587         vasnprintf: Fix comments.
3588         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
3589
3590 2011-10-14  Bruno Haible  <bruno@clisp.org>
3591
3592         Tests for module 'integer_length_ll'.
3593         * modules/integer_length_ll-tests: New file.
3594         * tests/test-integer_length_ll.c: New file.
3595
3596         New module 'integer_length_ll'.
3597         * lib/integer_length_ll.c: New file.
3598         * modules/integer_length_ll: New file.
3599
3600 2011-10-14  Bruno Haible  <bruno@clisp.org>
3601
3602         Tests for module 'integer_length_l'.
3603         * modules/integer_length_l-tests: New file.
3604         * tests/test-integer_length_l.c: New file.
3605
3606         New module 'integer_length_l'.
3607         * lib/integer_length_l.c: New file.
3608         * modules/integer_length_l: New file.
3609
3610 2011-10-14  Bruno Haible  <bruno@clisp.org>
3611
3612         Tests for module 'integer_length'.
3613         * modules/integer_length-tests: New file.
3614         * tests/test-integer_length.c: New file.
3615
3616         New module 'integer_length'.
3617         * lib/integer_length.h: New file.
3618         * lib/integer_length.c: New file.
3619         * modules/integer_length: New file.
3620
3621 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
3622
3623         popen: Fix dependency conditions.
3624         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
3625
3626 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
3627
3628         perror: Fix autoconf test.
3629         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
3630         <stdlib.h> and <string.h>.
3631
3632 2011-10-14  Bruno Haible  <bruno@clisp.org>
3633
3634         ffsl: Optimize on 64-bit platforms.
3635         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
3636         unrolling.
3637
3638 2011-10-13  Bruno Haible  <bruno@clisp.org>
3639
3640         ffsl: Optimize on 32-bit platforms.
3641         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
3642         use ffs() without a loop.
3643
3644         ffsl, ffsll: Optimize for GCC.
3645         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
3646         * lib/ffsl.c (GCC_BUILTIN): New macro.
3647         * lib/ffsll.c (GCC_BUILTIN): Likewise.
3648
3649 2011-10-13  Bruno Haible  <bruno@clisp.org>
3650
3651         ffs, bcopy, memset: Support symbol renaming via config.h.
3652         * lib/ffs.c: Include <config.h>.
3653         * lib/bcopy.c: Likewise.
3654         * lib/memset.c: Likewise.
3655
3656 2011-10-10  Bruno Haible  <bruno@clisp.org>
3657
3658         atanl: Simplify for platforms where 'long double' == 'double'.
3659         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3660         alternative implementation.
3661         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3662         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3663         * modules/atanl (Depends-on): Add atan. Update conditions.
3664
3665 2011-10-10  Bruno Haible  <bruno@clisp.org>
3666
3667         acosl: Simplify for platforms where 'long double' == 'double'.
3668         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3669         alternative implementation.
3670         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3671         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3672         * modules/acosl (Depends-on): Add acos. Update conditions.
3673
3674 2011-10-10  Bruno Haible  <bruno@clisp.org>
3675
3676         asinl: Simplify for platforms where 'long double' == 'double'.
3677         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3678         alternative implementation.
3679         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3680         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3681         * modules/asinl (Depends-on): Add asin. Update conditions.
3682
3683 2011-10-10  Bruno Haible  <bruno@clisp.org>
3684
3685         tanl: Simplify for platforms where 'long double' == 'double'.
3686         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3687         implementation.
3688         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3689         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3690         * modules/tanl (Depends-on): Add tan. Update conditions.
3691         (configure.ac): Don't compile trigl.c if
3692         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3693
3694 2011-10-10  Bruno Haible  <bruno@clisp.org>
3695
3696         cosl: Simplify for platforms where 'long double' == 'double'.
3697         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3698         implementation.
3699         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3700         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3701         * modules/cosl (Depends-on): Add cos. Update conditions.
3702         (configure.ac): Don't compile sincosl.c and trigl.c if
3703         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3704
3705 2011-10-10  Bruno Haible  <bruno@clisp.org>
3706
3707         sinl: Simplify for platforms where 'long double' == 'double'.
3708         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3709         implementation.
3710         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3711         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3712         * modules/sinl (Depends-on): Add sin. Update conditions.
3713         (configure.ac): Don't compile sincosl.c and trigl.c if
3714         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3715
3716 2011-10-10  Bruno Haible  <bruno@clisp.org>
3717
3718         logl: Simplify for platforms where 'long double' == 'double'.
3719         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3720         implementation.
3721         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3722         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3723         * modules/logl (Depends-on): Add log. Update conditions.
3724
3725 2011-10-10  Bruno Haible  <bruno@clisp.org>
3726
3727         expl: Simplify for platforms where 'long double' == 'double'.
3728         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3729         implementation.
3730         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3731         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3732         * modules/expl (Depends-on): Add exp. Update conditions.
3733
3734 2011-10-10  Bruno Haible  <bruno@clisp.org>
3735
3736         sqrtl: Simplify for platforms where 'long double' == 'double'.
3737         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3738         alternative implementation.
3739         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3740         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3741         * modules/sqrtl (Depends-on): Update conditions.
3742
3743 2011-10-10  Bruno Haible  <bruno@clisp.org>
3744
3745         ldexpl: Simplify for platforms where 'long double' == 'double'.
3746         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3747         alternative implementation.
3748         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3749         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3750         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
3751
3752 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
3753
3754         ffsll: set correct witness
3755         * modules/ffsll (configure.ac): Fix typo.
3756
3757 2011-10-10  Bruno Haible  <bruno@clisp.org>
3758
3759         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
3760         * lib/printf-frexpl.c: Include <config.h>.
3761         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3762         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
3763         second time.
3764         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
3765         gl_LONG_DOUBLE_VS_DOUBLE.
3766         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
3767         conditions.
3768
3769 2011-10-10  Bruno Haible  <bruno@clisp.org>
3770
3771         frexpl: Simplify for platforms where 'long double' == 'double'.
3772         * lib/frexpl.c: Include <config.h>.
3773         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3774         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3775         time.
3776         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3777         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3778         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
3779         * modules/frexpl (Depends-on): Add frexp. Update conditions.
3780         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
3781         conditions.
3782
3783 2011-10-10  Jim Meyering  <meyering@redhat.com>
3784
3785         test-renameat: don't leave behind a temporary file
3786         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
3787           ERROR: files left in build directory after distclean:
3788           ./gltests/test-renameat.too
3789           make[1]: *** [distcleancheck] Error 1
3790         Reported by Tom G. Christensen.
3791
3792 2011-10-09  Bruno Haible  <bruno@clisp.org>
3793
3794         rint: Determine RINT_LIBM correctly on AIX 7.
3795         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
3796         directly, not only through a function pointer. Also accept an optional
3797         4th argument with extra code.
3798         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
3799         rintf() call by gcc when optimizing.
3800
3801         mathfunc.m4: Refactor.
3802         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
3803         m4 variable.
3804
3805 2011-10-09  Bruno Haible  <bruno@clisp.org>
3806
3807         rintl: Simplify for platforms where 'long double' == 'double'.
3808         * lib/rintl.c: Include <config.h>.
3809         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3810         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3811         time.
3812         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3813         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3814         * modules/rintl (Depends-on): Add rint. Update conditions.
3815
3816 2011-10-09  Bruno Haible  <bruno@clisp.org>
3817
3818         roundl: Simplify for platforms where 'long double' == 'double'.
3819         * lib/roundl.c: Include <config.h>.
3820         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3821         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3822         time.
3823         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3824         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3825         * modules/roundl (Depends-on): Add round. Update conditions.
3826
3827 2011-10-09  Bruno Haible  <bruno@clisp.org>
3828
3829         truncl: Simplify for platforms where 'long double' == 'double'.
3830         * lib/truncl.c: Include <config.h>.
3831         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3832         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3833         time.
3834         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3835         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3836         * modules/truncl (Depends-on): Add trunc. Update conditions.
3837
3838 2011-10-09  Bruno Haible  <bruno@clisp.org>
3839
3840         ceill: Simplify for platforms where 'long double' == 'double'.
3841         * lib/ceill.c: Include <config.h>.
3842         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3843         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3844         time.
3845         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3846         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3847         * modules/ceill (Depends-on): Add ceil. Update conditions.
3848
3849 2011-10-09  Bruno Haible  <bruno@clisp.org>
3850
3851         floorl: Simplify for platforms where 'long double' == 'double'.
3852         * lib/floorl.c: Include <config.h>.
3853         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3854         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3855         time.
3856         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3857         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3858         * modules/floorl (Depends-on): Add floor. Update conditions.
3859
3860 2011-10-09  Bruno Haible  <bruno@clisp.org>
3861
3862         rint: Fix ordering constraints.
3863         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
3864         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
3865         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
3866
3867 2011-10-09  Bruno Haible  <bruno@clisp.org>
3868
3869         copysignl: Simplify for platforms where 'long double' == 'double'.
3870         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3871         alternative.
3872         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3873         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3874         * modules/copysignl (Depends-on): Add copysign. Update conditions.
3875
3876 2011-10-09  Bruno Haible  <bruno@clisp.org>
3877
3878         Tests for module 'rintl'.
3879         * modules/rintl-tests: New file.
3880         * tests/test-rintl.c: New file.
3881
3882         New module 'rintl'.
3883         * lib/math.in.h (rintl): New declaration.
3884         * lib/rintl.c: New file.
3885         * m4/rintl.m4: New file.
3886         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
3887         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
3888         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
3889         * modules/rintl: New file.
3890         * tests/test-math-c++.cc: Check the declaration of rintl.
3891         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
3892         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
3893         * doc/posix-functions/rintl.texi: Mention the new module.
3894
3895 2011-10-09  Bruno Haible  <bruno@clisp.org>
3896
3897         Tests for module 'rintf'.
3898         * modules/rintf-tests: New file.
3899         * tests/test-rintf.c: New file.
3900
3901         New module 'rintf'.
3902         * lib/math.in.h (rintf): New declaration.
3903         * lib/rintf.c: New file.
3904         * m4/rintf.m4: New file.
3905         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
3906         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
3907         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
3908         * modules/rintf: New file.
3909         * tests/test-math-c++.cc: Check the declaration of rintf.
3910         * doc/posix-functions/rintf.texi: Mention the new module.
3911
3912 2011-10-09  Bruno Haible  <bruno@clisp.org>
3913
3914         rint: Support for MSVC.
3915         * lib/math.in.h (rint): New declaration.
3916         * lib/rint.c: New file.
3917         * m4/rint.m4: New file.
3918         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
3919         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
3920         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
3921         * modules/rint (Description): Fix.
3922         (Files): Add lib/rint.c, m4/rint.m4.
3923         (Depends-on): Add math.
3924         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
3925         gl_MATH_MODULE_INDICATOR.
3926         * tests/test-math-c++.cc: Check the declaration of rint.
3927         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
3928         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
3929         * doc/posix-functions/rint.texi: Mention the replacement provided by
3930         the module.
3931
3932         rint tests: More tests.
3933         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
3934         minus-zero.h, infinity.h, nan.h.
3935         (main): Skip the test if the current rounding mode is not standard. Add
3936         tests for negative numbers, minus zero, infinity, NaN.
3937         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
3938         tests/nan.h.
3939         (Depends-on): Add isnand-nolibm.
3940
3941 2011-10-09  Bruno Haible  <bruno@clisp.org>
3942
3943         Tests for module 'copysignl'.
3944         * modules/copysignl-tests: New file.
3945         * tests/test-copysignl.c: New file.
3946
3947         New module 'copysignl'.
3948         * lib/math.in.h (copysignl): New declaration.
3949         * lib/copysignl.c: New file.
3950         * m4/copysignl.m4: New file.
3951         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
3952         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
3953         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
3954         HAVE_COPYSIGNL.
3955         * modules/copysignl: New file.
3956         * tests/test-math-c++.cc: Check the declaration of copysignl.
3957         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
3958         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
3959         * doc/posix-functions/copysignl.texi: Mention the new module.
3960
3961 2011-10-09  Bruno Haible  <bruno@clisp.org>
3962
3963         Tests for module 'copysignf'.
3964         * modules/copysignf-tests: New file.
3965         * tests/test-copysignf.c: New file.
3966
3967         New module 'copysignf'.
3968         * lib/math.in.h (copysignf): New declaration.
3969         * lib/copysignf.c: New file.
3970         * m4/copysignf.m4: New file.
3971         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
3972         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
3973         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
3974         HAVE_COPYSIGNF.
3975         * modules/copysignf: New file.
3976         * tests/test-math-c++.cc: Check the declaration of copysignf.
3977         * doc/posix-functions/copysignf.texi: Mention the new module.
3978
3979 2011-10-09  Bruno Haible  <bruno@clisp.org>
3980
3981         Ensure that HAVE_* variables are set to 1 before they are set to 0.
3982         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
3983         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
3984         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3985         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
3986         gl_SIGNAL_H_DEFAULTS.
3987
3988 2011-10-09  Bruno Haible  <bruno@clisp.org>
3989
3990         poll: Make macro safer.
3991         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
3992         ac_cv_header_poll_h is not set.
3993
3994 2011-10-09  Bruno Haible  <bruno@clisp.org>
3995
3996         copysign: Provide replacement.
3997         * lib/math.in.h (copysign): New declaration.
3998         * lib/copysign.c: New file.
3999         * m4/copysign.m4: New file.
4000         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
4001         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
4002         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
4003         HAVE_COPYSIGN.
4004         * modules/copysign (Description): Clarify.
4005         (Files): Add lib/copysign.c, m4/copysign.m4.
4006         (Depends-on): Add math, signbit.
4007         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
4008         gl_MATH_MODULE_INDICATOR.
4009         * tests/test-math-c++.cc: Check the declaration of copysign.
4010         * doc/posix-functions/copysign.texi: Mention the effects of the module
4011         on Minix and MSVC.
4012
4013 2011-10-09  Bruno Haible  <bruno@clisp.org>
4014
4015         isinf: Ensure macro on AIX 5.1.
4016         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
4017         macro.
4018         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
4019
4020 2011-10-09  Bruno Haible  <bruno@clisp.org>
4021
4022         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
4023         * modules/snprintf-posix-tests (configure.ac): Require
4024         gl_LONG_DOUBLE_VS_DOUBLE.
4025         * modules/sprintf-posix-tests (configure.ac): Likewise.
4026         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
4027         * modules/vasprintf-posix-tests (configure.ac): Likewise.
4028         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
4029         * modules/vsprintf-posix-tests (configure.ac): Likewise.
4030         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
4031         tests on platforms where 'long double' is the same as 'double'.
4032         * tests/test-sprintf-posix.h (test_function): Likewise.
4033         * tests/test-vasnprintf-posix.c (test_function): Likewise.
4034         * tests/test-vasprintf-posix.c (test_function): Likewise.
4035
4036         *printf: Fix for platforms where 'long double' == 'double'.
4037         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
4038         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
4039         * modules/dprintf-posix (Files): Add m4/math_h.m4.
4040         * modules/fprintf-posix (Files): Likewise.
4041         * modules/obstack-printf-posix (Files): Likewise.
4042         * modules/snprintf-posix (Files): Likewise.
4043         * modules/sprintf-posix (Files): Likewise.
4044         * modules/vasnprintf (Files): Likewise.
4045         * modules/vasnprintf-posix (Files): Likewise.
4046         * modules/vasprintf-posix (Files): Likewise.
4047         * modules/vdprintf-posix (Files): Likewise.
4048         * modules/vfprintf-posix (Files): Likewise.
4049         * modules/vsnprintf-posix (Files): Likewise.
4050         * modules/vsprintf-posix (Files): Likewise.
4051         * modules/unistdio/u8-vasnprintf (Files): Likewise.
4052         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
4053         * modules/unistdio/u16-vasnprintf (Files): Likewise.
4054         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
4055         * modules/unistdio/u32-vasnprintf (Files): Likewise.
4056         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
4057         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
4058
4059         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
4060         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
4061         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4062         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
4063         'long double'.
4064         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
4065
4066         isinf: Fix for platforms where 'long double' == 'double'.
4067         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
4068         Don't blindly assume 80-bit 'long double'.
4069
4070         isfinite: Fix for platforms where 'long double' == 'double'.
4071         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
4072         Don't blindly assume 80-bit 'long double'.
4073
4074         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
4075         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
4076         * modules/isfinite-tests (configure.ac): Require
4077         gl_LONG_DOUBLE_VS_DOUBLE.
4078         * modules/isinf-tests (configure.ac): Likewise.
4079         * modules/isnan-tests (configure.ac): Likewise.
4080         * modules/isnanl-tests (configure.ac): Likewise.
4081         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
4082         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
4083         tests on platforms where 'long double' is the same as 'double'.
4084         * tests/test-isinf.c (test_isinfl): Likewise.
4085         * tests/test-isnan.c (test_long_double): Likewise.
4086         * tests/test-isnanl.h (main): Likewise.
4087
4088 2011-10-08  Bruno Haible  <bruno@clisp.org>
4089
4090         Tests for module 'tanhf'.
4091         * modules/tanhf-tests: New file.
4092         * tests/test-tanhf.c: New file.
4093
4094         New module 'tanhf'.
4095         * lib/math.in.h (tanhf): New declaration.
4096         * lib/tanhf.c: New file.
4097         * m4/tanhf.m4: New file.
4098         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
4099         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
4100         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
4101         * modules/tanhf: New file.
4102         * tests/test-math-c++.cc: Check the declaration of tanhf.
4103         * doc/posix-functions/tanhf.texi: Mention the new module.
4104
4105         tanh: Use a .m4 file.
4106         * m4/tanh.m4: New file.
4107         * modules/tanh (Files): Add it.
4108         (configure.ac): Just invoke gl_FUNC_TANH.
4109
4110 2011-10-08  Bruno Haible  <bruno@clisp.org>
4111
4112         Tests for module 'coshf'.
4113         * modules/coshf-tests: New file.
4114         * tests/test-coshf.c: New file.
4115
4116         New module 'coshf'.
4117         * lib/math.in.h (coshf): New declaration.
4118         * lib/coshf.c: New file.
4119         * m4/coshf.m4: New file.
4120         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
4121         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
4122         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
4123         * modules/coshf: New file.
4124         * tests/test-math-c++.cc: Check the declaration of coshf.
4125         * doc/posix-functions/coshf.texi: Mention the new module.
4126
4127         cosh: Use a .m4 file.
4128         * m4/cosh.m4: New file.
4129         * modules/cosh (Files): Add it.
4130         (configure.ac): Just invoke gl_FUNC_COSH.
4131
4132 2011-10-08  Bruno Haible  <bruno@clisp.org>
4133
4134         Tests for module 'sinhf'.
4135         * modules/sinhf-tests: New file.
4136         * tests/test-sinhf.c: New file.
4137
4138         New module 'sinhf'.
4139         * lib/math.in.h (sinhf): New declaration.
4140         * lib/sinhf.c: New file.
4141         * m4/sinhf.m4: New file.
4142         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
4143         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
4144         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
4145         * modules/sinhf: New file.
4146         * tests/test-math-c++.cc: Check the declaration of sinhf.
4147         * doc/posix-functions/sinhf.texi: Mention the new module.
4148
4149         sinh: Use a .m4 file.
4150         * m4/sinh.m4: New file.
4151         * modules/sinh (Files): Add it.
4152         (configure.ac): Just invoke gl_FUNC_SINH.
4153
4154 2011-10-08  Bruno Haible  <bruno@clisp.org>
4155
4156         Tests for module 'atan2f'.
4157         * modules/atan2f-tests: New file.
4158         * tests/test-atan2f.c: New file.
4159
4160         New module 'atan2f'.
4161         * lib/math.in.h (atan2f): New declaration.
4162         * lib/atan2f.c: New file.
4163         * m4/atan2f.m4: New file.
4164         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
4165         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
4166         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
4167         * modules/atan2f: New file.
4168         * tests/test-math-c++.cc: Check the declaration of atan2f.
4169         * doc/posix-functions/atan2f.texi: Mention the new module.
4170
4171         atan2: Use a .m4 file.
4172         * m4/atan2.m4: New file.
4173         * modules/atan2 (Files): Add it.
4174         (configure.ac): Just invoke gl_FUNC_ATAN2.
4175
4176 2011-10-08  Bruno Haible  <bruno@clisp.org>
4177
4178         Tests for module 'atanf'.
4179         * modules/atanf-tests: New file.
4180         * tests/test-atanf.c: New file.
4181
4182         New module 'atanf'.
4183         * lib/math.in.h (atanf): New declaration.
4184         * lib/atanf.c: New file.
4185         * m4/atanf.m4: New file.
4186         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
4187         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
4188         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
4189         * modules/atanf: New file.
4190         * tests/test-math-c++.cc: Check the declaration of atanf.
4191         * doc/posix-functions/atanf.texi: Mention the new module.
4192
4193         atan: Use a .m4 file.
4194         * m4/atan.m4: New file.
4195         * modules/atan (Files): Add it.
4196         (configure.ac): Just invoke gl_FUNC_ATAN.
4197
4198 2011-10-08  Bruno Haible  <bruno@clisp.org>
4199
4200         Tests for module 'acosf'.
4201         * modules/acosf-tests: New file.
4202         * tests/test-acosf.c: New file.
4203
4204         New module 'acosf'.
4205         * lib/math.in.h (acosf): New declaration.
4206         * lib/acosf.c: New file.
4207         * m4/acosf.m4: New file.
4208         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
4209         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
4210         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
4211         * modules/acosf: New file.
4212         * tests/test-math-c++.cc: Check the declaration of acosf.
4213         * doc/posix-functions/acosf.texi: Mention the new module.
4214
4215         acos: Use a .m4 file.
4216         * m4/acos.m4: New file.
4217         * modules/acos (Files): Add it.
4218         (configure.ac): Just invoke gl_FUNC_ACOS.
4219
4220 2011-10-08  Bruno Haible  <bruno@clisp.org>
4221
4222         Tests for module 'asinf'.
4223         * modules/asinf-tests: New file.
4224         * tests/test-asinf.c: New file.
4225
4226         New module 'asinf'.
4227         * lib/math.in.h (asinf): New declaration.
4228         * lib/asinf.c: New file.
4229         * m4/asinf.m4: New file.
4230         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
4231         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
4232         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
4233         * modules/asinf: New file.
4234         * tests/test-math-c++.cc: Check the declaration of asinf.
4235         * doc/posix-functions/asinf.texi: Mention the new module.
4236
4237         asin: Use a .m4 file.
4238         * m4/asin.m4: New file.
4239         * modules/asin (Files): Add it.
4240         (configure.ac): Just invoke gl_FUNC_ASIN.
4241
4242 2011-10-08  Bruno Haible  <bruno@clisp.org>
4243
4244         Tests for module 'tanf'.
4245         * modules/tanf-tests: New file.
4246         * tests/test-tanf.c: New file.
4247
4248         New module 'tanf'.
4249         * lib/math.in.h (tanf): New declaration.
4250         * lib/tanf.c: New file.
4251         * m4/tanf.m4: New file.
4252         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
4253         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
4254         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
4255         * modules/tanf: New file.
4256         * tests/test-math-c++.cc: Check the declaration of tanf.
4257         * doc/posix-functions/tanf.texi: Mention the new module.
4258
4259         tan: Use a .m4 file.
4260         * m4/tan.m4: New file.
4261         * modules/tan (Files): Add it.
4262         (configure.ac): Just invoke gl_FUNC_TAN.
4263
4264 2011-10-08  Bruno Haible  <bruno@clisp.org>
4265
4266         Tests for module 'cosf'.
4267         * modules/cosf-tests: New file.
4268         * tests/test-cosf.c: New file.
4269
4270         New module 'cosf'.
4271         * lib/math.in.h (cosf): New declaration.
4272         * lib/cosf.c: New file.
4273         * m4/cosf.m4: New file.
4274         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
4275         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
4276         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
4277         * modules/cosf: New file.
4278         * tests/test-math-c++.cc: Check the declaration of cosf.
4279         * doc/posix-functions/cosf.texi: Mention the new module.
4280
4281         cos: Use a .m4 file.
4282         * m4/cos.m4: New file.
4283         * modules/cos (Files): Add it.
4284         (configure.ac): Just invoke gl_FUNC_COS.
4285
4286 2011-10-08  Bruno Haible  <bruno@clisp.org>
4287
4288         Tests for module 'sinf'.
4289         * modules/sinf-tests: New file.
4290         * tests/test-sinf.c: New file.
4291
4292         New module 'sinf'.
4293         * lib/math.in.h (sinf): New declaration.
4294         * lib/sinf.c: New file.
4295         * m4/sinf.m4: New file.
4296         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
4297         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
4298         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
4299         * modules/sinf: New file.
4300         * tests/test-math-c++.cc: Check the declaration of sinf.
4301         * doc/posix-functions/sinf.texi: Mention the new module.
4302
4303         sin: Use a .m4 file.
4304         * m4/sin.m4: New file.
4305         * modules/sin (Files): Add it.
4306         (configure.ac): Just invoke gl_FUNC_SIN.
4307
4308 2011-10-08  Bruno Haible  <bruno@clisp.org>
4309
4310         Tests for module 'powf'.
4311         * modules/powf-tests: New file.
4312         * tests/test-powf.c: New file.
4313
4314         New module 'powf'.
4315         * lib/math.in.h (powf): New declaration.
4316         * lib/powf.c: New file.
4317         * m4/powf.m4: New file.
4318         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
4319         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
4320         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
4321         * modules/powf: New file.
4322         * tests/test-math-c++.cc: Check the declaration of powf.
4323         * doc/posix-functions/powf.texi: Mention the new module.
4324
4325         pow: Use a .m4 file.
4326         * m4/pow.m4: New file.
4327         * modules/pow (Files): Add it.
4328         (configure.ac): Just invoke gl_FUNC_POW.
4329
4330 2011-10-08  Bruno Haible  <bruno@clisp.org>
4331
4332         Tests for module 'log10f'.
4333         * modules/log10f-tests: New file.
4334         * tests/test-log10f.c: New file.
4335
4336         New module 'log10f'.
4337         * lib/math.in.h (log10f): New declaration.
4338         * lib/log10f.c: New file.
4339         * m4/log10f.m4: New file.
4340         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
4341         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
4342         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
4343         * modules/log10f: New file.
4344         * tests/test-math-c++.cc: Check the declaration of log10f.
4345         * doc/posix-functions/log10f.texi: Mention the new module.
4346
4347         log10: Use a .m4 file.
4348         * m4/log10.m4: New file.
4349         * modules/log10 (Files): Add it.
4350         (configure.ac): Just invoke gl_FUNC_LOG10.
4351
4352 2011-10-08  Bruno Haible  <bruno@clisp.org>
4353
4354         Tests for module 'logf'.
4355         * modules/logf-tests: New file.
4356         * tests/test-logf.c: New file.
4357
4358         New module 'logf'.
4359         * lib/math.in.h (logf): New declaration.
4360         * lib/logf.c: New file.
4361         * m4/logf.m4: New file.
4362         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
4363         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
4364         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
4365         * modules/logf: New file.
4366         * tests/test-math-c++.cc: Check the declaration of logf.
4367         * doc/posix-functions/logf.texi: Mention the new module.
4368
4369         log: Use a .m4 file.
4370         * m4/log.m4: New file.
4371         * modules/log (Files): Add it.
4372         (configure.ac): Just invoke gl_FUNC_LOG.
4373
4374 2011-10-08  Bruno Haible  <bruno@clisp.org>
4375
4376         Tests for module 'expf'.
4377         * modules/expf-tests: New file.
4378         * tests/test-expf.c: New file.
4379
4380         New module 'expf'.
4381         * lib/math.in.h (expf): New declaration.
4382         * lib/expf.c: New file.
4383         * m4/expf.m4: New file.
4384         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
4385         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
4386         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
4387         * modules/expf: New file.
4388         * tests/test-math-c++.cc: Check the declaration of expf.
4389         * doc/posix-functions/expf.texi: Mention the new module.
4390
4391         exp: Use a .m4 file.
4392         * m4/exp.m4: New file.
4393         * modules/exp (Files): Add it.
4394         (configure.ac): Just invoke gl_FUNC_EXP.
4395
4396 2011-10-08  Bruno Haible  <bruno@clisp.org>
4397
4398         Tests for module 'sqrtf'.
4399         * modules/sqrtf-tests: New file.
4400         * tests/test-sqrtf.c: New file.
4401
4402         New module 'sqrtf'.
4403         * lib/math.in.h (sqrtf): New declaration.
4404         * lib/sqrtf.c: New file.
4405         * m4/sqrtf.m4: New file.
4406         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
4407         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
4408         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
4409         * modules/sqrtf: New file.
4410         * tests/test-math-c++.cc: Check the declaration of sqrtf.
4411         * doc/posix-functions/sqrtf.texi: Mention the new module.
4412
4413 2011-10-08  Bruno Haible  <bruno@clisp.org>
4414
4415         Tests: Avoid link failures w.r.t. libintl.
4416         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
4417         $(LIBINTL).
4418         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
4419         $(LIBINTL).
4420         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
4421         against $(LIBINTL).
4422         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
4423         $(LIBINTL).
4424         * modules/openat-tests (Makefile.am): Link test-fchmodat against
4425         $(LIBINTL).
4426         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
4427
4428 2011-10-08  Bruno Haible  <bruno@clisp.org>
4429
4430         pow tests: Defeat compiler optimizations.
4431         * tests/test-pow.c (main): Assign arguments to x and y before use.
4432
4433 2011-10-08  Bruno Haible  <bruno@clisp.org>
4434
4435         gnulib-tool: Improve last commit.
4436         * gnulib-tool (func_modules_transitive_closure): Simplify code.
4437         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
4438         ignore dependencies that are not among the modules list.
4439
4440 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
4441
4442         gnulib-tool: don't follow dependencies to avoided modules
4443         This fixes a bug that is related to the previous one.
4444         * gnulib-tool (func_modules_transitive_closure)
4445         (func_emit_autoconf_snippets):
4446         Check whether a dependency is acceptable before using it.
4447         (--extract-dependencies): Report an error if --avoid is also used,
4448         since this combination of options is not yet supported.
4449
4450         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
4451         Problem reported by Peter Dyballa in
4452         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
4453         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
4454         when echoing "$condition".
4455
4456 2011-10-07  Bruno Haible  <bruno@clisp.org>
4457
4458         Fix documentation about math functions on MacOS X.
4459         * doc/posix-functions/exp2.texi: Don't say the function is missing on
4460         MacOS X 10.5.
4461         * doc/posix-functions/fdim.texi: Likewise.
4462         * doc/posix-functions/feclearexcept.texi: Likewise.
4463         * doc/posix-functions/fegetenv.texi: Likewise.
4464         * doc/posix-functions/fegetround.texi: Likewise.
4465         * doc/posix-functions/feholdexcept.texi: Likewise.
4466         * doc/posix-functions/feraiseexcept.texi: Likewise.
4467         * doc/posix-functions/fesetenv.texi: Likewise.
4468         * doc/posix-functions/fesetround.texi: Likewise.
4469         * doc/posix-functions/fetestexcept.texi: Likewise.
4470         * doc/posix-functions/feupdateenv.texi: Likewise.
4471         * doc/posix-functions/fmax.texi: Likewise.
4472         * doc/posix-functions/fmin.texi: Likewise.
4473         * doc/posix-functions/log2.texi: Likewise.
4474         * doc/posix-functions/modff.texi: Likewise.
4475         * doc/posix-functions/nan.texi: Likewise.
4476         * doc/posix-functions/nanf.texi: Likewise.
4477         * doc/posix-functions/nextafterf.texi: Likewise.
4478         * doc/posix-functions/remquo.texi: Likewise.
4479
4480 2011-10-07  Bruno Haible  <bruno@clisp.org>
4481
4482         modff: Drop assumption about library that defines modff.
4483         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
4484         AC_CHECK_FUNCS.
4485         * modules/modff (Files): Add m4/mathfunc.m4.
4486
4487 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
4488
4489         raise tests: Avoid a GCC warning.
4490         * tests/test-raise.c (handler): Use _Noreturn.
4491
4492 2011-10-07  Bruno Haible  <bruno@clisp.org>
4493
4494         Tests for module 'ldexpf'.
4495         * modules/ldexpf-tests: New file.
4496         * tests/test-ldexpf.c: New file.
4497
4498         New module 'ldexpf'.
4499         * lib/math.in.h (ldexpf): New declaration.
4500         * lib/ldexpf.c: New file.
4501         * m4/ldexpf.m4: New file.
4502         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
4503         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
4504         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
4505         * modules/ldexpf: New file.
4506         * tests/test-math-c++.cc: Check the declaration of ldexpf.
4507         * doc/posix-functions/ldexpf.texi: Mention the new module.
4508
4509 2011-10-06  Bruno Haible  <bruno@clisp.org>
4510
4511         frexpf: Work around problems on IRIX and mingw.
4512         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
4513         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
4514         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
4515         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
4516         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
4517         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
4518         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
4519
4520 2011-10-06  Bruno Haible  <bruno@clisp.org>
4521
4522         fabsf: Drop assumption about library that defines fabsf.
4523         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
4524         AC_CHECK_FUNCS.
4525         * modules/fabsf (Files): Add m4/mathfunc.m4.
4526
4527 2011-10-06  Bruno Haible  <bruno@clisp.org>
4528
4529         frexpf: Drop assumption about library that defines frexpf.
4530         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
4531         'int *', 'float *', 'long double *', 'float', 'long double'.
4532         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
4533         AC_CHECK_FUNCS.
4534         * modules/frexpf (Files): Add m4/mathfunc.m4.
4535
4536         Tests for module 'frexpf'.
4537         * modules/frexpf-tests: New file.
4538         * tests/test-frexpf.c: New file.
4539
4540         New module 'frexpf'.
4541         * lib/math.in.h (frexpf): New declaration.
4542         * lib/frexpf.c: New file.
4543         * m4/frexpf.m4: New file.
4544         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
4545         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
4546         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
4547         * modules/frexpf: New file.
4548         * tests/test-math-c++.cc: Check the declaration of frexpf.
4549         * doc/posix-functions/frexpf.texi: Mention the new module.
4550
4551 2011-10-06  Bruno Haible  <bruno@clisp.org>
4552
4553         math: Sort function declarations of math.in.h.
4554         * lib/math.in.h (frexp, logb): Move declarations.
4555
4556 2011-10-05  Bruno Haible  <bruno@clisp.org>
4557
4558         Tests for module 'modff'.
4559         * modules/modff-tests: New file.
4560         * tests/test-modff.c: New file.
4561
4562         New module 'modff'.
4563         * lib/math.in.h (modff): New declaration.
4564         * lib/modff.c: New file.
4565         * m4/modff.m4: New file.
4566         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
4567         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
4568         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
4569         * modules/modff: New file.
4570         * tests/test-math-c++.cc: Check the declaration of modff.
4571         * doc/posix-functions/modff.texi: Mention the new module.
4572
4573         modf tests: Make test sharper.
4574         * tests/test-modf.c (main): Strengthen upper bound.
4575
4576         modf: Use a .m4 file.
4577         * m4/modf.m4: New file.
4578         * modules/modf (Files): Add it.
4579         (configure.ac): Just invoke gl_FUNC_MODF.
4580
4581 2011-10-05  Bruno Haible  <bruno@clisp.org>
4582
4583         Tests for module 'fmodf'.
4584         * modules/fmodf-tests: New file.
4585         * tests/test-fmodf.c: New file.
4586
4587         New module 'fmodf'.
4588         * lib/math.in.h (fmodf): New declaration.
4589         * lib/fmodf.c: New file.
4590         * m4/fmodf.m4: New file.
4591         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
4592         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
4593         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
4594         * modules/fmodf: New file.
4595         * tests/test-math-c++.cc: Check the declaration of fmodf.
4596         * doc/posix-functions/fmodf.texi: Mention the new module.
4597
4598         fmod: Use a .m4 file.
4599         * m4/fmod.m4: New file.
4600         * modules/fmod (Files): Add it.
4601         (configure.ac): Just invoke gl_FUNC_FMOD.
4602
4603 2011-10-05  Bruno Haible  <bruno@clisp.org>
4604
4605         Tests for module 'fabsf'.
4606         * modules/fabsf-tests: New file.
4607         * tests/test-fabsf.c: New file.
4608
4609         New module 'fabsf'.
4610         * lib/math.in.h (fabsf): New declaration.
4611         * lib/fabsf.c: New file.
4612         * m4/fabsf.m4: New file.
4613         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
4614         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
4615         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
4616         * modules/fabsf: New file.
4617         * tests/test-math-c++.cc: Check the declaration of fabsf.
4618         * doc/posix-functions/fabsf.texi: Mention the new module.
4619
4620         fabs: Use a .m4 file.
4621         * m4/fabs.m4: New file.
4622         * modules/fabs (Files): Add it.
4623         (configure.ac): Just invoke gl_FUNC_FABS.
4624
4625 2011-10-05  Jim Meyering  <meyering@redhat.com>
4626
4627         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
4628         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
4629         ls -lL regression introduced in coreutils-8.12, it does so at the
4630         cost of an additional stat call in the common case.  Besides, now
4631         that the kernel change that prompted commit 95f7c57f has been reverted
4632         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
4633         we have no use for commit 95f7c57f, "file-has-acl: use
4634         acl_extended_file_nofollow if available".
4635
4636 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
4637
4638         file-has-acl: revert unintended change in behavior of ls -L
4639         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
4640         derived from...
4641         (file_has_acl): ...code here.  Call it.
4642         This problem was introduced with 2011-07-22 commit 95f7c57f,
4643         "file-has-acl: use acl_extended_file_nofollow if available".
4644         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
4645
4646 2011-10-03  Bruno Haible  <bruno@clisp.org>
4647
4648         poll: Avoid link errors on MSVC.
4649         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
4650         * modules/poll (Depends-on): Add sockets.
4651         (Link): New section.
4652         * NEWS: Mention the change.
4653         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
4654         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
4655         $(LIB_POLL) instead of $(LIBSOCKET).
4656
4657 2011-10-03  Bruno Haible  <bruno@clisp.org>
4658
4659         sys_select tests: Fix link error on MSVC 9.
4660         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
4661         with $(LIB_SELECT) instead of $(LIBSOCKET).
4662
4663 2011-10-03  Bruno Haible  <bruno@clisp.org>
4664
4665         sys_select: Fix compilation error on mingw.
4666         * lib/sys_select.in.h: On native Windows, include <io.h>.
4667
4668 2011-10-03  Bruno Haible  <bruno@clisp.org>
4669
4670         wmemset: Support for MSVC.
4671         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
4672         whether wmemset() exists.
4673
4674 2011-10-03  Bruno Haible  <bruno@clisp.org>
4675
4676         wmemmove: Support for MSVC.
4677         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
4678         whether wmemmove() exists.
4679
4680 2011-10-03  Bruno Haible  <bruno@clisp.org>
4681
4682         wmemcpy: Support for MSVC.
4683         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
4684         whether wmemcpy() exists.
4685
4686 2011-10-03  Bruno Haible  <bruno@clisp.org>
4687
4688         wmemcmp: Support for MSVC.
4689         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
4690         whether wmemcmp() exists.
4691
4692 2011-10-03  Bruno Haible  <bruno@clisp.org>
4693
4694         wmemchr: Support for MSVC.
4695         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
4696         whether wmemchr() exists.
4697
4698 2011-10-03  Bruno Haible  <bruno@clisp.org>
4699
4700         glthread/*, strsignal: Support for MSVC.
4701         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
4702         including <winsock.h> on MSVC 9.
4703         * lib/glthread/lock.h: Likewise.
4704         * lib/glthread/thread.h: Likewise.
4705         * lib/glthread/tls.h: Likewise.
4706         * lib/glthread/yield.h: Likewise.
4707         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
4708         if HAVE_UNISTD_H is false.
4709         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
4710
4711 2011-10-03  Bruno Haible  <bruno@clisp.org>
4712
4713         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
4714         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
4715         Set to 100000.
4716
4717 2011-10-03  Bruno Haible  <bruno@clisp.org>
4718
4719         acl: Fix specification.
4720         * lib/file-has-acl.c (file_has_acl): Fix specification.
4721
4722 2011-10-03  Bruno Haible  <bruno@clisp.org>
4723
4724         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
4725         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
4726         (compute_curr_prefix, shared_library_fullname,
4727         find_shared_library_fullname, get_shared_library_fullname, relocate):
4728         Use it together with PIC && INSTALLDIR.
4729         Reported by <jojelino@gmail.com>
4730         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
4731
4732 2011-10-01  Jim Meyering  <meyering@redhat.com>
4733
4734         maint.mk: adjust a release-related rule not to require use of gzip
4735         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
4736         Instead, check each file in $(DIST_ARCHIVES).  This is better for
4737         projects that build only .tar.xz files.  Also fix an erroneous test.
4738
4739         test-linkat: don't leave behind a temporary file
4740         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
4741         Otherwise, coreutils' "make distcheck" would fail with this:
4742           Only in /c/cu/tests/torture/coreutils/test/\
4743             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
4744           make[2]: *** [my-distcheck] Error 1
4745
4746         float, math: add omitted file
4747         * lib/itold.c: Add file, required for yesterday's float change.
4748
4749 2011-10-01  Bruno Haible  <bruno@clisp.org>
4750
4751         isinf: Fix for OpenBSD/x86.
4752         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
4753         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
4754         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
4755
4756 2011-10-01  Bruno Haible  <bruno@clisp.org>
4757
4758         isfinite: Fix syntax error in configure test.
4759         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
4760
4761         isfinite: Fix typo.
4762         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
4763         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
4764
4765 2011-10-01  Bruno Haible  <bruno@clisp.org>
4766
4767         nonblocking tests: Fix test failure on Linux/IA-64.
4768         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
4769         Set to 270000.
4770
4771 2011-10-01  Bruno Haible  <bruno@clisp.org>
4772
4773         mkfifoat tests: Fix a test failure on mingw.
4774         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
4775         with error ENOSYS.
4776
4777 2011-09-30  Bruno Haible  <bruno@clisp.org>
4778
4779         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
4780         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
4781         'long double'. Set REPLACE_ITOLD.
4782         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
4783         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
4784         * lib/itold.c: New file.
4785         * modules/float (Files): Add lib/itold.c.
4786         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
4787         (Makefile.am): Substitute REPLACE_ITOLD.
4788         * modules/math (Depends-on): Add float.
4789         (Makefile.am): Substitute REPLACE_ITOLD.
4790         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
4791         * doc/posix-headers/math.texi: Likewise.
4792         * doc/posix-functions/logl.texi: Likewise.
4793
4794 2011-09-30  Bruno Haible  <bruno@clisp.org>
4795
4796         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
4797         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
4798         Set to 140000.
4799
4800 2011-09-30  Bruno Haible  <bruno@clisp.org>
4801
4802         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
4803         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
4804         invocation, say "right after AC_PROG_CC_STDC", not "right after
4805         AC_PROG_CC".
4806         Reported by Gary V. Vaughan <gary@gnu.org>.
4807
4808 2011-09-30  Bruno Haible  <bruno@clisp.org>
4809
4810         Centralize C99 requirement.
4811         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
4812         * modules/stdarg (configure.ac-early): Invoke it instead of
4813         AC_PROG_CC_STDC.
4814         Reported by Gary V. Vaughan and Paul Eggert.
4815
4816 2011-09-29  Bruno Haible  <bruno@clisp.org>
4817
4818         float: Fix LDBL_MAX value on Linux/PowerPC.
4819         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
4820         on Linux/PowerPC.
4821         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
4822         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
4823         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
4824         platform.
4825         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
4826
4827 2011-09-29  Bruno Haible  <bruno@clisp.org>
4828
4829         doc: Improve doc about gl_EARLY.
4830         * doc/gnulib-tool.texi (Initial import): Mention where to place an
4831         AC_PROG_CC_STDC invocation.
4832         Reported by Gary V. Vaughan <gary@gnu.org>.
4833
4834 2011-09-28  Bruno Haible  <bruno@clisp.org>
4835
4836         fgetc, fputc, fread, fwrite tests: Fix link error.
4837         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
4838         on non-MSVC platforms.
4839         * tests/test-fputc.c (main): Likewise.
4840         * tests/test-fread.c (main): Likewise.
4841         * tests/test-fwrite.c (main): Likewise.
4842         Reported by Jim Meyering.
4843
4844 2011-09-27  Bruno Haible  <bruno@clisp.org>
4845
4846         fputc, fwrite tests: Avoid test failure on MSVC.
4847         * tests/test-fgetc.c: Include msvc-inval.h.
4848         (main): Invoke gl_msvc_inval_ensure_handler.
4849         * tests/test-fputc.c: Include msvc-inval.h.
4850         (main): Invoke gl_msvc_inval_ensure_handler.
4851         * tests/test-fread.c: Include msvc-inval.h.
4852         (main): Invoke gl_msvc_inval_ensure_handler.
4853         * tests/test-fwrite.c: Include msvc-inval.h.
4854         (main): Invoke gl_msvc_inval_ensure_handler.
4855         * modules/fgetc-tests (Depends-on): Add msvc-inval.
4856         * modules/fputc-tests (Depends-on): Likewise.
4857         * modules/fread-tests (Depends-on): Likewise.
4858         * modules/fwrite-tests (Depends-on): Likewise.
4859
4860 2011-09-27  Bruno Haible  <bruno@clisp.org>
4861
4862         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
4863         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
4864         (raise): Remove older, duplicated declaration.
4865         (_gl_raise_SIGPIPE): New declaration.
4866         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
4867         (rpl_raise): Remove function.
4868         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
4869         a gnulib-defined SIGPIPE here.
4870         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
4871         'sigprocmask' has detected missing signal-blocking and the module
4872         'sigpipe' is enabled.
4873         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
4874
4875 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
4876
4877         base64-tests: avoid memory leak
4878         * tests/test-base64.c (main): Plug memory leak.
4879
4880         base32: new module
4881         * modules/base32: New module.
4882         * lib/base32.c: New file.
4883         * lib/base32.h: Likewise.
4884         * m4/base32.m4: Likewise.
4885         * modules/base32-tests: New test.
4886         * tests/test-base32.c: Likewise.
4887         * MODULES.html.sh (Misc): Mention it.
4888
4889 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
4890
4891         gnulib: use more-standard license notice wording
4892         * gnulib-tool (func_emit_copyright_notice): When emitting a
4893         license notice into a file, use the standard wording as suggested
4894         by the current information for GNU maintainers, except say "file"
4895         rather than "program".  The new wording gives a license version
4896         number, which addresses an issue raised by Glenn Morris in
4897         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
4898         * m4/onceonly.m4: Use that same wording here, too.
4899
4900         dup2: minor simplification
4901         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
4902         as lib/dup2.c no longer uses 'inline'.
4903
4904 2011-09-25  Bruno Haible  <bruno@clisp.org>
4905
4906         strings: Fix compilation error on MSVC.
4907         * lib/strings.in.h: Include <stddef.h> for size_t.
4908
4909 2011-09-25  Bruno Haible  <bruno@clisp.org>
4910
4911         fflush et al.: Document limitation on MSVC.
4912         * doc/posix-functions/fflush.texi: Document possible crash in handling
4913         mode other than DEFAULT_HANDLING.
4914         * doc/posix-functions/fgetc.texi: Likewise.
4915         * doc/posix-functions/fputc.texi: Likewise.
4916         * doc/posix-functions/fread.texi: Likewise.
4917         * doc/posix-functions/fwrite.texi: Likewise.
4918
4919 2011-09-25  Bruno Haible  <bruno@clisp.org>
4920
4921         msvc-inval: Allow three invalid parameter handling modes.
4922         * lib/msvc-inval.h: Don't include <stdlib.h> here.
4923         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
4924         macros.
4925         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
4926         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
4927         SANE_LIBRARY_HANDLING as a no-op.
4928         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
4929         <stdlib.h>.
4930         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
4931
4932 2011-09-25  Bruno Haible  <bruno@clisp.org>
4933
4934         msvc-inval: Make handler multithread-safe.
4935         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
4936         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
4937         declarations.
4938         (gl_msvc_inval_current): New declaration.
4939         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
4940         Operate on the structure returned by gl_msvc_inval_current().
4941         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
4942         Remove varaiables.
4943         (tls_index, tls_initialized): New variables.
4944         (not_per_thread): New variable.
4945         (gl_msvc_inval_current): New function.
4946         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
4947         returned by gl_msvc_inval_current().
4948
4949 2011-09-25  Bruno Haible  <bruno@clisp.org>
4950
4951         msvc-inval: Install handler globally.
4952         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
4953         !_MSC_VER.
4954         (gl_msvc_invalid_parameter_handler): Remove declaration.
4955         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
4956         declarations.
4957         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
4958         Install the handler globally, don't uninstall it.
4959         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
4960         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
4961         currently valid, call RaiseException instead.
4962         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
4963         for !_MSC_VER.
4964
4965 2011-09-25  Bruno Haible  <bruno@clisp.org>
4966
4967         strerror_r-posix: Fix for MSVC 9.
4968         * lib/strerror_r.c (local_snprintf): New function.
4969         (snprintf): Define to local_snprintf, not to _snprintf.
4970
4971 2011-09-25  Bruno Haible  <bruno@clisp.org>
4972
4973         ftruncate: Support for MSVC 9.
4974         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
4975         (chsize_nothrow): New function.
4976         (chsize): Redefine as a macro.
4977         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
4978         * modules/ftruncate (Depends-on): Add msvc-inval.
4979
4980 2011-09-25  Bruno Haible  <bruno@clisp.org>
4981
4982         New module 'fstat'.
4983         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
4984         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
4985         * lib/fchdir.c (rpl_fstat): Remove function.
4986         * m4/fstat.m4: New file.
4987         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
4988         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
4989         declared.
4990         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
4991         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
4992         * modules/fstat: New file.
4993         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
4994         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
4995         is set.
4996         * doc/posix-functions/fstat.texi: Mention the new module and the
4997         problem on MSVC.
4998         * NEWS: Mention the change.
4999         * modules/acl (Depends-on): Add fstat.
5000         * modules/chdir-safer (Depends-on): Likewise.
5001         * modules/chown (Depends-on): Likewise.
5002         * modules/copy-file (Depends-on): Likewise.
5003         * modules/fchdir (Depends-on): Likewise.
5004         * modules/fdopendir (Depends-on): Likewise.
5005         * modules/fopen (Depends-on): Likewise.
5006         * modules/fts (Depends-on): Likewise.
5007         * modules/getcwd (Depends-on): Likewise.
5008         * modules/isapipe (Depends-on): Likewise.
5009         * modules/linkat (Depends-on): Likewise.
5010         * modules/lseek (Depends-on): Likewise.
5011         * modules/mkdir-p (Depends-on): Likewise.
5012         * modules/open (Depends-on): Likewise.
5013         * modules/openat (Depends-on): Likewise.
5014         * modules/read-file (Depends-on): Likewise.
5015         * modules/renameat (Depends-on): Likewise.
5016         * modules/utimens (Depends-on): Likewise.
5017
5018 2011-09-25  Bruno Haible  <bruno@clisp.org>
5019
5020         linkat: Fix compilation on MSVC 9.
5021         * lib/linkat.c: Don't include <stdint.h>.
5022
5023 2011-09-25  Bruno Haible  <bruno@clisp.org>
5024
5025         fclose: Support for MSVC 9.
5026         * lib/fclose.c: Include msvc-inval.h.
5027         (fclose_nothrow): New function.
5028         (rpl_fclose): Use it.
5029         * modules/fclose (Depends-on): Add msvc-inval.
5030         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
5031
5032 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
5033
5034         dup2: minor simplifications
5035         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
5036         that it's a performance win.
5037         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
5038         ! defined __CYGWIN__)" to "ifdef F_GETFL".
5039
5040 2011-09-24  Jim Meyering  <meyering@redhat.com>
5041
5042         test-futimens: avoid a warning from gcc -Wshadow
5043         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
5044         to avoid a shadowing warning.
5045
5046 2011-09-24  Bruno Haible  <bruno@clisp.org>
5047
5048         fdopen: Support for MSVC 9.
5049         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
5050         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
5051         * lib/fdopen.c: Include msvc-inval.h.
5052         (fdopen_nothrow): New function.
5053         (rpl_fdopen): Use it.
5054         * modules/fdopen (Depends-on): Add msvc-inval.
5055         * modules/fclose-tests (Depends-on): Add fdopen.
5056         * modules/fflush-tests (Depends-on): Likewise.
5057         * modules/fgetc-tests (Depends-on): Likewise.
5058         * modules/fputc-tests (Depends-on): Likewise.
5059         * modules/fread-tests (Depends-on): Likewise.
5060         * modules/freopen-tests (Depends-on): Likewise.
5061         * modules/fseeko-tests (Depends-on): Likewise.
5062         * modules/ftello-tests (Depends-on): Likewise.
5063         * modules/fwrite-tests  (Depends-on): Likewise.
5064         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
5065
5066 2011-09-24  Bruno Haible  <bruno@clisp.org>
5067
5068         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
5069         * modules/fgetc-tests (Depends-on): Add unistd.
5070         * modules/fputc-tests (Depends-on): Likewise.
5071         * modules/fread-tests (Depends-on): Likewise.
5072         * modules/fwrite-tests (Depends-on): Likewise.
5073
5074 2011-09-24  Bruno Haible  <bruno@clisp.org>
5075
5076         dup: Simplify autoconf test.
5077         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
5078         on gl_MSVC_INVAL's result.
5079
5080 2011-09-24  Bruno Haible  <bruno@clisp.org>
5081
5082         Tests for function fwrite().
5083         * modules/fwrite-tests: New file.
5084         * tests/test-fwrite.c: New file.
5085         * modules/stdio-tests (Depends-on): Add fwrite-tests.
5086
5087         Tests for function fread().
5088         * modules/fread-tests: New file.
5089         * tests/test-fread.c: New file.
5090         * modules/stdio-tests (Depends-on): Add fread-tests.
5091
5092         Activate fputc tests.
5093         * modules/stdio-tests (Depends-on): Add fputc-tests.
5094
5095         Enhance fgetc, fputc tests.
5096         * tests/test-fgetc.c (main): Also test the stream's error indicator.
5097         * tests/test-fputc.c (main): Likewise.
5098
5099 2011-09-24  Bruno Haible  <bruno@clisp.org>
5100
5101         write: Support for MSVC 9.
5102         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
5103         is not 1.
5104         * lib/write.c (write_nothrow): New function.
5105         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
5106         not 1. Use write_nothrow.
5107         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
5108         invalid parameter handler.
5109         (gl_PREREQ_WRITE): New macro.
5110         * modules/write (Depends-on): Add msvc-inval.
5111         (configure.ac): Invoke gl_PREREQ_WRITE.
5112         * doc/posix-functions/write.texi: Mention the problem on MSVC.
5113
5114 2011-09-24  Bruno Haible  <bruno@clisp.org>
5115
5116         read: Fix last commit.
5117         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
5118
5119 2011-09-24  Bruno Haible  <bruno@clisp.org>
5120
5121         dup2: Fix last commit.
5122         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
5123         (rpl_dup2): Disable fcntl workaround on native Windows.
5124
5125         sigprocmask: Make code safer.
5126         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
5127         section that changes macro definitions for this compilation unit.
5128
5129 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
5130
5131         dup2: clarify by coalescing Windows-specific material
5132         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
5133         "msvc-nothrow.h"' to the Windows-specific section, so that the
5134         Emacs source need not contain these include files.
5135         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
5136         Windows-specific fixes into this function rather than just the
5137         nothrow fix, as this shortens and clarifies the code.  Always
5138         define as a function, as that's a bit cleaner than having it be
5139         sometimes a function and sometimes a macro.
5140         (rpl_dup2): Move the Windows-specific stuff out of here and into
5141         ms_windows_dup2.  Don't protect the Haiku-related fix with
5142         "#if !defined __linux__", as the same code also works around
5143         a Linux kernel bug, and it doesn't add any system calls on any
5144         platform.  Add comment about FreeBSD 6.1.
5145
5146         sigprocmask: move #include directive
5147         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
5148         Windows-specific section, so that the Emacs source need not
5149         contain msvc-inval.h.
5150
5151 2011-09-23  Bruno Haible  <bruno@clisp.org>
5152
5153         read: Support for MSVC 9.
5154         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
5155         is not 1.
5156         * lib/read.c (read_nothrow): New function.
5157         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
5158         read_nothrow.
5159         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
5160         invalid parameter handler.
5161         (gl_PREREQ_READ): New macro.
5162         * modules/read (Depends-on): Add msvc-inval.
5163         (configure.ac): Invoke gl_PREREQ_READ.
5164         * doc/posix-functions/read.texi: Mention the problem on MSVC.
5165
5166 2011-09-23  Bruno Haible  <bruno@clisp.org>
5167
5168         close: Support for MSVC 9.
5169         * lib/close.c: Include <errno.h>, msvc-inval.h.
5170         (close_nothrow): New function.
5171         (rpl_close): Use it.
5172         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
5173         invalid parameter handler.
5174         * modules/close (Depends-on): Add msvc-inval.
5175         * modules/dup2-tests (Depends-on): Add close.
5176         * modules/dup3-tests (Depends-on): Likewise.
5177         * modules/fcntl-tests (Depends-on): Likewise.
5178         * modules/spawn-pipe-tests (Depends-on): Likewise.
5179         * modules/unistd-safer-tests (Depends-on): Likewise.
5180         * doc/posix-functions/close.texi: Mention the problem on MSVC.
5181
5182 2011-09-23  Bruno Haible  <bruno@clisp.org>
5183
5184         New module 'dup'.
5185         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
5186         Allow replacement.
5187         * lib/dup.c: New file.
5188         * lib/fchdir.c (rpl_dup): Remove function.
5189         * m4/dup.m4: New file.
5190         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
5191         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
5192         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
5193         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
5194         * modules/dup: New file.
5195         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
5196         'dup' module is in use.
5197         * modules/fdopendir (Depends-on): Add dup.
5198         * modules/fdutimensat-tests (Depends-on): Likewise.
5199         * modules/fts (Depends-on): Likewise.
5200         * modules/futimens-tests (Depends-on): Likewise.
5201         * modules/posix_spawnp-tests (Depends-on): Likewise.
5202         * modules/unistd-safer-tests (Depends-on): Likewise.
5203         * modules/utimens-tests (Depends-on): Likewise.
5204         * doc/posix-functions/dup.texi: Mention the new module and the problem
5205         on MSVC.
5206
5207 2011-09-23  Bruno Haible  <bruno@clisp.org>
5208
5209         getdtablesize: Support for MSVC 9.
5210         * lib/getdtablesize.c: Include msvc-inval.h.
5211         (_setmaxstdio_nothrow): New function.
5212         (_setmaxstdio): Redefine it.
5213         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
5214         * modules/getdtablesize (Depends-on): Add msvc-inval.
5215         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
5216
5217 2011-09-23  Bruno Haible  <bruno@clisp.org>
5218
5219         signal-h: Rename from signal.
5220         * modules/signal-h: Renamed from modules/signal.
5221         * modules/pthread_sigmask (Depends-on): Update.
5222         * modules/raise (Depends-on): Likewise.
5223         * modules/sigaction (Depends-on): Likewise.
5224         * modules/sigpipe (Depends-on): Likewise.
5225         * modules/sigprocmask (Depends-on): Likewise.
5226         * modules/sys_select (Depends-on): Likewise.
5227         * modules/signal-h-tests: Renamed from modules/signal-tests.
5228         (Files, Depends-on, Makefile.am): Update.
5229         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
5230         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
5231         (Files, Makefile.am): Update.
5232         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
5233         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
5234         * modules/signal: New placeholder file.
5235         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
5236         * doc/posix-headers/signal.texi: Update.
5237         * NEWS: Mention the change.
5238
5239 2011-09-23  Bruno Haible  <bruno@clisp.org>
5240
5241         sigprocmask: Avoid crashes through signal() on MSVC 9.
5242         * lib/sigprocmask.c: Include msvc-inval.h.
5243         (signal_nothrow): New function.
5244         (signal): Redefine it.
5245         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
5246         * modules/sigprocmask (Depends-on): Add msvc-inval.
5247         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
5248
5249 2011-09-23  Bruno Haible  <bruno@clisp.org>
5250
5251         Tests for module 'raise'.
5252         * modules/raise-tests: New file.
5253         * tests/test-raise.c: New file.
5254
5255         raise: Support for MSVC.
5256         * lib/signal.in.h (raise): New declaration.
5257         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
5258         for native Windows platforms.
5259         * m4/raise.m4: New file.
5260         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
5261         HAVE_RAISE, REPLACE_RAISE.
5262         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
5263         REPLACE_RAISE.
5264         * modules/raise (Status, Notice): Remove fields.
5265         (Files): Add m4/raise.m4.
5266         (Depends-on): Add signal, msvc-inval.
5267         (configure.ac): Use the common idioms.
5268         (Maintainer): Add me.
5269         * tests/test-signal-c++.cc: Check the signature of raise.
5270         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
5271
5272 2011-09-23  Bruno Haible  <bruno@clisp.org>
5273
5274         pipe2: Fix compilation on pre-C99 compilers.
5275         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
5276
5277 2011-09-23  Bruno Haible  <bruno@clisp.org>
5278
5279         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
5280         * lib/msvc-nothrow.h: New file.
5281         * lib/msvc-nothrow.c: New file.
5282         * m4/msvc-nothrow.m4: New file.
5283         * modules/msvc-nothrow: New file.
5284         * lib/dup2.c: Include msvc-nothrow.h.
5285         (rpl_dup2): No need to protect _get_osfhandle call here.
5286         * lib/accept4.c: Include msvc-nothrow.h.
5287         * lib/error.c: Likewise.
5288         * lib/fcntl.c: Likewise.
5289         * lib/lseek.c: Likewise.
5290         * lib/nonblocking.c: Likewise.
5291         * lib/poll.c: Likewise.
5292         * lib/read.c: Likewise.
5293         * lib/select.c: Likewise.
5294         * lib/sockets.h: Likewise.
5295         * lib/sockets.c: Likewise.
5296         * lib/stdio-read.c: Likewise.
5297         * lib/stdio-write.c: Likewise.
5298         * lib/write.c: Likewise.
5299         * lib/w32sock.h: Likewise.
5300         * lib/w32spawn.h: Likewise.
5301         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
5302         * lib/fsync.c: Likewise.
5303         * lib/isapipe.c: Likewise.
5304         * modules/dup2 (Depends-on): Add msvc-nothrow.
5305         * modules/accept4 (Depends-on): Likewise.
5306         * modules/error (Depends-on): Likewise.
5307         * modules/fcntl (Depends-on): Likewise.
5308         * modules/lseek (Depends-on): Likewise.
5309         * modules/nonblocking (Depends-on): Likewise.
5310         * modules/poll (Depends-on): Likewise.
5311         * modules/read (Depends-on): Likewise.
5312         * modules/select (Depends-on): Likewise.
5313         * modules/sockets (Depends-on): Likewise.
5314         * modules/sigpipe (Depends-on): Likewise.
5315         * modules/write (Depends-on): Likewise.
5316         * modules/accept (Depends-on): Likewise.
5317         * modules/bind (Depends-on): Likewise.
5318         * modules/connect (Depends-on): Likewise.
5319         * modules/gethostname (Depends-on): Likewise.
5320         * modules/getpeername (Depends-on): Likewise.
5321         * modules/getsockname (Depends-on): Likewise.
5322         * modules/getsockopt (Depends-on): Likewise.
5323         * modules/ioctl (Depends-on): Likewise.
5324         * modules/listen (Depends-on): Likewise.
5325         * modules/recv (Depends-on): Likewise.
5326         * modules/recvfrom (Depends-on): Likewise.
5327         * modules/send (Depends-on): Likewise.
5328         * modules/sendto (Depends-on): Likewise.
5329         * modules/setsockopt (Depends-on): Likewise.
5330         * modules/shutdown (Depends-on): Likewise.
5331         * modules/socket (Depends-on): Likewise.
5332         * modules/execute (Depends-on): Likewise.
5333         * modules/spawn-pipe (Depends-on): Likewise.
5334         * modules/flock (Depends-on): Likewise.
5335         * modules/fsync (Depends-on): Likewise.
5336         * modules/isapipe (Depends-on): Likewise.
5337         * tests/test-cloexec.c: Include msvc-nothrow.h.
5338         * tests/test-dup-safer.c: Likewise.
5339         * tests/test-dup2.c: Likewise.
5340         * tests/test-dup3.c: Likewise.
5341         * tests/test-fcntl.c: Likewise.
5342         * tests/test-pipe.c: Likewise.
5343         * tests/test-pipe2.c: Likewise.
5344         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
5345         * modules/unistd-safer-tests (Depends-on): Likewise.
5346         * modules/dup2-tests (Depends-on): Likewise.
5347         * modules/dup3-tests (Depends-on): Likewise.
5348         * modules/fcntl-tests (Depends-on): Likewise.
5349         * modules/pipe-posix-tests (Depends-on): Likewise.
5350         * modules/pipe2-tests (Depends-on): Likewise.
5351
5352 2011-09-23  Bruno Haible  <bruno@clisp.org>
5353
5354         dup2: Make code more maintainable.
5355         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
5356         (rpl_dup2): Use it.
5357         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
5358         * modules/dup2 (configure.ac): Invoke it.
5359         Reported by Paul Eggert.
5360
5361 2011-09-23  Bruno Haible  <bruno@clisp.org>
5362
5363         msvc-inval: Fix compilation error.
5364         * lib/msvc-inval.h: Include <excpt.h>.
5365
5366 2011-09-23  Bruno Haible  <bruno@clisp.org>
5367
5368         mkdir: Tweak for MSVC 9.
5369         * lib/sys_stat.in.h: Update comments.
5370         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
5371
5372         Tests for module 'chdir'.
5373         * modules/chdir-tests: New file.
5374         * tests/test-chdir.c: New file.
5375
5376         New module 'chdir'.
5377         * modules/chdir: New file.
5378         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
5379         (chdir): New declaration.
5380         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
5381         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
5382         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
5383         * tests/test-unistd-c++.cc: Check signature of chdir.
5384         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
5385         * modules/chdir-long (Depends-on): Add chdir.
5386         * modules/fchdir (Depends-on): Likewise.
5387         * modules/rename (Depends-on): Likewise.
5388         * modules/savewd (Depends-on): Likewise.
5389
5390         rmdir: Support for mingw, MSVC 9.
5391         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
5392         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
5393
5394         getcwd: Tweak for MSVC 9.
5395         * lib/unistd.in.h: Update comments.
5396         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
5397
5398 2011-09-22  Bruno Haible  <bruno@clisp.org>
5399
5400         strerror_r-posix: Avoid a link error on MSVC.
5401         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
5402         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
5403
5404 2011-09-22  Bruno Haible  <bruno@clisp.org>
5405
5406         select: Avoid link errors on MSVC.
5407         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
5408         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
5409         * modules/pselect (Link): Likewise.
5410         * NEWS: Mention the change.
5411         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
5412         test-select-stdin against $(LIB_SELECT).
5413         * modules/pselect-tests (Makefile.am): Link test-pselect against
5414         $(LIB_SELECT).
5415
5416 2011-09-22  Bruno Haible  <bruno@clisp.org>
5417
5418         select: Avoid compilation error on MSVC.
5419         * lib/select.c: Don't include <stdbool.h>.
5420
5421 2011-09-21  Bruno Haible  <bruno@clisp.org>
5422
5423         Consolidate all uses of PATH_MAX in *.m4 files.
5424         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
5425         macros.
5426         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
5427         and gl_PATHMAX_SNIPPET.
5428         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
5429         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5430         * modules/chdir-long (Files): Add m4/pathmax.m4.
5431         * modules/getcwd (Files): Likewise.
5432
5433 2011-09-21  Bruno Haible  <bruno@clisp.org>
5434
5435         ftruncate: Un-deprecate, concentrate on Win32 support.
5436         * modules/ftruncate (Status, Notice): Remove sections.
5437         (Depends-on): Add largefile.
5438         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
5439         non-mingw platforms.
5440         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
5441         include <io.h>.
5442         * modules/perror-tests (Depends-on): Add ftruncate.
5443         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
5444         'ftruncate' module.
5445
5446 2011-09-21  Bruno Haible  <bruno@clisp.org>
5447
5448         Add dependencies to new dirent related modules.
5449         * modules/opendir (Depends-on): Add closedir.
5450         * modules/getcwd (Depends-on): Add opendir, closedir.
5451         * modules/dirent-safer-tests (Depends-on): Likewise.
5452         * modules/fdopendir-tests (Depends-on): Likewise.
5453         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
5454         * modules/renameat-tests (Depends-on): Likewise.
5455
5456 2011-09-21  Bruno Haible  <bruno@clisp.org>
5457
5458         opendir: Avoid compilation error on mingw.
5459         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
5460         * modules/opendir (Depends-on): Add unistd.
5461
5462 2011-09-21  Bruno Haible  <bruno@clisp.org>
5463
5464         ftruncate tests: Avoid a test failure on mingw.
5465         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
5466
5467 2011-09-21  Bruno Haible  <bruno@clisp.org>
5468
5469         select tests: Avoid test failures on OSF/1 5.1 and mingw.
5470         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
5471         native Windows.
5472
5473 2011-09-21  Bruno Haible  <bruno@clisp.org>
5474
5475         New module 'fdopen'.
5476         * lib/stdio.in.h (fdopen): New declaration.
5477         * lib/fdopen.c: New file.
5478         * m4/fdopen.m4: New file.
5479         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
5480         REPLACE_FDOPEN.
5481         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
5482         REPLACE_FDOPEN.
5483         * modules/fdopen: New file.
5484         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
5485         * tests/test-stdio-c++.cc: Check signature of fdopen.
5486         * doc/posix-functions/fdopen.texi: Mention the new module.
5487
5488 2011-09-21  Bruno Haible  <bruno@clisp.org>
5489
5490         unlockpt tests: Avoid test failure on NetBSD 5.1.
5491         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
5492         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
5493
5494 2011-09-21  Bruno Haible  <bruno@clisp.org>
5495
5496         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
5497         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
5498         * tests/test-getlogin_r.c (main): Likewise.
5499
5500 2011-09-20  Bruno Haible  <bruno@clisp.org>
5501
5502         time tests: Don't require pid_t.
5503         * doc/posix-headers/time.texi: Revert last change.
5504         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
5505         * tests/test-time.c: Comment out the check for pid_t.
5506
5507 2011-09-20  Bruno Haible  <bruno@clisp.org>
5508
5509         fsync tests: Avoid a test failure on mingw.
5510         * tests/test-fsync.c (main): Allow a failure with EIO.
5511
5512 2011-09-20  Bruno Haible  <bruno@clisp.org>
5513
5514         euidaccess: Update comments.
5515         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
5516
5517 2011-09-20  Bruno Haible  <bruno@clisp.org>
5518
5519         Ensure EBADF returns for socket functions on mingw.
5520         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
5521         descriptor is invalid.
5522         * lib/bind.c (rpl_bind): Likewise.
5523         * lib/connect.c (rpl_connect): Likewise.
5524         * lib/getpeername.c (rpl_getpeername): Likewise.
5525         * lib/getsockname.c (rpl_getsockname): Likewise.
5526         * lib/getsockopt.c (rpl_getsockopt): Likewise.
5527         * lib/listen.c (rpl_listen): Likewise.
5528         * lib/recv.c (rpl_recv): Likewise.
5529         * lib/recvfrom.c (rpl_recvfrom): Likewise.
5530         * lib/send.c (rpl_send): Likewise.
5531         * lib/sendto.c (rpl_sendto): Likewise.
5532         * lib/setsockopt.c (rpl_setsockopt): Likewise.
5533         * lib/shutdown.c (rpl_shutdown): Likewise.
5534
5535 2011-09-20  Bruno Haible  <bruno@clisp.org>
5536
5537         select tests: EBADF tests.
5538         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
5539         test_bad_fd): New functions.
5540         (test_function): Invoke also test_bad_fd.
5541
5542 2011-09-20  Bruno Haible  <bruno@clisp.org>
5543
5544         Tests for module 'posix_spawn_file_actions_addopen.
5545         * modules/posix_spawn_file_actions_addopen-tests: New file.
5546         * tests/test-posix_spawn_file_actions_addopen.c: New file.
5547
5548         Tests for module 'posix_spawn_file_actions_adddup2'.
5549         * modules/posix_spawn_file_actions_adddup2-tests: New file.
5550         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
5551
5552         Tests for module 'posix_spawn_file_actions_addclose'.
5553         * modules/posix_spawn_file_actions_addclose-tests: New file.
5554         * tests/test-posix_spawn_file_actions_addclose.c: New file.
5555
5556 2011-09-20  Bruno Haible  <bruno@clisp.org>
5557
5558         Tests for module 'unlockpt'.
5559         * modules/unlockpt-tests: New file.
5560         * tests/test-unlockpt.c: New file.
5561         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
5562
5563         Tests for module 'grantpt'.
5564         * modules/grantpt-tests: New file.
5565         * tests/test-grantpt.c: New file.
5566         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
5567
5568 2011-09-20  Bruno Haible  <bruno@clisp.org>
5569
5570         freopen tests: EBADF tests.
5571         * tests/test-freopen.c: Include errno.h, unistd.h.
5572         (main): Add tests for EBADF, commented out for the moment.
5573
5574         fclose tests: EBADF tests.
5575         * tests/test-fclose.c (main): Add tests for EBADF.
5576
5577         fflush tests: EBADF tests.
5578         * tests/test-fflush.c: Include errno.h, macros.h.
5579         (main): Add tests for EBADF.
5580
5581         ftello tests: EBADF tests.
5582         * tests/test-ftello4.sh: New file.
5583         * tests/test-ftello4.c: New file.
5584         * modules/ftello-tests (Files): Add them.
5585         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
5586
5587         fseeko tests: EBADF tests.
5588         * tests/test-fseeko4.sh: New file.
5589         * tests/test-fseeko4.c: New file.
5590         * modules/fseeko-tests (Files): Add them.
5591         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
5592
5593         Tests for function fputc().
5594         * modules/fputc-tests: New file.
5595         * tests/test-fputc.c: New file.
5596         * modules/stdio-tests (Depends-on): Add fputc-tests.
5597
5598         Tests for function fgetc().
5599         * modules/fgetc-tests: New file.
5600         * tests/test-fgetc.c: New file.
5601         * modules/stdio-tests (Depends-on): Add fgetc-tests.
5602
5603         Tests for function fdopen().
5604         * modules/fdopen-tests: New file.
5605         * tests/test-fdopen.c: New file.
5606         * modules/stdio-tests (Depends-on): Add fdopen-tests.
5607
5608         Tests for module 'vdprintf'.
5609         * modules/vdprintf-tests: New file.
5610         * tests/test-vdprintf.c: New file.
5611
5612         Tests for module 'dprintf'.
5613         * modules/dprintf-tests: New file.
5614         * tests/test-dprintf.c: New file.
5615
5616 2011-09-20  Bruno Haible  <bruno@clisp.org>
5617
5618         Tests for module 'ioctl'.
5619         * modules/ioctl-tests: New file.
5620         * tests/test-ioctl.c: New file.
5621
5622 2011-09-20  Bruno Haible  <bruno@clisp.org>
5623
5624         fcntl tests: EBADF tests.
5625         * tests/test-fcntl.c (main): Add more tests for EBADF.
5626
5627 2011-09-20  Bruno Haible  <bruno@clisp.org>
5628
5629         utimensat tests: EBADF tests.
5630         * tests/test-utimensat.c (main): Add tests for EBADF.
5631
5632         renameat tests: EBADF tests.
5633         * tests/test-renameat.c (main): Add tests for EBADF.
5634
5635         mkfifoat tests: EBADF tests.
5636         * tests/test-mkfifoat.c (main): Add tests for EBADF.
5637
5638         readlinkat tests: EBADF tests.
5639         * tests/test-readlinkat.c (main): Add tests for EBADF.
5640
5641         symlinkat tests: EBADF tests.
5642         * tests/test-symlinkat.c (main): Add tests for EBADF.
5643
5644         linkat tests: EBADF tests.
5645         * tests/test-linkat.c (main): Add tests for EBADF.
5646
5647         Tests for module 'faccessat'.
5648         * modules/faccessat-tests: New file.
5649         * tests/test-faccessat.c: New file.
5650
5651         fdopendir tests: EBADF tests.
5652         * tests/test-fdopendir.c (main): Add more tests for EBADF.
5653
5654         openat tests: EBADF tests.
5655         * tests/test-fchownat.c (main): Add tests for EBADF.
5656         * tests/test-fstatat.c (main): Likewise.
5657         * tests/test-mkdirat.c (main): Likewise.
5658         * tests/test-openat.c (main): Likewise.
5659         * tests/test-unlinkat.c (main): Likewise.
5660         * tests/test-fchmodat.c: New file.
5661         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
5662         (Makefile.am): Also run 'test-fchmodat'.
5663
5664 2011-09-20  Bruno Haible  <bruno@clisp.org>
5665
5666         utimens, futimens, fdutimensat tests: EBADF tests.
5667         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
5668
5669         Tests for function fstat().
5670         * modules/fstat-tests: New file.
5671         * tests/test-fstat.c: New file.
5672         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
5673
5674 2011-09-20  Bruno Haible  <bruno@clisp.org>
5675
5676         test-ttyname_r tests: EBADF tests.
5677         * tests/test-ttyname_r.c (main): Add tests for EBADF.
5678
5679         Tests for module 'isatty'.
5680         * modules/isatty-tests: New file.
5681         * tests/test-isatty.c: New file.
5682
5683         Tests for module 'write'.
5684         * modules/write-tests: New file.
5685         * tests/test-write.c: New file.
5686
5687         Tests for module 'read'.
5688         * modules/read-tests: New file.
5689         * tests/test-read.c: New file.
5690
5691         pwrite tests: EBADF tests.
5692         * tests/test-pwrite.c (main): Add tests for EBADF.
5693
5694         pread tests: EBADF tests.
5695         * tests/test-pread.c (main): Add tests for EBADF.
5696
5697         lseek tests: EBADF tests.
5698         * tests/test-lseek.c (main): Add more tests for EBADF.
5699
5700         Tests for module 'ftruncate'.
5701         * modules/ftruncate-tests: New file.
5702         * tests/test-ftruncate.sh: New file.
5703         * tests/test-ftruncate.c: New file.
5704
5705         fsync tests: EBADF tests.
5706         * tests/test-fsync.c (main): Add more tests for EBADF.
5707
5708         fdatasync tests: EBADF tests.
5709         * tests/test-fdatasync.c (main): Add more tests for EBADF.
5710
5711         Tests for module 'fchown'.
5712         * modules/fchown-tests: New file.
5713         * tests/test-fchown.c: New file.
5714
5715         Tests for module 'fchmod'.
5716         * modules/fchmod-tests: New file.
5717         * tests/test-fchmod.c: New file.
5718
5719         fchdir tests: EBADF tests.
5720         * tests/test-fchdir.c (main): Add more tests for EBADF.
5721
5722         dup2 tests: EBADF tests.
5723         * tests/test-dup2.c (main): Add more tests for EBADF.
5724
5725         Tests for module 'dup'.
5726         * modules/dup-tests: New file.
5727         * tests/test-dup.c: New file.
5728
5729         Tests for module 'close'.
5730         * modules/close-tests: New file.
5731         * tests/test-close.c: New file.
5732
5733 2011-09-20  Bruno Haible  <bruno@clisp.org>
5734
5735         Tests for module 'shutdown'.
5736         * modules/shutdown-tests: New file.
5737         * tests/test-shutdown.c: New file.
5738
5739         Tests for module 'setsockopt'.
5740         * modules/setsockopt-tests: New file.
5741         * tests/test-setsockopt.c: New file.
5742
5743         Tests for module 'sendto'.
5744         * modules/sendto-tests: New file.
5745         * tests/test-sendto.c: New file.
5746
5747         Tests for module 'send'.
5748         * modules/send-tests: New file.
5749         * tests/test-send.c: New file.
5750
5751         Tests for module 'recvfrom'.
5752         * modules/recvfrom-tests: New file.
5753         * tests/test-recvfrom.c: New file.
5754
5755         Tests for module 'recv'.
5756         * modules/recv-tests: New file.
5757         * tests/test-recv.c: New file.
5758
5759         Tests for module 'listen'.
5760         * modules/listen-tests: New file.
5761         * tests/test-listen.c: New file.
5762
5763         Tests for module 'getsockopt'.
5764         * modules/getsockopt-tests: New file.
5765         * tests/test-getsockopt.c: New file.
5766
5767         Tests for module 'getsockname'.
5768         * modules/getsockname-tests: New file.
5769         * tests/test-getsockname.c: New file.
5770
5771         Tests for module 'getpeername'.
5772         * modules/getpeername-tests: New file.
5773         * tests/test-getpeername.c: New file.
5774
5775         Tests for module 'connect'.
5776         * modules/connect-tests: New file.
5777         * tests/test-connect.c: New file.
5778
5779         Tests for module 'bind'.
5780         * modules/bind-tests: New file.
5781         * tests/test-bind.c: New file.
5782
5783         accept4 tests: Fix for native Windows.
5784         * tests/test-accept4.c: Include sockets.h.
5785         (main): Invoke gl_sockets_startup.
5786         * modules/accept4-tests (Depends-on): Add sockets.
5787
5788         accept tests: Fix for native Windows.
5789         * tests/test-accept.c: Include sockets.h.
5790         (main): Invoke gl_sockets_startup.
5791         * modules/accept-tests (Depends-on): Add sockets.
5792
5793 2011-09-19  Bruno Haible  <bruno@clisp.org>
5794
5795         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
5796         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
5797         do...while(0).
5798         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
5799         Suggested by Paul Eggert.
5800
5801 2011-09-19  Bruno Haible  <bruno@clisp.org>
5802
5803         sched: Ensure pid_t is defined.
5804         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
5805         not define pid_t.
5806         * lib/sched.in.h: Include <sys/types.h>.
5807         * doc/posix-headers/sched.texi: Mention the pid_t problem.
5808         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5809
5810 2011-09-19  Bruno Haible  <bruno@clisp.org>
5811
5812         msvc-inval: Ensure the entire expansion is a single statement.
5813         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
5814         of braces.
5815
5816 2011-09-19  Jim Meyering  <meyering@redhat.com>
5817
5818         tests: use printf, not echo in init.sh's warn_ function
5819         * tests/init.sh (warn_): Use printf, not echo.  The latter would
5820         misbehave when given strings containing a backslash or starting
5821         with e.g., -n.  James Youngman suggested setting IFS.
5822
5823 2011-09-19  Eric Blake  <eblake@redhat.com>
5824
5825         futimens: enhance test
5826         * tests/test-futimens.h (test_futimens): Also check for EBADF on
5827         closed non-negative fd.
5828
5829         date: accept 'hence' as opposite of 'ago'
5830         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
5831         * tests/test-parse-datetime.c (main): Enhance test.
5832         Suggested by Jesse Wilson.
5833
5834 2011-09-19  Jim Meyering  <meyering@redhat.com>
5835
5836         getcwd: don't fail in a deep directory on a system without openat
5837         Before this change, getcwd would fail when called from a directory
5838         of depth PATH_MAX / 3 or greater.  That was due to the fact that
5839         the non-openat implementation used "..", "../..", "../../..", etc.
5840         to access ancestor directories.  With too many, that string would
5841         be longer than PATH_MAX.
5842         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
5843         using gnulib's openat replacement.
5844         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
5845         we're using the replacement function.
5846
5847 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
5848
5849         maint.mk: avoid warnings from perl about missing files
5850         * top/maint.mk (def_sym_regex): Ignore files listed in
5851         $(gl_other_headers_) that do not exist, say because a project
5852         does not use a corresponding module.
5853
5854 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
5855
5856         stat: use pathmax.h only if needed
5857         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
5858         This is better for Emacs, which does not have a mingw port and
5859         therefore can avoid the pathmax module.
5860
5861         utimens: remove dependency on dup2
5862         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
5863         to work around the Linux kernel bug.
5864         * modules/utimens (Depends-on): Remove dup2.
5865
5866 2011-09-18  Bruno Haible  <bruno@clisp.org>
5867
5868         inet_ntop, inet_pton: Look for it also in libresolv.
5869         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
5870         libnsl, search for it in libresolv.
5871         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
5872         Needed on Solaris 7.
5873
5874 2011-09-18  Bruno Haible  <bruno@clisp.org>
5875
5876         accept, accept4 tests: Avoid link error on Solaris.
5877         * modules/accept-tests (Makefile.am): Link test-accept against
5878         $(LIBSOCKET).
5879         * modules/accept4-tests (Makefile.am): Link test-accept4 against
5880         $(LIBSOCKET).
5881
5882         accept4: Avoid link error on Solaris.
5883         * modules/accept4 (Link): New section.
5884
5885         socket functions: Avoid link errors on Solaris.
5886         * modules/accept (Depends-on): Add socketlib.
5887         (Link): New section.
5888         * modules/bind (Depends-on): Add socketlib.
5889         (Link): New section.
5890         * modules/connect (Depends-on): Add socketlib.
5891         (Link): New section.
5892         * modules/getpeername (Depends-on): Add socketlib.
5893         (Link): New section.
5894         * modules/getsockname (Depends-on): Add socketlib.
5895         (Link): New section.
5896         * modules/getsockopt (Depends-on): Add socketlib.
5897         (Link): New section.
5898         * modules/listen (Depends-on): Add socketlib.
5899         (Link): New section.
5900         * modules/recv (Depends-on): Add socketlib.
5901         (Link): New section.
5902         * modules/recvfrom (Depends-on): Add socketlib.
5903         (Link): New section.
5904         * modules/send (Depends-on): Add socketlib.
5905         (Link): New section.
5906         * modules/sendto (Depends-on): Add socketlib.
5907         (Link): New section.
5908         * modules/setsockopt (Depends-on): Add socketlib.
5909         (Link): New section.
5910         * modules/shutdown (Depends-on): Add socketlib.
5911         (Link): New section.
5912         * modules/socket (Depends-on): Add socketlib.
5913         (Link): New section.
5914
5915 2011-09-18  Bruno Haible  <bruno@clisp.org>
5916
5917         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
5918         * tests/test-ptsname.c (main): Terminate the test if it takes longer
5919         than 5 seconds.
5920         * modules/ptsname-tests (configure.ac): Test for alarm.
5921
5922 2011-09-18  Bruno Haible  <bruno@clisp.org>
5923
5924         posix_spawn_file_actions_add*: Fix module dependencies.
5925         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
5926         posix_spawn_file_actions_init.
5927         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
5928         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
5929
5930 2011-09-18  Bruno Haible  <bruno@clisp.org>
5931
5932         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
5933         * tests/test-rename.h (test_rename): Allow error code EEXIST.
5934         * tests/test-renameat.c (main): Likewise.
5935
5936 2011-09-18  Bruno Haible  <bruno@clisp.org>
5937
5938         Tests for module 'accept4'.
5939         * modules/accept4-tests: New file.
5940         * tests/test-accept4.c: New file.
5941
5942 2011-09-18  Bruno Haible  <bruno@clisp.org>
5943
5944         Tests for module 'accept'.
5945         * modules/accept-tests: New file.
5946         * tests/test-accept.c: New file.
5947
5948 2011-09-18  Bruno Haible  <bruno@clisp.org>
5949
5950         dup2: Support for MSVC.
5951         * lib/dup2.c: Include msvc-inval.h.
5952         (rpl_dup2): Handle invalid parameter notifications during dup2 and
5953         _get_osfhandle calls.
5954         * modules/dup2 (Depends-on): Add msvc-inval.
5955         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
5956
5957         New module 'msvc-inval'.
5958         * lib/msvc-inval.h: New file.
5959         * lib/msvc-inval.c: New file.
5960         * m4/msvc-inval.m4: New file.
5961         * modules/msvc-inval: New file.
5962
5963 2011-09-17  Bruno Haible  <bruno@clisp.org>
5964
5965         Tests for module 'pclose'.
5966         * modules/pclose-tests: New file.
5967
5968         New module 'pclose'.
5969         * lib/stdio.in.h (pclose): New declaration.
5970         * lib/pclose.c: New file.
5971         * m4/pclose.m4: New file.
5972         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
5973         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
5974         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
5975         * modules/pclose: New file.
5976         * modules/popen-tests (Depends-on): Add pclose.
5977         * modules/popen-safer-tests (Depends-on): Likewise.
5978         * doc/posix-functions/pclose.texi: Mention the new module.
5979
5980 2011-09-17  Bruno Haible  <bruno@clisp.org>
5981
5982         popen: Support for MSVC.
5983         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
5984         * lib/popen.c (popen): Provide alternate definition for native Windows.
5985         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
5986         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
5987         * modules/popen (Depends-on, configure.ac): Update condition.
5988         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
5989         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
5990         fixed.
5991
5992 2011-09-17  Bruno Haible  <bruno@clisp.org>
5993
5994         isnanl, isnand, isnanf: Work around MSVC bug.
5995         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
5996
5997 2011-09-17  Bruno Haible  <bruno@clisp.org>
5998
5999         sys_socket tests: Fix recent mistake.
6000         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
6001
6002 2011-09-17  Bruno Haible  <bruno@clisp.org>
6003
6004         putenv: Support for MSVC.
6005         * modules/putenv (Depends-on): Add environ.
6006         * lib/putenv.c (environ): Disable declaration.
6007         * lib/unistd.in.h: Update comment.
6008
6009 2011-09-17  Bruno Haible  <bruno@clisp.org>
6010
6011         math: Avoid macro redefinition warnings on MSVC.
6012         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
6013         Undefine before redefining.
6014
6015 2011-09-17  Bruno Haible  <bruno@clisp.org>
6016
6017         doc: Mention functions which are declared as macros.
6018         * doc/posix-functions/*[fl].texi: Mention that some functions are
6019         defined as macros with arguments only.
6020
6021 2011-09-17  Bruno Haible  <bruno@clisp.org>
6022
6023         Add dependencies to new dirent related modules.
6024         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
6025         * modules/fts (Depends-on): Likewise.
6026         * modules/glob (Depends-on): Likewise.
6027         * modules/savedir (Depends-on): Likewise.
6028         * modules/scandir (Depends-on): Likewise.
6029         * modules/dirent-safer (Depends-on): Add opendir, closedir.
6030         * modules/fdopendir (Depends-on): Add opendir.
6031
6032 2011-09-17  Bruno Haible  <bruno@clisp.org>
6033
6034         inet_pton: Support for MSVC on Windows Vista or newer.
6035         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
6036         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
6037         HAVE_DECL_INET_PTON is defined.
6038         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
6039         On platforms with <winsock2.h>, test whether inet_pton is declared in
6040         <ws2tcpip.h>. If so, arrange to replace it.
6041         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
6042         REPLACE_INET_PTON.
6043         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
6044         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
6045         (Depends-on, configure.ac): Update condition.
6046         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
6047
6048 2011-09-17  Bruno Haible  <bruno@clisp.org>
6049
6050         inet_ntop: Support for MSVC on Windows Vista or newer.
6051         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
6052         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
6053         HAVE_DECL_INET_NTOP is defined.
6054         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
6055         On platforms with <winsock2.h>, test whether inet_ntop is declared in
6056         <ws2tcpip.h>. If so, arrange to replace it.
6057         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
6058         REPLACE_INET_NTOP.
6059         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
6060         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
6061         (Depends-on, configure.ac): Update condition.
6062         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
6063
6064 2011-09-16  Eric Blake  <eblake@redhat.com>
6065
6066         test-fsync: yet another enhancement
6067         * tests/test-fsync.c (main): Also test behavior on read-only text
6068         file.
6069
6070 2011-09-16  Bruno Haible  <bruno@clisp.org>
6071
6072         Enhance fsync, fdatasync tests.
6073         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
6074         * tests/test-fdatasync.c (main): Likewise.
6075
6076 2011-09-16  Bruno Haible  <bruno@clisp.org>
6077
6078         Support for MSVC compiler: Ensure mode_t gets defined.
6079         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
6080         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6081         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
6082         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
6083         * tests/test-fcntl-h.c: Check that mode_t is defined.
6084         * tests/test-sys_stat.c: Likewise.
6085         * tests/test-sys_types.c: Likewise.
6086         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
6087         * doc/posix-headers/sys_stat.texi: Likewise.
6088         * doc/posix-headers/sys_types.texi: Likewise.
6089
6090 2011-09-16  Bruno Haible  <bruno@clisp.org>
6091
6092         sys_stat: Support for MSVC.
6093         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
6094         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
6095         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
6096         MSVC.
6097
6098 2011-09-16  Bruno Haible  <bruno@clisp.org>
6099
6100         Support for MSVC compiler: Ensure off_t gets defined.
6101         * lib/unistd.in.h: Include <sys/types.h>.
6102         * tests/test-fcntl-h.c: Check that off_t is defined.
6103         * tests/test-sys_stat.c: Likewise.
6104         * tests/test-sys_types.c: Likewise.
6105
6106 2011-09-16  Eric Blake  <eblake@redhat.com>
6107
6108         fdatasync: port to Solaris
6109         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
6110         * modules/fdatasync (Link): Document it.
6111         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
6112
6113         fdatasync: port to MacOS X 10.7
6114         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
6115         declared.
6116         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
6117         * modules/unistd (Makefile.am): Substitute it.
6118         * lib/unistd.in.h (fdatasync): Declare on MacOS.
6119         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
6120
6121         fdatasync: minor improvements
6122         * modules/fdatasync (Depends-on): Add condition for fsync.
6123         * lib/fdatasync.c (fdatasync): Add comment.
6124         * tests/test-unistd-c++.cc: Test fdatasync.
6125
6126         unistd: update refs to newer POSIX
6127         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
6128         Suggested by Bruno Haible.
6129
6130         fdatasync: new module
6131         * modules/fsync (Description): Document difference to fdatasync.
6132         * modules/fdatasync: New module.
6133         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
6134         * lib/fdatasync.c (fdatasync): Likewise.
6135         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
6136         defaults.
6137         * modules/unistd (Makefile.am): Set witnesses.
6138         * lib/unistd.in.h (fdatasync): Declare.
6139         * MODULES.html.sh: Document it.
6140         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
6141         * modules/fdatasync-tests: New test.
6142         * tests/test-fdatasync.c: Likewise.
6143
6144 2011-09-16  Eric Blake  <eblake@redhat.com>
6145
6146         test-fsync: enhance tests
6147         * modules/fsync-tests (Depends-on): Add errno, for mingw.
6148         * tests/test-fsync.c (main): Enhance test.
6149
6150 2011-09-15  Bruno Haible  <bruno@clisp.org>
6151
6152         Support for MSVC compiler: Ensure ssize_t gets defined.
6153         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
6154         * doc/posix-headers/stdio.texi: Likewise.
6155         * modules/stdio (Depends-on): Add ssize_t.
6156         * modules/sys_socket (Depends-on): Likewise.
6157         * modules/sys_types (Depends-on): Likewise.
6158         * modules/sys_uio (Depends-on): Likewise.
6159         * modules/unistd (Depends-on): Likewise.
6160         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
6161         * tests/test-sys_types.c: Check that ssize_t is defined.
6162
6163 2011-09-14  Bruno Haible  <bruno@clisp.org>
6164
6165         Avoid using #, the m4 comment starter character, near brackets.
6166         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
6167         delimiter character in sed expressions.
6168         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
6169         Suggested by Eric Blake.
6170
6171         Properly quote AC_CHECK_DECLS' 4th argument.
6172         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
6173         argument.
6174         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
6175         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
6176         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
6177         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
6178         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
6179         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
6180         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
6181         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
6182         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
6183         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
6184         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
6185         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
6186         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
6187         * m4/isinf.m4 (gl_ISINF): Likewise.
6188         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6189         * m4/readutmp.m4 (gl_READUTMP): Likewise.
6190         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
6191         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6192         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6193         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
6194         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
6195         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
6196         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
6197         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
6198         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
6199         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6200         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
6201         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
6202         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
6203         Reported by Eric Blake.
6204
6205         Properly quote AC_CHECK_DECL's 4th argument.
6206         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
6207         argument.
6208         * m4/argp.m4 (gl_ARGP): Likewise.
6209         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
6210         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
6211         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
6212         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
6213         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
6214         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
6215         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
6216         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
6217         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
6218         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
6219         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
6220         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
6221         Reported by Eric Blake.
6222
6223 2011-09-14  Eric Blake  <eblake@redhat.com>
6224
6225         opendir: avoid compile warning
6226         * lib/opendir.c (includes): Always include errno.h.
6227         Reported by Tatsuro MATSUOKA.
6228
6229 2011-09-14  Jim Meyering  <meyering@redhat.com>
6230
6231         maint.mk: sc_tight_scope: propagate failure from sub-make
6232         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
6233         Reported by Martin von Gagern.
6234
6235 2011-09-13  Bruno Haible  <bruno@clisp.org>
6236
6237         tempname: Support for MSVC.
6238         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
6239         MSVC.
6240         * modules/tempname (Depends-on): Add fcntl-h.
6241
6242 2011-09-13  Bruno Haible  <bruno@clisp.org>
6243
6244         sys_time: Support for MSVC.
6245         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
6246         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
6247         include <winsock2.h>.
6248         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
6249         function declarations that collide with POSIX.
6250         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
6251         (Makefile.am): Substitute HAVE_WINSOCK2_H.
6252
6253 2011-09-13  Bruno Haible  <bruno@clisp.org>
6254
6255         stat: Support for MSVC.
6256         * lib/stat.c: Include pathmax.h.
6257         * modules/stat (Depends-on): Add pathmax.
6258
6259         pathmax: Support for native Windows.
6260         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
6261
6262 2011-09-12  Bruno Haible  <bruno@clisp.org>
6263
6264         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
6265         * lib/dirent.in.h (struct dirent): New type.
6266         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
6267         DT_WHT): New macros.
6268         (DIR): New type.
6269         (opendir, closedir): Declare only if the module 'opendir' is enabled.
6270         (readdir, rewinddir): New declarations.
6271         * lib/dirent-private.h: New file.
6272         * lib/opendir.c: New file.
6273         * lib/readdir.c: New file.
6274         * lib/rewinddir.c: New file.
6275         * lib/closedir.c: New file.
6276         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
6277         * m4/opendir.m4: New file.
6278         * m4/readdir.m4: New file.
6279         * m4/rewinddir.m4: New file.
6280         * m4/closedir.m4: New file.
6281         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
6282         REPLACE_CLOSEDIR here.
6283         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
6284         readdir, rewinddir are declared.
6285         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
6286         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
6287         HAVE_REWINDDIR, HAVE_CLOSEDIR.
6288         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
6289         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
6290         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
6291         * modules/opendir: New file.
6292         * modules/readdir: New file.
6293         * modules/rewinddir: New file.
6294         * modules/closedir: New file.
6295         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
6296         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
6297         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
6298         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
6299         * NEWS: Mention the 'fchdir' change.
6300
6301 2011-09-11  Bruno Haible  <bruno@clisp.org>
6302
6303         asm-underscore.m4: Support for MSVC.
6304         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
6305         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
6306
6307 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
6308
6309         Doc about crypt functions.
6310         * doc/posix-functions/crypt.texi: Expand range of glibc versions
6311         needing for _GNU_SOURCE to get crypt.
6312         * doc/posix-functions/encrypt.texi: Likewise.
6313         * doc/posix-functions/setkey.texi: Likewise.
6314
6315 2011-09-11  Bruno Haible  <bruno@clisp.org>
6316
6317         doc: Update regarding MSVC 9.
6318         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
6319         tested".
6320         * doc/posix-functions/*.texi: Update with info about MSVC 9.
6321         * doc/posix-headers/*.texi: Likewise.
6322         * doc/pastposix-functions/*.texi: Likewise.
6323         * doc/glibc-functions/*.texi: Likewise.
6324         * doc/glibc-headers/*.texi: Likewise.
6325
6326 2011-09-11  Bruno Haible  <bruno@clisp.org>
6327
6328         unistd et al.: Don't assume <unistd.h> exists.
6329         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
6330         does not exist.
6331         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
6332         exist. But include <stdlib.h>.
6333         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
6334         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
6335         symlink() does not exist.
6336         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
6337         include <io.h> instead.
6338         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
6339         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
6340         include <direct.h> instead.
6341         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
6342         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
6343         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
6344         <io.h> instead.
6345         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
6346         correctly if the system does not have hard links.
6347         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
6348         <direct.h> instead.
6349         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
6350         it when looking for function declarations.
6351         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
6352         <direct.h> and <io.h> instead.
6353         * doc/posix-headers/unistd.texi: More details about MSVC problem.
6354
6355 2011-09-11  Bruno Haible  <bruno@clisp.org>
6356
6357         strcase: Support for MSVC.
6358         * modules/strcase (Status, Notice): Remove obsoletion mark.
6359         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
6360         * doc/posix-functions/strncasecmp.texi: Likewise.
6361
6362         strings: Don't assume <strings.h> exists.
6363         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
6364         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
6365         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
6366         * doc/posix-headers/strings.texi: Mention the MSVC problem.
6367
6368 2011-09-11  Bruno Haible  <bruno@clisp.org>
6369
6370         dirent: Don't assume <dirent.h> exists.
6371         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
6372         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
6373         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
6374         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
6375
6376 2011-09-11  Bruno Haible  <bruno@clisp.org>
6377
6378         Fix wint_t on MSVC.
6379         * lib/wchar.in.h (wint_t): On MSVC, override it.
6380         * lib/wctype.in.h (wint_t): Likewise.
6381         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
6382         MSVC.
6383         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
6384         * doc/posix-headers/wctype.texi: Likewise.
6385
6386 2011-09-11  Bruno Haible  <bruno@clisp.org>
6387
6388         sys_types: Fix typo.
6389         * lib/sys_types.in.h: Fix typo in comment.
6390         Reported by Paul Eggert.
6391
6392         Support for MSVC compiler: Ensure size_t gets defined.
6393         * modules/strings (Depends-on): Add 'sys_types'.
6394         * modules/sys_uio (Depends-on): Likewise.
6395         * lib/sys_uio.in.h: Update comment.
6396
6397         C++ tests for module 'sys_types'.
6398         * modules/sys_types-c++-tests: New file.
6399         * tests/test-sys_types-c++.cc: New file.
6400
6401         Tests for module 'sys_types'.
6402         * modules/sys_types-tests: New file.
6403         * tests/test-sys_types.c: New file.
6404
6405         New module 'sys_types'.
6406         * lib/sys_types.in.h: New file.
6407         * m4/sys_types_h.m4: New file.
6408         * modules/sys_types: New file.
6409         * doc/posix-headers/sys_types.texi: Mention the new module and the
6410         size_t problem on MSVC 9.
6411
6412 2011-09-11  Bruno Haible  <bruno@clisp.org>
6413
6414         Support for MSVC compiler: Avoid division by a literal 0.
6415         * lib/math.in.h (NAN): Define through a function call also on MSVC.
6416         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
6417         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
6418         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
6419         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
6420         * tests/infinity.h: New file.
6421         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
6422         on MSVC.
6423         * tests/test-ceilf1.c: Include infinity.h.
6424         (main): Use Infinityf.
6425         * tests/test-ceil1.c: Include infinity.h.
6426         (main): Use Infinityd.
6427         * tests/test-ceill.c: Include infinity.h.
6428         (main): Use Infinityl.
6429         * tests/test-dprintf-posix.c: Include infinity.h.
6430         (test_function): Use Infinityd.
6431         * tests/test-floorf1.c: Include infinity.h.
6432         (main): Use Infinityf.
6433         * tests/test-floor1.c: Include infinity.h.
6434         (main): Use Infinityd.
6435         * tests/test-floorl.c: Include infinity.h.
6436         (main): Use Infinityl.
6437         * tests/test-fprintf-posix.c: Include infinity.h.
6438         (test_function): Use Infinityd.
6439         * tests/test-frexp.c: Include infinity.h.
6440         (main): Use Infinityd.
6441         * tests/test-frexpl.c: Include infinity.h.
6442         (main): Use Infinityl.
6443         * tests/test-isfinite.c: Include infinity.h.
6444         (test_isfinitef): Use Infinityf.
6445         (test_isfinited): Use Infinityd.
6446         (test_isfinitel): Use Infinityl.
6447         * tests/test-isinf.c: Include infinity.h.
6448         (test_isinff): Use Infinityf.
6449         (test_isinfd): Use Infinityd.
6450         (test_isinfl): Use Infinityl.
6451         * tests/test-isnan.c: Include infinity.h.
6452         (test_float): Use Infinityf.
6453         (test_double): Use Infinityd.
6454         (test_long_double): Use Infinityl.
6455         * tests/test-isnanf.h: Include infinity.h.
6456         (main): Use Infinityf.
6457         * tests/test-isnand.h: Include infinity.h.
6458         (main): Use Infinityd.
6459         * tests/test-isnanl.h: Include infinity.h.
6460         (main): Use Infinityl.
6461         * tests/test-ldexpl.c: Include infinity.h.
6462         (main): Use Infinityl.
6463         * tests/test-printf-posix.h: Include infinity.h.
6464         (test_function): Use Infinityd.
6465         * tests/test-roundf1.c: Include infinity.h.
6466         (main): Use Infinityf.
6467         * tests/test-round1.c: Include infinity.h.
6468         (main): Use Infinityd.
6469         * tests/test-roundl.c: Include infinity.h.
6470         (main): Use Infinityl.
6471         * tests/test-signbit.c: Include infinity.h.
6472         (test_signbitf): Use Infinityf.
6473         (test_signbitd): Use Infinityd.
6474         (test_signbitl): Use Infinityl.
6475         * tests/test-snprintf-posix.h: Include infinity.h.
6476         (test_function): Use Infinityd, Infinityl.
6477         * tests/test-sprintf-posix.h: Include infinity.h.
6478         (test_function): Use Infinityd, Infinityl.
6479         * tests/test-truncf1.c: Include infinity.h.
6480         (main): Use Infinityf.
6481         * tests/test-trunc1.c: Include infinity.h.
6482         (main): Use Infinityd.
6483         * tests/test-truncl.c: Include infinity.h.
6484         (main): Use Infinityl.
6485         * tests/test-vasnprintf-posix.c: Include infinity.h.
6486         (test_function): Use Infinityd, Infinityl.
6487         * tests/test-vasprintf-posix.c: Include infinity.h.
6488         (test_function): Use Infinityd, Infinityl.
6489         * modules/ceilf-tests (Files): Add tests/infinity.h.
6490         * modules/ceil-tests (Files): Likewise.
6491         * modules/ceill-tests (Files): Likewise.
6492         * modules/dprintf-posix-tests (Files): Likewise.
6493         * modules/floorf-tests (Files): Likewise.
6494         * modules/floor-tests (Files): Likewise.
6495         * modules/floorl-tests (Files): Likewise.
6496         * modules/fprintf-posix-tests (Files): Likewise.
6497         * modules/frexp-tests (Files): Likewise.
6498         * modules/frexp-nolibm-tests (Files): Likewise.
6499         * modules/frexpl-tests (Files): Likewise.
6500         * modules/frexpl-nolibm-tests (Files): Likewise.
6501         * modules/isfinite-tests (Files): Likewise.
6502         * modules/isinf-tests (Files): Likewise.
6503         * modules/isnan-tests (Files): Likewise.
6504         * modules/isnanf-tests (Files): Likewise.
6505         * modules/isnanf-nolibm-tests (Files): Likewise.
6506         * modules/isnand-tests (Files): Likewise.
6507         * modules/isnand-nolibm-tests (Files): Likewise.
6508         * modules/isnanl-tests (Files): Likewise.
6509         * modules/isnanl-nolibm-tests (Files): Likewise.
6510         * modules/ldexpl-tests (Files): Likewise.
6511         * modules/printf-posix-tests (Files): Likewise.
6512         * modules/roundf-tests (Files): Likewise.
6513         * modules/round-tests (Files): Likewise.
6514         * modules/roundl-tests (Files): Likewise.
6515         * modules/signbit-tests (Files): Likewise.
6516         * modules/snprintf-posix-tests (Files): Likewise.
6517         * modules/sprintf-posix-tests (Files): Likewise.
6518         * modules/truncf-tests (Files): Likewise.
6519         * modules/trunc-tests (Files): Likewise.
6520         * modules/truncl-tests (Files): Likewise.
6521         * modules/vasnprintf-posix-tests (Files): Likewise.
6522         * modules/vasprintf-posix-tests (Files): Likewise.
6523         * modules/vdprintf-posix-tests (Files): Likewise.
6524         * modules/vfprintf-posix-tests (Files): Likewise.
6525         * modules/vprintf-posix-tests (Files): Likewise.
6526         * modules/vsnprintf-posix-tests (Files): Likewise.
6527         * modules/vsprintf-posix-tests (Files): Likewise.
6528         * modules/xprintf-posix-tests (Files): Likewise.
6529
6530 2011-09-11  Bruno Haible  <bruno@clisp.org>
6531
6532         Ensure pid_t gets defined.
6533         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
6534         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
6535         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
6536         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6537         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
6538         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
6539         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
6540         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6541         * tests/test-fcntl-h.c: Check that pid_t is defined.
6542         * tests/test-sched.c: Likewise.
6543         * tests/test-termios.c: Likewise.
6544         * tests/test-time.c: Likewise.
6545         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
6546         * doc/posix-headers/signal.texi: Likewise.
6547         * doc/posix-headers/sys_types.texi: Likewise.
6548         * doc/posix-headers/time.texi: Likewise.
6549
6550 2011-09-11  Bruno Haible  <bruno@clisp.org>
6551
6552         acl: Fix compilation on Solaris 10 (older version).
6553         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
6554         of ACE_EVERYONE.
6555         * lib/set-mode-acl.c (qset_acl): Likewise.
6556         Reported by Christian Jullien <eligis@orange.fr>.
6557
6558 2011-09-10  Bruno Haible  <bruno@clisp.org>
6559
6560         iconv, unsetenv: Add support for MSVC compiler.
6561         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
6562         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
6563
6564 2011-09-10  Bruno Haible  <bruno@clisp.org>
6565
6566         *printf: Add support for MSVC compiler.
6567         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
6568         handles the exception caused by the %n directive. When cross-compiling,
6569         guess no on native Windows.
6570         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
6571         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
6572         emulate it through vsnprintf.
6573         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
6574         * doc/posix-functions/dprintf.texi: Update documentation regarding
6575         MSVC 9.
6576         * doc/posix-functions/fprintf.texi: Likewise.
6577         * doc/posix-functions/printf.texi: Likewise.
6578         * doc/posix-functions/snprintf.texi: Likewise.
6579         * doc/posix-functions/sprintf.texi: Likewise.
6580         * doc/posix-functions/swprintf.texi: Likewise.
6581         * doc/posix-functions/vdprintf.texi: Likewise.
6582         * doc/posix-functions/vfprintf.texi: Likewise.
6583         * doc/posix-functions/vprintf.texi: Likewise.
6584         * doc/posix-functions/vsnprintf.texi: Likewise.
6585         * doc/posix-functions/vsprintf.texi: Likewise.
6586         * doc/glibc-functions/asprintf.texi: Likewise.
6587         * doc/glibc-functions/obstack_printf.texi: Likewise.
6588         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
6589         * doc/glibc-functions/vasprintf.texi: Likewise.
6590
6591 2011-09-10  Bruno Haible  <bruno@clisp.org>
6592
6593         nocrash: Add support for native Windows.
6594         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
6595
6596 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
6597             Bruno Haible  <bruno@clisp.org>
6598
6599         absolute-header, include-next: Add support for MSVC compiler.
6600         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
6601         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
6602         directory separator in #line directives.
6603         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
6604         recognize also backslash as directory separator in #line directives.
6605
6606 2011-09-08  Jim Meyering  <meyering@redhat.com>
6607
6608         maint.mk: mark the post-release commit log with "maint: " prefix
6609         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
6610         one-line commit-log summary.
6611
6612 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
6613             Bruno Haible  <bruno@clisp.org>
6614
6615         Doc about crypt functions.
6616         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
6617         systems.
6618         * doc/posix-functions/encrypt.texi: Likewise.
6619         * doc/posix-functions/setkey.texi: Likewise.
6620
6621 2011-09-08  Simon Josefsson  <simon@josefsson.org>
6622
6623         * lib/gc.h: Fix copyright header.
6624
6625 2011-09-07  Bruno Haible  <bruno@clisp.org>
6626
6627         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
6628         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
6629         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
6630
6631 2011-09-07  Bruno Haible  <bruno@clisp.org>
6632
6633         openat: Work around compilation error with OSF/1 5.1 DTK cc.
6634         * lib/fopen.c: Use different syntax for include of <stdio.h>.
6635         * lib/freopen.c: Likewise.
6636         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
6637         * lib/lstat.c: Likewise.
6638         * lib/stat.c: Likewise.
6639         * lib/open.c: Use different syntax for include of <fcntl.h>.
6640         * lib/openat.c: Include fcntl.h again, explicitly.
6641
6642 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
6643
6644         parse-datetime: document the newly accepted format
6645         * doc/parse-datetime.texi (Combined date and time of day items):
6646         New section.
6647
6648 2011-09-06  Bruno Haible  <bruno@clisp.org>
6649
6650         acl: Fix a test failure on newer Solaris 10 with ZFS.
6651         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
6652         ENOSYS as no ACL.
6653         Reported by Jim Meyering.
6654
6655 2011-09-06  Bruno Haible  <bruno@clisp.org>
6656
6657         acl: Update for AIX >= 5.3 with NFS.
6658         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
6659         ENOSYS as no ACL.
6660
6661         acl: Fix a test failure on AIX >= 5.3 with NFS.
6662         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
6663         as no ACL.
6664
6665 2011-09-06  Bruno Haible  <bruno@clisp.org>
6666
6667         acl: Fix a test failure on IRIX 6.5 with NFS.
6668         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
6669         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
6670         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
6671         * lib/copy-acl.c (qcopy_acl): Likewise.
6672
6673 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
6674
6675         openat: port to AIX 7.1 with large files
6676         AIX 7.1 does a "#define openat open64at" if large files are in use,
6677         so we can't simply #undef openat.  Use the orig_openat trick (similar
6678         to orig_open in lib/open.c) to work around the problem.  Problem
6679         reported by Kevin Brott for GNU tar, in the thread containing
6680         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
6681         * lib/openat.c (__need_system_fcntl_h): Define first.
6682         Include <fcntl.h> and <sys/types.h> before undefining.
6683         (orig_openat) [HAVE_OPENAT]: New inline function.
6684         (openat) [HAVE_OPENAT]: Do not undef.
6685         (rpl_openat): Use orig_openat, not openat.
6686
6687 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
6688             Bruno Haible  <bruno@clisp.org>
6689
6690         acl: Avoid errors on NonStop Kernel.
6691         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
6692         ENOTSUP errors.
6693
6694 2011-09-05  Bruno Haible  <bruno@clisp.org>
6695
6696         acl: Clean up Solaris code.
6697         * lib/acl-internal.h: Remove no-op #if.
6698         * lib/file-has-acl.c: Likewise.
6699         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
6700         * lib/copy-acl.c (qcopy_acl): Likewise.
6701
6702 2011-09-05  Bruno Haible  <bruno@clisp.org>
6703
6704         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
6705         binaries built on the original Solaris 10.
6706         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
6707         trivial.
6708
6709 2011-09-05  Bruno Haible  <bruno@clisp.org>
6710
6711         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
6712         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
6713         10.
6714         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
6715         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
6716         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
6717         instead of acl_get, facl_get, acl_set, facl_set.
6718
6719 2011-09-05  Bruno Haible  <bruno@clisp.org>
6720
6721         copy-file: Try unit tests on more file systems.
6722         * tests/test-copy-file-1.sh: New file.
6723         * tests/test-copy-file-2.sh: New file.
6724         * modules/copy-file-tests (Files): Add them.
6725         (Makefile.am): Add them to TESTS.
6726
6727         acl: Try unit tests on more file systems.
6728         * tests/test-file-has-acl-1.sh: New file.
6729         * tests/test-file-has-acl-2.sh: New file.
6730         * tests/test-set-mode-acl-1.sh: New file.
6731         * tests/test-set-mode-acl-2.sh: New file.
6732         * tests/test-copy-acl-1.sh: New file.
6733         * tests/test-copy-acl-2.sh: New file.
6734         * modules/acl-tests (Files): Add them.
6735         (Makefile.am): Add them to TESTS.
6736
6737 2011-09-04  Bruno Haible  <bruno@clisp.org>
6738
6739         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
6740         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
6741         10.
6742         (OLD_ALLOW, OLD_DENY): New macros.
6743         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
6744         ACE_ACCESS_ALLOWED_ACE_TYPE.
6745         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
6746         ACE_ACCESS_DENIED_ACE_TYPE.
6747         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
6748         (NEW_ACE_EXECUTE): Fix value.
6749         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
6750         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
6751         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
6752         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
6753         NEW_ACE_SYNCHRONIZE): New macros.
6754         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
6755         instead of acl_fromtext, acl_set, facl_set.
6756         Fixes a coreutils/tests/cp/perm failure.
6757
6758 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
6759
6760         openat: test for fstatat (..., 0) bug
6761         Further testing with tar suggests that fstatat (..., 0)
6762         does not work in general, on AIX 7.1; see
6763         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
6764         So, give up entirely on AIX 7.1's fstatat, and fall back on our
6765         replacement fstatat (which is what older AIX releases were using
6766         anyway).
6767         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
6768         use is now changed to orig_fstatat.  This was probably the right
6769         thing to do anyway.
6770         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
6771         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
6772         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
6773         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
6774         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
6775         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
6776         if the bug is found.
6777
6778         openat: test for fstatat (AT_FDCWD, ..., 0) bug
6779         This tests for another fstatat bug on AIX 7.1:
6780         fstatat (AT_FDCWD, ..., 0) does not work.  See
6781         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
6782         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
6783         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
6784         (rpl_fstatat): Adjust so that it works around either (or both)
6785         bugs if present.
6786         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
6787
6788 2011-09-03  Karl Berry  <karl@gnu.org>
6789
6790         * doc/regex.texi (Character Class Operators): Avoid literal ":"
6791         in index entries.
6792
6793 2011-09-02  Bruno Haible  <bruno@clisp.org>
6794
6795         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
6796         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
6797         values of AR, ARFLAGS, RANLIB.
6798         Reported by John W. Eaton <jwe@gnu.org> for Octave.
6799
6800 2011-09-02  Bruno Haible  <bruno@clisp.org>
6801
6802         Find 'ar' program that fits with --host argument.
6803         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
6804
6805 2011-09-02  Bruno Haible  <bruno@clisp.org>
6806
6807         tests: init.sh: Support any non-GNU diff.
6808         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
6809         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
6810         Solaris 8.
6811
6812 2011-09-02  Bruno Haible  <bruno@clisp.org>
6813
6814         tests: init.sh: work also with any non-GNU diff that supports -u
6815         * tests/init.sh: Relax check for diff -u support.
6816         Rather than checking for GNU diff via --version, simply check
6817         for support for -u itself.  Useful at least on OpenBSD 4.9,
6818         AIX 7.1, IRIX 6.5, and Solaris 10.
6819
6820 2011-09-01  Bruno Haible  <bruno@clisp.org>
6821
6822         strtoimax, strtoumax: Document problem on HP-UX 11.
6823         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
6824         * doc/posix-functions/strtoumax.texi: Likewise.
6825
6826 2011-09-01  Bruno Haible  <bruno@clisp.org>
6827
6828         strtoumax: Avoid link error on OSF/1 with DTK cc.
6829         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
6830         defined as a function.
6831         * modules/strtoumax (Depends-on, configure.ac): Test only whether
6832         strtoumax is defined, not whether it is declared.
6833
6834 2011-09-01  Bruno Haible  <bruno@clisp.org>
6835
6836         strtoimax: Avoid link error on OSF/1 with DTK cc.
6837         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
6838         defined as a function.
6839         * modules/strtoimax (Depends-on, configure.ac): Test only whether
6840         strtoimax is defined, not whether it is declared.
6841
6842 2011-09-01  Bruno Haible  <bruno@clisp.org>
6843
6844         imaxdiv: Avoid link error on OSF/1 with DTK cc.
6845         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
6846         as a function.
6847         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
6848         whether it is declared.
6849
6850 2011-09-01  Bruno Haible  <bruno@clisp.org>
6851
6852         imaxabs: Avoid link error on OSF/1 with DTK cc.
6853         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
6854         as a function.
6855         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
6856         whether it is declared.
6857
6858 2011-09-01  Bruno Haible  <bruno@clisp.org>
6859
6860         Tests for module 'strtoumax'.
6861         * modules/strtoumax-tests: New file.
6862         * tests/test-strtoumax.c: New file.
6863
6864         Tests for module 'strtoimax'.
6865         * modules/strtoimax-tests: New file.
6866         * tests/test-strtoimax.c: New file.
6867
6868         Tests for module 'imaxdiv'.
6869         * modules/imaxdiv-tests: New file.
6870         * tests/test-imaxdiv.c: New file.
6871
6872         Tests for module 'imaxabs'.
6873         * modules/imaxabs-tests: New file.
6874         * tests/test-imaxabs.c: New file.
6875
6876 2011-09-01  Bruno Haible  <bruno@clisp.org>
6877
6878         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
6879         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
6880         pthread_create.
6881
6882 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6883
6884         openat: work around AIX 7.1 fstatat issue
6885         This should fix the problem that was not properly fixed
6886         in the previous change, dated 2011-08-30.
6887         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
6888         __need_system_stat_h defined.
6889         (orig_fstatat) [HAVE_FSTATAT]: New function.
6890         (rpl_fstatat): Go back to the old way of doing things,
6891         except call orig_fstatat instead of fstatat.
6892         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
6893         Remove unnecessary check whether fstatat fills in st_size etc.
6894
6895 2011-09-01  Bruno Haible  <bruno@clisp.org>
6896
6897         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
6898         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
6899         just include the system's header.
6900
6901 2011-08-31  Jim Meyering  <meyering@redhat.com>
6902
6903         tests: avoid spurious assertion failure in test-float.c on ppc64
6904         * tests/test-float.c (test_long_double): Comment out an assertion,
6905         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
6906         with gcc-4.4.4.
6907
6908         maint: indent with spaces, not TABs
6909         I need to get in the habit of running gnulib's "make check".
6910         Both of these would have been caught.
6911         * m4/largefile.m4: Indent with spaces, not TABs.
6912         * lib/parse-datetime.y (iso_8601_time): Likewise.
6913         Spotted by Pádraig Brady.
6914
6915         test-parse-datetime.c: accommodate a relatively strict gcc warning
6916         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
6917         to avoid a warning from gcc's -Werror=missing-declarations.
6918         Insert a few spaces-before-funcall-parenthesis.
6919
6920 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
6921
6922         parse-datetime: accept ISO 8601 date and time rep with "T" separator
6923         The parser now accepts ISO 8601 date-time strings with "T" as the
6924         separator.  It has long parsed dates like "2004-02-29 16:21:42"
6925         with a space between the date and time strings.  Now it also parses
6926         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
6927         variants like "2004-02-29T16:21:42.333-07:00"
6928         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
6929         of day representation using the 'T' separator character.
6930         * doc/parse-datetime.texi (General date syntax): replace use of
6931         deprecated --iso-8601 option with --rfc-3339 in example of date
6932         command output formats that can be parsed.
6933         * tests/test-parse-datetime.c (tm_diff): New function, taken from
6934         lib/parse-datetime.y.
6935         (gmt_offset): New function.
6936         (main): Add additional test cases to validate ISO8601 extended
6937         date and time of day parsing.
6938
6939 2011-08-31  Bruno Haible  <bruno@clisp.org>
6940
6941         freopen: Documentation.
6942         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
6943         name.
6944         Reported by Claudio Bley <claudio.bley@gmail.com>.
6945
6946 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
6947
6948         freopen: Don't crash if the filename argument is NULL.
6949         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
6950         NULL.
6951
6952 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6953
6954         openat: work around AIX 7.1 fstatat bug
6955         Problem reported by Kevin Brott for GNU tar, in the thread containing
6956         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
6957         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
6958         FSTATAT_ST_SIZE_ETC_BROKEN.
6959         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
6960         rpl_fstatat.
6961         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
6962         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
6963         AC_CHECK_FUNCS_ONCE for fstatat.
6964         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
6965         fchmodat, mkdirat, openat and unlinkat.
6966
6967 2011-08-30  Bruno Haible  <bruno@clisp.org>
6968
6969         Avoid endless recursions if config.h includes some header files.
6970         * lib/fopen.c (__need_FILE): Define already before including config.h.
6971         * lib/freopen.c (__need_FILE): Likewise.
6972         * lib/open.c (__need_system_fcntl_h): Likewise.
6973         * lib/stat.c (__need_system_sys_stat_h): Likewise.
6974         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
6975         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6976
6977 2011-08-25  Karl Berry  <karl@gnu.org>
6978
6979         * config/srclist.txt (ylwrap): new try.
6980         * build-aux/ylwrap: new file.
6981
6982 2011-08-23  Bruno Haible  <bruno@clisp.org>
6983
6984         tmpdir: Use a good default directory on native Windows.
6985         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
6986         (P_tmpdir): Default to _P_tmpdir on native Windows.
6987         (path_search): On native Windows, try the value returned by GetTempPath
6988         before trying P_tmpdir.
6989         * modules/tmpdir (Depends-on): Add pathmax.
6990         Suggested by John Darrington <john@darrington.wattle.id.au>.
6991
6992 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
6993
6994         doc: fix typo in README-release
6995         * top/README-release: Capitalize first word of a sentence.
6996
6997 2011-08-19  Jim Meyering  <meyering@redhat.com>
6998
6999         fts: do not exhaust memory when processing million-entry directories
7000         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
7001         directory would require about 256*N bytes of memory.  Thus, it was
7002         easy to construct a directory too large to be processed by any of
7003         those tools.  With this change, fts' maximum memory utilization is
7004         now limited to around 30MB.
7005         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
7006         (fts_read): When we've processed the final entry (i.e., when
7007         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
7008         using the parent entry to read any remaining entries.  Dispatch
7009         depending on what fts_build returns:
7010         - NULL+stop, aka failure: stop
7011         - NULL otherwise: move up in the dir hierarchy
7012         - non-NULL: handle this new entry
7013         (fts_build): Declare and use new local, continue_readdir.
7014         Prepare to be called from fts_read, when the entries
7015         from a partially-read directory have just been exhausted.
7016         In that case, we'll skip the opendir and instead use the parent's
7017         fts_dirp and derive dir_fd from that.
7018         Finally, in the readdir loop, if we read max_entries entries,
7019         exit the loop ensuring *not* to call closedir.  This is required
7020         so that fts_dirp can be reused on a subsequent call.
7021         Prompted by Ben England's report of memory exhaustion in find
7022         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
7023
7024         maint: fts: move decl of `dp' down into while loop; split a long line
7025         * lib/fts.c (fts_build): No semantic change.
7026
7027         fts: add/use new struct member, fts_dirp
7028         We are about to use this to manage any directory with
7029         too many entries to read all of them into memory at once.
7030         To do that, we'll need to save the DIR* pointer in each
7031         affected FTSENT struct.
7032         * lib/fts_.h: Include <dirent.h>.
7033         (struct FTSENT) [fts_dirp]: New member.
7034         * lib/fts.c (closedir_and_clear): Define.
7035         Use it in place of closedir so that we are sure to
7036         clear the new fts_dirp member when done with it.
7037         (fts_alloc): Initialize the new member.
7038         (fts_lfree): Free, if needed.
7039
7040         maint: fts: give __opendir2 a new parameter and rename
7041         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
7042         than surreptitiously using sole caller's "dir_fd".
7043         (fts_opendir): Rename from __opendir2.
7044
7045         maint: fts.c: remove __opendir2's now-unused parameter, oflag
7046         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
7047
7048         maint: fts.c: correct off-by-one indentation
7049         * lib/fts.c (fts_build): Correct indentation, change style
7050         of a couple of block comments, and bracing style.
7051
7052         maint: fts.c: move __opendir2 #define "up" out of function body
7053         * lib/fts.c (__opendir2): Move "up".  No semantic change.
7054
7055         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
7056         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
7057         out for a long time and besides was useful only on BSD systems.
7058
7059 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
7060
7061         regex: port to Stratus OpenVOS
7062         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
7063         define to empty, rather than attempting nonportable optimizations.
7064         Problem reported by Paul Green in:
7065         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
7066         and fix suggested by Eric Blake in:
7067         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
7068
7069 2011-08-17  Eric Blake  <eblake@redhat.com>
7070
7071         getcwd: fix test failures on mingw
7072         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
7073         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
7074         test if long directory cannot be created, and allow mingw errno.
7075
7076         getcwd-lgpl: fix m4 to match relaxed test for BSD
7077         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
7078         (gl_FUNC_GETCWD_SIGNATURE): New macro.
7079         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
7080         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
7081         signature problem.
7082
7083         getcwd: fix compilation on mingw64
7084         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
7085         getcwd.
7086         Reported by Marc-André Lureau.
7087
7088         pipe2: silence compiler warning
7089         * lib/pipe2.c (pipe2): Hide label if it is not used.
7090
7091 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
7092
7093         relocatable-prog: fix link error
7094         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
7095         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
7096         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
7097         into modules/relocatable-lib without noticing that
7098         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
7099         also needs to build relocatable.c.
7100
7101 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
7102
7103         getaddrinfo: fix sh typo in gai_strerrorA decl checking
7104         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
7105         shell code: it contained a 'break' that was not in a loop.
7106         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
7107         via a shell-language loop; this may have been true in old Autoconf
7108         versions, but it's not true in Autoconf 2.68.  I found this bug
7109         when testing coreutils git on Solaris 8, whose shell complains
7110         about the syntax error.
7111
7112 2011-08-12  Simon Josefsson  <simon@josefsson.org>
7113
7114         * lib/base64.c: Fix comment to reference RFC 4648.
7115         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
7116         <gvtulder@gmail.com>.
7117
7118 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
7119
7120         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
7121
7122         po/Makefile.in.in: fix make -q problem
7123         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
7124         rule, since there's no file named 'check-macro-version' and its
7125         use as a file breaks make -q.
7126         (all): Don't depend on check-macro-version.
7127         (CHECK_MACRO_VERSION): New macro.
7128         (stamp-po): Use it.
7129
7130         configmake: fix make -q problem
7131         * modules/configmake (configmake.h): Update configmake.h's time stamp
7132         even if the file does not change.  Otherwise, 'make -q' fails.
7133         Problem reported by Simon Josefsson in
7134         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
7135
7136 2011-08-11  Jim Meyering  <meyering@redhat.com>
7137
7138         git-version-gen: correct the advice in a comment
7139         * build-aux/git-version-gen: Correct comment.
7140         Don't recommend to list .tarball-version in .gitignore.
7141
7142 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7143
7144         base64: fix off-by-one buffer size bug
7145         Problem and (trivial) fix reported by Gijs van Tulder in
7146         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
7147         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
7148         * tests/test-base64.c (main): Catch the bug.
7149
7150 2011-08-10  Eric Blake  <eblake@redhat.com>
7151
7152         closein: correct comments
7153         * lib/closein.c (close_stdin): Improve comments.
7154
7155 2011-08-09  Bruno Haible  <bruno@clisp.org>
7156
7157         More tests for 'fseeko'.
7158         * tests/test-fseeko3.c: New file, from Eric Blake.
7159         * tests/test-fseeko3.sh: New file.
7160         * modules/fseeko-tests (Files): Add them.
7161         (TESTS): Add test-fseeko3.sh.
7162         (check_PROGRAMS): Add test-fseeko3.
7163
7164 2011-08-09  Eric Blake  <eblake@redhat.com>
7165
7166         fseeko: remove unneeded hack
7167         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
7168
7169         fseeko: fix bug on glibc
7170         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
7171         Reported by John W. Eaton.
7172
7173 2011-08-08  Bruno Haible  <bruno@clisp.org>
7174
7175         unictype/base: Fix interoperability with preinstalled libunistring.
7176         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
7177         Reported by Simon Josefsson.
7178
7179 2011-08-08  Bruno Haible  <bruno@clisp.org>
7180
7181         iswblank: Detect declaration correctly.
7182         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
7183         AC_CHECK_DECLS invocation.
7184
7185 2011-08-08  Bruno Haible  <bruno@clisp.org>
7186
7187         tcgetsid: Detect declaration correctly.
7188         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
7189         AC_CHECK_DECLS invocation.
7190         Reported by Simon Josefsson.
7191
7192 2011-08-08  Eric Blake  <eblake@redhat.com>
7193
7194         largefile: fix typo that regressed large file support
7195         * modules/largefile (configure.ac-early): Fix section name.
7196
7197 2011-08-06  Karl Berry  <karl@gnu.org>
7198
7199         * MODULES.html.sh (func_all_files): _Noreturn is no longer
7200         a separate module.
7201
7202 2011-08-05  Simon Josefsson  <simon@josefsson.org>
7203
7204         openat: Fix warnings and commens when building unlinkat.c on Hurd.
7205         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
7206         get prototype for free.
7207
7208 2011-08-04  Bruno Haible  <bruno@clisp.org>
7209
7210         Tests for module 'pathmax'.
7211         * modules/pathmax-tests: New file.
7212         * tests/test-pathmax.c: New file.
7213
7214         canonicalize-lgpl: Support larger filenames on the Hurd.
7215         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
7216         Reported by Paul Eggert.
7217
7218         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
7219         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
7220         * lib/chdir-long.h: Include pathmax.h.
7221         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
7222         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
7223         (PATH_MAX): Remove code that is done by pathmax.h.
7224         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
7225         * lib/tmpfile.c: Add a comment.
7226         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
7227         * modules/chdir-long (Depends-on): Add pathmax.
7228         * modules/getcwd (Depends-on): Add pathmax.
7229         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
7230         is not defined.
7231         * doc/posix-headers/limits.texi: Mention the pathmax module.
7232         * NEWS: Mention the change.
7233
7234 2011-08-02  Bruno Haible  <bruno@clisp.org>
7235
7236         pthread_sigmask: Actually use results of gl_THREADLIB.
7237         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
7238         gl_THREADLIB, not gl_[]THREADLIB.
7239         Reported by Eric Blake.
7240
7241 2011-08-02  Jim Meyering  <meyering@redhat.com>
7242
7243         maint.mk: relax the default _gl_TS_function_match regexp
7244         * top/maint.mk (_gl_TS_function_match): Don't require at least one
7245         space between function name and "(" in an "extern" declaration.
7246         That would fail to match a decl with no space there: extern void foo();
7247
7248 2011-07-31  Iain Nicol  <iain@thenicols.net>
7249
7250         git-version-gen: document that EXTRA_DIST must include .version
7251         * build-aux/git-version-gen: In the how-to-use comment, document
7252         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
7253         will fail when run from an unpacked distribution tarball.
7254
7255 2011-08-01  Bruno Haible  <bruno@clisp.org>
7256
7257         wctype-h: Fix last change.
7258         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
7259         REPLACE_TOWLOWER to 0.
7260         Reported by Sam Steingold <sds@gnu.org>.
7261
7262 2011-07-31  Bruno Haible  <bruno@clisp.org>
7263
7264         frexpl: Update autoconf test.
7265         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
7266         according to changes of 2011-06-20.
7267
7268 2011-07-31  Bruno Haible  <bruno@clisp.org>
7269
7270         sys_utsname: Add support for Minix.
7271         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
7272         <sys/utsname.h>.
7273         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
7274         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
7275
7276 2011-07-31  Bruno Haible  <bruno@clisp.org>
7277
7278         strings: Add support for Minix.
7279         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
7280         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
7281         * doc/posix-headers/strings.texi: Document the Minix problem.
7282
7283 2011-07-31  Bruno Haible  <bruno@clisp.org>
7284
7285         wctype-h: Add support for Minix.
7286         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
7287         REPLACE_TOWLOWER.
7288         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
7289         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
7290         REPLACE_ISWCNTRL.
7291
7292 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
7293
7294         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
7295         This is a performance improvement for 64-bit hosts: it causes the
7296         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
7297
7298 2011-07-31  Bruno Haible  <bruno@clisp.org>
7299
7300         stdioext: Add support for Minix.
7301         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
7302         * lib/fpurge.c (fpurge): Likewise.
7303         * lib/freadahead.c (freadahead): Likewise.
7304         * lib/freadable.c (freadable): Likewise.
7305         * lib/freading.c (freading): Likewise.
7306         * lib/freadptr.c (freadptr): Likewise.
7307         * lib/freadseek.c (freadptrinc): Likewise.
7308         * lib/fseeko.c (rpl_fseeko): Likewise.
7309         * lib/fseterr.c (fseterr): Likewise.
7310         * lib/fwritable.c (fwritable): Likewise.
7311         * lib/fwriting.c (fwriting): Likewise.
7312         * lib/fflush.c (clear_ungetc_buffer): Update comment.
7313         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
7314
7315 2011-07-31  Bruno Haible  <bruno@clisp.org>
7316
7317         errno: Port to Minix.
7318         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
7319         ECONNABORTED are defined.
7320         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
7321         GNULIB_defined_ECONNABORTED): New macros.
7322         * lib/strerror-override.h (strerror_override): Test also
7323         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
7324         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
7325         ECONNABORTED.
7326         * doc/posix-headers/errno.texi: Mention the Minix problem.
7327
7328 2011-07-31  Bruno Haible  <bruno@clisp.org>
7329
7330         Work around declaration collisions on Minix.
7331         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
7332         defined, set REPLACE_MBSINIT.
7333         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
7334         defined, set REPLACE_MBRTOWC.
7335         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
7336         set REPLACE_MBRLEN.
7337         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
7338         defined, set REPLACE_MBSRTOWCS.
7339         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
7340         defined, set REPLACE_WCRTOMB.
7341         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
7342         defined, set REPLACE_WCSRTOMBS.
7343
7344 2011-07-31  Bruno Haible  <bruno@clisp.org>
7345
7346         Add support for Minix with ACK compiler.
7347         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
7348         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
7349         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
7350
7351 2011-07-31  Bruno Haible  <bruno@clisp.org>
7352
7353         Documentation about Minix.
7354         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
7355         * doc/glibc-headers/*.texi: Likewise.
7356         * doc/posix-functions/*.texi: Likewise.
7357         * doc/glibc-functions/*.texi: Likewise.
7358
7359 2011-07-31  Bruno Haible  <bruno@clisp.org>
7360
7361         snippet/warn-on-use: Fix indentation.
7362         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
7363
7364 2011-07-25  Jim Meyering  <meyering@redhat.com>
7365
7366         tests: test-update-copyright.sh: remove unnecessary "rm" commands
7367         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
7368         commands.
7369
7370 2011-07-27  Jim Meyering  <meyering@redhat.com>
7371
7372         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
7373         * top/maint.mk (gl_extract_significant_defines_): Now that
7374         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
7375         gnulib/lib/signal.in.h, and now that we recommend to
7376         define-if-undefined those two symbols in application code,
7377         we must filter them out of the "significant" list.
7378         This avoids a "make syntax-check" failure in coreutils.
7379
7380 2011-07-26  Eric Blake  <eblake@redhat.com>
7381
7382         warnings: add comments about previous patch
7383         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
7384         * m4/include_next.m4: Likewise.
7385         * m4/warn-on-use.m4: Likewise.
7386         * m4/warnings.m4: Likewise, and simplify use.
7387         Suggested by Stefano Lattarini.
7388
7389         include-next, warnings: support older autoconf
7390         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
7391         AS_VAR_PUSHDEF in a way that works with older autoconf.
7392         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
7393         Reported by Daniel P. Berrange.
7394
7395 2011-07-25  Bruno Haible  <bruno@clisp.org>
7396
7397         fseek, ftell: Fix doc.
7398         * doc/posix-functions/fseek.texi: Reword statement about
7399         AC_SYS_LARGEFILE.
7400         * doc/posix-functions/ftell.texi: Likewise.
7401
7402 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
7403             Bruno Haible  <bruno@clisp.org>
7404
7405         Add dependencies to the 'largefile' module.
7406         * modules/fopen (Depends-on): Add 'largefile'.
7407         * modules/freopen (Depends-on): Likewise.
7408         * modules/fseeko (Depends-on): Likewise.
7409         * modules/ftello (Depends-on): Likewise.
7410         * modules/glob (Depends-on): Likewise.
7411         * modules/lseek (Depends-on): Likewise.
7412         * modules/lstat (Depends-on): Likewise.
7413         * modules/mkostemp (Depends-on): Likewise.
7414         * modules/mkostemps (Depends-on): Likewise.
7415         * modules/mkstemp (Depends-on): Likewise.
7416         * modules/mkstemps (Depends-on): Likewise.
7417         * modules/open (Depends-on): Likewise.
7418         * modules/openat (Depends-on): Likewise.
7419         * modules/pread (Depends-on): Likewise.
7420         * modules/pwrite (Depends-on): Likewise.
7421         * modules/scandir (Depends-on): Likewise.
7422         * modules/stat (Depends-on): Likewise.
7423         * modules/tmpfile (Depends-on): Likewise.
7424         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
7425         since the containing module now depends on the largefile module.
7426         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
7427         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
7428         off_t is fixed by gnulib.
7429         * doc/posix-functions/freopen.texi: Likewise.
7430         * doc/posix-functions/fseeko.texi: Likewise.
7431         * doc/posix-functions/fstatat.texi: Likewise.
7432         * doc/posix-functions/ftello.texi: Likewise.
7433         * doc/posix-functions/glob.texi: Likewise.
7434         * doc/posix-functions/lseek.texi: Likewise.
7435         * doc/posix-functions/lstat.texi: Likewise.
7436         * doc/posix-functions/mkstemp.texi: Likewise.
7437         * doc/posix-functions/open.texi: Likewise.
7438         * doc/posix-functions/openat.texi: Likewise.
7439         * doc/posix-functions/pread.texi: Likewise.
7440         * doc/posix-functions/pwrite.texi: Likewise.
7441         * doc/posix-functions/scandir.texi: Likewise.
7442         * doc/posix-functions/stat.texi: Likewise.
7443         * doc/posix-functions/tmpfile.texi: Likewise.
7444         * doc/glibc-functions/mkostemp.texi: Likewise.
7445         * doc/glibc-functions/mkostemps.texi: Likewise.
7446         * doc/glibc-functions/mkstemps.texi: Likewise.
7447
7448 2011-07-25  Bruno Haible  <bruno@clisp.org>
7449
7450         fcntl: Move AC_LIBOBJ invocation to module description.
7451         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
7452         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
7453
7454         fcntl: Remove call-in from fchdir.m4.
7455         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
7456         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
7457
7458         dup3: Remove potential call-in from fchdir.m4.
7459         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
7460         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
7461
7462         dup2: Move AC_LIBOBJ invocation to module description.
7463         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
7464         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
7465         Don't invoke AC_LIBOBJ.
7466         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
7467
7468         dup2: Remove call-in from fchdir.m4.
7469         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
7470         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
7471
7472         fclose: Move AC_LIBOBJ invocation to module description.
7473         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
7474         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
7475         to 1.
7476         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
7477
7478         fclose: Remove call-in from close.m4.
7479         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
7480         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
7481
7482         close: Move AC_LIBOBJ invocation to module description.
7483         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
7484         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
7485         1.
7486         * modules/close (configure.ac): Invoke AC_LIBOBJ.
7487
7488         close: Remove call-in from fchdir.m4.
7489         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
7490         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
7491
7492         open: Move AC_LIBOBJ invocation to module description.
7493         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
7494         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
7495         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
7496
7497         open: Remove call-in from fchdir.m4.
7498         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
7499         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
7500
7501         fchdir: Start to remove gl_REPLACE_* idiom.
7502         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
7503         (gl_FUNC_FCHDIR): Invoke it.
7504
7505 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
7506
7507         * lib/ftell.c (ftell): Comment out cast.
7508
7509         close: use gl_REPLACE_FCLOSE only if defined
7510         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
7511         is defined.  The close module doesn't depend on the fclose module
7512         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
7513         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
7514         I reproduced the problem with "./gnulib-tool --test close sys_socket".
7515
7516 2011-07-24  Jim Meyering  <meyering@redhat.com>
7517
7518         test-select.h: avoid warning when using gcc's -Wmissing-declarations
7519         * tests/test-select.h (test_function): Declare as "static".
7520
7521 2011-07-24  Bruno Haible  <bruno@clisp.org>
7522
7523         doc: Mention the effects of AC_SYS_LARGEFILE.
7524         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
7525         on this function.
7526         * doc/posix-functions/aio_error.texi: Likewise.
7527         * doc/posix-functions/aio_fsync.texi: Likewise.
7528         * doc/posix-functions/aio_read.texi: Likewise.
7529         * doc/posix-functions/aio_return.texi: Likewise.
7530         * doc/posix-functions/aio_suspend.texi: Likewise.
7531         * doc/posix-functions/aio_write.texi: Likewise.
7532         * doc/posix-functions/fgetpos.texi: Likewise.
7533         * doc/posix-functions/fopen.texi: Likewise.
7534         * doc/posix-functions/freopen.texi: Likewise.
7535         * doc/posix-functions/fsetpos.texi: Likewise.
7536         * doc/posix-functions/fstatvfs.texi: Likewise.
7537         * doc/posix-functions/ftruncate.texi: Likewise.
7538         * doc/posix-functions/ftw.texi: Likewise.
7539         * doc/posix-functions/getrlimit.texi: Likewise.
7540         * doc/posix-functions/glob.texi: Likewise.
7541         * doc/posix-functions/lio_listio.texi: Likewise.
7542         * doc/posix-functions/lockf.texi: Likewise.
7543         * doc/posix-functions/mkstemp.texi: Likewise.
7544         * doc/posix-functions/mmap.texi: Likewise.
7545         * doc/posix-functions/nftw.texi: Likewise.
7546         * doc/posix-functions/openat.texi: Likewise.
7547         * doc/posix-functions/opendir.texi: Likewise.
7548         * doc/posix-functions/posix_fadvise.texi: Likewise.
7549         * doc/posix-functions/posix_fallocate.texi: Likewise.
7550         * doc/posix-functions/pread.texi: Likewise.
7551         * doc/posix-functions/pwrite.texi: Likewise.
7552         * doc/posix-functions/readdir.texi: Likewise.
7553         * doc/posix-functions/readdir_r.texi: Likewise.
7554         * doc/posix-functions/rewinddir.texi: Likewise.
7555         * doc/posix-functions/scandir.texi: Likewise.
7556         * doc/posix-functions/seekdir.texi: Likewise.
7557         * doc/posix-functions/setrlimit.texi: Likewise.
7558         * doc/posix-functions/statvfs.texi: Likewise.
7559         * doc/posix-functions/telldir.texi: Likewise.
7560         * doc/posix-functions/tmpfile.texi: Likewise.
7561         * doc/posix-functions/truncate.texi: Likewise.
7562         * doc/glibc-functions/fallocate.texi: Likewise.
7563         * doc/glibc-functions/fstatfs.texi: Likewise.
7564         * doc/glibc-functions/fts_children.texi: Likewise.
7565         * doc/glibc-functions/fts_read.texi: Likewise.
7566         * doc/glibc-functions/getdirentries.texi: Likewise.
7567         * doc/glibc-functions/mkostemp.texi: Likewise.
7568         * doc/glibc-functions/mkostemps.texi: Likewise.
7569         * doc/glibc-functions/mkstemps.texi: Likewise.
7570         * doc/glibc-functions/preadv.texi: Likewise.
7571         * doc/glibc-functions/pwritev.texi: Likewise.
7572         * doc/glibc-functions/sendfile.texi: Likewise.
7573         * doc/glibc-functions/statfs.texi: Likewise.
7574
7575 2011-07-24  Bruno Haible  <bruno@clisp.org>
7576
7577         doc: Fix typo.
7578         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
7579
7580 2011-07-24  Bruno Haible  <bruno@clisp.org>
7581
7582         doc: Mention fsusage.
7583         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
7584
7585 2011-07-24  Bruno Haible  <bruno@clisp.org>
7586
7587         doc: Mention new glibc headers and functions.
7588         * doc/glibc-headers/gshadow.texi: New file.
7589         * doc/glibc-functions/endsgent.texi: New file.
7590         * doc/glibc-functions/fgetsgent.texi: New file.
7591         * doc/glibc-functions/fgetsgent_r.texi: New file.
7592         * doc/glibc-functions/getsgent.texi: New file.
7593         * doc/glibc-functions/getsgent_r.texi: New file.
7594         * doc/glibc-functions/getsgnam.texi: New file.
7595         * doc/glibc-functions/getsgnam_r.texi: New file.
7596         * doc/glibc-functions/putsgent.texi: New file.
7597         * doc/glibc-functions/setsgent.texi: New file.
7598         * doc/glibc-functions/sgetsgent.texi: New file.
7599         * doc/glibc-functions/sgetsgent_r.texi: New file.
7600         * doc/glibc-functions/malloc_info.texi: New file.
7601         * doc/glibc-functions/preadv.texi: New file.
7602         * doc/glibc-functions/pwritev.texi: New file.
7603         * doc/glibc-functions/register_printf_modifier.texi: New file.
7604         * doc/glibc-functions/register_printf_specifier.texi: New file.
7605         * doc/glibc-functions/register_printf_type.texi: New file.
7606         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
7607         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
7608         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
7609         * doc/glibc-functions/pthread_getname_np.texi: New file.
7610         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
7611         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
7612         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
7613         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
7614         * doc/glibc-functions/pthread_setname_np.texi: New file.
7615         * doc/glibc-functions/pthread_sigqueue.texi: New file.
7616         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
7617         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
7618         * doc/glibc-functions/qsort_r.texi: New file.
7619         * doc/glibc-functions/quick_exit.texi: New file.
7620         * doc/glibc-functions/syncfs.texi: New file.
7621         * doc/gnulib.texi: Include them.
7622         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
7623         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
7624         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
7625         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
7626         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
7627         * doc/glibc-functions/execvpe.texi: Likewise.
7628
7629 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7630
7631         ftell: don't include <unistd.h>
7632         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
7633         guaranteed to define off_t, and the ftell module depends on the
7634         stdio module.
7635
7636         ftell: do not assume wraparound signed arithmetic
7637         * lib/ftell.c: Include <limits.h>.
7638         (ftell): Don't assume wraparound signed arithmetic.
7639
7640 2011-07-24  Bruno Haible  <bruno@clisp.org>
7641
7642         close: No longer depend on module 'fclose'.
7643         * modules/close (Depends-on): Remove fclose.
7644         * NEWS: Mention the change.
7645         Suggested by Sam Steingold <sds@gnu.org>.
7646
7647 2011-07-24  Bruno Haible  <bruno@clisp.org>
7648
7649         fsusage: Enable large volume support on AIX >= 5.2.
7650         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
7651         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
7652         instead of STAT_STATVFS.
7653         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
7654
7655         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
7656         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
7657         f_blocks field only on MacOS X.
7658
7659         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
7660         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
7661         * modules/fsusage (Depends-on): Add largefile.
7662
7663 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7664
7665         * README: Modernize discussion of signed integers.
7666         Assuming overflow wraparound is no longer safe.
7667         Mention ones' complement and signed magnitude.
7668
7669 2011-07-22  Bruno Haible  <bruno@clisp.org>
7670
7671         select tests, pselect tests: Refactor.
7672         * tests/test-select.h: New file, extracted from tests/test-select.c.
7673         (select_fn): New type.
7674         (test, do_select, do_select_nowait, do_select_wait, test_tty,
7675         test_connect_first, test_accept_first, test_pair, test_socket_pair,
7676         test_pipe): Add my_select argument.
7677         (test_function): Renamed from main. Add my_select argument.
7678         * tests/test-select.c: Move most code to tests/test-select.h. Include
7679         test-select.h.
7680         * modules/select-tests (Files): Add tests/test-select.h.
7681         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
7682         (my_select, main): New functions.
7683         * modules/pselect-tests (Files): Add tests/test-select.h,
7684         tests/macros.h, tests/signature.h.
7685         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
7686         (configure.ac): Check for <sys/wait.h>.
7687
7688 2011-07-22  Bruno Haible  <bruno@clisp.org>
7689
7690         sys_select tests: Check the signature of FD_*.
7691         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
7692         signature tests from here...
7693         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
7694         here.
7695         * modules/sys_select-tests (Files): Add tests/signature.h.
7696
7697 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
7698
7699         largefile: new module, replacing large-inode
7700         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
7701         * MODULES.html.sh: Add largefile, remove large-inode.
7702         * modules/largefile, m4/largefile.m4: New files.
7703         * modules/large-inode, m4/large-inode.m4: Remove.
7704
7705         fsusage: port to MacOS X 10.7 with 4 TiB file systems
7706         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
7707         implementations that use only 32 bits to count blocks.
7708         On typical hosts with 1024-byte blocks, this fails with file
7709         systems as small as 4 TiB.  Problem reported by Herb Wartens
7710         <http://debbugs.gnu.org/9140> and this should also fix a similar
7711         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
7712
7713         large-inode: New module
7714         * MODULES.html.sh: Add it.
7715         * modules/large-inode, m4/large-inode.m4: New files.
7716
7717         extensions: Enable extensions on MacOS X 10.5 and later.
7718         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
7719
7720 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
7721
7722         file-has-acl: use acl_extended_file_nofollow if available
7723         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
7724         (acl_extended_file): New macro.
7725         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
7726         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
7727
7728 2011-07-21  Bruno Haible  <bruno@clisp.org>
7729
7730         Declare system functions in a way that works with C++.
7731         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
7732         declare fdopendir as extern "C".
7733         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
7734         declare frexpl as extern "C".
7735         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
7736         declare gai_strerror as extern "C".
7737         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
7738         programs, declare gai_strerror as extern "C".
7739         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
7740         declare getlogin_r as extern "C".
7741         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
7742         as extern "C".
7743         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
7744         declare ldexpl as extern "C".
7745         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
7746         as extern "C".
7747         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
7748         program, declare getmntinfo as extern "C".
7749         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
7750         stpncpy as extern "C".
7751         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
7752         program, declare __xpg_strerror_r as extern "C".
7753         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
7754         strndup as extern "C".
7755         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
7756         declare memset and bzero as extern "C".
7757         Reported by Sam Steingold <sds@gnu.org>.
7758
7759 2011-07-12  Jim Meyering  <meyering@redhat.com>
7760
7761         maint.mk: prohibit inclusion of "verify.h" without use
7762         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
7763
7764 2011-07-19  Pádraig Brady  <P@draigBrady.com>
7765
7766         timer-time: A new module to check for timer_settime()
7767         * m4/timer_time.m4: Check for the posix function.
7768         * modules/timer-time: Add the new module.
7769         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
7770         Mention it.
7771
7772 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
7773             Bruno Haible  <bruno@clisp.org>
7774
7775         pthread_sigmask: assume POSIX threads if --avoid=threadlib
7776         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
7777         not defined, assume POSIX threads and look for pthread_sigmask in
7778         $LIBS, without changing $CPPFLAGS.
7779
7780 2011-07-19  Bruno Haible  <bruno@clisp.org>
7781
7782         strstr: Update cross-compilation guess.
7783         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
7784         CPUs, guess no, in view of glibc
7785         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
7786         Suggested by Eric Blake. Reported by Reuben Thomas.
7787
7788 2011-07-19  Pádraig Brady  <P@draigBrady.com>
7789
7790         getopt-gnu: suppress core dumps from detection code
7791         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
7792         to suppress core dumps that may well occur on glibc systems.
7793         * modules/getopt-gnu: Depend on nocrash.
7794
7795 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
7796
7797         pthread_sigmask: ensure usleep is declared
7798         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
7799         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
7800
7801 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
7802
7803         doc: Document NonStop portability issues.
7804         * doc/posix-functions/sigaction.texi (sigaction):
7805         * doc/posix-headers/signal.texi (signal.h):
7806         Document NonStop.  See Joachim Schmitz in
7807         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
7808
7809 2011-07-15  Bruno Haible  <bruno@clisp.org>
7810
7811         ffsl, ffsll: Avoid unportable behaviour.
7812         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
7813
7814 2011-07-15  Bruno Haible  <bruno@clisp.org>
7815
7816         ffs: More tests.
7817         * tests/test-ffs.c (NBITS): New macro.
7818         (main): Add more tests.
7819         * tests/test-ffsl.c (NBITS): New macro.
7820         (main): Add more tests.
7821         * tests/test-ffsll.c (NBITS): New macro.
7822         (main): Add more tests.
7823
7824 2011-07-15  Eric Blake  <eblake@redhat.com>
7825
7826         ffsl, ffsll: new modules
7827         * modules/ffsl: New file.
7828         * modules/ffsll: Likewise.
7829         * m4/ffsl.m4: Likewise.
7830         * m4/ffsll.m4: Likewise.
7831         * lib/ffsl.c: Likewise.
7832         * lib/ffsl.h: Likewise.
7833         * lib/ffsll.c: Likewise.
7834         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
7835         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
7836         * modules/string (Makefile.am): Substitute witnesses.
7837         * lib/strings.in.h (ffsl, ffsll): Declare.
7838         * modules/ffsl-tests: New test file.
7839         * modules/ffsll-tests: Likewise.
7840         * tests/test-ffsl.c: Likewise.
7841         * tests/test-ffsll.c: Likewise.
7842         * MODULES.html.sh (Integer arithmetic functions): Mention it.
7843         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
7844         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
7845
7846         ffs: fix m4 prerequisite
7847         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
7848
7849         ffs: avoid undefined behavior
7850         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
7851         * tests/test-ffs.c (naive, main): Avoid signed shifts.
7852         Reported by Bruno Haible.
7853
7854 2011-07-12  Bruno Haible  <bruno@clisp.org>
7855
7856         pthread_sigmask: Rely on module 'threadlib'.
7857         * modules/pthread_sigmask (Depends-on): Add threadlib.
7858         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
7859         is defined.
7860
7861 2011-07-12  Bruno Haible  <bruno@clisp.org>
7862
7863         regex: Depend on module 'strcase'.
7864         * modules/regex (Depends-on): Add strcase, for strcasecmp().
7865
7866 2011-07-12  Jim Meyering  <meyering@redhat.com>
7867
7868         warn-on-use: fix typo in file name
7869         * modules/snippet/warn-on-use (Files): Correct file name:
7870         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
7871
7872 2011-07-12  Bruno Haible  <bruno@clisp.org>
7873
7874         strings: Document module.
7875         * doc/posix-headers/strings.texi: Mention module 'strings'.
7876
7877 2011-07-12  Bruno Haible  <bruno@clisp.org>
7878
7879         Rename module '_Noreturn' to 'snippet/_Noreturn'.
7880         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
7881         (Files, Makefile.am): Update.
7882         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
7883         * modules/stdlib (Depends-on): Update.
7884
7885 2011-07-12  Bruno Haible  <bruno@clisp.org>
7886
7887         * NEWS: Mention the changes.
7888
7889         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
7890         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
7891         (Files, Makefile.am): Update.
7892         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
7893         * modules/arpa_inet (Depends-on): Update.
7894         * modules/ctype (Depends-on): Update.
7895         * modules/dirent (Depends-on): Update.
7896         * modules/fcntl-h (Depends-on): Update.
7897         * modules/glob (Depends-on): Update.
7898         * modules/iconv-h (Depends-on): Update.
7899         * modules/inttypes-incomplete (Depends-on): Update.
7900         * modules/langinfo (Depends-on): Update.
7901         * modules/locale (Depends-on): Update.
7902         * modules/math (Depends-on): Update.
7903         * modules/netdb (Depends-on): Update.
7904         * modules/poll-h (Depends-on): Update.
7905         * modules/pty (Depends-on): Update.
7906         * modules/search (Depends-on): Update.
7907         * modules/signal (Depends-on): Update.
7908         * modules/spawn (Depends-on): Update.
7909         * modules/stdio (Depends-on): Update.
7910         * modules/stdlib (Depends-on): Update.
7911         * modules/string (Depends-on): Update.
7912         * modules/strings (Depends-on): Update.
7913         * modules/sys_file (Depends-on): Update.
7914         * modules/sys_ioctl (Depends-on): Update.
7915         * modules/sys_select (Depends-on): Update.
7916         * modules/sys_socket (Depends-on): Update.
7917         * modules/sys_stat (Depends-on): Update.
7918         * modules/sys_time (Depends-on): Update.
7919         * modules/sys_times (Depends-on): Update.
7920         * modules/sys_utsname (Depends-on): Update.
7921         * modules/sys_wait (Depends-on): Update.
7922         * modules/termios (Depends-on): Update.
7923         * modules/time (Depends-on): Update.
7924         * modules/unistd (Depends-on): Update.
7925         * modules/wchar (Depends-on): Update.
7926         * modules/wctype-h (Depends-on): Update.
7927         * MODULES.html.sh (Support for building libraries and executables):
7928         Update.
7929
7930         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
7931         * modules/snippet/unused-parameter: Renamed from
7932         modules/unused-parameter.
7933         (Files, Makefile.am): Update.
7934         * build-aux/snippet/unused-parameter.h: Renamed from
7935         build-aux/unused-parameter.h.
7936         * modules/selinux-h (Depends-on): Update.
7937         * modules/unistr/base (Depends-on): Update.
7938         * MODULES.html.sh (Core language properties): Update.
7939
7940         Rename module 'link-warning' to 'snippet/link-warning'.
7941         * modules/snippet/link-warning: Renamed from modules/link-warning.
7942         (Files, Makefile.am): Update.
7943         * build-aux/snippet/link-warning.h: Renamed from
7944         build-aux/link-warning.h.
7945         * MODULES.html.sh (Support for building libraries and executables):
7946         Update.
7947
7948         Rename module 'c++defs' to 'snippet/c++defs'.
7949         * modules/snippet/c++defs: Renamed from modules/c++defs.
7950         (Files, Makefile.am): Update.
7951         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
7952         * modules/arpa_inet (Depends-on): Update.
7953         * modules/ctype (Depends-on): Update.
7954         * modules/dirent (Depends-on): Update.
7955         * modules/fcntl-h (Depends-on): Update.
7956         * modules/glob (Depends-on): Update.
7957         * modules/iconv-h (Depends-on): Update.
7958         * modules/langinfo (Depends-on): Update.
7959         * modules/locale (Depends-on): Update.
7960         * modules/math (Depends-on): Update.
7961         * modules/netdb (Depends-on): Update.
7962         * modules/poll-h (Depends-on): Update.
7963         * modules/pty (Depends-on): Update.
7964         * modules/search (Depends-on): Update.
7965         * modules/signal (Depends-on): Update.
7966         * modules/spawn (Depends-on): Update.
7967         * modules/stdio (Depends-on): Update.
7968         * modules/stdlib (Depends-on): Update.
7969         * modules/string (Depends-on): Update.
7970         * modules/strings (Depends-on): Update.
7971         * modules/sys_ioctl (Depends-on): Update.
7972         * modules/sys_select (Depends-on): Update.
7973         * modules/sys_socket (Depends-on): Update.
7974         * modules/sys_stat (Depends-on): Update.
7975         * modules/sys_time (Depends-on): Update.
7976         * modules/sys_wait (Depends-on): Update.
7977         * modules/termios (Depends-on): Update.
7978         * modules/time (Depends-on): Update.
7979         * modules/unistd (Depends-on): Update.
7980         * modules/wchar (Depends-on): Update.
7981         * modules/wctype-h (Depends-on): Update.
7982
7983         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
7984         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
7985         (Files, Makefile.am): Update.
7986         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
7987         * modules/argv-iter (Depends-on): Update.
7988         * modules/arpa_inet (Depends-on): Update.
7989         * modules/dirent (Depends-on): Update.
7990         * modules/fcntl-h (Depends-on): Update.
7991         * modules/fnmatch (Depends-on): Update.
7992         * modules/getopt-posix (Depends-on): Update.
7993         * modules/glob (Depends-on): Update.
7994         * modules/iconv-h (Depends-on): Update.
7995         * modules/inttypes-incomplete (Depends-on): Update.
7996         * modules/locale (Depends-on): Update.
7997         * modules/math (Depends-on): Update.
7998         * modules/netdb (Depends-on): Update.
7999         * modules/search (Depends-on): Update.
8000         * modules/signal (Depends-on): Update.
8001         * modules/spawn (Depends-on): Update.
8002         * modules/stdio (Depends-on): Update.
8003         * modules/stdlib (Depends-on): Update.
8004         * modules/string (Depends-on): Update.
8005         * modules/strings (Depends-on): Update.
8006         * modules/sys_socket (Depends-on): Update.
8007         * modules/sys_stat (Depends-on): Update.
8008         * modules/sys_time (Depends-on): Update.
8009         * modules/sys_times (Depends-on): Update.
8010         * modules/sys_utsname (Depends-on): Update.
8011         * modules/time (Depends-on): Update.
8012         * modules/unistd (Depends-on): Update.
8013         * modules/wchar (Depends-on): Update.
8014         * MODULES.html.sh (Support for building libraries and executables):
8015         Update.
8016
8017 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
8018
8019         Improvements on _Noreturn and related modules.
8020
8021         modules/_Exit-tests: test _Noreturn too
8022         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
8023         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
8024         (main): Use them.
8025
8026         stdnoreturn, stdnoreturn-tests: remove modules
8027         They're not needed here and a bit premature for use elsewhere.  See
8028         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
8029         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
8030         * tests/test-stdnoreturn.c: Remove files.
8031         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
8032         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
8033         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
8034         and using noreturn.
8035         * modules/openat, modules/sigpipe-die, modules/xalloc:
8036         * modules/xmemdup0, modules/xstrtol:
8037         Remove dependency on stdnoreturn.
8038
8039         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
8040         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
8041         Reparenthesize to avoid GCC warning.
8042         Support Microsoft's syntax.
8043         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
8044
8045         _Noreturn-tests: remove module
8046         * modules/_Noreturn-tests: Remove.
8047         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
8048         * tests/test-_Noreturn.c: Remove.
8049         * tests/test-stdnoreturn.c: Merge from the old
8050         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
8051
8052 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
8053
8054         _Noreturn, stdnoreturn, and related modules.
8055
8056         * top/maint.mk: Adjust to new noreturn support.
8057         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
8058         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
8059
8060         xalloc: use stdnoreturn.h
8061         * lib/xalloc.h: Include <stdnoreturn.h>.
8062         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8063         * modules/xalloc (Depends-on): Add stdnoreturn.
8064
8065         xstrtol: use stdnoreturn.h
8066         * lib/xstrtol.h: Include <stdnoreturn.h>.
8067         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8068         * modules/xstrtol (Depends-on): Add stdnoreturn.
8069
8070         xmemdup0: use stdnoreturn.h
8071         * lib/xmemdup0.h: Include <stdnoreturn.h>.
8072         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8073         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
8074
8075         sigpipe-die: use stdnoreturn.h
8076         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
8077         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8078         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
8079
8080         openat: use stdnoreturn.h
8081         * lib/openat.h: Include <stdnoreturn.h>.
8082         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8083         * modules/openat (Depends-on): Add stdnoreturn.
8084
8085         * lib/openat-die.c (openat_save_fail): Modernize comment.
8086
8087         * lib/xalloc-die.c (xalloc_die): Modernize comment.
8088
8089         * lib/glthread/thread.h: Modernize comment.
8090
8091         obstack: use _Noreturn
8092         * lib/obstack.c (__attribute__): Remove macro.
8093         (print_and_abort): Use _Noreturn.
8094
8095         c-stack: use _Noreturn
8096         * lib/c-stack.c (die, overflow_handler, segv_handler):
8097         Use _Noreturn rather than __attribute__((noreturn)).
8098
8099         argmatch-tests, exclude_tests: use _Noreturn
8100         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
8101         Remove.
8102         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
8103
8104         stdlib: use _Noreturn
8105         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
8106         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
8107         * modules/stdlib (Depends-on): Add _Noreturn.
8108         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
8109
8110         stdnoreturn-tests: new module
8111         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
8112
8113         stdnoreturn: new module
8114         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
8115         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
8116
8117         _Noreturn-tests: new module
8118         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
8119
8120         _Noreturn: new module
8121         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
8122         New section, mentioning it.
8123         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
8124
8125         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
8126
8127 2011-07-11  Eric Blake  <eblake@redhat.com>
8128
8129         ffs: new module
8130         * modules/ffs: New file.
8131         * m4/ffs.m4: Likewise.
8132         * lib/ffs.c: Likewise.
8133         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
8134         * modules/strings (Makefile.am): Substitute witness.
8135         (Depends-on): Add c++defs.
8136         * lib/strings.in.h (ffs): Declare.
8137         * modules/ffs-tests: New test file.
8138         * tests/test-ffs.c: Test new module.
8139         * MODULES.html.sh (Integer arithmetic functions): Mention it.
8140         * doc/posix-functions/ffs.texi (ffs): Likewise.
8141
8142         regex: avoid compiler warning
8143         * lib/regex.c (includes): Include <strings.h>, for use of
8144         strcasecmp in regcomp.c.
8145         Reported by Joachim Schmitz.
8146
8147 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8148
8149         stdint: respect system's intmax_t if INTMAX_MAX
8150         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
8151         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
8152         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
8153         long but int64_t is long long, and where we will clash with the
8154         system intmax_t if we override it.  See
8155         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
8156         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
8157         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
8158         similarly for UINTMAX_C.
8159
8160 2011-07-08  Bruno Haible  <bruno@clisp.org>
8161
8162         pthread_sigmask tests: Avoid a compiler warning.
8163         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
8164         non-zero.
8165
8166         sigprocmask tests: A better way to avoid a compiler warning.
8167         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
8168         (main): Complain if system() returns non-zero.
8169         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
8170
8171 2011-07-08  Bruno Haible  <bruno@clisp.org>
8172
8173         pthread_sigmask: Work around IRIX bug.
8174         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
8175         bug.
8176         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
8177         there may be unblocked pending signals.
8178         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
8179
8180 2011-07-08  Bruno Haible  <bruno@clisp.org>
8181
8182         pthread_sigmask: Work around Cygwin bug.
8183         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
8184         bug.
8185         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
8186         the system's pthread_sigmask function.
8187         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
8188
8189 2011-07-08  Bruno Haible  <bruno@clisp.org>
8190
8191         pthread_sigmask: Work around bug in single-threaded implementation.
8192         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
8193         FreeBSD, HP-UX, Solaris bug.
8194         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
8195         * lib/pthread_sigmask.c: Include <stddef.h>.
8196         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
8197         the system's pthread_sigmask function.
8198         * modules/pthread_sigmask (configure.ac): Invoke
8199         gl_PREREQ_PTHREAD_SIGMASK.
8200         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
8201         HP-UX, Solaris.
8202
8203 2011-07-08  Eric Blake  <eblake@redhat.com>
8204
8205         test-sigprocmask: avoid compiler warning
8206         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
8207         * tests/test-sigprocmask.c (main): Use it to silence warning.
8208         Reported by Jim Meyering.
8209
8210         test-snprintf: avoid compiler warning
8211         * tests/test-snprintf.c (main): Avoid shadowed declaration.
8212         * tests/test-vsnprintf.c (main): Likewise.
8213         Reported by Jim Meyering.
8214
8215 2011-07-08  Bruno Haible  <bruno@clisp.org>
8216
8217         Tests for module 'pthread_sigmask'.
8218         * modules/pthread_sigmask-tests: New file.
8219         * tests/test-pthread_sigmask1.c: New file, based on
8220         tests/test-sigprocmask.c.
8221         * tests/test-pthread_sigmask2.c: New file.
8222
8223 2011-07-08  Jim Meyering  <meyering@redhat.com>
8224
8225         test-getopt.h: avoid warning about an unused variable
8226         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
8227
8228 2011-07-07  Jim Meyering  <meyering@redhat.com>
8229
8230         maint: reduce list of files exempt from sc_prohibit_leading_TABs
8231         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
8232         now that it no longer contains leading TABs.
8233         Remove unused "url=FIXME" statement.
8234
8235 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
8236
8237         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
8238         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
8239         When gl_THREADLIB is not in use, assume that the POSIX sematics
8240         are desired.  This is better for Emacs, which uses POSIX semantics
8241         on GNUish and/or POSIXish platforms, and does not use threads at
8242         all otherwise.
8243
8244         pthread_sigmask: fix typo when testing for libraries
8245         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
8246         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
8247
8248 2011-07-08  Eric Blake  <eblake@redhat.com>
8249
8250         fts: introduce FTS_NOATIME
8251         * lib/fts_.h (FTS_NOATIME): New bit flag.
8252         (FTS_OPTIONMASK): Adjust.
8253         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
8254         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
8255
8256 2011-07-08  Bruno Haible  <bruno@clisp.org>
8257
8258         Tests for module 'thread'.
8259         * modules/thread-tests: New file.
8260         * tests/test-thread_self.c: New file.
8261         * tests/test-thread_create.cc: New file.
8262
8263 2011-07-08  Bruno Haible  <bruno@clisp.org>
8264
8265         thread: Avoid gcc warnings when using gl_thread_self().
8266         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
8267         'void *'.
8268         (gl_thread_self_pointer): Update.
8269
8270 2011-07-07  Bruno Haible  <bruno@clisp.org>
8271
8272         signal-c++-tests: Check declaration of pthread_sigmask.
8273         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
8274         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
8275         $(LIB_PTHREAD_SIGMASK).
8276
8277 2011-07-07  Bruno Haible  <bruno@clisp.org>
8278
8279         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
8280         * lib/signal.in.h (pthread_sigmask): Override if
8281         REPLACE_PTHREAD_SIGMASK is 1.
8282         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
8283         REPLACE_PTHREAD_SIGMASK.
8284         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
8285         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
8286         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
8287         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
8288         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
8289
8290 2011-07-07  Bruno Haible  <bruno@clisp.org>
8291
8292         pthread_sigmask: Ensure declaration in <signal.h>.
8293         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
8294         include <pthread.h>.
8295         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
8296         problem.
8297
8298 2011-07-07  Bruno Haible  <bruno@clisp.org>
8299
8300         pthread_sigmask: Document the module.
8301         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
8302
8303 2011-07-07  Bruno Haible  <bruno@clisp.org>
8304
8305         pthread_sigmask: Follow gnulib conventions.
8306         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
8307         gl_PTHREAD_SIGMASK.
8308         * modules/pthread_sigmask (configure.ac): Update.
8309
8310 2011-07-07  Bruno Haible  <bruno@clisp.org>
8311
8312         pthread_sigmask: Make declaration C++ safe.
8313         * lib/signal.in.h: In two special conditions, just do an #include_next.
8314         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
8315         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
8316         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
8317         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
8318         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
8319         not REPLACE_PTHREAD_MASK.
8320         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
8321         not REPLACE_PTHREAD_MASK.
8322         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
8323
8324 2011-07-07  Bruno Haible  <bruno@clisp.org>
8325
8326         pthread_sigmask: Fix return value.
8327         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
8328         * lib/pthread_sigmask.c: New file.
8329         * modules/pthread_sigmask (Files): Add it.
8330         (configure.ac): Invoke AC_LIBOBJ.
8331
8332 2011-07-07  Eric Blake  <eblake@redhat.com>
8333
8334         getopt: more portable argv creation
8335         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
8336         const, use char arrays rather than strings.
8337         Suggested by Paul Eggert.
8338
8339 2011-07-07  Bruno Haible  <bruno@clisp.org>
8340
8341         Tests for module 'sigprocmask'.
8342         * modules/sigprocmask-tests: New file.
8343         * tests/test-sigprocmask.c: New file.
8344
8345 2011-07-07  Bruno Haible  <bruno@clisp.org>
8346
8347         float tests: Tweak.
8348         * tests/test-float.c (main): Tweak skip message.
8349
8350 2011-07-07  Eric Blake  <eblake@redhat.com>
8351
8352         getopt: avoid compiler warning during configure
8353         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
8354         assigning string literals to non-const pointer.
8355
8356         getopt-gnu: avoid crash in glibc getopt
8357         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
8358         * tests/test-getopt.h (test_getopt): Enhance test.
8359         * tests/test-getopt_long.h (test_getopt_long): Likewise.
8360         * doc/posix-functions/getopt.texi (getopt): Document it.
8361         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
8362         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
8363         Likewise.
8364
8365 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
8366
8367         getopt: handle W; without long options in getopt [BZ #12922]
8368         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
8369         but no long options are defined, just return 'W'.
8370
8371 2011-07-07  Bruno Haible  <bruno@clisp.org>
8372
8373         Avoid literal tabs.
8374         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
8375         variable containing a tab instead of a literal tab.
8376         Reported by Jim Meyering.
8377
8378 2011-07-07  Bruno Haible  <bruno@clisp.org>
8379
8380         Comments.
8381         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
8382
8383 2011-07-06  Bruno Haible  <bruno@clisp.org>
8384
8385         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
8386         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
8387         <winsock2.h>.
8388         (rpl_fd_isset, FD_ISSET): New definitions, copied from
8389         lib/sys_socket.in.h.
8390         (close, gethostname): Hide declarations from <winsock2.h>.
8391         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
8392         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
8393         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
8394         (select): Don't override if gnulib's <sys/select.h> was already
8395         included.
8396         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
8397         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
8398         setsockopt, shutdown, select): Tweak indentation.
8399
8400 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8401
8402         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
8403         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
8404         in an application that does not use the sys_select module.
8405
8406 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
8407
8408         poll: do not return 0 on timeout=-1
8409         * lib/poll.c: Loop with yield if no events occured
8410
8411 2011-07-06  Eric Blake  <eblake@redhat.com>
8412
8413         pthread_sigmask: always replace when not using pthread
8414         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
8415         replacement when using some threading other than pthread.  Fix
8416         logic bug.
8417
8418 2011-07-06  Bruno Haible  <bruno@clisp.org>
8419
8420         Comments.
8421         * m4/printf.m4: Update comments about mingw.
8422
8423 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8424
8425         sys_select: define sigset_t more portably
8426         * lib/sys_select.in.h: Always include <sys/types.h>, since
8427         we now need sigset_t and mingw defines it there.
8428         Include <signal.h> before split inclusion guard, to avoid
8429         mishaps on Solaris, whose <signal.h> eventually includes us.
8430         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
8431         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
8432         which come from ...
8433         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
8434         gl_CHECK_TYPE_SIGSET_T.
8435         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
8436         does the real work.
8437         * modules/sys_select (Depends-on): Add 'signal'.
8438
8439         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
8440         Suggested by Bruno Haible.
8441
8442         pselect: Use pthread_sigmask, not sigprocmask.
8443         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
8444         multithreaded apps better than sigprocmask does.
8445         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
8446         sigprocmask directly.
8447
8448 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
8449
8450         * lib/pselect.c (pselect): Use plain name, without "rpl_".
8451         Don't #undef,  since we don't need any underlying pselect.
8452         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
8453         (Depends-on): Add select.
8454         (Link): Add $(LIBSOCKET).
8455         These changes suggested by Bruno Haible.
8456
8457         pselect: document better
8458         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
8459         * doc/posix-functions/pselect.texi (pselect): Document new module.
8460
8461         pthread_sigmask: new module
8462         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
8463         * doc/posix-functions/pthread_sigmask.texi: Document new module.
8464         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
8465         This is done only as a macro; I don't know how well that'll
8466         work for C++.  Move <sys/types.h> include before the include_next,
8467         to avoid mishap on Solaris.
8468         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
8469         * modules/signal (Makefile.am): Substitute the check's results.
8470         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
8471
8472         test-pselect: new module
8473         * modules/pselect-tests, tests/test-pselect.c: New files.
8474         * tests/test-select.c, tests/test-sys_select-c++.cc:
8475         If TEST_PSELECT is defined, test pselect instead of testing select.
8476
8477         * tests/test-sys_select.c (sigset_t): Test for it, too.
8478         Suggested by Bruno Haible.
8479
8480 2011-07-05  Eric Blake  <eblake@redhat.com>
8481
8482         snprintf: guarantee %1$d, for libintl
8483         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
8484         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
8485         * doc/posix-functions/snprintf.texi (snprintf): Update.
8486         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
8487         * tests/test-snprintf.c (main): Enhance test.
8488         * tests/test-vsnprintf.c (main): Likewise.
8489
8490 2011-07-05  Jim Meyering  <meyering@redhat.com>
8491
8492         maint: exempt stdio-read.c and stdio-write.c from the cppi check
8493         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
8494         per Bruno's request, to accommodate this idiom (no space after "#")
8495         even when the function is inside an #if block:
8496         char *
8497         gets (char *s)
8498         #undef gets
8499         {
8500           ...
8501         }
8502
8503 2011-07-04  Jim Meyering  <meyering@redhat.com>
8504
8505         maint: indent with spaces, not TABs, and add a rule to check this
8506         * tests/test-userspec.c: Indent with spaces, not TABs.
8507         * tests/test-argp.c: Likewise.
8508         * tests/test-c-stack2.sh: Likewise.
8509         * tests/test-parse-duration.sh: Likewise
8510         * m4/strtod.m4: Likewise.
8511         * m4/alloca.m4: Likewise.
8512         * m4/pselect.m4: Likewise.
8513         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
8514
8515 2011-07-03  Jim Meyering  <meyering@redhat.com>
8516
8517         maint.mk: correct omissions in prohibit_argmatch_without_use check
8518         This rule would mistakenly report that argmatch.h is included without
8519         use even when both the argmatch and invalid_arg macro were used.
8520         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
8521         of argmatch and invalid_arg.
8522
8523 2011-07-03  Bruno Haible  <bruno@clisp.org>
8524
8525         Comments about EINTR.
8526         * lib/safe-read.h: Explain the purpose of this module.
8527         * lib/safe-write.h: Likewise.
8528         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
8529         module.
8530         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
8531         module.
8532         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8533
8534 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
8535
8536         xnanosleep: Rewrite to use new dtotimespec module.
8537         It has the conversion code that used to be in xnanosleep.
8538         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
8539         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
8540         (TIME_T_MAX): Remove.
8541         (xnanosleep): Rewrite in terms of dtotimespec.
8542         * modules/xnanosleep (Depends-on): Add dtotimespec.
8543         Remove intprops, stdbool.
8544
8545         timespec-add, timespec-sub: new modules
8546         * lib/timespec.h (timespec_add, timespec_sub): New decls.
8547         * lib/timespec-add.c, lib/timespec-sub.c:
8548         * modules/timespec-add, modules/timespec-sub: New files.
8549
8550         dtotimespec: new module
8551         * lib/timespec.h (dtotimespec): New decl.
8552         * lib/dtotimespec.c, modules/dtotimespec: New files.
8553
8554         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
8555
8556         pselect: new module
8557         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
8558         (pselect): New decls.
8559         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
8560         since the standard pselect decl uses 'restrict'.
8561         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
8562         HAVE_PSELECT, REPLACE_PSELECT.
8563         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
8564         HAVE_PSELECT, REPLACE_PSELECT.
8565         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
8566
8567         sys_select: don't depend on sys_socket
8568         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
8569         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
8570         This fix works on GNU and GNU-like platforms, but has not been tested
8571         on native Windows.
8572         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
8573         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
8574         gl_HEADER_SYS_SOCKET.
8575         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
8576         gl_PREREQ_SYS_H_WINSOCK2.
8577
8578 2011-06-29  Eric Blake  <eblake@redhat.com>
8579
8580         pipe2: fix C89 compile problem
8581         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
8582         Reported by Bruno Haible.
8583
8584         pipe, pipe2: don't corrupt fd on error
8585         * lib/pipe.c (pipe): Leave fd unchanged on error.
8586         * lib/pipe2.c (pipe2): Likewise.
8587         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
8588         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
8589
8590 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
8591
8592         mmap-anon: do not use regular expressions inadvertently
8593         * m4/mmap-anon.m4: Remove trailing period from strings sought
8594         in the output.
8595
8596 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
8597
8598         nanosleep: fix integer overflow problem
8599         * lib/nanosleep.c (my_usleep): Don't assume signed integer
8600         arithmetic wraps around on overflow.
8601
8602         nanosleep: simplify carrying
8603         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
8604         first call to the underyling nanosleep, not for the last one.
8605         This doesn't fix any bugs, but it simplifies the computation of
8606         the remaining delay.  Found while auditing integer overflow issues.
8607
8608         dup2: remove test for existence of fcntl
8609         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
8610         "#if HAVE_FCNTL", in the configure-time test program.
8611         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
8612         and therefore speeds up "configure" a bit.  Found while
8613         adding the dup2 module to Emacs.
8614
8615 2011-06-24  Eric Blake  <eblake@redhat.com>
8616
8617         maint.mk: enhance useless header checks
8618         * top/maint.mk (_sc_header_without_use): Check both include
8619         styles.
8620         (sc_prohibit_assert_without_use)
8621         (sc_prohibit_close_stream_without_use)
8622         (sc_prohibit_getopt_without_use)
8623         (sc_prohibit_quotearg_without_use)
8624         (sc_prohibit_quote_without_use)
8625         (sc_prohibit_long_options_without_use)
8626         (sc_prohibit_inttostr_without_use)
8627         (sc_prohibit_ignore_value_without_use)
8628         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
8629         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
8630         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
8631         (sc_prohibit_hash_pjw_without_use)
8632         (sc_prohibit_safe_read_without_use)
8633         (sc_prohibit_argmatch_without_use)
8634         (sc_prohibit_canonicalize_without_use)
8635         (sc_prohibit_root_dev_ino_without_use)
8636         (sc_prohibit_openat_without_use)
8637         (sc_prohibit_c_ctype_without_use)
8638         (sc_prohibit_signal_without_use)
8639         (sc_prohibit_stdio--_without_use)
8640         (sc_prohibit_stdio-safer_without_use)
8641         (sc_prohibit_strings_without_use)
8642         (sc_prohibit_intprops_without_use)
8643         (sc_prohibit_stddef_without_use)
8644         (sc_prohibit_xfreopen_without_use): Update clients.
8645
8646 2011-06-24  Jim Meyering  <meyering@redhat.com>
8647
8648         syntax-check: keep one maint.mk rule in sync with its header
8649         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
8650         of the bug Eric has just fixed, with today's commit 25e4c2ec.
8651         I prefer to avoid temporary files here, so use <(...), but that
8652         is not supported by /bin/sh, so...
8653         (SHELL): Define to /bin/bash.
8654
8655 2011-06-24  Eric Blake  <eblake@redhat.com>
8656
8657         maint.mk: update sc_prohibit_intprops_without_use
8658         * top/maint.mk (_intprops_names): Match recent changes.
8659
8660 2011-06-24  Bruno Haible  <bruno@clisp.org>
8661
8662         strerror-override: No-op tweak.
8663         * lib/strerror-override.h (strerror_override): Reorder conditions,
8664         for consistency with lib/strerror-override.c.
8665
8666 2011-06-23  Eric Blake  <eblake@redhat.com>
8667
8668         maint.mk: test further PATH_MAX issues
8669         * top/maint.mk (sc_prohibit_path_max_array): Rename...
8670         (sc_prohibit_path_max_allocation): ...and also test alloca.
8671         Suggested by Jim Meyering.
8672
8673 2011-06-22  Eric Blake  <eblake@redhat.com>
8674
8675         maint.mk: add syntax-check to avoid char[PATH_MAX]
8676         * top/maint.mk (sc_prohibit_path_max_array): New rule.
8677
8678         stat: be robust to PATH_MAX definition
8679         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
8680         * modules/stat (Depends-on): Add verify.
8681
8682         link: work around IRIX bug
8683         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
8684         * lib/link.c (rpl_link): Work around it.
8685         * tests/test-link.h (test_link): Enhance test.
8686         * doc/posix-functions/link.texi (link): Document the bug.
8687
8688         getopt: silence clang warning
8689         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
8690         dereference.
8691         Reported by Gustavo Martin Domato.
8692
8693 2011-06-22  Jim Meyering  <meyering@redhat.com>
8694
8695         bootstrap: do not insert a blank line into each .gitignore file
8696         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
8697
8698 2011-06-21  Eric Blake  <eblake@redhat.com>
8699
8700         perror: test for output mismatch
8701         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
8702         perror on IRIX.
8703
8704         strerror_r: fix OpenBSD behavior on out-of-range
8705         * lib/strerror_r.c (strerror_r): Always use maximal string.
8706         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
8707
8708         strerror_r: fix OpenBSD behavior on 0
8709         * lib/strerror-override.c (strerror_override): Also override 0
8710         when needed.
8711         * lib/strerror-override.h (strerror_override): Likewise.
8712         * lib/strerror.c (strerror): Simplify, now that 0 override is done
8713         earlier.
8714         * lib/strerror_r.c (strerror_r): Likewise.
8715         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
8716         behavior...
8717         (gl_FUNC_STRERROR_0): ...into new macro.
8718         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
8719         is overridden.
8720         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
8721         * modules/strerror-override (Files): Add strerror.m4.
8722         (configure.ac): Also provide override for 0 when needed.
8723         * doc/posix-functions/strerror.texi (strerror): Document this.
8724         * doc/posix-functions/perror.texi (perror): Likewise.
8725
8726         perror: adjust array size
8727         * modules/perror (Depends-on): Add strerror-override.
8728         * lib/perror.c (perror): Use it to avoid magic number.
8729
8730         strerror-override: reduce size
8731         * lib/strerror-override.c (strerror_override): Use fewer lines.
8732
8733 2011-06-20  Bruno Haible  <bruno@clisp.org>
8734
8735         pathmax: Ensure correct value for PATH_MAX on HP-UX.
8736         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
8737
8738 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
8739
8740         alloca: port to compilers that can optimize like GCC 4.6.0
8741         * lib/alloca.c (find_stack_direction): New signature, taken from
8742         Autoconf git.  This works with GCC 4.6.0.  This code should never
8743         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
8744         be used with other compilers that optimize as well as GCC 4.6.0 does.
8745         (alloca): Adjust to new signature.
8746         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
8747         New macro, which patches Autoconf in a similar way.
8748
8749         c-stack: stop worrying about stack direction
8750         * lib/c-stack.c (find_stack_direction): Remove.
8751         (segv_handler): Don't worry about stack direction growth, as it's
8752         too much of a pain to configure this correctly, given how compilers
8753         are optimizing-away our stack-growth detection code.  Instead, assume
8754         that any access to just before or just after the stack is OK.
8755         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
8756         Don't require AC_FUNC_ALLOCA; no longer needed.
8757
8758 2011-06-20  Eric Blake  <eblake@redhat.com>
8759
8760         test-stat: don't allocate PATH_MAX bytes
8761         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
8762         PATH_MAX-sized buffer.
8763         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
8764         * modules/stat-tests (Depends-on): Likewise.
8765         * tests/test-fstatat.c (includes): Drop pathmax.h.
8766         * tests/test-stat.c (includes): Likewise.
8767         Reported by Bruno Haible.
8768
8769 2011-06-20  Bruno Haible  <bruno@clisp.org>
8770
8771         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
8772         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
8773         * lib/float.c: New file.
8774         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
8775         REPLACE_FLOAT_LDBL.
8776         * modules/float (Files): Add lib/float.c.
8777         (configure.ac): Invoke AC_LIBOBJ.
8778         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
8779
8780 2011-06-20  Bruno Haible  <bruno@clisp.org>
8781
8782         Tests for module 'float'.
8783         * modules/float-tests: New file.
8784         * tests/test-float.c: New file.
8785
8786 2011-06-19  Bruno Haible  <bruno@clisp.org>
8787
8788         isinf: Coding style.
8789         * lib/isinf.c: Use GNU coding style.
8790
8791 2011-06-19  Bruno Haible  <bruno@clisp.org>
8792
8793         linkat test: Avoid test failure on AIX 7.1.
8794         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
8795         * tests/test-link.h (test_link): Likewise.
8796
8797 2011-06-19  Bruno Haible  <bruno@clisp.org>
8798
8799         pread test: Avoid test failure on OpenBSD 4.9.
8800         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
8801
8802 2011-06-19  Bruno Haible  <bruno@clisp.org>
8803
8804         sprintf-posix: Fix test failure on AIX 7.1.
8805         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
8806         * doc/posix-functions/dprintf.texi: Mention limited precision problem
8807         on AIX.
8808         * doc/posix-functions/fprintf.texi: Likewise.
8809         * doc/posix-functions/printf.texi: Likewise.
8810         * doc/posix-functions/snprintf.texi: Likewise.
8811         * doc/posix-functions/sprintf.texi: Likewise.
8812         * doc/posix-functions/vdprintf.texi: Likewise.
8813         * doc/posix-functions/vfprintf.texi: Likewise.
8814         * doc/posix-functions/vprintf.texi: Likewise.
8815         * doc/posix-functions/vsnprintf.texi: Likewise.
8816         * doc/posix-functions/vsprintf.texi: Likewise.
8817
8818 2011-06-19  Bruno Haible  <bruno@clisp.org>
8819
8820         roundl-ieee: Fix test failure on AIX 7.1.
8821         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
8822         * doc/posix-functions/roundl.texi: Mention problem with negative
8823         arguments.
8824
8825 2011-06-19  Bruno Haible  <bruno@clisp.org>
8826
8827         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
8828         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
8829         * doc/posix-functions/round.texi: Mention problem with negative
8830         arguments.
8831         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
8832
8833 2011-06-19  Bruno Haible  <bruno@clisp.org>
8834
8835         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
8836         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
8837         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
8838         * doc/posix-functions/roundf.texi: Mention problem with negative
8839         arguments.
8840         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
8841
8842 2011-06-19  Bruno Haible  <bruno@clisp.org>
8843
8844         ceilf-ieee: Work around bug on MacOS X 10.5.
8845         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
8846
8847         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
8848         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
8849         IEEE compliant, avoid compiler optimizations.
8850         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
8851         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
8852         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
8853         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
8854         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
8855         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
8856         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8857         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
8858         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
8859         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
8860
8861 2011-06-19  Bruno Haible  <bruno@clisp.org>
8862
8863         ceilf-ieee: Work around bug on AIX 7.1.
8864         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
8865         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
8866
8867 2011-06-19  Bruno Haible  <bruno@clisp.org>
8868
8869         ceil-ieee: Work around bug on AIX 7.1.
8870         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
8871         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
8872
8873 2011-06-18  Bruno Haible  <bruno@clisp.org>
8874
8875         fsync test: Avoid test failure on MacOS X and AIX.
8876         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
8877         EINVAL.
8878
8879 2011-06-18  Bruno Haible  <bruno@clisp.org>
8880
8881         openat, fdopendir tests: Fix link errors.
8882         * modules/openat-tests (Depends-on): Add progname.
8883         * modules/fdopendir-tests (Depends-on): Likewise.
8884         * tests/test-fchownat.c: Include progname.h.
8885         (main): Call set_program_name.
8886         * tests/test-fstatat.c: Include progname.h.
8887         (main): Call set_program_name.
8888         * tests/test-mkdirat.c: Include progname.h.
8889         (main): Call set_program_name.
8890         * tests/test-openat.c: Include progname.h.
8891         (main): Call set_program_name.
8892         * tests/test-unlinkat.c: Include progname.h.
8893         (main): Call set_program_name.
8894         * tests/test-fdopendir.c: Include progname.h.
8895         (main): Call set_program_name.
8896
8897 2011-06-18  Bruno Haible  <bruno@clisp.org>
8898
8899         Doc update.
8900         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
8901         HP-UX.
8902         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
8903
8904 2011-06-18  Bruno Haible  <bruno@clisp.org>
8905
8906         getcwd tests: Avoid compilation error on HP-UX 11.31.
8907         * modules/getcwd-tests (Depends-on): Add pathmax.
8908         * tests/test-getcwd.c: Include pathmax.h.
8909
8910 2011-06-18  Bruno Haible  <bruno@clisp.org>
8911
8912         isfinite, isinf: Fix link error on AIX 6 and 7.
8913         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
8914         needed, also test the macro with a 'float' argument.
8915         * m4/isinf.m4 (gl_ISINF): Likewise.
8916
8917 2011-06-18  Bruno Haible  <bruno@clisp.org>
8918
8919         getloadavg: Don't clobber LIBS. Regression from previous commit.
8920         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
8921         AC_CHECK_LIB from here...
8922         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
8923         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
8924         gl_func_getloadavg_done.
8925         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8926
8927 2011-06-18  Bruno Haible  <bruno@clisp.org>
8928
8929         clean-temp: Improve documentation.
8930         * lib/clean-temp.h: Explain better how to use this module.
8931         Reported by John Darrington <john@darrington.wattle.id.au>.
8932
8933 2011-06-17  Bruno Haible  <bruno@clisp.org>
8934
8935         pread, pwrite: Avoid cc warning on AIX.
8936         * lib/unistd.in.h (pread): Undefine before defining as a macro.
8937         (pwrite): Likewise.
8938
8939 2011-06-17  Bruno Haible  <bruno@clisp.org>
8940
8941         spawn-pipe tests: Fix link error.
8942         * tests/test-spawn-pipe-child.c: Undefine fprintf.
8943         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8944
8945 2011-06-17  Bruno Haible  <bruno@clisp.org>
8946
8947         Tests: Remove unnecessary dependency.
8948         * modules/canonicalize-tests (Depends-on): Remove progname.
8949         * modules/chown-tests (Depends-on): Likewise.
8950         * modules/dirname-tests (Depends-on): Likewise.
8951         * modules/fdopendir-tests (Depends-on): Likewise.
8952         * modules/fdutimensat-tests (Depends-on): Likewise.
8953         * modules/hash-tests (Depends-on): Likewise.
8954         * modules/lchown-tests (Depends-on): Likewise.
8955         * modules/linkat-tests (Depends-on): Likewise.
8956         * modules/renameat-tests (Depends-on): Likewise.
8957         * modules/spawn-pipe-tests (Depends-on): Likewise.
8958         * modules/utimensat-tests (Depends-on): Likewise.
8959
8960 2011-06-17  Bruno Haible  <bruno@clisp.org>
8961
8962         spawn-pipe tests: Fix link error.
8963         * tests/test-spawn-pipe-child.c: Undefine fflush.
8964
8965 2011-06-17  Bruno Haible  <bruno@clisp.org>
8966
8967         Fix tests link errors.
8968         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
8969         * modules/chown-tests (Makefile.am): Don't link test-chown with
8970         LIBINTL.
8971         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
8972         LIBINTL.
8973         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
8974         LIBINTL.
8975         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
8976         LIBINTL.
8977
8978 2011-06-16  Bruno Haible  <bruno@clisp.org>
8979
8980         crypto/gc-sha1: Fix recent regression.
8981         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
8982         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
8983
8984         crypto/gc-md5: Fix recent regression.
8985         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
8986
8987         crypto/gc-md4: Fix recent regression.
8988         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
8989         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
8990
8991         crypto/gc-arctwo: Fix recent regression.
8992         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
8993         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
8994
8995         crypto/gc-rijndael: Fix recent regression.
8996         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
8997         (configure.ac): Invoke AC_LIBOBJ here.
8998         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
8999         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9000
9001         crypto/gc-hmac-sha1: Fix recent regression.
9002         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
9003         (configure.ac): Invoke AC_LIBOBJ here.
9004         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
9005         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9006
9007         crypto/gc-hmac-md5: Fix recent regression.
9008         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
9009         (configure.ac): Invoke AC_LIBOBJ here.
9010         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
9011         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9012
9013         crypto/gc-des: Fix recent regression.
9014         * modules/crypto/gc-des (Files): Remove m4/des.m4.
9015         (configure.ac): Invoke AC_LIBOBJ here.
9016         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
9017         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9018
9019         crypto/gc-arcfour: Fix recent regression.
9020         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
9021         (configure.ac): Invoke AC_LIBOBJ here.
9022         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
9023         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9024
9025 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
9026
9027         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
9028         After the 2011-05-21 change, this macro requires
9029         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
9030         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
9031
9032 2011-06-16  Bruno Haible  <bruno@clisp.org>
9033
9034         fprintftime: Move AC_LIBOBJ invocations to module description.
9035         * m4/fprintftime.m4: Remove file.
9036         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
9037         (configure.ac): Remove gl_FPRINTFTIME call.
9038         (Makefile.am): Augment lib_SOURCES.
9039         Reported by Jim Meyering.
9040
9041 2011-06-16  Bruno Haible  <bruno@clisp.org>
9042
9043         tmpfile-safer: Finish 2011-05-23 commit.
9044         * m4/stdio-safer.m4: Really remove file.
9045         Reported by Jim Meyering.
9046
9047 2011-06-16  Bruno Haible  <bruno@clisp.org>
9048
9049         syntax-check: Fix typo.
9050         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
9051         printf-posix.m4.
9052         Reported by Jim Meyering.
9053
9054 2011-06-13  Jim Meyering  <meyering@redhat.com>
9055
9056         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
9057         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
9058
9059 2011-05-23  Bruno Haible  <bruno@clisp.org>
9060
9061         yesno: Move AC_LIBOBJ invocations to module description.
9062         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
9063         * modules/yesno (Makefile.am): Augment lib_SOURCES.
9064
9065 2011-05-23  Bruno Haible  <bruno@clisp.org>
9066
9067         xstrtol: Move AC_LIBOBJ invocations to module description.
9068         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
9069         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
9070
9071 2011-05-23  Bruno Haible  <bruno@clisp.org>
9072
9073         xstrtold: Move AC_LIBOBJ invocations to module description.
9074         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
9075         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
9076
9077 2011-05-23  Bruno Haible  <bruno@clisp.org>
9078
9079         xstrtod: Move AC_LIBOBJ invocations to module description.
9080         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
9081         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
9082
9083 2011-05-23  Bruno Haible  <bruno@clisp.org>
9084
9085         xnanosleep: Move AC_LIBOBJ invocations to module description.
9086         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
9087         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
9088
9089 2011-05-23  Bruno Haible  <bruno@clisp.org>
9090
9091         xgetcwd: Move AC_LIBOBJ invocations to module description.
9092         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
9093         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
9094
9095 2011-05-23  Bruno Haible  <bruno@clisp.org>
9096
9097         xalloc: Move AC_LIBOBJ invocations to module description.
9098         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
9099         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
9100
9101 2011-05-23  Bruno Haible  <bruno@clisp.org>
9102
9103         write-any-file: Move AC_LIBOBJ invocations to module description.
9104         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
9105         invocation.
9106         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
9107
9108 2011-05-23  Bruno Haible  <bruno@clisp.org>
9109
9110         utimens: Move AC_LIBOBJ invocations to module description.
9111         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
9112         * modules/utimens (Makefile.am): Augment lib_SOURCES.
9113
9114 2011-05-23  Bruno Haible  <bruno@clisp.org>
9115
9116         utimecmp: Move AC_LIBOBJ invocations to module description.
9117         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
9118         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
9119
9120 2011-05-23  Bruno Haible  <bruno@clisp.org>
9121
9122         userspec: Move AC_LIBOBJ invocations to module description.
9123         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
9124         * modules/userspec (Makefile.am): Augment lib_SOURCES.
9125
9126 2011-05-23  Bruno Haible  <bruno@clisp.org>
9127
9128         unlinkdir: Move AC_LIBOBJ invocations to module description.
9129         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
9130         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
9131
9132 2011-05-23  Bruno Haible  <bruno@clisp.org>
9133
9134         unistd-safer: Move AC_LIBOBJ invocations to module description.
9135         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
9136         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
9137
9138 2011-05-23  Bruno Haible  <bruno@clisp.org>
9139
9140         tempname: Move AC_LIBOBJ invocations to module description.
9141         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
9142         * modules/tempname (Makefile.am): Augment lib_SOURCES.
9143
9144 2011-05-23  Bruno Haible  <bruno@clisp.org>
9145
9146         strftime: Move AC_LIBOBJ invocations to module description.
9147         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
9148         * modules/strftime (Makefile.am): Augment lib_SOURCES.
9149
9150 2011-05-23  Bruno Haible  <bruno@clisp.org>
9151
9152         stdlib-safer: Move AC_LIBOBJ invocations to module description.
9153         * m4/stdlib-safer.m4: Remove file.
9154         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
9155         (configure.ac): Remove gl_STDLIB_SAFER call.
9156         (Makefile.am): Augment lib_SOURCES.
9157
9158 2011-05-23  Bruno Haible  <bruno@clisp.org>
9159
9160         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
9161         * m4/stdio-safer.m4: Remove file.
9162         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
9163         (configure.ac): Remove gl_TMPFILE_SAFER call.
9164         (Makefile.am): Augment lib_SOURCES.
9165
9166 2011-05-23  Bruno Haible  <bruno@clisp.org>
9167
9168         popen-safer: Move AC_LIBOBJ invocations to module description.
9169         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
9170         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
9171         (configure.ac): Remove gl_POPEN_SAFER call.
9172         (Makefile.am): Augment lib_SOURCES.
9173
9174 2011-05-23  Bruno Haible  <bruno@clisp.org>
9175
9176         freopen-safer: Move AC_LIBOBJ invocations to module description.
9177         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
9178         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
9179         (configure.ac): Remove gl_FREOPEN_SAFER call.
9180         (Makefile.am): Augment lib_SOURCES.
9181
9182 2011-05-23  Bruno Haible  <bruno@clisp.org>
9183
9184         fopen-safer: Move AC_LIBOBJ invocations to module description.
9185         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
9186         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
9187         (configure.ac): Remove gl_FOPEN_SAFER call.
9188         (Makefile.am): Augment lib_SOURCES.
9189
9190 2011-05-23  Bruno Haible  <bruno@clisp.org>
9191
9192         crypto/sha512: Move AC_LIBOBJ invocations to module description.
9193         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
9194         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
9195
9196 2011-05-23  Bruno Haible  <bruno@clisp.org>
9197
9198         crypto/sha256: Move AC_LIBOBJ invocations to module description.
9199         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
9200         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
9201
9202 2011-05-23  Bruno Haible  <bruno@clisp.org>
9203
9204         crypto/sha1: Move AC_LIBOBJ invocations to module description.
9205         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
9206         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
9207
9208 2011-05-23  Bruno Haible  <bruno@clisp.org>
9209
9210         settime: Move AC_LIBOBJ invocations to module description.
9211         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
9212         * modules/settime (Makefile.am): Augment lib_SOURCES.
9213
9214 2011-05-23  Bruno Haible  <bruno@clisp.org>
9215
9216         savedir: Move AC_LIBOBJ invocations to module description.
9217         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
9218         * modules/savedir (Makefile.am): Augment lib_SOURCES.
9219
9220 2011-05-23  Bruno Haible  <bruno@clisp.org>
9221
9222         save-cwd: Move AC_LIBOBJ invocations to module description.
9223         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
9224         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
9225
9226 2011-05-23  Bruno Haible  <bruno@clisp.org>
9227
9228         same: Move AC_LIBOBJ invocations to module description.
9229         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
9230         * modules/same (Makefile.am): Augment lib_SOURCES.
9231
9232 2011-05-23  Bruno Haible  <bruno@clisp.org>
9233
9234         safe-write: Move AC_LIBOBJ invocations to module description.
9235         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
9236         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
9237         instead of gl_SAFE_WRITE.
9238         (Makefile.am): Augment lib_SOURCES.
9239
9240 2011-05-23  Bruno Haible  <bruno@clisp.org>
9241
9242         safe-read: Move AC_LIBOBJ invocations to module description.
9243         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
9244         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
9245         of gl_SAFE_READ.
9246         (Makefile.am): Augment lib_SOURCES.
9247
9248 2011-05-23  Bruno Haible  <bruno@clisp.org>
9249
9250         safe-alloc: Move AC_LIBOBJ invocations to module description.
9251         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
9252         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
9253
9254 2011-05-23  Bruno Haible  <bruno@clisp.org>
9255
9256         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
9257         * m4/rijndael.m4: Remove file.
9258         * modules/crypto/rijndael (Files): Remove it.
9259         (configure.ac): Remove gl_RIJNDAEL call.
9260         (Makefile.am): Augment lib_SOURCES.
9261
9262 2011-05-23  Bruno Haible  <bruno@clisp.org>
9263
9264         readtokens: Move AC_LIBOBJ invocations to module description.
9265         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
9266         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
9267
9268 2011-05-23  Bruno Haible  <bruno@clisp.org>
9269
9270         read-file: Move AC_LIBOBJ invocations to module description.
9271         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
9272         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
9273         of gl_FUNC_READ_FILE.
9274         (Makefile.am): Augment lib_SOURCES.
9275
9276 2011-05-23  Bruno Haible  <bruno@clisp.org>
9277
9278         quotearg: Move AC_LIBOBJ invocations to module description.
9279         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
9280         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
9281
9282 2011-05-23  Bruno Haible  <bruno@clisp.org>
9283
9284         quote: Move AC_LIBOBJ invocations to module description.
9285         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
9286         * modules/quote (Makefile.am): Augment lib_SOURCES.
9287
9288 2011-05-23  Bruno Haible  <bruno@clisp.org>
9289
9290         posixver: Move AC_LIBOBJ invocations to module description.
9291         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
9292         * modules/posixver (Makefile.am): Augment lib_SOURCES.
9293
9294 2011-05-23  Bruno Haible  <bruno@clisp.org>
9295
9296         posixtm: Move AC_LIBOBJ invocations to module description.
9297         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
9298         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
9299
9300 2011-05-23  Bruno Haible  <bruno@clisp.org>
9301
9302         physmem: Move AC_LIBOBJ invocations to module description.
9303         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
9304         * modules/physmem (Makefile.am): Augment lib_SOURCES.
9305
9306 2011-05-23  Bruno Haible  <bruno@clisp.org>
9307
9308         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
9309         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
9310         invocation.
9311         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
9312
9313 2011-05-23  Bruno Haible  <bruno@clisp.org>
9314
9315         mpsort: Move AC_LIBOBJ invocations to module description.
9316         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
9317         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
9318
9319 2011-05-23  Bruno Haible  <bruno@clisp.org>
9320
9321         modechange: Move AC_LIBOBJ invocations to module description.
9322         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
9323         * modules/modechange (Makefile.am): Augment lib_SOURCES.
9324
9325 2011-05-23  Bruno Haible  <bruno@clisp.org>
9326
9327         mkdir-p: Move AC_LIBOBJ invocations to module description.
9328         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
9329         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
9330
9331 2011-05-23  Bruno Haible  <bruno@clisp.org>
9332
9333         mkancesdirs: Move AC_LIBOBJ invocations to module description.
9334         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
9335         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
9336
9337 2011-05-23  Bruno Haible  <bruno@clisp.org>
9338
9339         mgetgroups: Move AC_LIBOBJ invocations to module description.
9340         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
9341         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
9342
9343 2011-05-23  Bruno Haible  <bruno@clisp.org>
9344
9345         memxor: Move AC_LIBOBJ invocations to module description.
9346         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
9347         * modules/memxor (Makefile.am): Augment lib_SOURCES.
9348
9349 2011-05-23  Bruno Haible  <bruno@clisp.org>
9350
9351         memcoll: Move AC_LIBOBJ invocations to module description.
9352         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
9353         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
9354
9355 2011-05-23  Bruno Haible  <bruno@clisp.org>
9356
9357         memcasecmp: Move AC_LIBOBJ invocations to module description.
9358         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
9359         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
9360
9361 2011-05-23  Bruno Haible  <bruno@clisp.org>
9362
9363         crypto/md5: Move AC_LIBOBJ invocations to module description.
9364         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
9365         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
9366
9367 2011-05-23  Bruno Haible  <bruno@clisp.org>
9368
9369         crypto/md4: Move AC_LIBOBJ invocations to module description.
9370         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
9371         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
9372
9373 2011-05-23  Bruno Haible  <bruno@clisp.org>
9374
9375         crypto/md2: Move AC_LIBOBJ invocations to module description.
9376         * m4/md2.m4: Remove file.
9377         * modules/crypto/md2 (Files): Remove it.
9378         (configure.ac): Remove gl_MD2 call.
9379         (Makefile.am): Augment lib_SOURCES.
9380
9381 2011-05-23  Bruno Haible  <bruno@clisp.org>
9382
9383         long-options: Move AC_LIBOBJ invocations to module description.
9384         * m4/long-options.m4: Remove file.
9385         * modules/long-options (Files): Remove it.
9386         (configure.ac): Remove gl_LONG_OPTIONS call.
9387         (Makefile.am): Augment lib_SOURCES.
9388
9389 2011-05-23  Bruno Haible  <bruno@clisp.org>
9390
9391         i-ring: Move AC_LIBOBJ invocations to module description.
9392         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
9393         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
9394
9395 2011-05-23  Bruno Haible  <bruno@clisp.org>
9396
9397         idcache: Move AC_LIBOBJ invocations to module description.
9398         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
9399         * modules/idcache (Makefile.am): Augment lib_SOURCES.
9400
9401 2011-05-23  Bruno Haible  <bruno@clisp.org>
9402
9403         human: Move AC_LIBOBJ invocations to module description.
9404         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
9405         * modules/human (Makefile.am): Augment lib_SOURCES.
9406
9407 2011-05-23  Bruno Haible  <bruno@clisp.org>
9408
9409         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
9410         * m4/hmac-sha1.m4: Remove file.
9411         * modules/crypto/hmac-sha1 (Files): Remove it.
9412         (configure.ac): Remove gl_HMAC_SHA1 call.
9413         (Makefile.am): Augment lib_SOURCES.
9414
9415 2011-05-23  Bruno Haible  <bruno@clisp.org>
9416
9417         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
9418         * m4/hmac-md5.m4: Remove file.
9419         * modules/crypto/hmac-md5 (Files): Remove it.
9420         (configure.ac): Remove gl_HMAC_MD5 call.
9421         (Makefile.am): Augment lib_SOURCES.
9422
9423 2011-05-23  Bruno Haible  <bruno@clisp.org>
9424
9425         hash: Move AC_LIBOBJ invocations to module description.
9426         * m4/hash.m4: Remove file.
9427         * modules/hash (Files): Remove it.
9428         (configure.ac): Remove gl_HASH call.
9429         (Makefile.am): Augment lib_SOURCES.
9430
9431 2011-05-23  Bruno Haible  <bruno@clisp.org>
9432
9433         hard-locale: Move AC_LIBOBJ invocations to module description.
9434         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
9435         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
9436
9437 2011-05-23  Bruno Haible  <bruno@clisp.org>
9438
9439         getugroups: Move AC_LIBOBJ invocations to module description.
9440         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
9441         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
9442
9443 2011-05-23  Bruno Haible  <bruno@clisp.org>
9444
9445         gettime: Move AC_LIBOBJ invocations to module description.
9446         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
9447         * modules/gettime (Makefile.am): Augment lib_SOURCES.
9448
9449 2011-05-23  Bruno Haible  <bruno@clisp.org>
9450
9451         getndelim2: Move AC_LIBOBJ invocations to module description.
9452         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
9453         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
9454
9455 2011-05-23  Bruno Haible  <bruno@clisp.org>
9456
9457         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
9458         * m4/gc-pbkdf2-sha1.m4: Remove file.
9459         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
9460         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
9461         (Makefile.am): Augment lib_SOURCES.
9462
9463 2011-05-23  Bruno Haible  <bruno@clisp.org>
9464
9465         fts: Move AC_LIBOBJ invocations to module description.
9466         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
9467         * modules/fts (configure.ac): ... to here.
9468
9469 2011-05-23  Bruno Haible  <bruno@clisp.org>
9470
9471         file-type: Move AC_LIBOBJ invocations to module description.
9472         * m4/file-type.m4: Remove file.
9473         * modules/file-type (Files): Remove it.
9474         (configure.ac): Remove gl_FILE_TYPE call.
9475         (Makefile.am): Augment lib_SOURCES.
9476
9477 2011-05-23  Bruno Haible  <bruno@clisp.org>
9478
9479         filenamecat*: Respect rules for use of AC_LIBOBJ.
9480         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
9481         Remove AC_LIBOBJ invocation.
9482         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
9483         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
9484
9485 2011-05-23  Bruno Haible  <bruno@clisp.org>
9486
9487         filemode: Move AC_LIBOBJ invocations to module description.
9488         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
9489         * modules/filemode (Makefile.am): Augment lib_SOURCES.
9490
9491 2011-05-23  Bruno Haible  <bruno@clisp.org>
9492
9493         openat-safer: Move AC_LIBOBJ invocations to module description.
9494         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
9495         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
9496
9497 2011-05-23  Bruno Haible  <bruno@clisp.org>
9498
9499         fcntl-safer: Move AC_LIBOBJ invocations to module description.
9500         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
9501         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
9502
9503 2011-05-23  Bruno Haible  <bruno@clisp.org>
9504
9505         exclude: Move AC_LIBOBJ invocations to module description.
9506         * m4/exclude.m4: Remove file.
9507         * modules/exclude (Files): Remove it.
9508         (configure.ac): Remove gl_EXCLUDE call.
9509         (Makefile.am): Augment lib_SOURCES.
9510
9511 2011-05-23  Bruno Haible  <bruno@clisp.org>
9512
9513         dirname*: Respect rules for use of AC_LIBOBJ.
9514         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
9515         invocations.
9516         * modules/dirname (Makefile.am): Augment lib_SOURCES.
9517         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
9518
9519 2011-05-23  Bruno Haible  <bruno@clisp.org>
9520
9521         dirent-safer: Move AC_LIBOBJ invocations to module description.
9522         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
9523         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
9524
9525 2011-05-23  Bruno Haible  <bruno@clisp.org>
9526
9527         crypto/des: Move AC_LIBOBJ invocations to module description.
9528         * m4/des.m4: Remove file.
9529         * modules/crypto/des (Files): Remove it.
9530         (configure.ac): Remove gl_DES call.
9531         (Makefile.am): Augment lib_SOURCES.
9532
9533 2011-05-23  Bruno Haible  <bruno@clisp.org>
9534
9535         cycle-check: Move AC_LIBOBJ invocations to module description.
9536         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
9537         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
9538
9539 2011-05-23  Bruno Haible  <bruno@clisp.org>
9540
9541         c-strtold: Move AC_LIBOBJ invocations to module description.
9542         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
9543         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
9544
9545 2011-05-23  Bruno Haible  <bruno@clisp.org>
9546
9547         c-strtod: Move AC_LIBOBJ invocations to module description.
9548         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
9549         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
9550
9551 2011-05-23  Bruno Haible  <bruno@clisp.org>
9552
9553         crc: Move AC_LIBOBJ invocations to module description.
9554         * m4/crc.m4: Remove file.
9555         * modules/crc (Files): Remove it.
9556         (configure.ac): Remove gl_CRC call.
9557         (Makefile.am): Augment lib_SOURCES.
9558
9559 2011-05-23  Bruno Haible  <bruno@clisp.org>
9560
9561         close-stream: Move AC_LIBOBJ invocations to module description.
9562         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
9563         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
9564
9565 2011-05-23  Bruno Haible  <bruno@clisp.org>
9566
9567         closeout: Move AC_LIBOBJ invocations to module description.
9568         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
9569         * modules/closeout (Makefile.am): Augment lib_SOURCES.
9570
9571 2011-05-23  Bruno Haible  <bruno@clisp.org>
9572
9573         closein: Move AC_LIBOBJ invocations to module description.
9574         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
9575         * modules/closein (Makefile.am): Augment lib_SOURCES.
9576
9577 2011-05-23  Bruno Haible  <bruno@clisp.org>
9578
9579         cloexec: Move AC_LIBOBJ invocations to module description.
9580         * m4/cloexec.m4: Remove file.
9581         * modules/cloexec (Files): Remove it.
9582         (configure.ac): Remove gl_CLOEXEC call.
9583         (Makefile.am): Augment lib_SOURCES.
9584
9585 2011-05-23  Bruno Haible  <bruno@clisp.org>
9586
9587         check-version: Move AC_LIBOBJ invocations to module description.
9588         * m4/check-version.m4: Remove file.
9589         * modules/check-version (Files): Remove it.
9590         (configure.ac): Remove gl_CHECK_VERSION call.
9591         (Makefile.am): Augment lib_SOURCES.
9592
9593 2011-05-23  Bruno Haible  <bruno@clisp.org>
9594
9595         chdir-safer: Move AC_LIBOBJ invocations to module description.
9596         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
9597         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
9598
9599 2011-05-23  Bruno Haible  <bruno@clisp.org>
9600
9601         canonicalize: Move AC_LIBOBJ invocations to module description.
9602         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
9603         AC_LIBOBJ invocation.
9604         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
9605
9606 2011-05-23  Bruno Haible  <bruno@clisp.org>
9607
9608         canon-host: Move AC_LIBOBJ invocations to module description.
9609         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
9610         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
9611         instead of gl_CANON_HOST.
9612         (Makefile.am): Augment lib_SOURCES.
9613
9614 2011-05-23  Bruno Haible  <bruno@clisp.org>
9615
9616         backupfile: Move AC_LIBOBJ invocations to module description.
9617         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
9618         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
9619
9620 2011-05-23  Bruno Haible  <bruno@clisp.org>
9621
9622         argmatch: Move AC_LIBOBJ invocations to module description.
9623         * m4/argmatch.m4: Remove file.
9624         * modules/argmatch (Files): Remove it.
9625         (configure.ac): Remove gl_ARGMATCH call.
9626         (Makefile.am): Augment lib_SOURCES.
9627
9628 2011-05-23  Bruno Haible  <bruno@clisp.org>
9629
9630         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
9631         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
9632         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
9633
9634 2011-05-23  Bruno Haible  <bruno@clisp.org>
9635
9636         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
9637         * m4/arcfour.m4: Remove file.
9638         * modules/crypto/arcfour (Files): Remove it.
9639         (configure.ac): Remove gl_ARCFOUR call.
9640         (Makefile.am): Augment lib_SOURCES.
9641
9642 2011-05-22  Bruno Haible  <bruno@clisp.org>
9643
9644         write: Move AC_LIBOBJ invocations to module description.
9645         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
9646         * modules/write (configure.ac): ... to here.
9647
9648 2011-05-22  Bruno Haible  <bruno@clisp.org>
9649
9650         wmemset: Move AC_LIBOBJ invocations to module description.
9651         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
9652         here...
9653         * modules/wmemset (configure.ac): ... to here.
9654
9655 2011-05-22  Bruno Haible  <bruno@clisp.org>
9656
9657         wmemmove: Move AC_LIBOBJ invocations to module description.
9658         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
9659         here...
9660         * modules/wmemmove (configure.ac): ... to here.
9661
9662 2011-05-22  Bruno Haible  <bruno@clisp.org>
9663
9664         wmemcpy: Move AC_LIBOBJ invocations to module description.
9665         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
9666         here...
9667         * modules/wmemcpy (configure.ac): ... to here.
9668
9669 2011-05-22  Bruno Haible  <bruno@clisp.org>
9670
9671         wmemcmp: Move AC_LIBOBJ invocations to module description.
9672         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
9673         here...
9674         * modules/wmemcmp (configure.ac): ... to here.
9675
9676 2011-05-22  Bruno Haible  <bruno@clisp.org>
9677
9678         wmemchr: Move AC_LIBOBJ invocations to module description.
9679         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
9680         here...
9681         * modules/wmemchr (configure.ac): ... to here.
9682
9683 2011-05-22  Bruno Haible  <bruno@clisp.org>
9684
9685         wcswidth: Move AC_LIBOBJ invocations to module description.
9686         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
9687         here...
9688         * modules/wcswidth (configure.ac): ... to here.
9689
9690 2011-05-22  Bruno Haible  <bruno@clisp.org>
9691
9692         wcwidth: Respect rules for use of AC_LIBOBJ.
9693         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
9694         invocation from here...
9695         * modules/wcwidth (configure.ac): ... to here.
9696         (Depends-on): Update conditions.
9697
9698 2011-05-22  Bruno Haible  <bruno@clisp.org>
9699
9700         wctype: Move AC_LIBOBJ invocations to module description.
9701         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
9702         invocation from here...
9703         * modules/wctype (configure.ac): ... to here.
9704         (Depends-on): Update conditions.
9705
9706 2011-05-22  Bruno Haible  <bruno@clisp.org>
9707
9708         wctrans: Move AC_LIBOBJ invocations to module description.
9709         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
9710         invocation from here...
9711         * modules/wctrans (configure.ac): ... to here.
9712
9713 2011-05-22  Bruno Haible  <bruno@clisp.org>
9714
9715         wctomb: Move AC_LIBOBJ invocations to module description.
9716         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
9717         invocations from here...
9718         * modules/wctomb (configure.ac): ... to here.
9719
9720 2011-05-22  Bruno Haible  <bruno@clisp.org>
9721
9722         wctob: Move AC_LIBOBJ invocations to module description.
9723         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
9724         gl_PREREQ_WCTOB invocations from here...
9725         * modules/wctob (configure.ac): ... to here.
9726         (Depends-on): Update conditions.
9727
9728 2011-05-22  Bruno Haible  <bruno@clisp.org>
9729
9730         wcsxfrm: Move AC_LIBOBJ invocations to module description.
9731         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
9732         here...
9733         * modules/wcsxfrm (configure.ac): ... to here.
9734
9735 2011-05-22  Bruno Haible  <bruno@clisp.org>
9736
9737         wcstok: Move AC_LIBOBJ invocations to module description.
9738         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
9739         * modules/wcstok (configure.ac): ... to here.
9740
9741 2011-05-22  Bruno Haible  <bruno@clisp.org>
9742
9743         wcsstr: Move AC_LIBOBJ invocations to module description.
9744         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
9745         * modules/wcsstr (configure.ac): ... to here.
9746
9747 2011-05-22  Bruno Haible  <bruno@clisp.org>
9748
9749         wcsspn: Move AC_LIBOBJ invocations to module description.
9750         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
9751         * modules/wcsspn (configure.ac): ... to here.
9752
9753 2011-05-22  Bruno Haible  <bruno@clisp.org>
9754
9755         wcsrtombs: Move AC_LIBOBJ invocations to module description.
9756         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
9757         gl_PREREQ_WCSRTOMBS invocations from here...
9758         * modules/wcsrtombs (configure.ac): ... to here.
9759
9760 2011-05-22  Bruno Haible  <bruno@clisp.org>
9761
9762         wcsrchr: Move AC_LIBOBJ invocations to module description.
9763         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
9764         here...
9765         * modules/wcsrchr (configure.ac): ... to here.
9766
9767 2011-05-22  Bruno Haible  <bruno@clisp.org>
9768
9769         wcspbrk: Move AC_LIBOBJ invocations to module description.
9770         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
9771         here...
9772         * modules/wcspbrk (configure.ac): ... to here.
9773
9774 2011-05-22  Bruno Haible  <bruno@clisp.org>
9775
9776         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
9777         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
9778         gl_PREREQ_WCSNRTOMBS invocations from here...
9779         * modules/wcsnrtombs (configure.ac): ... to here.
9780
9781 2011-05-22  Bruno Haible  <bruno@clisp.org>
9782
9783         wcsnlen: Move AC_LIBOBJ invocations to module description.
9784         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
9785         here...
9786         * modules/wcsnlen (configure.ac): ... to here.
9787
9788 2011-05-22  Bruno Haible  <bruno@clisp.org>
9789
9790         wcsncpy: Move AC_LIBOBJ invocations to module description.
9791         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
9792         here...
9793         * modules/wcsncpy (configure.ac): ... to here.
9794
9795 2011-05-22  Bruno Haible  <bruno@clisp.org>
9796
9797         wcsncmp: Move AC_LIBOBJ invocations to module description.
9798         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
9799         here...
9800         * modules/wcsncmp (configure.ac): ... to here.
9801
9802 2011-05-22  Bruno Haible  <bruno@clisp.org>
9803
9804         wcsncat: Move AC_LIBOBJ invocations to module description.
9805         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
9806         here...
9807         * modules/wcsncat (configure.ac): ... to here.
9808
9809 2011-05-22  Bruno Haible  <bruno@clisp.org>
9810
9811         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
9812         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
9813         from here...
9814         * modules/wcsncasecmp (configure.ac): ... to here.
9815
9816 2011-05-22  Bruno Haible  <bruno@clisp.org>
9817
9818         wcslen: Move AC_LIBOBJ invocations to module description.
9819         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
9820         * modules/wcslen (configure.ac): ... to here.
9821
9822 2011-05-22  Bruno Haible  <bruno@clisp.org>
9823
9824         wcsdup: Move AC_LIBOBJ invocations to module description.
9825         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
9826         * modules/wcsdup (configure.ac): ... to here.
9827
9828 2011-05-22  Bruno Haible  <bruno@clisp.org>
9829
9830         wcscspn: Move AC_LIBOBJ invocations to module description.
9831         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
9832         here...
9833         * modules/wcscspn (configure.ac): ... to here.
9834
9835 2011-05-22  Bruno Haible  <bruno@clisp.org>
9836
9837         wcscpy: Move AC_LIBOBJ invocations to module description.
9838         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
9839         * modules/wcscpy (configure.ac): ... to here.
9840
9841 2011-05-22  Bruno Haible  <bruno@clisp.org>
9842
9843         wcscoll: Move AC_LIBOBJ invocations to module description.
9844         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
9845         here...
9846         * modules/wcscoll (configure.ac): ... to here.
9847
9848 2011-05-22  Bruno Haible  <bruno@clisp.org>
9849
9850         wcscmp: Move AC_LIBOBJ invocations to module description.
9851         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
9852         * modules/wcscmp (configure.ac): ... to here.
9853
9854 2011-05-22  Bruno Haible  <bruno@clisp.org>
9855
9856         wcschr: Move AC_LIBOBJ invocations to module description.
9857         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
9858         * modules/wcschr (configure.ac): ... to here.
9859
9860 2011-05-22  Bruno Haible  <bruno@clisp.org>
9861
9862         wcscat: Move AC_LIBOBJ invocations to module description.
9863         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
9864         * modules/wcscat (configure.ac): ... to here.
9865
9866 2011-05-22  Bruno Haible  <bruno@clisp.org>
9867
9868         wcscasecmp: Move AC_LIBOBJ invocations to module description.
9869         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
9870         here...
9871         * modules/wcscasecmp (configure.ac): ... to here.
9872
9873 2011-05-22  Bruno Haible  <bruno@clisp.org>
9874
9875         wcrtomb: Move AC_LIBOBJ invocations to module description.
9876         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
9877         invocations from here...
9878         * modules/wcrtomb (configure.ac): ... to here.
9879
9880 2011-05-22  Bruno Haible  <bruno@clisp.org>
9881
9882         wcpncpy: Move AC_LIBOBJ invocations to module description.
9883         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
9884         here...
9885         * modules/wcpncpy (configure.ac): ... to here.
9886
9887 2011-05-22  Bruno Haible  <bruno@clisp.org>
9888
9889         wcpcpy: Move AC_LIBOBJ invocations to module description.
9890         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
9891         * modules/wcpcpy (configure.ac): ... to here.
9892
9893 2011-05-22  Bruno Haible  <bruno@clisp.org>
9894
9895         waitpid: Move AC_LIBOBJ invocations to module description.
9896         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
9897         invocation from here...
9898         * modules/waitpid (configure.ac): ... to here.
9899
9900 2011-05-22  Bruno Haible  <bruno@clisp.org>
9901
9902         utimensat: Move AC_LIBOBJ invocations to module description.
9903         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
9904         here...
9905         * modules/utimensat (configure.ac): ... to here.
9906
9907 2011-05-22  Bruno Haible  <bruno@clisp.org>
9908
9909         usleep: Move AC_LIBOBJ invocations to module description.
9910         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
9911         here...
9912         * modules/usleep (configure.ac): ... to here.
9913
9914 2011-05-22  Bruno Haible  <bruno@clisp.org>
9915
9916         unlockpt: Move AC_LIBOBJ invocations to module description.
9917         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
9918         gl_PREREQ_UNLOCKPT invocations from here...
9919         * modules/unlockpt (configure.ac): ... to here.
9920
9921 2011-05-22  Bruno Haible  <bruno@clisp.org>
9922
9923         unlink: Respect rules for use of AC_LIBOBJ.
9924         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
9925         * modules/unlink (configure.ac): ... to here.
9926
9927 2011-05-22  Bruno Haible  <bruno@clisp.org>
9928
9929         uname: Move AC_LIBOBJ invocations to module description.
9930         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
9931         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
9932         here...
9933         * modules/uname (configure.ac): ... to here.
9934
9935 2011-05-22  Bruno Haible  <bruno@clisp.org>
9936
9937         ttyname_r: Move AC_LIBOBJ invocations to module description.
9938         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
9939         gl_PREREQ_TTYNAME_R invocations from here...
9940         * modules/ttyname_r (configure.ac): ... to here.
9941
9942 2011-05-22  Bruno Haible  <bruno@clisp.org>
9943
9944         tsearch: Move AC_LIBOBJ invocations to module description.
9945         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
9946         invocations from here...
9947         * modules/tsearch (configure.ac): ... to here.
9948
9949 2011-05-22  Bruno Haible  <bruno@clisp.org>
9950
9951         towctrans: Move AC_LIBOBJ invocations to module description.
9952         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
9953         AC_LIBOBJ invocation from here...
9954         * modules/towctrans (configure.ac): ... to here.
9955
9956 2011-05-22  Bruno Haible  <bruno@clisp.org>
9957
9958         tmpfile: Move AC_LIBOBJ invocations to module description.
9959         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
9960         invocations from here...
9961         * modules/tmpfile (configure.ac): ... to here.
9962
9963 2011-05-22  Bruno Haible  <bruno@clisp.org>
9964
9965         times: Move AC_LIBOBJ invocations to module description.
9966         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
9967         * modules/times (configure.ac): ... to here.
9968
9969 2011-05-22  Bruno Haible  <bruno@clisp.org>
9970
9971         time_r: Move AC_LIBOBJ invocations to module description.
9972         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
9973         invocations from here...
9974         * modules/time_r (configure.ac): ... to here.
9975
9976 2011-05-22  Bruno Haible  <bruno@clisp.org>
9977
9978         timegm: Move AC_LIBOBJ invocations to module description.
9979         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
9980         invocations from here...
9981         * modules/timegm (configure.ac): ... to here.
9982
9983 2011-05-22  Bruno Haible  <bruno@clisp.org>
9984
9985         tcgetsid: Move AC_LIBOBJ invocations to module description.
9986         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
9987         and gl_PREREQ_TCGETSID invocations from here...
9988         * modules/tcgetsid (configure.ac): ... to here.
9989         (Depends-on): Update conditions.
9990
9991 2011-05-22  Bruno Haible  <bruno@clisp.org>
9992
9993         symlinkat: Move AC_LIBOBJ invocations to module description.
9994         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
9995         here...
9996         * modules/symlinkat (configure.ac): ... to here.
9997
9998 2011-05-22  Bruno Haible  <bruno@clisp.org>
9999
10000         symlink: Move AC_LIBOBJ invocations to module description.
10001         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
10002         here...
10003         * modules/symlink (configure.ac): ... to here.
10004
10005 2011-05-22  Bruno Haible  <bruno@clisp.org>
10006
10007         strverscmp: Move AC_LIBOBJ invocations to module description.
10008         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
10009         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
10010         from here...
10011         * modules/strverscmp (configure.ac): ... to here.
10012
10013 2011-05-22  Bruno Haible  <bruno@clisp.org>
10014
10015         strtok_r: Move AC_LIBOBJ invocations to module description.
10016         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
10017         and gl_PREREQ_STRTOK_R invocations from here...
10018         * modules/strtok_r (configure.ac): ... to here.
10019         (Depends-on): Update conditions.
10020
10021 2011-05-22  Bruno Haible  <bruno@clisp.org>
10022
10023         strtoumax: Move AC_LIBOBJ invocations to module description.
10024         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
10025         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
10026         from here...
10027         * modules/strtoumax (configure.ac): ... to here.
10028
10029 2011-05-22  Bruno Haible  <bruno@clisp.org>
10030
10031         strtoimax: Move AC_LIBOBJ invocations to module description.
10032         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
10033         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
10034         from here...
10035         * modules/strtoimax (configure.ac): ... to here.
10036
10037 2011-05-22  Bruno Haible  <bruno@clisp.org>
10038
10039         strtoull: Move AC_LIBOBJ invocations to module description.
10040         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
10041         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
10042         from here...
10043         * modules/strtoull (configure.ac): ... to here.
10044
10045 2011-05-22  Bruno Haible  <bruno@clisp.org>
10046
10047         strtoll: Move AC_LIBOBJ invocations to module description.
10048         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
10049         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
10050         here...
10051         * modules/strtoll (configure.ac): ... to here.
10052
10053 2011-05-22  Bruno Haible  <bruno@clisp.org>
10054
10055         strtoul: Move AC_LIBOBJ invocations to module description.
10056         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
10057         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
10058         * modules/strtoul (configure.ac): ... to here.
10059
10060 2011-05-22  Bruno Haible  <bruno@clisp.org>
10061
10062         strtol: Move AC_LIBOBJ invocations to module description.
10063         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
10064         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
10065         * modules/strtol (configure.ac): ... to here.
10066
10067 2011-05-22  Bruno Haible  <bruno@clisp.org>
10068
10069         strtod: Move AC_LIBOBJ invocations to module description.
10070         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
10071         invocations from here...
10072         * modules/strtod (configure.ac): ... to here.
10073
10074 2011-05-22  Bruno Haible  <bruno@clisp.org>
10075
10076         strstr*: Move AC_LIBOBJ invocations to module description.
10077         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
10078         invocations from here...
10079         * modules/strstr-simple (configure.ac): ... to here.
10080         * modules/strstr (configure.ac): ... and here.
10081
10082 2011-05-22  Bruno Haible  <bruno@clisp.org>
10083
10084         strsignal: Move AC_LIBOBJ invocations to module description.
10085         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
10086         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
10087         * modules/strsignal (configure.ac): ... to here.
10088         (Depends-on): Update conditions.
10089
10090 2011-05-22  Bruno Haible  <bruno@clisp.org>
10091
10092         strsep: Move AC_LIBOBJ invocations to module description.
10093         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
10094         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
10095         here...
10096         * modules/strsep (configure.ac): ... to here.
10097
10098 2011-05-22  Bruno Haible  <bruno@clisp.org>
10099
10100         strptime: Move AC_LIBOBJ invocations to module description.
10101         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
10102         gl_PREREQ_STRPTIME invocations from here...
10103         * modules/strptime (configure.ac): ... to here.
10104
10105 2011-05-22  Bruno Haible  <bruno@clisp.org>
10106
10107         strpbrk: Move AC_LIBOBJ invocations to module description.
10108         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
10109         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
10110         here...
10111         * modules/strpbrk (configure.ac): ... to here.
10112
10113 2011-05-22  Bruno Haible  <bruno@clisp.org>
10114
10115         strnlen: Move AC_LIBOBJ invocations to module description.
10116         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
10117         invocations from here...
10118         * modules/strnlen (configure.ac): ... to here.
10119
10120 2011-05-22  Bruno Haible  <bruno@clisp.org>
10121
10122         strndup: Move AC_LIBOBJ invocations to module description.
10123         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
10124         invocations from here...
10125         * modules/strndup (configure.ac): ... to here.
10126         (Depends-on): Update conditions.
10127
10128 2011-05-22  Bruno Haible  <bruno@clisp.org>
10129
10130         strncat: Move AC_LIBOBJ invocations to module description.
10131         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
10132         invocations from here...
10133         * modules/strncat (configure.ac): ... to here.
10134
10135 2011-05-22  Bruno Haible  <bruno@clisp.org>
10136
10137         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
10138         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
10139         invocations from here...
10140         * modules/strdup (configure.ac): ... to here.
10141         * modules/strdup-posix (configure.ac): ... and here.
10142
10143 2011-05-22  Bruno Haible  <bruno@clisp.org>
10144
10145         strcspn: Move AC_LIBOBJ invocations to module description.
10146         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
10147         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
10148         here...
10149         * modules/strcspn (configure.ac): ... to here.
10150
10151 2011-05-22  Bruno Haible  <bruno@clisp.org>
10152
10153         strchrnul: Move AC_LIBOBJ invocations to module description.
10154         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
10155         gl_PREREQ_STRCHRNUL invocations from here...
10156         * modules/strchrnul (configure.ac): ... to here.
10157
10158 2011-05-22  Bruno Haible  <bruno@clisp.org>
10159
10160         strcasestr*: Move AC_LIBOBJ invocations to module description.
10161         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
10162         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
10163         * modules/strcasestr-simple (configure.ac): ... to here.
10164         * modules/strcasestr (configure.ac): ... and here.
10165
10166 2011-05-22  Bruno Haible  <bruno@clisp.org>
10167
10168         strcase: Move AC_LIBOBJ invocations to module description.
10169         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
10170         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
10171         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
10172         gl_PREREQ_STRNCASECMP invocations from here...
10173         * modules/strcase (configure.ac): ... to here.
10174
10175 2011-05-22  Bruno Haible  <bruno@clisp.org>
10176
10177         stpncpy: Move AC_LIBOBJ invocations to module description.
10178         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
10179         here...
10180         * modules/stpncpy (configure.ac): ... to here.
10181
10182 2011-05-22  Bruno Haible  <bruno@clisp.org>
10183
10184         stpcpy: Move AC_LIBOBJ invocations to module description.
10185         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
10186         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
10187         here...
10188         * modules/stpcpy (configure.ac): ... to here.
10189
10190 2011-05-21  Bruno Haible  <bruno@clisp.org>
10191
10192         stat: Move AC_LIBOBJ invocations to module description.
10193         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
10194         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
10195         here...
10196         * modules/stat (configure.ac): ... to here.
10197
10198 2011-05-21  Bruno Haible  <bruno@clisp.org>
10199
10200         sleep: Move AC_LIBOBJ invocations to module description.
10201         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
10202         * modules/sleep (configure.ac): ... to here.
10203
10204 2011-05-21  Bruno Haible  <bruno@clisp.org>
10205
10206         signbit: Move AC_LIBOBJ invocations to module description.
10207         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
10208         * modules/signbit (configure.ac): ... to here.
10209
10210 2011-05-21  Bruno Haible  <bruno@clisp.org>
10211
10212         sigprocmask: Move AC_LIBOBJ invocations to module description.
10213         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
10214         gl_PREREQ_SIGPROMASK invocations from here...
10215         * modules/sigprocmask (configure.ac): ... to here.
10216
10217 2011-05-21  Bruno Haible  <bruno@clisp.org>
10218
10219         sigaction: Move AC_LIBOBJ invocations to module description.
10220         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
10221         gl_PREREQ_SIGACTION invocations from here...
10222         * modules/sigaction (configure.ac): ... to here.
10223
10224 2011-05-21  Bruno Haible  <bruno@clisp.org>
10225
10226         sig2str: Move AC_LIBOBJ invocations to module description.
10227         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
10228         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
10229         here...
10230         * modules/sig2str (configure.ac): ... to here.
10231
10232 2011-05-21  Bruno Haible  <bruno@clisp.org>
10233
10234         setlocale: Move AC_LIBOBJ invocations to module description.
10235         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
10236         gl_PREREQ_SETLOCALE invocations from here...
10237         * modules/setlocale (configure.ac): ... to here.
10238
10239 2011-05-21  Bruno Haible  <bruno@clisp.org>
10240
10241         unsetenv: Move AC_LIBOBJ invocations to module description.
10242         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
10243         and gl_PREREQ_UNSETENV invocations from here...
10244         * modules/unsetenv (configure.ac): ... to here.
10245         (Depends-on): Update.
10246
10247 2011-05-21  Bruno Haible  <bruno@clisp.org>
10248
10249         setenv: Move AC_LIBOBJ invocations to module description.
10250         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
10251         here...
10252         * modules/setenv (configure.ac): ... to here.
10253
10254 2011-05-21  Bruno Haible  <bruno@clisp.org>
10255
10256         selinux-h: Move AC_LIBOBJ invocations to module description.
10257         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
10258         AC_LIBOBJ invocation from here...
10259         * modules/selinux-h (configure.ac): ... to here.
10260
10261 2011-05-21  Bruno Haible  <bruno@clisp.org>
10262
10263         select: Respect rules for use of AC_LIBOBJ.
10264         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
10265         here...
10266         * modules/select (configure.ac): ... to here.
10267
10268 2011-05-21  Bruno Haible  <bruno@clisp.org>
10269
10270         scandir: Move AC_LIBOBJ invocations to module description.
10271         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
10272         invocations from here...
10273         * modules/scandir (configure.ac): ... to here.
10274
10275 2011-05-21  Bruno Haible  <bruno@clisp.org>
10276
10277         rpmatch: Move AC_LIBOBJ invocations to module description.
10278         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
10279         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
10280         here...
10281         * modules/rpmatch (configure.ac): ... to here.
10282
10283 2011-05-21  Bruno Haible  <bruno@clisp.org>
10284
10285         rmdir: Respect rules for use of AC_LIBOBJ.
10286         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
10287         * modules/rmdir (configure.ac): ... to here.
10288
10289 2011-05-21  Bruno Haible  <bruno@clisp.org>
10290
10291         renameat: Move AC_LIBOBJ invocations to module description.
10292         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
10293         here...
10294         * modules/renameat (configure.ac): ... to here.
10295
10296 2011-05-21  Bruno Haible  <bruno@clisp.org>
10297
10298         rename: Respect rules for use of AC_LIBOBJ.
10299         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
10300         here...
10301         * modules/rename (configure.ac): ... to here.
10302
10303 2011-05-21  Bruno Haible  <bruno@clisp.org>
10304
10305         remove: Move AC_LIBOBJ invocations to module description.
10306         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
10307         here...
10308         * modules/remove (configure.ac): ... to here.
10309
10310 2011-05-21  Bruno Haible  <bruno@clisp.org>
10311
10312         relocatable-lib: Move AC_LIBOBJ invocations to module description.
10313         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
10314         macro.
10315         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
10316         * modules/relocatable-lib (configure.ac): ... to here.
10317         * modules/relocatable-prog-wrapper (configure.ac): Invoke
10318         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
10319
10320 2011-05-21  Bruno Haible  <bruno@clisp.org>
10321
10322         relocatable-prog: Move AC_LIBOBJ invocations to module description.
10323         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
10324         here...
10325         * modules/relocatable-prog (configure.ac): ... to here.
10326
10327 2011-05-21  Bruno Haible  <bruno@clisp.org>
10328
10329         regex: Move AC_LIBOBJ invocations to module description.
10330         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
10331         invocations from here...
10332         * modules/regex (configure.ac): ... to here.
10333
10334 2011-05-21  Bruno Haible  <bruno@clisp.org>
10335
10336         realloc-*: Move AC_LIBOBJ invocations to module description.
10337         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
10338         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
10339         AC_LIBOBJ invocations from here...
10340         * modules/realloc-gnu (configure.ac): ... to here.
10341         * modules/realloc-posix (configure.ac): ... and here.
10342
10343 2011-05-21  Bruno Haible  <bruno@clisp.org>
10344
10345         readutmp: Move AC_LIBOBJ invocations to module description.
10346         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
10347         * modules/readutmp (configure.ac): ... to here.
10348
10349 2011-05-21  Bruno Haible  <bruno@clisp.org>
10350
10351         readlinkat: Move AC_LIBOBJ invocations to module description.
10352         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
10353         here...
10354         * modules/readlinkat (configure.ac): ... to here.
10355
10356 2011-05-21  Bruno Haible  <bruno@clisp.org>
10357
10358         readlink: Move AC_LIBOBJ invocations to module description.
10359         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
10360         gl_PREREQ_READLINK invocations from here...
10361         * modules/readlink (configure.ac): ... to here.
10362
10363 2011-05-21  Bruno Haible  <bruno@clisp.org>
10364
10365         readline: Move AC_LIBOBJ invocations to module description.
10366         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
10367         gl_PREREQ_READLINE invocations from here...
10368         * modules/readline (configure.ac): ... to here.
10369
10370 2011-05-21  Bruno Haible  <bruno@clisp.org>
10371
10372         read: Move AC_LIBOBJ invocations to module description.
10373         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
10374         * modules/read (configure.ac): ... to here.
10375
10376 2011-05-21  Bruno Haible  <bruno@clisp.org>
10377
10378         rawmemchr: Move AC_LIBOBJ invocations to module description.
10379         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
10380         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
10381         from here...
10382         * modules/rawmemchr (configure.ac): ... to here.
10383
10384 2011-05-21  Bruno Haible  <bruno@clisp.org>
10385
10386         random_r: Move AC_LIBOBJ invocations to module description.
10387         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
10388         gl_PREREQ_RANDOM_R invocations from here...
10389         * modules/random_r (configure.ac): ... to here.
10390
10391 2011-05-21  Bruno Haible  <bruno@clisp.org>
10392
10393         pwrite: Move AC_LIBOBJ invocations to module description.
10394         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
10395         * modules/pwrite (configure.ac): ... to here.
10396
10397 2011-05-21  Bruno Haible  <bruno@clisp.org>
10398
10399         putenv: Move AC_LIBOBJ invocations to module description.
10400         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
10401         * modules/putenv (configure.ac): ... to here.
10402
10403 2011-05-21  Bruno Haible  <bruno@clisp.org>
10404
10405         login_tty: Move AC_LIBOBJ invocations to module description.
10406         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
10407         * modules/login_tty (configure.ac): ... to here.
10408
10409 2011-05-21  Bruno Haible  <bruno@clisp.org>
10410
10411         openpty: Move AC_LIBOBJ invocations to module description.
10412         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
10413         * modules/openpty (configure.ac): ... to here.
10414
10415 2011-05-21  Bruno Haible  <bruno@clisp.org>
10416
10417         forkpty: Move AC_LIBOBJ invocations to module description.
10418         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
10419         * modules/forkpty (configure.ac): ... to here.
10420
10421 2011-05-21  Bruno Haible  <bruno@clisp.org>
10422
10423         ptsname: Move AC_LIBOBJ invocations to module description.
10424         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
10425         invocations from here...
10426         * modules/ptsname (configure.ac): ... to here.
10427
10428 2011-05-21  Bruno Haible  <bruno@clisp.org>
10429
10430         pread: Move AC_LIBOBJ invocations to module description.
10431         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
10432         * modules/pread (configure.ac): ... to here.
10433
10434 2011-05-21  Bruno Haible  <bruno@clisp.org>
10435
10436         posix_spawn*: Move AC_LIBOBJ invocations to module description.
10437         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
10438         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
10439         * modules/posix_spawn (configure.ac): ... to here.
10440         * modules/posix_spawnp (configure.ac): ... and here.
10441
10442 2011-05-21  Bruno Haible  <bruno@clisp.org>
10443
10444         popen: Move AC_LIBOBJ invocations to module description.
10445         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
10446         invocations from here...
10447         * modules/popen (configure.ac): ... to here.
10448
10449 2011-05-21  Bruno Haible  <bruno@clisp.org>
10450
10451         poll: Move AC_LIBOBJ invocations to module description.
10452         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
10453         invocations from here...
10454         * modules/poll (configure.ac): ... to here.
10455
10456 2011-05-21  Bruno Haible  <bruno@clisp.org>
10457
10458         pipe-posix: Move AC_LIBOBJ invocations to module description.
10459         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
10460         * modules/pipe-posix (configure.ac): ... to here.
10461
10462 2011-05-21  Bruno Haible  <bruno@clisp.org>
10463
10464         openat: Respect rules for use of AC_LIBOBJ.
10465         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
10466         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
10467         * modules/openat (configure.ac): ... to here.
10468
10469 2011-05-21  Bruno Haible  <bruno@clisp.org>
10470
10471         obstack-printf*: Move AC_LIBOBJ invocations to module description.
10472         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
10473         invocation from here...
10474         * modules/obstack-printf (configure.ac): ... to here.
10475         * modules/obstack-printf-posix (configure.ac): ... and here.
10476
10477 2011-05-21  Bruno Haible  <bruno@clisp.org>
10478
10479         nl_langinfo: Move AC_LIBOBJ invocations to module description.
10480         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
10481         from here...
10482         * modules/nl_langinfo (configure.ac): ... to here.
10483
10484 2011-05-21  Bruno Haible  <bruno@clisp.org>
10485
10486         nanosleep: Move AC_LIBOBJ invocations to module description.
10487         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
10488         gl_PREREQ_NANOSLEEP invocations from here...
10489         * modules/nanosleep (configure.ac): ... to here.
10490
10491 2011-05-21  Bruno Haible  <bruno@clisp.org>
10492
10493         mountlist: Move AC_LIBOBJ invocations to module description.
10494         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
10495         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
10496         * modules/mountlist (configure.ac): ... to here.
10497
10498 2011-05-21  Bruno Haible  <bruno@clisp.org>
10499
10500         mktime: Respect rules for use of AC_LIBOBJ.
10501         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
10502         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
10503         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
10504         (gl_FUNC_MKTIME_INTERNAL): ... and here...
10505         * modules/mktime (configure.ac): ... to here.
10506         * modules/mktime-internal (configure.ac): ... and here.
10507         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
10508
10509 2011-05-21  Bruno Haible  <bruno@clisp.org>
10510
10511         mkstemps: Move AC_LIBOBJ invocations to module description.
10512         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
10513         here...
10514         * modules/mkstemps (configure.ac): ... to here.
10515
10516 2011-05-21  Bruno Haible  <bruno@clisp.org>
10517
10518         mkstemp: Move AC_LIBOBJ invocations to module description.
10519         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
10520         gl_PREREQ_MKSTEMP invocations from here...
10521         * modules/mkstemp (configure.ac): ... to here.
10522
10523 2011-05-21  Bruno Haible  <bruno@clisp.org>
10524
10525         mkostemps: Move AC_LIBOBJ invocations to module description.
10526         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
10527         here...
10528         * modules/mkostemps (configure.ac): ... to here.
10529
10530 2011-05-21  Bruno Haible  <bruno@clisp.org>
10531
10532         mkostemp: Move AC_LIBOBJ invocations to module description.
10533         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
10534         gl_PREREQ_MKOSTEMP invocations from here...
10535         * modules/mkostemp (configure.ac): ... to here.
10536
10537 2011-05-21  Bruno Haible  <bruno@clisp.org>
10538
10539         mknod: Move AC_LIBOBJ invocations to module description.
10540         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
10541         * modules/mknod (configure.ac): ... to here.
10542
10543 2011-05-21  Bruno Haible  <bruno@clisp.org>
10544
10545         mkfifoat: Move AC_LIBOBJ invocations to module description.
10546         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
10547         here...
10548         * modules/mkfifoat (configure.ac): ... to here.
10549
10550 2011-05-21  Bruno Haible  <bruno@clisp.org>
10551
10552         mkfifo: Respect rules for use of AC_LIBOBJ.
10553         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
10554         here...
10555         * modules/mkfifo (configure.ac): ... to here.
10556
10557 2011-05-21  Bruno Haible  <bruno@clisp.org>
10558
10559         mkdtemp: Move AC_LIBOBJ invocations to module description.
10560         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
10561         invocations from here...
10562         * modules/mkdtemp (configure.ac): ... to here.
10563
10564 2011-05-21  Bruno Haible  <bruno@clisp.org>
10565
10566         mkdir: Move AC_LIBOBJ invocations to module description.
10567         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
10568         * modules/mkdir (configure.ac): ... to here.
10569
10570 2011-05-21  Bruno Haible  <bruno@clisp.org>
10571
10572         memset: Move AC_LIBOBJ invocations to module description.
10573         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
10574         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
10575         here...
10576         * modules/memset (configure.ac): ... to here.
10577
10578 2011-05-21  Bruno Haible  <bruno@clisp.org>
10579
10580         memrchr: Move AC_LIBOBJ invocations to module description.
10581         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
10582         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
10583         here...
10584         * modules/memrchr (configure.ac): ... to here.
10585
10586 2011-05-21  Bruno Haible  <bruno@clisp.org>
10587
10588         mempcpy: Move AC_LIBOBJ invocations to module description.
10589         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
10590         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
10591         here...
10592         * modules/mempcpy (configure.ac): ... to here.
10593
10594 2011-05-21  Bruno Haible  <bruno@clisp.org>
10595
10596         memmove: Move AC_LIBOBJ invocations to module description.
10597         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
10598         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
10599         here...
10600         * modules/memmove (configure.ac): ... to here.
10601
10602 2011-05-21  Bruno Haible  <bruno@clisp.org>
10603
10604         memmem*: Move AC_LIBOBJ invocations to module description.
10605         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
10606         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
10607         here...
10608         (gl_FUNC_MEMMEM): ... and here...
10609         * modules/memmem-simple (configure.ac): ... to here.
10610         * modules/memmem (configure.ac): ... and here.
10611
10612 2011-05-21  Bruno Haible  <bruno@clisp.org>
10613
10614         memcpy: Move AC_LIBOBJ invocations to module description.
10615         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
10616         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
10617         here...
10618         * modules/memcpy (configure.ac): ... to here.
10619
10620 2011-05-21  Bruno Haible  <bruno@clisp.org>
10621
10622         memcmp: Simplify autoconf macro.
10623         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
10624         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
10625         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
10626
10627 2011-05-21  Bruno Haible  <bruno@clisp.org>
10628
10629         memcmp: Move AC_LIBOBJ invocations to module description.
10630         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
10631         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
10632         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
10633         * modules/memcmp (configure.ac): ... to here.
10634         (Depends-on): Update conditions.
10635
10636 2011-05-21  Bruno Haible  <bruno@clisp.org>
10637
10638         memchr: Respect rules for use of AC_LIBOBJ.
10639         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
10640         invocations from here...
10641         * modules/memchr (configure.ac): ... to here.
10642
10643 2011-05-21  Bruno Haible  <bruno@clisp.org>
10644
10645         mbtowc: Move AC_LIBOBJ invocations to module description.
10646         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
10647         invocations from here...
10648         * modules/mbtowc (configure.ac): ... to here.
10649
10650 2011-05-21  Bruno Haible  <bruno@clisp.org>
10651
10652         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
10653         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
10654         gl_PREREQ_MBSRTOWCS invocations from here...
10655         * modules/mbsrtowcs (configure.ac): ... to here.
10656
10657 2011-05-21  Bruno Haible  <bruno@clisp.org>
10658
10659         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
10660         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
10661         gl_PREREQ_MBSNRTOWCS invocations from here...
10662         * modules/mbsnrtowcs (configure.ac): ... to here.
10663
10664 2011-05-21  Bruno Haible  <bruno@clisp.org>
10665
10666         mbsinit: Move AC_LIBOBJ invocations to module description.
10667         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
10668         invocations from here...
10669         * modules/mbsinit (configure.ac): ... to here.
10670
10671 2011-05-21  Bruno Haible  <bruno@clisp.org>
10672
10673         mbrlen: Move AC_LIBOBJ invocations to module description.
10674         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
10675         invocations from here...
10676         * modules/mbrlen (configure.ac): ... to here.
10677
10678 2011-05-21  Bruno Haible  <bruno@clisp.org>
10679
10680         mbrtowc: Respect rules for use of AC_LIBOBJ.
10681         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
10682         invocations from here...
10683         * modules/mbrtowc (configure.ac): ... to here.
10684
10685 2011-05-21  Bruno Haible  <bruno@clisp.org>
10686
10687         malloc-*: Move AC_LIBOBJ invocations to module description.
10688         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
10689         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
10690         AC_LIBOBJ invocations from here...
10691         * modules/malloc-gnu (configure.ac): ... to here.
10692         * modules/malloc-posix (configure.ac): ... and here.
10693
10694 2011-05-21  Bruno Haible  <bruno@clisp.org>
10695
10696         lstat, openat: Respect rules for use of AC_LIBOBJ.
10697         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
10698         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
10699         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
10700         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
10701         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
10702         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
10703         here.
10704         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
10705
10706 2011-05-21  Bruno Haible  <bruno@clisp.org>
10707
10708         lseek: Move AC_LIBOBJ invocations to module description.
10709         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
10710         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
10711         * modules/lseek (configure.ac): ... to here.
10712
10713 2011-05-21  Bruno Haible  <bruno@clisp.org>
10714
10715         linkat: Move AC_LIBOBJ invocations to module description.
10716         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
10717         here...
10718         * modules/linkat (configure.ac): ... to here.
10719
10720 2011-05-21  Bruno Haible  <bruno@clisp.org>
10721
10722         link: Respect rules for use of AC_LIBOBJ.
10723         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
10724         * modules/link (configure.ac): ... to here.
10725
10726 2011-05-21  Bruno Haible  <bruno@clisp.org>
10727
10728         lchown: Move AC_LIBOBJ invocations to module description.
10729         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
10730         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
10731         * modules/lchown (configure.ac): ... to here.
10732
10733 2011-05-21  Bruno Haible  <bruno@clisp.org>
10734
10735         iswctype: Move AC_LIBOBJ invocations to module description.
10736         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
10737         here...
10738         * modules/iswctype (configure.ac): ... to here.
10739
10740 2011-05-21  Bruno Haible  <bruno@clisp.org>
10741
10742         iswblank: Move AC_LIBOBJ invocations to module description.
10743         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
10744         here...
10745         * modules/iswblank (configure.ac): ... to here.
10746
10747 2011-05-21  Bruno Haible  <bruno@clisp.org>
10748
10749         atanl: Move AC_LIBOBJ invocations to module description.
10750         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
10751         * modules/atanl (configure.ac): ... to here.
10752
10753 2011-05-21  Bruno Haible  <bruno@clisp.org>
10754
10755         acosl: Move AC_LIBOBJ invocations to module description.
10756         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
10757         * modules/acosl (configure.ac): ... to here.
10758
10759 2011-05-21  Bruno Haible  <bruno@clisp.org>
10760
10761         asinl: Respect rules for use of AC_LIBOBJ.
10762         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
10763         * modules/asinl (configure.ac): ... to here.
10764
10765 2011-05-21  Bruno Haible  <bruno@clisp.org>
10766
10767         tanl: Move AC_LIBOBJ invocations to module description.
10768         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
10769         * modules/tanl (configure.ac): ... to here.
10770
10771 2011-05-21  Bruno Haible  <bruno@clisp.org>
10772
10773         cosl: Move AC_LIBOBJ invocations to module description.
10774         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
10775         * modules/cosl (configure.ac): ... to here.
10776
10777 2011-05-21  Bruno Haible  <bruno@clisp.org>
10778
10779         sinl: Move AC_LIBOBJ invocations to module description.
10780         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
10781         * modules/sinl (configure.ac): ... to here.
10782
10783 2011-05-21  Bruno Haible  <bruno@clisp.org>
10784
10785         logl: Move AC_LIBOBJ invocations to module description.
10786         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
10787         * modules/logl (configure.ac): ... to here.
10788
10789 2011-05-21  Bruno Haible  <bruno@clisp.org>
10790
10791         expl: Move AC_LIBOBJ invocations to module description.
10792         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
10793         * modules/expl (configure.ac): ... to here.
10794
10795 2011-05-21  Bruno Haible  <bruno@clisp.org>
10796
10797         roundl: Move AC_LIBOBJ invocations to module description.
10798         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
10799         * modules/roundl (configure.ac): ... to here.
10800
10801 2011-05-21  Bruno Haible  <bruno@clisp.org>
10802
10803         round: Move AC_LIBOBJ invocations to module description.
10804         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
10805         * modules/round (configure.ac): ... to here.
10806
10807 2011-05-21  Bruno Haible  <bruno@clisp.org>
10808
10809         roundf: Move AC_LIBOBJ invocations to module description.
10810         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
10811         * modules/roundf (configure.ac): ... to here.
10812
10813 2011-05-21  Bruno Haible  <bruno@clisp.org>
10814
10815         truncl: Move AC_LIBOBJ invocations to module description.
10816         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
10817         * modules/truncl (configure.ac): ... to here.
10818
10819 2011-05-21  Bruno Haible  <bruno@clisp.org>
10820
10821         trunc: Move AC_LIBOBJ invocations to module description.
10822         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
10823         * modules/trunc (configure.ac): ... to here.
10824
10825 2011-05-21  Bruno Haible  <bruno@clisp.org>
10826
10827         truncf: Move AC_LIBOBJ invocations to module description.
10828         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
10829         * modules/truncf (configure.ac): ... to here.
10830
10831 2011-05-21  Bruno Haible  <bruno@clisp.org>
10832
10833         ceill: Move AC_LIBOBJ invocations to module description.
10834         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
10835         * modules/ceill (configure.ac): ... to here.
10836
10837 2011-05-21  Bruno Haible  <bruno@clisp.org>
10838
10839         ceil: Move AC_LIBOBJ invocations to module description.
10840         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
10841         * modules/ceil (configure.ac): ... to here.
10842
10843 2011-05-21  Bruno Haible  <bruno@clisp.org>
10844
10845         ceilf: Move AC_LIBOBJ invocations to module description.
10846         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
10847         * modules/ceilf (configure.ac): ... to here.
10848
10849 2011-05-21  Bruno Haible  <bruno@clisp.org>
10850
10851         floorl: Respect rules for use of AC_LIBOBJ.
10852         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
10853         * modules/floorl (configure.ac): ... to here.
10854
10855 2011-05-21  Bruno Haible  <bruno@clisp.org>
10856
10857         floor: Respect rules for use of AC_LIBOBJ.
10858         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
10859         * modules/floor (configure.ac): ... to here.
10860
10861 2011-05-21  Bruno Haible  <bruno@clisp.org>
10862
10863         floorf: Move AC_LIBOBJ invocations to module description.
10864         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
10865         * modules/floorf (configure.ac): ... to here.
10866
10867 2011-05-20  Bruno Haible  <bruno@clisp.org>
10868
10869         sqrtl: Respect rules for use of AC_LIBOBJ.
10870         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
10871         * modules/sqrtl (configure.ac): ... to here.
10872
10873 2011-05-20  Bruno Haible  <bruno@clisp.org>
10874
10875         ldexpl: Respect rules for use of AC_LIBOBJ.
10876         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
10877         * modules/ldexpl (configure.ac): ... to here.
10878
10879 2011-05-20  Bruno Haible  <bruno@clisp.org>
10880
10881         frexpl*: Respect rules for use of AC_LIBOBJ.
10882         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
10883         invocation from here...
10884         * modules/frexpl (configure.ac): ... to here.
10885         * modules/frexpl-nolibm (configure.ac): ... and here.
10886
10887 2011-05-20  Bruno Haible  <bruno@clisp.org>
10888
10889         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
10890         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
10891         invocation from here...
10892         * modules/frexp (configure.ac): ... to here.
10893         * modules/frexp-nolibm (configure.ac): ... and here.
10894
10895 2011-05-20  Bruno Haible  <bruno@clisp.org>
10896
10897         isnan: Respect rules for use of AC_LIBOBJ.
10898         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
10899         invocations here.
10900         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
10901         REPLACE_ISNAN.
10902         * modules/isnand (configure.ac): Likewise.
10903         * modules/isnanl (configure.ac): Likewise.
10904
10905 2011-05-20  Bruno Haible  <bruno@clisp.org>
10906
10907         isnanl*: Respect rules for use of AC_LIBOBJ.
10908         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
10909         invocation from here...
10910         * modules/isnanl (configure.ac): ... to here.
10911         * modules/isnanl-nolibm (configure.ac): ... and here.
10912
10913 2011-05-20  Bruno Haible  <bruno@clisp.org>
10914
10915         isnand*: Move AC_LIBOBJ invocations to module description.
10916         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
10917         invocation from here...
10918         * modules/isnand (configure.ac): ... to here.
10919         * modules/isnand-nolibm (configure.ac): ... and here.
10920
10921 2011-05-20  Bruno Haible  <bruno@clisp.org>
10922
10923         isnanf*: Move AC_LIBOBJ invocations to module description.
10924         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
10925         invocation from here...
10926         * modules/isnanf (configure.ac): ... to here.
10927         * modules/isnanf-nolibm (configure.ac): ... and here.
10928
10929 2011-05-20  Bruno Haible  <bruno@clisp.org>
10930
10931         isnan*: Separate the AC_LIBOBJ invocations.
10932         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
10933         AC_LIBOBJ invocation.
10934         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
10935         here.
10936         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
10937         AC_LIBOBJ invocation.
10938         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
10939         here.
10940         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
10941         AC_LIBOBJ invocation.
10942         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
10943         here.
10944         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
10945
10946 2011-05-08  Bruno Haible  <bruno@clisp.org>
10947
10948         isinf: Move AC_LIBOBJ invocations to module description.
10949         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
10950         * modules/isinf (configure.ac): ... to here.
10951
10952 2011-05-08  Bruno Haible  <bruno@clisp.org>
10953
10954         isfinite: Move AC_LIBOBJ invocations to module description.
10955         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
10956         * modules/isfinite (configure.ac): ... to here.
10957
10958 2011-05-08  Bruno Haible  <bruno@clisp.org>
10959
10960         isblank: Move AC_LIBOBJ invocations to module description.
10961         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
10962         here...
10963         * modules/isblank (configure.ac): ... to here.
10964
10965 2011-05-08  Bruno Haible  <bruno@clisp.org>
10966
10967         isapipe: Move AC_LIBOBJ invocations to module description.
10968         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
10969         gl_PREREQ_ISAPIPE invocations from here...
10970         * modules/isapipe (configure.ac): ... to here.
10971         (Depends-on): Update condition.
10972
10973 2011-05-08  Bruno Haible  <bruno@clisp.org>
10974
10975         ioctl: Move AC_LIBOBJ invocations to module description.
10976         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
10977         invocations from here...
10978         * modules/ioctl (configure.ac): ... to here.
10979         (Depends-on): Update condition.
10980
10981 2011-05-08  Bruno Haible  <bruno@clisp.org>
10982
10983         imaxdiv: Move AC_LIBOBJ invocations to module description.
10984         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
10985         invocations from here...
10986         * modules/imaxdiv (configure.ac): ... to here.
10987
10988 2011-05-08  Bruno Haible  <bruno@clisp.org>
10989
10990         imaxabs: Move AC_LIBOBJ invocations to module description.
10991         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
10992         invocations from here...
10993         * modules/imaxabs (configure.ac): ... to here.
10994
10995 2011-05-08  Bruno Haible  <bruno@clisp.org>
10996
10997         getaddrinfo: Move AC_LIBOBJ invocations to module description.
10998         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
10999         AC_LIBOBJ invocations from here...
11000         * modules/getaddrinfo (configure.ac): ... to here.
11001         (Depends-on): Add conditions.
11002
11003 2011-05-08  Bruno Haible  <bruno@clisp.org>
11004
11005         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
11006         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
11007         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
11008         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
11009         (gl_PREREQ_INET_PTON): ... from here.
11010         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
11011         gl_PREREQ_INET_PTON here.
11012         (Depends-on): Update condition.
11013
11014 2011-05-08  Bruno Haible  <bruno@clisp.org>
11015
11016         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
11017         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
11018         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
11019         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
11020         (gl_PREREQ_INET_NTOP): ... from here.
11021         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
11022         gl_PREREQ_INET_NTOP here.
11023         (Depends-on): Update condition.
11024
11025 2011-05-08  Bruno Haible  <bruno@clisp.org>
11026
11027         iconv_open: Move AC_LIBOBJ invocations to module description.
11028         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
11029         AC_LIBOBJ invocations from here...
11030         * modules/iconv_open (configure.ac): ... to here.
11031
11032 2011-05-08  Bruno Haible  <bruno@clisp.org>
11033
11034         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
11035         If module 'iconv_open' is among the main modules and module
11036         'iconv_open-utf' is among the tests dependencies, then
11037         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
11038         return the special iconv_t values. Therefore iconv() and iconv_close()
11039         must support these special iconv_t values, already in lib, not only in
11040         tests.
11041         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
11042         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
11043         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
11044         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
11045         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
11046         (Depends-on): Add the dependencies of iconv_open-utf.
11047         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
11048         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
11049         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
11050
11051 2011-05-08  Bruno Haible  <bruno@clisp.org>
11052
11053         group-member: Move AC_LIBOBJ invocations to module description.
11054         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
11055         gl_PREREQ_GROUP_MEMBER invocations from here...
11056         * modules/group-member (configure.ac): ... to here.
11057
11058 2011-05-08  Bruno Haible  <bruno@clisp.org>
11059
11060         grantpt: Move AC_LIBOBJ invocations to module description.
11061         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
11062         invocations from here...
11063         * modules/grantpt (configure.ac): ... to here.
11064
11065 2011-05-08  Bruno Haible  <bruno@clisp.org>
11066
11067         glob: Move AC_LIBOBJ invocations to module description.
11068         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
11069         from here...
11070         * modules/glob (configure.ac): ... to here.
11071
11072 2011-05-08  Bruno Haible  <bruno@clisp.org>
11073
11074         getusershell: Move AC_LIBOBJ invocations to module description.
11075         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
11076         Move AC_LIBOBJ invocation from here...
11077         * modules/getusershell (configure.ac): ... to here.
11078         (Depends-on): Update condition.
11079
11080 2011-05-08  Bruno Haible  <bruno@clisp.org>
11081
11082         gettimeofday: Move AC_LIBOBJ invocations to module description.
11083         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
11084         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
11085         gl_PREREQ_GETTIMEOFDAY invocations from here...
11086         * modules/gettimeofday (configure.ac): ... to here.
11087
11088 2011-05-08  Bruno Haible  <bruno@clisp.org>
11089
11090         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
11091         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
11092         just gl_FUNC_TZSET.
11093         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
11094         (gl_FUNC_TZSET_CLOBBER): Remove actions.
11095         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
11096         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
11097
11098 2011-05-08  Bruno Haible  <bruno@clisp.org>
11099
11100         getsubopt: Move AC_LIBOBJ invocations to module description.
11101         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
11102         gl_PREREQ_GETSUBOPT invocations from here...
11103         * modules/getsubopt (configure.ac): ... to here.
11104
11105 2011-05-08  Bruno Haible  <bruno@clisp.org>
11106
11107         getpass-gnu: Move AC_LIBOBJ invocations to module description.
11108         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
11109         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
11110         * modules/getpass-gnu (configure.ac): ... to here.
11111
11112 2011-05-08  Bruno Haible  <bruno@clisp.org>
11113
11114         getpass: Move AC_LIBOBJ invocations to module description.
11115         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
11116         gl_PREREQ_GETPASS invocations from here...
11117         * modules/getpass (configure.ac): ... to here.
11118
11119 2011-05-08  Bruno Haible  <bruno@clisp.org>
11120
11121         getpagesize: Move AC_LIBOBJ invocations to module description.
11122         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
11123         from here...
11124         * modules/getpagesize (configure.ac): ... to here.
11125
11126 2011-05-08  Bruno Haible  <bruno@clisp.org>
11127
11128         getopt: Move AC_LIBOBJ invocations to module description.
11129         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
11130         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
11131         invocations from here...
11132         * modules/getopt-gnu (configure.ac): ... to here.
11133         * modules/getopt-posix (configure.ac): ... and here.
11134         (Depends-on): Update condition.
11135
11136 2011-05-08  Bruno Haible  <bruno@clisp.org>
11137
11138         getopt, argp: Respect rules for use of AC_LIBOBJ.
11139         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
11140         (gl_REPLACE_GETOPT_ALWAYS): New macro.
11141         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
11142         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
11143
11144 2011-05-08  Bruno Haible  <bruno@clisp.org>
11145
11146         getlogin_r: Move AC_LIBOBJ invocations to module description.
11147         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
11148         gl_PREREQ_GETLOGIN_R invocations from here...
11149         * modules/getlogin_r (configure.ac): ... to here.
11150
11151 2011-05-08  Bruno Haible  <bruno@clisp.org>
11152
11153         getlogin: Move AC_LIBOBJ invocations to module description.
11154         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
11155         here...
11156         * modules/getlogin (configure.ac): ... to here.
11157
11158 2011-05-08  Bruno Haible  <bruno@clisp.org>
11159
11160         getloadavg: Move AC_LIBOBJ invocations to module description.
11161         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
11162         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
11163         * modules/getloadavg (configure.ac): ... to here.
11164
11165 2011-05-08  Bruno Haible  <bruno@clisp.org>
11166
11167         gethrxtime: Move AC_LIBOBJ invocations to module description.
11168         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
11169         LIB_GETHRXTIME from here...
11170         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
11171         invocations from here...
11172         * modules/gethrxtime (configure.ac): ... to here.
11173
11174 2011-05-08  Bruno Haible  <bruno@clisp.org>
11175
11176         gethostname: Move AC_LIBOBJ invocations to module description.
11177         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
11178         gl_PREREQ_GETHOSTNAME invocations from here...
11179         * modules/gethostname (configure.ac): ... to here.
11180
11181 2011-05-08  Bruno Haible  <bruno@clisp.org>
11182
11183         getgroups: Move AC_LIBOBJ invocations to module description.
11184         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
11185         here...
11186         * modules/getgroups (configure.ac): ... to here.
11187
11188 2011-05-08  Bruno Haible  <bruno@clisp.org>
11189
11190         getdtablesize: Move AC_LIBOBJ invocations to module description.
11191         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
11192         invocation from here...
11193         * modules/getdtablesize (configure.ac): ... to here.
11194
11195 2011-05-08  Bruno Haible  <bruno@clisp.org>
11196
11197         getdomainname: Move AC_LIBOBJ invocations to module description.
11198         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
11199         gl_PREREQ_GETDOMAINNAME invocations from here...
11200         * modules/getdomainname (configure.ac): ... to here.
11201
11202 2011-05-08  Bruno Haible  <bruno@clisp.org>
11203
11204         getline: Move AC_LIBOBJ invocations to module description.
11205         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
11206         invocations from here...
11207         * modules/getline (configure.ac): ... to here.
11208
11209 2011-05-08  Bruno Haible  <bruno@clisp.org>
11210
11211         getline: Simplify.
11212         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
11213         It's already handled through the module dependency.
11214
11215 2011-05-08  Bruno Haible  <bruno@clisp.org>
11216
11217         getdelim: Move AC_LIBOBJ invocations to module description.
11218         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
11219         and gl_PREREQ_GETDELIM invocations from here...
11220         * modules/getdelim (configure.ac): ... to here.
11221         (Depends-on): Fix condition.
11222
11223 2011-05-08  Bruno Haible  <bruno@clisp.org>
11224
11225         getcwd: Move AC_LIBOBJ invocations to module description.
11226         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
11227         invocations from here...
11228         * modules/getcwd (configure.ac): ... to here.
11229
11230 2011-05-08  Bruno Haible  <bruno@clisp.org>
11231
11232         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
11233         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
11234         here...
11235         * modules/getcwd-lgpl (configure.ac): ... to here.
11236
11237 2011-05-07  Bruno Haible  <bruno@clisp.org>
11238
11239         crypto/gc: Move AC_LIBOBJ invocations to module description.
11240         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
11241         * modules/crypto/gc (configure.ac): ... to here.
11242
11243 2011-05-07  Bruno Haible  <bruno@clisp.org>
11244
11245         fwriting: Move AC_LIBOBJ invocations to module description.
11246         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
11247         here...
11248         * modules/fwriting (configure.ac): ... to here.
11249
11250 2011-05-07  Bruno Haible  <bruno@clisp.org>
11251
11252         fwritable: Move AC_LIBOBJ invocations to module description.
11253         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
11254         here...
11255         * modules/fwritable (configure.ac): ... to here.
11256
11257 2011-05-07  Bruno Haible  <bruno@clisp.org>
11258
11259         futimens: Move AC_LIBOBJ invocations to module description.
11260         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
11261         here...
11262         * modules/futimens (configure.ac): ... to here.
11263
11264 2011-05-07  Bruno Haible  <bruno@clisp.org>
11265
11266         ftruncate: Move AC_LIBOBJ invocations to module description.
11267         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
11268         gl_PREREQ_FTRUNCATE invocations from here...
11269         * modules/ftruncate (configure.ac): ... to here.
11270
11271 2011-05-07  Bruno Haible  <bruno@clisp.org>
11272
11273         fsync: Move AC_LIBOBJ invocations to module description.
11274         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
11275         invocations from here...
11276         * modules/fsync (configure.ac): ... to here.
11277
11278 2011-05-07  Bruno Haible  <bruno@clisp.org>
11279
11280         fsusage: Move AC_LIBOBJ invocations to module description.
11281         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
11282         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
11283         * modules/fsusage (configure.ac): ... to here.
11284
11285 2011-05-07  Bruno Haible  <bruno@clisp.org>
11286
11287         freopen: Move AC_LIBOBJ invocations to module description.
11288         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
11289         invocations from here...
11290         * modules/freopen (configure.ac): ... to here.
11291
11292 2011-05-07  Bruno Haible  <bruno@clisp.org>
11293
11294         free: Move AC_LIBOBJ invocations to module description.
11295         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
11296         invocations from here...
11297         * modules/free (configure.ac): ... to here.
11298
11299 2011-05-07  Bruno Haible  <bruno@clisp.org>
11300
11301         freadable: Move AC_LIBOBJ invocations to module description.
11302         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
11303         here...
11304         * modules/freadable (configure.ac): ... to here.
11305
11306 2011-05-07  Bruno Haible  <bruno@clisp.org>
11307
11308         fpurge: Move AC_LIBOBJ invocations to module description.
11309         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
11310         invocations from here...
11311         * modules/fpurge (configure.ac): ... to here.
11312
11313 2011-05-07  Bruno Haible  <bruno@clisp.org>
11314
11315         fpending: Move AC_LIBOBJ invocations to module description.
11316         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
11317         gl_FUNC_FPENDING.
11318         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
11319         invocations from here...
11320         * modules/fpending (configure.ac): ... to here.
11321
11322 2011-05-07  Bruno Haible  <bruno@clisp.org>
11323
11324         fopen: Move AC_LIBOBJ invocations to module description.
11325         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
11326         invocations from here...
11327         * modules/fopen (configure.ac): ... to here.
11328
11329 2011-05-07  Bruno Haible  <bruno@clisp.org>
11330
11331         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
11332         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
11333         gl_FUNC_FNMATCH_POSIX.
11334         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
11335         invocations from here...
11336         * modules/fnmatch (configure.ac): ... to here.
11337         * modules/fnmatch-gnu (configure.ac): ... and here.
11338
11339 2011-05-07  Bruno Haible  <bruno@clisp.org>
11340
11341         flock: Move AC_LIBOBJ invocations to module description.
11342         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
11343         invocations from here...
11344         * modules/flock (configure.ac): ... to here.
11345
11346 2011-05-07  Bruno Haible  <bruno@clisp.org>
11347
11348         fileblocks: Move AC_LIBOBJ invocations to module description.
11349         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
11350         gl_PREREQ_FILEBLOCKS invocations from here...
11351         * modules/fileblocks (configure.ac): ... to here.
11352
11353 2011-05-06  Bruno Haible  <bruno@clisp.org>
11354
11355         fflush: Move AC_LIBOBJ invocations to module description.
11356         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
11357         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
11358         invocations from here...
11359         * modules/fflush (configure.ac): ... to here.
11360
11361 2011-05-06  Bruno Haible  <bruno@clisp.org>
11362
11363         fdopendir: Move AC_LIBOBJ invocations to module description.
11364         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
11365         here...
11366         * modules/fdopendir (configure.ac): ... to here.
11367         (Depends-on): Improve conditions.
11368
11369 2011-05-06  Bruno Haible  <bruno@clisp.org>
11370
11371         _Exit: Move AC_LIBOBJ invocations to module description.
11372         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
11373         invocations from here...
11374         * modules/_Exit (configure.ac): ... to here.
11375
11376 2011-05-21  Bruno Haible  <bruno@clisp.org>
11377
11378         euidaccess: Respect rules for use of AC_LIBOBJ.
11379         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
11380         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
11381         from here...
11382         * modules/euidaccess (configure.ac): ... to here.
11383
11384 2011-05-06  Bruno Haible  <bruno@clisp.org>
11385
11386         error: Move AC_LIBOBJ invocations to module description.
11387         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
11388         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
11389         invocations from here...
11390         * modules/error (configure.ac): ... to here.
11391
11392 2011-05-06  Bruno Haible  <bruno@clisp.org>
11393
11394         duplocale: Move AC_LIBOBJ invocations to module description.
11395         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
11396         gl_PREREQ_DUPLOCALE invocations from here...
11397         * modules/duplocale (configure.ac): ... to here.
11398
11399 2011-05-05  Bruno Haible  <bruno@clisp.org>
11400
11401         dirfd: Move AC_LIBOBJ invocations to module description.
11402         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
11403         gl_FUNC_DIRFD.
11404         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
11405         here...
11406         * modules/dirfd (configure.ac): ... to here.
11407         (Depends-on): Fix condition.
11408
11409 2011-05-05  Bruno Haible  <bruno@clisp.org>
11410
11411         chown: Respect rules for use of AC_LIBOBJ.
11412         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
11413         * modules/chown (configure.ac): ... to here.
11414
11415 2011-05-05  Bruno Haible  <bruno@clisp.org>
11416
11417         chdir-long: Move AC_LIBOBJ invocations to module description.
11418         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
11419         gl_PREREQ_CHDIR_LONG invocations from here...
11420         * modules/chdir-long (configure.ac): ... to here.
11421
11422 2011-05-05  Bruno Haible  <bruno@clisp.org>
11423
11424         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
11425         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
11426         from here...
11427         * modules/canonicalize-lgpl (configure.ac): ... to here.
11428
11429 2011-05-05  Bruno Haible  <bruno@clisp.org>
11430
11431         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
11432         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
11433         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
11434         REPLACE_CALLOC.
11435         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
11436         * modules/calloc-gnu (configure.ac): Likewise.
11437
11438 2011-05-05  Bruno Haible  <bruno@clisp.org>
11439
11440         btowc: Move AC_LIBOBJ invocations to module description.
11441         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
11442         invocations from here...
11443         * modules/btowc (configure.ac): ... to here.
11444
11445 2011-05-21  Bruno Haible  <bruno@clisp.org>
11446
11447         atexit: Move AC_LIBOBJ invocations to module description.
11448         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
11449         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
11450         here...
11451         * modules/atexit (configure.ac): ... to here.
11452
11453 2011-05-05  Bruno Haible  <bruno@clisp.org>
11454
11455         atoll: Move AC_LIBOBJ invocations to module description.
11456         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
11457         invocations from here...
11458         * modules/atoll (configure.ac): ... to here.
11459
11460 2011-05-05  Bruno Haible  <bruno@clisp.org>
11461
11462         argz: Move AC_LIBOBJ invocations to module description.
11463         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
11464         * modules/argz (configure.ac): ... to here.
11465
11466 2011-05-05  Bruno Haible  <bruno@clisp.org>
11467
11468         alphasort: Move AC_LIBOBJ invocations to module description.
11469         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
11470         gl_PREREQ_ALPHASORT invocations from here...
11471         * modules/alphasort (configure.ac): ... to here.
11472
11473 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
11474
11475         verify: new macro verify_expr; verify_true deprecated
11476         * NEWS: Mention this.
11477         * doc/verify.texi (Compile-time Assertions): Document this.
11478         * lib/verify.h (verify_true): Deprecate.
11479         (verify_expr): New macro.
11480         * tests/test-verify.c (function): Test verify_expr.
11481
11482 2011-06-14  Jim Meyering  <meyering@redhat.com>
11483
11484         init.sh: give more portable redirection-related advice in a comment
11485         * tests/init.sh (stderr_fileno_): Update the advice in comments.
11486         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
11487         for lots of discussion.  Stefano Lattarini suggested the solution
11488         of putting "9>&2" after the command.  Reported by Bruno Haible.
11489
11490 2011-06-13  Bruno Haible  <bruno@clisp.org>
11491
11492         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
11493         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
11494         'none'.
11495
11496 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
11497
11498         ftoastr: use strtof only if HAVE_STRTOF
11499         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
11500         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
11501         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
11502         * modules/ftoastr (configure.ac): Check for strtof.
11503
11504 2011-06-13  Bruno Haible  <bruno@clisp.org>
11505
11506         gnulib-tool: Addendum to 2011-06-08 commit.
11507         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
11508         and --witness-c-macro have been given, augment AM_CPPFLAGS.
11509
11510 2011-06-13  Bruno Haible  <bruno@clisp.org>
11511
11512         fseeko: Provide a non-inline replacement of fseek().
11513         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
11514         * modules/fseeko (Depends-on): Add fseek.
11515         * modules/fseek (License): Change to LGPLv2+.
11516
11517 2011-06-13  Bruno Haible  <bruno@clisp.org>
11518
11519         ftello: Provide a non-inline replacement of ftell().
11520         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
11521         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
11522         not have ftello() (such as on mingw).
11523         * modules/ftello (Depends-on): Add ftell.
11524         * modules/ftell (License): Change to LGPLv2+.
11525
11526 2011-05-07  Bruno Haible  <bruno@clisp.org>
11527
11528         ftell: Move AC_LIBOBJ invocations to module description.
11529         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
11530         * modules/ftell (configure.ac): ... to here.
11531
11532 2011-05-07  Bruno Haible  <bruno@clisp.org>
11533
11534         ftello: Respect rules for use of AC_LIBOBJ.
11535         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
11536         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
11537         here...
11538         * modules/ftello (configure.ac): ... to here.
11539
11540 2011-05-07  Bruno Haible  <bruno@clisp.org>
11541
11542         fseeko: Simplify.
11543         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
11544         (gl_FUNC_FSEEKO): Inline it here.
11545
11546 2011-05-07  Bruno Haible  <bruno@clisp.org>
11547
11548         fseek: Move AC_LIBOBJ invocations to module description.
11549         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
11550         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
11551         * modules/fseek (configure.ac): ... to here.
11552
11553 2011-05-07  Bruno Haible  <bruno@clisp.org>
11554
11555         fseek: Respect rules for use of AC_LIBOBJ.
11556         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
11557         here...
11558         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
11559
11560 2011-05-07  Bruno Haible  <bruno@clisp.org>
11561
11562         fseeko: Respect rules for use of AC_LIBOBJ.
11563         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
11564         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
11565         here...
11566         * modules/fseeko (configure.ac): ... to here.
11567
11568 2011-06-13  Bruno Haible  <bruno@clisp.org>
11569
11570         gnulib-tool: Allow comments in the 'Depends-on' section.
11571         * doc/gnulib.texi (Module description): Mention comment syntax in the
11572         Depends-on section.
11573         * gnulib-tool (func_get_dependencies): Filter out comment lines.
11574
11575 2011-06-13  Bruno Haible  <bruno@clisp.org>
11576
11577         file-set.h: guard __attibute__ use, now that it's not always defined
11578         * lib/file-set.h (record_file): Use __attribute__ only with compiler
11579         versions that support it.  This fixes a coreutils build failure with
11580         the vendor cc on HP-UX 11.31.
11581
11582 2011-06-12  Bruno Haible  <bruno@clisp.org>
11583
11584         acl: Add support for HP-UX >= 11.11 JFS ACLs.
11585         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
11586         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
11587         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
11588         (acl, aclsort): New declarations.
11589         (aclv_nontrivial): New declaration.
11590         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
11591         (file_has_acl): Read also the second kind of HP-UX ACLs.
11592         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
11593         kind of HP-UX ACLs if the first kind fails.
11594         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
11595         second kind of HP-UX ACLs.
11596         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
11597         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
11598         agree.
11599         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
11600         hpuxjfs.
11601         Handle hpuxjfs.
11602         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
11603         hpuxjfs.
11604         Handle hpuxjfs.
11605         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
11606         (func_test_same_acls): Use both lsacl and getacl.
11607         Handle hpuxjfs.
11608         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
11609         (func_test_same_acls): Use both lsacl and getacl.
11610         Handle hpuxjfs.
11611
11612 2011-06-12  Bruno Haible  <bruno@clisp.org>
11613
11614         acl: Complete the 2010-08-10 fix.
11615         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
11616         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
11617         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
11618         explicitly.
11619         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
11620         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
11621
11622 2011-06-12  Bruno Haible  <bruno@clisp.org>
11623
11624         spawn-pipe tests: Comments.
11625         * tests/test-spawn-pipe-child.c (main): Update comment.
11626         Reported by James Youngman <jay@gnu.org>.
11627
11628 2011-06-11  James Youngman  <jay@gnu.org>
11629
11630         New module 'stat-size'.
11631         * modules/stat-size: New module.  Provides macros for accessing
11632         file size information in instances of struct stat.  Depends on the
11633         fileblocks module because it calls st_blocks.
11634         * lib/stat-size.h: New file, adapted from coreutils' system.h.
11635         * doc/gnulib.texi: Include stat-size.texi.
11636         * doc/stat-size.texi: Documentation for this module.
11637         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
11638         * m4/fileblocks.m4: Mention that stat-size depends on the call to
11639         AC_STRUCT_ST_BLOCKS.
11640
11641 2011-06-09  Bruno Haible  <bruno@clisp.org>
11642
11643         thread: Support pthreads-win32.
11644         * lib/glthread/thread.h (gl_thread_self): Define differently on
11645         pthreads-win32.
11646         (gl_null_thread): New declaration.
11647         (gl_thread_self_pointer): New macro.
11648         * lib/glthread/thread.c (gl_null_thread): New constant.
11649         * tests/test-lock.c: Use gl_thread_self_pointer instead of
11650         gl_thread_self.
11651         * tests/test-tls.c: Likewise.
11652         Suggested by Paul Eggert. Reported by Eric Blake.
11653
11654 2011-06-09  Bruno Haible  <bruno@clisp.org>
11655
11656         thread: Fix confusion between NULL and 0.
11657         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
11658         Reported by Paul Eggert.
11659
11660 2011-06-09  Bruno Haible  <bruno@clisp.org>
11661
11662         spawn-pipe tests: Avoid test failure on HP-UX 11.
11663         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
11664         is closed.
11665
11666 2011-06-09  Bruno Haible  <bruno@clisp.org>
11667
11668         acl tests: Fix compilation error on HP-UX 11.
11669         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
11670
11671 2011-06-09  Bruno Haible  <bruno@clisp.org>
11672
11673         rmdir: Avoid test failure on HP-UX 10.20.
11674         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
11675         EEXIST.
11676
11677 2011-06-08  Eric Blake  <eblake@redhat.com>
11678
11679         perror: fix test on mingw
11680         * modules/perror-tests (Depends-on): Add dup2.
11681
11682         strerror_r-posix: fix on MacOS
11683         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
11684         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
11685         logic bug.
11686         * lib/strerror_r.c (strerror_r): Fix the bug.
11687         * lib/strerror.c (strerror): Likewise.
11688         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
11689         problem.
11690         * doc/posix-functions/strerror.texi (strerror): Likewise.
11691         * doc/posix-functions/perror.texi (perror): Likewise.
11692         * tests/test-strerror.c (main): Enhance test.
11693         * tests/test-strerror_r.c (main): Likewise.
11694
11695 2011-06-08  Bruno Haible  <bruno@clisp.org>
11696
11697         gnulib-tool: Better isolation between different gnulib-tool invocations.
11698         * gnulib-tool: New option --witness-c-macro.
11699         (witness_c_macro): New variable.
11700         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
11701         AM_CPPFLAGS define it as a C macro.
11702         (func_emit_tests_Makefile_am): Likewise.
11703         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
11704         read it from there.
11705         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
11706         m4_define, not AC_DEFUN.
11707         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
11708         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
11709         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
11710         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
11711         s|...|...|, to substitute the values of the GNULIB_* module indicator
11712         variables.
11713         * modules/dirent (Makefile.am): Likewise.
11714         * modules/fcntl-h (Makefile.am): Likewise.
11715         * modules/iconv-h (Makefile.am): Likewise.
11716         * modules/langinfo (Makefile.am): Likewise.
11717         * modules/locale (Makefile.am): Likewise.
11718         * modules/math (Makefile.am): Likewise.
11719         * modules/netdb (Makefile.am): Likewise.
11720         * modules/poll-h (Makefile.am): Likewise.
11721         * modules/pty (Makefile.am): Likewise.
11722         * modules/search (Makefile.am): Likewise.
11723         * modules/signal (Makefile.am): Likewise.
11724         * modules/spawn (Makefile.am): Likewise.
11725         * modules/stdio (Makefile.am): Likewise.
11726         * modules/stdlib (Makefile.am): Likewise.
11727         * modules/string (Makefile.am): Likewise.
11728         * modules/sys_ioctl (Makefile.am): Likewise.
11729         * modules/sys_select (Makefile.am): Likewise.
11730         * modules/sys_socket (Makefile.am): Likewise.
11731         * modules/sys_stat (Makefile.am): Likewise.
11732         * modules/sys_times (Makefile.am): Likewise.
11733         * modules/sys_utsname (Makefile.am): Likewise.
11734         * modules/sys_wait (Makefile.am): Likewise.
11735         * modules/termios (Makefile.am): Likewise.
11736         * modules/time (Makefile.am): Likewise.
11737         * modules/unistd (Makefile.am): Likewise.
11738         * modules/wchar (Makefile.am): Likewise.
11739
11740 2011-06-08  Eric Blake  <eblake@redhat.com>
11741
11742         strerror: simplify replacement
11743         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
11744         * modules/strerror (configure.ac): No prereqs needed here...
11745         * modules/strerror-override (configure.ac): ...but this needs it.
11746         (Files): Add file for needed prereq macro.
11747
11748 2011-06-08  Bruno Haible  <bruno@clisp.org>
11749
11750         strerror_r-posix: Tweaks.
11751         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
11752         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
11753         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
11754         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
11755         (gl_FUNC_STRERROR_R): ... to here.
11756         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
11757
11758 2011-06-07  Eric Blake  <eblake@redhat.com>
11759
11760         perror: document fixed bugs
11761         * doc/posix-functions/perror.texi (perror): Document recent
11762         patches.
11763
11764 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
11765
11766         stat-time: get_stat_birthtime failure is better-defined
11767         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
11768         return a timestamp whose tv_sec and tv_nsec values are both -1.
11769         Previously, the spec said only that the tv_nsec value was negative.
11770         This upward-compatible change simplifies GNU tar a bit.
11771
11772 2011-06-07  Eric Blake  <eblake@redhat.com>
11773
11774         strerror_r-posix: work around cygwin 1.7.9
11775         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
11776         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
11777         bug without replacing strerror_r.
11778         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
11779         strerror_r is buggy, but without requiring strerror_r compilation.
11780         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
11781
11782         test-perror: relax test to ignore cygwin bug
11783         * tests/test-perror2.c (main): Relax test on requiring detection
11784         of stream errors, and use unbuffered stream.
11785         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
11786         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
11787         * doc/posix-functions/fputc.texi (fputc): Likewise.
11788         * doc/posix-functions/fputs.texi (fputs): Likewise.
11789         * doc/posix-functions/fputws.texi (fputws): Likewise.
11790         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
11791         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
11792         * doc/posix-functions/getopt.texi (getopt): Likewise.
11793         * doc/posix-functions/perror.texi (perror): Likewise.
11794         * doc/posix-functions/printf.texi (printf): Likewise.
11795         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
11796         * doc/posix-functions/psignal.texi (psignal): Likewise.
11797         * doc/posix-functions/putc.texi (putc): Likewise.
11798         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
11799         Likewise.
11800         * doc/posix-functions/putchar.texi (putchar): Likewise.
11801         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
11802         Likewise.
11803         * doc/posix-functions/puts.texi (puts): Likewise.
11804         * doc/posix-functions/putwc.texi (putwc): Likewise.
11805         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
11806         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
11807         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
11808         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
11809         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
11810         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
11811         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
11812         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
11813
11814 2011-05-22  Bruno Haible  <bruno@clisp.org>
11815
11816         strerror: Move AC_LIBOBJ invocations to module description.
11817         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
11818         gl_PREREQ_STRERROR invocations from here...
11819         * modules/strerror (configure.ac): ... to here.
11820
11821 2011-05-21  Bruno Haible  <bruno@clisp.org>
11822
11823         perror: Use common idiom.
11824         * modules/perror (configure.ac): Reorder statements.
11825
11826 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
11827
11828         tests: fix usage message in 'mktempd_'
11829         * tests/init.sh (mktempd_): In the usage message, use literal
11830         'mktempd_', not '$ME' (which is even undefined), as the name of
11831         the subroutine.
11832
11833 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
11834
11835         tests init: new function 'fatal_', for hard errors
11836         Before this patch, the only way offered by tests/init.sh to
11837         properly signal a hard error was the `framework_failure_'
11838         function.  But the error message issued by that function,
11839         as its name would suggest, refers to a set-up failure in the
11840         testsuite, while hard errors can obviously also be due to
11841         other reasons.  The best way to fix this inconsistency is to
11842         introduce a new function with a more general error message.
11843         * tests/init.sh (fatal_): New function.
11844
11845 2011-06-06  Eric Blake  <eblake@redhat.com>
11846
11847         canonicalize-lgpl: use common idiom
11848         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
11849         over newer POSIX -Rf.
11850         Reported by Bruno Haible.
11851
11852         canonicalize-lgpl: work around AIX realpath bug
11853         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
11854         * doc/posix-functions/realpath.texi (realpath): Document it.
11855         Reported by Bruno Haible.
11856
11857         strerror: work around FreeBSD bug
11858         * lib/strerror.c (strerror): Special case 0.
11859         Reported by Bruno Haible.
11860
11861         strerror-override: avoid bloating errno module
11862         * modules/errno (Files, configure.ac): Move replacement strings...
11863         * modules/strerror-override: ...to new module.
11864         * modules/strerror (Depends-on): Add strerror-override.
11865         * modules/strerror_r-posix (Depends-on): Likewise.
11866         * MODULES.html.sh: Document new module.
11867         Reported by Bruno Haible.
11868
11869 2011-06-06  Bruno Haible  <bruno@clisp.org>
11870
11871         spawn-pipe tests: Rename program.
11872         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
11873         * tests/test-spawn-pipe-child.c: Update comment.
11874         * tests/test-spawn-pipe.sh: Update.
11875         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
11876
11877         spawn-pipe tests: Link the child program only against libc.
11878         * tests/test-spawn-pipe-child.c: New file, extracted from
11879         tests/test-spawn-pipe.c.
11880         (main): Expect only one argument.
11881         (is_open): New function, copied from tests/test-pipe.c.
11882         * tests/test-spawn-pipe.c: Don't include <errno.h>.
11883         (child_main): Remove function.
11884         (test_pipe): Pass only one argument to the child program.
11885         (main): Remove child process code. Expect the child program's name as
11886         first argument.
11887         * tests/test-spawn-pipe.sh: Pass the child program's name as first
11888         argument.
11889         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
11890         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
11891         test-spawn-pipe-child against no libraries.
11892
11893 2011-06-06  Bruno Haible  <bruno@clisp.org>
11894
11895         careadlinkat: Avoid mismatch between ssize_t and int.
11896         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
11897         * lib/careadlinkat.c (careadlinkatcwd): Define always.
11898
11899 2011-06-06  Jim Meyering  <meyering@redhat.com>
11900
11901         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
11902         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
11903         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
11904
11905 2011-06-05  Bruno Haible  <bruno@clisp.org>
11906
11907         ansi-c++-opt: Interoperability with libtool.
11908         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
11909         set the variable to "no", not to ":".
11910         * NEWS: Mention the change.
11911
11912 2011-06-05  Bruno Haible  <bruno@clisp.org>
11913
11914         acl: Fix test failure on AIX 7.
11915         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
11916         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
11917
11918 2011-06-05  Bruno Haible  <bruno@clisp.org>
11919
11920         pipe-filter-ii: Fix test failure on AIX and IRIX.
11921         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
11922         with EAGAIN, retry with a smaller buffer size.
11923
11924 2011-06-05  Bruno Haible  <bruno@clisp.org>
11925
11926         localename: Fix link dependencies.
11927         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
11928         * modules/localename-tests (Makefile.am): Link test-localename with
11929         $(LIBTHREAD).
11930
11931 2011-06-05  Bruno Haible  <bruno@clisp.org>
11932
11933         error: Avoid gcc warning.
11934         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
11935
11936 2011-06-05  Bruno Haible  <bruno@clisp.org>
11937
11938         unsetenv: Avoid gcc warning.
11939         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
11940
11941 2011-06-05  Bruno Haible  <bruno@clisp.org>
11942
11943         setenv: Avoid gcc warning.
11944         * lib/setenv.c (setenv): Provide declaration if system lacks it.
11945
11946 2011-06-05  Bruno Haible  <bruno@clisp.org>
11947
11948         sys_select: Ensure memset is declared also on AIX 7.
11949         * lib/sys_select.in.h: Include <string.h> also on AIX.
11950         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
11951         self-contained also on AIX 7.1.
11952
11953 2011-06-04  Jim Meyering  <meyering@redhat.com>
11954
11955         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
11956         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
11957         function name, "error".
11958         (_gl_translatable_diag_func_re): New configurable variable.
11959
11960 2011-06-04  Bruno Haible  <bruno@clisp.org>
11961
11962         getopt: Avoid gcc warning.
11963         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
11964
11965 2011-06-04  Bruno Haible  <bruno@clisp.org>
11966
11967         strerror_r: Fix comments.
11968         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
11969         commit.
11970
11971 2011-06-04  Bruno Haible  <bruno@clisp.org>
11972
11973         perror: Fix compilation error.
11974         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
11975         Undefine fprintf, not sprintf.
11976         * modules/perror (Depends-on): Remove intprops, verify.
11977
11978 2011-06-04  Bruno Haible  <bruno@clisp.org>
11979
11980         setlocale: Enable replacement on Cygwin 1.5.
11981         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
11982         Cygwin 1.5.x.
11983         * doc/posix-functions/setlocale.texi: Mention that the problem with the
11984         LC_CTYPE category also exists on Cygwin 1.5.x.
11985
11986 2011-06-04  Bruno Haible  <bruno@clisp.org>
11987
11988         strerror-override: Don't disable symbol renamings.
11989         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
11990         * lib/strerror-override.c: Include config.h.
11991         (strerror_override): Don't undefine.
11992
11993 2011-06-03  Bruno Haible  <bruno@clisp.org>
11994
11995         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
11996         * lib/localename.h: Update copyright header.
11997         * lib/localename.c: Likewise.
11998         * lib/relocatable.h: Likewise.
11999         * lib/relocatable.c: Likewise.
12000
12001 2011-06-02  Bruno Haible  <bruno@clisp.org>
12002
12003         doc: Fix a module name.
12004         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
12005
12006 2011-06-02  Bruno Haible  <bruno@clisp.org>
12007
12008         pipe2: Remove dependency on 'nonblocking' module.
12009         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
12010         O_NONBLOCK is defined by gnulib.
12011         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
12012         is zero.
12013         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
12014         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
12015         defined by gnulib.
12016         (get_nonblocking_flag): New function.
12017         (main): Test O_NONBLOCK flag only if it is nonzero.
12018         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
12019
12020 2011-06-03  Jim Meyering  <meyering@redhat.com>
12021
12022         maint: three new prohibit-header-without-use rules
12023         Prohibit use of cloexec.h, posixver.h, same.h without use.
12024         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
12025         (sc_prohibit_posixver_without_use): Likewise.
12026         (sc_prohibit_same_without_use): Likewise.
12027
12028 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12029
12030         allocator: 'die' routine is now given requested size
12031         * lib/allocator.h (struct allocator.die): New size arg.
12032         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
12033         If the actual problem is an ssize_t limitation, not a size_t or
12034         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
12035
12036 2011-06-01  Eric Blake  <eblake@redhat.com>
12037
12038         strerror: drop strerror_r dependency
12039         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
12040         * lib/strerror-override.c (strerror_override): ...to new file.
12041         * lib/strerror-override.h: Add prototype.
12042         * lib/strerror-impl.h: Delete.
12043         * lib/strerror.c (strerror): New implementation.
12044         * modules/errno (Files): Add new files.
12045         (configure.ac): Compile new file as appropriate.
12046         * modules/strerror (Files): Drop unused file.
12047         (Depends-on): Drop strerror_r-posix.
12048         * MODULES.html.sh: Document strerror_r-posix.
12049         Requested by Sam Steingold.
12050
12051         perror: call strerror_r directly
12052         * modules/perror (Files): Drop strerror-impl.h.
12053         * lib/perror.c (perror): Use our own stack buffer, rather than
12054         calling a wrapper that uses static storage.
12055         * doc/posix-functions/perror.texi (perror): Document a limitation
12056         of our replacement.
12057
12058         strerror_r: fix includes for FreeBSD
12059         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
12060         since we use abort on some platforms.
12061         Reported by Matthias Bolte.
12062
12063 2011-05-31  Bruno Haible  <bruno@clisp.org>
12064
12065         Fix link errors in tests: openat-die uses gettext-h.
12066         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
12067         against $(LIBINTL).
12068         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
12069         against $(LIBINTL).
12070         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
12071         $(LIBINTL).
12072         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
12073         against $(LIBINTL).
12074         * modules/linkat-tests (Makefile.am): Link test-linkat against
12075         $(LIBINTL).
12076         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
12077         $(LIBINTL).
12078         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
12079         against $(LIBINTL).
12080         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
12081         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
12082         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
12083         $(LIBINTL).
12084         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
12085         $(LIBINTL).
12086         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
12087         $(LIBINTL).
12088         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12089
12090 2011-05-31  Bruno Haible  <bruno@clisp.org>
12091
12092         Fix link errors in tests: wait-process uses gettext-h.
12093         * modules/nonblocking-pipe-tests (Makefile.am): Set
12094         test_nonblocking_pipe_main_LDADD.
12095         * modules/nonblocking-socket-tests (Makefile.am): Link
12096         test-nonblocking-socket-main against $(LIBINTL).
12097         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12098
12099 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
12100
12101         assert-h: work around 'verify' incompatibility
12102         * lib/verify.h: Use @...@ directives, not ifdef.
12103         * modules/assert-h (assert.h): Implement the directives.
12104         (assert.h): Substitute the symbol-prefix more consistently.
12105
12106 2011-05-29  Jim Meyering  <meyering@redhat.com>
12107
12108         trim: remove three superfluous assignments
12109         * lib/trim.c (trim2): Remove three superfluous assignments
12110         and correct brace positioning.
12111
12112 2011-05-29  Bruno Haible  <bruno@clisp.org>
12113
12114         wctype-h: Avoid namespace pollution on Solaris 2.6.
12115         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
12116         identifiers.
12117         * doc/posix-headers/wctype.texi: Mention the problem.
12118         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12119
12120 2011-05-28  Jim Meyering  <meyering@redhat.com>
12121
12122         parse-datetime.y: accommodate -Wstrict-overflow
12123         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
12124         placate -Wstrict-overflow.
12125
12126         trim: avoid a warning from -O2 -Wstrict-overflow
12127         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
12128
12129 2011-05-29  Bruno Haible  <bruno@clisp.org>
12130
12131         gnulib-tool: Fix bug in yesterday's commit.
12132         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
12133         twice.
12134
12135 2011-05-29  Bruno Haible  <bruno@clisp.org>
12136
12137         Allow multiple gnulib generated include files to be combined.
12138         * gnulib-tool (func_compute_include_guard_prefix): New function.
12139         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
12140         ${gl_include_guard_prefix} references.
12141         (func_import, func_create_testdir): Invoke
12142         func_compute_include_guard_prefix.
12143         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
12144         * lib/ctype.in.h: Likewise.
12145         * lib/dirent.in.h: Likewise.
12146         * lib/errno.in.h: Likewise.
12147         * lib/fcntl.in.h: Likewise.
12148         * lib/float.in.h: Likewise.
12149         * lib/getopt.in.h: Likewise.
12150         * lib/iconv.in.h: Likewise.
12151         * lib/langinfo.in.h: Likewise.
12152         * lib/locale.in.h: Likewise.
12153         * lib/math.in.h: Likewise.
12154         * lib/netdb.in.h: Likewise.
12155         * lib/netinet_in.in.h: Likewise.
12156         * lib/poll.in.h: Likewise.
12157         * lib/pthread.in.h: Likewise.
12158         * lib/pty.in.h: Likewise.
12159         * lib/sched.in.h: Likewise.
12160         * lib/se-selinux.in.h: Likewise.
12161         * lib/search.in.h: Likewise.
12162         * lib/signal.in.h: Likewise.
12163         * lib/spawn.in.h: Likewise.
12164         * lib/stdarg.in.h: Likewise.
12165         * lib/stddef.in.h: Likewise.
12166         * lib/stdint.in.h: Likewise.
12167         * lib/stdio.in.h: Likewise.
12168         * lib/stdlib.in.h: Likewise.
12169         * lib/string.in.h: Likewise.
12170         * lib/strings.in.h: Likewise.
12171         * lib/sys_file.in.h: Likewise.
12172         * lib/sys_ioctl.in.h: Likewise.
12173         * lib/sys_select.in.h: Likewise.
12174         * lib/sys_socket.in.h: Likewise.
12175         * lib/sys_stat.in.h: Likewise.
12176         * lib/sys_time.in.h: Likewise.
12177         * lib/sys_times.in.h: Likewise.
12178         * lib/sys_uio.in.h: Likewise.
12179         * lib/sys_utsname.in.h: Likewise.
12180         * lib/sys_wait.in.h: Likewise.
12181         * lib/sysexits.in.h: Likewise.
12182         * lib/termios.in.h: Likewise.
12183         * lib/time.in.h: Likewise.
12184         * lib/unistd.in.h: Likewise.
12185         * lib/wchar.in.h: Likewise.
12186         * lib/wctype.in.h: Likewise.
12187         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
12188         * modules/ctype (Makefile.am): Likewise.
12189         * modules/dirent (Makefile.am): Likewise.
12190         * modules/errno (Makefile.am): Likewise.
12191         * modules/fcntl-h (Makefile.am): Likewise.
12192         * modules/float (Makefile.am): Likewise.
12193         * modules/getopt-posix (Makefile.am): Likewise.
12194         * modules/iconv-h (Makefile.am): Likewise.
12195         * modules/langinfo (Makefile.am): Likewise.
12196         * modules/locale (Makefile.am): Likewise.
12197         * modules/math (Makefile.am): Likewise.
12198         * modules/netdb (Makefile.am): Likewise.
12199         * modules/netinet_in (Makefile.am): Likewise.
12200         * modules/poll-h (Makefile.am): Likewise.
12201         * modules/pthread (Makefile.am): Likewise.
12202         * modules/pty (Makefile.am): Likewise.
12203         * modules/sched (Makefile.am): Likewise.
12204         * modules/search (Makefile.am): Likewise.
12205         * modules/selinux-h (Makefile.am): Likewise.
12206         * modules/signal (Makefile.am): Likewise.
12207         * modules/spawn (Makefile.am): Likewise.
12208         * modules/stdarg (Makefile.am): Likewise.
12209         * modules/stddef (Makefile.am): Likewise.
12210         * modules/stdint (Makefile.am): Likewise.
12211         * modules/stdio (Makefile.am): Likewise.
12212         * modules/stdlib (Makefile.am): Likewise.
12213         * modules/string (Makefile.am): Likewise.
12214         * modules/strings (Makefile.am): Likewise.
12215         * modules/sys_file (Makefile.am): Likewise.
12216         * modules/sys_ioctl (Makefile.am): Likewise.
12217         * modules/sys_select (Makefile.am): Likewise.
12218         * modules/sys_socket (Makefile.am): Likewise.
12219         * modules/sys_stat (Makefile.am): Likewise.
12220         * modules/sys_time (Makefile.am): Likewise.
12221         * modules/sys_times (Makefile.am): Likewise.
12222         * modules/sys_uio (Makefile.am): Likewise.
12223         * modules/sys_utsname (Makefile.am): Likewise.
12224         * modules/sys_wait (Makefile.am): Likewise.
12225         * modules/sysexits (Makefile.am): Likewise.
12226         * modules/termios (Makefile.am): Likewise.
12227         * modules/time (Makefile.am): Likewise.
12228         * modules/unistd (Makefile.am): Likewise.
12229         * modules/wchar (Makefile.am): Likewise.
12230         * modules/wctype-h (Makefile.am): Likewise.
12231         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
12232
12233 2011-05-29  Bruno Haible  <bruno@clisp.org>
12234
12235         assert-h: Allow multiple gnulib generated replacements to coexist.
12236         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
12237
12238 2011-05-29  Bruno Haible  <bruno@clisp.org>
12239
12240         argp: Allow coexistence with strerror_r-posix module.
12241         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
12242         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
12243         by gnulib's <string.h> replacement), assume it has the POSIX signature,
12244         not the glibc signature.
12245
12246 2011-05-28  Bruno Haible  <bruno@clisp.org>
12247
12248         gnulib-tool: Alternative structure of testdirs, similar to --import.
12249         * gnulib-tool: New option --single-configure.
12250         (func_usage): Document it.
12251         (single_configure): New variable.
12252         (func_modules_transitive_closure_separately,
12253         func_modules_transitive_closure_separately,
12254         func_determine_use_libtests, func_modules_add_dummy_separately,
12255         func_modules_to_filelist_separately): New functions, extracted from
12256         func_import.
12257         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
12258         (func_import): Use the new functions.
12259         (func_create_testdir): Set final_modules. Handle $single_configure =
12260         true case.
12261
12262 2011-05-28  Bruno Haible  <bruno@clisp.org>
12263
12264         getloadavg: Remove an unreliable safety check.
12265         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
12266         getloadavg.c is in place.
12267         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
12268         Reported by Sam Steingold <sds@gnu.org>.
12269
12270 2011-05-28  Bruno Haible  <bruno@clisp.org>
12271
12272         doc: Cleanup yet another file produced by texinfo.tex.
12273         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
12274
12275 2011-05-28  Bruno Haible  <bruno@clisp.org>
12276
12277         Finish the conditional dependencies mechanism.
12278         * gnulib-tool: New option --no-conditional-dependencies.
12279         (func_usage): Document it. Don't mark --conditional-dependencies as
12280         experimental.
12281         (cond_dependencies): The possible values can now be true, false, empty.
12282         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
12283         (func_import): Store setting in gnulib-cache.m4 and read it from there.
12284         * doc/gnulib-tool.texi (Conditional dependencies): New section.
12285
12286 2011-05-28  Bruno Haible  <bruno@clisp.org>
12287
12288         doc: Use a recent texinfo.tex.
12289         * doc/Makefile (tex_opts): New variable.
12290         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
12291
12292 2011-05-28  Jim Meyering  <meyering@redhat.com>
12293
12294         intprops.h: adjust comment to match code change
12295         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
12296         only once, it *may* have side effects.  Also fix an unrelated typo.
12297         (_GL_INT_SIGNED): Likewise.
12298
12299 2011-05-26  Simon Josefsson  <simon@josefsson.org>
12300
12301         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
12302
12303 2011-05-26  Bruno Haible  <bruno@clisp.org>
12304
12305         mbsrchr: Avoid collision with system function on Interix.
12306         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
12307         Reported by Markus Duft <mduft@gentoo.org>.
12308
12309 2011-05-15  James Youngman  <jay@gnu.org>
12310
12311         getopt: for ambiguous options, enumerate the possibilities.
12312         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
12313         the ambiguous options when an ambiguous prefix is given. This was
12314         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
12315         glibc change was
12316         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
12317
12318 2011-05-25  Eric Blake  <eblake@redhat.com>
12319
12320         getcwd: work around mingw bug
12321         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
12322         * doc/posix-functions/getcwd.texi (getcwd): Document it.
12323         Reported by Matthias Bolte.
12324
12325 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
12326
12327         test-intprops: disable -Wtype-limits diagnostics
12328         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
12329         diagnostics.  Otherwise, the integer overflow macros generate many
12330         diagnostics.  Reported by Jim Meyering in
12331         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
12332
12333         intprops: shorten, to pacify gcc -Woverlength-strings
12334         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
12335         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
12336         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
12337         likely to run afoul of C compiler limits for string constant lengths.
12338         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
12339
12340 2011-05-24  Eric Blake  <eblake@redhat.com>
12341
12342         docs: document recently fixed glibc printf bug
12343         * doc/posix-functions/fprintf.texi (fprintf): Document it.
12344         * doc/posix-functions/printf.texi (printf): Likewise.
12345         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
12346         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
12347
12348         closein-tests: convert to init.sh
12349         * modules/closein-tests (Files): Add init.sh
12350         * tests/test-closein.sh Use it.
12351
12352         yesno-tests: convert to init.sh
12353         * modules/yesno-tests (Files): Add init.sh.
12354         * tests/test-yesno.sh: Use it.
12355
12356         atexit-tests: ensure reliable exit status
12357         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
12358         Reported by Bruno Haible.
12359
12360 2011-05-24  Bruno Haible  <bruno@clisp.org>
12361
12362         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
12363         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
12364         gl_PREREQ_STRERROR_R invocations from here...
12365         * modules/strerror_r-posix (configure.ac): ... to here.
12366
12367 2011-05-24  Eric Blake  <eblake@redhat.com>
12368
12369         strerror_r: fix missing header
12370         * lib/strerror_r.c: Avoid compiler warning about snprintf.
12371
12372         strerror_r: fix AIX test failures
12373         * lib/strerror_r.c (strerror_r): Convert silent truncation to
12374         ERANGE failure.
12375
12376         strerror_r: fix Solaris test failures
12377         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
12378         failures.
12379         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
12380
12381         strerror_r: enforce POSIX recommendations
12382         * lib/strerror_r.c (safe_copy): New helper method.
12383         (strerror_r): Guarantee a non-empty string.
12384         * tests/test-strerror_r.c (main): Enhance tests to incorporate
12385         recent POSIX rulings and to match our strerror guarantees.
12386         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
12387
12388 2011-05-24  Jim Meyering  <meyering@redhat.com>
12389
12390         test-perror2.c: avoid warning about unused variable
12391         * tests/test-perror2.c (main): Remove declaration of unused "fp".
12392
12393 2011-05-24  Eric Blake  <eblake@redhat.com>
12394
12395         perror: avoid spurious test failure on HP-UX
12396         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
12397
12398         tests: fix logic bug in init.sh
12399         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
12400         shell.
12401
12402 2011-05-24  Jim Meyering  <meyering@redhat.com>
12403
12404         utimensat: do not reference an out-of-scope buffer
12405         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
12406         declared in an inner scope, yet "times" would be dereferenced outside
12407         the scope in which "ts" was valid.
12408         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
12409         of ts[2] "out/up", so that the use of aliased "times" (via
12410         "times = ts;") does not end up referencing an out-of-scope "ts"
12411
12412         opendir-safer.c: don't clobber errno; don't close negative FD
12413         * lib/opendir-safer.c (opendir_safer):
12414         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
12415         file descriptor, and more importantly, don't clobber the
12416         offending errno value with EINVAL.  Before, upon failure
12417         of dup_safer, we would pass the negative file descriptor to
12418         fdopendir, which would clobber errno.
12419
12420 2011-05-23  Bruno Haible  <bruno@clisp.org>
12421
12422         idcache: Fix module description.
12423         * modules/idcache (Include): Set to "idcache.h".
12424
12425 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
12426
12427         gnulib-tool: fix portability problem with MacOS sed
12428         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
12429         before the "}".  Problem reported by Leo in
12430         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
12431         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
12432         sed_extract_condition1, sed_extract_condition2.
12433
12434 2011-05-23  Bruno Haible  <bruno@clisp.org>
12435
12436         hash: Simplify autoconf macro.
12437         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
12438
12439 2011-05-23  Bruno Haible  <bruno@clisp.org>
12440
12441         getugroups: Fix module description.
12442         * modules/getugroups (Include): Set to "getugroups.h".
12443
12444 2011-05-23  Bruno Haible  <bruno@clisp.org>
12445
12446         linkat: Simplify autoconf macro.
12447         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
12448
12449 2011-05-23  Bruno Haible  <bruno@clisp.org>
12450             Eric Blake  <eblake@redhat.com>
12451
12452         linkat, renameat: Update dependencies.
12453         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
12454         * modules/linkat (Depends-on): Likewise. Remove also readlink,
12455         symlinkat.
12456
12457 2011-05-23  Jim Meyering  <meyering@redhat.com>
12458
12459         maint.mk: more tight_scope improvements
12460         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
12461         (_gl_TS_headers): Define only in if-0'd block.
12462         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
12463         sometimes we must *not* use it.  Adjust uses accordingly.
12464         (sc_tight_scope): Use much simpler grep-based test to determine
12465         whether we skip this rule.
12466
12467         maint.mk: generalize/improve the tight-scope rule
12468         * top/maint.mk: Emit a warning when the test is skipped.
12469         (_gl_TS_dir): Add $(srcdir)/ prefix.
12470         (_gl_TS_function_match): Simplify, rather than trying
12471         to enumerate common types.  Otherwise, it would fail to match an
12472         "extern unsigned char const *" declaration in idutils.
12473         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
12474         a way to support use of that type of macro.
12475         (_gl_TS_var_match): Simplify regexp.
12476         (_gl_TS_obj_files): New configurable variable.
12477         (_gl_TS_headers): Likewise.
12478
12479 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
12480
12481         verify: fix bug when gnulib <assert.h> is also included
12482         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
12483         is defined, not if _GL_STATIC_ASSERT_H is not defined.
12484         Perhaps there's a better way, but this fixes the immediate problem.
12485         Problem reported by Bruno Haible in
12486         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
12487
12488 2011-05-22  Bruno Haible  <bruno@clisp.org>
12489
12490         xgetcwd: Simplify autoconf macro.
12491         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
12492
12493 2011-05-22  Bruno Haible  <bruno@clisp.org>
12494
12495         New module 'mktime-internal'.
12496         * modules/mktime-internal: New file.
12497         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
12498         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
12499         mktime_internal as a C macro if libc has __mktime_internal.
12500         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
12501         conditions.
12502         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
12503
12504 2011-05-22  Bruno Haible  <bruno@clisp.org>
12505
12506         timegm: Correct mktime replacement statements.
12507         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
12508         defining mktime as a C macro. This completes a 2009-07-28 commit.
12509
12510 2011-05-22  Bruno Haible  <bruno@clisp.org>
12511
12512         timegm: Simplify autoconf macro.
12513         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
12514
12515 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
12516
12517         clock-time: change to LGPLv2+.
12518         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
12519         BSD-like but we have no mark for that; this is good enough for now.
12520
12521 2011-05-21  Bruno Haible  <bruno@clisp.org>
12522
12523         strerror_r: Fix comments.
12524         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
12525
12526 2011-05-21  Bruno Haible  <bruno@clisp.org>
12527
12528         relocatable-prog-wrapper: Fix possible link error.
12529         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
12530         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
12531         (gl_FUNC_SETENV): ... to here.
12532         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
12533         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
12534
12535 2011-05-21  Bruno Haible  <bruno@clisp.org>
12536
12537         relocatable-prog-wrapper: Assume strerror() exists.
12538         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
12539         m4/strerror.m4.
12540         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
12541         * lib/relocwrapper.c: Remove mention of strerror module.
12542         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
12543         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
12544         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
12545         C macro.
12546
12547 2011-05-21  Bruno Haible  <bruno@clisp.org>
12548
12549         select: Simplify replacement idiom.
12550         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
12551         Win32 platforms.
12552         * lib/sys_select.in.h (select): Simplify accordingly.
12553         * modules/select (Depends-on): Likewise.
12554
12555 2011-05-21  Bruno Haible  <bruno@clisp.org>
12556
12557         mkdir-p: Simplify autoconf macro.
12558         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
12559         gl_FUNC_LCHOWN.
12560
12561 2011-05-21  Eric Blake  <eblake@redhat.com>
12562
12563         strerror_r: avoid clobbering strerror on cygwin
12564         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
12565         fall back instead to sys_errlist.
12566         * modules/strerror (configure.ac): Add witness.
12567         * tests/test-strerror_r.c (main): Enhance test.
12568         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
12569         * tests/test-perror2.c (main): Free memory before exit.
12570
12571 2011-05-21  Bruno Haible  <bruno@clisp.org>
12572
12573         mkdtemp: Use gnulib naming conventions.
12574         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
12575         * modules/mkdtemp (configure.ac): Update.
12576
12577 2011-05-20  Eric Blake  <eblake@redhat.com>
12578
12579         strerror_r: avoid corrupting errno on Solaris
12580         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
12581         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
12582
12583         strerror_r: avoid compiler warning
12584         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
12585
12586         strerror_r: simplify AIX code
12587         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
12588
12589         test-perror: avoid spurious failure on FreeBSD
12590         * modules/perror-tests (Depends-on): Add strerror, now that
12591         strerror_r no longer pulls it in.
12592
12593 2011-05-20  Bruno Haible  <bruno@clisp.org>
12594
12595         strerror_r-posix: Remove unused dependencies.
12596         * modules/strerror_r-posix (Depends-on): Remove strerror.
12597         Reported by Eric Blake.
12598
12599 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
12600
12601         intprops: remove assumption about A|B representation
12602         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
12603         is a valid integer if both A and B are.  Although this is true for
12604         all known practical hosts, the C standard doesn't guarantee it,
12605         and the code need not assume it.  Also, this change may work around
12606         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
12607         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
12608
12609 2011-05-20  Eric Blake  <eblake@redhat.com>
12610
12611         perror: work around FreeBSD bug
12612         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
12613         is broken.  Move AC_LIBOBJ...
12614         * modules/perror (configure.ac): Here.
12615         * doc/posix-functions/perror.texi (perror): Document this.
12616         * tests/test-perror2.c (main): Enhance test.
12617
12618         test-perror: check for strerror interactions
12619         * tests/macros.h (STREQ): Add macro.
12620         * modules/perror-tests (Files): Add second test.
12621         * tests/test-perror2.c (main): New file.
12622         * doc/posix-functions/perror.texi (perror): Document glibc bug.
12623
12624         test-perror: rewrite to use init script
12625         * modules/perror-tests (Files): Add init.sh.
12626         * tests/test-perror.sh: Use temporary directory.
12627
12628 2011-05-20  Jim Meyering  <meyering@redhat.com>
12629
12630         maint: replace misused "a" with "an"
12631         * doc/intprops.texi: "a integer"
12632         * doc/regex.texi: "a explanation"
12633         * lib/alignof.h: "a object"
12634         * lib/argmatch.h: "a explanation"
12635         * lib/argp-help.c: "a option" and "a OPTION_DOC"
12636         * lib/stdint.in.h: "a integer"
12637         * lib/userspec.c: "a owner"
12638         * doc/gnulib.texi: Fix "a idea", and reword.
12639
12640 2011-05-19  Jim Meyering  <meyering@redhat.com>
12641
12642         maint: correct misuse of "a" and "an"
12643         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
12644         * lib/argp-help.c: "an docum...": s/an/a/
12645         * lib/argp-parse.c: "An vector": s/An/A/
12646         * lib/execute.c: "an native": s/an/a/
12647         * lib/spawn-pipe.c: Likewise.
12648         * lib/gc.h: "an Gc_rc": s/an/a/
12649         * lib/unigbrk.in.h: "an grapheme": s/an/a/
12650         * lib/fts.c: "an stat.st_dev": s/an/a/
12651
12652 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
12653
12654         intprops-tests: work around HP-UX 11.23 cc bug with constants
12655         * tests/test-intprops.c (VERIFY): New macro.
12656         (main): Use it, instead of verify, to work around the compiler bug; see
12657         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
12658
12659         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
12660         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
12661         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
12662         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
12663         (_GL_REMAINDER_OVERFLOW): Use it.
12664
12665         intprops-tests: revert unsigned part of previous change
12666         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
12667         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
12668         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
12669         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
12670
12671 2011-05-19  Bruno Haible  <bruno@clisp.org>
12672
12673         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
12674         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
12675         strerror_r() returned without filling the buffer.
12676         Reported by Eric Blake.
12677
12678 2011-05-19  Eric Blake  <eblake@redhat.com>
12679
12680         strerror_r: guarantee unchanged errno
12681         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
12682         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
12683         failure.
12684         * tests/test-strerror_r.c (main): Enhance test.
12685
12686 2011-05-19  Bruno Haible  <bruno@clisp.org>
12687
12688         strerror_r: Reorder #if blocks.
12689         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
12690         for consistency with the previous commit.
12691
12692 2011-05-19  Bruno Haible  <bruno@clisp.org>
12693
12694         perror: Avoid clobbering the strerror buffer when possible.
12695         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
12696         * lib/strerror.c: Include it.
12697         * modules/strerror (Files): Add lib/strerror-impl.h.
12698         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
12699         (my_strerror): New function, defined through lib/strerror-impl.h.
12700         (perror): Use it instead of strerror.
12701         * modules/perror (Files): Add lib/strerror-impl.h.
12702         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
12703
12704 2011-05-19  Eric Blake  <eblake@redhat.com>
12705
12706         strerror_r: fix on newer cygwin
12707         * lib/strerror_r.c (strerror_r): Cygwin now has
12708         __xpg_strerror_r, use it.
12709
12710 2011-05-19  Bruno Haible  <bruno@clisp.org>
12711
12712         strerror_r: Avoid clobbering the strerror buffer when possible.
12713         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
12714         (sys_nerr, sys_errlist): New declarations.
12715         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
12716         HP-UX, native Win32, IRIX, and 32-bit Solaris.
12717         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
12718
12719 2011-05-19  Bruno Haible  <bruno@clisp.org>
12720
12721         strerror_r: Fix test failure on mingw.
12722         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
12723         EXTEND_STRERROR_R.
12724         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
12725         macros from errno.in.h instead.
12726
12727 2011-05-19  Eric Blake  <eblake@redhat.com>
12728
12729         strerror: relax test for Solaris
12730         * tests/test-strerror.c (main): Permit Solaris behavior.
12731         * tests/test-strerror_r.c (main): Likewise.
12732
12733         strerror: enforce POSIX ruling on strerror(0)
12734         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
12735         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
12736         * lib/strerror_r.c (rpl_strerror_r): Work around it.
12737         * doc/posix-functions/strerror.texi (strerror): Document it.
12738         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
12739         * tests/test-strerror.c (main): Strengthen test.
12740         * tests/test-strerror_r.c (main): Likewise.
12741
12742 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
12743
12744         intprop-tests: port to older and more-pedantic compilers
12745         * modules/intprops-tests (Files): Add tests/macros.h.
12746         * tests/test-intprops.c: Include macros.h.
12747         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
12748         it's no longer documented to expand to an integer constant expression.
12749         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
12750         argument is floating point, as it's no longer documented to expand
12751         to an integer constant expression in that case.
12752         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
12753         compiler bugs reported by Bruno Haible.  See
12754         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
12755         (U0, U1): New constants, to work around the same bugs.  Also,
12756         in tests, use e.g., "(unsigned int) 39" rather than "39u".
12757
12758         intprops: work around C compiler bugs
12759         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
12760         bug in Sun C 5.11 2010/08/13 and other compilers; see
12761         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
12762
12763         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
12764         * doc/intprops.texi (Integer Type Determination): Fix
12765         documentation for TYPE_IS_INTEGER: it returns an constant
12766         expression, not an integer constant expression.  Fix doc for
12767         TYPE_SIGNED: it returns an integer constant expression only if its
12768         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
12769         hardly worth documented that way....)
12770
12771 2011-05-18  Bruno Haible  <bruno@clisp.org>
12772
12773         strerror_r: Avoid clobbering the strerror buffer when possible.
12774         * lib/strerror_r.c (strerror_r): Merge the three implementations.
12775         Handle gnulib defined errno values here. When strerror() returns NULL
12776         or an empty string, return EINVAL.
12777         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
12778         gnulib defined errno values here.
12779         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
12780
12781 2011-05-18  Eric Blake  <eblake@redhat.com>
12782
12783         fnmatch: avoid compiler warning
12784         * lib/fnmatch_loop.c (FCT): Use correct type.
12785         Reported by Matthias Bolte.
12786
12787 2011-05-13  Jim Meyering  <meyering@redhat.com>
12788
12789         maint.mk: three new prohibit_<HDR>_without_use rules
12790         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
12791         (sc_prohibit_stdio-safer_without_use): Likewise.
12792         (sc_prohibit_xfreopen_without_use): Likewise.
12793
12794 2011-05-17  Jim Meyering  <meyering@redhat.com>
12795
12796         announce-gen: fail if the NEWS delta is empty
12797         If there's nothing noteworthy in NEWS, then either you forgot
12798         or you shouldn't be releasing.
12799         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
12800
12801 2011-05-17  Pádraig Brady <P@draigBrady.com>
12802
12803         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
12804         reserved symbols starting with double underscore from the check.
12805
12806 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
12807
12808         intprops: add doc
12809         * doc/intprops.texi: New file, documenting intprops.
12810         * doc/gnulib.texi (Particular Modules): Include it.
12811
12812         verify: add doc to gnulib manual and fix example
12813         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
12814         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
12815         (Compile-time Assertions): Fix example so it can't overflow.
12816
12817 2011-05-17  Jim Meyering  <meyering@redhat.com>
12818
12819         warnings.m4: don't usurp save_CPPFLAGS variable name
12820         * m4/warnings.m4: Prefix local temporary variable name with gl_.
12821
12822         doc: fix typo
12823         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
12824
12825 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
12826             Bruno Haible  <bruno@clisp.org>
12827
12828         doc: Tweak recent change.
12829         * README (Portability guidelines): Tweak new text.
12830         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
12831         Interix 6.1.
12832
12833 2011-05-16  Eric Blake  <eblake@redhat.com>
12834
12835         inttypes: avoid autoconf warning
12836         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
12837         * m4/stdint.m4 (gl_STDINT_H): Likewise.
12838
12839 2011-05-16  Sam Steingold <sds@gnu.org>
12840         and Eric Blake  <eblake@redhat.com>
12841
12842         vc-list-files: accept multiple directory operands
12843         * build-aux/vc-list-files: Iterate over all remaining operands.
12844
12845 2011-05-16  Bruno Haible  <bruno@clisp.org>
12846
12847         Fix confusion regarding deprecated modules.
12848         * modules/calloc (Status, Notice): Mark module as deprecated, not
12849         obsolete.
12850         * modules/fnmatch-posix (Status, Notice): Likewise.
12851         * modules/getdate (Status, Notice): Likewise.
12852         * modules/getopt (Status, Notice): Likewise.
12853         * modules/malloc (Status, Notice): Likewise.
12854         * modules/pipe (Status, Notice): Likewise.
12855         * modules/realloc (Status, Notice): Likewise.
12856         * modules/rename-dest-slash (Status, Notice): Likewise.
12857         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
12858         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
12859         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
12860         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
12861         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
12862
12863 2011-05-16  Bruno Haible  <bruno@clisp.org>
12864
12865         doc: List the target platforms.
12866         * doc/gnulib-intro.texi (Target Platforms): New section.
12867         * doc/gnulib.texi (Introduction): Update menu.
12868         * README (Portability guidelines): Refer to the new section. Update
12869         statement about oldest supported environment. Remove rationale why
12870         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
12871         unportable C89 function.
12872         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
12873         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
12874
12875 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
12876
12877         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
12878
12879 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
12880
12881         intprops-tests: new module
12882         * modules/intprops-tests, tests/test-intprops.c: New files.
12883
12884         intprops: add safe, portable integer overflow checking
12885         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
12886         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
12887         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
12888         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
12889         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
12890         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
12891         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
12892         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
12893         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
12894         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
12895         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
12896
12897 2011-05-12  James Youngman  <jay@gnu.org>
12898
12899         Add a test for glibc's Bugzilla bug #12378.
12900         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
12901         doesn't allow the literal matching of a lone "[" (which is
12902         required by POSIX).
12903         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
12904
12905 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
12906
12907         Sync glibc change fixing Bugzilla bug #12378.
12908         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
12909         beginning and fall back to matching as normal character if the
12910         string ends before the matching ']' is found.  This is what POSIX
12911         requires.
12912
12913 2011-05-13  Eric Blake  <eblake@redhat.com>
12914
12915         getcwd-lgpl: relax test for FreeBSD
12916         * doc/posix-functions/getcwd.texi (getcwd): Document portability
12917         issue.
12918         * tests/test-getcwd-lgpl.c (main): Relax test.
12919         Reported by Matthias Bolte.
12920
12921 2011-05-11  Eric Blake  <eblake@redhat.com>
12922
12923         test-fflush: silence compiler warning
12924         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
12925
12926 2011-05-11  Bruno Haible  <bruno@clisp.org>
12927
12928         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
12929         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
12930         * modules/canonicalize (Depends-on): Add 'nocrash'.
12931         * modules/canonicalize-lgpl (Depends-on): Likewise.
12932         * doc/posix-functions/realpath.texi: Update platforms list.
12933         Reported by Ryan Schmidt <ryandesign@macports.org>.
12934
12935 2011-05-11  Bruno Haible  <bruno@clisp.org>
12936
12937         group-member: Declare function in <unistd.h>.
12938         * lib/unistd.in.h (group_member): New declaration.
12939         * lib/group-member.h: Remove file.
12940         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
12941         * tests/test-unistd-c++.cc: Check signature of group_member.
12942         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
12943         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
12944         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
12945         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
12946         HAVE_GROUP_MEMBER.
12947         * modules/group-member (Files): Remove lib/group-member.h.
12948         (Depends-on): Add unistd. Specify conditions.
12949         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
12950         (Include): Change to <unistd.h>.
12951         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
12952         HAVE_GROUP_MEMBER.
12953         * NEWS: Mention the change.
12954         * lib/euidaccess.c: Don't include group-member.h.
12955
12956 2011-05-11  Bruno Haible  <bruno@clisp.org>
12957
12958         group-member: Document module.
12959         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
12960         module.
12961
12962 2011-05-11  Bruno Haible  <bruno@clisp.org>
12963
12964         fclose: Fix mistake earlier today.
12965         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
12966
12967 2011-05-11  Eric Blake  <eblake@redhat.com>
12968
12969         fclose: preserve fflush errors
12970         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
12971         Reported by Jim Meyering.
12972
12973         bootstrap: support a prereq of 'rpcgen -' on RHEL5
12974         * build-aux/bootstrap (check_versions): When no specific version
12975         is required, merely check that the app produces an exit status
12976         that indicates its existence.
12977
12978         maint.mk: drop redundant check
12979         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
12980         the same but better.
12981
12982 2011-05-11  Bruno Haible  <bruno@clisp.org>
12983
12984         fclose: Fix possible link error.
12985         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
12986         unregister_shadow_fd. Improve comments.
12987         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
12988         Eric Blake.
12989
12990 2011-05-11  Jim Meyering  <meyering@redhat.com>
12991
12992         maint.mk: improve "can not" detection and generalize rule name
12993         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
12994         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
12995         Use the same technique as in sc_prohibit_doubled_word, so that
12996         we recognize "can not" also when the words are separated by a newline.
12997         Suggested by Eric Blake.
12998         (perl_filename_lineno_text_): Define.  Factored out of...
12999         (prohibit_doubled_word_): ...here.  Use the new definition.
13000         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
13001         (prohibit_undesirable_word_seq_RE_): New overridable variable.
13002         (ignore_undesirable_word_sequence_RE_): New overridable variable.
13003
13004 2011-05-10  Eric Blake  <eblake@redhat.com>
13005
13006         fclose: avoid double close race when possible
13007         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
13008         all but WINDOWS_SOCKETS.
13009
13010 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
13011
13012         openat: correct new comment
13013         * lib/openat-proc.c (openat_proc_name): Correct the comment.
13014
13015 2011-05-10  Jim Meyering  <meyering@redhat.com>
13016
13017         openat: add comments
13018         * lib/openat-proc.c (openat_proc_name): Add comments,
13019         mostly from Eric Blake.
13020
13021 2011-05-09  Eric Blake  <eblake@redhat.com>
13022
13023         openat: reduce syscalls in first probe of /proc
13024         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
13025         be a directory.  Simplify the probe for .. bugs.
13026         * modules/openat (Depends-on): Drop same-inode.
13027         Reported by Bastien ROUCARIES.
13028
13029 2011-05-09  Jim Meyering  <meyering@redhat.com>
13030
13031         maint.mk: change semantics/name of tight_scope variables
13032         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
13033         Rename variables to align with semantics that make them more useful.
13034
13035         maint.mk: tweak new rule's name not to impinge
13036         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
13037         (sc_tight_scope): Use new rule name rather than $@-0.
13038
13039         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
13040         * top/maint.mk (sc_tight_scope): New rule.
13041         (sc_tight_scope-0): New rule, ifdef'd out.
13042         (_gl_TS_dir): Default.
13043         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
13044         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
13045
13046 2011-05-09  Simon Josefsson  <simon@josefsson.org>
13047
13048         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
13049         Haible <bruno@clisp.org>.
13050
13051 2011-05-08  Bruno Haible  <bruno@clisp.org>
13052
13053         Comments.
13054         * m4/isnanf.m4: Add comment.
13055         * m4/isnanl.m4: Likewise.
13056
13057 2011-05-08  Bruno Haible  <bruno@clisp.org>
13058
13059         glob: Remove obsolete macro.
13060         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
13061
13062 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
13063
13064         intprops: Sun C 5.11 supports __typeof__
13065         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
13066         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
13067         which is new.
13068         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
13069
13070         intprops: switch to usual gnulib indenting and naming
13071         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
13072         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
13073
13074         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
13075
13076 2011-05-08  Jim Meyering  <meyering@redhat.com>
13077
13078         maint.mk: suppress "Entering/Leaving directory" diag in announcement
13079         * top/maint.mk (release-prep): Use make's --no-print-directory
13080         option when generating the announcement.  This eliminates the
13081         pesky "make[2]: Entering/Leaving directory" diagnostics in the
13082         generated announcement template.
13083
13084 2011-05-08  Bruno Haible  <bruno@clisp.org>
13085
13086         tzset: Fix gettimeofday wrapper on Solaris 2.6.
13087         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
13088         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
13089
13090 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
13091
13092         ignore-value, verify: Omit include files from lib_SOURCES.
13093         * modules/ignore-value, modules/verify (Makefile.am):
13094         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
13095         that leads Automake to duplicate use of am__objects_... variables
13096         in Makefile.in.  See
13097         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
13098
13099 2011-05-07  Bruno Haible  <bruno@clisp.org>
13100
13101         fclose: Simplify autoconf macro.
13102         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
13103         defined.
13104
13105 2011-05-07  Bruno Haible  <bruno@clisp.org>
13106
13107         canonicalize-lgpl: Fix autoconf macro ordering bug.
13108         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
13109         gl_STDLIB_H_DEFAULTS.
13110
13111 2011-05-06  Eric Blake  <eblake@redhat.com>
13112
13113         maintainer-makefile: make sc_po_check easier to tune
13114         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
13115         to probe for strings, such as an alternate location for gnulib.
13116
13117         fclose: guarantee behavior on seekable stdin
13118         * modules/fclose (Depends-on): Add fflush.
13119         * doc/posix-functions/fclose.texi (fclose): Document this.
13120         * tests/test-fclose.c (main): Make test for this unconditional.
13121
13122 2011-05-06  Bruno Haible  <bruno@clisp.org>
13123
13124         fflush, fpurge: Relicense under LGPLv2+.
13125         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
13126         * modules/fpurge (License): Likewise.
13127         With permission from Eric Blake and Jim Meyering.
13128         Suggested by Eric Blake.
13129
13130 2011-05-06  Karl Berry  <karl@gnu.org>
13131
13132         * MODULES.html.sh (func_all_modules): remove exit.
13133
13134 2011-05-06  Jim Meyering  <meyering@redhat.com>
13135
13136         maint.mk: use info-gnu@ as the default only for a stable release
13137         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
13138         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
13139         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
13140         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
13141
13142 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
13143
13144         assert-h: new module, which supports C1X-style static_assert
13145         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
13146         * lib/verify.h: Revamp so that this can be copied into assert.h,
13147         while retaining the ability to use it standalone as before.
13148         Rename private identifiers so as not to encroach on the
13149         standard C namespace, since this is now used by assert.h.
13150         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
13151         the old verify_true.
13152         (_GL_VERIFY_TRUE): New macro, with much of the contents of
13153         the old verify_true.  Use _GL_VERIFY_TYPE.
13154         (_GL_VERIFY): New macro, with much of the contents of the old verify.
13155         (static_assert): New macro, if _GL_STATIC_ASSERT_H
13156         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
13157         defined when this file is copied into the replacement assert.h.
13158         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
13159         and _Static_assert is not built in.
13160         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
13161         defined, and use the new macros mentioned above.
13162         * doc/posix-headers/assert.texi: Document this.
13163
13164 2011-05-05  Bruno Haible  <bruno@clisp.org>
13165
13166         fclose, fflush: Respect rules for use of AC_LIBOBJ.
13167         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
13168         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
13169         gl_REPLACE_FCLOSE here.
13170         * modules/fflush (Depends-on): Remove fclose.
13171         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
13172         combination with module 'fclose'.
13173
13174 2011-05-05  Bruno Haible  <bruno@clisp.org>
13175
13176         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
13177         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
13178         gl_FUNC_FFLUSH.
13179         (gl_FUNC_FFLUSH): Use it.
13180         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
13181         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
13182         gl_REPLACE_FSEEKO here.
13183
13184 2011-05-05  Bruno Haible  <bruno@clisp.org>
13185
13186         tzset: Relicense under LGPL.
13187         * modules/tzset (License): Change to LGPL.
13188         No agreement needed; it's a no-op.
13189
13190         strtoimax, strtoumax: Relicense under LGPL.
13191         * modules/strtoimax (License): Change to LGPL.
13192         * modules/strtoumax (License): Likewise.
13193         With permission from Jim Meyering, Paul Eggert:
13194         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
13195         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
13196
13197         getgroups: Relicense under LGPL.
13198         * modules/getgroups (License): Change to LGPL.
13199         With permission from Jim Meyering, Paul Eggert, Eric Blake:
13200         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
13201         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
13202         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13203
13204         nanosleep: Relicense under LGPL.
13205         * modules/nanosleep (License): Change to LGPL.
13206         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
13207         Haible:
13208         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
13209         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
13210         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13211         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
13212
13213         futimens: Relicense under LGPL.
13214         * modules/futimens (License): Change to LGPL.
13215         With permission from Eric Blake:
13216         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13217
13218         fflush: Relicense under LGPL.
13219         * modules/fflush (License): Change to LGPL.
13220         With permission from Eric Blake, Bruno Haible, Jim Meyering:
13221         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13222         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
13223         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
13224
13225         tmpfile: Relicense under LGPL.
13226         * modules/tmpfile (License): Change to LGPL.
13227         With permission from Ben Pfaff:
13228         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
13229
13230         isfinite: Relicense under LGPL.
13231         * modules/isfinite (License): Change to LGPL.
13232         With permission from Ben Pfaff, Bruno Haible:
13233         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
13234         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
13235
13236         acosl..tanl: Relicense under LGPL.
13237         * modules/acosl (License): Change to LGPL.
13238         * modules/asinl (License): Likewise.
13239         * modules/atanl (License): Likewise.
13240         * modules/cosl (License): Likewise.
13241         * modules/expl (License): Likewise.
13242         * modules/logl (License): Likewise.
13243         * modules/sinl (License): Likewise.
13244         * modules/sqrtl (License): Likewise.
13245         * modules/tanl (License): Likewise.
13246         Source code originally from glibc and Paolo Bonzini. Agreements:
13247         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
13248         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
13249
13250 2011-05-05  Bruno Haible  <bruno@clisp.org>
13251
13252         signal: Define sighandler_t.
13253         * lib/signal.in.h (sighandler_t): New type.
13254         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
13255         whether sighandler_t is defined.
13256         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
13257         * modules/signal (Depends-on): Add extensions.
13258         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
13259         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
13260         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
13261
13262 2011-05-05  Eric Blake  <eblake@redhat.com>
13263
13264         maint: remove useless REPLACE_*_H macros
13265         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
13266         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
13267         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
13268         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
13269         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
13270         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
13271         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
13272         * m4/btowc.m4: Update callers.
13273         * m4/dirfd.m4: Likewise.
13274         * m4/duplocale.m4: Likewise.
13275         * m4/fchdir.m4: Likewise.
13276         * m4/fdopendir.m4: Likewise.
13277         * m4/inet_ntop.m4: Likewise.
13278         * m4/inet_pton.m4: Likewise.
13279         * m4/ioctl.m4: Likewise.
13280         * m4/mbrlen.m4: Likewise.
13281         * m4/mbrtowc.m4: Likewise.
13282         * m4/mbsinit.m4: Likewise.
13283         * m4/mbsnrtowcs.m4: Likewise.
13284         * m4/mbsrtowcs.m4: Likewise.
13285         * m4/poll.m4: Likewise.
13286         * m4/setlocale.m4: Likewise.
13287         * m4/wcrtomb.m4: Likewise.
13288         * m4/wcsnrtombs.m4: Likewise.
13289         * m4/wcsrtombs.m4: Likewise.
13290         * m4/wctob.m4: Likewise.
13291         * m4/wcwidth.m4: Likewise.
13292         * modules/posix_spawn: Likewise.
13293         * modules/posix_spawn_file_actions_addclose: Likewise.
13294         * modules/posix_spawn_file_actions_adddup2: Likewise.
13295         * modules/posix_spawn_file_actions_addopen: Likewise.
13296         * modules/posix_spawn_file_actions_destroy: Likewise.
13297         * modules/posix_spawn_file_actions_init: Likewise.
13298         * modules/posix_spawnattr_destroy: Likewise.
13299         * modules/posix_spawnattr_getflags: Likewise.
13300         * modules/posix_spawnattr_getpgroup: Likewise.
13301         * modules/posix_spawnattr_getschedparam: Likewise.
13302         * modules/posix_spawnattr_getschedpolicy: Likewise.
13303         * modules/posix_spawnattr_getsigdefault: Likewise.
13304         * modules/posix_spawnattr_getsigmask: Likewise.
13305         * modules/posix_spawnattr_init: Likewise.
13306         * modules/posix_spawnattr_setflags: Likewise.
13307         * modules/posix_spawnattr_setpgroup: Likewise.
13308         * modules/posix_spawnattr_setschedparam: Likewise.
13309         * modules/posix_spawnattr_setschedpolicy: Likewise.
13310         * modules/posix_spawnattr_setsigdefault: Likewise.
13311         * modules/posix_spawnattr_setsigmask: Likewise.
13312         * modules/posix_spawnp: Likewise.
13313
13314 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
13315
13316         Add option to do-release-commit-and-tag to specify branch.
13317         * build-aux/do-release-commit-and-tag: Add --branch.
13318
13319 2011-05-03  Bruno Haible  <bruno@clisp.org>
13320
13321         Avoid unnecessary compilation units, through conditional dependencies.
13322         * modules/accept (Depends-on): Add conditions to the dependencies.
13323         * modules/acosl (Depends-on): Likewise.
13324         * modules/argz (Depends-on): Likewise.
13325         * modules/asinl (Depends-on): Likewise.
13326         * modules/atanl (Depends-on): Likewise.
13327         * modules/atoll (Depends-on): Likewise.
13328         * modules/bind (Depends-on): Likewise.
13329         * modules/btowc (Depends-on): Likewise.
13330         * modules/canonicalize-lgpl (Depends-on): Likewise.
13331         * modules/ceil (Depends-on): Likewise.
13332         * modules/ceilf (Depends-on): Likewise.
13333         * modules/ceill (Depends-on): Likewise.
13334         * modules/chdir-long (Depends-on): Likewise.
13335         * modules/chown (Depends-on): Likewise.
13336         * modules/close (Depends-on): Likewise.
13337         * modules/connect (Depends-on): Likewise.
13338         * modules/cosl (Depends-on): Likewise.
13339         * modules/dirfd (Depends-on): Likewise.
13340         * modules/dprintf (Depends-on): Likewise.
13341         * modules/dprintf-posix (Depends-on): Likewise.
13342         * modules/error (Depends-on): Likewise.
13343         * modules/euidaccess (Depends-on): Likewise.
13344         * modules/expl (Depends-on): Likewise.
13345         * modules/faccessat (Depends-on): Likewise.
13346         * modules/fchdir (Depends-on): Likewise.
13347         * modules/fclose (Depends-on): Likewise.
13348         * modules/fcntl (Depends-on): Likewise.
13349         * modules/fdopendir (Depends-on): Likewise.
13350         * modules/fflush (Depends-on): Likewise.
13351         * modules/floor (Depends-on): Likewise.
13352         * modules/floorf (Depends-on): Likewise.
13353         * modules/floorl (Depends-on): Likewise.
13354         * modules/fnmatch (Depends-on): Likewise.
13355         * modules/fopen (Depends-on): Likewise.
13356         * modules/fprintf-posix (Depends-on): Likewise.
13357         * modules/frexp (Depends-on): Likewise.
13358         * modules/frexp-nolibm (Depends-on): Likewise.
13359         * modules/frexpl (Depends-on): Likewise.
13360         * modules/frexpl-nolibm (Depends-on): Likewise.
13361         * modules/fseek (Depends-on): Likewise.
13362         * modules/fsusage (Depends-on): Likewise.
13363         * modules/ftell (Depends-on): Likewise.
13364         * modules/ftello (Depends-on): Likewise.
13365         * modules/futimens (Depends-on): Likewise.
13366         * modules/getcwd (Depends-on): Likewise.
13367         * modules/getcwd-lgpl (Depends-on): Likewise.
13368         * modules/getdelim (Depends-on): Likewise.
13369         * modules/getdomainname (Depends-on): Likewise.
13370         * modules/getgroups (Depends-on): Likewise.
13371         * modules/gethostname (Depends-on): Likewise.
13372         * modules/getline (Depends-on): Likewise.
13373         * modules/getlogin_r (Depends-on): Likewise.
13374         * modules/getopt-posix (Depends-on): Likewise.
13375         * modules/getpeername (Depends-on): Likewise.
13376         * modules/getsockname (Depends-on): Likewise.
13377         * modules/getsockopt (Depends-on): Likewise.
13378         * modules/getsubopt (Depends-on): Likewise.
13379         * modules/getusershell (Depends-on): Likewise.
13380         * modules/glob (Depends-on): Likewise.
13381         * modules/grantpt (Depends-on): Likewise.
13382         * modules/iconv_open (Depends-on): Likewise.
13383         * modules/iconv_open-utf (Depends-on): Likewise.
13384         * modules/inet_ntop (Depends-on): Likewise.
13385         * modules/inet_pton (Depends-on): Likewise.
13386         * modules/ioctl (Depends-on): Likewise.
13387         * modules/isapipe (Depends-on): Likewise.
13388         * modules/isfinite (Depends-on): Likewise.
13389         * modules/isinf (Depends-on): Likewise.
13390         * modules/lchown (Depends-on): Likewise.
13391         * modules/ldexpl (Depends-on): Likewise.
13392         * modules/link (Depends-on): Likewise.
13393         * modules/linkat (Depends-on): Likewise.
13394         * modules/listen (Depends-on): Likewise.
13395         * modules/logl (Depends-on): Likewise.
13396         * modules/lstat (Depends-on): Likewise.
13397         * modules/mbrlen (Depends-on): Likewise.
13398         * modules/mbrtowc (Depends-on): Likewise.
13399         * modules/mbsinit (Depends-on): Likewise.
13400         * modules/mbsnrtowcs (Depends-on): Likewise.
13401         * modules/mbsrtowcs (Depends-on): Likewise.
13402         * modules/mbtowc (Depends-on): Likewise.
13403         * modules/memcmp (Depends-on): Likewise.
13404         * modules/mkdir (Depends-on): Likewise.
13405         * modules/mkdtemp (Depends-on): Likewise.
13406         * modules/mkfifo (Depends-on): Likewise.
13407         * modules/mkfifoat (Depends-on): Likewise.
13408         * modules/mknod (Depends-on): Likewise.
13409         * modules/mkostemp (Depends-on): Likewise.
13410         * modules/mkostemps (Depends-on): Likewise.
13411         * modules/mkstemp (Depends-on): Likewise.
13412         * modules/mkstemps (Depends-on): Likewise.
13413         * modules/mktime (Depends-on): Likewise.
13414         * modules/nanosleep (Depends-on): Likewise.
13415         * modules/open (Depends-on): Likewise.
13416         * modules/openat (Depends-on): Likewise.
13417         * modules/perror (Depends-on): Likewise.
13418         * modules/poll (Depends-on): Likewise.
13419         * modules/popen (Depends-on): Likewise.
13420         * modules/posix_spawn (Depends-on): Likewise.
13421         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
13422         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
13423         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
13424         * modules/posix_spawnp (Depends-on): Likewise.
13425         * modules/pread (Depends-on): Likewise.
13426         * modules/printf-posix (Depends-on): Likewise.
13427         * modules/ptsname (Depends-on): Likewise.
13428         * modules/putenv (Depends-on): Likewise.
13429         * modules/pwrite (Depends-on): Likewise.
13430         * modules/readline (Depends-on): Likewise.
13431         * modules/readlink (Depends-on): Likewise.
13432         * modules/readlinkat (Depends-on): Likewise.
13433         * modules/recv (Depends-on): Likewise.
13434         * modules/recvfrom (Depends-on): Likewise.
13435         * modules/regex (Depends-on): Likewise.
13436         * modules/remove (Depends-on): Likewise.
13437         * modules/rename (Depends-on): Likewise.
13438         * modules/renameat (Depends-on): Likewise.
13439         * modules/rmdir (Depends-on): Likewise.
13440         * modules/round (Depends-on): Likewise.
13441         * modules/roundf (Depends-on): Likewise.
13442         * modules/roundl (Depends-on): Likewise.
13443         * modules/rpmatch (Depends-on): Likewise.
13444         * modules/select (Depends-on): Likewise.
13445         * modules/send (Depends-on): Likewise.
13446         * modules/sendto (Depends-on): Likewise.
13447         * modules/setenv (Depends-on): Likewise.
13448         * modules/setlocale (Depends-on): Likewise.
13449         * modules/setsockopt (Depends-on): Likewise.
13450         * modules/shutdown (Depends-on): Likewise.
13451         * modules/sigaction (Depends-on): Likewise.
13452         * modules/signbit (Depends-on): Likewise.
13453         * modules/sigprocmask (Depends-on): Likewise.
13454         * modules/sinl (Depends-on): Likewise.
13455         * modules/sleep (Depends-on): Likewise.
13456         * modules/snprintf (Depends-on): Likewise.
13457         * modules/snprintf-posix (Depends-on): Likewise.
13458         * modules/socket (Depends-on): Likewise.
13459         * modules/sprintf-posix (Depends-on): Likewise.
13460         * modules/sqrtl (Depends-on): Likewise.
13461         * modules/stat (Depends-on): Likewise.
13462         * modules/strchrnul (Depends-on): Likewise.
13463         * modules/strdup-posix (Depends-on): Likewise.
13464         * modules/strerror (Depends-on): Likewise.
13465         * modules/strerror_r-posix (Depends-on): Likewise.
13466         * modules/strndup (Depends-on): Likewise.
13467         * modules/strnlen (Depends-on): Likewise.
13468         * modules/strptime (Depends-on): Likewise.
13469         * modules/strsep (Depends-on): Likewise.
13470         * modules/strsignal (Depends-on): Likewise.
13471         * modules/strstr-simple (Depends-on): Likewise.
13472         * modules/strtod (Depends-on): Likewise.
13473         * modules/strtoimax (Depends-on): Likewise.
13474         * modules/strtok_r (Depends-on): Likewise.
13475         * modules/strtoumax (Depends-on): Likewise.
13476         * modules/symlink (Depends-on): Likewise.
13477         * modules/symlinkat (Depends-on): Likewise.
13478         * modules/tanl (Depends-on): Likewise.
13479         * modules/tcgetsid (Depends-on): Likewise.
13480         * modules/tmpfile (Depends-on): Likewise.
13481         * modules/trunc (Depends-on): Likewise.
13482         * modules/truncf (Depends-on): Likewise.
13483         * modules/truncl (Depends-on): Likewise.
13484         * modules/uname (Depends-on): Likewise.
13485         * modules/unlink (Depends-on): Likewise.
13486         * modules/unlockpt (Depends-on): Likewise.
13487         * modules/unsetenv (Depends-on): Likewise.
13488         * modules/usleep (Depends-on): Likewise.
13489         * modules/utimensat (Depends-on): Likewise.
13490         * modules/vasprintf (Depends-on): Likewise.
13491         * modules/vdprintf (Depends-on): Likewise.
13492         * modules/vdprintf-posix (Depends-on): Likewise.
13493         * modules/vfprintf-posix (Depends-on): Likewise.
13494         * modules/vprintf-posix (Depends-on): Likewise.
13495         * modules/vsnprintf (Depends-on): Likewise.
13496         * modules/vsnprintf-posix (Depends-on): Likewise.
13497         * modules/vsprintf-posix (Depends-on): Likewise.
13498         * modules/wcrtomb (Depends-on): Likewise.
13499         * modules/wcscasecmp (Depends-on): Likewise.
13500         * modules/wcscspn (Depends-on): Likewise.
13501         * modules/wcsdup (Depends-on): Likewise.
13502         * modules/wcsncasecmp (Depends-on): Likewise.
13503         * modules/wcsnrtombs (Depends-on): Likewise.
13504         * modules/wcspbrk (Depends-on): Likewise.
13505         * modules/wcsrtombs (Depends-on): Likewise.
13506         * modules/wcsspn (Depends-on): Likewise.
13507         * modules/wcsstr (Depends-on): Likewise.
13508         * modules/wcstok (Depends-on): Likewise.
13509         * modules/wcswidth (Depends-on): Likewise.
13510         * modules/wctob (Depends-on): Likewise.
13511         * modules/wctomb (Depends-on): Likewise.
13512         * modules/wctype (Depends-on): Likewise.
13513         * modules/wcwidth (Depends-on): Likewise.
13514         * modules/write (Depends-on): Likewise.
13515
13516 2011-05-03  Bruno Haible  <bruno@clisp.org>
13517
13518         Support for conditional dependencies.
13519         * doc/gnulib.texi (Module description): Document the syntax of
13520         conditional dependencies.
13521         * gnulib-tool: New option --conditional-dependencies.
13522         (func_usage): Document it.
13523         (cond_dependencies): New variable.
13524         (func_get_automake_snippet_conditional,
13525         func_get_automake_snippet_unconditional): New functions, extracted from
13526         func_get_automake_snippet.
13527         (func_get_automake_snippet): Use them.
13528         (sed_first_32_chars): New variable.
13529         (func_module_shellfunc_name): New function.
13530         (func_module_shellvar_name): New function.
13531         (func_module_conditional_name): New function.
13532         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
13533         func_cond_module_condition): New functions.
13534         (func_modules_transitive_closure): Add support for conditional
13535         dependencies.
13536         (func_emit_lib_Makefile_am): For a conditional module, enclose the
13537         conditional automake snippet in an automake conditional.
13538         (func_emit_autoconf_snippets): Emit shell functions that contain the
13539         code for conditional modules.
13540         (func_import, func_create_testdir): Update specification.
13541
13542 2011-05-03  Eric Blake  <eblake@redhat.com>
13543
13544         test-getaddrinfo: report error information
13545         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
13546
13547 2011-05-03  Jim Meyering  <meyering@redhat.com>
13548
13549         bootstrap: avoid build failure when $GZIP is set
13550         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
13551         program name.  If defined at all, it is supposed to list gzip options.
13552         Reported by Alan Curry in http://debbugs.gnu.org/8609
13553
13554 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
13555
13556         readme-release: new module with release instructions
13557         * modules/readme-release: New module.
13558         * top/README-release: New file, from coreutils, grep, diffutils.
13559         * MODULES.html.sh (Support for maintaining and releasing): Add it.
13560
13561 2011-05-02  Eric Blake  <eblake@redhat.com>
13562
13563         fflush: also replace fclose when fixing fflush
13564         * modules/fflush (Depends-on): Add fclose.
13565         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
13566         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
13567         memstreams with no backing fd.
13568         * doc/posix-functions/fclose.texi (fclose): Document the use of
13569         fflush module to fix the bug.
13570         * tests/test-fclose.c (main): Relax test when fclose is used in
13571         isolation.
13572
13573         fclose: add some tests
13574         * modules/fclose-tests: New test module.
13575         * tests/test-fclose.c: New file.
13576         * doc/posix-functions/fclose.texi (fclose): Document the bug.
13577
13578         fclose: reduced dependencies
13579         * modules/fclose (Depends-on): Switch from fflush/fseeko to
13580         simpler lseek.
13581         * lib/fclose.c (rpl_fclose): Likewise.
13582         Reported by Simon Josefsson.
13583
13584         exit: drop remaining clients
13585         * modules/argmatch (Depends-on): Replace exit with stdlib.
13586         * modules/copy-file (Depends-on): Likewise.
13587         * modules/execute (Depends-on): Likewise.
13588         * modules/exitfail (Depends-on): Likewise.
13589         * modules/obstack (Depends-on): Likewise.
13590         * modules/pagealign_alloc (Depends-on): Likewise.
13591         * modules/pipe-filter-gi (Depends-on): Likewise.
13592         * modules/pipe-filter-ii (Depends-on): Likewise.
13593         * modules/savewd (Depends-on): Likewise.
13594         * modules/spawn-pipe (Depends-on): Likewise.
13595         * modules/wait-process (Depends-on): Likewise.
13596         * modules/xsetenv (Depends-on): Likewise.
13597         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
13598         * modules/git-merge-changelog (Depends-on): Likewise.
13599         * modules/long-options (Depends-on): Likewise.
13600         * modules/pt_chown (Depends-on): Likewise.
13601         * modules/sysexits (Depends-on): Likewise.
13602
13603         freading: relax license from LGPLv3+ to LGPLv2+
13604         * modules/freading (License): Relax LGPL version.
13605
13606 2011-05-02  Bruno Haible  <bruno@clisp.org>
13607
13608         fchdir: Remove unused dependencies.
13609         * modules/fchdir (Depends-on): Remove include_next.
13610
13611 2011-05-02  Bruno Haible  <bruno@clisp.org>
13612
13613         gnulib-tool: Refactor.
13614         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
13615         from func_emit_autoconf_snippets.
13616         (func_emit_autoconf_snippets): Use it.
13617
13618 2011-05-02  Simon Josefsson  <simon@josefsson.org>
13619
13620         * NEWS: Document removal of 'exit'.
13621         * modules/exit: Remove file.
13622
13623 2011-05-01  Bruno Haible  <bruno@clisp.org>
13624
13625         Update DEPENDENCIES.
13626         * DEPENDENCIES (gettext): Recommend the newest release.
13627         Reported by Simon Josefsson.
13628
13629 2011-05-01  Bruno Haible  <bruno@clisp.org>
13630
13631         gnulib-tool: Reduce code duplication.
13632         * gnulib-tool (func_emit_autoconf_snippets): New function.
13633         (func_import, func_create_testdir): Use it.
13634
13635 2011-04-30  Eric Blake  <eblake@redhat.com>
13636
13637         fclose: don't fail on non-seekable input stream
13638         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
13639         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
13640         since fflush is allowed to fail in that case.
13641
13642 2011-04-30  Bruno Haible  <bruno@clisp.org>
13643
13644         dup3: cleanup
13645         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
13646
13647 2011-04-30  Bruno Haible  <bruno@clisp.org>
13648
13649         netdb: Make it work in C++ mode.
13650         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
13651         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
13652         module.
13653         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
13654         gl_MODULE_INDICATOR_FOR_TESTS.
13655         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
13656         * modules/netdb-c++-tests: New file.
13657         * tests/test-netdb-c++.cc: New file.
13658
13659 2011-04-30  Bruno Haible  <bruno@clisp.org>
13660
13661         New modules 'vfscanf', 'vscanf'.
13662         * modules/vfscanf: New file.
13663         * modules/vscanf: New file.
13664         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
13665         here.
13666         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
13667         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
13668
13669 2011-04-30  Bruno Haible  <bruno@clisp.org>
13670
13671         passfd: Add comments.
13672         * lib/passfd.c: Add comments about platforms.
13673
13674 2011-04-30  Bruno Haible  <bruno@clisp.org>
13675
13676         sys_uio: Make <sys/uio.h> self-contained.
13677         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
13678         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
13679
13680 2011-04-30  Bruno Haible  <bruno@clisp.org>
13681
13682         sys_socket: Ensure 'struct iovec' definition.
13683         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
13684         <sys/socket.h>.
13685         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
13686
13687 2011-04-30  Bruno Haible  <bruno@clisp.org>
13688
13689         sys_uio: Protect definition of 'struct iovec'.
13690         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
13691         it as a C struct.
13692
13693 2011-04-30  Bruno Haible  <bruno@clisp.org>
13694
13695         manywarnings: fix indentation
13696         * m4/manywarnings.m4: Indent by 2 spaces consistently.
13697
13698 2011-04-30  Pádraig Brady <P@draigBrady.com>
13699
13700         manywarnings: add -Wno-missing-field-initializers if needed.
13701         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
13702         option if it's needed to allow initialization with { 0, }
13703
13704 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
13705
13706         announce-gen: cosmetic improvement
13707         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
13708
13709 2011-04-29  Jim Meyering  <meyering@redhat.com>
13710
13711         vc-list-files: indent with spaces, not TABs
13712         * build-aux/vc-list-files: Convert leading TABs to spaces,
13713         to match the style of most other files in gnulib.
13714
13715         announce-gen: indent with spaces, not TABs
13716         * build-aux/announce-gen: Convert all TABs to spaces, to match
13717         the style of most other files in gnulib.
13718
13719 2011-04-29  Eric Blake  <eblake@redhat.com>
13720
13721         quotearg: avoid uninitialized variable use
13722         * lib/quotearg.c (quoting_options_from_style): Initialize
13723         remaining fields, and ensure that custom styles are only used via
13724         quoting_options rather than quoting_style.
13725
13726 2011-04-29  Jim Meyering  <meyering@redhat.com>
13727
13728         maint.mk: remove unused VC-tag variable
13729         * top/maint.mk (VC-tag): Remove unused variable.
13730
13731 2011-04-29  Bruno Haible  <bruno@clisp.org>
13732
13733         netdb: fix gai_strerror replacements
13734         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
13735         * modules/netdb: Substitute it.
13736
13737 2011-04-29  Jim Meyering  <meyering@redhat.com>
13738
13739         test-getcwd.c: avoid new set-but-not-used warning
13740         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
13741         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
13742         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
13743         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
13744
13745         test-hash.c: avoid a new shadowing warning
13746         * tests/test-hash.c (main): Don't shadow "dup".
13747
13748 2011-04-28  Eric Blake  <eblake@redhat.com>
13749
13750         getaddrinfo: fix gai_strerror signature
13751         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
13752         and work around mingw with UNICODE defined.
13753         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
13754         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
13755         * modules/netdb (Makefile.am): Substitute it.
13756         * lib/netdb.in.h (gai_strerror): Declare replacement.
13757         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
13758         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
13759         the fix.
13760
13761         getsockopt: avoid compiler warning
13762         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
13763         Reported by Matthias Bolte.
13764
13765         tests: drop unused link dependency
13766         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
13767         * modules/dirent-safer-tests (Makefile.am): Likewise.
13768         * modules/fdopendir-tests (Makefile.am): Likewise.
13769         * modules/mkfifoat-tests (Makefile.am): Likewise.
13770         * modules/openat-safer-tests (Makefile.am): Likewise.
13771         * modules/openat-tests (Makefile.am): Likewise.
13772         * modules/readlinkat-tests (Makefile.am): Likewise.
13773         * modules/symlinkat-tests (Makefile.am): Likewise.
13774         * modules/linkat-tests (Makefile.am): Likewise.
13775         (Depends-on): Switch to filenamecat-lgpl.
13776         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
13777         LIBINTL.
13778         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
13779         * tests/test-linkat.c (main): Don't require xalloc.
13780
13781         hash, mgetgroups: drop xalloc dependency
13782         * lib/hash.c (includes): Adjust includes.
13783         * lib/mgetgroups.c (includes): Likewise.
13784         (xgetgroups): Move...
13785         * lib/xgetgroups.c: ...to new file.
13786         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
13787         * modules/xgetgroups: New file, split from...
13788         * modules/mgetgroups: ...here.
13789         (Depends-on): Add xalloc-oversized.
13790         * modules/hash (Depends-on): Likewise.
13791         * modules/hash-tests (Depends-on): Drop xalloc.
13792         (test_hash_LDADD): Drop unused library.
13793         * tests/test-hash.c (main): Break xalloc dependency.
13794         (includes): Drop unused include.
13795
13796         xalloc-oversized: new module
13797         * modules/xalloc-oversized: New module.
13798         * modules/xalloc (Depends-on): Add it.
13799         * lib/xalloc.h (xalloc_oversized): Move...
13800         * lib/xalloc-oversized.h: ...into new file.
13801
13802         utimecmp: drop dependency on xmalloc
13803         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
13804         due to memory pressure.
13805         * modules/utimecmp (Depends-on): Drop xalloc.
13806
13807 2011-04-27  Eric Blake  <eblake@redhat.com>
13808
13809         getcwd: fix mingw bugs
13810         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
13811         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
13812         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
13813
13814 2011-04-27  Bruno Haible  <bruno@clisp.org>
13815
13816         mkstemps: Ensure declaration on MacOS X 10.5.
13817         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
13818         * doc/glibc-functions/mkstemps.texi: Document header file problem on
13819         MacOS X.
13820
13821 2011-04-27  Bruno Haible  <bruno@clisp.org>
13822
13823         mkstemp: More documentation.
13824         * doc/posix-functions/mkstemp.texi: Document header file problem on
13825         MacOS X.
13826
13827 2011-04-27  Bruno Haible  <bruno@clisp.org>
13828
13829         mkstemp: Tweak configure message when cross-compiling.
13830         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
13831         result as a guess.
13832
13833 2011-04-27  Bruno Haible  <bruno@clisp.org>
13834
13835         clean-temp: Clarify what it does.
13836         * lib/clean-temp.h: Add more comments.
13837         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
13838         module.
13839         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
13840         * doc/glibc-functions/mkstemps.texi: Likewise.
13841         * doc/glibc-functions/mkostemps.texi: Likewise.
13842
13843 2011-04-27  Eric Blake  <eblake@redhat.com>
13844
13845         fchdir: avoid extra chdir and fix test
13846         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
13847         getcwd-lgpl.
13848         * lib/fchdir.c (get_name): Any absolute name will do; it does not
13849         have to be canonical.
13850         (canonicalize_file_name): Drop unused macro.
13851         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
13852
13853         filenamecat-lgpl: fix licence
13854         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
13855         when it was first created.
13856
13857         linkat, renameat: add missing dependency
13858         * modules/linkat (Depends-on): Require getcwd-lgpl.
13859         * modules/renameat (Depends-on): Likewise.
13860
13861         tests: reduce dependencies
13862         * tests/test-linkat.c (main): Use lighter-weight getcwd.
13863         * tests/test-renameat.c (main): Likewise.
13864         * modules/linkat-tests (Depends-on): Relax dependency.
13865         * modules/renameat-tests (Depends-on): Likewise.
13866         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
13867         dependency explicit.
13868
13869         save-cwd: reduce default dependency
13870         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
13871         * lib/save-cwd.c: Update comments.
13872         * NEWS: Document the semantic change.
13873
13874         getcwd: enhance tests
13875         * tests/test-getcwd-lgpl.c: New file, taken from...
13876         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
13877         repeat long path stress tests from m4 probe.
13878         * modules/getcwd-lgpl-tests: New module.
13879         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
13880         * m4/getcwd-abort-bug.m4: Update comment.
13881         * m4/getcwd-path-max.m4: Likewise.
13882
13883         getcwd-lgpl: new module
13884         * modules/getcwd-lgpl: New module.
13885         * lib/getcwd-lgpl.c: New file.
13886         * doc/posix-functions/getcwd.texi (getcwd): Document it.
13887         * MODULES.html.sh (lacking POSIX:2008): Likewise.
13888         * modules/getcwd (configure.ac): Set C witness.
13889         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
13890
13891         getcwd: tweak comments
13892         * m4/getcwd-abort-bug.m4: Fix comments.
13893         * m4/getcwd-path-max.m4: Likewise.
13894         * m4/getcwd.m4: Likewise.
13895
13896 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
13897         and Eric Blake  <eblake@redhat.com>
13898
13899         mkstemp: replace if system version uses wrong permissions
13900         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
13901         read/write mode bits set in file created by mkstemp.
13902         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
13903
13904 2011-04-27  Eric Blake  <eblake@redhat.com>
13905
13906         passfd: avoid compiler warning
13907         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
13908         Reported by Laine Stump.
13909
13910 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
13911
13912         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
13913         required by the NetBSD (and perhaps other 4.4BSD derived) join.
13914
13915 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
13916         and Eric Blake  <eblake@redhat.com>
13917
13918         mkstemp: mention clean-temp module
13919         * lib/mkstemp.c: Add comment.
13920         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
13921
13922 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
13923
13924         inttypes: also provide default values for 32-bit tests
13925         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
13926         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
13927
13928 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
13929
13930         strtoumax: remove dependency on strtoimax
13931         This is like the strtoull change of yesterday.
13932         * modules/strtoumax (Files): Add lib/strtoimax.c.
13933         (Depends-on): Remove strtoimax and add verify.
13934
13935         inttypes-incomplete: new module
13936         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
13937         all but the PRI* and SCN* parts of gl_INTTYPES_H.
13938         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
13939         of gl_INTTYPES_H.
13940         (gl_INTTYPES_H): Rewrite in terms of these new macros.
13941         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
13942         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
13943         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
13944         * modules/strtoumax, modules/xstrtol (Depends-on):
13945         Depend on inttypes-incomplete, not inttypes.
13946         * modules/inttypes-incomplete: New module, containing the contents
13947         of the old modules/inttypes module, except that the Files: section
13948         omits m4/inttypes-pri.m4, and the configure.ac section invokes
13949         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
13950         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
13951         (Depends-on): Depend only on inttypes-incomplete.
13952         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
13953
13954         inttypes: omit now-redundant strtoimax and strtoumax work
13955         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
13956         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
13957
13958         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
13959         This supports apps that need pointers to strtoimax and strtoumax,
13960         and ports to HP-UX 11.00 64.bit, which has macros that expand to
13961         nonexistent functions.  See
13962         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
13963         et seq.
13964         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
13965         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
13966         a macro.
13967         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
13968
13969 2011-04-25  Simon Josefsson  <simon@josefsson.org>
13970
13971         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
13972
13973 2011-04-25  Bruno Haible  <bruno@clisp.org>
13974
13975         strtol, strtoul: Mark modules as obsolete.
13976         * modules/strtol (Status, Notice): New sections.
13977         * modules/strtoul (Status, Notice): New sections.
13978
13979 2011-04-25  Bruno Haible  <bruno@clisp.org>
13980
13981         strtod: Remove check for strtod, unless supporting old platforms.
13982         * modules/strtod-obsolete: New file.
13983         * m4/strtod-obsolete.m4: New file.
13984         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
13985         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
13986         * modules/strtod (Depends-on): Add strtod-obsolete.
13987         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
13988
13989 2011-04-25  Bruno Haible  <bruno@clisp.org>
13990
13991         strcase: Make module obsolete.
13992         * modules/strcase (Status, Notice): New sections.
13993
13994 2011-04-25  Bruno Haible  <bruno@clisp.org>
13995
13996         dup2: Remove check for dup2, unless supporting old obsolete platforms.
13997         * modules/dup2-obsolete: New file.
13998         * m4/dup2-obsolete.m4: New file.
13999         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
14000         gl_FUNC_DUP2_OBSOLETE is not also defined.
14001         * modules/dup2 (Depends-on): Add dup2-obsolete.
14002         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
14003
14004 2011-04-25  Bruno Haible  <bruno@clisp.org>
14005
14006         strnlen: Avoid memchr related link error on old obsolete platforms.
14007         * modules/memchr-obsolete: New file.
14008         * m4/memchr-obsolete.m4: New file.
14009         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
14010         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
14011         * modules/memchr (Depends-on): Add memchr-obsolete.
14012         * modules/strnlen (Depends-on): Likewise.
14013         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
14014
14015 2011-04-25  Jim Meyering  <meyering@redhat.com>
14016
14017         maint.mk: makefile_at_at_check extend and clean up
14018         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
14019         in addition to */Makefile.am.
14020         Exempt legitimate uses of @VAR@ notation, e.g.,
14021         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
14022         Remove obsolete coreutils-specific comment.
14023         Prompted by discussion here:
14024         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
14025
14026 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
14027
14028         strtoul: remove dependency on strtol
14029         This is so that 'configure' need not check for strtol merely because
14030         the application needs strtoul.
14031         * modules/strtoul (Files): Add lib/strtol.c.
14032         (Depends-on): Remove strtol.
14033
14034         strtoull: remove dependency on strtoul
14035         This is like the strtoll change.
14036         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
14037         (Depends-on): Remove strtoul.
14038
14039         strtoll: remove dependency on strtol
14040         This is so that 'configure' need not check for strtol merely because
14041         the application needs strtoll.
14042         * modules/strtoll (Files): Add lib/strtol.c.
14043         (Depends-on): Remove strtol.
14044
14045 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14046
14047         inttypes: Move some configure check to module 'imaxdiv'.
14048         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
14049         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
14050         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
14051
14052 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14053
14054         inttypes: Move some configure check to module 'imaxabs'.
14055         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
14056         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
14057         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
14058
14059 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14060
14061         inttypes: Remove configure tests that are not needed since 2009-12-31.
14062         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
14063         gl_cv_header_working_inttypes_h.
14064
14065 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14066
14067         * modules/strnlen (Depends-on): Remove memchr.
14068         The strnlen implementation doesn't need the memchr module's fixes; see
14069         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
14070
14071         strtol: remove dependency on wchar
14072         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
14073         * modules/strtol (Depends-on): Remove wchar.
14074
14075 2011-04-21  Eric Blake  <eblake@redhat.com>
14076
14077         passfd: fix test regression on Linux
14078         * modules/passfd-tests (configure.ac): Correct socketpair check.
14079
14080         passfd: speed up configure and drop unused code
14081         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
14082         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
14083         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
14084         Instead of probing at configure for unix_scm_rights_bsd44_way,
14085         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
14086         check to a struct member probe.
14087         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
14088         (sendfd, recvfd): Update preprocessor checks.
14089         * modules/passfd (Files): Reflect rename, and drop unused file.
14090         (Depends-on): Drop unused dependency.
14091
14092         passfd: allow compilation on mingw
14093         * modules/sys_socket (Depends-on): Add sys_uio.
14094         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
14095         iovec and a minimal struct msghdr.
14096         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
14097         * tests/test-sys_socket.c (main): Enhance test.
14098         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
14099         guaranteed to provide what we need.
14100         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
14101         * modules/passfd-tests (Depends-on): Add sys_wait.
14102         * tests/test-passfd.c (main): Skip test on mingw, for now.
14103         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
14104         partial 'struct msghdr' implementation.
14105
14106         sys_uio: new module
14107         * modules/sys_uio: New module.
14108         * modules/sys_uio-tests: Likewise.
14109         * lib/sys_uio.in.h: New file.
14110         * m4/sys_uio_h.m4: Likewise.
14111         * tests/test-sys_uio.c: Likewise.
14112         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
14113         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
14114
14115 2011-04-20  Jim Meyering  <meyering@redhat.com>
14116
14117         useless-if-before-free: avoid false-positive
14118         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
14119         disjunct so that it too requires a terminating ";".  Without that,
14120         this script would identify as useless one statement from gcc that
14121         was not:
14122           if (aligned_ptr)
14123             free (((void **) aligned_ptr) [-1]);
14124
14125 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
14126
14127         doc: update users.txt.
14128         * users.txt: Add barcode.
14129
14130 2011-04-19  Bruno Haible  <bruno@clisp.org>
14131
14132         ioctl: Remove link dependency on native Windows.
14133         * lib/fd-hook.h: Renamed from lib/close-hook.h.
14134         (gl_close_fn, gl_ioctl_fn): New types.
14135         (struct fd_hook): Renamed from struct close_hook. Change type of
14136         private_close_fn field. Add private_ioctl_fn field.
14137         (close_hook_fn): Add parameter for primary close method.
14138         (execute_close_hooks, execute_all_close_hooks): Likewise.
14139         (ioctl_hook_fn): New type.
14140         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
14141         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
14142         argument.
14143         (unregister_fd_hook): Renamed from unregister_close_hook.
14144         * lib/fd-hook.c: Renamed from lib/close-hook.c.
14145         Don't include <unistd.h>.
14146         (close): Remove undef.
14147         (anchor): Update.
14148         (execute_close_hooks): Add argument for primary close method.
14149         (execute_all_close_hooks): Likewise.
14150         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
14151         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
14152         argument. Allow each argument to be NULL.
14153         (unregister_fd_hook): Renamed from unregister_close_hook.
14154         * lib/close.c (rpl_close): Pass 'close' function pointer to
14155         execute_all_close_hooks.
14156         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
14157         (primary_ioctl): New function.
14158         (ioctl): Don't call ioctlsocket here. Instead, call
14159         execute_all_ioctl_hooks.
14160         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
14161         close method.
14162         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
14163         (fd_sockets_hook): Renamed from close_sockets_hook.
14164         (gl_sockets_startup, gl_sockets_cleanup): Update.
14165         * modules/fd-hook: Renamed from modules/close-hook. Update.
14166         * modules/close (Depends-on): Add fd-hook, remove close-hook.
14167         * modules/sockets (Depends-on): Likewise.
14168         * modules/ioctl (Depends-on): Add fd-hook.
14169         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
14170         GNULIB_SOCKET.
14171
14172 2011-04-19  Bruno Haible  <bruno@clisp.org>
14173
14174         Move the support of O_NONBLOCK in open() to the 'open' module.
14175         * modules/nonblocking (Depends-on): Remove 'open'.
14176         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
14177         gl_cv_have_open_O_NONBLOCK.
14178         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
14179         O_NONBLOCK support.
14180         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
14181
14182 2011-04-17  Bruno Haible  <bruno@clisp.org>
14183
14184         pipe2: Simplify code.
14185         * lib/pipe2.c (pipe2): Reduce code duplication.
14186
14187 2011-04-17  Bruno Haible  <bruno@clisp.org>
14188
14189         nonblocking: Add comment.
14190         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
14191
14192 2011-04-17  Bruno Haible  <bruno@clisp.org>
14193
14194         nonblocking: Add tests for sockets.
14195         * tests/test-nonblocking-socket.sh: New file.
14196         * tests/test-nonblocking-socket-main.c: New file.
14197         * tests/test-nonblocking-socket-child.c: New file.
14198         * tests/test-nonblocking-socket.h: New file.
14199         * tests/socket-server.h: New file.
14200         * tests/socket-client.h: New file.
14201         * modules/nonblocking-socket-tests: New file.
14202         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
14203
14204 2011-04-17  Bruno Haible  <bruno@clisp.org>
14205
14206         nonblocking: Add tests for pipes.
14207         * tests/test-nonblocking-pipe.sh: New file.
14208         * tests/test-nonblocking-pipe-main.c: New file.
14209         * tests/test-nonblocking-pipe-child.c: New file.
14210         * tests/test-nonblocking-pipe.h: New file.
14211         * tests/test-nonblocking-writer.h: New file.
14212         * tests/test-nonblocking-reader.h: New file.
14213         * tests/test-nonblocking-misc.h: New file.
14214         * modules/nonblocking-pipe-tests: New file.
14215         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
14216
14217 2011-04-16  Bruno Haible  <bruno@clisp.org>
14218
14219         gettext: Clarify the needed programmer actions.
14220         * modules/gettext (Notice): New field.
14221         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
14222
14223 2011-04-16  Bruno Haible  <bruno@clisp.org>
14224
14225         strchrnul: Tweak last commit.
14226         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
14227         bug.
14228         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
14229         as in _GL_FUNCDECL_SYS.
14230         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
14231         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
14232
14233 2011-04-15  Eric Blake  <eblake@redhat.com>
14234
14235         strchrnul: work around cygwin bug
14236         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
14237         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
14238         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
14239         * modules/string (Makefile.am): Substitute it.
14240         * lib/string.in.h (strchrnul): Use it.
14241
14242 2011-04-15  Bruno Haible  <bruno@clisp.org>
14243
14244         Don't require lib/stdio-write.c when only module 'stdio' is used.
14245         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
14246         invocation.
14247         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
14248
14249 2011-04-14  Bruno Haible  <bruno@clisp.org>
14250
14251         Support non-blocking pipe I/O in read() on native Windows.
14252         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
14253         (read): New declaration.
14254         * lib/read.c: New file.
14255         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
14256         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
14257         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
14258         vscanf): New declarations.
14259         * lib/stdio-read.c: New file.
14260         * m4/read.m4: New file.
14261         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
14262         REPLACE_READ.
14263         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
14264         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
14265         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
14266         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
14267         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
14268         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
14269         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
14270         * modules/read: New file.
14271         * modules/nonblocking (Files): Add lib/stdio-read.c.
14272         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
14273         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
14274         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
14275         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
14276         * modules/pread (Depends-on): Add read.
14277         * modules/safe-read (Depends-on): Likewise.
14278         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
14279         gets, scanf, vfscanf, vscanf): Verify signatures.
14280         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
14281         problem with non-blocking pipes.
14282         * doc/posix-functions/fgetc.texi: Likewise.
14283         * doc/posix-functions/fgets.texi: Likewise.
14284         * doc/posix-functions/fread.texi: Likewise.
14285         * doc/posix-functions/fscanf.texi: Likewise.
14286         * doc/posix-functions/getc.texi: Likewise.
14287         * doc/posix-functions/getchar.texi: Likewise.
14288         * doc/posix-functions/gets.texi: Likewise.
14289         * doc/posix-functions/scanf.texi: Likewise.
14290         * doc/posix-functions/vfscanf.texi: Likewise.
14291         * doc/posix-functions/vscanf.texi: Likewise.
14292
14293 2011-04-14  Bruno Haible  <bruno@clisp.org>
14294
14295         Support non-blocking pipe I/O in write() on native Windows.
14296         * lib/write.c (rpl_write): Split a write request that failed merely
14297         because the byte count was larger than the pipe buffer's size.
14298         * doc/posix-functions/write.texi: Mention the problem with large byte
14299         counts.
14300
14301 2011-04-14  Bruno Haible  <bruno@clisp.org>
14302
14303         wchar: Ensure that wchar_t gets defined on uClibc.
14304         * lib/wchar.in.h: On uClibc, include <stddef.h>.
14305         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
14306
14307 2011-04-13  Bruno Haible  <bruno@clisp.org>
14308
14309         safe-write, full-read: Avoid unnecessary compilation units.
14310         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
14311         (Depends-on): Remove safe-read. Add ssize_t.
14312         * modules/full-read (Files): Add lib/full-write.c.
14313         (Depends-on): Add full-write.
14314
14315 2011-04-13  Bruno Haible  <bruno@clisp.org>
14316
14317         Support non-blocking pipe I/O and SIGPIPE in pwrite().
14318         * modules/pwrite (Depends-on): Add 'write'.
14319
14320 2011-04-13  Bruno Haible  <bruno@clisp.org>
14321
14322         Support non-blocking pipe I/O in write() on native Windows.
14323         * lib/unistd.in.h (write): Enable replacement also if
14324         GNULIB_UNISTD_H_NONBLOCKING is 1.
14325         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
14326         (rpl_write): When failing to write on a non-blocking pipe, change
14327         errno from ENOSPC to EAGAIN.
14328         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
14329         putchar, puts, vfprintf, vprintf): Enable replacement also if
14330         GNULIB_STDIO_H_NONBLOCKING is 1.
14331         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
14332         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
14333         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
14334         CALL_WITH_SIGPIPE_EMULATION.
14335         (CALL_WITH_SIGPIPE_EMULATION): Use them.
14336         * m4/nonblocking.m4: New file.
14337         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
14338         for non-blocking I/O support.
14339         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14340         GNULIB_UNISTD_H_NONBLOCKING.
14341         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
14342         required for non-blocking I/O support.
14343         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
14344         * modules/nonblocking (Files): Add m4/nonblocking.m4,
14345         lib/stdio-write.c, m4/asm-underscore.m4.
14346         (Depends-on): Add stdio, unistd.
14347         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
14348         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
14349         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
14350         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
14351         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
14352         problem with non-blocking pipes.
14353         * doc/posix-functions/fputc.texi: Likewise.
14354         * doc/posix-functions/fputs.texi: Likewise.
14355         * doc/posix-functions/fwrite.texi: Likewise.
14356         * doc/posix-functions/printf.texi: Likewise.
14357         * doc/posix-functions/putc.texi: Likewise.
14358         * doc/posix-functions/putchar.texi: Likewise.
14359         * doc/posix-functions/puts.texi: Likewise.
14360         * doc/posix-functions/vfprintf.texi: Likewise.
14361         * doc/posix-functions/vprintf.texi: Likewise.
14362         * doc/posix-functions/write.texi: Likewise.
14363
14364 2011-04-10  Jim Meyering  <meyering@redhat.com>
14365
14366         maint.mk: prohibit doubled words
14367         Detect them also when they're separated by a newline.
14368         There are 3 ways to customize it:
14369           - disable the test on a per file basis, as usual with rules using
14370             $(VC_LIST_EXCEPT)
14371           - replace the default doubled-word-selecting regexp (affects all files)
14372           - ignore a particular file-vs-doubled-word match
14373         I nearly used that last one to ignore the "is is" match in
14374         coreutils' NEWS file, since the text was "ls -is is ..."
14375         To do that, I would have added this line to cfg.mk:
14376           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
14377         but it would have ignored any "is is" match in NEWS.
14378         Low probability, but still...
14379         Instead, I changed the text, slightly:
14380           -  ls -is is now consistent with ls -lis in ignoring values returned
14381           +  "ls -is" is now consistent with ls -lis in ignoring values returned
14382         * top/maint.mk (prohibit_double_word_RE_): Provide default.
14383         (prohibit_doubled_word_): Define.
14384         (sc_prohibit_doubled_word): New rule.
14385         (sc_prohibit_the_the): Remove.  Subsumed by the above.
14386
14387 2011-04-10  Jim Meyering  <meyering@redhat.com>
14388
14389         maint: fix doubled-word typo in comment
14390         * m4/gethostname.m4: s/is is/it is/
14391         * m4/getdomainname.m4: Likewise.
14392
14393 2011-04-10  Jim Meyering  <meyering@redhat.com>
14394
14395         maint: remove doubled word: s/it it/it/
14396         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
14397
14398 2011-04-10  Jim Meyering  <meyering@redhat.com>
14399
14400         maint.mk: remove useless semicolon and backslash
14401         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
14402         semicolon and backslash.
14403
14404 2011-04-10  Bruno Haible  <bruno@clisp.org>
14405
14406         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
14407         * modules/stdint-tests (Depends-on): Add wchar.
14408
14409 2011-04-10  Jim Meyering  <meyering@redhat.com>
14410
14411         maint: remove doubled words in comments, e.g., s/a a/a/
14412         * lib/strptime.c (day_of_the_week): s/the the/the/
14413         * tests/test-chown.h (test_chown): s/a a/a/
14414
14415         test-chown.h: correct a cast
14416         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
14417         when the destination is a stat.st_gid.
14418
14419 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
14420
14421         getaddrinfo: Fix test for sa_len member.
14422         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
14423         include <sys/types.h> before <sys/socket.h>.
14424
14425 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14426
14427         maint: change "can not" to "cannot"
14428         * doc/posix-functions/iconv.texi (iconv): This one crossed line
14429         boundaries.
14430
14431 2011-04-09  Jim Meyering  <meyering@redhat.com>
14432
14433         maint: change "a a" to "a"
14434         * tests/test-lchown.h (test_lchown): s/a a/a/
14435
14436         maint.mk: prohibit \<the the\>
14437         * top/maint.mk (sc_prohibit_the_the): New rule.
14438
14439         maint: fix "the the" in comment
14440         * lib/count-one-bits.h: s/the the/the/
14441
14442         maint: change "can not" to "cannot"
14443         But do not change the occurrences in maintain.texi or in
14444         build-aux/po/Makefile.in.in, which I presume comes from gettext.
14445         * doc/gnulib-tool.texi: s/can not/cannot/
14446         * doc/posix-functions/accept.texi (accept): Likewise.
14447         * doc/posix-functions/socket.texi (socket): Likewise.
14448         * lib/mbrtowc.c: Likewise.
14449
14450         maint.mk: prohibit use of "can not"
14451         * top/maint.mk (sc_prohibit_can_not): New rule.
14452         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
14453
14454 2011-04-09  Bruno Haible  <bruno@clisp.org>
14455
14456         careadlinkat: Guard against misuse of careadlinkatcwd.
14457         * lib/careadlinkat.c: Include <stdlib.h>.
14458         (careadlinkatcwd): Check that the fd argument is as expected.
14459
14460 2011-04-09  Bruno Haible  <bruno@clisp.org>
14461
14462         careadlinkat: Use common coding style.
14463         * lib/careadlinkat.c: Move gnulib includes after system includes.
14464
14465 2011-04-09  Bruno Haible  <bruno@clisp.org>
14466
14467         careadlinkat: Clarify specification.
14468         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
14469         (careadlinkatcwd): Add comment.
14470         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
14471
14472 2011-04-09  Bruno Haible  <bruno@clisp.org>
14473
14474         areadlinkat: Avoid link error on many platforms.
14475         * modules/areadlinkat (Depends-on): Add areadlink.
14476
14477 2011-04-09  Bruno Haible  <bruno@clisp.org>
14478
14479         allocator, careadlinkat: Fix double-inclusion guard.
14480         * lib/allocator.h: Fix double-inclusion guard.
14481         * lib/careadlinkat.h: Likewise.
14482
14483 2011-04-09  Bruno Haible  <bruno@clisp.org>
14484
14485         relocatable-prog-wrapper: Update after module 'areadlink' changed.
14486         * lib/relocwrapper.c: Update dependencies hierarchy.
14487         * build-aux/install-reloc: Update list of files to be compiled.
14488         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
14489         lib/allocator.[hc].
14490
14491 2011-04-08  Eric Blake  <eblake@redhat.com>
14492
14493         strftime: silence gnulib-tool warning
14494         * modules/strftime-tests (Depends-on): Drop automatic dependency.
14495
14496 2011-04-08  Bruno Haible  <bruno@clisp.org>
14497
14498         verify: Fix syntax error with GCC 4.6 in C++ mode.
14499         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
14500         (HAVE_STATIC_ASSERT): New macro.
14501         (verify_true, verify): Use 'static_assert' if it is supported and
14502         '_Static_assert' is not supported.
14503
14504 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
14505
14506         allocator: New module.
14507         * modules/allocator, lib/allocator.c: New files.
14508         * lib/allocator.h (stdlib_allocator): New decl.
14509         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
14510         Remove.  Do not include <stdlib.h>.
14511         (careadlinkat): Use stdlib_allocator instead of rolling our own.
14512         * modules/careadlinkat (Files): Remove lib/allocator.h.
14513         (Depends-on): Add allocator.
14514
14515         stdlib: let modules use system malloc, realloc
14516         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
14517         if !_GL_USE_STDLIB_ALLOC.
14518         (malloc, realloc): Limit this change to a smaller scope.
14519
14520         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
14521         (malloc, realloc): Don't #undef; no longer needed.
14522         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14523         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14524         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
14525         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14526         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14527         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14528         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14529         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
14530
14531         careadlinkat: rename members to avoid problem
14532         * lib/allocator.h (struct allocator): Rename members from
14533         malloc/realloc to allocate/reallocate, to avoid problems if malloc
14534         and realloc are #define'd.  Reported by Eric Blake in
14535         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
14536         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
14537
14538 2011-04-08  Eric Blake  <eblake@redhat.com>
14539
14540         nonblocking: reduce dependency
14541         * tests/test-nonblocking.c: Only test sockets when in use.
14542         * modules/nonblocking-tests (Depends-on): Drop socket.
14543         (Makefile.am): Link even if sockets are not present.
14544         * modules/pipe2-tests (Makefile.am): Likewise.
14545         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
14546
14547         pipe2: fix O_NONBLOCK support on mingw
14548         * modules/pipe2 (Depends-on): Add nonblocking.
14549         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
14550         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
14551         * tests/test-nonblocking.c (main): Likewise.
14552         * modules/pipe2-tests (Makefile.am): Avoid link failure.
14553
14554         fcntl-h: fix O_ACCMODE on cygwin
14555         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
14556         * lib/fcntl.in.h (O_ACCMODE): Fix it.
14557
14558         pipe-filter: drop O_NONBLOCK workarounds
14559         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
14560         * modules/pipe-filter-ii (Depends-on): Likewise.
14561         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
14562
14563         nonblocking: provide O_NONBLOCK for mingw
14564         * modules/nonblocking (Depends-on): Add open.
14565         (configure.ac): Set new witness macro.
14566         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
14567         * modules/fcntl-h (Makefile.am): Substitute it.
14568         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
14569         nonblocking module is in use.
14570         * lib/nonblocking.c: Adjust portability test.
14571         * lib/open.c (open): Don't let native open see gnulib flag.
14572         * tests/test-fcntl-h.c (main): Enhance test.
14573         * tests/test-open.h (test_open): Likewise.
14574         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
14575
14576         careadlinkat: fix compilation error on mingw
14577         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
14578         within struct allocator.
14579
14580 2011-04-06  Eric Blake  <eblake@redhat.com>
14581
14582         binary-io: relicense under LGPLv2+
14583         * modules/binary-io (License): Relax to LGPLv2+.
14584         Requested for libvirt, and required by pipe2.
14585
14586 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
14587
14588         verify: use _Static_assert if available
14589         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
14590         (verify_true, verify): Use it if available.  This generates better
14591         diagnostics with GCC 4.6.0 and later.
14592
14593 2011-04-05  Bruno Haible  <bruno@clisp.org>
14594
14595         Remove leftover generated .h files after config.status changed.
14596
14597         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
14598         GL_GENERATE_ALLOCA_H.
14599         * modules/alloca-opt (Makefile.am): Remove alloca.h if
14600         GL_GENERATE_ALLOCA_H evaluates to false.
14601
14602         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
14603         GL_GENERATE_ARGZ_H.
14604         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
14605         evaluates to false.
14606
14607         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
14608         GL_GENERATE_BYTESWAP_H.
14609         * modules/byteswap (Makefile.am): Remove byteswap.h if
14610         GL_GENERATE_BYTESWAP_H evaluates to false.
14611
14612         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
14613         GL_GENERATE_ERRNO_H.
14614         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
14615         evaluates to false.
14616
14617         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
14618         GL_GENERATE_FLOAT_H.
14619         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
14620         evaluates to false.
14621
14622         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
14623         GL_GENERATE_FNMATCH_H.
14624         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
14625         GL_GENERATE_FNMATCH_H evaluates to false.
14626
14627         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
14628         GL_GENERATE_GLOB_H.
14629         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
14630         evaluates to false.
14631
14632         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
14633         automake conditional GL_GENERATE_ICONV_H.
14634         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
14635         evaluates to false.
14636
14637         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
14638         GL_GENERATE_NETINET_IN_H.
14639         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
14640         GL_GENERATE_NETINET_IN_H evaluates to false.
14641
14642         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
14643         conditional GL_GENERATE_PTHREAD_H.
14644         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
14645         * modules/pthread (Makefile.am): Remove pthread.h if
14646         GL_GENERATE_PTHREAD_H evaluates to false.
14647
14648         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
14649         GL_GENERATE_SCHED_H.
14650         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
14651         evaluates to false.
14652
14653         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
14654         conditional GL_GENERATE_SELINUX_CONTEXT_H.
14655         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
14656         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
14657
14658         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
14659         GL_GENERATE_STDARG_H.
14660         * modules/stdarg (Makefile.am): Remove stdarg.h if
14661         GL_GENERATE_STDARG_H evaluates to false.
14662
14663         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
14664         GL_GENERATE_STDBOOL_H.
14665         * modules/stdbool (Makefile.am): Remove stdbool.h if
14666         GL_GENERATE_STDBOOL_H evaluates to false.
14667
14668         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
14669         conditional GL_GENERATE_STDDEF_H.
14670         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
14671         * modules/stddef (Makefile.am): Remove stddef.h if
14672         GL_GENERATE_STDDEF_H evaluates to false.
14673
14674         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
14675         GL_GENERATE_STDINT_H.
14676         * modules/stdint (Makefile.am): Remove stdint.h if
14677         GL_GENERATE_STDINT_H evaluates to false.
14678
14679         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
14680         GL_GENERATE_SYSEXITS_H.
14681         * modules/sysexits (Makefile.am): Remove sysexits.h if
14682         GL_GENERATE_SYSEXITS_H evaluates to false.
14683
14684         Reported by Karl Berry and Ralf Wildenhues.
14685
14686 2011-04-05  Bruno Haible  <bruno@clisp.org>
14687
14688         Ensure to rebuild generated .h files when config.status has changed.
14689         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
14690         config.status.
14691         * modules/ctype (Makefile.am): Likewise.
14692         * modules/dirent (Makefile.am): Likewise.
14693         * modules/errno (Makefile.am): Likewise.
14694         * modules/fcntl-h (Makefile.am): Likewise.
14695         * modules/float (Makefile.am): Likewise.
14696         * modules/getopt-posix (Makefile.am): Likewise.
14697         * modules/glob (Makefile.am): Likewise.
14698         * modules/iconv-h (Makefile.am): Likewise.
14699         * modules/inttypes (Makefile.am): Likewise.
14700         * modules/langinfo (Makefile.am): Likewise.
14701         * modules/locale (Makefile.am): Likewise.
14702         * modules/math (Makefile.am): Likewise.
14703         * modules/netdb (Makefile.am): Likewise.
14704         * modules/netinet_in (Makefile.am): Likewise.
14705         * modules/poll-h (Makefile.am): Likewise.
14706         * modules/pthread (Makefile.am): Likewise.
14707         * modules/pty (Makefile.am): Likewise.
14708         * modules/sched (Makefile.am): Likewise.
14709         * modules/search (Makefile.am): Likewise.
14710         * modules/selinux-h (Makefile.am): Likewise.
14711         * modules/signal (Makefile.am): Likewise.
14712         * modules/spawn (Makefile.am): Likewise.
14713         * modules/stdarg (Makefile.am): Likewise.
14714         * modules/stdbool (Makefile.am): Likewise.
14715         * modules/stddef (Makefile.am): Likewise.
14716         * modules/stdint (Makefile.am): Likewise.
14717         * modules/stdio (Makefile.am): Likewise.
14718         * modules/stdlib (Makefile.am): Likewise.
14719         * modules/string (Makefile.am): Likewise.
14720         * modules/strings (Makefile.am): Likewise.
14721         * modules/sys_file (Makefile.am): Likewise.
14722         * modules/sys_ioctl (Makefile.am): Likewise.
14723         * modules/sys_select (Makefile.am): Likewise.
14724         * modules/sys_socket (Makefile.am): Likewise.
14725         * modules/sys_stat (Makefile.am): Likewise.
14726         * modules/sys_time (Makefile.am): Likewise.
14727         * modules/sys_times (Makefile.am): Likewise.
14728         * modules/sys_utsname (Makefile.am): Likewise.
14729         * modules/sys_wait (Makefile.am): Likewise.
14730         * modules/sysexits (Makefile.am): Likewise.
14731         * modules/termios (Makefile.am): Likewise.
14732         * modules/time (Makefile.am): Likewise.
14733         * modules/unistd (Makefile.am): Likewise.
14734         * modules/wchar (Makefile.am): Likewise.
14735         * modules/wctype-h (Makefile.am): Likewise.
14736         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
14737
14738 2011-04-05  Bruno Haible  <bruno@clisp.org>
14739
14740         pipe2: Relicense under LGPLv2+.
14741         * modules/pipe2 (License): Change to LGPLv2+.
14742         Requested by Eric Blake, for libvirt.
14743
14744 2011-04-05  Bruce Korb  <bkorb@gnu.org>
14745
14746         bootstrap: compute gnulib_extra_files after updating build_aux
14747         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
14748         change build_aux or also supply gnulib_extra_files.  Handle correctly.
14749
14750 2011-04-05  Eric Blake  <eblake@redhat.com>
14751
14752         bootstrap: preserve git whitelist item sorting
14753         * build-aux/bootstrap (sort_patterns): New function.
14754         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
14755
14756 2011-04-05  Simon Josefsson  <simon@josefsson.org>
14757
14758         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
14759         sc_space_tab check.
14760
14761 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
14762
14763         areadlink, areadlinkat: rewrite in terms of careadlinkat
14764         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
14765         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
14766         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
14767         (malloc, realloc): Remove #undefs.
14768         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
14769         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
14770         readlink, ssize_t, stdint, unistd.
14771         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
14772         areadlink, stdint.
14773
14774         careadlinkat: new module
14775         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
14776         * modules/careadlinkat: New files, written by me with
14777         a review and feedback from Ben Pfaff in
14778         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
14779
14780 2011-04-01  Bruno Haible  <bruno@clisp.org>
14781
14782         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
14783         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
14784         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
14785         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
14786         Reported by Bruce Korb <bruce.korb@gmail.com>.
14787
14788 2011-04-01  Bruno Haible  <bruno@clisp.org>
14789
14790         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
14791         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
14792         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
14793         * modules/wcpcpy (Depends-on): Add extensions.
14794         * modules/wcpncpy (Depends-on): Likewise.
14795         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
14796         systems.
14797         * doc/posix-functions/wcpncpy.texi: Likewise.
14798         * doc/posix-functions/wcwidth.texi: Likewise.
14799
14800 2011-03-31  Eric Blake  <eblake@redhat.com>
14801
14802         nonblocking: fix mingw test failures
14803         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
14804         non-blocking flag on regular file.
14805         (get_nonblocking_flag): Set errno on invalid fd.
14806         * tests/test-nonblocking.c (main): Avoid test failure on
14807         directories if fchdir is not active.
14808         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
14809
14810 2011-03-31  Bruno Haible  <bruno@clisp.org>
14811
14812         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
14813         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
14814         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
14815         Reported by Simon Josefsson <simon@josefsson.org>.
14816
14817 2011-03-31  Bruno Haible  <bruno@clisp.org>
14818         and Eric Blake  <eblake@redhat.com>
14819
14820         nonblocking: new module
14821         * modules/nonblocking: New module.
14822         * modules/nonblocking-tests: Likewise.
14823         * lib/nonblocking.h: New file.
14824         * lib/nonblocking.c: Likewise.
14825         * tests/test-nonblocking.c: New test.
14826         * lib/ioctl.c (ioctl) [mingw]: Update comment.
14827
14828 2011-03-30  Bruno Haible  <bruno@clisp.org>
14829
14830         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
14831         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
14832         instead of 'printf' format for GCC >= 4.4.
14833         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
14834         (fprintf, printf, vfprintf, vprintf): Declare with
14835         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
14836         the system's vfprintf() function.
14837         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
14838
14839 2011-03-30  Eric Blake  <eblake@redhat.com>
14840
14841         passfd: fix scoping bug
14842         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
14843         before sendmsg/recvmsg.
14844
14845         passfd: standardize coding conventions
14846         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
14847         can be learned at compile time.
14848         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
14849         ifdefs.
14850         (sendfd, recvfd): Follow gnulib code conventions.
14851
14852         passfd: fix incorrect sendmsg arguments
14853         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
14854         incorrect msg_controllen value.
14855         * modules/passfd-tests (Depends-on): Check for alarm.
14856         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
14857         Reported by Bastien ROUCARIES.
14858
14859 2011-03-30  Bruno Haible  <bruno@clisp.org>
14860
14861         c-strcasestr: Relicense under LGPLv2+.
14862         * modules/c-strcasestr (License): Change to LGPLv2+.
14863         Requested by Eric Blake, for libvirt.
14864
14865 2011-03-30  Simon Josefsson  <simon@josefsson.org>
14866
14867         * users.txt: Add libidn2.  Fix libtasn1 link.
14868
14869 2011-03-30  Jim Meyering  <meyering@redhat.com>
14870
14871         tests: readlink* ("",... fails with EINVAL on newer kernels
14872         readlink and readlinkat have typically failed with ENOENT for
14873         the invalid, empty file name,  "".  However, with the advent
14874         of linux-2.6.39, they fail with EINVAL.
14875         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
14876         when operating on the empty file name.
14877         * tests/test-readlink.h (test_readlink): Likewise.
14878
14879 2011-03-29  Bruno Haible  <bruno@clisp.org>
14880
14881         Relicense some modules under LGPLv2+, for libidn2.
14882         * modules/array-mergesort (License): Change to LGPLv2+.
14883         * modules/c-strcaseeq (License): Likewise.
14884         * modules/striconveh (License): Likewise.
14885         * modules/striconveha (License): Likewise.
14886         * modules/uniconv/base (License): Likewise.
14887         * modules/uniconv/u8-conv-from-enc (License): Likewise.
14888         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
14889         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
14890         * modules/unictype/base (License): Likewise.
14891         * modules/unictype/bidiclass-of (License): Likewise.
14892         * modules/unictype/category-M (License): Likewise.
14893         * modules/unictype/category-none (License): Likewise.
14894         * modules/unictype/category-of (License): Likewise.
14895         * modules/unictype/category-test (License): Likewise.
14896         * modules/unictype/category-test-withtable (License): Likewise.
14897         * modules/unictype/combining-class (License): Likewise.
14898         * modules/unictype/joiningtype-of (License): Likewise.
14899         * modules/unictype/scripts (License): Likewise.
14900         * modules/uninorm/base (License): Likewise.
14901         * modules/uninorm/canonical-decomposition (License): Likewise.
14902         * modules/uninorm/composition (License): Likewise.
14903         * modules/uninorm/decompose-internal (License): Likewise.
14904         * modules/uninorm/decomposition-table (License): Likewise.
14905         * modules/uninorm/nfc (License): Likewise.
14906         * modules/uninorm/nfd (License): Likewise.
14907         * modules/uninorm/u32-normalize (License): Likewise.
14908         * modules/unistr/base (License): Likewise.
14909         * modules/unistr/u32-cpy (License): Likewise.
14910         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
14911         * modules/unistr/u32-to-u8 (License): Likewise.
14912         * modules/unistr/u32-uctomb (License): Likewise.
14913         * modules/unistr/u8-check (License): Likewise.
14914         * modules/unistr/u8-mblen (License): Likewise.
14915         * modules/unistr/u8-mbtouc (License): Likewise.
14916         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
14917         * modules/unistr/u8-mbtoucr (License): Likewise.
14918         * modules/unistr/u8-prev (License): Likewise.
14919         * modules/unistr/u8-strlen (License): Likewise.
14920         * modules/unistr/u8-to-u32 (License): Likewise.
14921         * modules/unistr/u8-uctomb (License): Likewise.
14922         * modules/unitypes (License): Likewise.
14923         Requested by Simon Josefsson.
14924
14925 2011-03-29  Simon Josefsson  <simon@josefsson.org>
14926
14927         lib-symbol-visibility: Add a notice.
14928         * modules/lib-symbol-visibility (Notice): New field.
14929
14930 2011-03-29  Bruno Haible  <bruno@clisp.org>
14931
14932         getaddrinfo: Doc fix.
14933         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
14934         section "fixed in Gnulib".
14935
14936 2011-03-28  Simon Josefsson  <simon@josefsson.org>
14937
14938         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
14939         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
14940
14941 2011-03-26  Bruno Haible  <bruno@clisp.org>
14942
14943         unictype/property-byname: Reduce the number of load-time relocations.
14944         * lib/unictype/pr_byname.c: Include <stdlib.h>.
14945         (UC_PROPERTY_INDEX_*): New enumeration values.
14946         (uc_property_byname): Convert an index from the lookup table to an
14947         uc_property_t.
14948         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
14949         values.
14950
14951 2011-03-26  Bruno Haible  <bruno@clisp.org>
14952
14953         unictype/property-byname: Allow omitted word separators and aliases.
14954         * lib/unictype/pr_byname.gperf: Add property names without word
14955         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
14956         for 'space'.
14957
14958 2011-03-26  Bruno Haible  <bruno@clisp.org>
14959
14960         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
14961         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
14962         also hyphens to space.
14963         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
14964         without spaces.
14965         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
14966
14967 2011-03-26  Bruno Haible  <bruno@clisp.org>
14968
14969         unictype/joiningtype-byname: Recognize long names as well.
14970         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
14971         a long name.
14972         * lib/unictype/joiningtype_byname.c: Include <string.h>,
14973         unictype/joiningtype_byname.h.
14974         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
14975         * lib/unictype/joiningtype_byname.gperf: New file.
14976         * modules/unictype/joiningtype-byname (Files): Add
14977         lib/unictype/joiningtype_byname.gperf.
14978         (Depends-on): Add gperf.
14979         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
14980         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
14981         long names.
14982
14983         Tests for module 'unictype/joiningtype-longname'.
14984         * modules/unictype/joiningtype-longname-tests: New file.
14985         * tests/unictype/test-joiningtype_longname.c: New file.
14986
14987         New module 'unictype/joiningtype-longname'.
14988         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
14989         * lib/unictype/joiningtype_longname.c: New file.
14990         * modules/unictype/joiningtype-longname: New file.
14991         * modules/unictype/joiningtype-all (Depends-on): Add
14992         unictype/joiningtype-longname.
14993
14994 2011-03-26  Bruno Haible  <bruno@clisp.org>
14995
14996         unictype/bidiclass-byname: Recognize long names as well.
14997         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
14998         name.
14999         * lib/unictype/bidi_byname.c: Include <string.h>,
15000         unictype/bidi_byname.h.
15001         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
15002         * lib/unictype/bidi_byname.gperf: New file.
15003         * modules/unictype/bidiclass-byname (Files): Add
15004         lib/unictype/bidi_byname.gperf.
15005         (Depends-on): Add gperf.
15006         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
15007         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
15008         long names.
15009
15010         Tests for module 'unictype/bidiclass-longname'.
15011         * modules/unictype/bidiclass-longname-tests: New file.
15012         * tests/unictype/test-bidi_longname.c: New file.
15013
15014         New module 'unictype/bidiclass-longname'.
15015         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
15016         * lib/unictype/bidi_longname.c: New file.
15017         * modules/unictype/bidiclass-longname: New file.
15018         * modules/unictype/bidiclass-all (Depends-on): Add
15019         unictype/bidiclass-longname.
15020
15021 2011-03-26  Bruno Haible  <bruno@clisp.org>
15022
15023         unictype/bidi*: Rename modules.
15024         * modules/unictype/bidiclass-all: Renamed from
15025         modules/unictype/bidicategory-all.
15026         * modules/unictype/bidiclass-name: Renamed from
15027         modules/unictype/bidiclass-name.
15028         (Description): Update.
15029         * modules/unictype/bidiclass-name-tests: Renamed from
15030         modules/unictype/bidicategory-name-tests.
15031         * modules/unictype/bidiclass-byname: Renamed from
15032         modules/unictype/bidicategory-byname.
15033         (Description): Update.
15034         * modules/unictype/bidiclass-byname-tests: Renamed from
15035         modules/unictype/bidicategory-byname-tests.
15036         * modules/unictype/bidiclass-of: Renamed from
15037         modules/unictype/bidicategory-of.
15038         (Description): Update.
15039         * modules/unictype/bidiclass-of-tests: Renamed from
15040         modules/unictype/bidicategory-of-tests.
15041         * modules/unictype/bidiclass-test: Renamed from
15042         modules/unictype/bidicategory-test.
15043         (Description): Update.
15044         * modules/unictype/bidiclass-test-tests: Renamed from
15045         modules/unictype/bidicategory-test-tests.
15046         * modules/unictype/bidicategory-all: New file, a simple redirection.
15047         * modules/unictype/bidicategory-name: Likewise.
15048         * modules/unictype/bidicategory-byname: Likewise.
15049         * modules/unictype/bidicategory-of: Likewise.
15050         * modules/unictype/bidicategory-test: Likewise.
15051         * modules/unictype/property-bidi-* (Dependencies): Update.
15052         * lib/unictype/bidi_*.c: Update comment.
15053
15054 2011-03-26  Bruno Haible  <bruno@clisp.org>
15055
15056         unictype/bidi*: Rename functions, part 2.
15057         * modules/unictype/bidicategory-name (configure.ac): Update required
15058         libunistring version.
15059         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
15060
15061 2011-03-25  Bruno Haible  <bruno@clisp.org>
15062
15063         New module 'unictype/combining-class-all'.
15064         * modules/unictype/combining-class-all: New file.
15065
15066         Tests for module 'unictype/combining-class-byname'.
15067         * modules/unictype/combining-class-byname-tests: New file.
15068         * tests/unictype/test-combiningclass_byname.c: New file.
15069
15070         New module 'unictype/combining-class-byname'.
15071         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
15072         * lib/unictype/combiningclass_byname.c: New file.
15073         * lib/unictype/combiningclass_byname.gperf: New file.
15074         * modules/unictype/combining-class-byname: New file.
15075
15076         Tests for module 'unictype/combining-class-longname'.
15077         * modules/unictype/combining-class-longname-tests: New file.
15078         * tests/unictype/test-combiningclass_longname.c: New file.
15079
15080         New module 'unictype/combining-class-longname'.
15081         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
15082         * lib/unictype/combiningclass_longname.c: New file.
15083         * modules/unictype/combining-class-longname: New file.
15084
15085         Tests for module 'unictype/combining-class-name'.
15086         * modules/unictype/combining-class-name-tests: New file.
15087         * tests/unictype/test-combiningclass_name.c: New file.
15088
15089         New module 'unictype/combining-class-name'.
15090         * lib/unictype.in.h (uc_combining_class_name): New declaration.
15091         * lib/unictype/combiningclass_name.c: New file.
15092         * modules/unictype/combining-class-name: New file.
15093
15094 2011-03-25  Bruno Haible  <bruno@clisp.org>
15095
15096         unictype/combining-class: Rename source files.
15097         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
15098         of unictype/combining.h.
15099         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
15100         Update.
15101         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
15102         * modules/unictype/combining-class (Description): Fix.
15103         (Files, Makefile.am): Update.
15104         * tests/unictype/test-combiningclass.c: Renamed from
15105         tests/unictype/test-combining.c.
15106         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
15107
15108 2011-03-25  Bruno Haible  <bruno@clisp.org>
15109
15110         unictype: Update list of canonical combining classes.
15111         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
15112
15113 2011-03-25  Bruno Haible  <bruno@clisp.org>
15114
15115         unictype/category-byname: Recognize long names as well.
15116         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
15117         a long name.
15118         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
15119         unictype/categ_byname.h.
15120         (UC_CATEGORY_INDEX_*): New enumeration values.
15121         (uc_general_category_byname): Use uc_general_category_lookup and
15122         convert from index to value.
15123         * lib/unictype/categ_byname.gperf: New file.
15124         * modules/unictype/category-byname (Files): Add
15125         lib/unictype/categ_byname.gperf.
15126         (Depends-on): Add gperf.
15127         (Makefile.am): Add rule for generating unictype/categ_byname.h.
15128         * tests/unictype/test-categ_byname.c (main): Test the recognition of
15129         long names.
15130
15131         Tests for module 'unictype/category-longname'.
15132         * modules/unictype/category-longname-tests: New file.
15133         * tests/unictype/test-categ_longname.c: New file.
15134
15135         New module 'unictype/category-longname'.
15136         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
15137         * lib/unictype/categ_longname.c: New file.
15138         * modules/unictype/category-longname: New file.
15139         * modules/unictype/category-all (Depends-on): Add it.
15140
15141 2011-03-25  Bruno Haible  <bruno@clisp.org>
15142
15143         Tests for module 'unictype/category-LC'.
15144         * modules/unictype/category-LC-tests: New file.
15145         * tests/unictype/test-categ_LC.c: New file, automatically generated.
15146
15147         New module 'unictype/category-LC'.
15148         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
15149         (UC_CATEGORY_LC): New declaration.
15150         (UC_CASED_LETTER): New macro.
15151         * lib/gen-uni-tables.c (is_category_LC): New function.
15152         (output_categories): Also handle category LC.
15153         (UC_CATEGORY_MASK_LC): New enumeration value.
15154         (general_category_byname): Also handle category LC.
15155         * lib/unictype/categ_LC.c: New file.
15156         * lib/unictype/categ_LC.h: New file, automatically generated.
15157         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
15158         category LC.
15159         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
15160         * modules/unictype/category-LC: New file.
15161         * modules/unictype/category-byname (Depends-on): Add
15162         unictype/category-LC.
15163         * modules/unictype/category-all (Depends-on): Likewise.
15164
15165 2011-03-25  Eric Blake  <eblake@redhat.com>
15166
15167         xmalloc: revert yesterday's regression
15168         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
15169         realloc's underlying behavior (allowing allocation of zero-size
15170         objects, especially if malloc-gnu is also in use).
15171
15172 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
15173
15174         maint.mk: add missing version to VC-tag
15175         * top/maint.mk: git tag was missing actual tag name; add it.
15176
15177         valgrind: do leak checking, and exit with code 1 on error (not 0)
15178         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
15179         to VALGRIND.
15180
15181 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
15182
15183         posix-modules: say what it does.
15184         * posix-modules: Add a line to the --help output saying what it does.
15185
15186 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
15187
15188         xmalloc: Do not leak if underlying realloc is C99 compatible.
15189         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
15190         This avoids a leak on C99-based systems.  See
15191         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
15192
15193 2011-03-24  Eric Blake  <eblake@redhat.com>
15194
15195         realloc: document portability problem
15196         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
15197         passing 0 size to realloc.
15198
15199 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
15200
15201         doc: update users.txt
15202         * users.txt: Add cvsps, tmpwatch
15203
15204 2011-03-23  Matt Rice  <ratmice@gmail.com>
15205
15206         doc: update users.txt
15207         * users.txt: Add gdb.
15208
15209 2011-03-23  Jim Meyering  <meyering@redhat.com>
15210
15211         doc: update users.txt
15212         Looking through matches up to the following URL (there are still
15213         several more pages), I found several projects that use gnulib:
15214         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
15215         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
15216         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
15217
15218 2011-03-22  Bruno Haible  <bruno@clisp.org>
15219
15220         unictype/bidi*: Rename functions.
15221         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
15222         uc_bidi_class, uc_is_bidi_class): New declarations.
15223         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
15224         uc_bidi_category_byname.
15225         (uc_bidi_category_byname): New function.
15226         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
15227         u_bidi_category_name.
15228         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
15229         (uc_bidi_category_name): New function.
15230         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
15231         uc_bidi_category.
15232         (uc_bidi_category): New function.
15233         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
15234         uc_is_bidi_category. Invoke uc_bidi_class.
15235         (uc_is_bidi_category): New function.
15236         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
15237         instead of uc_bidi_category_byname.
15238         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
15239         instead of uc_bidi_category_name.
15240         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
15241         uc_bidi_category.
15242         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
15243         instead of uc_is_bidi_category.
15244
15245 2011-03-21  Bruno Haible  <bruno@clisp.org>
15246
15247         New module 'unictype/joininggroup-all'.
15248         * modules/unictype/joininggroup-all: New file.
15249
15250         Tests for module 'unictype/joininggroup-of'.
15251         * modules/unictype/joininggroup-of-tests: New file.
15252         * tests/unictype/test-joininggroup_of.c: New file.
15253         * tests/unictype/test-joininggroup_of.h: New file, automatically
15254         generated by gen-uni-tables.
15255
15256         New module 'unictype/joininggroup-of'.
15257         * modules/unictype/joininggroup-of: New file.
15258         * lib/unictype/joininggroup_of.c: New file.
15259         * lib/unictype/joininggroup_of.h: New file, automatically generated by
15260         gen-uni-tables.
15261
15262         Tests for module 'unictype/joininggroup-byname'.
15263         * modules/unictype/joininggroup-byname-tests: New file.
15264         * tests/unictype/test-joininggroup_byname.c: New file.
15265
15266         New module 'unictype/joininggroup-byname'.
15267         * modules/unictype/joininggroup-byname: New file.
15268         * lib/unictype/joininggroup_byname.c: New file.
15269         * lib/unictype/joininggroup_byname.gperf: New file.
15270
15271         Tests for module 'unictype/joininggroup-name'.
15272         * modules/unictype/joininggroup-name-tests: New file.
15273         * tests/unictype/test-joininggroup_name.c: New file.
15274
15275         New module 'unictype/joininggroup-name'.
15276         * modules/unictype/joininggroup-name: New file.
15277         * lib/unictype/joininggroup_name.c: New file.
15278         * lib/unictype/joininggroup_name.h: New file.
15279
15280         New module 'unictype/joiningtype-all'.
15281         * modules/unictype/joiningtype-all: New file.
15282
15283         Tests for module 'unictype/joiningtype-of'.
15284         * modules/unictype/joiningtype-of-tests: New file.
15285         * tests/unictype/test-joiningtype_of.c: New file.
15286         * tests/unictype/test-joiningtype_of.h: New file, automatically
15287         generated by gen-uni-tables.
15288
15289         New module 'unictype/joiningtype-of'.
15290         * modules/unictype/joiningtype-of: New file.
15291         * lib/unictype/joiningtype_of.c: New file.
15292         * lib/unictype/joiningtype_of.h: New file, automatically generated by
15293         gen-uni-tables.
15294
15295         Tests for module 'unictype/joiningtype-byname'.
15296         * modules/unictype/joiningtype-byname-tests: New file.
15297         * tests/unictype/test-joiningtype_byname.c: New file.
15298
15299         New module 'unictype/joiningtype-byname'.
15300         * modules/unictype/joiningtype-byname: New file.
15301         * lib/unictype/joiningtype_byname.c: New file.
15302
15303         Tests for module 'unictype/joiningtype-name'.
15304         * modules/unictype/joiningtype-name-tests: New file.
15305         * tests/unictype/test-joiningtype_name.c: New file.
15306
15307         New module 'unictype/joiningtype-name'.
15308         * modules/unictype/joiningtype-name: New file.
15309         * lib/unictype/joiningtype_name.c: New file.
15310
15311         unictype: Add support for Arabic shaping properties.
15312         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
15313         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
15314         declarations.
15315         (UC_JOINING_GROUP_*): New enumeration values.
15316         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
15317         declarations.
15318         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
15319         (unicode_joining_type): New variable.
15320         (UC_JOINING_GROUP_*): New enumeration values.
15321         (unicode_joining_group): New variable.
15322         (fill_arabicshaping, joining_type_as_c_identifier,
15323         output_joining_type_test, output_joining_type,
15324         joining_group_as_c_identifier, output_joining_group_test,
15325         output_joining_group): New functions.
15326         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
15327         fill_arabicshaping and output_joining_type_test, output_joining_type,
15328         output_joining_group_test, output_joining_group.
15329         Reported by Simon Josefsson.
15330
15331 2011-03-21  Jim Meyering  <meyering@redhat.com>
15332
15333         strftime: fix a bug in yesterday's change
15334         * lib/strftime.c (add): Accommodate width's initial value of -1.
15335         Otherwise, nstrftime would copy uninitialized data into
15336         the result buffer.
15337
15338 2011-03-21  Jim Meyering  <meyering@redhat.com>
15339
15340         tests: add strftime-tests module
15341         * tests/test-strftime.c: New file.
15342         * modules/strftime-tests: New module.
15343
15344 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
15345
15346         strftime: don't assume a byte count fits in 'int'
15347         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
15348         found this problem by static analysis, using gcc -Wstrict-overflow
15349         (GCC 4.5.2, x86-64).  This reported an optimization that depended
15350         on an integer overflow having undefined behavior, but it turns out
15351         that the argument is a size, which might not fit in 'int' anyway,
15352
15353 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
15354
15355         stdio: don't require ignore_value around fwrite
15356
15357         This patch works around libc bug 11959
15358         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
15359         Without this patch, applications must often write
15360         ignore_value (fwrite (...)) even though the ignore_value is
15361         not helpful here.  It's common to write many objects, using
15362         fwrite/printf/etc., and then use ferror to detect output error.
15363
15364         I considered making this patch optional, but decided against it,
15365         because libc is obviously being inconsistent here: there is no
15366         reason libc should insist that user code must inspect fwrite
15367         return's value without also insisting that it inspect printf's,
15368         putchar's, etc.  If user code wants to have a strict style where
15369         all these functions' values are checked (so that ferror need not
15370         be checked), we could add support for that style in a new gnulib
15371         module, but in the meantime it's better to be consistent and to
15372         support common usage.
15373
15374         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
15375         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
15376         that we are compiling in checking mode, and if not C++, and
15377         if not already wrapping fwrite for some other reason.
15378         (fwrite): #define to rpl_fwrite if the latter is defined.
15379
15380 2011-03-20  Bruno Haible  <bruno@clisp.org>
15381
15382         verror: Fix compilation error introduced on 2011-02-13.
15383         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
15384         instead of __attribute__.
15385         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15386
15387 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
15388             Bruno Haible  <bruno@clisp.org>
15389
15390         socklen: do not depend on sys_socket
15391         While trying to modify Emacs to use gnulib's socklen module,
15392         I discovered a circular dependency: socklen depends on sys_socket
15393         and vice versa.  Emacs can use socklen, but it does not need
15394         sys_socket because it has its own substitute for sys/socket.h.
15395         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
15396         gl_TYPE_SOCKLEN_T.
15397         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
15398         gl_PREREQ_SYS_H_SOCKET.
15399         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
15400         gl_PREREQ_SYS_H_SOCKET.
15401         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
15402         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
15403         * modules/socklen (Depends-on): Do not depend on sys_socket.
15404         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
15405
15406 2011-03-20  Jim Meyering  <meyering@redhat.com>
15407
15408         maint.mk: sort file names *after* new transformation
15409         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
15410         prefix would have led to an unwarranted failure in GNU parted.
15411         Sort after that transformation.
15412
15413 2011-03-19  Jim Meyering  <meyering@redhat.com>
15414
15415         maint.mk: fix po-file syntax-check rule
15416         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
15417         Patch by Bruno Haible.
15418
15419 2011-03-19  Bruno Haible  <bruno@clisp.org>
15420
15421         socklen: Update comment.
15422         * m4/socklen.m4: Update comment about platforms.
15423
15424 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
15425             Bruno Haible  <bruno@clisp.org>
15426
15427         inet_ntop, inet_pton: Simplify.
15428         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
15429         documented to provide socklen_t and we already depend on sys_socket.
15430         * modules/inet_pton (Depends-on): Likewise.
15431         * lib/arpa_inet.in.h: Adjust comment.
15432
15433 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
15434             Bruno Haible  <bruno@clisp.org>
15435
15436         netdb: Simplify.
15437         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
15438         documented to provide socklen_t and we already depend on sys_socket.
15439         * lib/netdb.in.h: Adjust comment.
15440
15441 2011-03-19  Bruno Haible  <bruno@clisp.org>
15442
15443         sys_socket, netdb: Document problem with socklen_t.
15444         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
15445         platforms.
15446         * doc/posix-headers/netdb.texi: Likewise.
15447
15448 2011-03-18  Eric Blake  <eblake@redhat.com>
15449
15450         maint.mk: let po check work in VPATH build
15451         * top/maint.mk (po_file): Allow cfg.mk override.
15452         (sc_po_check): Allow VPATH use.
15453         Reported by Jiri Denemark.
15454
15455 2011-03-16  Jim Meyering  <meyering@redhat.com>
15456
15457         maint.mk: allow fine-grained syntax-check exclusion via Make variables
15458         Before, you would have had to create one .x-sc_ file per rule in order
15459         to exempt offending files.  Now, you may instead use a Make variable --
15460         usually defined in cfg.mk -- whose name identifies the affected rule.
15461         * top/maint.mk (_sc_excl): Define.
15462         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
15463         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
15464
15465 2011-03-13  Bruno Haible  <bruno@clisp.org>
15466
15467         ignore-value tests: Avoid warnings.
15468         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
15469         empty for gcc < 3.4.
15470
15471 2011-03-13  Bruno Haible  <bruno@clisp.org>
15472
15473         passfd: Fix link error on Solaris.
15474         * modules/passfd (Description): Correct.
15475         (Depends-on): Add socketlib.
15476         (Link): New section.
15477         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
15478
15479 2011-03-13  Bruno Haible  <bruno@clisp.org>
15480
15481         passfd: Fix link error on AIX 5.2.
15482         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
15483
15484 2011-03-13  Bruno Haible  <bruno@clisp.org>
15485
15486         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
15487         * lib/sys_socket.in.h: Include <stddef.h>.
15488         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
15489         CMSG_FIRSTHDR. Remove unused variable.
15490
15491 2011-03-13  Bruno Haible  <bruno@clisp.org>
15492
15493         passfd: Fix compilation error on OpenBSD.
15494         * lib/passfd.c: Include <sys/uio.h>.
15495
15496 2011-03-13  Bruno Haible  <bruno@clisp.org>
15497
15498         passfd test: Fix warnings.
15499         * tests/test-passfd.c: Include <sys/wait.h>.
15500         (main): Fix typo.
15501
15502 2011-03-13  Bruno Haible  <bruno@clisp.org>
15503
15504         passfd module, part 4, tweaks.
15505         * tests/test-passfd.c: Reorder includes.
15506         (main): Fix perror and printf calls.
15507
15508 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
15509
15510         passfd module, part 4.
15511         * modules/passfd-tests: New file.
15512         * tests/test-passfd.c: New file.
15513
15514 2011-03-13  Jim Meyering  <meyering@redhat.com>
15515
15516         Makefile: rely on GNU make; derive syntax-check rule names
15517         Rather than requiring that each sc_ rule be listed as a dependent
15518         of "check", use features of GNU make to derive the list.
15519         * Makefile (syntax-check-rules): Define.
15520         (check): Depend on the new variable, not the hard-coded list.
15521
15522 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
15523             Bruno Haible  <bruno@clisp.org>
15524
15525         passfd module, part 3.
15526         * lib/passfd.h (recvfd): Add a flags argument.
15527         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
15528         (recvfd): Add a flags argument.
15529         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
15530         exists.
15531         * modules/passfd (Depends-on): Add cloexec.
15532         Suggested by Eric Blake.
15533
15534 2011-03-13  Bruno Haible  <bruno@clisp.org>
15535
15536         passfd module, part 2, tweaks.
15537         * modules/passfd (Files): Reorder.
15538         (Depends-on): Remove errno.
15539         (Include): Remove <sys/socket.h>, <sys/un.h>.
15540         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
15541         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
15542         specification header. Include <sys/socket.h> always. Don't include
15543         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
15544         (sendfd): Clarify that it sets errno when it fails.
15545         (recvfd): Fix specification.
15546
15547 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
15548
15549         passfd module, part 2.
15550         * modules/passfd: New file.
15551         * lib/passfd.h: New file.
15552         * lib/passfd.c: New file.
15553
15554 2011-03-12  Bruno Haible  <bruno@clisp.org>
15555
15556         wcswidth, mbswidth: Avoid integer overflow.
15557         * lib/wcswidth.c: Include <limits.h>.
15558         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
15559         * lib/mbswidth.c: Include <limits.h>.
15560         (mbsnwidth): Avoid 'int' overflow.
15561         Reported by Jim Meyering.
15562
15563 2011-03-12  Bruno Haible  <bruno@clisp.org>
15564
15565         futimens, utimensat: Avoid endless recursion on Solaris 10.
15566         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
15567         Solaris.
15568         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
15569         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
15570
15571 2011-03-11  Jim Meyering  <meyering@redhat.com>
15572
15573         maint.mk: relax a regexp to accommodate other formatting styles
15574         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
15575         between "ngettext" and the following "(".
15576
15577 2011-03-11  Pádraig Brady <P@draigBrady.com>
15578
15579         maint.mk: suppress a false positive warning
15580         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
15581         diagnostics are marked with ngettext.
15582
15583 2011-03-10  Eric Blake  <eblake@redhat.com>
15584
15585         wchar: add explicit dependencies, for Tru64
15586         * modules/mbmemcasecoll (Depends-on): Add wchar.
15587         * modules/mbtowc (Depends-on): Likewise.
15588         * modules/vasnprintf (Depends-on): Likewise.
15589         * modules/unistdio/u-printf-args (Depends-on): Likewise.
15590         * modules/wctomb (Depends-on): Likewise.
15591         Reported by Peter O'Gorman.
15592
15593 2011-03-08  Bruno Haible  <bruno@clisp.org>
15594
15595         passfd module, part 1, tweaks.
15596         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
15597         Improve indentation. Improve AC_MSG_CHECKING messages.
15598         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
15599         gl_SOCKET_FAMILIES.
15600
15601 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
15602
15603         passfd module, part 1.
15604         * m4/afunix.m4: New file.
15605         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
15606         sockets.
15607
15608 2011-03-08  Bruno Haible  <bruno@clisp.org>
15609
15610         regex-quote: New API.
15611         * lib/regex-quote.h: Include <stdbool.h>.
15612         (struct regex_quote_spec): New type.
15613         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
15614         New declarations.
15615         (regex_quote_length, regex_quote_copy, regex_quote): Take a
15616         'const struct regex_quote_spec *' argument.
15617         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
15618         (pcre_special): New constant.
15619         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
15620         New functions.
15621         (regex_quote_length, regex_quote_copy, regex_quote): Take a
15622         'const struct regex_quote_spec *' argument.
15623         * modules/regex-quote (Depends-on): Add stdbool.
15624         * tests/test-regex-quote.c (check): Update for new API. Add test for
15625         anchored results.
15626         * NEWS: Mention the API change.
15627         Reported by Reuben Thomas and Eric Blake.
15628
15629 2011-03-06  Bruno Haible  <bruno@clisp.org>
15630
15631         regex-quote: Fix creation of POSIX extended regular expressions.
15632         * lib/regex-quote.c (ere_special): Add grouping and alternation
15633         operators.
15634
15635 2011-03-05  Bruno Haible  <bruno@clisp.org>
15636
15637         doc: Improve doc regarding autopoint vs. gnulib.
15638         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
15639         disable autopoint while running autoreconf.
15640         Suggested by Ralf Wildenhues.
15641
15642 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15643
15644         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
15645         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
15646
15647 2011-03-03  Bruce Korb  <bkorb@gnu.org>
15648
15649         parse-duration: remove xalloc.h dependency
15650         * lib/parse-duration.c (parse_period): handle NULL return from
15651         strdup instead of calling xstrdup().
15652         * modules/parse-duration: remove "xalloc" dependency
15653
15654 2011-03-03  Matthew Booth  <mbooth@redhat.com>
15655
15656         bootstrap: honor m4_base when running aclocal
15657         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
15658
15659 2011-03-02  Jim Meyering  <meyering@redhat.com>
15660
15661         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
15662         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
15663         on request from Matt Booth.
15664
15665 2011-03-01  Eric Blake  <eblake@redhat.com>
15666
15667         test-link: work on Hurd
15668         * tests/test-link.h (test_link): Hurd rejects linking directories
15669         with EISDIR instead of the POSIX-mandated EPERM.
15670
15671 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
15672
15673         stdio: simplify by moving files to printf-posix, sigpipe
15674         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
15675         since this symbol is needed only if printf is replaced.
15676         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
15677         Require gl_ASM_SYMBOL_PREFIX.
15678         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
15679         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
15680         (Depends-on): Add 'raise'.
15681         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
15682         * modules/stdio (Files): Remove lib/stdio-write.c,
15683         m4/asm-underscore.m4.
15684         (Depends-on): Remove 'raise'.
15685
15686         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
15687         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
15688         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
15689         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
15690
15691 2011-02-28  Bruno Haible  <bruno@clisp.org>
15692
15693         localcharset: Assume ANSI C behaviour of free().
15694         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
15695         calling free().
15696         Suggested by Simon Josefsson <simon@josefsson.org>.
15697
15698 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
15699             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
15700             Bruno Haible  <bruno@clisp.org>  (tiny change)
15701
15702         On Cygwin, use /proc file system instead of win32 API.
15703         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
15704         Win32 file names.
15705         (DllMain): Simplify by removing Cygwin specific code.
15706         (find_shared_library_fullname): Use Linux specific implementation also
15707         for Cygwin.
15708         (get_shared_library_fullname): Update accordingly.
15709         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
15710         Win32 file names.
15711         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
15712         Cygwin specific code.
15713
15714 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
15715             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
15716
15717         Fix OpenMP flag detection for various Fortran compilers.
15718         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
15719         OpenMP-conditional compilation construct, to force compile
15720         failure with missing OpenMP flag.
15721         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
15722
15723 2011-02-25  Eric Blake  <eblake@redhat.com>
15724
15725         strstr: expand test coverage
15726         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
15727         compilation.
15728         * tests/test-memmem.c (main): Duplicate tests.
15729         * tests/test-strcasestr.c (main): Likewise.
15730         * tests/test-c-strcasestr.c (main): Likewise.
15731
15732 2011-02-25  Jim Meyering  <meyering@redhat.com>
15733
15734         maint.mk: detect missing-NL-at-EOF, too
15735         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
15736         it also detects when a file lacks a newline at EOF.
15737         (require_exactly_one_NL_at_EOF_): Renamed from
15738         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
15739         since people may well have .x-sc_... file names tied to the
15740         existing name.  Suggested by Eric Blake.
15741
15742 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
15743
15744         dirname: move m4/dos.m4 functionality into lib/dosname.h
15745
15746         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
15747         extracts symbols from it, puts them into config.h; but it's much
15748         easier to use the symbols directly.  filename.h already does this,
15749         but it disagrees with dos.m4 in some respects.  This patch
15750         introduces a different include file dosname.h that packages up
15751         dos.m4, and then later we can work on merging filename.h and
15752         dosname.h.  Applications that need only the easy-to-configure
15753         symbols should consider including dosname.h rather than dirname.h.
15754         * NEWS: Mention incompatible changes.
15755         * m4/dos.m4: Remove.
15756         * lib/dosname.h, modules/dosname: New files.
15757         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
15758         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
15759         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
15760         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
15761         Include dosname.h, not dirname.h.
15762         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
15763         Include dosname.h, for definitions of symbols like ISSLASH
15764         that used to be in config.h.
15765         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
15766         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
15767         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
15768         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
15769         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
15770         * modules/rmdir (Files): Likewise.
15771         * modules/stat (Files): Likewise.
15772         * modules/unlink (Files): Likewise.
15773         * modules/dirname-lgpl (Depends-on): Add dosname.
15774         * modules/lstat (Depends-on): Likewise.
15775         * modules/openat (Depends-on): Likewise.
15776         * modules/rmdir (Depends-on): Likewise.
15777         * modules/savewd (Depends-on): Likewise.
15778         * modules/stat (Depends-on): Likewise.
15779         * modules/unlink (Depends-on): Likewise.
15780         * modules/openat (Depends-on): Remove dirname-lgpl.
15781         * modules/savewd (Depends-on): Likewise.
15782         * tests/test-dirname.c: Do not use removed symbols like
15783         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
15784         the remaining symbols, e.g., ISSLASH ('\\').
15785
15786 2011-02-25  Eric Blake  <eblake@redhat.com>
15787
15788         strstr: revert patches that introduced bug and pessimization
15789         * lib/str-two-way.h: Add another reference.
15790         (two_way_short_needle, two_way_long_needle): Revert changes from
15791         2011-02-24; they pessimize search speed.
15792         (critical_factorization): Partially revert changes from
15793         2010-06-22; they violate the requirement that the left half of the
15794         needle be smaller than the period of the needle.
15795
15796 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
15797
15798         filenamecat: remove unnecessary dependency on dirname-lgpl
15799         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
15800         is no direct dependency, just an indirect one via filenamecat-lgpl.
15801
15802         remove: remove unnecessary use of m4/dos.m4
15803         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
15804         * modules/remove (FILES): Remove m4/dos.m4.
15805
15806         * lib/openat-proc.c: Don't include dirname.h; not needed.
15807
15808         backupfile: remove unnecessary use of m4/dos.m4
15809         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
15810         of its symbols are used by the backupfile code.  backupfile.c does
15811         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
15812         for the rare case of programs that want all their backup file
15813         names to live within 8+3 limits, and dos.m4 doesn't address that.
15814         * modules/backupfile (Files): Remove m4/dos.m4.
15815
15816 2011-02-24  Jim Meyering  <meyering@redhat.com>
15817
15818         strstr: fix a bug whereby strstr would mistakenly return NULL
15819         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
15820         in period calculation.
15821         (two_way_long_needle): Likewise.
15822         The original problem was reported by Mike Stump in
15823         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
15824         Ralf Wildenhues provided the short needle and haystack.
15825         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
15826         Add a more involved test to trigger the bug in two_way_long_needle.
15827
15828 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
15829
15830         gnulib-tool: remove use of bold display in help screen
15831         * gnulib-tool (func_usage): Do not use bold display anymore in the
15832         help screen.  That was just meant to be a temporary emphasis for a
15833         backward-incompatible change.
15834
15835 2011-02-23  Bruno Haible  <bruno@clisp.org>
15836
15837         Fix misindentation of preprocessor directives.
15838         * lib/argp-namefrob.h: Reindent preprocessor directives.
15839         * lib/getopt_int.h (struct _getopt_data): Likewise.
15840         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
15841         * lib/vasnprintf.c (decode_long_double): Likewise.
15842         * tests/test-argmatch.c: Insert blank lines, for clarity.
15843         * tests/test-exclude.c: Likewise.
15844
15845 2011-02-22  Bruno Haible  <bruno@clisp.org>
15846
15847         ioctl: Fix for MacOS X in 64-bit mode.
15848         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
15849         value.
15850         Suggested by Eric Blake.
15851         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
15852
15853 2011-02-22  Jim Meyering  <meyering@redhat.com>
15854
15855         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
15856         * Makefile (sc_cpp_indent_check): Don't limit the check to files
15857         in lib/.
15858
15859 2011-02-22  Eric Blake  <eblake@redhat.com>
15860
15861         maint: avoid any CDPATH issue
15862         * Makefile (sc_cpp_indent_check): Anchor cd argument.
15863
15864         maint: adjust cpp indentation for my modules, as well
15865         * Makefile (sc_cpp_indent_check): Add my name.
15866         * lib/fbufmode.c: Filter through cppi.
15867         * lib/fpurge.c: Likewise.
15868         * lib/freadable.c: Likewise.
15869         * lib/freading.c: Likewise.
15870         * lib/fwritable.c: Likewise.
15871         * lib/fwriting.c: Likewise.
15872         * lib/sigaction.c: Likewise.
15873
15874 2011-02-22  Jim Meyering  <meyering@redhat.com>
15875
15876         maint: adjust cpp indentation to reflect nesting depth
15877         I.e., in a block of code that begins with an unnested "#if",
15878         put one space between the "#" in column 1 and following token.
15879         For example,
15880         -#include <sys/vfs.h>
15881         +# include <sys/vfs.h>
15882         Do this only in .c files that are part of a module I maintain.
15883         * lib/linkat.c: Filter through cppi.
15884         * lib/nanosleep.c: Likewise.
15885         * lib/openat.c: Likewise.
15886         * lib/openat-die.c: Likewise.
15887         * lib/dup3.c: Likewise.
15888         * lib/fchownat.c: Likewise.
15889         * lib/flock.c: Likewise.
15890         * lib/fsync.c: Likewise.
15891         * lib/fts.c: Likewise.
15892         * lib/getpass.c: Likewise.
15893         * lib/gettimeofday.c: Likewise.
15894         * lib/userspec.c: Likewise.
15895         * Makefile (sc_cpp_indent_check): New rule, to check this.
15896
15897 2011-02-22  Bruno Haible  <bruno@clisp.org>
15898
15899         New module 'wctomb'.
15900         * lib/stdlib.in.h (wctomb): New declaration.
15901         * lib/wctomb.c: New file.
15902         * lib/wctomb-impl.h: New file.
15903         * m4/wctomb.m4: New file.
15904         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
15905         REPLACE_WCTOMB.
15906         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
15907         REPLACE_WCTOMB.
15908         * modules/wctomb: New file.
15909         * tests/test-stdlib-c++.cc: Test signature of wctomb.
15910         * doc/posix-functions/wctomb.texi: Mention the new module.
15911         * modules/wctob (Depends-on): Add wctomb.
15912
15913 2011-02-22  Bruno Haible  <bruno@clisp.org>
15914
15915         New module 'mbtowc'.
15916         * lib/stdlib.in.h (mbtowc): New declaration.
15917         * lib/mbtowc.c: New file.
15918         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
15919         * m4/mbtowc.m4: New file.
15920         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
15921         REPLACE_MBTOWC.
15922         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
15923         REPLACE_MBTOWC.
15924         * modules/mbtowc: New file.
15925         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
15926         * doc/posix-functions/mbtowc.texi: Mention the new module.
15927         * modules/btowc (Depends-on): Add mbtowc.
15928
15929 2011-02-22  Bruno Haible  <bruno@clisp.org>
15930
15931         wcrtomb: Add more tests for native Windows platforms.
15932         * tests/test-wcrtomb-w32-1.sh: New file.
15933         * tests/test-wcrtomb-w32-2.sh: New file.
15934         * tests/test-wcrtomb-w32-3.sh: New file.
15935         * tests/test-wcrtomb-w32-4.sh: New file.
15936         * tests/test-wcrtomb-w32-5.sh: New file.
15937         * tests/test-wcrtomb-w32.c: New file.
15938         * modules/wcrtomb-tests (Files): Add them.
15939         (Makefile.am): Arrange to run these tests.
15940         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
15941         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
15942
15943 2011-02-20  Bruno Haible  <bruno@clisp.org>
15944
15945         wcrtomb: Enhance test.
15946         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
15947
15948 2011-02-20  Bruno Haible  <bruno@clisp.org>
15949
15950         mbrtowc: Tiny optimization.
15951         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
15952
15953 2011-02-20  Jim Meyering  <meyering@redhat.com>
15954
15955         test-exclude.c: remove unmatched #endif
15956         * tests/test-exclude.c: Remove stray #endif, left over from
15957         the change of a week ago.
15958
15959 2011-02-19  Jim Meyering  <meyering@redhat.com>
15960
15961         git-version-gen: skip "-dirty" check when appropriate
15962         * build-aux/git-version-gen: Don't run any git commands when the
15963         version string comes from .tarball-version.  Prior to this, we
15964         would run git update-index --refresh even from a just-unpacked
15965         tarball directory, and that could affect a .git/ directory in a
15966         parent of the build directory.  Reported by Mike Frysinger.
15967
15968 2011-02-19  Bruno Haible  <bruno@clisp.org>
15969
15970         unictype/property-byname: Reduce the size of the 'data' segment.
15971         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
15972
15973 2011-02-19  Bruno Haible  <bruno@clisp.org>
15974
15975         unictype/scripts: Reduce the size of the 'data' segment.
15976         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
15977         '%pic'.
15978         * lib/unictype/scripts_byname.gperf: Regenerated.
15979
15980 2011-02-19  Bruno Haible  <bruno@clisp.org>
15981
15982         stdint: Update documentation.
15983         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
15984
15985 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
15986
15987         stdint: omit redundant check for wchar.h
15988         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
15989         always tests whether wchar.h exists, so remove the now-redundant test.
15990
15991 2011-02-18  Bruno Haible  <bruno@clisp.org>
15992
15993         stdint: Cut dependency to module 'wchar'.
15994         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
15995         include the necessary prerequisites.
15996         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
15997         * modules/stdint (Depends-on): Remove wchar.
15998         (Makefile.am): Substitute HAVE_WCHAR_H.
15999         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
16000
16001 2011-02-18  Eric Blake  <eblake@redhat.com>
16002
16003         longlong: skip, rather than fail, on cross-compilation
16004         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
16005         when cross-compiling; regression from 2011-02-16.
16006
16007 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
16008
16009         * NEWS: Mention 2011-02-08 change to stdlib.
16010
16011 2011-02-17  Bruno Haible  <bruno@clisp.org>
16012
16013         getloadavg: Add comments about platforms.
16014         * m4/getloadavg.m4: Add comment.
16015         * lib/getloadavg.c: Likewise.
16016
16017 2011-02-17  Bruno Haible  <bruno@clisp.org>
16018
16019         getloadavg: Fix link error on Solaris 2.6.
16020         * modules/getloadavg (Link): New section.
16021         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
16022         linking test-getloadavg.
16023         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
16024         getloadavg.
16025
16026 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
16027
16028         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
16029         It was 'int', but this doesn't match the IRIX 6.5 manual.
16030         Suggested by Bruno Haible in
16031         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
16032
16033 2011-02-17  Bruno Haible  <bruno@clisp.org>
16034
16035         havelib: Fix comments.
16036         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
16037         change.
16038
16039 2011-02-17  Bruno Haible  <bruno@clisp.org>
16040
16041         havelib: Update config.rpath.
16042         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
16043
16044 2011-02-17  Bruno Haible  <bruno@clisp.org>
16045
16046         getloadavg test: Add some plausibility checks.
16047         * tests/test-getloadavg.c (check_avg): Print a warning when the value
16048         is improbable.
16049
16050 2011-02-16  Eric Blake  <eblake@redhat.com>
16051
16052         maintainer-makefile: make syntax-check a no-op from tarballs
16053         * top/maint.mk (no-vc-detected): New rule.
16054         (local-checks-available): Use it to avoid hanging if someone tries
16055         'make syntax-check' from a tarball.  Also append to any non-syntax
16056         checks already defined in cfg.mk.
16057
16058 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
16059
16060         longlong: tune, particularly for common case of c99
16061
16062         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
16063         or running anything if c99, or if unsigned long long int does not
16064         work.  In either case, we know the answer without further tests.
16065         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
16066         it at most once, and use its results for both long long int and
16067         unsigned long long int.  This is more likely to be efficient in
16068         the common case where the program wants to check for both long
16069         long int and unsigned long long int.
16070         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
16071         since the answer is already known.
16072
16073 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
16074
16075         getloadavg: set errno
16076         * lib/getloadavg.c: Set errno when returning -1.  If no other
16077         error number looks appropriate, set it to ENOSYS if the getloadavg
16078         looks like it can't possibly ever work, ENOTSUP otherwise.
16079         Suggested by Bruno Haible in
16080         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
16081
16082         getloadavg: trim unused parts and speed up 'configure'
16083         * NEWS: Document this.
16084         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
16085         always compiled if getloadavg is absent.
16086         Move test code to ...
16087         * tests/test-getloadavg.c: New file, containing previous
16088         contents of test from lib/getloadavg.c.  It also contains
16089         suggestions by Bruno Haible in
16090         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
16091         * modules/getloadavg-tests: New file.
16092         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
16093         Do tests in the same order as they're needed for getloadavg.c.
16094         Omit setgid-related tests that generate symbols KMEM_GROUP,
16095         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
16096         Do only the tests that are needed to see whether the system has
16097         getloadavg, moving the other tests into ...
16098         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
16099         NLIST_NAME_UNION; nobody should be using it.  Do not define
16100         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
16101         relevant, as the user of this module shouldn't care how getloadavg
16102         is implemented.
16103
16104         getloadavg: omit unused var
16105         * lib/getloadavg.c (getloadavg): Omit unused local variable.
16106
16107 2011-02-15  Jim Meyering  <meyering@redhat.com>
16108
16109         doc: update users.txt
16110         * users.txt: Update iwhd's URL.
16111
16112 2011-02-13  Bruno Haible  <bruno@clisp.org>
16113
16114         Consistent macro naming for macros that use GCC __attribute__.
16115         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
16116         _ATTRIBUTE_NONNULL_.
16117         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
16118         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
16119         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
16120         ATTRIBUTE_DEPRECATED.
16121         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
16122         ATTRIBUTE_NORETURN.
16123         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16124         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16125         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16126         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16127         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
16128         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
16129         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
16130         ATTRIBUTE_SENTINEL.
16131         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
16132         ATTRIBUTE_RETURN_CHECK.
16133         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
16134         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
16135         ATTRIBUTE_NORETURN.
16136         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
16137         Reported by Paul Eggert.
16138
16139 2011-02-13  Bruno Haible  <bruno@clisp.org>
16140
16141         Don't interfere with a program's definition of __attribute__.
16142         * lib/argp.h (__attribute__): Remove definition.
16143         (_GL_ATTRIBUTE_FORMAT): New macro.
16144         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
16145         * lib/argp-fmtstream.h (__attribute__): Remove definition.
16146         (_GL_ATTRIBUTE_FORMAT): New macro.
16147         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
16148         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
16149         GCC 3 or newer.
16150         * lib/error.h (__attribute__): Remove definition.
16151         (_GL_ATTRIBUTE_FORMAT): New macro.
16152         (error, error_at_line): Use it.
16153         * lib/hash.h (__attribute__): Remove definition.
16154         (ATTRIBUTE_WUR): Update definition. Define always.
16155         * lib/openat.h (__attribute__): Remove definition.
16156         (ATTRIBUTE_NORETURN): Update definition. Define always.
16157         * lib/sigpipe-die.h (__attribute__): Remove definition.
16158         (ATTRIBUTE_NORETURN): Update definition. Define always.
16159         * lib/vasnprintf.h (__attribute__): Remove definition.
16160         (_GL_ATTRIBUTE_FORMAT): New macro.
16161         (asnprintf, vasnprintf): Use it.
16162         * lib/xalloc.h (__attribute__): Remove definition.
16163         (ATTRIBUTE_NORETURN): Update definition. Define always.
16164         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
16165         * lib/xmemdup0.h (__attribute__): Remove definition.
16166         (ATTRIBUTE_NORETURN): Update definition. Define always.
16167         * lib/xprintf.h (__attribute__): Remove definition.
16168         (_GL_ATTRIBUTE_FORMAT): New macro.
16169         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
16170         * lib/xstrtol.h (__attribute__): Remove definition.
16171         (ATTRIBUTE_NORETURN): Update definition. Define always.
16172         * lib/xvasprintf.h (__attribute__): Remove definition.
16173         (_GL_ATTRIBUTE_FORMAT): New macro.
16174         (xasprintf, xvasprintf): Use it.
16175         * tests/test-argmatch.c (__attribute__): Remove definition.
16176         (ATTRIBUTE_NORETURN): Update definition. Define always.
16177         * tests/test-exclude.c (__attribute__): Remove definition.
16178         (ATTRIBUTE_NORETURN): Update definition. Define always.
16179         Reported by Paul Eggert.
16180
16181 2011-02-13  Bruno Haible  <bruno@clisp.org>
16182
16183         mbrtowc: Add more tests for native Windows platforms.
16184         * tests/test-mbrtowc-w32-1.sh: New file.
16185         * tests/test-mbrtowc-w32-2.sh: New file.
16186         * tests/test-mbrtowc-w32-3.sh: New file.
16187         * tests/test-mbrtowc-w32-4.sh: New file.
16188         * tests/test-mbrtowc-w32-5.sh: New file.
16189         * tests/test-mbrtowc-w32.c: New file.
16190         * modules/mbrtowc-tests (Files): Add them.
16191         (Makefile.am): Arrange to run these tests.
16192         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
16193         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
16194
16195 2011-02-13  Bruno Haible  <bruno@clisp.org>
16196
16197         mbrtowc: Work around native Windows bug.
16198         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
16199         guess when no suitable locale for testing was found.
16200         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
16201
16202 2011-02-13  Bruno Haible  <bruno@clisp.org>
16203
16204         mbsinit: Work around mingw bug.
16205         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
16206         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
16207         Windows.
16208         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
16209
16210 2011-02-13  Bruno Haible  <bruno@clisp.org>
16211
16212         mbsinit: Don't crash for a NULL argument.
16213         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
16214         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
16215
16216 2011-02-13  Bruno Haible  <bruno@clisp.org>
16217
16218         Don't interfere with a program's definition of __attribute__.
16219         * lib/stdio.in.h (__attribute__): Remove definition.
16220         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
16221         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
16222         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
16223         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
16224         * lib/string.in.h (__attribute__): Remove definition.
16225         Reported by Paul Eggert.
16226
16227 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
16228
16229         stdlib: don't get in the way of non-GCC __attribute__
16230         See thread starting at
16231         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
16232         Revert previous stdlib change, installing the following instead:
16233         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
16234         to get in the way of a non-GCC compiler that supports __attribute__.
16235         (_GL_ATTRIBUTE_RETURN): New macro.
16236         (_Exit): Use it instead of __attribute__.
16237
16238 2011-02-12  Bruno Haible  <bruno@clisp.org>
16239
16240         quotearg test: Avoid test failure on mingw.
16241         * tests/test-quotearg.sh: Convert the locale identifier from native
16242         Windows syntax to Unix syntax.
16243
16244 2011-02-12  Bruno Haible  <bruno@clisp.org>
16245
16246         setlocale: Prefer gnulib's override over libintl's override.
16247         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
16248         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
16249         GNULIB_defined_setlocale is set.
16250
16251 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
16252
16253         stdlib: support non-GCC __attribute__
16254
16255         Fix a serious and tricky problem encountered when attempting to
16256         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
16257         5.5, but it crashed due to memory corruption on Solaris 10 with
16258         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
16259         bits that are otherwise zero.  This tagging is optional inside
16260         Emacs but is preferred and is used when __attribute__ ((__aligned
16261         (8))) works, as it does with both recent-enough GCC and with Sun C
16262         5.11.  However, Sun C 5.11 is not GCC and does not #define
16263         __GNUC__ and __GNUC_MINOR__.
16264
16265         When I added the getloadavg module to Emacs, it brought in
16266         stdlib.in.h, which contained this fragment:
16267
16268            #ifndef __attribute__
16269            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
16270            #  define __attribute__(Spec)   /* empty */
16271            # endif
16272            #endif
16273
16274         When files that include <stdlib.h> were compiled with Sun C 5.11,
16275         the above code disabled __attribute__ ((__aligned (8))), which
16276         caused variables to not be properly aligned, which eventually led
16277         to the pointer corruption mentioned above.  (This was a bit hard
16278         to diagnose, unfortunately.)
16279
16280         Several "#define __attribute__(X) /* empty */" code snippets need
16281         to be eradicated from Gnulib to work with non-GCC compilers that
16282         support __attribute__.  The Autoconf way to do this is to test for
16283         each kind of attribute that we want support for, and selectively
16284         enable that in source code.
16285
16286         Fix this problem just for stdlib.h, by adding a test for the
16287         __noreturn__ attribute, and change stdlib.in.h to use that test
16288         when needed.  This technique can be easily generalized to the
16289         other *.in.h files and attributes, and a similar technique can be
16290         used for *.h and *.c files.  This patch is enough to solve the
16291         problem for Emacs + getloadavg, and I thought I'd publish it for
16292         feedback before undertaking further, similar fixes in other
16293         modules.
16294
16295         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
16296         because it's not needed for stdlib.h.  It merely substitutes the
16297         value directly into stdlib.h.  We may well need to #define it, or
16298         similar symbols, for other modules, but it's nice to also have an
16299         option to not #define it for applications like Emacs that do not
16300         need it.
16301
16302         * lib/stdlib.in.h (__attribute__): Do not #define.
16303         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
16304         be defined only if the _Exit module is also used.
16305         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
16306         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
16307         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
16308         platforms.
16309         * modules/_Exit (Files): Add m4/attribute.m4.
16310         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
16311         * m4/attribute.m4: New file.
16312
16313 2011-02-12  Bruno Haible  <bruno@clisp.org>
16314
16315         wcsrtombs: Work around bug on native Windows.
16316         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
16317         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
16318         instead of len.
16319         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
16320
16321 2011-02-12  Bruno Haible  <bruno@clisp.org>
16322
16323         mbsrtowcs: Work around bug on native Windows.
16324         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
16325         against mingw bug.
16326         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
16327
16328 2011-02-12  Bruno Haible  <bruno@clisp.org>
16329
16330         Avoid setlocale bugs in tests.
16331         * modules/btowc (Dependencies): Add setlocale.
16332         * modules/c-strcase (Dependencies): Likewise.
16333         * modules/mbmemcasecmp (Dependencies): Likewise.
16334         * modules/mbmemcasecoll (Dependencies): Likewise.
16335         * modules/mbrtowc (Dependencies): Likewise.
16336         * modules/mbscasecmp (Dependencies): Likewise.
16337         * modules/mbscasestr (Dependencies): Likewise.
16338         * modules/mbschr (Dependencies): Likewise.
16339         * modules/mbscspn (Dependencies): Likewise.
16340         * modules/mbsinit (Dependencies): Likewise.
16341         * modules/mbsncasecmp (Dependencies): Likewise.
16342         * modules/mbsnrtowcs (Dependencies): Likewise.
16343         * modules/mbspbrk (Dependencies): Likewise.
16344         * modules/mbspcasecmp (Dependencies): Likewise.
16345         * modules/mbsrchr (Dependencies): Likewise.
16346         * modules/mbsrtowcs (Dependencies): Likewise.
16347         * modules/mbsspn (Dependencies): Likewise.
16348         * modules/mbsstr (Dependencies): Likewise.
16349         * modules/nl_langinfo (Dependencies): Likewise.
16350         * modules/quotearg (Dependencies): Likewise.
16351         * modules/unicase/locale-language (Dependencies): Likewise.
16352         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
16353         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
16354         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
16355         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
16356         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
16357         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
16358         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
16359         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
16360         * modules/vasnprintf-posix (Dependencies): Likewise.
16361         * modules/wcrtomb (Dependencies): Likewise.
16362         * modules/wcsnrtombs (Dependencies): Likewise.
16363         * modules/wcsrtombs (Dependencies): Likewise.
16364
16365 2011-02-12  Bruno Haible  <bruno@clisp.org>
16366
16367         setlocale: Workaround native Windows bug.
16368         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
16369         succeeds but sets LC_CTYPE to "C", report a failure.
16370         * tests/test-setlocale2.sh: New file.
16371         * tests/test-setlocale2.c: New file.
16372         * modules/setlocale-tests (Files): Add the new files.
16373         (Makefile.am): Enable test-setlocale2.sh test.
16374         * doc/posix-functions/setlocale.texi: Mention workaround.
16375
16376 2011-02-11  Bruno Haible  <bruno@clisp.org>
16377
16378         Tests for module 'setlocale'.
16379         * modules/setlocale-tests: New file.
16380         * tests/test-setlocale1.sh: New file.
16381         * tests/test-setlocale1.c: New file.
16382
16383         New module 'setlocale'.
16384         * lib/locale.in.h (setlocale): New declaration.
16385         * lib/setlocale.c: New file, based on
16386         gettext/gettext-runtime/intl/setlocale.c.
16387         * m4/setlocale.m4: New file.
16388         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
16389         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
16390         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
16391         REPLACE_SETLOCALE.
16392         * modules/setlocale: New file.
16393         * tests/test-locale-c++.cc: Test the declaration of setlocale.
16394         * doc/posix-functions/setlocale.texi: Mention the new module.
16395
16396 2011-02-11  Bruno Haible  <bruno@clisp.org>
16397
16398         Prepare for locale dependent tests on mingw.
16399         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
16400         because it has the wrong locale encoding.
16401         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
16402         French_France.1252 instead of "fr".
16403         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
16404         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
16405         because it has the wrong locale encoding.
16406         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
16407         native Windows, try Turkish_Turkey.65001.
16408         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
16409         Chinese_China.54936.
16410
16411         Prepare for locale dependent tests on mingw.
16412         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
16413         differently.
16414         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
16415         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
16416         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
16417         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
16418
16419 2011-02-11  Eric Blake  <eblake@redhat.com>
16420
16421         strptime: avoid compiler warnings
16422         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
16423         compiler warnings about dead code.
16424         Reported by Daniel P. Berrange.
16425
16426 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
16427
16428         doc: update users.txt
16429         * users.txt: Add rcs.
16430
16431 2011-02-10  John W. Eaton  <jwe@gnu.org>
16432
16433         doc: update users.txt
16434         * users.txt: Add octave.
16435
16436 2011-02-10  Jim Meyering  <meyering@redhat.com>
16437
16438         doc: update users.txt
16439         * users.txt: Add iwhd.
16440
16441 2011-02-09  Bruno Haible  <bruno@clisp.org>
16442
16443         gnulib-tool: Make copyright notice adjustment more robust.
16444         * gnulib-tool (func_import): In sed_transform_main_lib_file,
16445         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
16446         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
16447         License".
16448         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
16449
16450 2011-02-06  Bruno Haible  <bruno@clisp.org>
16451
16452         New module 'towctrans'.
16453         * modules/towctrans: New file.
16454         * lib/wctype.in.h (towctrans): New declaration.
16455         * lib/towctrans.c: New file.
16456         * lib/towctrans-impl.h: New file.
16457         * m4/towctrans.m4: New file.
16458         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
16459         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
16460         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
16461         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
16462         * doc/posix-functions/towctrans.texi: Mention the new module.
16463
16464 2011-02-06  Bruno Haible  <bruno@clisp.org>
16465
16466         New module 'wctrans'.
16467         * modules/wctrans: New file.
16468         * lib/wctype.in.h (wctrans): New declaration.
16469         * lib/wctrans.c: New file.
16470         * lib/wctrans-impl.h: New file.
16471         * m4/wctrans.m4: New file.
16472         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
16473         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
16474         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
16475         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
16476         * doc/posix-functions/wctrans.texi: Mention the new module.
16477
16478 2011-02-06  Bruno Haible  <bruno@clisp.org>
16479
16480         New module 'iswctype'.
16481         * modules/iswctype: New file.
16482         * lib/wctype.in.h (iswctype): New declaration.
16483         * lib/iswctype.c: New file.
16484         * lib/iswctype-impl.h: New file.
16485         * m4/iswctype.m4: New file.
16486         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
16487         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
16488         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
16489         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
16490         * doc/posix-functions/iswctype.texi: Mention the new module and the
16491         HP-UX 11.00 problem.
16492
16493 2011-02-06  Bruno Haible  <bruno@clisp.org>
16494
16495         New module 'wctype'.
16496         * modules/wctype: Change to represent the wctype() substitute.
16497         * lib/wctype.in.h (wctype): New declaration.
16498         * lib/wctype.c: New file.
16499         * lib/wctype-impl.h: New file.
16500         * m4/wctype.m4: New file.
16501         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
16502         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
16503         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
16504         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
16505         * doc/posix-functions/wctype.texi: Mention the new module and the
16506         HP-UX 11.00 problem.
16507
16508 2011-02-06  Bruno Haible  <bruno@clisp.org>
16509
16510         wctype-h: Ensure wctype_t and wctrans_t are defined.
16511         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
16512         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
16513         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
16514         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
16515         HAVE_WCTRANS_T.
16516         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
16517
16518 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
16519
16520         flock: fix license typo
16521
16522         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
16523         omitted.
16524
16525 2011-02-08  Bruno Haible  <bruno@clisp.org>
16526
16527         Split large sed scripts, for HP-UX sed.
16528         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
16529         to avoid HP-UX limit of 99 commands, in the near future.
16530         * modules/stdlib (Makefile.am): Likewise.
16531         * modules/unistd (Makefile.am): Likewise.
16532         * modules/wchar (Makefile.am): Likewise.
16533         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
16534         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
16535         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
16536
16537 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
16538             Bruno Haible  <bruno@clisp.org>
16539
16540         stdlib: improve random_r modularization
16541         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
16542         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
16543         you also need the random_r module to get this material right.
16544         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
16545         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
16546         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
16547
16548 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
16549
16550         stdlib: don't depend on stdint
16551         * lib/stdlib.in.h: Don't include <stdint.h> merely because
16552         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
16553         be independent of whether stdint.h is needed.
16554         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
16555         here, instead of ...
16556         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
16557         struct random_data should be using the random_r module, not just
16558         the stdlib module (which wouldn't make sense: what package needs
16559         just struct random_data without also needing random_r?).
16560         * modules/stdlib (Depends-on): Remove stdint.
16561
16562         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
16563         See the thread rooted at
16564         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
16565         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
16566         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
16567         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
16568         __VMS)); previously it was always included (via fcntl--.h).
16569         (getloadavg): Do not use c_strtod.  Instead, approximate it by
16570         hand; this is good enough for load averages.  Also, do not use
16571         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
16572         flags directly if available and don't bother otherwise.  (Packages
16573         that need the extra reliability should use the modules that define
16574         these flags on older platforms that lack them.)
16575         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
16576         fcntl-safer.
16577
16578 2011-02-08  Jim Meyering  <meyering@redhat.com>
16579
16580         di-set.h, ino-map.h: add multiple-inclusion guard
16581         Technically, the guard is required only for ino-map.h, due to its
16582         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
16583         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
16584         * lib/ino-map.h: Likewise.
16585
16586 2011-02-06  Bruno Haible  <bruno@clisp.org>
16587
16588         iswblank: Ensure declaration on glibc systems.
16589         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
16590         * modules/iswblank (Dependencies): Add 'extensions'.
16591         * doc/posix-functions/iswblank.texi: Document the glibc problem.
16592
16593 2011-02-06  Bruno Haible  <bruno@clisp.org>
16594
16595         New module 'iswblank'.
16596         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
16597         * modules/iswblank: New file.
16598         * modules/wctype-h (Files): Remove lib/iswblank.c.
16599         (Makefile.am): Substitute GNULIB_ISWBLANK.
16600         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
16601         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
16602         (gl_WCTYPE_H_DEFAULTS): New macro.
16603         (gl_WCTYPE_H): Require it. Remove iswblank related code.
16604         * modules/iswblank-tests: New file.
16605         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
16606         * tests/test-wctype-h.c (main): Remove iswblank tests.
16607         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
16608         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
16609         of 'wctype-h'.
16610         * NEWS: Mention the change.
16611         * modules/mbchar (Depends-on): Add iswblank.
16612
16613 2011-02-08  Bruno Haible  <bruno@clisp.org>
16614
16615         di-set tests: Refactor.
16616         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
16617         unnecessary includes.
16618         (ASSERT): Remove macro.
16619         (main): Make C90 compliant by avoiding variable declaration after
16620         statement.
16621         * modules/di-set-tests (Files): Add tests/macros.h.
16622
16623 2011-02-08  Bruno Haible  <bruno@clisp.org>
16624
16625         ino-map tests: Refactor.
16626         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
16627         unnecessary includes.
16628         (ASSERT): Remove macro.
16629         (main): Make C90 compliant by avoiding variable declaration after
16630         statement.
16631         * modules/ino-map-tests (Files): Add tests/macros.h.
16632
16633 2011-02-08  Jim Meyering  <meyering@redhat.com>
16634
16635         di-set: add "const" to a cast
16636         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
16637         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
16638
16639 2011-02-06  Bruno Haible  <bruno@clisp.org>
16640
16641         Rename module 'wctype' to 'wctype-h'.
16642         * modules/wctype-h: Renamed from modules/wctype.
16643         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
16644         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
16645         (Files, Depends-on, Makefile.am): Update.
16646         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
16647         (Files, Makefile.am): Update.
16648         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
16649         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
16650         * doc/posix-headers/wctype.texi: Update.
16651         * doc/posix-functions/iswalnum.texi: Update.
16652         * doc/posix-functions/iswalpha.texi: Update.
16653         * doc/posix-functions/iswblank.texi: Update.
16654         * doc/posix-functions/iswcntrl.texi: Update.
16655         * doc/posix-functions/iswdigit.texi: Update.
16656         * doc/posix-functions/iswgraph.texi: Update.
16657         * doc/posix-functions/iswlower.texi: Update.
16658         * doc/posix-functions/iswprint.texi: Update.
16659         * doc/posix-functions/iswpunct.texi: Update.
16660         * doc/posix-functions/iswspace.texi: Update.
16661         * doc/posix-functions/iswupper.texi: Update.
16662         * doc/posix-functions/iswxdigit.texi: Update.
16663         * doc/posix-functions/towlower.texi: Update.
16664         * doc/posix-functions/towupper.texi: Update.
16665         * NEWS: Mention the change.
16666         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
16667         * modules/mbchar (Dependencies): Likewise.
16668         * modules/mbswidth (Dependencies): Likewise.
16669         * modules/quotearg (Dependencies): Likewise.
16670         * modules/regex (Dependencies): Likewise.
16671         * modules/wcscasecmp (Dependencies): Likewise.
16672         * modules/wcsncasecmp (Dependencies): Likewise.
16673         * modules/wcwidth (Dependencies): Likewise.
16674
16675 2011-02-06  Bruno Haible  <bruno@clisp.org>
16676
16677         New module 'wcswidth'.
16678         * modules/wcswidth: New file.
16679         * lib/wchar.in.h (wcswidth): New declaration.
16680         * lib/wcswidth.c: New file.
16681         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
16682         * m4/wcswidth.m4: New file.
16683         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
16684         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
16685         REPLACE_WCSWIDTH.
16686         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
16687         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
16688         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
16689         * doc/posix-functions/wcswidth.texi: Mention the new module.
16690
16691 2011-02-06  Bruno Haible  <bruno@clisp.org>
16692
16693         New module 'wcstok'.
16694         * modules/wcstok: New file.
16695         * lib/wchar.in.h (wcstok): New declaration.
16696         * lib/wcstok.c: New file.
16697         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
16698         * m4/wcstok.m4: New file.
16699         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
16700         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
16701         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
16702         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
16703         * doc/posix-functions/wcstok.texi: Mention the new module.
16704
16705 2011-02-06  Bruno Haible  <bruno@clisp.org>
16706
16707         New module 'wcsstr'.
16708         * modules/wcsstr: New file.
16709         * lib/wchar.in.h (wcsstr): New declaration.
16710         * lib/wcsstr.c: New file.
16711         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
16712         * m4/wcsstr.m4: New file.
16713         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
16714         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
16715         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
16716         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
16717         * doc/posix-functions/wcsstr.texi: Mention the new module.
16718
16719 2011-02-06  Bruno Haible  <bruno@clisp.org>
16720
16721         New module 'wcspbrk'.
16722         * modules/wcspbrk: New file.
16723         * lib/wchar.in.h (wcspbrk): New declaration.
16724         * lib/wcspbrk.c: New file.
16725         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
16726         * m4/wcspbrk.m4: New file.
16727         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
16728         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
16729         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
16730         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
16731         * doc/posix-functions/wcspbrk.texi: Mention the new module.
16732
16733 2011-02-06  Bruno Haible  <bruno@clisp.org>
16734
16735         New module 'wcsspn'.
16736         * modules/wcsspn: New file.
16737         * lib/wchar.in.h (wcsspn): New declaration.
16738         * lib/wcsspn.c: New file.
16739         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
16740         * m4/wcsspn.m4: New file.
16741         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
16742         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
16743         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
16744         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
16745         * doc/posix-functions/wcsspn.texi: Mention the new module.
16746
16747 2011-02-06  Bruno Haible  <bruno@clisp.org>
16748
16749         New module 'wcscspn'.
16750         * modules/wcscspn: New file.
16751         * lib/wchar.in.h (wcscspn): New declaration.
16752         * lib/wcscspn.c: New file.
16753         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
16754         * m4/wcscspn.m4: New file.
16755         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
16756         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
16757         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
16758         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
16759         * doc/posix-functions/wcscspn.texi: Mention the new module.
16760
16761 2011-02-06  Bruno Haible  <bruno@clisp.org>
16762
16763         New module 'wcsrchr'.
16764         * modules/wcsrchr: New file.
16765         * lib/wchar.in.h (wcsrchr): New declaration.
16766         * lib/wcsrchr.c: New file.
16767         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
16768         * m4/wcsrchr.m4: New file.
16769         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
16770         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
16771         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
16772         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
16773         * doc/posix-functions/wcsrchr.texi: Mention the new module.
16774
16775 2011-02-06  Bruno Haible  <bruno@clisp.org>
16776
16777         New module 'wcschr'.
16778         * modules/wcschr: New file.
16779         * lib/wchar.in.h (wcschr): New declaration.
16780         * lib/wcschr.c: New file.
16781         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
16782         * m4/wcschr.m4: New file.
16783         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
16784         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
16785         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
16786         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
16787         * doc/posix-functions/wcschr.texi: Mention the new module.
16788
16789 2011-02-06  Bruno Haible  <bruno@clisp.org>
16790
16791         New module 'wcsdup'.
16792         * modules/wcsdup: New file.
16793         * lib/wchar.in.h (wcsdup): New declaration.
16794         * lib/wcsdup.c: New file.
16795         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
16796         * m4/wcsdup.m4: New file.
16797         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
16798         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
16799         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
16800         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
16801         * doc/posix-functions/wcsdup.texi: Mention the new module.
16802
16803 2011-02-06  Bruno Haible  <bruno@clisp.org>
16804
16805         New module 'wcsxfrm'.
16806         * modules/wcsxfrm: New file.
16807         * lib/wchar.in.h (wcsxfrm): New declaration.
16808         * lib/wcsxfrm.c: New file.
16809         * lib/wcsxfrm-impl.h: New file.
16810         * m4/wcsxfrm.m4: New file.
16811         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
16812         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
16813         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
16814         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
16815         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
16816
16817 2011-02-06  Bruno Haible  <bruno@clisp.org>
16818
16819         New module 'wcscoll'.
16820         * modules/wcscoll: New file.
16821         * lib/wchar.in.h (wcscoll): New declaration.
16822         * lib/wcscoll.c: New file.
16823         * lib/wcscoll-impl.h: New file.
16824         * m4/wcscoll.m4: New file.
16825         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
16826         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
16827         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
16828         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
16829         * doc/posix-functions/wcscoll.texi: Mention the new module.
16830
16831 2011-02-06  Bruno Haible  <bruno@clisp.org>
16832
16833         New module 'wcsncasecmp'.
16834         * modules/wcsncasecmp: New file.
16835         * lib/wchar.in.h (wcsncasecmp): New declaration.
16836         * lib/wcsncasecmp.c: New file.
16837         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
16838         * m4/wcsncasecmp.m4: New file.
16839         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
16840         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
16841         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
16842         HAVE_WCSNCASECMP.
16843         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
16844         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
16845
16846 2011-02-06  Bruno Haible  <bruno@clisp.org>
16847
16848         New module 'wcscasecmp'.
16849         * modules/wcscasecmp: New file.
16850         * lib/wchar.in.h (wcscasecmp): New declaration.
16851         * lib/wcscasecmp.c: New file.
16852         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
16853         * m4/wcscasecmp.m4: New file.
16854         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
16855         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
16856         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
16857         HAVE_WCSCASECMP.
16858         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
16859         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
16860
16861 2011-02-05  Bruno Haible  <bruno@clisp.org>
16862
16863         New module 'wcsncmp'.
16864         * modules/wcsncmp: New file.
16865         * lib/wchar.in.h (wcsncmp): New declaration.
16866         * lib/wcsncmp.c: New file.
16867         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
16868         * m4/wcsncmp.m4: New file.
16869         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
16870         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
16871         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
16872         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
16873         * doc/posix-functions/wcsncmp.texi: Mention the new module.
16874
16875 2011-02-05  Bruno Haible  <bruno@clisp.org>
16876
16877         New module 'wcscmp'.
16878         * modules/wcscmp: New file.
16879         * lib/wchar.in.h (wcscmp): New declaration.
16880         * lib/wcscmp.c: New file.
16881         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
16882         * m4/wcscmp.m4: New file.
16883         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
16884         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
16885         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
16886         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
16887         * doc/posix-functions/wcscmp.texi: Mention the new module.
16888
16889 2011-02-05  Bruno Haible  <bruno@clisp.org>
16890
16891         New module 'wcsncat'.
16892         * modules/wcsncat: New file.
16893         * lib/wchar.in.h (wcsncat): New declaration.
16894         * lib/wcsncat.c: New file.
16895         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
16896         * m4/wcsncat.m4: New file.
16897         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
16898         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
16899         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
16900         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
16901         * doc/posix-functions/wcsncat.texi: Mention the new module.
16902
16903 2011-02-05  Bruno Haible  <bruno@clisp.org>
16904
16905         New module 'wcscat'.
16906         * modules/wcscat: New file.
16907         * lib/wchar.in.h (wcscat): New declaration.
16908         * lib/wcscat.c: New file.
16909         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
16910         * m4/wcscat.m4: New file.
16911         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
16912         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
16913         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
16914         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
16915         * doc/posix-functions/wcscat.texi: Mention the new module.
16916
16917 2011-02-05  Bruno Haible  <bruno@clisp.org>
16918
16919         New module 'wcpncpy'.
16920         * modules/wcpncpy: New file.
16921         * lib/wchar.in.h (wcpncpy): New declaration.
16922         * lib/wcpncpy.c: New file.
16923         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
16924         * m4/wcpncpy.m4: New file.
16925         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
16926         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
16927         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
16928         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
16929         * doc/posix-functions/wcpncpy.texi: Mention the new module.
16930
16931 2011-02-05  Bruno Haible  <bruno@clisp.org>
16932
16933         New module 'wcsncpy'.
16934         * modules/wcsncpy: New file.
16935         * lib/wchar.in.h (wcsncpy): New declaration.
16936         * lib/wcsncpy.c: New file.
16937         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
16938         * m4/wcsncpy.m4: New file.
16939         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
16940         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
16941         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
16942         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
16943         * doc/posix-functions/wcsncpy.texi: Mention the new module.
16944
16945 2011-02-05  Bruno Haible  <bruno@clisp.org>
16946
16947         New module 'wcpcpy'.
16948         * modules/wcpcpy: New file.
16949         * lib/wchar.in.h (wcpcpy): New declaration.
16950         * lib/wcpcpy.c: New file.
16951         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
16952         * m4/wcpcpy.m4: New file.
16953         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
16954         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
16955         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
16956         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
16957         * doc/posix-functions/wcpcpy.texi: Mention the new module.
16958
16959 2011-02-05  Bruno Haible  <bruno@clisp.org>
16960
16961         New module 'wcscpy'.
16962         * modules/wcscpy: New file.
16963         * lib/wchar.in.h (wcscpy): New declaration.
16964         * lib/wcscpy.c: New file.
16965         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
16966         * m4/wcscpy.m4: New file.
16967         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
16968         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
16969         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
16970         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
16971         * doc/posix-functions/wcscpy.texi: Mention the new module.
16972
16973 2011-02-05  Bruno Haible  <bruno@clisp.org>
16974
16975         New module 'wcsnlen'.
16976         * modules/wcsnlen: New file.
16977         * lib/wchar.in.h (wcsnlen): New declaration.
16978         * lib/wcsnlen.c: New file.
16979         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
16980         * m4/wcsnlen.m4: New file.
16981         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
16982         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
16983         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
16984         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
16985         * doc/posix-functions/wcsnlen.texi: Mention the new module.
16986
16987 2011-02-05  Bruno Haible  <bruno@clisp.org>
16988
16989         New module 'wcslen'.
16990         * modules/wcslen: New file.
16991         * lib/wchar.in.h (wcslen): New declaration.
16992         * lib/wcslen.c: New file.
16993         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
16994         * m4/wcslen.m4: New file.
16995         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
16996         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
16997         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
16998         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
16999         * doc/posix-functions/wcslen.texi: Mention the new module.
17000
17001 2011-02-05  Bruno Haible  <bruno@clisp.org>
17002
17003         New module 'wmemset'.
17004         * modules/wmemset: New file.
17005         * lib/wchar.in.h (wmemset): New declaration.
17006         * lib/wmemset.c: New file.
17007         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
17008         * m4/wmemset.m4: New file.
17009         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
17010         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
17011         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
17012         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
17013         * doc/posix-functions/wmemset.texi: Mention the new module.
17014
17015 2011-02-05  Bruno Haible  <bruno@clisp.org>
17016
17017         New module 'wmemmove'.
17018         * modules/wmemmove: New file.
17019         * lib/wchar.in.h (wmemmove): New declaration.
17020         * lib/wmemmove.c: New file.
17021         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
17022         * m4/wmemmove.m4: New file.
17023         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
17024         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
17025         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
17026         HAVE_WMEMMOVE.
17027         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
17028         * doc/posix-functions/wmemmove.texi: Mention the new module.
17029
17030 2011-02-05  Bruno Haible  <bruno@clisp.org>
17031
17032         New module 'wmemcpy'.
17033         * modules/wmemcpy: New file.
17034         * lib/wchar.in.h (wmemcpy): New declaration.
17035         * lib/wmemcpy.c: New file.
17036         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
17037         * m4/wmemcpy.m4: New file.
17038         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
17039         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
17040         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
17041         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
17042         * doc/posix-functions/wmemcpy.texi: Mention the new module.
17043
17044 2011-02-05  Bruno Haible  <bruno@clisp.org>
17045
17046         New module 'wmemcmp'.
17047         * modules/wmemcmp: New file.
17048         * lib/wchar.in.h (wmemcmp): New declaration.
17049         * lib/wmemcmp.c: New file.
17050         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
17051         * m4/wmemcmp.m4: New file.
17052         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
17053         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
17054         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
17055         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
17056         * doc/posix-functions/wmemcmp.texi: Mention the new module.
17057
17058 2011-02-07  Jim Meyering  <meyering@redhat.com>
17059
17060         di-set, ino-map: new modules, from coreutils
17061         * lib/di-set.c: New file.
17062         * lib/di-set.h: Likewise.
17063         * lib/ino-map.c: Likewise.
17064         * lib/ino-map.h: Likewise.
17065         * modules/di-set: Likewise.
17066         * modules/di-set-tests: Likewise.
17067         * modules/ino-map: Likewise.
17068         * modules/ino-map-tests: Likewise.
17069         * tests/test-di-set.c: Likewise.
17070         * tests/test-ino-map.c: Likewise.
17071
17072 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
17073
17074         getloadavg: merge minor changes from Emacs
17075
17076         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
17077         (getloadavg): Use memset, not bzero.
17078
17079         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
17080         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
17081         clash (bug#86).
17082
17083 2010-11-14  Bruno Haible  <bruno@clisp.org>
17084
17085         Allow multiple gnulib generated replacements to coexist.
17086         * lib/getopt.in.h (struct option): Avoid identical redefinition.
17087         * lib/inttypes.in.h (imaxdiv_t): Likewise.
17088         * lib/langinfo.in.h (nl_item): Likewise.
17089         * lib/math.in.h (_NaN, NAN): Likewise.
17090         * lib/netdb.in.h (struct addrinfo): Likewise.
17091         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
17092         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
17093         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
17094         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
17095         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
17096         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
17097         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
17098         pthread_mutexattr_init, pthread_mutexattr_settype,
17099         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
17100         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
17101         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
17102         pthread_spin_trylock, pthread_spin_unlock): Likewise.
17103         * lib/sched.in.h (struct sched_param): Likewise.
17104         * lib/se-selinux.in.h (security_class_t, security_context_t,
17105         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
17106         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
17107         lsetfilecon, fsetfilecon, security_check_context,
17108         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
17109         Likewise.
17110         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
17111         Likewise.
17112         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
17113         _gl_function_taking_int_returning_void_t, union sigval,
17114         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
17115         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
17116         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
17117         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
17118         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
17119         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
17120         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
17121         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
17122         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
17123         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
17124         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
17125         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
17126         socklen_t, rpl_fd_isset): Likewise.
17127         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
17128         * lib/sys_time.in.h (struct timeval): Likewise.
17129         * lib/sys_times.in.h (struct tms): Likewise.
17130         * lib/sys_utsname.in.h (struct utsname):
17131         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
17132         * lib/unistd.in.h (getpagesize): Likewise.
17133         * lib/wchar.in.h (mbstate_t): Likewise.
17134         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
17135         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
17136         towlower, towupper): Likewise.
17137         Reported by Sam Steingold <sds@gnu.org>.
17138
17139 2011-02-05  Eric Blake  <eblake@redhat.com>
17140
17141         unsetenv: work around Haiku issues
17142         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
17143         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
17144
17145 2010-12-30  Bruce Korb  <bkorb@gnu.org>
17146
17147         libposix: avoid calling error() within libposix
17148         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
17149         is defined.
17150
17151 2011-02-05  Eric Blake  <eblake@redhat.com>
17152
17153         strerror_r-posix: port to cygwin
17154         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
17155         implementation.
17156         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
17157         * tests/test-strerror_r.c (main): Fix test.
17158         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
17159         issue.
17160
17161 2011-02-05  Bruno Haible  <bruno@clisp.org>
17162
17163         New module 'wmemchr'.
17164         * modules/wmemchr: New file.
17165         * lib/wchar.in.h (wmemchr): New declaration.
17166         * lib/wmemchr.c: New file.
17167         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
17168         * m4/wmemchr.m4: New file.
17169         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
17170         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
17171         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
17172         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
17173         * doc/posix-functions/wmemchr.texi: Mention the new module.
17174
17175 2011-02-04  Eric Blake  <eblake@redhat.com>
17176
17177         fdopendir: detect FreeBSD bug
17178         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
17179         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
17180
17181 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
17182
17183         stdbool: do not define HAVE_STDBOOL_H
17184         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
17185         AC_HEADER_STDBOOL.  All uses changed.  Do not define
17186         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
17187         imported from the latest Autoconf git.  It was motivated by Emacs,
17188         which uses gnulib but does not need HAVE_STDBOOL_H.
17189
17190 2011-02-04  Bruno Haible  <bruno@clisp.org>
17191
17192         wcsnrtombs: Prepare for new module wwcsnrtombs.
17193         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
17194         * lib/wcsnrtombs.c: Include it.
17195         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
17196
17197         wcsrtombs: Prepare for new module wwcsrtombs.
17198         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
17199         * lib/wcsrtombs.c: Include it.
17200         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
17201
17202         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
17203         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
17204         * lib/mbsnrtowcs.c: Include it.
17205         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
17206
17207         mbsrtowcs: Prepare for new module mbsrtowwcs.
17208         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
17209         * lib/mbsrtowcs.c: Include it.
17210         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
17211
17212 2011-02-04  Bruno Haible  <bruno@clisp.org>
17213
17214         vasnprintf: Reduce use of malloc for small format strings.
17215         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
17216         (arguments): Add room for the first 7 arguments.
17217         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
17218         (char_directives, u8_directives, u16_directives, u32_directives): Add
17219         room for the first 7 directives.
17220         * lib/printf-parse.c: Include <string.h>.
17221         (PRINTF_PARSE): Change memory handling code so that it uses the first
17222         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
17223         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
17224         Reported by Pádraig Brady <P@draigbrady.com>.
17225
17226 2011-01-31  Eric Blake  <eblake@redhat.com>
17227
17228         dup2: work around Haiku bug
17229         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
17230         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
17231         * doc/posix-functions/dup2.texi (dup2): Document the bug.
17232         * tests/test-dup2.c (main): Enhance test.
17233
17234 2011-01-31  Simon Josefsson  <simon@josefsson.org>
17235
17236         doc: off_t is not available in eglibc 2.11.2 stdio.h.
17237         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
17238         declared by eglibc 2.11.2.
17239         * lib/stdio.in.h: Likewise.
17240
17241 2011-01-31  Eric Blake  <eblake@redhat.com>
17242
17243         ignore-value: add missing test dependency
17244         * tests/test-ignore-value.c: Revert previous change; stdio.h
17245         provides off_t.
17246         * modules/ignore-value-tests (Depends-on): Add missing dependency.
17247
17248 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
17249
17250         mktime: clarify long_int width checking
17251         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
17252         the top level, to make it clearer that the assumption about
17253         long_int width is being checked.  See
17254         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
17255
17256 2011-01-30  Simon Josefsson  <simon@josefsson.org>
17257
17258         ignore-value: Fix self-test.
17259         * tests/test-ignore-value.c: Include sys/types.h for off_t.
17260
17261 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
17262
17263         TYPE_MAXIMUM: avoid theoretically undefined behavior
17264         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
17265         negative number, which the C Standard says has undefined behavior.
17266         In practice this is not a problem, but might as well do it by the book.
17267         Reported by Rich Felker and Eric Blake; see
17268         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
17269         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
17270         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
17271         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17272         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
17273         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17274         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
17275
17276         mktime: #undef mktime before #defining it
17277         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
17278
17279         mktime: systematically normalize tm_isdst comparisons
17280         * lib/mktime.c (isdst_differ): New function.
17281         (__mktime_internal): Use it systematically for all isdst comparisons.
17282         This completes the fix for libc BZ #6723, and removes the need for
17283         normalizing tm_isdst.  See
17284         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
17285         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
17286
17287         mktime: fix some integer overflow issues and sidestep the rest
17288
17289         This was prompted by a bug report by Benjamin Lindner for MinGW
17290         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
17291         His bug is due to signed integer overflow (0 - INT_MIN), and I
17292         I scanned through mktime.c looking for other integer overflow
17293         problems, fixing all the bugs I found.
17294
17295         Although the C Standard says the resulting code is still not safe
17296         in the presence of integer overflow, in practice it should be good
17297         enough for all real-world two's-complement implementations, except
17298         for debugging environments that deliberately trap on integer
17299         overflow (e.g., gcc -ftrapv).
17300
17301         * lib/mktime.c (WRAPV): New macro.
17302         (SHR): Also check that long_int and time_t shift right in the
17303         usual way, before using the fast-but-unportable method.
17304         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
17305         used.  The code already assumed two's complement, so there's
17306         no need to test for alternatives.  All uses removed.
17307         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
17308         the C standard.  Problem reported by Rich Felker in
17309         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
17310         (twos_complement_arithmetic): Also check long_int and time_t.
17311         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
17312         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
17313         (__mktime_internal): Avoid integer overflow with unary subtraction
17314         in two instances where -1 - X is an adequate replacement for -X,
17315         since the calculations are approximate.
17316
17317 2011-01-29  Eric Blake  <eblake@redhat.com>
17318
17319         mktime: avoid infinite loop
17320         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
17321         type; behavior is still undefined but portable to all known targets.
17322         Reported by Rich Felker.
17323
17324 2011-01-29  Simon Josefsson  <simon@josefsson.org>
17325
17326         rename, unlink, same-inode: Relicense.
17327         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
17328         * modules/unlink (License): Likewise.
17329         * modules/same-inode (License): Likewise.
17330
17331 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
17332
17333         mktime: avoid problems on NetBSD 5 / i386
17334         * lib/mktime.c (long_int): New type.  This works around a problem
17335         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
17336         but time_t is 64 bits, and where I expect the existing code is
17337         wrong in some cases.
17338         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
17339         (ydhms_diff): Bring back the compile-time check for wide-enough
17340         year and yday.
17341
17342         mktime: fix misspelling in comment
17343         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
17344         This merges all recent glibc changes of importance.
17345
17346 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17347
17348         move-if-change: cope with concurrent mv of identical file.
17349         * build-aux/move-if-change (CMPPROG): Accept environment
17350         variable as an override for `cmp'.
17351         (usage): Document CMPPROG.
17352         Adjust comparison to drop stdout.  Cope with failure of mv if
17353         the target file exists and is identical to the source, for
17354         parallel builds.
17355         Report from H.J. Lu against binutils in PR binutils/12283.
17356
17357 2011-01-28  Bruce Korb  <bkorb@gnu.org>
17358
17359         * users.txt: Mention sharutils.
17360
17361 2011-01-28  Simon Josefsson  <simon@josefsson.org>
17362
17363         * users.txt: Mention OATH Toolkit.
17364
17365 2011-01-27  Bruno Haible  <bruno@clisp.org>
17366
17367         Prepare for supporting FreeBSD 10.
17368         * build-aux/config.libpath: Remove handling of freebsd1*.
17369
17370 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
17371
17372         Prepare for supporting FreeBSD 10.
17373         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
17374         match FreeBSD 10.0.
17375
17376 2011-01-27  Bruno Haible  <bruno@clisp.org>
17377
17378         vma-iter, get-rusage-as: Add OpenBSD support.
17379         * modules/vma-iter (configure.ac): Test for mquery.
17380         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
17381         * lib/vma-iter.c: Include <sys/mman.h>.
17382         (vma_iterate): Add an implementation based on mquery().
17383         * lib/resource-ext.h (get_rusage_as): Update comments.
17384         * lib/get-rusage-as.c: Likewise.
17385         * lib/get-rusage-data.c: Likewise.
17386
17387 2011-01-26  Karl Berry  <karl@gnu.org>
17388
17389         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
17390         variables to make it easier to override the makeinfo program used.
17391
17392 2011-01-26  Eric Blake  <eblake@redhat.com>
17393
17394         fcntl: work around Haiku F_DUPFD bugs
17395         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
17396         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
17397         cloexec bit on duplication.
17398         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
17399
17400 2011-01-26  Bruno Haible  <bruno@clisp.org>
17401
17402         Enable memory leak tests on AIX.
17403         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
17404         * tests/test-fprintf-posix3.c (main): Likewise.
17405
17406 2011-01-26  Bruno Haible  <bruno@clisp.org>
17407
17408         Tests for module 'get-rusage-data'.
17409         * modules/get-rusage-data-tests: New file.
17410         * tests/test-get-rusage-data.c: New file.
17411
17412         New module 'get-rusage-data'.
17413         * lib/resource-ext.h (get_rusage_data): New declaration.
17414         * lib/get-rusage-data.c: New file.
17415         * modules/get-rusage-data: New file.
17416
17417 2011-01-25  Bruno Haible  <bruno@clisp.org>
17418
17419         get-rusage-as: Allow for easier testing.
17420         * lib/resource-ext.h (get_rusage_as): Add comment.
17421         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
17422         (main): New function for interactive testing.
17423
17424 2011-01-25  Bruno Haible  <bruno@clisp.org>
17425
17426         vma-iter: Treat Haiku like BeOS.
17427         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
17428         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
17429
17430 2011-01-25  Eric Blake  <eblake@redhat.com>
17431
17432         c-stack: fix regression on cygwin when libsigsegv is present
17433         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
17434
17435 2011-01-24  Bruno Haible  <bruno@clisp.org>
17436
17437         vma-iter: Avoid empty intervals.
17438         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
17439         on an empty interval.
17440
17441 2011-01-24  Jim Meyering  <meyering@redhat.com>
17442
17443         u64: remove unnecessary #include
17444         * lib/u64.h: Don't include <stddef.h>.  It was not used.
17445
17446 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
17447
17448         Allow the user to avoid the HAVE_RAW_DECL_* macros.
17449         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
17450
17451 2011-01-23  Bruno Haible  <bruno@clisp.org>
17452
17453         New module 'vma-iter'.
17454         * lib/vma-iter.h: New file.
17455         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
17456         * modules/vma-iter: New file.
17457         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
17458         for get_rusage_as_via_iterator.
17459         (vma_iterate_callback): New function.
17460         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
17461         * modules/get-rusage-as (Depends-on): Add vma-iter.
17462
17463 2011-01-23  Bruno Haible  <bruno@clisp.org>
17464
17465         uninorm: Tweak includes.
17466         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
17467         Reported by Jim Meyering.
17468
17469 2011-01-23  Bruno Haible  <bruno@clisp.org>
17470
17471         get-rusage-as: Improve on NetBSD.
17472         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
17473         /proc, like on FreeBSD.
17474
17475 2011-01-23  Jim Meyering  <meyering@redhat.com>
17476
17477         xreadlink.h: remove unnecessary #include
17478         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
17479
17480         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
17481         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
17482
17483 2011-01-23  Bruno Haible  <bruno@clisp.org>
17484
17485         get-rusage-as: Fix bug.
17486         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
17487         original limit when aborting the first loop.
17488
17489 2011-01-23  Bruno Haible  <bruno@clisp.org>
17490
17491         wctype: Ensure valid C syntax.
17492         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
17493         unconditionally, instead of gl_NEXT_HEADERS conditionally.
17494
17495 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
17496
17497         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
17498         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
17499         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
17500         as they are needed only for configure's test case.
17501         This removes two unnecessary symbols from config.h.
17502
17503         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
17504         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
17505         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
17506         AC_CHECK_HEADERS_ONCE on a header that we also invoke
17507         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
17508         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
17509         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
17510         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
17511         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
17512         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
17513         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
17514         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17515         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17516         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
17517         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
17518         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
17519         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
17520         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
17521
17522 2011-01-21  Eric Blake  <eblake@redhat.com>
17523
17524         maintainer-makefile: work with older git for submodule check
17525         * top/maint.mk (public-submodule-commit): Rewrite to avoid
17526         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
17527         Reported by Matthias Bolte.
17528
17529         bootstrap: minor portability fixes
17530         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
17531         (usage): Omit leading capital and trailing . on help phrases, per
17532         GNU Coding Standards.
17533         (check_versions, top level): Prefix messages with script name.
17534
17535 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
17536
17537         bootstrap: support --no-git option
17538         * build-aux/bootstrap: Add --no-git option, to be used when
17539         --gnulib-srcdir points to the exact desired checkout.
17540
17541 2011-01-21  Eric Blake  <eblake@redhat.com>
17542
17543         strerror_r-posix: work with glibc 2.13
17544         * lib/strerror_r.c (strerror_r): Fix return type.
17545
17546 2011-01-21  Pádraig Brady  <P@draigBrady.com>
17547             Bruno Haible  <bruno@clisp.org>
17548
17549         uN_strstr: New unit tests.
17550         * modules/unistr/u8-strstr-tests: New file.
17551         * modules/unistr/u16-strstr-tests: New file.
17552         * modules/unistr/u32-strstr-tests: New file.
17553         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
17554         * tests/unistr/test-u8-strstr.c: New file.
17555         * tests/unistr/test-u16-strstr.c: New file.
17556         * tests/unistr/test-u32-strstr.c: New file.
17557
17558 2011-01-21  Pádraig Brady  <P@draigBrady.com>
17559             Bruno Haible  <bruno@clisp.org>
17560
17561         Make uN_strstr functions O(n) worst-case.
17562         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
17563         16-bit and 32-bit unit cases, use the unibyte algorithm from
17564         lib/mbsstr.c.
17565         * lib/unistr/u8-strstr.c: Include <string.h>.
17566         (UNIT_IS_UINT8_T): New macro.
17567         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
17568         (U_STRLEN, U_STRNLEN): New macros.
17569         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
17570         (U_STRLEN, U_STRNLEN): New macros.
17571         * modules/unistr/u8-strstr (Depends-on): Add strstr.
17572         (configure.ac): Update required libunistring version.
17573         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
17574         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
17575         malloca.
17576         (configure.ac): Update required libunistring version.
17577         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
17578         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
17579         malloca.
17580         (configure.ac): Update required libunistring version.
17581
17582 2011-01-21  Pádraig Brady  <P@draigBrady.com>
17583             Bruno Haible  <bruno@clisp.org>
17584
17585         Prepare for faster uN_strstr functions.
17586         * lib/str-kmp.h: Support definable UNITs.
17587         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
17588         needle_len argument.
17589         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
17590         * lib/mbscasestr.c (mbscasestr): Likewise.
17591
17592 2011-01-21  Pádraig Brady <P@draigBrady.com>
17593
17594         malloca-tests: make faster by unsetting MALLOC_PERTURB_
17595         * tests/test-malloca.c (main): Unset the environment variable
17596         to greatly speed up the test.
17597         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
17598         * modules/malloca-tests: Depend on unsetenv.
17599
17600 2011-01-21  Pádraig Brady <P@draigBrady.com>
17601
17602         ignore-value: remove stdint dependency
17603         * lib/ignore-value.h: Remove <stdint.h>
17604         * modules/ignore-value: Remove stdint dependency.
17605
17606 2011-01-21  Jim Meyering  <meyering@redhat.com>
17607
17608         maint.mk: adjust variable name to be consistent with other gl_ vars
17609         * top/maint.mk (gl_public_submodule_commit): Rename the variable
17610         to be lower case.
17611
17612 2011-01-20  Jim Meyering  <meyering@redhat.com>
17613
17614         maint.mk: make "check" depend on public-submodule-commit by default
17615         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
17616
17617 2011-01-20  Bruno Haible  <bruno@clisp.org>
17618
17619         mbfile, mbiter: Complete change from 2008-12-21.
17620         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
17621         * m4/mbiter.m4 (gl_MBITER): Likewise.
17622
17623 2011-01-20  Jim Meyering  <meyering@redhat.com>
17624
17625         init.sh: insert space between each function name and "()"
17626         * tests/init.sh: Make it a little easier to see that a function's
17627         name is "warn_", and not "warn" when looking at the first part of
17628         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
17629
17630 2011-01-20  Jim Meyering  <meyering@redhat.com>
17631
17632         mountlist: clean up code formatting
17633         * lib/mountlist.c (read_file_system_list): Split a long line,
17634         correct bracing style, use NULL in place of "(struct statfs *)0",
17635         don't parenthesize return value, add spaces around "=" and after
17636         ";-in-for-stmt".
17637
17638 2011-01-14  Markus Duft <mduft@gentoo.org>
17639
17640         mountlist: add support for Interix
17641         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
17642         Apply statvfs to all entries of /dev/fs.
17643         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
17644         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
17645
17646 2011-01-20  Jim Meyering  <meyering@redhat.com>
17647
17648         maint.mk: improve the public-submodule-commit rule
17649         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
17650         to suppress printing of its commands... unless V=1.
17651         Add git submodule's --quiet option to suppress printing of e.g.,
17652         "Entering gnulib" output.
17653         "cd" into $(srcdir) before running git submodule.
17654
17655 2011-01-20  Bruno Haible  <bruno@clisp.org>
17656
17657         include_next: Fix bug introduced on 2011-01-18.
17658         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
17659         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
17660         ac_cv_header_... variable if the second argument is not 'check'.
17661         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
17662         gl_NEXT_HEADERS_INTERNAL.
17663
17664 2011-01-20  Bruno Haible  <bruno@clisp.org>
17665
17666         Allow the user to avoid the GNULIB_TEST_* macros.
17667         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
17668         Suggested by Paul Eggert.
17669
17670 2011-01-14  Jim Meyering  <meyering@redhat.com>
17671
17672         bootstrap: avoid failure when there is no .gitmodules file
17673         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
17674         has been assigned to, even when its value is the empty string.
17675         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
17676         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
17677         Reported by John W. Eaton <jwe@gnu.org>.
17678
17679 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
17680
17681         assume <ctype.h>, ..., <time.h> exist
17682         For years gnulib has been assuming the existence of the headers
17683         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
17684         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
17685         them, since they don't appear to be needed.
17686         * README (Portability guidelines): Document this.
17687         * lib/flock.c: Assume <fcntl.h> exists.
17688         * lib/regex_internal.h: Assume <locale.h> exists.
17689         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
17690         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
17691         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
17692         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
17693         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
17694         * m4/regex.m4 (gl_REGEX): Likewise.
17695         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
17696         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
17697         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
17698         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
17699         * tests/test-argp.c: Likewise.
17700         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
17701
17702         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
17703         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
17704         AA_APPLE_UNIVERSAL_BUILD.  See
17705         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
17706         * NEWS: Document this.
17707
17708 2011-01-19  Eric Blake  <eblake@redhat.com>
17709
17710         c-stack: assume stack overflow if SA_SIGINFO unsupported
17711         * lib/c-stack.c (SIGACTION_WORKS): Rename...
17712         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
17713         sigaction will work.
17714         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
17715         behavior match Linux.
17716         * tests/test-c-stack.c (main): Prefer NULL for pointers.
17717
17718         stdbool-tests: accomodate Haiku
17719         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
17720
17721         binary-io: fix O_TEXT on Haiku
17722         * modules/binary-io (Depends-on): Add fcntl-h.
17723         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
17724         than blindly undefining O_TEXT.
17725         Reported by Scott McCreary.
17726
17727 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
17728
17729         include_next: do not check for standard headers like stddef.h
17730
17731         I found this problem when modifying Emacs to use gnulib.
17732         I noticed that it added HAVE_STDDEF_H to config.h, even though
17733         gnulib always assumes <stddef.h> exists as per README and this
17734         symbol is unnecessary.
17735         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
17736         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
17737         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
17738         faster for headers like stddef.h that are known to exist.
17739         (gl_CHECK_NEXT_HEADERS): Use it.
17740         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
17741         rather than gl_CHECK_NEXT_HEADERS.
17742         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
17743         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
17744
17745 2011-01-18  Eric Blake  <eblake@redhat.com>
17746
17747         ansi-c++-opt: skip C++ dependency style if C++ is unused
17748         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
17749         tests when we know C++ compilation is not desired.
17750         Reported by Scott McCreary.
17751
17752 2011-01-18  Bruno Haible  <bruno@clisp.org>
17753
17754         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
17755         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
17756         (main): Perform test also when getrlimit and setrlimit don't exist or
17757         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
17758         limiting the address space size using setrlimit, compare the address
17759         space size before and after the the test.
17760         * tests/test-dprintf-posix2.c: Likewise.
17761         * tests/test-fprintf-posix3.sh: Update skip messages.
17762         * tests/test-dprintf-posix2.sh: Likewise.
17763         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
17764         * modules/dprintf-posix-tests (Depends-on): Likewise.
17765         Reported by Bruce Korb <bkorb@gnu.org> and
17766         Gary V. Vaughan <gary@gnu.org>.
17767
17768 2011-01-18  Bruno Haible  <bruno@clisp.org>
17769
17770         get-rusage-as: Improvement for Cygwin.
17771         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
17772         areas that are merely reserved.
17773
17774 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
17775
17776         strftime: remove dependencies on multibyte modules
17777
17778         strftime depended on mbrlen, mbsinit, and wchar, but these modules
17779         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
17780         only if __osf__ is defined, and I suspect OSF doesn't need these
17781         other modules.  If my guess is wrong, we'll need to come up with a
17782         variant of strftime that doesn't need the multibyte modules.
17783
17784         I discovered this problem when attempting modify Emacs to use the
17785         strftime module.  With the previous gnulib, this caused Emacs to
17786         need 31 new files, ranging from lib/config.charset to
17787         m4/wint_t.m4.  This was overkill and I expect would be offputting
17788         to the Emacs maintainers.  After this change, only 6 new files are
17789         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
17790         stdbool.m4, and tm_gmtoff.m4.
17791
17792         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
17793         Suggested by Bruno Haible in
17794         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
17795         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
17796         and do not check for wchar.h.
17797         * modules/strftime (Files): Remove m4/mbstate_t.m4.
17798         (Depends-on): Remove mbrlen, mbsinit, wchar.
17799
17800 2011-01-18  Bruno Haible  <bruno@clisp.org>
17801
17802         Tests for module 'get-rusage-as'.
17803         * modules/get-rusage-as-tests: New file.
17804         * tests/test-get-rusage-as.c: New file.
17805
17806         New module 'get-rusage-as'.
17807         * modules/get-rusage-as: New file.
17808         * lib/resource-ext.h: New file.
17809         * lib/get-rusage-as.c: New file.
17810
17811 2011-01-17  Eric Blake  <eblake@redhat.com>
17812
17813         sigaction: relax license from LGPLv3+ to LGPLv2+
17814         * modules/sigaction (License): Relax to LGPLv2+.
17815
17816 2011-01-14  Bruno Haible  <bruno@clisp.org>
17817
17818         filemode: Make function declarations usable in C++ mode.
17819         * lib/filemode.h: Enclose function declarations in extern "C" block.
17820         Reported by John W. Eaton <jwe@gnu.org>.
17821
17822 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
17823
17824         save-cwd: no longer include "xgetcwd.h"
17825         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
17826         This avoids a compilation failure in projects that use save-cwd
17827         without also using the xgetcwd module.
17828
17829 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
17830
17831         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
17832         This is so that a program like Emacs, which needs only dtoastr,
17833         does not have to bother with distributing and compiling ftoastr
17834         and ldtoastr.
17835         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
17836         * modules/dtoastr, modules/ldtoastr: New files.
17837         * modules/ftoastr: Now works just for 'float'.
17838         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
17839         (Makefile.am): Remove ftoastr.h (not needed and no effect),
17840         dtoastr.c, ldtoastr.c.
17841
17842 2011-01-11  Jim Meyering  <meyering@redhat.com>
17843
17844         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
17845         There is no need to work around the lack of the fchdir function,
17846         since gnulib can now provide a replacement when required.
17847         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
17848         * modules/save-cwd (Depends-on): Add fchdir.
17849
17850 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
17851
17852         openat, save-cwd: avoid xmalloc
17853
17854         This removes a direct (but undocumented) dependency of openat on
17855         xalloc, along with an indirect dependency via save-cwd.  It also
17856         removes a dependency of save-cwd on xgetcwd, and thereby
17857         indirectly on xalloc.  This change causes the openat substitute
17858         to fall back on save_cwd when memory is tight, and for save_cwd to
17859         fail instead of dying when memory is tight, but that's good enough.
17860         Problem and initial idea for fix reported by Bastien Roucaries in
17861         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
17862
17863         * lib/openat-proc.c: Include stdlib.h (for malloc), not
17864         xalloc.h (for xmalloc).
17865         (openat_proc_name): Use malloc, not xmalloc.
17866         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
17867         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
17868
17869         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
17870         This avoids heap allocation for file names whose lengths are in
17871         the range 512..1023, with the upper bound increasing to at most
17872         4031 depending on the platform's PATH_MAX.  (We do not want
17873         pathmax.h here as it might supply a non-constant PATH_MAX.)
17874         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
17875         Perhaps they should be moved to malloca.h?
17876         (OPENAT_BUFFER_SIZE): Use them.
17877
17878 2011-01-10  Bruno Haible  <bruno@clisp.org>
17879
17880         doc: Update users.txt.
17881         * users.txt: Add recutils.
17882
17883 2011-01-09  Karl Berry  <karl@gnu.org>
17884
17885         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
17886
17887         * doc/configmake.texi: New file.
17888         * doc/gnulib.texi: Include it.
17889         * modules/configmake: Move documentation from here.
17890
17891 2011-01-09  Bruno Haible  <bruno@clisp.org>
17892
17893         Update to Unicode 6.0.0.
17894         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
17895         (get_lbp): Update for Unicode 6.0.0.
17896         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
17897         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
17898         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
17899         U+11001, U+11038..U+11046. Remove U+06DE.
17900         (uc_width): Fix bounds of planes.
17901         * tests/uniwidth/test-uc_width2.sh: Same updates as in
17902         lib/uniwidth/width.c.
17903         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
17904         trailing whitespace removed.
17905         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
17906         without comments, but with the original copyright notice.
17907         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
17908         * lib/unicase/ignorable.h: Likewise.
17909         * lib/unicase/tocasefold.h: Likewise.
17910         * lib/unicase/tolower.h: Likewise.
17911         * lib/unicase/totitle.h: Likewise.
17912         * lib/unicase/toupper.h: Likewise.
17913         * lib/unictype/bidi_of.h: Likewise.
17914         * lib/unictype/blocks.h: Likewise.
17915         * lib/unictype/categ_C.h: Likewise.
17916         * lib/unictype/categ_Cn.h: Likewise.
17917         * lib/unictype/categ_L.h: Likewise.
17918         * lib/unictype/categ_Ll.h: Likewise.
17919         * lib/unictype/categ_Lm.h: Likewise.
17920         * lib/unictype/categ_Lo.h: Likewise.
17921         * lib/unictype/categ_Lu.h: Likewise.
17922         * lib/unictype/categ_M.h: Likewise.
17923         * lib/unictype/categ_Mc.h: Likewise.
17924         * lib/unictype/categ_Me.h: Likewise.
17925         * lib/unictype/categ_Mn.h: Likewise.
17926         * lib/unictype/categ_N.h: Likewise.
17927         * lib/unictype/categ_Nd.h: Likewise.
17928         * lib/unictype/categ_No.h: Likewise.
17929         * lib/unictype/categ_P.h: Likewise.
17930         * lib/unictype/categ_Po.h: Likewise.
17931         * lib/unictype/categ_S.h: Likewise.
17932         * lib/unictype/categ_Sc.h: Likewise.
17933         * lib/unictype/categ_Sk.h: Likewise.
17934         * lib/unictype/categ_Sm.h: Likewise.
17935         * lib/unictype/categ_So.h: Likewise.
17936         * lib/unictype/categ_of.h: Likewise.
17937         * lib/unictype/combining.h: Likewise.
17938         * lib/unictype/ctype_alnum.h: Likewise.
17939         * lib/unictype/ctype_alpha.h: Likewise.
17940         * lib/unictype/ctype_graph.h: Likewise.
17941         * lib/unictype/ctype_lower.h: Likewise.
17942         * lib/unictype/ctype_print.h: Likewise.
17943         * lib/unictype/ctype_punct.h: Likewise.
17944         * lib/unictype/ctype_upper.h: Likewise.
17945         * lib/unictype/decdigit.h: Likewise.
17946         * lib/unictype/digit.h: Likewise.
17947         * lib/unictype/numeric.h: Likewise.
17948         * lib/unictype/pr_alphabetic.h: Likewise.
17949         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
17950         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
17951         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
17952         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
17953         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
17954         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
17955         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
17956         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
17957         * lib/unictype/pr_case_ignorable.h: Likewise.
17958         * lib/unictype/pr_cased.h: Likewise.
17959         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
17960         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
17961         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
17962         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
17963         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
17964         * lib/unictype/pr_combining.h: Likewise.
17965         * lib/unictype/pr_composite.h: Likewise.
17966         * lib/unictype/pr_currency_symbol.h: Likewise.
17967         * lib/unictype/pr_decimal_digit.h: Likewise.
17968         * lib/unictype/pr_deprecated.h: Likewise.
17969         * lib/unictype/pr_format_control.h: Likewise.
17970         * lib/unictype/pr_grapheme_base.h: Likewise.
17971         * lib/unictype/pr_grapheme_extend.h: Likewise.
17972         * lib/unictype/pr_grapheme_link.h: Likewise.
17973         * lib/unictype/pr_id_continue.h: Likewise.
17974         * lib/unictype/pr_id_start.h: Likewise.
17975         * lib/unictype/pr_ideographic.h: Likewise.
17976         * lib/unictype/pr_lowercase.h: Likewise.
17977         * lib/unictype/pr_math.h: Likewise.
17978         * lib/unictype/pr_numeric.h: Likewise.
17979         * lib/unictype/pr_other_alphabetic.h: Likewise.
17980         * lib/unictype/pr_other_id_continue.h: Likewise.
17981         * lib/unictype/pr_other_math.h: Likewise.
17982         * lib/unictype/pr_punctuation.h: Likewise.
17983         * lib/unictype/pr_sentence_terminal.h: Likewise.
17984         * lib/unictype/pr_terminal_punctuation.h: Likewise.
17985         * lib/unictype/pr_unassigned_code_value.h: Likewise.
17986         * lib/unictype/pr_unified_ideograph.h: Likewise.
17987         * lib/unictype/pr_uppercase.h: Likewise.
17988         * lib/unictype/pr_xid_continue.h: Likewise.
17989         * lib/unictype/pr_xid_start.h: Likewise.
17990         * lib/unictype/scripts.h: Likewise.
17991         * lib/unictype/scripts_byname.gperf: Likewise.
17992         * lib/unictype/sy_java_ident.h: Likewise.
17993         * lib/unigbrk/gbrkprop.h: Likewise.
17994         * lib/unilbrk/lbrkprop1.h: Likewise.
17995         * lib/unilbrk/lbrkprop2.h: Likewise.
17996         * lib/uninorm/decomposition-table2.h: Likewise.
17997         * lib/uniwbrk/wbrkprop.h: Likewise.
17998         * tests/unicase/test-cased.c: Likewise.
17999         * tests/unicase/test-ignorable.c: Likewise.
18000         * tests/unicase/test-uc_tolower.c: Likewise.
18001         * tests/unicase/test-uc_totitle.c: Likewise.
18002         * tests/unicase/test-uc_toupper.c: Likewise.
18003         * tests/unictype/test-categ_C.c: Likewise.
18004         * tests/unictype/test-categ_Cn.c: Likewise.
18005         * tests/unictype/test-categ_L.c: Likewise.
18006         * tests/unictype/test-categ_Ll.c: Likewise.
18007         * tests/unictype/test-categ_Lm.c: Likewise.
18008         * tests/unictype/test-categ_Lo.c: Likewise.
18009         * tests/unictype/test-categ_Lu.c: Likewise.
18010         * tests/unictype/test-categ_M.c: Likewise.
18011         * tests/unictype/test-categ_Mc.c: Likewise.
18012         * tests/unictype/test-categ_Me.c: Likewise.
18013         * tests/unictype/test-categ_Mn.c: Likewise.
18014         * tests/unictype/test-categ_N.c: Likewise.
18015         * tests/unictype/test-categ_Nd.c: Likewise.
18016         * tests/unictype/test-categ_No.c: Likewise.
18017         * tests/unictype/test-categ_P.c: Likewise.
18018         * tests/unictype/test-categ_Po.c: Likewise.
18019         * tests/unictype/test-categ_S.c: Likewise.
18020         * tests/unictype/test-categ_Sc.c: Likewise.
18021         * tests/unictype/test-categ_Sk.c: Likewise.
18022         * tests/unictype/test-categ_Sm.c: Likewise.
18023         * tests/unictype/test-categ_So.c: Likewise.
18024         * tests/unictype/test-ctype_alnum.c: Likewise.
18025         * tests/unictype/test-ctype_alpha.c: Likewise.
18026         * tests/unictype/test-ctype_graph.c: Likewise.
18027         * tests/unictype/test-ctype_lower.c: Likewise.
18028         * tests/unictype/test-ctype_print.c: Likewise.
18029         * tests/unictype/test-ctype_punct.c: Likewise.
18030         * tests/unictype/test-ctype_upper.c: Likewise.
18031         * tests/unictype/test-decdigit.h: Likewise.
18032         * tests/unictype/test-digit.h: Likewise.
18033         * tests/unictype/test-numeric.h: Likewise.
18034         * tests/unictype/test-pr_alphabetic.c: Likewise.
18035         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
18036         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
18037         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
18038         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
18039         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
18040         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
18041         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
18042         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
18043         * tests/unictype/test-pr_case_ignorable.c: Likewise.
18044         * tests/unictype/test-pr_cased.c: Likewise.
18045         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
18046         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
18047         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
18048         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
18049         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
18050         * tests/unictype/test-pr_combining.c: Likewise.
18051         * tests/unictype/test-pr_composite.c: Likewise.
18052         * tests/unictype/test-pr_currency_symbol.c: Likewise.
18053         * tests/unictype/test-pr_decimal_digit.c: Likewise.
18054         * tests/unictype/test-pr_deprecated.c: Likewise.
18055         * tests/unictype/test-pr_format_control.c: Likewise.
18056         * tests/unictype/test-pr_grapheme_base.c: Likewise.
18057         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
18058         * tests/unictype/test-pr_grapheme_link.c: Likewise.
18059         * tests/unictype/test-pr_id_continue.c: Likewise.
18060         * tests/unictype/test-pr_id_start.c: Likewise.
18061         * tests/unictype/test-pr_ideographic.c: Likewise.
18062         * tests/unictype/test-pr_lowercase.c: Likewise.
18063         * tests/unictype/test-pr_math.c: Likewise.
18064         * tests/unictype/test-pr_numeric.c: Likewise.
18065         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
18066         * tests/unictype/test-pr_other_id_continue.c: Likewise.
18067         * tests/unictype/test-pr_other_math.c: Likewise.
18068         * tests/unictype/test-pr_punctuation.c: Likewise.
18069         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
18070         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
18071         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
18072         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
18073         * tests/unictype/test-pr_uppercase.c: Likewise.
18074         * tests/unictype/test-pr_xid_continue.c: Likewise.
18075         * tests/unictype/test-pr_xid_start.c: Likewise.
18076         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
18077         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
18078         changes.
18079         * lib/unictype/categ_Cc.h: Likewise.
18080         * lib/unictype/categ_Cf.h: Likewise.
18081         * lib/unictype/categ_Co.h: Likewise.
18082         * lib/unictype/categ_Cs.h: Likewise.
18083         * lib/unictype/categ_Lt.h: Likewise.
18084         * lib/unictype/categ_Nl.h: Likewise.
18085         * lib/unictype/categ_Pc.h: Likewise.
18086         * lib/unictype/categ_Pd.h: Likewise.
18087         * lib/unictype/categ_Pe.h: Likewise.
18088         * lib/unictype/categ_Pf.h: Likewise.
18089         * lib/unictype/categ_Pi.h: Likewise.
18090         * lib/unictype/categ_Ps.h: Likewise.
18091         * lib/unictype/categ_Z.h: Likewise.
18092         * lib/unictype/categ_Zl.h: Likewise.
18093         * lib/unictype/categ_Zp.h: Likewise.
18094         * lib/unictype/categ_Zs.h: Likewise.
18095         * lib/unictype/ctype_blank.h: Likewise.
18096         * lib/unictype/ctype_cntrl.h: Likewise.
18097         * lib/unictype/ctype_digit.h: Likewise.
18098         * lib/unictype/ctype_space.h: Likewise.
18099         * lib/unictype/ctype_xdigit.h: Likewise.
18100         * lib/unictype/mirror.h: Likewise.
18101         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
18102         * lib/unictype/pr_bidi_block_separator.h: Likewise.
18103         * lib/unictype/pr_bidi_common_separator.h: Likewise.
18104         * lib/unictype/pr_bidi_control.h: Likewise.
18105         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
18106         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
18107         * lib/unictype/pr_bidi_european_digit.h: Likewise.
18108         * lib/unictype/pr_bidi_pdf.h: Likewise.
18109         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
18110         * lib/unictype/pr_bidi_whitespace.h: Likewise.
18111         * lib/unictype/pr_dash.h: Likewise.
18112         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
18113         * lib/unictype/pr_diacritic.h: Likewise.
18114         * lib/unictype/pr_extender.h: Likewise.
18115         * lib/unictype/pr_hex_digit.h: Likewise.
18116         * lib/unictype/pr_hyphen.h: Likewise.
18117         * lib/unictype/pr_ids_binary_operator.h: Likewise.
18118         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
18119         * lib/unictype/pr_ignorable_control.h: Likewise.
18120         * lib/unictype/pr_iso_control.h: Likewise.
18121         * lib/unictype/pr_join_control.h: Likewise.
18122         * lib/unictype/pr_left_of_pair.h: Likewise.
18123         * lib/unictype/pr_line_separator.h: Likewise.
18124         * lib/unictype/pr_logical_order_exception.h: Likewise.
18125         * lib/unictype/pr_non_break.h: Likewise.
18126         * lib/unictype/pr_not_a_character.h: Likewise.
18127         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
18128         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
18129         * lib/unictype/pr_other_id_start.h: Likewise.
18130         * lib/unictype/pr_other_lowercase.h: Likewise.
18131         * lib/unictype/pr_other_uppercase.h: Likewise.
18132         * lib/unictype/pr_paired_punctuation.h: Likewise.
18133         * lib/unictype/pr_paragraph_separator.h: Likewise.
18134         * lib/unictype/pr_pattern_syntax.h: Likewise.
18135         * lib/unictype/pr_pattern_white_space.h: Likewise.
18136         * lib/unictype/pr_private_use.h: Likewise.
18137         * lib/unictype/pr_quotation_mark.h: Likewise.
18138         * lib/unictype/pr_radical.h: Likewise.
18139         * lib/unictype/pr_soft_dotted.h: Likewise.
18140         * lib/unictype/pr_space.h: Likewise.
18141         * lib/unictype/pr_titlecase.h: Likewise.
18142         * lib/unictype/pr_variation_selector.h: Likewise.
18143         * lib/unictype/pr_white_space.h: Likewise.
18144         * lib/unictype/pr_zero_width.h: Likewise.
18145         * lib/unictype/sy_c_ident.h: Likewise.
18146         * lib/unictype/sy_c_whitespace.h: Likewise.
18147         * lib/unictype/sy_java_whitespace.h: Likewise.
18148         * lib/uninorm/composition-table.gperf: Likewise.
18149         * lib/uninorm/decomposition-table1.h: Likewise.
18150         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
18151         LB8.
18152         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
18153         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
18154         * modules/unictype/*: Bump version number of expected libunistring
18155         version.
18156
18157 2011-01-09  Bruno Haible  <bruno@clisp.org>
18158
18159         Update to Unicode 5.2.0.
18160         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
18161         trailing whitespace removed.
18162
18163 2011-01-09  Bruno Haible  <bruno@clisp.org>
18164
18165         New Unicode character properties, from Unicode 5.2.0.
18166         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
18167         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
18168         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
18169         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
18170         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
18171         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
18172         uc_is_property_cased, uc_is_property_case_ignorable,
18173         uc_is_property_changes_when_lowercased,
18174         uc_is_property_changes_when_uppercased,
18175         uc_is_property_changes_when_titlecased,
18176         uc_is_property_changes_when_casefolded,
18177         uc_is_property_changes_when_casemapped): New declarations.
18178         * lib/unictype/pr_byname.gperf: Add the new properties.
18179         * modules/unictype/property-byname (Depends-on): Depend on the new
18180         properties modules.
18181         * modules/unictype/property-all (Depends-on): Likewise.
18182         * MODULES.html.sh (Unicode string functions): Add
18183         unictype/property-case-ignorable, unictype/property-cased,
18184         unictype/property-changes-when-casefolded,
18185         unictype/property-changes-when-casemapped,
18186         unictype/property-changes-when-lowercased,
18187         unictype/property-changes-when-titlecased,
18188         unictype/property-changes-when-uppercased.
18189
18190         New module 'unictype/property-changes-when-casemapped'.
18191         * modules/unictype/property-changes-when-casemapped: New file.
18192         * lib/unictype/pr_changes_when_casemapped.c: New file.
18193         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
18194         generated by gen-uni-tables.
18195         * modules/unictype/property-changes-when-casemapped-tests: New file.
18196         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
18197         automatically generated by gen-uni-tables.
18198
18199         New module 'unictype/property-changes-when-casefolded'.
18200         * modules/unictype/property-changes-when-casefolded: New file.
18201         * lib/unictype/pr_changes_when_casefolded.c: New file.
18202         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
18203         generated by gen-uni-tables.
18204         * modules/unictype/property-changes-when-casefolded-tests: New file.
18205         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
18206         automatically generated by gen-uni-tables.
18207
18208         New module 'unictype/property-changes-when-titlecased'.
18209         * modules/unictype/property-changes-when-titlecased: New file.
18210         * lib/unictype/pr_changes_when_titlecased.c: New file.
18211         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
18212         generated by gen-uni-tables.
18213         * modules/unictype/property-changes-when-titlecased-tests: New file.
18214         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
18215         automatically generated by gen-uni-tables.
18216
18217         New module 'unictype/property-changes-when-uppercased'.
18218         * modules/unictype/property-changes-when-uppercased: New file.
18219         * lib/unictype/pr_changes_when_uppercased.c: New file.
18220         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
18221         generated by gen-uni-tables.
18222         * modules/unictype/property-changes-when-uppercased-tests: New file.
18223         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
18224         automatically generated by gen-uni-tables.
18225
18226         New module 'unictype/property-changes-when-lowercased'.
18227         * modules/unictype/property-changes-when-lowercased: New file.
18228         * lib/unictype/pr_changes_when_lowercased.c: New file.
18229         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
18230         generated by gen-uni-tables.
18231         * modules/unictype/property-changes-when-lowercased-tests: New file.
18232         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
18233         automatically generated by gen-uni-tables.
18234
18235         New module 'unictype/property-case-ignorable'.
18236         * modules/unictype/property-case-ignorable: New file.
18237         * lib/unictype/pr_case_ignorable.c: New file.
18238         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
18239         by gen-uni-tables.
18240         * modules/unictype/property-case-ignorable-tests: New file.
18241         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
18242         generated by gen-uni-tables.
18243
18244         New module 'unictype/property-cased'.
18245         * modules/unictype/property-cased: New file.
18246         * lib/unictype/pr_cased.c: New file.
18247         * lib/unictype/pr_cased.h: New file, automatically generated by
18248         gen-uni-tables.
18249         * modules/unictype/property-cased-tests: New file.
18250         * tests/unictype/test-pr_cased.c: New file, automatically generated by
18251         gen-uni-tables.
18252
18253 2011-01-09  Bruno Haible  <bruno@clisp.org>
18254
18255         Update to Unicode 5.2.0.
18256         * lib/gen-uni-tables.c (output_predicate, output_category,
18257         output_combclass, output_bidi_category, output_decimal_digit_test,
18258         output_decimal_digit, output_digit_test, output_digit,
18259         output_numeric_test, output_numeric, output_mirror, output_scripts,
18260         output_scripts_byname, output_blocks, output_ident_category): Fix
18261         comment header.
18262         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
18263         get_wbp.
18264         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
18265         items.
18266         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
18267         Changes_When_Lowercased, Changes_When_Uppercased,
18268         Changes_When_Titlecased, Changes_When_Casefolded,
18269         Changes_When_Casemapped.
18270         (is_property_alphabetic, is_property_default_ignorable_code_point):
18271         Update for Unicode 5.2.0.
18272         (is_property_cased, is_property_case_ignorable,
18273         is_property_changes_when_lowercased,
18274         is_property_changes_when_uppercased,
18275         is_property_changes_when_titlecased,
18276         is_property_changes_when_casefolded,
18277         is_property_changes_when_casemapped): New functions.
18278         (output_properties): Output also the properties cased, case_ignorable,
18279         changes_when_lowercased, changes_when_uppercased,
18280         changes_when_titlecased, changes_when_casefolded,
18281         changes_when_casemapped.
18282         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
18283         Unicode TR#11 revision 17 -> 19.
18284         (LBP_CP): New enumeration value.
18285         (LBP_*): Adjust values accordingly.
18286         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
18287         TR#14 revision 22 -> 24.
18288         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
18289         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
18290         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
18291         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
18292         is_WBP_MIDLETTER.
18293         (output_composition_tables): Allow for 24 bits instead of 16 bits in
18294         the code1 and code2 of each composition rule.
18295         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
18296         * lib/unicase/ignorable.h: Likewise.
18297         * lib/unicase/tocasefold.h: Likewise.
18298         * lib/unicase/tolower.h: Likewise.
18299         * lib/unicase/totitle.h: Likewise.
18300         * lib/unicase/toupper.h: Likewise.
18301         * lib/unictype/bidi_of.h: Likewise.
18302         * lib/unictype/blocks.h: Likewise.
18303         * lib/unictype/categ_C.h: Likewise.
18304         * lib/unictype/categ_Cf.h: Likewise.
18305         * lib/unictype/categ_Cn.h: Likewise.
18306         * lib/unictype/categ_L.h: Likewise.
18307         * lib/unictype/categ_Ll.h: Likewise.
18308         * lib/unictype/categ_Lm.h: Likewise.
18309         * lib/unictype/categ_Lo.h: Likewise.
18310         * lib/unictype/categ_Lu.h: Likewise.
18311         * lib/unictype/categ_M.h: Likewise.
18312         * lib/unictype/categ_Mc.h: Likewise.
18313         * lib/unictype/categ_Mn.h: Likewise.
18314         * lib/unictype/categ_N.h: Likewise.
18315         * lib/unictype/categ_Nd.h: Likewise.
18316         * lib/unictype/categ_Nl.h: Likewise.
18317         * lib/unictype/categ_No.h: Likewise.
18318         * lib/unictype/categ_P.h: Likewise.
18319         * lib/unictype/categ_Pd.h: Likewise.
18320         * lib/unictype/categ_Po.h: Likewise.
18321         * lib/unictype/categ_S.h: Likewise.
18322         * lib/unictype/categ_Sc.h: Likewise.
18323         * lib/unictype/categ_So.h: Likewise.
18324         * lib/unictype/categ_of.h: Likewise.
18325         * lib/unictype/combining.h: Likewise.
18326         * lib/unictype/ctype_alnum.h: Likewise.
18327         * lib/unictype/ctype_alpha.h: Likewise.
18328         * lib/unictype/ctype_graph.h: Likewise.
18329         * lib/unictype/ctype_lower.h: Likewise.
18330         * lib/unictype/ctype_print.h: Likewise.
18331         * lib/unictype/ctype_punct.h: Likewise.
18332         * lib/unictype/ctype_upper.h: Likewise.
18333         * lib/unictype/decdigit.h: Likewise.
18334         * lib/unictype/digit.h: Likewise.
18335         * lib/unictype/numeric.h: Likewise.
18336         * lib/unictype/pr_alphabetic.h: Likewise.
18337         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
18338         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
18339         * lib/unictype/pr_bidi_european_digit.h: Likewise.
18340         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
18341         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
18342         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
18343         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
18344         * lib/unictype/pr_combining.h: Likewise.
18345         * lib/unictype/pr_composite.h: Likewise.
18346         * lib/unictype/pr_currency_symbol.h: Likewise.
18347         * lib/unictype/pr_dash.h: Likewise.
18348         * lib/unictype/pr_decimal_digit.h: Likewise.
18349         * lib/unictype/pr_deprecated.h: Likewise.
18350         * lib/unictype/pr_diacritic.h: Likewise.
18351         * lib/unictype/pr_extender.h: Likewise.
18352         * lib/unictype/pr_grapheme_base.h: Likewise.
18353         * lib/unictype/pr_grapheme_extend.h: Likewise.
18354         * lib/unictype/pr_grapheme_link.h: Likewise.
18355         * lib/unictype/pr_id_continue.h: Likewise.
18356         * lib/unictype/pr_id_start.h: Likewise.
18357         * lib/unictype/pr_ideographic.h: Likewise.
18358         * lib/unictype/pr_ignorable_control.h: Likewise.
18359         * lib/unictype/pr_logical_order_exception.h: Likewise.
18360         * lib/unictype/pr_lowercase.h: Likewise.
18361         * lib/unictype/pr_numeric.h: Likewise.
18362         * lib/unictype/pr_other_alphabetic.h: Likewise.
18363         * lib/unictype/pr_punctuation.h: Likewise.
18364         * lib/unictype/pr_sentence_terminal.h: Likewise.
18365         * lib/unictype/pr_terminal_punctuation.h: Likewise.
18366         * lib/unictype/pr_unassigned_code_value.h: Likewise.
18367         * lib/unictype/pr_unified_ideograph.h: Likewise.
18368         * lib/unictype/pr_uppercase.h: Likewise.
18369         * lib/unictype/pr_xid_continue.h: Likewise.
18370         * lib/unictype/pr_xid_start.h: Likewise.
18371         * lib/unictype/pr_zero_width.h: Likewise.
18372         * lib/unictype/scripts.h: Likewise.
18373         * lib/unictype/scripts_byname.gperf: Likewise.
18374         * lib/unictype/sy_java_ident.h: Likewise.
18375         * lib/unigbrk/gbrkprop.h: Likewise.
18376         * lib/unilbrk/lbrkprop1.h: Likewise.
18377         * lib/unilbrk/lbrkprop2.h: Likewise.
18378         * lib/unilbrk/lbrktables.h: Likewise.
18379         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
18380         LBP_CP. Implement rule LB30.
18381         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
18382         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
18383         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
18384         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
18385         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
18386         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
18387         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
18388         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
18389         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
18390         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
18391         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
18392         bits instead of 16 bits in the code1 and code2 of each composition
18393         rule.
18394         (uc_composition): Update for Unicode 5.2.0.
18395         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
18396         * lib/uninorm/decomposition-table2.h: Likewise.
18397         * lib/uniwbrk/wbrkprop.h: Likewise.
18398         * tests/unicase/test-cased.c: Likewise.
18399         * tests/unicase/test-ignorable.c: Likewise.
18400         * tests/unicase/test-uc_tolower.c: Likewise.
18401         * tests/unicase/test-uc_totitle.c: Likewise.
18402         * tests/unicase/test-uc_toupper.c: Likewise.
18403         * tests/unictype/test-categ_C.c: Likewise.
18404         * tests/unictype/test-categ_Cf.c: Likewise.
18405         * tests/unictype/test-categ_Cn.c: Likewise.
18406         * tests/unictype/test-categ_L.c: Likewise.
18407         * tests/unictype/test-categ_Ll.c: Likewise.
18408         * tests/unictype/test-categ_Lm.c: Likewise.
18409         * tests/unictype/test-categ_Lo.c: Likewise.
18410         * tests/unictype/test-categ_Lu.c: Likewise.
18411         * tests/unictype/test-categ_M.c: Likewise.
18412         * tests/unictype/test-categ_Mc.c: Likewise.
18413         * tests/unictype/test-categ_Mn.c: Likewise.
18414         * tests/unictype/test-categ_N.c: Likewise.
18415         * tests/unictype/test-categ_Nd.c: Likewise.
18416         * tests/unictype/test-categ_Nl.c: Likewise.
18417         * tests/unictype/test-categ_No.c: Likewise.
18418         * tests/unictype/test-categ_P.c: Likewise.
18419         * tests/unictype/test-categ_Pd.c: Likewise.
18420         * tests/unictype/test-categ_Po.c: Likewise.
18421         * tests/unictype/test-categ_S.c: Likewise.
18422         * tests/unictype/test-categ_Sc.c: Likewise.
18423         * tests/unictype/test-categ_So.c: Likewise.
18424         * tests/unictype/test-ctype_alnum.c: Likewise.
18425         * tests/unictype/test-ctype_alpha.c: Likewise.
18426         * tests/unictype/test-ctype_graph.c: Likewise.
18427         * tests/unictype/test-ctype_lower.c: Likewise.
18428         * tests/unictype/test-ctype_print.c: Likewise.
18429         * tests/unictype/test-ctype_punct.c: Likewise.
18430         * tests/unictype/test-ctype_upper.c: Likewise.
18431         * tests/unictype/test-decdigit.h: Likewise.
18432         * tests/unictype/test-digit.h: Likewise.
18433         * tests/unictype/test-numeric.h: Likewise.
18434         * tests/unictype/test-pr_alphabetic.c: Likewise.
18435         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
18436         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
18437         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
18438         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
18439         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
18440         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
18441         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
18442         * tests/unictype/test-pr_combining.c: Likewise.
18443         * tests/unictype/test-pr_composite.c: Likewise.
18444         * tests/unictype/test-pr_currency_symbol.c: Likewise.
18445         * tests/unictype/test-pr_dash.c: Likewise.
18446         * tests/unictype/test-pr_decimal_digit.c: Likewise.
18447         * tests/unictype/test-pr_deprecated.c: Likewise.
18448         * tests/unictype/test-pr_diacritic.c: Likewise.
18449         * tests/unictype/test-pr_extender.c: Likewise.
18450         * tests/unictype/test-pr_grapheme_base.c: Likewise.
18451         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
18452         * tests/unictype/test-pr_grapheme_link.c: Likewise.
18453         * tests/unictype/test-pr_id_continue.c: Likewise.
18454         * tests/unictype/test-pr_id_start.c: Likewise.
18455         * tests/unictype/test-pr_ideographic.c: Likewise.
18456         * tests/unictype/test-pr_ignorable_control.c: Likewise.
18457         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
18458         * tests/unictype/test-pr_lowercase.c: Likewise.
18459         * tests/unictype/test-pr_numeric.c: Likewise.
18460         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
18461         * tests/unictype/test-pr_punctuation.c: Likewise.
18462         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
18463         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
18464         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
18465         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
18466         * tests/unictype/test-pr_uppercase.c: Likewise.
18467         * tests/unictype/test-pr_xid_continue.c: Likewise.
18468         * tests/unictype/test-pr_xid_start.c: Likewise.
18469         * tests/unictype/test-pr_zero_width.c: Likewise.
18470         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
18471         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
18472         changed behaviour: line breaking is now disallowed between a letter
18473         or '=' and '('.
18474         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
18475         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
18476         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
18477         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
18478         * tests/uniwidth/test-uc_width2.sh: Same updates as in
18479         lib/uniwidth/width.c.
18480         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
18481         without comments, but with the original copyright notice.
18482         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
18483         changes.
18484         * lib/unictype/categ_Cc.h: Likewise.
18485         * lib/unictype/categ_Co.h: Likewise.
18486         * lib/unictype/categ_Cs.h: Likewise.
18487         * lib/unictype/categ_Lt.h: Likewise.
18488         * lib/unictype/categ_Me.h: Likewise.
18489         * lib/unictype/categ_Pc.h: Likewise.
18490         * lib/unictype/categ_Pe.h: Likewise.
18491         * lib/unictype/categ_Pf.h: Likewise.
18492         * lib/unictype/categ_Pi.h: Likewise.
18493         * lib/unictype/categ_Ps.h: Likewise.
18494         * lib/unictype/categ_Sk.h: Likewise.
18495         * lib/unictype/categ_Sm.h: Likewise.
18496         * lib/unictype/categ_Z.h: Likewise.
18497         * lib/unictype/categ_Zl.h: Likewise.
18498         * lib/unictype/categ_Zp.h: Likewise.
18499         * lib/unictype/categ_Zs.h: Likewise.
18500         * lib/unictype/ctype_blank.h: Likewise.
18501         * lib/unictype/ctype_cntrl.h: Likewise.
18502         * lib/unictype/ctype_digit.h: Likewise.
18503         * lib/unictype/ctype_space.h: Likewise.
18504         * lib/unictype/ctype_xdigit.h: Likewise.
18505         * lib/unictype/mirror.h: Likewise.
18506         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
18507         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
18508         * lib/unictype/pr_bidi_block_separator.h: Likewise.
18509         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
18510         * lib/unictype/pr_bidi_common_separator.h: Likewise.
18511         * lib/unictype/pr_bidi_control.h: Likewise.
18512         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
18513         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
18514         * lib/unictype/pr_bidi_pdf.h: Likewise.
18515         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
18516         * lib/unictype/pr_bidi_whitespace.h: Likewise.
18517         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
18518         * lib/unictype/pr_format_control.h: Likewise.
18519         * lib/unictype/pr_hex_digit.h: Likewise.
18520         * lib/unictype/pr_hyphen.h: Likewise.
18521         * lib/unictype/pr_ids_binary_operator.h: Likewise.
18522         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
18523         * lib/unictype/pr_iso_control.h: Likewise.
18524         * lib/unictype/pr_join_control.h: Likewise.
18525         * lib/unictype/pr_left_of_pair.h: Likewise.
18526         * lib/unictype/pr_line_separator.h: Likewise.
18527         * lib/unictype/pr_math.h: Likewise.
18528         * lib/unictype/pr_non_break.h: Likewise.
18529         * lib/unictype/pr_not_a_character.h: Likewise.
18530         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
18531         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
18532         * lib/unictype/pr_other_id_continue.h: Likewise.
18533         * lib/unictype/pr_other_id_start.h: Likewise.
18534         * lib/unictype/pr_other_lowercase.h: Likewise.
18535         * lib/unictype/pr_other_math.h: Likewise.
18536         * lib/unictype/pr_other_uppercase.h: Likewise.
18537         * lib/unictype/pr_paired_punctuation.h: Likewise.
18538         * lib/unictype/pr_paragraph_separator.h: Likewise.
18539         * lib/unictype/pr_pattern_syntax.h: Likewise.
18540         * lib/unictype/pr_pattern_white_space.h: Likewise.
18541         * lib/unictype/pr_private_use.h: Likewise.
18542         * lib/unictype/pr_quotation_mark.h: Likewise.
18543         * lib/unictype/pr_radical.h: Likewise.
18544         * lib/unictype/pr_soft_dotted.h: Likewise.
18545         * lib/unictype/pr_space.h: Likewise.
18546         * lib/unictype/pr_titlecase.h: Likewise.
18547         * lib/unictype/pr_variation_selector.h: Likewise.
18548         * lib/unictype/pr_white_space.h: Likewise.
18549         * lib/unictype/sy_c_ident.h: Likewise.
18550         * lib/unictype/sy_c_whitespace.h: Likewise.
18551         * lib/unictype/sy_java_whitespace.h: Likewise.
18552         * modules/uni*/*: Bump version number of expected libunistring version.
18553         Reported by Simon Josefsson.
18554
18555 2011-01-09  Karl Heuer  <kwzh@gnu.org>
18556
18557         useless-if-before-free: fix typo in --help and make the internal,
18558         automatic version date update process work once again.
18559         --help output contained a NUL character instead of the
18560         backslash-zero that was intended.  Also, the "must lie within
18561         the first 8 lines" line is on line 9, and hence not getting
18562         automatically updated.
18563         * build-aux/useless-if-before-free: Fix the former by adding a
18564         backslash, and the latter by condensing the three lines of what-it-does
18565         to a single line, leaving one line of slack for the future.
18566
18567 2011-01-09  Bruno Haible  <bruno@clisp.org>
18568
18569         uniwidth/width: Fix width of U+1D173..U+1D17A.
18570         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
18571         symbolic_width, output_width_property_test): New functions.
18572         (main): Invoke output_nonspacing_property, output_width_property_test.
18573         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
18574         U+1D173..U+1D17A.
18575         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
18576         1.
18577         * modules/uniwidth/*: Bump version number of expected libunistring
18578         version.
18579         * modules/unilbrk/*: Likewise.
18580
18581 2011-01-08  Bruno Haible  <bruno@clisp.org>
18582
18583         uninorm tests: Preserve copyright of Unicode data file.
18584         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
18585         Mention modifications.
18586
18587 2011-01-08  Bruno Haible  <bruno@clisp.org>
18588
18589         gen-uni-tables: Prepare for Unicode 5.2.0.
18590         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
18591         (debug_output_lbp, output_lbp): Update.
18592
18593 2011-01-08  Bruno Haible  <bruno@clisp.org>
18594
18595         unilbrk: Clarify gen-uni-tables.c code.
18596         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
18597         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
18598         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
18599
18600 2011-01-07  Bruno Haible  <bruno@clisp.org>
18601
18602         strtod: Restore errno when successfully parsing Infinity or NaN.
18603         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
18604         restore the original errno.
18605
18606 2011-01-07  Bruno Haible  <bruno@clisp.org>
18607
18608         remove test: Avoid failure on HP-UX 11.
18609         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
18610
18611 2011-01-07  Bruno Haible  <bruno@clisp.org>
18612
18613         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
18614         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
18615         error code.
18616
18617 2011-01-07  Pádraig Brady <P@draigBrady.com>
18618
18619         ignore-value: fixup comments, and add Eric Blake
18620         as an author since he rewrote the macros.
18621         * lib/ignore-value.h (ignore_value):  State that
18622         we now support aggregates.  Also specify exactly
18623         when the GCC warn_unused_result feature was added.
18624
18625 2011-01-06  Eric Blake  <eblake@redhat.com>
18626
18627         ignore-value: support aggregate types
18628         * lib/ignore-value.h (ignore_value): Provide separate gcc
18629         definition.
18630         * modules/ignore-value-tests: New test module.
18631         * tests/test-ignore-value.c: New test.
18632
18633         maint.mk: improve sc_prohibit_strcmp regex
18634         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
18635         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
18636         definition of STRNEQ.
18637
18638         signal: work around Haiku issue with SIGBUS
18639         * lib/siglist.h: Add comment.
18640         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
18641         strsignal's favoring of SIGSEGV.
18642         * tests/test-signal.c (main): Avoid test failure.
18643         * doc/posix-headers/signal.texi (signal.h): Document the issue.
18644         Reported by Scott McCreary.
18645
18646         maint.mk: add pre-release check to ensure submodule commits are public
18647         * top/maint.mk (public-submodule-commit): New rule.
18648         (submodule-checks): New variable.
18649         (alpha beta stable): Depend on the variable.
18650
18651 2011-01-05  Pádraig Brady <P@draigBrady.com>
18652         and Jim Meyering  <meyering@redhat.com>
18653
18654         ignore-value: make ignore_value more generic; deprecate ignore_ptr
18655         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
18656         (ATTRIBUTE_DEPRECATED): Define.
18657         (_ignore_case): New function.
18658         (ignore_value): New macro, to replace the old function.
18659         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
18660         * modules/ignore-value (Depends-on): Add stdint.
18661
18662 2011-01-04  Eric Blake  <eblake@redhat.com>
18663
18664         doc: regenerate INSTALL
18665         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
18666         @firstparagraphindent support, now that autoconf dropped it.
18667         (INSTALL_PRELUDE): Reinstate old macro.
18668         * doc/install.texi: Resync from autoconf.
18669         * doc/INSTALL: Reflect recent autoconf update.
18670         * doc/INSTALL.ISO: Likewise.
18671         * doc/INSTALL.UTF-8: Likewise.
18672         Reported by Karl Berry.
18673
18674 2011-01-04  Bruce Korb  <address@hidden>
18675
18676         git-version-gen: avoid a sub-shell
18677         * build-aux/git-version-gen: Redirect stderr in `...` via
18678         "exec 2>...", rather than via an added sub-shell.
18679
18680 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
18681
18682         git-version-gen: use (...) rather than sh -c '...'
18683         * build-aux/git-version-gen: Rather than hard-coding a shell's name
18684         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
18685
18686 2011-01-03  Jim Meyering  <meyering@redhat.com>
18687
18688         git-version-gen: convert leading TABs to spaces
18689         * build-aux/git-version-gen: Expand leading TABs.
18690
18691         git-version-gen: handle failed "git rev-list"
18692         * build-aux/git-version-gen: Rather than leaking a "fatal" error
18693         from git and proceeding as if it had succeeded but printed no SHA1
18694         checksums, suppress the diagnostic and handle the failure.
18695         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
18696
18697         git-version-gen: include command name in one more diagnostic
18698         * build-aux/git-version-gen: When the required .tarball-version file
18699         was missing or unreadable, you might see the diagnostic from "cat",
18700         but no trace of the name of the invoking script.  Now, you still see
18701         the diagnostic from cat, but also get one from "git-version-gen: ".
18702         Inspired by a patch from Bruce Korb.
18703
18704         update-copyright: adjust test to match changed code
18705         * tests/test-update-copyright.sh: Change test's expected output
18706         to match new actual output.
18707
18708 2011-01-02  Bruno Haible  <bruno@clisp.org>
18709
18710         getlogin_r: Avoid test failure on HP-UX 11.
18711         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
18712         ERANGE when the second argument is zero.
18713         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
18714         portability problem.
18715
18716 2011-01-02  Bruce Korb  <bkorb@gnu.org>
18717
18718         * build-aux/update-copyright: doc Simon's changes
18719
18720 2011-01-02  Simon Josefsson  <simon@josefsson.org>
18721
18722         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
18723         environment variable.
18724
18725 2011-01-02  Bruno Haible  <bruno@clisp.org>
18726
18727         unigbrk: Avoid gcc warnings.
18728         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
18729         unused variable.
18730         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
18731         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
18732         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
18733         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
18734         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
18735         Change type of first argument to 'const char *'.
18736         (main): Remove unused variable.
18737         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
18738         type of first argument to 'const char *'.
18739         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
18740         Likewise.
18741         (main): Change type of variable 's'.
18742         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
18743         to 'int'.
18744
18745 2011-01-02  Bruno Haible  <bruno@clisp.org>
18746
18747         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
18748         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
18749         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
18750         bug.
18751         * lib/pwrite.c: Undo 2010-12-31 patch.
18752         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
18753
18754 2011-01-02  Bruno Haible  <bruno@clisp.org>
18755
18756         pread: Fix test whether it works.
18757         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
18758
18759 2011-01-02  Bruno Haible  <bruno@clisp.org>
18760
18761         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
18762         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
18763         ends in "6". Don't require a specific month name. Try also the locale
18764         names found on HP-UX 11 and Solaris 7.
18765
18766 2011-01-02  Bruno Haible  <bruno@clisp.org>
18767
18768         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
18769         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
18770         C linkage.
18771         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
18772
18773 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
18774
18775         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
18776         for consistency, since the "cluster" term is not used elsewhere.
18777         * lib/unigbrk.in.h: Update name.
18778         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
18779         * lib/unigbrk/u16-grapheme-next.c: Update name.
18780         * lib/unigbrk/u16-grapheme-prev.c: Update name.
18781         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
18782         * lib/unigbrk/u32-grapheme-next.c: Update name.
18783         * lib/unigbrk/u32-grapheme-prev.c: Update name.
18784         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
18785         * lib/unigbrk/u8-grapheme-next.c: Update name.
18786         * lib/unigbrk/u8-grapheme-prev.c: Update name.
18787         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
18788         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
18789         Suggested by Bruno Haible.
18790
18791 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
18792
18793         Remove module 'u8-grapheme-len' as too redundant with
18794         'u8-grapheme-next'.
18795         * modules/unigbrk/u8-grapheme-len: Delete file.
18796         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
18797         * lib/unigbrk.in.h: Remove prototype for deleted function.
18798         * lib/unigbrk/u8-grapheme-len.c: Delete file.
18799         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
18800
18801         Remove module 'u16-grapheme-len' as too redundant with
18802         'u16-grapheme-next'.
18803         * modules/unigbrk/u16-grapheme-len: Delete file.
18804         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
18805         * lib/unigbrk.in.h: Remove prototype for deleted function.
18806         * lib/unigbrk/u16-grapheme-len.c: Delete file.
18807         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
18808
18809         Remove module 'u32-grapheme-len' as too redundant with
18810         'u32-grapheme-next'.
18811         * modules/unigbrk/u32-grapheme-len: Delete file.
18812         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
18813         * lib/unigbrk.in.h: Remove prototype for deleted function.
18814         * lib/unigbrk/u32-grapheme-len.c: Delete file.
18815         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
18816
18817         Suggested by Bruno Haible.
18818
18819 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
18820
18821         * unigbrk.in.h: Fix typo: "ben" => "been".
18822         Reported by Bruno Haible.
18823
18824 2011-01-01  Jim Meyering  <meyering@redhat.com>
18825
18826         maint: update almost all copyright ranges to include 2011
18827         Run the new "make update-copyright" rule.
18828
18829 2011-01-01  Jim Meyering  <meyering@redhat.com>
18830
18831         maint: update-copyright: exempt doc/INSTALL*
18832         * Makefile (update-copyright): Also exclude doc/INSTALL*,
18833         since they are generated.  Suggested by Bruno Haible.
18834
18835 2011-01-01  Jim Meyering  <meyering@redhat.com>
18836
18837         maint: refine the update-copyright rule
18838         * Makefile (update-copyright): Also exclude any file that includes
18839         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
18840         code that merely generates the comment.
18841
18842 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
18843
18844         New module 'u8-grapheme-len'.
18845         * modules/unigbrk/u8-grapheme-len: New file.
18846         * modules/unigbrk/u8-grapheme-len-tests: New file.
18847         * lib/unigbrk.in.h: Add prototype for new function.
18848         * lib/unigbrk/u8-grapheme-len.c: New file.
18849         * tests/unigbrk/test-u8-grapheme-len.c: New file.
18850
18851         New module 'u16-grapheme-len'.
18852         * modules/unigbrk/u16-grapheme-len: New file.
18853         * modules/unigbrk/u16-grapheme-len-tests: New file.
18854         * lib/unigbrk.in.h: Add prototype for new function.
18855         * lib/unigbrk/u16-grapheme-len.c: New file.
18856         * tests/unigbrk/test-u16-grapheme-len.c: New file.
18857
18858         New module 'u32-grapheme-len'.
18859         * modules/unigbrk/u32-grapheme-len: New file.
18860         * modules/unigbrk/u32-grapheme-len-tests: New file.
18861         * lib/unigbrk.in.h: Add prototype for new function.
18862         * lib/unigbrk/u32-grapheme-len.c: New file.
18863         * tests/unigbrk/test-u32-grapheme-len.c: New file.
18864
18865         New module 'u8-grapheme-next'.
18866         * modules/unigbrk/u8-grapheme-next: New file.
18867         * modules/unigbrk/u8-grapheme-next-tests: New file.
18868         * lib/unigbrk.in.h: Add prototype for new function.
18869         * lib/unigbrk/u8-grapheme-next.c: New file.
18870         * tests/unigbrk/test-u8-grapheme-next.c: New file.
18871
18872         New module 'u16-grapheme-next'.
18873         * modules/unigbrk/u16-grapheme-next: New file.
18874         * modules/unigbrk/u16-grapheme-next-tests: New file.
18875         * lib/unigbrk.in.h: Add prototype for new function.
18876         * lib/unigbrk/u16-grapheme-next.c: New file.
18877         * tests/unigbrk/test-u16-grapheme-next.c: New file.
18878
18879         New module 'u32-grapheme-next'.
18880         * modules/unigbrk/u32-grapheme-next: New file.
18881         * modules/unigbrk/u32-grapheme-next-tests: New file.
18882         * lib/unigbrk.in.h: Add prototype for new function.
18883         * lib/unigbrk/u32-grapheme-next.c: New file.
18884         * tests/unigbrk/test-u32-grapheme-next.c: New file.
18885
18886         New module 'u8-grapheme-prev'.
18887         * modules/unigbrk/u8-grapheme-prev: New file.
18888         * modules/unigbrk/u8-grapheme-prev-tests: New file.
18889         * lib/unigbrk.in.h: Add prototype for new function.
18890         * lib/unigbrk/u8-grapheme-prev.c: New file.
18891         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
18892
18893         New module 'u16-grapheme-prev'.
18894         * modules/unigbrk/u16-grapheme-prev: New file.
18895         * modules/unigbrk/u16-grapheme-prev-tests: New file.
18896         * lib/unigbrk.in.h: Add prototype for new function.
18897         * lib/unigbrk/u16-grapheme-prev.c: New file.
18898         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
18899
18900         New module 'u32-grapheme-prev'.
18901         * modules/unigbrk/u32-grapheme-prev: New file.
18902         * modules/unigbrk/u32-grapheme-prev-tests: New file.
18903         * lib/unigbrk.in.h: Add prototype for new function.
18904         * lib/unigbrk/u32-grapheme-prev.c: New file.
18905         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
18906
18907         New module 'u8-grapheme-breaks'.
18908         * modules/unigbrk/u8-grapheme-breaks: New file.
18909         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
18910         * lib/unigbrk.in.h: Add prototype for new function.
18911         * lib/unigbrk/u8-grapheme-breaks.c: New file.
18912         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
18913
18914         New module 'u16-grapheme-breaks'.
18915         * modules/unigbrk/u16-grapheme-breaks: New file.
18916         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
18917         * lib/unigbrk.in.h: Add prototype for new function.
18918         * lib/unigbrk/u16-grapheme-breaks.c: New file.
18919         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
18920
18921         New module 'u32-grapheme-breaks'.
18922         * modules/unigbrk/u32-grapheme-breaks: New file.
18923         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
18924         * lib/unigbrk.in.h: Add prototype for new function.
18925         * lib/unigbrk/u32-grapheme-breaks.c: New file.
18926         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
18927
18928         New module 'ulc-grapheme-breaks'.
18929         * modules/unigbrk/ulc-grapheme-breaks: New file.
18930         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
18931         * m4/locale-ar.m4: New file.
18932         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
18933         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
18934         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
18935
18936 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
18937
18938         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
18939         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
18940         modified how this file was generated before I initially submitted
18941         the module, but failed to regenerate it.  This meant that several
18942         of the level2 entries were wrong.
18943         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
18944         Remove the division-by-2 that is folded into the table now that
18945         gbrkprop.h has been regenerated properly.  Now -1 entries are
18946         handled correctly.
18947
18948         New module 'unigbrk/uc-gbrk-prop-tests'.
18949         * modules/unigbrk/uc-gbrk-prop-tests: New file.
18950         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
18951         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
18952         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
18953
18954 2011-01-01  Bruno Haible  <bruno@clisp.org>
18955
18956         Avoid use of hexadecimal escapes.
18957         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
18958         instead of hexadecimal escapes.
18959
18960 2011-01-01  Jim Meyering  <meyering@redhat.com>
18961
18962         maint: new rule to update copyright year ranges
18963         * Makefile (update-copyright): New rule.
18964
18965         maint: indent with TABs in Makefile
18966         * Makefile: Expand leading sequences of spaces to TABs
18967
18968         version-etc: update the copyright year it reports
18969         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
18970
18971 2010-12-31  Bruno Haible  <bruno@clisp.org>
18972
18973         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
18974         * lib/isfinite.c (zerof, zerod, zerol): New variables.
18975         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
18976         zero.
18977
18978 2010-12-31  Bruno Haible  <bruno@clisp.org>
18979
18980         pwrite: Work around HP-UX 11.11 bug.
18981         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
18982         works and set REPLACE_PWRITE if not.
18983         * lib/pwrite.c (pwrite): Add an implementation that uses the system
18984         function.
18985         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
18986
18987 2010-12-31  Bruno Haible  <bruno@clisp.org>
18988
18989         pread: Work around HP-UX 11 bugs.
18990         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
18991         and set REPLACE_PREAD if not.
18992         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
18993
18994 2010-12-31  Eric Blake  <eblake@redhat.com>
18995
18996         nl_langinfo: fix YESEXPR on Irix 6.5
18997         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
18998         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
18999         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
19000         it.
19001
19002 2010-12-31  Bruno Haible  <bruno@clisp.org>
19003
19004         iconv: Document HP-UX 11 bug.
19005         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
19006
19007 2010-12-31  Bruno Haible  <bruno@clisp.org>
19008
19009         ldexpl: Fix link error on HP-UX 11.
19010         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
19011         LDEXPL_LIBM, using $ISNANL_LIBM.
19012
19013 2010-12-31  Eric Blake  <eblake@redhat.com>
19014
19015         ftello: avoid compilation failure with SunStudio c89
19016         * lib/ftello.c (ftello): Use lseek, not llseek.
19017
19018         tests: avoid failing coreutils tests on cygwin
19019         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
19020         (create_exe_shims_): Return 0 when skipping.
19021
19022 2010-12-31  Bruno Haible  <bruno@clisp.org>
19023
19024         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
19025         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
19026
19027 2010-12-31  Bruno Haible  <bruno@clisp.org>
19028
19029         waitpid: Fix link error in C++ mode.
19030         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
19031
19032 2010-12-31  Bruno Haible  <bruno@clisp.org>
19033
19034         isnan: Use GCC built-ins when possible.
19035         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
19036         __builtin_isnan.
19037         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
19038         (isnan): Define using GCC built-ins for GCC >= 4.0.
19039
19040 2010-12-31  Bruno Haible  <bruno@clisp.org>
19041
19042         isnand: Fix mistake.
19043         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
19044         __builtin_isnand.
19045
19046 2010-12-31  Bruno Haible  <bruno@clisp.org>
19047
19048         open: Avoid C++ error on HP-UX 11.
19049         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
19050
19051 2010-12-31  Bruno Haible  <bruno@clisp.org>
19052
19053         time_r: Add missing declarations on HP-UX 11.
19054         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
19055         instead of HAVE_LOCALTIME_R.
19056         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
19057         HAVE_LOCALTIME_R always.
19058         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
19059         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
19060         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
19061         HAVE_LOCALTIME_R.
19062         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
19063         * doc/posix-functions/localtime_r.texi: Likewise.
19064
19065 2010-12-29  Eric Blake  <eblake@redhat.com>
19066
19067         mountlist: tweak previous commit
19068         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
19069         Reported by Paul Eggert.
19070
19071         mountlist: fix local drive detection on cygwin
19072         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
19073         that works for cygwin.
19074
19075 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
19076
19077         ftoastr, snprintf: ftoastr + snprintf module
19078         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
19079         since the snprintf module now should be good enough here.
19080         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
19081         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
19082         and gl_MODULE_INDICATOR([snprintf]), but the former enables
19083         GNULIB_SNPRINTF only for the test directory, and the latter
19084         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
19085         seems to suffice by itself.
19086
19087 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
19088
19089         alloca: one step towards thread-safety
19090         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
19091         need for a static variable.  All callers changed.  This does not
19092         make the alloca replacement thread-safe, but it's one step.
19093
19094         tests: minor indenting change
19095         * tests/init.sh: Sync from coreutils housekeeping patch
19096         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
19097         to keep lines within 80 columns.
19098
19099 2010-12-28  Jim Meyering  <meyering@redhat.com>
19100
19101         regex: don't infloop on persistent failing calloc
19102         * lib/regexec.c (build_trtable): Return failure indication upon
19103         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
19104         In glibc, this was fixed for version 2.13:
19105         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
19106
19107 2010-12-28  Bruno Haible  <bruno@clisp.org>
19108             Paul Eggert <eggert@cs.ucla.edu>
19109
19110         linkat: Make implementation robust against system behaviour variations.
19111         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
19112         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
19113         way, and to -2 if it needs a generic runtime test.
19114         * lib/linkat.c (solaris_optimized_link_immediate,
19115         solaris_optimized_link_follow): New functions.
19116         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
19117         (check_same_link): Use it.
19118
19119 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
19120
19121         New module 'unigbrk/base'.
19122         * modules/unigbrk/base: New file.
19123         * lib/unigbrk.in.h: New file.
19124
19125         New module 'unigbrk/uc-gbrk-prop'.
19126         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
19127         * modules/unigbrk/uc-gbrk-prop: New file.
19128         * lib/unigbrk/gbrkprop.h: New file.
19129         * lib/unigbrk/uc-gbrk-prop.c: New file.
19130
19131         New module 'unigbrk/uc-is-grapheme-break'.
19132         * modules/unigbrk/uc-is-grapheme-break: New file.
19133         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
19134         * lib/unigbrk/uc-is-grapheme-break.c: New file.
19135         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
19136         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
19137         * tests/unigbrk/GraphemeBreakTest.txt: New file.
19138
19139         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
19140
19141 2010-12-27  Bruno Haible  <bruno@clisp.org>
19142
19143         linkat test: Avoid failure on Solaris 11 2010-11.
19144         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
19145
19146 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
19147
19148         utimens: work around glibc rounding bug on more platforms
19149         * lib/utimens.c (fdutimens): Work around rounding bug even if
19150         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
19151         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
19152
19153 2010-12-27  Bruno Haible  <bruno@clisp.org>
19154
19155         select tests: Improve comments.
19156         * tests/test-select.c (do_select): Add comments.
19157
19158 2010-12-27  Bruno Haible  <bruno@clisp.org>
19159
19160         select tests: Safer way of handling timeout.
19161         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
19162         at every invocation.
19163
19164 2010-12-27  Bruno Haible  <bruno@clisp.org>
19165
19166         select tests: Use 'bool' where appropriate.
19167         * tests/test-select.c (connect_to_socket): Change argument type to
19168         'bool'.
19169
19170 2010-12-27  Bruno Haible  <bruno@clisp.org>
19171
19172         select tests: Use existing modules.
19173         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
19174         (configure.ac): Don't test for unistd.h.
19175         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
19176         declared in <unistd.h>.
19177
19178 2010-12-27  Bruno Haible  <bruno@clisp.org>
19179
19180         mbrtowc: Work around a Solaris 7 bug.
19181         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
19182         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
19183         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
19184         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
19185         MBRTOWC_NULL_ARG1_BUG.
19186         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
19187         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
19188         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
19189         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
19190
19191 2010-12-27  Jim Meyering  <meyering@redhat.com>
19192
19193         read-file.c: tweak syntax
19194         * lib/read-file.c (fread_file): Remove space after "*" in function
19195         definitions.
19196
19197 2010-12-27  Bruno Haible  <bruno@clisp.org>
19198
19199         times test: Avoid gcc warnings on OSF/1.
19200         * tests/test-times.c (main): Cast printf arguments from clock_t to
19201         'long int'.
19202
19203 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
19204
19205         utimens: work around glibc rounding bug on older Linux kernels
19206         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
19207         on Linux with a glibc whose utimes might not work, then work
19208         around a longstanding glibc bug involving rounding rather than
19209         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
19210         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
19211
19212 2010-12-26  Bruno Haible  <bruno@clisp.org>
19213
19214         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
19215         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
19216         _GL_CXXALIAS_SYS.
19217         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19218
19219 2010-12-26  Bruno Haible  <bruno@clisp.org>
19220
19221         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
19222         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
19223         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
19224         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
19225         looking for the declaration.
19226         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
19227         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
19228         problem.
19229         * doc/posix-functions/inet_pton.texi: Likewise.
19230
19231 2010-12-26  Bruno Haible  <bruno@clisp.org>
19232
19233         arpa_inet: Use the common idioms with C++ support.
19234         * lib/arpa_inet.in.h: Include c++defs.h.
19235         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
19236         support.
19237         * modules/arpa_inet (Depends-on): Add c++defs.
19238         (Makefile.am): Substitute the contents of c++defs.h.
19239         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
19240         * modules/arpa_inet-c++-tests: New file.
19241         * tests/test-arpa_inet-c++.cc: New file.
19242
19243 2010-12-25  Bruno Haible  <bruno@clisp.org>
19244
19245         Fix more C++ link errors on Solaris 8.
19246         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
19247         $(LIB_EACCESS).
19248         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
19249         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
19250         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
19251         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
19252         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
19253
19254 2010-12-25  Bruno Haible  <bruno@clisp.org>
19255
19256         printf-posix: Fix link error when a non-GCC compiler is used.
19257         * lib/stdio.in.h (printf): When not using GCC, override printf
19258         correctly.
19259         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19260
19261 2010-12-25  Bruno Haible  <bruno@clisp.org>
19262
19263         strerror_r-posix: Update doc.
19264         * doc/posix-functions/strerror_r.texi: Update doc about the return
19265         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
19266
19267 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
19268
19269         utimens: simplify the logic of the previous change
19270         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
19271         This should not affect whether the test succeeds or fails.
19272
19273         utimens: configure better on hosts with NFS clock skew
19274         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
19275         uses the clock of the local host.  It might use the clock of the
19276         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
19277         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
19278
19279 2010-12-25  Bruno Haible  <bruno@clisp.org>
19280
19281         ptsname test: Avoid failure on Solaris.
19282         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
19283         open a pseudo-terminal; don't use BSD-style ptys.
19284         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
19285
19286 2010-12-25  Bruno Haible  <bruno@clisp.org>
19287
19288         ptsname: Avoid ERANGE failure on some systems.
19289         * lib/ptsname.c (buffer): Increase size.
19290
19291 2010-12-25  Bruno Haible  <bruno@clisp.org>
19292
19293         rename, renameat: Avoid test failures at NFS mounted locations.
19294         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
19295         so that subsequent mkdir calls succeed.
19296
19297 2010-12-25  Bruno Haible  <bruno@clisp.org>
19298
19299         iswblank: Fix C++ link error on Solaris 8.
19300         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
19301         _GL_FUNCDECL_SYS.
19302
19303 2010-12-25  Bruno Haible  <bruno@clisp.org>
19304
19305         unistd: Fix C++ link error on Solaris 8.
19306         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
19307
19308 2010-12-25  Bruno Haible  <bruno@clisp.org>
19309
19310         readlink doc: Mention an old glibc bug.
19311         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
19312
19313 2010-12-25  Bruno Haible  <bruno@clisp.org>
19314
19315         fcntl-h: Fix for use of C++ on glibc systems.
19316         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
19317         also on glibc systems in C++ mode.
19318         Reported by Gary V. Vaughan <gary@gnu.org>.
19319
19320 2010-12-25  Bruno Haible  <bruno@clisp.org>
19321
19322         roundl-ieee: Make it work on OSF/1 5.1 with cc.
19323         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
19324
19325 2010-12-25  Bruno Haible  <bruno@clisp.org>
19326
19327         truncl-ieee: Make it work on OSF/1 5.1 with cc.
19328         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
19329         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
19330         test whether truncl works according to ISO C 99 with IEC 60559.
19331         * m4/truncl-ieee.m4: New file.
19332         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
19333         m4/signbit.m4.
19334         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
19335
19336 2010-12-25  Bruno Haible  <bruno@clisp.org>
19337
19338         ceill-ieee: Make it work on OSF/1 5.1 with cc.
19339         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
19340         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
19341         test whether ceill works according to ISO C 99 with IEC 60559.
19342         * m4/ceill-ieee.m4: New file.
19343         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
19344         m4/signbit.m4.
19345         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
19346
19347 2010-12-25  Bruno Haible  <bruno@clisp.org>
19348
19349         Ensure all prerequisites of <wchar.h> are included.
19350         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
19351         before <wchar.h>.
19352         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
19353         gl_MBRLEN_NUL_RETVAL): Likewise.
19354         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
19355         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
19356         AC_FUNC_MBRTOWC): Likewise.
19357         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
19358         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
19359         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
19360         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
19361         Likewise.
19362         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
19363         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
19364         (gl_WCHAR_H): Improve comments.
19365         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
19366
19367 2010-12-25  Bruno Haible  <bruno@clisp.org>
19368
19369         strtok_r: Fix C syntax error in autoconf macro.
19370         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
19371         characters in test program.
19372
19373 2010-12-24  Bruno Haible  <bruno@clisp.org>
19374
19375         ceil, trunc, round: Fix gcc warnings.
19376         * lib/ceil.c (MIN): Undefine before redefining.
19377         * lib/trunc.c (MIN): Likewise.
19378         * lib/round.c (MIN): Likewise.
19379         Include <math.h> first.
19380
19381 2010-12-24  Bruno Haible  <bruno@clisp.org>
19382
19383         select tests: Avoid failures on OSF/1 5.1.
19384         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
19385         failure of closing the last socket; it may fail with ECONNRESET.
19386
19387 2010-12-24  Eric Blake  <eblake@redhat.com>
19388
19389         stdint: avoid HP-UX 10.20 preprocessor bug
19390         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
19391         than #if.
19392         * tests/test-floor2.c (main): Likewise.
19393         Reported by Peter O'Gorman.
19394
19395         pipe: make obsoletion transition easier
19396         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
19397         * modules/pipe (Files): Include revived file.
19398         (Include): Drop reference, to mirror getdate's behavior.
19399
19400 2010-12-24  Bruno Haible  <bruno@clisp.org>
19401
19402         sys_socket: Hide mismatch of declarations on NonStop Kernel.
19403         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
19404         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
19405         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19406
19407 2010-12-24  Bruno Haible  <bruno@clisp.org>
19408
19409         gethostname: Ensure declaration on NonStop Kernel.
19410         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
19411         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19412
19413 2010-12-24  Bruno Haible  <bruno@clisp.org>
19414
19415         sys_select: Ensure all necessary types on NonStop Kernel.
19416         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
19417         include <sys/time.h>.
19418         * doc/posix-headers/sys_select.texi: Mention that it's missing on
19419         NonStop Kernel.
19420         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19421
19422 2010-12-24  Bruno Haible  <bruno@clisp.org>
19423
19424         sys_select: Remove unneeded include.
19425         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
19426         have <sys/select.h>.
19427
19428 2010-12-24  Bruno Haible  <bruno@clisp.org>
19429
19430         gethostname: Provide a fallback for HOST_NAME_MAX.
19431         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
19432         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
19433         instead.
19434         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19435
19436 2010-12-24  Bruno Haible  <bruno@clisp.org>
19437
19438         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
19439         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
19440         (SA_RESTART): Likewise.
19441         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19442
19443 2010-12-24  Bruno Haible  <bruno@clisp.org>
19444
19445         signal: Define NSIG.
19446         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
19447         * tests/test-signal.c (nsig): New variable.
19448         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19449
19450 2010-12-24  Bruno Haible  <bruno@clisp.org>
19451
19452         rename, renameat: Avoid test failures on OSF/1 5.1.
19453         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
19454         alternative error codes.
19455         * tests/test-renameat.c (main): Likewise.
19456
19457 2010-12-24  Bruno Haible  <bruno@clisp.org>
19458
19459         *printf: Detect large precisions bug on Solaris 10/SPARC.
19460         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
19461         by Paul Eggert.
19462         * tests/test-snprintf-posix.h (test_function): Add this test code here
19463         too.
19464         * tests/test-sprintf-posix.h (test_function): Likewise.
19465         * tests/test-vasnprintf-posix.c (test_function): Likewise.
19466         * tests/test-vasprintf-posix.c (test_function): Likewise.
19467         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
19468         around by gnulib.
19469         * doc/posix-functions/printf.texi: Likewise.
19470         * doc/posix-functions/snprintf.texi: Likewise.
19471         * doc/posix-functions/sprintf.texi: Likewise.
19472         * doc/posix-functions/vfprintf.texi: Likewise.
19473         * doc/posix-functions/vprintf.texi: Likewise.
19474         * doc/posix-functions/vsnprintf.texi: Likewise.
19475         * doc/posix-functions/vsprintf.texi: Likewise.
19476         * doc/posix-functions/dprintf.texi: Undo last commit.
19477         * doc/posix-functions/vdprintf.texi: Likewise.
19478
19479 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
19480
19481         tests: port test-fdutimensat.c to Solaris 8
19482         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
19483         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
19484         On Solaris 8, it fails with errno == ENOSYS, because there is no
19485         futimens (so it can't use the fd), and there is no lutimens (so it
19486         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
19487
19488         vsnprintf: make more consistent with snprintf; doc fixes
19489
19490         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
19491         the byte count return problem was promoted from the snprintf-posix
19492         to the snprintf module.
19493         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
19494         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
19495         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
19496         * tests/test-snprintf.c (main): Check the byte count returned.
19497         * tests/test-vsnprintf.c (main): Likewise.
19498
19499 2010-12-23  Eric Blake  <eblake@redhat.com>
19500
19501         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
19502         * modules/sigpipe (License): Relax license.
19503
19504 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
19505
19506         doc: document Solaris printf bug with large float precisions
19507         * doc/posix-functions/dprintf.texi (dprintf):
19508         * doc/posix-functions/fprintf.texi (fprintf):
19509         * doc/posix-functions/printf.texi (printf):
19510         * doc/posix-functions/snprintf.texi (snprintf):
19511         * doc/posix-functions/sprintf.texi (sprintf):
19512         * doc/posix-functions/vdprintf.texi (vdprintf):
19513         * doc/posix-functions/vfprintf.texi (vfprintf):
19514         * doc/posix-functions/vprintf.texi (vprintf):
19515         * doc/posix-functions/vsnprintf.texi (vsnprintf):
19516         * doc/posix-functions/vsprintf.texi (vsprintf):
19517         Mention that these functions mishandle large floating point
19518         precisions on Solaris 10.  The same bug is also present in Solaris
19519         8, and I assume earlier.  This causes "cd gnulib-tests; make
19520         check" to fail on Solaris 8 (and I assume, later) when building
19521         the latest coreutils, in test-vasprintf-posix's call to
19522         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
19523         the wide flavors (e.g., wprintf) so this patch just updates the
19524         documentation for the narrow ones.
19525
19526         test-posixtm.c: add two tests
19527         * tests/test-posixtm.c: Add two tests, to highlight the
19528         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
19529         around this bug; this is merely to document it.
19530
19531 2010-12-22  Bruno Haible  <bruno@clisp.org>
19532
19533         getlogin_r: Work around portability problem on OSF/1.
19534         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
19535         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
19536         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
19537         test for a truncated result.
19538         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
19539         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
19540         * modules/getlogin_r (Depends-on): Add memchr.
19541         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
19542
19543 2010-12-22  Bruno Haible  <bruno@clisp.org>
19544
19545         ptsname: Avoid test failure on OSF/1 5.1.
19546         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
19547         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
19548         (same_slave): New function.
19549         (main): Use it to compare ptsname's result with the expected file name.
19550
19551 2010-12-22  Bruno Haible  <bruno@clisp.org>
19552
19553         Port extended stdio modules to HP NonStop Kernel.
19554         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
19555         macros.
19556         * lib/fbufmode.c: Update comments.
19557         * lib/fflush.c: Likewise.
19558         * lib/fpurge.c: Likewise.
19559         * lib/freadable.c: Likewise.
19560         * lib/freadahead.c: Likewise.
19561         * lib/freading.c: Likewise.
19562         * lib/freadptr.c: Likewise.
19563         * lib/freadseek.c: Likewise.
19564         * lib/fseeko.c: Likewise.
19565         * lib/fseterr.c: Likewise.
19566         * lib/fwritable.c: Likewise.
19567         * lib/fwriting.c: Likewise.
19568         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19569
19570 2010-12-22  Bruno Haible  <bruno@clisp.org>
19571
19572         ttyname_r: Work around bug on OSF/1 5.1.
19573         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
19574         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
19575         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
19576         present.
19577         * lib/ttyname_r.c (ttyname_r): Update comments.
19578
19579 2010-12-22  Bruno Haible  <bruno@clisp.org>
19580
19581         round: Implement result sign according to IEEE 754.
19582         * lib/round.c (MIN, MINUS_ZERO): New macros.
19583         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
19584         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
19585         * tests/test-round-ieee.c (main): Likewise.
19586         * tests/test-roundl-ieee.c (main): Likewise.
19587
19588         trunc: Implement result sign according to IEEE 754.
19589         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
19590         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
19591         * tests/test-trunc2.c: Include minus-zero.h.
19592         (MINUS_ZERO): New macro.
19593         (trunc_reference): Keep in sync with lib/trunc.c.
19594         * tests/test-truncf2.c: Include minus-zero.h.
19595         (MINUS_ZERO): New macro.
19596         (truncf_reference): Keep in sync with lib/trunc.c.
19597         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
19598         * tests/test-trunc-ieee.c (main): Likewise.
19599         * tests/test-truncl-ieee.c (main): Likewise.
19600
19601         ceil: Implement result sign according to IEEE 754.
19602         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
19603         (FUNC): Return -0.0 for -1 < x < 0.
19604         * tests/test-ceil2.c: Include minus-zero.h.
19605         (MINUS_ZERO): New macro.
19606         (ceil_reference): Keep in sync with lib/ceil.c.
19607         * tests/test-ceilf2.c: Include minus-zero.h.
19608         (MINUS_ZERO): New macro.
19609         (ceilf_reference): Keep in sync with lib/ceil.c.
19610         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
19611         * tests/test-ceil-ieee.c (main): Likewise.
19612         * tests/test-ceill-ieee.c (main): Likewise.
19613
19614         floor: Implement result sign according to IEEE 754.
19615         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
19616         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
19617         * tests/test-floorf2.c (floorf_reference): Likewise.
19618         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
19619         * tests/test-floor-ieee.c (main): Likewise.
19620         * tests/test-floorl-ieee.c (main): Likewise.
19621
19622 2010-12-22  Bruno Haible  <bruno@clisp.org>
19623
19624         getaddrinfo: Update doc.
19625         * doc/posix-functions/gai_strerror.texi: Return type is also different
19626         on AIX and HP-UX.
19627
19628 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
19629
19630         getaddrinfo, inet_ntop: Update doc for Solaris.
19631         * doc/posix-functions/gai_strerror.texi: Return type is also an
19632         issue on Solaris 9 and earlier.
19633         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
19634         on Solaris 10 and earlier.
19635
19636 2010-12-21  Bruno Haible  <bruno@clisp.org>
19637
19638         New module 'roundl-ieee'.
19639         * modules/roundl-ieee: New file.
19640         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
19641         test whether roundl works according to ISO C 99 with IEC 60559.
19642         * m4/roundl-ieee.m4: New file.
19643         * modules/roundl-ieee-tests: New file.
19644         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
19645         * tests/test-roundl.c (main): Remove signbit tests.
19646         * modules/roundl-tests (Depends-on): Remove signbit.
19647         * doc/posix-functions/roundl.texi: Mention the new module.
19648
19649 2010-12-21  Bruno Haible  <bruno@clisp.org>
19650
19651         New module 'truncl-ieee'.
19652         * modules/truncl-ieee: New file.
19653         * modules/truncl-ieee-tests: New file.
19654         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
19655         * tests/test-truncl.c (main): Remove signbit tests.
19656         * modules/truncl-tests (Depends-on): Remove signbit.
19657         * doc/posix-functions/truncl.texi: Mention the new module.
19658
19659 2010-12-21  Bruno Haible  <bruno@clisp.org>
19660
19661         New module 'ceill-ieee'.
19662         * modules/ceill-ieee: New file.
19663         * modules/ceill-ieee-tests: New file.
19664         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
19665         * tests/test-ceill.c (main): Remove signbit tests.
19666         * modules/ceill-tests (Depends-on): Remove signbit.
19667         * doc/posix-functions/ceill.texi: Mention the new module.
19668
19669 2010-12-21  Bruno Haible  <bruno@clisp.org>
19670
19671         New module 'floorl-ieee'.
19672         * modules/floorl-ieee: New file.
19673         * modules/floorl-ieee-tests: New file.
19674         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
19675         * tests/test-floorl.c (main): Remove signbit tests.
19676         * modules/floorl-tests (Depends-on): Remove signbit.
19677         * doc/posix-functions/floorl.texi: Mention the new module.
19678
19679 2010-12-21  Bruno Haible  <bruno@clisp.org>
19680
19681         New module 'round-ieee'.
19682         * modules/round-ieee: New file.
19683         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
19684         whether round works according to ISO C 99 with IEC 60559.
19685         * m4/round-ieee.m4: New file.
19686         * modules/round-ieee-tests: New file.
19687         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
19688         * tests/test-round1.c (main): Remove signbit tests.
19689         * modules/round-tests (Depends-on): Remove 'signbit'.
19690         * doc/posix-functions/round.texi: Mention the new module.
19691
19692 2010-12-21  Bruno Haible  <bruno@clisp.org>
19693
19694         New module 'trunc-ieee'.
19695         * modules/trunc-ieee: New file.
19696         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
19697         whether trunc works according to ISO C 99 with IEC 60559.
19698         * m4/trunc-ieee.m4: New file.
19699         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
19700         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
19701         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
19702         * modules/trunc-ieee-tests: New file.
19703         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
19704         * tests/test-trunc1.c (main): Remove signbit tests.
19705         * modules/trunc-tests (Depends-on): Remove 'signbit'.
19706         * doc/posix-functions/trunc.texi: Mention the new module.
19707
19708 2010-12-21  Bruno Haible  <bruno@clisp.org>
19709
19710         New module 'ceil-ieee'.
19711         * modules/ceil-ieee: New file.
19712         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
19713         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
19714         ISO C 99 with IEC 60559.
19715         * m4/ceil-ieee.m4: New file.
19716         * modules/ceil (Files): Add lib/ceil.c.
19717         (Depends-on): Add 'float'.
19718         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
19719         * lib/math.in.h (ceil): New declaration.
19720         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
19721         REPLACE_CEIL.
19722         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
19723         * modules/ceil-ieee-tests: New file.
19724         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
19725         * tests/test-math-c++.cc: Check the signature of 'ceil'.
19726         * doc/posix-functions/ceil.texi: Mention the new module.
19727
19728 2010-12-21  Bruno Haible  <bruno@clisp.org>
19729
19730         New module 'floor-ieee'.
19731         * modules/floor-ieee: New file.
19732         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
19733         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
19734         ISO C 99 with IEC 60559.
19735         * m4/floor-ieee.m4: New file.
19736         * modules/floor (Files): Add lib/floor.c.
19737         (Depends-on): Add 'float'.
19738         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
19739         * lib/math.in.h (floor): New declaration.
19740         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
19741         REPLACE_FLOOR.
19742         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
19743         * modules/floor-ieee-tests: New file.
19744         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
19745         * tests/test-math-c++.cc: Check the signature of 'floor'.
19746         * doc/posix-functions/floor.texi: Mention the new module.
19747
19748 2010-12-21  Bruno Haible  <bruno@clisp.org>
19749
19750         New module 'roundf-ieee'.
19751         * modules/roundf-ieee: New file.
19752         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
19753         test whether roundf works according to ISO C 99 with IEC 60559.
19754         * m4/roundf-ieee.m4: New file.
19755         * modules/roundf-ieee-tests: New file.
19756         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
19757         * tests/test-roundf1.c (main): Remove signbit tests.
19758         * modules/roundf-tests (Depends-on): Remove 'signbit'.
19759         * doc/posix-functions/roundf.texi: Mention the new module.
19760
19761 2010-12-21  Bruno Haible  <bruno@clisp.org>
19762
19763         New module 'truncf-ieee'.
19764         * modules/truncf-ieee: New file.
19765         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
19766         test whether truncf works according to ISO C 99 with IEC 60559.
19767         * m4/truncf-ieee.m4: New file.
19768         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
19769         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
19770         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
19771         * modules/truncf-ieee-tests: New file.
19772         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
19773         * tests/test-truncf1.c (main): Remove signbit tests.
19774         * modules/truncf-tests (Depends-on): Remove 'signbit'.
19775         * doc/posix-functions/truncf.texi: Mention the new module.
19776
19777 2010-12-21  Bruno Haible  <bruno@clisp.org>
19778
19779         New module 'ceilf-ieee'.
19780         * modules/ceilf-ieee: New file.
19781         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
19782         test whether ceilf works according to ISO C 99 with IEC 60559.
19783         * m4/ceilf-ieee.m4: New file.
19784         * modules/ceilf-ieee-tests: New file.
19785         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
19786         * tests/test-ceilf1.c (main): Remove signbit tests.
19787         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
19788         * doc/posix-functions/ceilf.texi: Mention the new module.
19789
19790 2010-12-21  Bruno Haible  <bruno@clisp.org>
19791
19792         New module 'floorf-ieee'.
19793         * modules/floorf-ieee: New file.
19794         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
19795         test whether floorf works according to ISO C 99 with IEC 60559.
19796         * m4/floorf-ieee.m4: New file.
19797         * modules/floorf-ieee-tests: New file.
19798         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
19799         * tests/test-floorf1.c (main): Remove signbit tests.
19800         * modules/floorf-tests (Depends-on): Remove 'signbit'.
19801         * doc/posix-functions/floorf.texi: Mention the new module.
19802
19803 2010-12-21  Bruno Haible  <bruno@clisp.org>
19804
19805         Support for minus zero in autoconf macros.
19806         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
19807         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
19808         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
19809         * tests/minus-zero.h: Update comments.
19810
19811 2010-12-21  Bruno Haible  <bruno@clisp.org>
19812
19813         Tests for module 'ceil'.
19814         * modules/ceil-tests: New file.
19815         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
19816         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
19817
19818 2010-12-21  Bruno Haible  <bruno@clisp.org>
19819
19820         Tests for module 'floor'.
19821         * modules/floor-tests: New file.
19822         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
19823         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
19824
19825 2010-12-21  Bruno Haible  <bruno@clisp.org>
19826
19827         math: Fix indentation.
19828         * lib/math.in.h (floorf): Fix indentation.
19829
19830 2010-12-21  Bruno Haible  <bruno@clisp.org>
19831
19832         Fix cross-compilation guesses on Solaris.
19833         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
19834         not match "solaris2.10".
19835         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
19836         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
19837         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
19838
19839 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
19840
19841         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
19842         This fixes a problem observed with the latest coreutils snapshot
19843         that caused a test to fail on Solaris 8.  src/csplit.c's call
19844         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
19845         earlier, instead of returning the number of bytes that would have
19846         been generated; this causes csplit to incorrectly report memory
19847         exhaustion.
19848         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
19849         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
19850         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
19851         comments to match.
19852         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
19853         Fix typo in matching older versions of Solaris: "solaris2.10"
19854         is matched by the shell pattern "solaris2.[0-9]*".  This matters
19855         only for guessing while cross-compiling.
19856         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
19857
19858 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
19859
19860         ftoastr: fix comment again
19861         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
19862         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
19863         Also, simplify example a bit by using flags = 0.
19864
19865 2010-12-20  Bruno Haible  <bruno@clisp.org>
19866
19867         round*, trunc*: Update documentation regarding glibc.
19868         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
19869         * doc/posix-functions/round.texi: Likewise.
19870         * doc/posix-functions/roundl.texi: Likewise.
19871         * doc/posix-functions/truncf.texi: Likewise.
19872         * doc/posix-functions/trunc.texi: Likewise.
19873         * doc/posix-functions/truncl.texi: Likewise.
19874
19875 2010-12-20  Bruno Haible  <bruno@clisp.org>
19876
19877         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
19878         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
19879         * doc/posix-functions/round.texi: Likewise.
19880         * doc/posix-functions/roundl.texi: Likewise.
19881
19882 2010-12-20  Bruno Haible  <bruno@clisp.org>
19883
19884         ttyname_r: Add missing declaration on HP-UX 11.
19885         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
19886         HAVE_TTYNAME_R.
19887         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
19888         declared. Set HAVE_TTYNAME_R always.
19889         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19890         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
19891         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
19892         HAVE_TTYNAME_R.
19893         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
19894
19895 2010-12-20  Bruno Haible  <bruno@clisp.org>
19896
19897         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
19898         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
19899         * doc/posix-functions/getlogin_r.texi: Likewise.
19900         * tests/test-getlogin.c: Include <errno.h>.
19901         (main): Avoid test failure on HP-UX 11.11.
19902         * tests/test-getlogin_r.c (main): Likewise.
19903
19904 2010-12-20  Bruno Haible  <bruno@clisp.org>
19905
19906         getlogin_r: Add missing declaration on HP-UX 11.
19907         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
19908         declared also when it exists as a function.
19909         * doc/posix-functions/getlogin_r.texi: Document this workaround.
19910
19911 2010-12-20  Bruno Haible  <bruno@clisp.org>
19912
19913         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
19914         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
19915         through wcrtomb.
19916
19917 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
19918
19919         ftoastr: fix comment
19920         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
19921         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
19922
19923 2010-12-19  Bruno Haible  <bruno@clisp.org>
19924
19925         isnan: Ensure it is a macro.
19926         * lib/math.in.h (isnan): Define as a macro if not already a macro.
19927         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
19928         Solaris.
19929
19930 2010-12-19  Bruno Haible  <bruno@clisp.org>
19931
19932         ldexpl test: Fix link error on OSF/1 5.1.
19933         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
19934
19935 2010-12-19  Bruno Haible  <bruno@clisp.org>
19936
19937         wctype: Make it work in C++ mode on OSF/1 5.1.
19938         * lib/wctype.in.h (iswblank): Declare but not define here.
19939         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
19940         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
19941         * modules/wctype (Files): Add lib/iswblank.c.
19942
19943 2010-12-19  Bruno Haible  <bruno@clisp.org>
19944
19945         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
19946         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
19947         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
19948
19949 2010-12-19  Bruno Haible  <bruno@clisp.org>
19950
19951         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
19952         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
19953         _POSIX_PII_SOCKET.
19954         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
19955         * doc/posix-functions/recvfrom.texi: Likewise.
19956         * doc/posix-functions/send.texi: Likewise.
19957         * doc/posix-functions/sendto.texi: Likewise.
19958
19959 2010-12-19  Bruno Haible  <bruno@clisp.org>
19960
19961         tcgetsid: Add missing declaration on OSF/1 5.1.
19962         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
19963         HAVE_TCGETSID.
19964         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
19965         Don't set HAVE_TCGETSID.
19966         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
19967         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
19968         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
19969         HAVE_TCGETSID.
19970         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
19971
19972 2010-12-19  Bruno Haible  <bruno@clisp.org>
19973
19974         stdio: Fix problem with popen() declaration on OSF/1 5.1.
19975         * lib/stdio.in.h: During the include_next statement, let recursive
19976         includes of this file include only the system header file.
19977
19978 2010-12-19  Bruno Haible  <bruno@clisp.org>
19979
19980         iconv_open: Fix regression from 2010-12-04.
19981         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
19982         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
19983
19984 2010-12-19  Bruno Haible  <bruno@clisp.org>
19985
19986         stdbool test: Avoid a gcc warning.
19987         * tests/test-stdbool.c (main): Fail if e1 is false.
19988         Reported by Jim Meyering.
19989
19990 2010-12-19  Jim Meyering  <meyering@redhat.com>
19991
19992         setenv: restore to working order
19993         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
19994         mistakenly removed.
19995         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
19996         HAVE_SETENV.
19997         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
19998         HAVE_SETENV.
19999
20000 2010-12-19  Bruno Haible  <bruno@clisp.org>
20001
20002         Document some different function declarations on OSF/1 5.1.
20003         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
20004         * doc/posix-functions/inet_ntop.texi: Likewise.
20005         * doc/posix-functions/gethostname.texi: Likewise.
20006         * lib/unistd.in.h (gethostname): Update comment.
20007
20008 2010-12-19  Bruno Haible  <bruno@clisp.org>
20009
20010         doc: Mention vasprintf-posix module.
20011         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
20012         the 'vasprintf-posix' module.
20013         * doc/glibc-functions/vasprintf.texi: Likewise.
20014
20015 2010-12-19  Bruno Haible  <bruno@clisp.org>
20016
20017         unsetenv: Add missing declaration on OSF/1 5.1.
20018         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
20019         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
20020         Don't set HAVE_UNSETENV. In the test program, set _BSD.
20021         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
20022         not HAVE_UNSETENV.
20023         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
20024         HAVE_UNSETENV.
20025         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
20026
20027 2010-12-19  Bruno Haible  <bruno@clisp.org>
20028
20029         setenv: Add missing declaration on OSF/1 5.1.
20030         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
20031         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
20032         declared. Don't set HAVE_SETENV.
20033         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
20034         not HAVE_SETENV.
20035         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
20036         HAVE_SETENV.
20037         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
20038
20039 2010-12-19  Bruno Haible  <bruno@clisp.org>
20040
20041         nl_langinfo tests: Avoid gcc warning.
20042         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
20043
20044 2010-12-19  Bruno Haible  <bruno@clisp.org>
20045
20046         mknod: Avoid error in C++ mode on OSF/1 with GCC.
20047         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
20048         _GL_CXXALIAS_SYS.
20049
20050 2010-12-19  Bruno Haible  <bruno@clisp.org>
20051
20052         stdbool: Relax test.
20053         * tests/test-stdbool.c (e): Don't require that casts from a variable's
20054         address to 'bool' work in static initializer, for compilers other than
20055         GCC.
20056
20057 2010-12-19  Bruno Haible  <bruno@clisp.org>
20058
20059         ftello: Add missing declaration on OSF/1 5.1.
20060         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
20061         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
20062         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
20063         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
20064         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
20065
20066 2010-12-19  Bruno Haible  <bruno@clisp.org>
20067
20068         fseeko: Add missing declaration on OSF/1 5.1.
20069         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
20070         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
20071         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
20072         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
20073         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
20074
20075 2010-12-19  Bruno Haible  <bruno@clisp.org>
20076
20077         fchdir: Add missing declaration on OSF/1 5.1.
20078         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
20079         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
20080         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
20081         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
20082         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
20083
20084 2010-12-19  Bruno Haible  <bruno@clisp.org>
20085
20086         relocatable-prog-wrapper: Separate from relocatable-prog.
20087         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
20088         uninstall-relocwrapper rule here.
20089         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
20090         Reported by Ian Beckwith <ianb@erislabs.net>.
20091
20092 2010-12-19  Bruno Haible  <bruno@clisp.org>
20093
20094         unistr/u8-mbsnlen: Add missing dependency.
20095         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
20096         Reported by Ian Beckwith <ianb@erislabs.net>.
20097
20098 2010-12-19  Bruno Haible  <bruno@clisp.org>
20099
20100         iconv: Make it possible again to use this module without 'iconv-h'.
20101         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
20102         if it is not defined.
20103         Reported by Ian Beckwith <ianb@erislabs.net>.
20104
20105 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
20106
20107         acl: port to Solaris 8 when copying from tmpfs to ufs
20108         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
20109         error number.  Problem observed on Solaris 8 with latest
20110         coreutils, with "mv A B", where A is on a tmpfs file system and B
20111         is on a ufs file system.  This caused coreutils' mv/part-symlink
20112         test to fail.
20113
20114         tests: set fail=0 at start
20115         * tests/init.sh (setup_): Move fail=0 initialization here ...
20116         (mktempd_): ... from here, so that tests can rely on fail being
20117         set to 0 initially.  This fixes a problem in coreutils; see:
20118         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
20119
20120 2010-12-18  Bruno Haible  <bruno@clisp.org>
20121
20122         memmem-simple: Stylistic changes.
20123         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
20124         Fix preprocessor directive indentation.
20125
20126 2010-12-15  Pádraig Brady <P@draigBrady.com>
20127
20128         memmem, memmem-simple: reorganize and expand empty needle check
20129         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
20130         functional checks to memmem-simple so that one has a fully functional
20131         memmem by using just this module.
20132         Restrict the performance only check to the memmem module.
20133         Also expand the empty needle check to ensure the correct
20134         pointer is returned, not just a non NULL pointer.
20135         * doc/glibc-functions/memmem.texi: Rearrange the portability
20136         documentation to correlate with the rearranged checks.
20137         Clarify exactly how the memmem and memmem-simple modules
20138         relate to each other.
20139
20140 2010-12-15  Pádraig Brady <P@draigBrady.com>
20141             Bruno Haible  <bruno@clisp.org>
20142
20143         Improve cross-compilation guesses for uClibc.
20144         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
20145         that uClibc does not have the glibc bug.
20146         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
20147         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
20148
20149 2010-12-14  Eric Blake  <eblake@redhat.com>
20150
20151         configmake: provide fallbacks for oldest supported autotools
20152         * m4/configmake.m4: New file.
20153         * modules/configmake (Files): Ship it.
20154         (configure.ac): Use it to guarantee fallbacks.
20155
20156 2010-12-13  Pádraig Brady <P@draigBrady.com>
20157
20158         read-file: Improve handling of large files
20159         * lib/read-file.c (fread_file): Minimize realloc()s
20160         for regular files, and better manage sizes around SIZE_MAX.
20161
20162 2010-12-13  Eric Blake  <eblake@redhat.com>
20163
20164         cloexec, fcntl: relax license
20165         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
20166         consent from all contributors.
20167         * modules/fcntl (License): Likewise.
20168
20169 2010-12-10  Bruno Haible  <bruno@clisp.org>
20170
20171         Tests for module 'pipe-posix'.
20172         * modules/pipe-posix-tests: New file.
20173         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
20174
20175 2010-12-10  Bruno Haible  <bruno@clisp.org>
20176
20177         pipe-posix: Make it work in C++ mode.
20178         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
20179         (pipe): Use common idiom, not a macro definition.
20180         * lib/pipe.c: New file.
20181         * m4/pipe.m4: New file.
20182         * modules/pipe-posix (Description): Enhance.
20183         (Files): Add lib/pipe.c, m4/pipe.m4.
20184         (configure.ac): Invoke gl_FUNC_PIPE.
20185         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
20186         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
20187         * tests/test-unistd-c++.cc: Check the signature of pipe.
20188
20189 2010-12-10  Bruno Haible  <bruno@clisp.org>
20190
20191         Rename module 'pipe' to 'spawn-pipe'.
20192         * modules/spawn-pipe: New file, renamed from modules/pipe.
20193         (Files, configure.ac, Makefile.am): Update.
20194         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
20195         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
20196         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
20197         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
20198         "spawn-pipe.h" instead of "pipe.h".
20199         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
20200         to gl_SPAWN_PIPE.
20201         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
20202         (Files, Makefile.am): Update.
20203         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
20204         Update.
20205         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
20206         Include "spawn-pipe.h" instead of "pipe.h".
20207         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
20208         * lib/javacomp.c: Likewise.
20209         * lib/javaversion.c: Likewise.
20210         * lib/pipe-filter-gi.c: Likewise.
20211         * lib/pipe-filter-ii.c: Likewise.
20212         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
20213         * modules/javacomp (Depends-on): Likewise.
20214         * modules/javaversion (Depends-on): Likewise.
20215         * modules/pipe-filter-gi (Depends-on): Likewise.
20216         * modules/pipe-filter-ii (Depends-on): Likewise.
20217         * MODULES.html.sh (Executing programs): Update.
20218         * NEWS: Mention the change.
20219
20220 2010-12-10  Eric Blake  <eblake@redhat.com>
20221
20222         pipe-posix: new module
20223         * modules/pipe-posix: New file.
20224         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
20225         (gl_UNISTD_H): Check for declaration.
20226         * modules/unistd (Makefile.am): Substitute it.
20227         * lib/unistd.in.h (pipe): Provide it for mingw.
20228         * doc/posix-functions/pipe.texi (pipe): Update documentation.
20229         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
20230
20231 2010-12-07  Bruno Haible  <bruno@clisp.org>
20232
20233         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
20234         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
20235         u8_strcmp_gnu.
20236         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
20237
20238 2010-12-06  Bruno Haible  <bruno@clisp.org>
20239
20240         Update internal documentation.
20241         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
20242
20243 2010-12-04  Bruno Haible  <bruno@clisp.org>
20244
20245         Put more information about failed tests into the test return codes.
20246         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
20247         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
20248         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
20249         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
20250         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
20251         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
20252         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
20253         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
20254         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
20255         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
20256         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
20257         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
20258         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
20259         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20260         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
20261         returns a bit mask.
20262         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
20263         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
20264         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
20265         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
20266         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
20267         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
20268         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
20269         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
20270         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20271         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
20272         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
20273         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
20274         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
20275         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
20276         * m4/link.m4 (gl_FUNC_LINK): Likewise.
20277         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
20278         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
20279         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
20280         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20281         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
20282         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
20283         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
20284         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
20285         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
20286         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20287         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
20288         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
20289         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
20290         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
20291         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
20292         gl_PRINTF_PRECISION): Likewise.
20293         * m4/regex.m4 (gl_REGEX): Likewise.
20294         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
20295         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
20296         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
20297         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20298         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
20299         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20300         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
20301         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
20302         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
20303         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
20304         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
20305         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
20306         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
20307         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
20308         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
20309         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
20310         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
20311         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
20312         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
20313         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
20314         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
20315         enumerated value.
20316         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
20317
20318 2010-12-04  Bruno Haible  <bruno@clisp.org>
20319
20320         Update for Solaris 11 2010-11.
20321         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
20322         Express, released in November 2010.
20323
20324 2010-12-04  Bruno Haible  <bruno@clisp.org>
20325
20326         nproc: Relax license.
20327         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
20328         and Paul Eggert.
20329         Requested by Ludovic Courtès <ludo@gnu.org>.
20330
20331 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
20332
20333         utimecmp: fine-grained src to nearby coarse-grained dest
20334
20335         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
20336         and the source is on a file system with higher-resolution time
20337         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
20338         not work, and the time stamps are close together, the algorithm to
20339         determine the exact resolution from the read-back mtime was buggy:
20340         it had a "!=" where it should have had an "==".  This bug has been
20341         in the code ever since it was introduced to gnulib.
20342         Problem reported by Dan Jacobson in
20343         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
20344
20345 2010-11-30  Bruno Haible  <bruno@clisp.org>
20346
20347         strerror_r-posix: Fix autoconf test.
20348         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
20349
20350 2010-11-28  Bruno Haible  <bruno@clisp.org>
20351             Paul Eggert  <eggert@cs.ucla.edu>
20352
20353         Tests for module 'getdomainname'.
20354         * modules/getdomainname-tests: New file.
20355         * tests/test-getdomainname.c: New file, based on
20356         tests/test-gethostname.c.
20357
20358 2010-11-28  Bruno Haible  <bruno@clisp.org>
20359             Paul Eggert  <eggert@cs.ucla.edu>
20360
20361         getdomainname: Use the system function when possible.
20362         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
20363         (getdomainname): Replace if needed. Provide the declaration if it is
20364         missing. Don't use _GL_CXXALIAS_SYS_CAST.
20365         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
20366         (getdomainname): When the system has getdomainname, call the system
20367         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
20368         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
20369         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
20370         found in libnsl. Look for the declaration also in <netdb.h>. Replace
20371         the function if its second argument is of type 'int' or if it is found
20372         in libnsl.
20373         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
20374         <sys/systeminfo.h> and sysinfo().
20375         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
20376         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20377         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
20378         HAVE_GETDOMAINNAME.
20379         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
20380         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
20381         * doc/glibc-functions/getdomainname.texi: Document the problems with
20382         the getdomainname declaration.
20383
20384 2010-11-28  Bruno Haible  <bruno@clisp.org>
20385
20386         sys_socket: Ensure ss_family field on AIX.
20387         * lib/sys_socket.in.h (ss_family): New macro definition.
20388         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
20389         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
20390         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
20391         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
20392         * modules/sys_socket (Makefile.am): Substitute
20393         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
20394         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
20395
20396 2010-11-27  Bruno Haible  <bruno@clisp.org>
20397
20398         readline: Improve configure output.
20399         * m4/readline.m4 (gl_FUNC_READLINE): Make the
20400         "checking for readline..." result understandable.
20401
20402 2010-11-27  Bruno Haible  <bruno@clisp.org>
20403
20404         *printf-posix: Detect a bug on Solaris 10/x86.
20405         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
20406         for floating-point output.
20407         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
20408         directive.
20409         * tests/test-snprintf-posix.h (test_function): Likewise.
20410         * tests/test-sprintf-posix.h (test_function): Likewise.
20411         * tests/test-vasprintf-posix.c (test_function): Likewise.
20412         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
20413         * doc/posix-functions/printf.texi: Likewise.
20414         * doc/posix-functions/snprintf.texi: Likewise.
20415         * doc/posix-functions/sprintf.texi: Likewise.
20416         * doc/posix-functions/vfprintf.texi: Likewise.
20417         * doc/posix-functions/vprintf.texi: Likewise.
20418         * doc/posix-functions/vsnprintf.texi: Likewise.
20419         * doc/posix-functions/vsprintf.texi: Likewise.
20420         * doc/glibc-functions/obstack_printf.texi: Likewise.
20421         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
20422
20423 2010-11-27  Bruno Haible  <bruno@clisp.org>
20424
20425         Fix link error when module libunistring-optional is in use.
20426         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
20427         * modules/striconveha-tests (Makefile.am): Likewise.
20428
20429 2010-11-27  Bruno Haible  <bruno@clisp.org>
20430
20431         regex: Mention link dependencies.
20432         * modules/regex (Link): New section.
20433         * modules/rpmatch (Link): Likewise.
20434         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
20435
20436 2010-11-27  Bruno Haible  <bruno@clisp.org>
20437
20438         ftoastr: Fix compilation error on Solaris.
20439         * lib/ftoastr.c: Include <config.h>.
20440
20441 2010-11-27  Bruno Haible  <bruno@clisp.org>
20442
20443         getloadavg: Update documentation.
20444         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
20445
20446 2010-11-27  Bruno Haible  <bruno@clisp.org>
20447
20448         sys_socket: Fix test whether the functions are declared.
20449         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
20450         not <sys/select.h>.
20451
20452 2010-11-27  Bruno Haible  <bruno@clisp.org>
20453
20454         getpass: Make sure to get system declaration on some platforms.
20455         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
20456         gl_USE_SYSTEM_EXTENSIONS.
20457         * modules/getpass (Depends-on): Add extensions.
20458
20459 2010-11-26  Bruno Haible  <bruno@clisp.org>
20460
20461         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
20462         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
20463         'iconv' module is present.
20464         (ICONV_CONST): New macro.
20465         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
20466         ICONV_CONST.
20467         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
20468         set ICONV_CONST.
20469         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
20470         here.
20471         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
20472         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
20473         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
20474         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
20475         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
20476         present.
20477
20478 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
20479
20480         ftoastr: comment fix
20481         * lib/ftoastr.c: "little" -> "little or no" in comment
20482
20483 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
20484
20485         stdint: port to GCC 4.3 + OSX + Octave
20486         On this platform, stdint.h is buggy and defines int64_t to long
20487         long int.  The replacement defined it to long int, causing
20488         problems with C++ style name mangling.  Instead, trust the system
20489         definition if INT64_MAX is defined, and likewise for the unsigned
20490         variant.   Problem reported by Jarno Rajahalme in
20491         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
20492         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
20493         and don't mess with int64_t and INT64_MAX in this case.
20494         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
20495
20496 2010-11-24  Bruno Haible  <bruno@clisp.org>
20497
20498         doc: Corrections regarding MacOS X 10.4 and 10.5.
20499         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
20500         MacOS X.
20501         Reported by Simon Josefsson.
20502
20503 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
20504
20505         Uninstall ".bin" files installed by relocwrapper.
20506         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
20507         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
20508         unless it is already there.
20509
20510 2010-11-21  Bruno Haible  <bruno@clisp.org>
20511
20512         Update for NetBSD 5.0.
20513         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
20514         NetBSD; the test fails on NetBSD 5.0.
20515         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
20516         about NetBSD.
20517
20518 2010-11-21  Bruno Haible  <bruno@clisp.org>
20519
20520         Update for HP-UX 11.23 and HP-UX 11.31.
20521         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
20522         HP-UX.
20523
20524 2010-11-21  Bruno Haible  <bruno@clisp.org>
20525
20526         Update for MacOS X 10.5.
20527         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
20528         MacOS X; the test fails on MacOS X 10.5.8.
20529         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
20530         about MacOS X.
20531
20532 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
20533
20534         bootstrap: add bootstrap_sync option.
20535         See discussion at
20536         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
20537         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
20538         * build-aux/bootstrap: Accept --bootstrap-sync to update
20539         bootstrap if it is not identical to the local gnulib's
20540         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
20541         enable this by default.  Accept --no-bootstrap-sync to disable
20542         it.
20543
20544 2010-11-20  Bruno Haible  <bruno@clisp.org>
20545
20546         Ensure that <features.h> is included before __GLIBC__ is tested.
20547         * lib/printf-parse.h: Include <features.h>.
20548         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
20549         Reported by Mike Frysinger <vapier@gentoo.org>.
20550
20551         Ensure that <features.h> is included before __GLIBC__ is tested.
20552         * lib/wchar.in.h: Include <features.h>.
20553         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
20554         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
20555         Reported by Mike Frysinger <vapier@gentoo.org>.
20556
20557         Ensure that <features.h> is included before __GLIBC__ is tested.
20558         * lib/arpa_inet.in.h: Include <features.h>.
20559         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
20560         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
20561         Reported by Mike Frysinger <vapier@gentoo.org>.
20562
20563         Ensure that <features.h> is included before __GLIBC__ is tested.
20564         * build-aux/link-warning.h: Include <features.h>.
20565         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
20566         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
20567         Reported by Mike Frysinger <vapier@gentoo.org>.
20568
20569         Ensure that <features.h> is included before __GLIBC__ is tested.
20570         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
20571         Reported by Mike Frysinger <vapier@gentoo.org>.
20572
20573 2010-11-20  Bruno Haible  <bruno@clisp.org>
20574
20575         memmem: Fix autoconf test.
20576         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
20577
20578 2010-11-20  Bruno Haible  <bruno@clisp.org>
20579
20580         Port to uClibc.
20581         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
20582         * lib/fcntl.in.h: Likewise.
20583         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
20584         * lib/mbrtowc.c (mbrtowc): Likewise.
20585         * lib/relocatable.c (find_shared_library_fullname): Likewise.
20586         * lib/strerror_r.c: Likewise.
20587         * lib/unistr/u8-strnlen.c: Likewise.
20588         * lib/vasnprintf.c (decimal_point_char): Likewise.
20589         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
20590         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
20591         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
20592         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
20593         * tests/test-sigaction.c (handler, main): Likewise.
20594         * lib/freading.h: Treat uClibc like a non-glibc platform.
20595         * lib/freading.c: Likewise.
20596         * lib/gettext.h: Likewise.
20597         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
20598         Likewise.
20599         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
20600         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
20601         * lib/propername.c (proper_name_utf8): Likewise.
20602         * lib/spawn.in.h: Likewise.
20603         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
20604         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
20605         mem_cd_iconveh_internal): Likewise.
20606         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
20607         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
20608         strstr, strcasestr): Likewise.
20609         * lib/unicodeio.c (unicode_to_mb): Likewise.
20610         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
20611         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
20612         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
20613         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
20614         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
20615         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
20616         * lib/unistr/u8-stpncpy.c: Likewise.
20617         * lib/vasnprintf.c (VASNPRINTF): Likewise.
20618         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
20619         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
20620         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
20621         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
20622         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
20623         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
20624         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
20625         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
20626         Likewise.
20627         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
20628         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
20629         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
20630         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20631         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
20632         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
20633         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
20634         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
20635         * tests/test-getopt.h (OPTIND_MIN): Likewise.
20636         * tests/test-striconveha.c (main): Likewise.
20637         * tests/test-vasnprintf-posix.c (test_function): Likewise.
20638         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
20639         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
20640         * doc/posix-functions/getline.texi: Likewise.
20641         Reported by Mike Frysinger <vapier@gentoo.org>.
20642
20643 2010-11-20  Bruno Haible  <bruno@clisp.org>
20644
20645         nproc: Fix condition.
20646         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
20647         HAVE_PTHREAD_AFFINITY_NP.
20648
20649 2010-11-20  Bruno Haible  <bruno@clisp.org>
20650
20651         Fix a comment.
20652         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
20653
20654 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
20655
20656         ftoastr: don't assume snprintf
20657         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
20658         Implement a subset of snprintf here, by using sprintf safely.
20659         * modules/ftoastr (Depends-on): Remove snprintf.
20660
20661 2010-11-19  Jim Meyering  <meyering@redhat.com>
20662
20663         test-rename.h: fix compilation failure
20664         * tests/test-rename.h (test_rename): Add omitted "}".
20665
20666 2010-11-17  Jim Meyering  <meyering@redhat.com>
20667
20668         maint.mk: add a URL discussing the no-@acronym policy
20669         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
20670
20671 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
20672
20673         ftoastr: depend on snprintf, improve comments
20674         * lib/ftoastr.c: Also mention Loitsch's draft.
20675         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
20676         needed in the current implementation, but it might simplify
20677         speeding up the code later.
20678         * modules/ftoastr: Depend on snprintf; this improves portability.
20679         Suggested by Bruno Haible in the same email.
20680
20681         ftoastr: port to hosts lacking strtof and strtold
20682         Problem reported by Bruno Haible in
20683         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
20684         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
20685         environment and strtold (and presumably strtof) are not available.
20686         * modules/ftoastr (Files): Add m4/c-strtod.m4.
20687         (configure.ac): Require gl_C99_STRTOLD.
20688
20689 2010-11-18  Bruno Haible  <bruno@clisp.org>
20690
20691         c-strtold: Avoid link error on AIX 7.
20692         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
20693         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
20694         (gl_C_STRTOLD): Test whether strtold_l exists.
20695         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20696
20697 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
20698
20699         intprops: new macro INT_BITS_STRLEN_BOUND
20700         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
20701         ftoastr.h.  This exposes an internal of intprops.h that was formerly
20702         not exposed.  Also, it uses a slightly tighter bound than before;
20703         though this makes no practical difference, we might as well be as
20704         tight as we easily can.
20705
20706         ftoastr: new module, for lossless conversion of floats to short strings
20707         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
20708         * modules/ftoastr: New files.
20709
20710 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
20711
20712         bootstrap: port to Solaris sed
20713         * build-aux/bootstrap (get_version): Port to Solaris sed.
20714         See Ralf Wildenhues's note in
20715         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
20716
20717 2010-11-14  Jim Meyering  <meyering@redhat.com>
20718
20719         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
20720         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
20721         and move definition closer to sole use.
20722
20723 2010-11-13  Jim Meyering  <meyering@redhat.com>
20724
20725         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
20726         Now we require at least autoconf-2.59, which means the work-around
20727         is no longer needed.
20728         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
20729         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
20730         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
20731         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
20732         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
20733
20734 2010-11-13  Bruno Haible  <bruno@clisp.org>
20735
20736         rename, renameat: Avoid test failures at NFS mounted locations.
20737         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
20738         functions.
20739         (test_rename): Use assert_nonexistent.
20740         * tests/test-rename.c: Include <dirent.h>.
20741         * tests/test-renameat.c: Likewise.
20742         Reported by Gary V. Vaughan <gary@gnu.org>.
20743
20744         rename, renameat: Document Linux bug with NFS
20745         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
20746         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
20747         * doc/posix-functions/renameat.texi: Likewise.
20748         Suggested by Eric Blake.
20749
20750 2010-11-13  Bruno Haible  <bruno@clisp.org>
20751
20752         rename test: Add comments.
20753         * tests/test-rename.h (test_rename): Add structure and comments.
20754
20755 2010-11-13  Eric Blake  <eblake@redhat.com>
20756
20757         maintainer-makefile: cover a few more files
20758         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
20759         scripts generated within C files, for libvirt.
20760
20761 2010-11-13  Bruno Haible  <bruno@clisp.org>
20762
20763         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
20764         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
20765         character, return the number of bytes that belong together, not always
20766         1.
20767         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
20768         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
20769         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
20770         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
20771         number of bytes of an invalid character.
20772         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
20773         (main): Invoke it.
20774         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
20775         results.
20776         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
20777         malformed byte sequences.
20778         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
20779         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
20780         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
20781         Reported by Ben Pfaff and Paolo Bonzini.
20782
20783 2010-11-13  Bruno Haible  <bruno@clisp.org>
20784
20785         openat: Work around glibc bug with fchownat() and empty file names.
20786         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
20787         (gl_FUNC_FCHOWNAT): Invoke it.
20788         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
20789         * doc/posix-functions/fchownat.texi: Document the glibc bug.
20790         Reported by Gary V. Vaughan <gary@gnu.org>.
20791
20792 2010-11-13  Bruno Haible  <bruno@clisp.org>
20793
20794         openat: Ensure autoconf macro ordering.
20795         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
20796         gl_USE_SYSTEM_EXTENSIONS.
20797         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
20798
20799 2010-11-13  Bruno Haible  <bruno@clisp.org>
20800
20801         Update comments.
20802         * lib/unistr/u8-check.c: Update file name in comments.
20803         * lib/unistr/u8-mblen.c: Likewise.
20804         * lib/unistr/u8-prev.c: Likewise.
20805         * lib/unistr/u8-strmblen.c: Likewise.
20806         * lib/unistr/u8-strmbtouc.c: Likewise.
20807
20808 2010-11-13  Jim Meyering  <meyering@redhat.com>
20809
20810         tests: avoid test failure on Solaris 10 due to lack of PATH export
20811         * tests/test-update-copyright.sh: Don't forget to export PATH.
20812
20813         init.sh: ensure that IFS is defined, just in case...
20814         * tests/init.sh (setup_): Ensure that IFS is defined,
20815         so that saving and restoring it works as expected.  This
20816         appears to be useful at least for an old version of dash
20817         from a long time ago (RH 6).  See here for details:
20818         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
20819
20820         maint.mk: tighten "test a == b" check
20821         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
20822         test to files that contain something like #!/bin/sh.
20823         Without this, coreutils would get two false positives in
20824         the comments of C source files.
20825
20826 2010-11-12  Eric Blake  <eblake@redhat.com>
20827
20828         bootstrap: fix typo in previous attempt
20829         * build-aux/bootstrap (buildreq): Correct the grouping.
20830         Reported by Paul Eggert.
20831
20832         maintainer-makefile: prohibit test x == x
20833         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
20834         Based on a report by Matthias Bolte.
20835
20836         bootstrap: allow FreeBSD gzip
20837         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
20838         which has no '.' and goes to stderr.
20839         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
20840         Reported by Matthias Bolte.
20841
20842         maintainer-makefile: check for i18n setup
20843         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
20844         will likely work.
20845
20846 2010-11-12  Bruno Haible  <bruno@clisp.org>
20847
20848         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
20849         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
20850         * lib/nanosleep.c (nanosleep): Likewise.
20851
20852 2010-11-11  Bruno Haible  <bruno@clisp.org>
20853
20854         fcntl-h: Fix for use of C++ on glibc systems.
20855         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
20856         also on glibc systems in C++ mode.
20857         Reported by Gary V. Vaughan <gary@gnu.org>.
20858
20859 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
20860
20861         mknod: avoid false failure with dash
20862         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
20863
20864 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
20865
20866         unlink: Fix "is it should" typo in diagnostic.
20867         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
20868         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
20869
20870 2010-11-11  Bruno Haible  <bruno@clisp.org>
20871
20872         Tests for module 'strerror_r-posix'.
20873         * modules/strerror_r-posix-tests: New file.
20874         * tests/test-strerror_r.c: New file.
20875         * tests/test-string-c++.cc: Check the signature of strerror_r.
20876
20877         New module 'strerror_r-posix'.
20878         * lib/string.in.h (strerror_r): New declaration.
20879         * lib/strerror_r.c: New file.
20880         * m4/strerror_r.m4: New file.
20881         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
20882         of strerror_r.
20883         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
20884         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
20885         * modules/strerror_r-posix: New file.
20886         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
20887         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
20888         * doc/posix-functions/strerror_r.texi: Mention the new module and the
20889         portability problems.
20890
20891 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
20892
20893         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
20894         line is also considered for output. Quoted function name in shell
20895         command, so temporary files for functions like MyClass::operator()
20896         are removed correctly without errors.
20897
20898 2010-11-09  Bruno Haible  <bruno@clisp.org>
20899
20900         * doc/posix-functions/strerror.texi: List more failing platforms.
20901
20902         * doc/posix-functions/strerror.texi: Add a comment.
20903
20904 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
20905
20906         fdopendir: fix bug on MacOS X when low on file descriptors
20907
20908         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
20909         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
20910         All callers changed.
20911         (fdopendir): Invoke save_cwd at the top level, not after using
20912         multiple dup() calls to use up file descriptors.  Then retry
20913         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
20914         less than the maximum number of open file descriptors, because
20915         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
20916         on Mac OS X 10.6.4 for tar 1.24
20917         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
20918         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
20919         and for tar 1.25
20920         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
20921
20922 2010-11-07  Bruno Haible  <bruno@clisp.org>
20923
20924         vasnprintf: Support I flag on glibc systems.
20925         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
20926         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
20927         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
20928         snprintf function.
20929         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
20930         glibc systems.
20931         * tests/test-vasnprintf-posix3.c: New file.
20932         * modules/vasnprintf-posix-tests (Files): Add it.
20933         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
20934
20935 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
20936
20937         [html] Fix copy/paste bug: Use unique name for compiler warnings.
20938         * MODULES.html.sh: For compiler warnings, use name
20939         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
20940
20941 2010-11-05  Eric Blake  <eblake@redhat.com>
20942
20943         ceil, floor: avoid spurious failure with icc
20944         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
20945         [denormals-as-zero] when optimizing without -mieee-fp option.
20946         * tests/test-floorf2.c (floorf_reference): Likewise.
20947         * tests/test-ceilf1.c (dummy): New function.
20948         (main): Use it to outsmart icc's optimization.
20949         * tests/test-floorf1.c (dummy, main): Likewise.
20950
20951         tests: require working signbit
20952         * modules/ceilf-tests (Depends-on): Add signbit.
20953         * modules/ceill-tests (Depends-on): Likewise.
20954         * modules/floorf-tests (Depends-on): Likewise.
20955         * modules/floorl-tests (Depends-on): Likewise.
20956         * modules/round-tests (Depends-on): Likewise.
20957         * modules/roundf-tests (Depends-on): Likewise.
20958         * modules/roundl-tests (Depends-on): Likewise.
20959         * modules/trunc-tests (Depends-on): Likewise.
20960         * modules/truncf-tests (Depends-on): Likewise.
20961         * modules/truncl-tests (Depends-on): Likewise.
20962
20963         strtod: work around icc bug
20964         * lib/strtod.c (minus_zero): Define to working value.
20965         (strtod): Use it to avoid icc bug.
20966
20967         copysign: enhance tests
20968         * modules/copysign-tests (Files): Add minus-zero.h.
20969         * tests/test-copysign.c (main): Also test zeros.
20970
20971 2010-11-04  Eric Blake  <eblake@redhat.com>
20972
20973         ceil, floor, round, trunc: enhance tests of -0
20974         * tests/test-ceilf1.c (main): Ensure correct sign of result.
20975         * tests/test-ceill.c (main): Likewise.
20976         * tests/test-floorf1.c (main): Likewise.
20977         * tests/test-floorl.c (main): Likewise.
20978         * tests/test-round1.c (main): Likewise.
20979         * tests/test-roundf1.c (main): Likewise.
20980         * tests/test-roundl.c (main): Likewise.
20981         * tests/test-trunc1.c (main): Likewise.
20982         * tests/test-truncf1.c (main): Likewise.
20983         * tests/test-truncl.c (main): Likewise.
20984
20985 2010-11-04  Eric Blake  <eblake@redhat.com>
20986
20987         frexp, tests: work around ICC bug with -zero
20988         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
20989         works with more compilers.
20990         * tests/minus-zero.h: New file.
20991         * modules/ceilf-tests (Files): Include it.
20992         * modules/ceill-tests (Files): Likewise.
20993         * modules/floorf-tests (Files): Likewise.
20994         * modules/floorl-tests (Files): Likewise.
20995         * modules/frexp-nolibm-tests (Files): Likewise.
20996         * modules/frexp-tests (Files): Likewise.
20997         * modules/frexpl-nolibm-tests (Files): Likewise.
20998         * modules/frexpl-tests (Files): Likewise.
20999         * modules/isnan-tests (Files): Likewise.
21000         * modules/isnand-nolibm-tests (Files): Likewise.
21001         * modules/isnand-tests (Files): Likewise.
21002         * modules/isnanf-nolibm-tests (Files): Likewise.
21003         * modules/isnanf-tests (Files): Likewise.
21004         * modules/isnanl-nolibm-tests (Files): Likewise.
21005         * modules/isnanl-tests (Files): Likewise.
21006         * modules/round-tests (Files): Likewise.
21007         * modules/roundf-tests (Files): Likewise.
21008         * modules/roundl-tests (Files): Likewise.
21009         * modules/ldexpl-tests (Files): Likewise.
21010         * modules/signbit-tests (Files): Likewise.
21011         * modules/snprintf-posix-tests (Files): Likewise.
21012         * modules/sprintf-posix-tests (Files): Likewise.
21013         * modules/strtod-tests (Files): Likewise.
21014         * modules/trunc-tests (Files): Likewise.
21015         * modules/truncf-tests (Files): Likewise.
21016         * modules/truncl-tests (Files): Likewise.
21017         * modules/vsnprintf-posix-tests (Files): Likewise.
21018         * modules/vsprintf-posix-tests (Files): Likewise.
21019         * modules/vasnprintf-posix-tests (Files): Likewise.
21020         * modules/vasprintf-posix-tests (Files): Likewise.
21021         * tests/test-ceilf1.c (main): Use it.
21022         * tests/test-ceill.c (main): Likewise.
21023         * tests/test-floorf1.c (main): Likewise.
21024         * tests/test-floorl.c (main): Likewise.
21025         * tests/test-frexp.c (main): Likewise.
21026         * tests/test-frexpl.c (main): Likewise.
21027         * tests/test-isnan.c (main): Likewise.
21028         * tests/test-isnand.h (main): Likewise.
21029         * tests/test-isnanf.h (main): Likewise.
21030         * tests/test-isnanl.h (main): Likewise.
21031         * tests/test-ldexpl.c (main): Likewise.
21032         * tests/test-round.c (main): Likewise.
21033         * tests/test-roundf.c (main): Likewise.
21034         * tests/test-roundl.c (main): Likewise.
21035         * tests/test-signbit.c (test_signbitf, test_signbitd)
21036         (test_signbitl): Likewise.
21037         * tests/test-snprintf-posix.h (test_function): Likewise.
21038         * tests/test-sprintf-posix.h (test_function): Likewise.
21039         * tests/test-strtod.c (main): Likewise.
21040         * tests/test-trunc1.c (main): Likewise.
21041         * tests/test-truncf1.c (main): Likewise.
21042         * tests/test-truncl.c (main): Likewise.
21043
21044         isnanl: work around icc bug
21045         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
21046
21047 2010-11-03  Eric Blake  <eblake@redhat.com>
21048
21049         tests: fix compiler warnings
21050         * tests/test-getopt.h (test_getopt): Fix condition.
21051         * tests/test-getopt_long.h (test_getopt_long): Likewise.
21052         * tests/test-pipe2.c (main): Likewise.
21053         * tests/test-quotearg-simple.c (main): Avoid icc warning.
21054
21055         utimens: fix broken m4 test
21056         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
21057
21058 2010-10-28  Bruno Haible  <bruno@clisp.org>
21059
21060         posix_spawn*, getdtablesize: Relax license.
21061         * modules/posix_spawn (License): Change to LGPLv2+.
21062         * modules/posix_spawnp (License): Likewise.
21063         * modules/posix_spawn-internal (License): Likewise.
21064         * modules/posix_spawnattr_init (License): Likewise.
21065         * modules/posix_spawnattr_getflags (License): Likewise.
21066         * modules/posix_spawnattr_setflags (License): Likewise.
21067         * modules/posix_spawnattr_getpgroup (License): Likewise.
21068         * modules/posix_spawnattr_setpgroup (License): Likewise.
21069         * modules/posix_spawnattr_getschedparam (License): Likewise.
21070         * modules/posix_spawnattr_setschedparam (License): Likewise.
21071         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
21072         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
21073         * modules/posix_spawnattr_getsigdefault (License): Likewise.
21074         * modules/posix_spawnattr_setsigdefault (License): Likewise.
21075         * modules/posix_spawnattr_getsigmask (License): Likewise.
21076         * modules/posix_spawnattr_setsigmask (License): Likewise.
21077         * modules/posix_spawnattr_destroy (License): Likewise.
21078         * modules/posix_spawn_file_actions_init (License): Likewise.
21079         * modules/posix_spawn_file_actions_addclose (License): Likewise.
21080         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
21081         * modules/posix_spawn_file_actions_addopen (License): Likewise.
21082         * modules/posix_spawn_file_actions_destroy (License): Likewise.
21083         * modules/getdtablesize (License): Likewise.
21084         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
21085
21086 2010-10-26  Bruno Haible  <bruno@clisp.org>
21087
21088         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
21089         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
21090         Cygwin and mingw.
21091         Suggested by Eric Blake.
21092
21093 2010-10-26  Bruno Haible  <bruno@clisp.org>
21094
21095         stdio: Work around compilation error due to renameat() on Solaris 10.
21096         * lib/stdio.in.h: Include <unistd.h> on Solaris.
21097         * lib/renameat.c: Don't include <unistd.h> here.
21098         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
21099         Reported by Paul Eggert and Eric Blake.
21100
21101 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
21102
21103         renameat: port to Solaris 10, which declares renameat in unistd.h
21104
21105         * lib/renameat.c: Include unistd.h before stdio.h, because
21106         Solaris 10 declares renameat in unistd.h.  Problem encountered
21107         when building GNU tar 1.24 on Solaris 10.
21108
21109 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21110
21111         fdopendir: fix C89 compilation
21112         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
21113         compilers.
21114
21115 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
21116
21117         inttostr: simplify by removing unnecessary redundancy
21118         * lib/anytostr.c: Don't include verify.h.
21119         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
21120         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
21121         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
21122         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
21123         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
21124         Likewise.
21125         * modules/inttostr (Depends-on): Remove 'verify'.
21126
21127 2010-10-23  Bruno Haible  <bruno@clisp.org>
21128
21129         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
21130         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
21131         Reported by Eric Blake.
21132
21133 2010-10-23  Bruno Haible  <bruno@clisp.org>
21134
21135         Tests: Fix LOCALE_JA on MirBSD 10.
21136         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
21137         to an UTF-8 locale.
21138         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
21139         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
21140         Reported by Eric Blake.
21141
21142 2010-10-21  Bruno Haible  <bruno@clisp.org>
21143
21144         nl_langinfo test: Avoid test failure on NetBSD 5.
21145         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
21146         Reported by Eric Blake.
21147
21148 2010-10-21  Eric Blake  <eblake@redhat.com>
21149
21150         c-stack: work around libsigsegv 2.8 bug
21151         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
21152         overflow on at least PowerPC64.
21153
21154 2010-10-17  Bruno Haible  <bruno@clisp.org>
21155
21156         userspec: Drop redundant file.
21157         * modules/userspec (Files): Remove lib/inttostr.h.
21158
21159 2010-10-17  Bruno Haible  <bruno@clisp.org>
21160
21161         nl_langinfo tests: Silence some warnings.
21162         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
21163         Reported by Jim Meyering.
21164
21165 2010-10-17  Bruno Haible  <bruno@clisp.org>
21166
21167         Make use of GCC's attribute __alloc_size__.
21168         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
21169         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
21170         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
21171         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
21172         __alloc_size__.
21173         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
21174         Suggested by Jim Meyering.
21175
21176 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
21177
21178         bootstrap: anchor .gitignore entries.
21179         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
21180         with...
21181         (insert_vc_ignore): ... this new function, which prepends `/' to
21182         all .gitignore entries before passing them to
21183         insert_sorted_if_absent.
21184
21185 2010-10-16  Bruno Haible  <bruno@clisp.org>
21186
21187         nextafter: Fix configure check.
21188         * modules/nextafter (configure.ac): Correct expected prototype.
21189
21190 2010-10-16  Bruno Haible  <bruno@clisp.org>
21191
21192         termios: Update documentation.
21193         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
21194
21195 2010-10-16  Bruno Haible  <bruno@clisp.org>
21196
21197         tests: Make them compile with TinyCC.
21198         * tests/test-strstr.c (main): Remove parentheses around array
21199         initializer.
21200
21201 2010-10-15  Eric Blake  <eblake@redhat.com>
21202
21203         ignore-value: make header idempotent
21204         * lib/ignore-value.h: Add double-inclusion guards.
21205         Reported by Stefan Berger.
21206
21207 2010-10-15  Jim Meyering  <meyering@redhat.com>
21208
21209         GNUmakefile: handle "stable" target, not "major"
21210         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
21211         lists in maint.mk and announce-gen.  Without this, "make stable"
21212         would fail to ensure that $(VERSION) is up to date.
21213
21214 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
21215
21216         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
21217         & co.
21218
21219 2010-10-14  Bruno Haible  <bruno@clisp.org>
21220
21221         vasnprintf: Don't set errno to 0.
21222         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
21223         block that sets it to 0.
21224         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
21225
21226 2010-10-14  Bruno Haible  <bruno@clisp.org>
21227
21228         socketlib: Fix.
21229         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
21230         gl_PREREQ_SYS_H_WINSOCK2.
21231         Reported by Ian Beckwith <ianb@erislabs.net>.
21232
21233 2010-10-13  Jim Meyering  <meyering@redhat.com>
21234
21235         test-select-stdin.c: avoid warn_unused_result warnings
21236         * tests/test-select-stdin.c: Include "macros.h".
21237         ASSERT that read and fflush succeed.
21238
21239 2010-10-13  Jim Meyering  <meyering@redhat.com>
21240
21241         git-version-gen: do require git-VC'd files in cwd
21242         * build-aux/git-version-gen: Reject a git version string
21243         if there are no commits associated with the current directory.
21244         This avoids an unlikely false-positive (unrelated dir whose parent
21245         repository also contains a tag matching v*), as pointed out
21246         by Giuseppe Scrivano in
21247         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
21248
21249 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
21250
21251         argv-iter: omit nonconforming declaration
21252         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
21253         enum arg_iter_err declaration, which doesn't conform to C99.
21254         Solaris 10 cc warns about this.
21255
21256 2010-10-13  Eric Blake  <eblake@redhat.com>
21257
21258         termios: fix compilation on mingw
21259         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
21260         (gl_TERMIOS_H): Adjust it on mingw.
21261         * modules/termios (Makefile.am): Substitute new key.
21262         * lib/termios.in.h (includes): Make include_next conditional.
21263         * doc/posix-headers/termios.texi (termios.h): Update
21264         documentation.
21265         Reported by Daniel P. Berrange.
21266
21267 2010-10-13  Jim Meyering  <meyering@redhat.com>
21268
21269         git-version-gen: don't require that .git/ be in the current dir
21270         * build-aux/git-version-gen: Adjust this script so that it works
21271         when run from any working directory beneath the top-level .git/-
21272         containing directory.  Inspired by a patch from Giuseppe Scrivano,
21273         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
21274
21275         test-select: avoid warn_unused_result warnings
21276         * tests/test-select.c: Include "macros.h".
21277         ASSERT that each call to read, write, and pipe succeeds.
21278         While not technically required, also check each "close".
21279         * modules/select-tests (Files): Add tests/macros.h.
21280
21281         test-symlinkat: remove declaration of unused local
21282         * tests/test-symlinkat.c (main): Remove unused local, "buf".
21283
21284         test-inttostr: avoid shadowing warnings
21285         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
21286         and use malloc rather than the stack for the same reason as
21287         mentioned in the comment justifying the other allocation.
21288
21289 2010-10-11  Bruno Haible  <bruno@clisp.org>
21290
21291         stdlib: Allow multiple gnulib generated replacements to coexist.
21292         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
21293         Reported by Sam Steingold <sds@gnu.org>.
21294
21295 2010-10-11  Jim Meyering  <meyering@redhat.com>
21296
21297         fix a documentation typo
21298         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
21299
21300 2010-10-11  Eric Blake  <eblake@redhat.com>
21301
21302         futimens: work around Solaris 11 bug
21303         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
21304         * tests/test-futimens.h (test_futimens): Enhance, rather than
21305         weaken test.
21306         * doc/posix-functions/futimens.texi (futimens): Document the bug.
21307
21308 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
21309
21310         Indentation.
21311         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
21312         higher-level operators more to the left.
21313
21314 2010-10-11  Jim Meyering  <meyering@redhat.com>
21315
21316         test-futimens: avoid unwarranted test failure on Solaris 5.11
21317         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
21318         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
21319         because it tries to dereference the NULL name argument.
21320
21321 2010-10-11  Bruno Haible  <bruno@clisp.org>
21322
21323         Indentation.
21324         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
21325         indentation.
21326
21327 2010-10-11  Jim Meyering  <meyering@redhat.com>
21328
21329         spawn.in.h: make indentation consistent with parentheses
21330         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
21331         Make indentation consistent with parentheses.
21332
21333 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
21334
21335         Fix mismatched parens in previous commit
21336         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
21337         parens.
21338
21339 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
21340
21341         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
21342
21343         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
21344         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
21345         * lib/malloca.c: Include "verify.h".
21346         (verify1): Remove, replacing with a verify call.
21347         * lib/relocwrapper.c (verify1): Likewise.
21348         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
21349         Likewise.
21350         * modules/malloca (Depends-on): Add 'verify'.
21351         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
21352         * modules/vasnprintf (Depends-on): Add 'verify'.
21353         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
21354         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
21355         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
21356         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
21357         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
21358         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
21359         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
21360
21361         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
21362
21363         Formerly the style was sometimes 2*X - 1, because the C standard
21364         was wrongly thought to disallow ?: in integral constant expressions.
21365         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
21366         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
21367         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
21368         * lib/stdint.in.h (_verify_intmax_size): Likewise.
21369         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
21370         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
21371         verify that time_t cannot be floating.
21372
21373 2010-10-08  Eric Blake  <eblake@redhat.com>
21374
21375         time: enforce recent POSIX ruling that time_t is integral
21376         * lib/time.in.h (__time_t_must_be_integral): Detect any
21377         problematic systems, allowing the rest of gnulib to assume POSIX.
21378
21379 2010-10-08  Jim Meyering  <meyering@redhat.com>
21380
21381         fdopendir: fix a bug on systems lacking openat and /proc support
21382         OpenBSD 4.7 is one such system.  The most noticeable effect was
21383         failure of any application making nontrivial use of fts: rm, du,
21384         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
21385           ./rm: traversal failed: `a': Bad file descriptor
21386         Debugging that, you see that even though FD 6 was closed just
21387         prior to the opendir call in fd_clone_opendir, its resulting
21388         dir->dd_fd was 8, rather than the expected value of 6:
21389
21390         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
21391         93                close (fd);
21392         (gdb) n
21393         94                dir = fd_clone_opendir (dupfd);
21394         (gdb) n
21395         95                saved_errno = errno;
21396         (gdb) p dir->dd_fd
21397         $11 = 8
21398
21399         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
21400         The problem is that on OpenBSD, fd_clone_opendir has to resort
21401         to using the old-style save/restore CWD mechanism, due to its
21402         lack of openat/proc support, and *that* would steal the FD (6)
21403         that opendir was supposed to use.
21404
21405         The fix is to squirrel away the desired FD so that save_cwd uses a
21406         different one, and then free the dest FD right before calling opendir.
21407         That guarantees opendir will use the required file descriptor.
21408
21409         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
21410
21411 2010-10-08  Bruno Haible  <bruno@clisp.org>
21412
21413         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
21414         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
21415
21416 2010-10-08  Bruno Haible  <bruno@clisp.org>
21417
21418         nanosleep: Make replacement POSIX compliant.
21419         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
21420         is out of range.
21421         Reported by Jim Meyering.
21422
21423 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
21424
21425         bootstrap: add hook for altering gnulib.mk, for Bison
21426         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
21427         the Bison bootstrapping process can rewrite file names and variables
21428         in this file before later parts of 'bootstrap' use the file.
21429         Bison wants to include lib/gnulib.mk from the top-level makefile,
21430         so it needs the file names in this file to be relative to the top
21431         level, not relative to lib; plus it needs variable names to be
21432         rewritten.
21433         (slurp): Use the new function.
21434
21435         bootstrap: reformat for readability
21436         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
21437
21438 2010-10-08  Eric Blake  <eblake@redhat.com>
21439
21440         docs: update cygwin progress
21441         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
21442         1.7.7.
21443         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
21444         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
21445         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
21446         * doc/posix-functions/carg.texi (carg): Likewise.
21447         * doc/posix-functions/cargf.texi (cargf): Likewise.
21448         * doc/posix-functions/casin.texi (casin): Likewise.
21449         * doc/posix-functions/casinf.texi (casinf): Likewise.
21450         * doc/posix-functions/casinh.texi (casinh): Likewise.
21451         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
21452         * doc/posix-functions/catan.texi (catan): Likewise.
21453         * doc/posix-functions/catanf.texi (catanf): Likewise.
21454         * doc/posix-functions/catanh.texi (catanh): Likewise.
21455         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
21456         * doc/posix-functions/ccos.texi (ccos): Likewise.
21457         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
21458         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
21459         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
21460         * doc/posix-functions/cexp.texi (cexp): Likewise.
21461         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
21462         * doc/posix-functions/cimag.texi (cimag): Likewise.
21463         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
21464         * doc/posix-functions/clog.texi (clog): Likewise.
21465         * doc/posix-functions/clogf.texi (clogf): Likewise.
21466         * doc/posix-functions/conj.texi (conj): Likewise.
21467         * doc/posix-functions/conjf.texi (conjf): Likewise.
21468         * doc/posix-functions/cpow.texi (cpow): Likewise.
21469         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
21470         * doc/posix-functions/cproj.texi (cproj): Likewise.
21471         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
21472         * doc/posix-functions/creal.texi (creal): Likewise.
21473         * doc/posix-functions/crealf.texi (crealf): Likewise.
21474         * doc/posix-functions/csin.texi (csin): Likewise.
21475         * doc/posix-functions/csinf.texi (csinf): Likewise.
21476         * doc/posix-functions/csinh.texi (csinh): Likewise.
21477         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
21478         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
21479         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
21480         * doc/posix-functions/ctan.texi (ctan): Likewise.
21481         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
21482         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
21483         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
21484         * doc/posix-headers/complex.texi (complex.h): Likewise.
21485
21486 2010-10-07  Jim Meyering  <meyering@redhat.com>
21487
21488         parse-datetime: avoid compilation failure on OpenBSD 4.7
21489         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
21490         This works around a compilation failure on OpenBSD 4.7:
21491         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
21492
21493 2010-10-07  Eric Blake  <eblake@redhat.com>
21494
21495         docs: update cygwin progress
21496         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
21497         1.7.6.
21498         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
21499         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
21500         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
21501         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
21502         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
21503         Likewise.
21504         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
21505         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
21506         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
21507         Likewise.
21508         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
21509         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
21510         Likewise.
21511         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
21512         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
21513         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
21514         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
21515         Likewise.
21516         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
21517         Likewise.
21518         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
21519
21520         docs: update parse-datetime history
21521         * doc/parse-datetime.texi (Authors of parse_datetime): Better
21522         documentation of this function's history and alternatives.
21523
21524         cygwin: use more robust version check
21525         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
21526         exclude an eventual cygwin 1.9.1.
21527         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
21528         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
21529         (gl_FUNC_STRCASESTR): Likewise.
21530         Reported by Bruno Haible.
21531
21532 2010-10-06  Bruno Haible  <bruno@clisp.org>
21533
21534         string, sys_select: Avoid #including large headers unless necessary.
21535         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
21536         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
21537         OSF/1, BeOS, Haiku.
21538         Reported by Jim Meyering.
21539
21540 2010-10-05  Eric Blake  <eblake@redhat.com>
21541
21542         memmem, strstr, strcasestr: fix bug with long periodic needle
21543         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
21544         periodic needle having false positive.
21545         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
21546         and cygwin 1.7.7.
21547         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
21548         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
21549         (gl_FUNC_STRCASESTR): Likewise.
21550         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
21551         * tests/test-memmem.c (main): Expose the bug.
21552         * tests/test-strcasestr.c (main): Likewise.
21553         * tests/test-strstr.c (main): Likewise.
21554         * tests/test-c-strcasestr.c (main): Likewise.
21555         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
21556         * doc/posix-functions/strstr.texi (strstr): Likewise.
21557         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
21558         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
21559
21560 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
21561
21562         parse-datetime: do some more renaming
21563         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
21564         parse_datetime, not get_date.  Mention the renaming.
21565         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
21566         in comments.
21567         * m4/bison.m4: Likewise.
21568
21569 2010-10-05  Eric Blake  <eblake@redhat.com>
21570
21571         parse-datetime: better name than get_date
21572         * NEWS: Reword the deprecation notice.
21573         * modules/get_date: Rename to modules/parse-datetime.
21574         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
21575         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
21576         * lib/get_date.y: Rename to lib/parse-datetime.y.
21577         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
21578         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
21579         * doc/getdate.texi: Provide fallback wrapper.
21580         * lib/getdate.h: Move guts, and wrap...
21581         * lib/parse-datetime.h: ...new file.
21582         * lib/parse-datetime.y (get_date): Rename...
21583         (parse_datetime): ...to this.
21584         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
21585         (gl_PARSE_DATETIME): ...to this.
21586         * doc/posix-functions/getdate.texi (get_date): Provide fallback
21587         documentation.
21588         * modules/getdate (Files): Provide fallback docs and header.
21589         (Notice, Depends-on): Update references.
21590         * tests/test-parse-datetime.c: Likewise.
21591         * DEPENDENCIES: Likewise.
21592         * MODULES.html.sh (Date and time <time.h>): Likewise.
21593         * doc/parse-datetime.texi (Date input formats)
21594         (Authors of parse_datetime): Likewise.
21595         * modules/parse-datetime (Files, configure.ac, Makefile.am)
21596         (Include): Likewise.
21597         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
21598         * gnulib-tool: Likewise.
21599         * m4/bison.m4 (gl_BISON): Likewise.
21600         Suggested by Bruno Haible.
21601
21602 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
21603
21604         more ports to Solaris tr, which needs [] around ranges
21605         * gnulib-tool: Solaris tr needs [] around ranges.
21606         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
21607         * tests/test-pipe-filter-gi1.c (main): Likewise.
21608         * tests/test-pipe-filter-ii1.c (main): Likewise.
21609
21610 2010-10-05  Eric Blake  <eblake@redhat.com>
21611
21612         bootstrap: fix Solaris regression
21613         * build-aux/bootstrap (check_versions): Solaris tr still needs []
21614         around ranges.
21615         Reported by Pádraig Brady.
21616
21617         bootstrap: work with pkg-config
21618         * build-aux/bootstrap (check_versions): Also transliterate - in
21619         prerequisite name.
21620         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
21621         prerequisites that were already found, to avoid confusion.
21622         Reported by Justin Clift.
21623
21624         faccessat: remove unused wrappers
21625         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
21626         presence of these wrappers dragged in -lgen on Solaris.
21627         Reported by Clemens Brogi; fix suggested by Paul Eggert.
21628
21629 2010-10-05  Jim Meyering  <meyering@redhat.com>
21630
21631         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
21632         * Makefile (sc_pragma_columns): New syntax-check rule.
21633
21634 2010-10-04  Bruno Haible  <bruno@clisp.org>
21635
21636         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
21637         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
21638         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
21639         Reported by Bruce Korb and Eric Blake.
21640
21641 2010-10-04  Bruno Haible  <bruno@clisp.org>
21642
21643         threadlib: Make option --with-libpth-prefix work.
21644         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
21645         use $LIBPTH, not just -lpth.
21646
21647 2010-10-04  Bruno Haible  <bruno@clisp.org>
21648
21649         Avoid line length limitation from HP NonStop system header files.
21650         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
21651         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
21652         * lib/ctype.in.h: Likewise.
21653         * lib/dirent.in.h: Likewise.
21654         * lib/errno.in.h: Likewise.
21655         * lib/fcntl.in.h: Likewise.
21656         * lib/float.in.h: Likewise.
21657         * lib/getopt.in.h: Likewise.
21658         * lib/iconv.in.h: Likewise.
21659         * lib/inttypes.in.h: Likewise.
21660         * lib/langinfo.in.h: Likewise.
21661         * lib/locale.in.h: Likewise.
21662         * lib/math.in.h: Likewise.
21663         * lib/netdb.in.h: Likewise.
21664         * lib/netinet_in.in.h: Likewise.
21665         * lib/poll.in.h: Likewise.
21666         * lib/pthread.in.h: Likewise.
21667         * lib/pty.in.h: Likewise.
21668         * lib/sched.in.h: Likewise.
21669         * lib/se-selinux.in.h: Likewise.
21670         * lib/search.in.h: Likewise.
21671         * lib/signal.in.h: Likewise.
21672         * lib/spawn.in.h: Likewise.
21673         * lib/stdarg.in.h: Likewise.
21674         * lib/stddef.in.h: Likewise.
21675         * lib/stdint.in.h: Likewise.
21676         * lib/stdio.in.h: Likewise.
21677         * lib/stdlib.in.h: Likewise.
21678         * lib/string.in.h: Likewise.
21679         * lib/strings.in.h: Likewise.
21680         * lib/sys_file.in.h: Likewise.
21681         * lib/sys_ioctl.in.h: Likewise.
21682         * lib/sys_select.in.h: Likewise.
21683         * lib/sys_socket.in.h: Likewise.
21684         * lib/sys_stat.in.h: Likewise.
21685         * lib/sys_time.in.h: Likewise.
21686         * lib/sys_times.in.h: Likewise.
21687         * lib/sys_utsname.in.h: Likewise.
21688         * lib/sys_wait.in.h: Likewise.
21689         * lib/sysexits.in.h: Likewise.
21690         * lib/termios.in.h: Likewise.
21691         * lib/time.in.h: Likewise.
21692         * lib/unistd.in.h: Likewise.
21693         * lib/wchar.in.h: Likewise.
21694         * lib/wctype.in.h: Likewise.
21695         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
21696         * modules/ctype (Makefile.am): Likewise.
21697         * modules/dirent (Makefile.am): Likewise.
21698         * modules/errno (Makefile.am): Likewise.
21699         * modules/fcntl-h (Makefile.am): Likewise.
21700         * modules/float (Makefile.am): Likewise.
21701         * modules/getopt-posix (Makefile.am): Likewise.
21702         * modules/iconv-h (Makefile.am): Likewise.
21703         * modules/inttypes (Makefile.am): Likewise.
21704         * modules/langinfo (Makefile.am): Likewise.
21705         * modules/locale (Makefile.am): Likewise.
21706         * modules/math (Makefile.am): Likewise.
21707         * modules/netdb (Makefile.am): Likewise.
21708         * modules/netinet_in (Makefile.am): Likewise.
21709         * modules/poll-h (Makefile.am): Likewise.
21710         * modules/pthread (Makefile.am): Likewise.
21711         * modules/pty (Makefile.am): Likewise.
21712         * modules/sched (Makefile.am): Likewise.
21713         * modules/search (Makefile.am): Likewise.
21714         * modules/selinux-h (Makefile.am): Likewise.
21715         * modules/signal (Makefile.am): Likewise.
21716         * modules/spawn (Makefile.am): Likewise.
21717         * modules/stdarg (Makefile.am): Likewise.
21718         * modules/stddef (Makefile.am): Likewise.
21719         * modules/stdint (Makefile.am): Likewise.
21720         * modules/stdio (Makefile.am): Likewise.
21721         * modules/stdlib (Makefile.am): Likewise.
21722         * modules/string (Makefile.am): Likewise.
21723         * modules/strings (Makefile.am): Likewise.
21724         * modules/sys_file (Makefile.am): Likewise.
21725         * modules/sys_ioctl (Makefile.am): Likewise.
21726         * modules/sys_select (Makefile.am): Likewise.
21727         * modules/sys_socket (Makefile.am): Likewise.
21728         * modules/sys_stat (Makefile.am): Likewise.
21729         * modules/sys_time (Makefile.am): Likewise.
21730         * modules/sys_times (Makefile.am): Likewise.
21731         * modules/sys_utsname (Makefile.am): Likewise.
21732         * modules/sys_wait (Makefile.am): Likewise.
21733         * modules/sysexits (Makefile.am): Likewise.
21734         * modules/termios (Makefile.am): Likewise.
21735         * modules/time (Makefile.am): Likewise.
21736         * modules/unistd (Makefile.am): Likewise.
21737         * modules/wchar (Makefile.am): Likewise.
21738         * modules/wctype (Makefile.am): Likewise.
21739
21740 2010-10-04  Bruno Haible  <bruno@clisp.org>
21741
21742         read-file tests: Avoid a test failure on NonStop Kernel.
21743         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
21744         a regular file.
21745         Reported by Joachim Schmitz <schmitz@hp.com>.
21746
21747 2010-10-03  Bruno Haible  <bruno@clisp.org>
21748
21749         gnulib-tool: Fixes for --create-testdir with --libtool.
21750         * gnulib-tool (func_get_automake_snippet): Don't augment
21751         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
21752         an executable.
21753         (func_create_testdir): Handle module 'alloca' like func_import.
21754         Reported by Bruce Korb <bruce.korb@gmail.com>.
21755
21756 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
21757
21758         Avoid some lines longer than 80 characters.
21759         * lib/stdint.in.h: Break long comment lines.
21760         * lib/math.in.h: Likewise.
21761         (_GL_NUM_UINT_WORDS): New macro, for readability.
21762         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
21763         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
21764         * lib/stdlib.in.h: Likewise.
21765         * lib/spawn.in.h: Likewise.
21766         * lib/sys_socket.in.h: Update an URL.
21767         * lib/sys_stat.in.h: Break long line.
21768
21769 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
21770
21771         Improve pmccabe2html.
21772         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
21773         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
21774         when the sources change. Remove the line in the HTML about "Used
21775         ranges" (which implied that there might be other unused ranges),
21776         rename "Resume" to "Summary" (easier to understand for more users).
21777         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
21778         styles, and some unnecessary blank lines.
21779
21780 2010-10-03  Bruno Haible  <bruno@clisp.org>
21781             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
21782
21783         acl: Add support for ACLs on NonStop Kernel.
21784         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
21785         Check whether the function aclsort() exists.
21786         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
21787         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
21788         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
21789         (acl_nontrivial [HAVE_ACLSORT]: New function.
21790         (file_has_acl): Implement for NonStop Kernel.
21791         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
21792         (qset_acl): Implement for NonStop Kernel.
21793         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
21794         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
21795         (main): Implement for NonStop Kernel.
21796         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
21797         Kernel. Handle this flavor.
21798         * tests/test-set-mode-acl.sh: Likewise.
21799         * tests/test-copy-acl.sh: Likewise.
21800         * tests/test-copy-file.sh: Likewise.
21801
21802 2010-10-03  Bruno Haible  <bruno@clisp.org>
21803
21804         Info about ACLs on NonStop Kernel.
21805         * doc/acl-resources.txt: Add info about NonStop Kernel.
21806         References by Joachim Schmitz <schmitz@hp.com>.
21807
21808 2010-10-02  Bruno Haible  <bruno@clisp.org>
21809
21810         Define missing EDQUOT on NonStop Kernel.
21811         * lib/errno.in.h (EDQUOT): Assign a value if missing.
21812         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
21813         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
21814         missing.
21815         * doc/posix-headers/errno.texi: Mention the NSK bug.
21816         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
21817         Reported by Joachim Schmitz <schmitz@hp.com>.
21818
21819 2010-10-02  Bruno Haible  <bruno@clisp.org>
21820
21821         Update doc for POSIX:2008.
21822         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
21823         Update URL of POSIX specification.
21824
21825 2010-10-02  Bruno Haible  <bruno@clisp.org>
21826
21827         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
21828         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
21829         from gnulib, not from Automake.
21830
21831 2010-10-02  Bruno Haible  <bruno@clisp.org>
21832
21833         New module 'system-posix'.
21834         * modules/system-posix: New file.
21835         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
21836         module is present.
21837         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
21838         GNULIB_SYSTEM_POSIX.
21839         * modules/stdlib (Depends-on): Remove sys_wait.
21840         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
21841         * doc/posix-functions/system.texi: Mention the new module.
21842         * doc/posix-headers/stdlib.texi: Likewise.
21843         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
21844         define test_sys_wait_macros to a no-op.
21845         Reported by Sam Steingold <sds@gnu.org>.
21846
21847 2010-09-30  Bruno Haible  <bruno@clisp.org>
21848
21849         More renaming from 'getdate' to 'get_date'.
21850         * doc/get_date.texi: Renamed from doc/getdate.texi.
21851         * modules/get_date (Files): Update.
21852         * MODULES.html.sh (Date and time <time.h>): Update.
21853         * DEPENDENCIES: Update.
21854         * gnulib-tool: Update comment.
21855         * m4/bison.m4 (gl_BISON): Likewise.
21856         * m4/get_date.m4 (gl_GET_DATE): Likewise.
21857
21858 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
21859
21860         bootstrap: support ACLOCAL_FLAGS during aclocal
21861         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
21862         can add additional -I dir for third-party .m4 files.
21863
21864 2010-09-30  Eric Blake  <eblake@redhat.com>
21865
21866         bootstrap: use glibtoolize on MacOS
21867         * build-aux/bootstrap (check_versions): Convert libtool into
21868         libtoolize.
21869         (tool search): Move libtool check earlier, and look for
21870         glibtoolize for MacOS.
21871         (gnulib_tool_options): Auto-add --libtool when appropriate.
21872         Reported by Justin Clift.
21873
21874         poll: fix typo that broke test on MacOS
21875         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
21876         Reported by Justin Clift.
21877
21878         getdate: rename to get_date
21879         Note: getdate.h is not renamed, to minimize client impact.
21880         * modules/getdate: Mark obsolete.  Move old contents...
21881         * modules/get_date: ...to new module name.
21882         * modules/getdate-tests: Move...
21883         * modules/get_date-tests: ...here.
21884         * m4/getdate.m4: Move...
21885         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
21886         * lib/getdate.y: Move...
21887         * lib/get_date.y: ...here.
21888         * tests/test-getdate.c: Move...
21889         * tests/test-get_date.c: ...here.
21890         * doc/posix-functions/getdate.texi (getdate): Update name.
21891         * NEWS: Mention the change.
21892
21893 2010-09-29  Bruno Haible  <bruno@clisp.org>
21894
21895         Separate the module 'waitpid' from the module 'sys_wait'.
21896         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
21897         present.
21898         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
21899         gl_MODULE_INDICATOR_FOR_TESTS.
21900         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
21901         * modules/sys_wait (Depends-on): Remove waitpid.
21902         (Makefile.am): Substitute GNULIB_WAITPID.
21903         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
21904         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
21905         signature only if the 'waitpid' module is present.
21906         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
21907         * NEWS: Mention the change.
21908         * modules/grantpt (Depends-on): Add waitpid.
21909         * modules/wait-process (Depends-on): Likewise.
21910
21911 2010-09-29  Bruno Haible  <bruno@clisp.org>
21912
21913         More tests for module 'sys_wait'.
21914         * modules/sys_wait-c++-tests: New file.
21915         * tests/test-sys_wait-c++.cc: New file.
21916         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
21917         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
21918
21919 2010-09-29  Bruno Haible  <bruno@clisp.org>
21920
21921         New module 'waitpid'.
21922         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
21923         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
21924         Don't include <process.h>.
21925         (waitpid): Declare only, using modern idiom.
21926         * m4/waitpid.m4: New file.
21927         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
21928         * modules/waitpid: New file.
21929         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
21930         (Makefile.am): Update.
21931         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
21932
21933 2010-09-28  Bruno Haible  <bruno@clisp.org>
21934
21935         poll: Assume ANSI C.
21936         * lib/poll.c (poll): Use an ANSI C declaration.
21937
21938 2010-09-28  Bruno Haible  <bruno@clisp.org>
21939
21940         poll-h: Create poll.h on all platforms.
21941         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
21942         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
21943         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
21944         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
21945         (gl_REPLACE_POLL_H): Don't set POLL_H.
21946         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
21947         * modules/poll-h (Depends-on): Add include_next.
21948         (Makefile.am): Create poll.h unconditionally. Substitute also
21949         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
21950
21951 2010-09-28  Bruno Haible  <bruno@clisp.org>
21952
21953         Tests for module 'poll-h'.
21954         * modules/poll-h-c++-tests: New file.
21955         * tests/test-poll-h-c++.cc: New file.
21956
21957         Tests for module 'poll-h'.
21958         * modules/poll-h-tests: New file.
21959         * tests/test-poll-h.c: New file.
21960
21961 2010-09-28  Bruno Haible  <bruno@clisp.org>
21962
21963         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
21964         * modules/poll-h (Depends-on): Add 'extensions'.
21965
21966 2010-09-28  Bruno Haible  <bruno@clisp.org>
21967
21968         New module 'poll-h'.
21969         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
21970         (poll): Use modern idiom.
21971         * modules/poll-h: New file.
21972         * modules/poll (Files): Remove lib/poll.in.h.
21973         (Depends-on): Add poll-h.
21974         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
21975         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
21976         * m4/poll_h.m4: New file.
21977         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
21978         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
21979         and invoke gl_REPLACE_POLL_H.
21980         * lib/poll.c: Use common idiom.
21981         * tests/test-poll.c: Likewise.
21982         * doc/posix-headers/poll.texi: Mention the poll-h module.
21983         Suggested by Eric Blake.
21984
21985 2010-09-26  Bruno Haible  <bruno@clisp.org>
21986
21987         sys_wait: Implement WSTOPSIG.
21988         * lib/sys_wait.in.h (WSTOPSIG): New macro.
21989         Reported by Simon Josefsson.
21990
21991 2010-09-26  Simon Josefsson  <simon@josefsson.org>
21992
21993         stdlib, sys_wait: Avoid compilation error on mingw.
21994         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
21995
21996 2010-09-26  Bruno Haible  <bruno@clisp.org>
21997
21998         stdlib tests: Avoid code duplication.
21999         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
22000         * modules/sys_wait-tests (Files): Likewise.
22001         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
22002         * tests/test-stdlib.c: Include test-sys_wait.h.
22003         (main): Invoke test_sys_wait_macros.
22004         * tests/test-sys_wait.c: Include test-sys_wait.h.
22005         (main): Invoke test_sys_wait_macros.
22006
22007 2010-09-25  Simon Josefsson  <simon@josefsson.org>
22008
22009         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
22010         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
22011         sure Windows sockets are working before calling getaddrinfo.
22012         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
22013         * doc/gnulib.texi (Windows sockets): Fix typo.
22014
22015 2010-09-25  Bruno Haible  <bruno@clisp.org>
22016
22017         Tests for module 'regex-quote'.
22018         * modules/regex-quote-tests: New file.
22019         * tests/test-regex-quote.c: New file.
22020
22021         New module 'regex-quote'.
22022         * lib/regex-quote.h: New file.
22023         * lib/regex-quote.c: New file.
22024         * modules/regex-quote: New file.
22025         Suggested by Reuben Thomas <rrt@sc3d.org>.
22026
22027 2010-09-24  Bruno Haible  <bruno@clisp.org>
22028
22029         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
22030         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
22031
22032 2010-09-23  Bruno Haible  <bruno@clisp.org>
22033
22034         setenv: Relax license.
22035         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
22036         Blake.
22037         Requested by Eric Blake.
22038
22039 2010-09-22  Bruno Haible  <bruno@clisp.org>
22040
22041         termios: Relax license.
22042         * modules/termios (License): Change to LGPLv2+.
22043         Requested by Eric Blake.
22044
22045 2010-09-22  Bruno Haible  <bruno@clisp.org>
22046
22047         threadlib: Allow the package to change the default to 'no'.
22048         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
22049         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
22050         Reported by Paul Eggert.
22051
22052 2010-09-22  Pádraig Brady  <P@draigbrady.com>
22053             Bruno Haible  <bruno@clisp.org>
22054
22055         Fix endless loop in mbmemcasecoll.
22056         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
22057         byte.
22058         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
22059
22060 2010-09-22  Bruno Haible  <bruno@clisp.org>
22061
22062         Tests for module 'memcoll'.
22063         * modules/memcoll-tests: New file.
22064         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
22065
22066         memcoll, xmemcoll: Clarify size vs. length.
22067         * modules/memcoll.c (memcoll0): Clarify specification.
22068         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
22069         passed to collate_error.
22070
22071 2010-09-22  Bruno Haible  <bruno@clisp.org>
22072
22073         Tests for module 'memcasecmp'.
22074         * modules/memcasecmp-tests: New file.
22075         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
22076
22077 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
22078
22079         * lib/pthread.in.h: Add split double-inclusion guard, and include
22080         system <pthread.h> if there is one.  Use @@-style as in other
22081         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
22082         pthread.h doesn't.
22083         (pthread_mutexattr_destroy, pthread_mutexattr_init):
22084         (pthread_mutexattr_settype, pthread_mutex_trylock):
22085         New static inline functions, if there's no system <pthread.h>.
22086         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
22087         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
22088         Approximate with mutexes if the system lacks spinlocks, as in
22089         MacOS.
22090         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
22091         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
22092         @@-style.  Check for spinlocks separately.
22093         (gl_PTHREAD_DEFAULTS): New macro.
22094         * modules/pthread: Redo to use a more typical style for in.h files.
22095
22096 2010-09-21  Eric Blake  <eblake@redhat.com>
22097
22098         net_if: enhance tests
22099         * tests/test-net_if.c (main): Move signature checks earlier.
22100         Print failures to stderr.
22101         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
22102         Document the bug that we do not yet fix.
22103
22104 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
22105
22106         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
22107         about gnulib, not GSS.
22108
22109 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
22110
22111         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
22112         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
22113         for Emacs.
22114         * build-aux/pmccabe2html: Make Makefile.am example code more
22115         cut-and-paste friendly.
22116
22117 2010-09-21  Simon Josefsson  <simon@josefsson.org>
22118
22119         * tests/test-net_if.c: New file.
22120         * modules/net_if-tests: New file.
22121
22122 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
22123
22124         pthread: add pthread_spin_destroy
22125         * lib/pthread.in.h (pthread_spin_destroy): New function.
22126
22127 2010-09-19  Bruno Haible  <bruno@clisp.org>
22128
22129         gnulib-tool: Fix --help output.
22130         * gnulib-tool (func_usage): Fix help message.
22131         Reported by Reuben Thomas <rrt@sc3d.org>.
22132
22133 2010-09-18  Jim Meyering  <meyering@redhat.com>
22134
22135         maint.mk: avoid unexpanded \n in two diagnostics
22136         * top/maint.mk (sc_prohibit_always_true_header_tests):
22137         Don't use a literal \n in a halt=... assignment.  It would not be
22138         expanded, and the two \n bytes would appear in the diagnostic output
22139         rather than the desired newline.  Use halt=$$(printf ... instead.
22140         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
22141
22142 2010-09-18  Bruno Haible  <bruno@clisp.org>
22143
22144         netinet_in: Doc tweak.
22145         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
22146         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22147
22148 2010-09-18  Jim Meyering  <meyering@redhat.com>
22149
22150         init.sh: correct an outdated comment
22151         * tests/init.sh (create_exe_shims_):  s/function/alias/
22152
22153         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
22154         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
22155         a file named "*.exe" is removed between the glob expansion and the
22156         processing of that oddly named file.
22157
22158 2010-09-17  Eric Blake  <eblake@redhat.com>
22159
22160         mirbsd: add some more support
22161         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
22162         in BSD family.
22163         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
22164         devices as OpenBSD.
22165         * m4/host-os.m4 (mirbsd): Add MirBSD.
22166
22167         tests: fix unportable assumption on sys/wait.h
22168         * tests/test-sys_wait.c (main): Relax test.
22169         * tests/test-stdlib.c (main): Likewise.
22170
22171         init.sh: accomodate directory with no .exes
22172         * tests/init.sh: Accomodate directory containing only scripts.
22173
22174         tests: avoid compiler warning
22175         * tests/test-stdlib.c (main): Use the variable.
22176
22177         fdutimens, fdutimensat: update signature, again
22178         * lib/utimens.h (gl_futimens): Delete, and move signature...
22179         (fdutimens): ...here.
22180         (fdutimensat): Rearrange signature.
22181         (lutimensat): Rename variable for clarity.
22182         * lib/fdutimensat.c (fdutimensat): Update signature.
22183         * lib/utimens.c (fdutimens): Likewise.
22184         (gl_futimens): Delete.
22185         (utimens, lutimens): Update callers.
22186         * lib/futimens.c (futimens): Likewise.
22187         * tests/test-fdutimensat.c: Likewise.
22188         * tests/test-utimens.c: Likewise.
22189         * tests/test-futimens.h: Update comment.
22190         * NEWS: Mention this.
22191         Suggested by Paul Eggert.
22192
22193 2010-09-17  Bruno Haible  <bruno@clisp.org>
22194
22195         Take over the maintenance of some older macros from Autoconf.
22196         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
22197         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
22198         GNU Autoconf.
22199         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
22200         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
22201
22202 2010-09-17  Eric Blake  <eblake@redhat.com>
22203
22204         fdutimensat: drop atflag validation
22205         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
22206         with valid fd, to close a race scenario where futimens is
22207         unsupported and FILE was replaced by a symlink.
22208         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
22209         accordingly.
22210         Suggested by Paul Eggert.
22211
22212 2010-09-16  Bruno Haible  <bruno@clisp.org>
22213
22214         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
22215         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
22216
22217 2010-09-16  Bruno Haible  <bruno@clisp.org>
22218
22219         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
22220         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
22221         login_tty exists.
22222         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22223
22224 2010-09-16  Bruno Haible  <bruno@clisp.org>
22225
22226         login_tty: Make the replacement code work on BSD systems.
22227         * lib/login_tty.c: Include <sys/ioctl.h>.
22228         (login_tty): Use ioctl TIOCSCTTY when available.
22229         * modules/login_tty (Depends-on): Add sys_ioctl.
22230         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22231
22232 2010-09-16  Bruno Haible  <bruno@clisp.org>
22233
22234         login_tty: Stricter unit test.
22235         * modules/login_tty-tests (Depends-on): Add tcgetsid.
22236         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
22237         and tcgetsid() after login_tty.
22238         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22239
22240 2010-09-16  Bruno Haible  <bruno@clisp.org>
22241
22242         New module 'tcgetsid'.
22243         * lib/tcgetsid.c: New file.
22244         * m4/tcgetsid.m4: New file.
22245         * modules/tcgetsid: New file.
22246         * modules/termios (Depends-on): Add c++defs, warn-on-use.
22247         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
22248         GNULIB_TCGETSID, HAVE_TCGETSID.
22249         * lib/termios.in.h: Include <sys/types.h>.
22250         (tcgetsid): New declaration.
22251         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
22252         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
22253         * doc/posix-functions/tcgetsid.texi: Mention the new module.
22254         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
22255
22256 2010-09-16  Bruno Haible  <bruno@clisp.org>
22257
22258         Tests for module 'termios'.
22259         * modules/termios-c++-tests: New file.
22260         * modules/termios-tests: New file.
22261         * tests/test-termios-c++.cc: New file.
22262         * tests/test-termios.c: New file.
22263
22264         New module 'termios'.
22265         * modules/termios: New file.
22266         * lib/termios.in.h: New file.
22267         * m4/termios_h.m4: New file.
22268         * doc/posix-headers/termios.texi: Mention the new module.
22269
22270 2010-09-16  Eric Blake  <eblake@redhat.com>
22271
22272         fdutimensat: add an atflag parameter
22273         * lib/fdutimensat.c (fdutimensat): Add new parameter.
22274         * lib/utimens.h (fdutimensat): Update prototype.
22275         * tests/test-fdutimensat.c: Adjust test to match.
22276         * NEWS: Document the change.
22277         Suggested by Paul Eggert.
22278
22279 2010-09-16  Bruno Haible  <bruno@clisp.org>
22280
22281         Fix typos in comments.
22282         * lib/striconveh.h: Fix typo in comment.
22283         * lib/login_tty.c (login_tty): Likewise.
22284
22285 2010-09-15  Bruno Haible  <bruno@clisp.org>
22286
22287         stdlib: clarify MirBSD WEXITSTATUS bug
22288         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
22289         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
22290
22291 2010-09-15  Eric Blake  <eblake@redhat.com>
22292
22293         stdlib: work around MirBSD WEXITSTATUS bug
22294         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
22295         * modules/stdlib (Depends-on): Add sys_wait.
22296         * tests/test-sys_wait.c (main): Enhance test.
22297         * tests/test-stdlib.c (main): Likewise.
22298         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
22299
22300         docs: mention MacOS issue with WEXITSTATUS(constant)
22301         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
22302         issue.
22303         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
22304
22305         strnlen: add tests
22306         * modules/strnlen-tests: New file.
22307         * tests/test-strnlen.c: Likewise.
22308
22309 2010-09-14  Bruno Haible  <bruno@clisp.org>
22310
22311         unistr/base: Avoid link errors when module 'libunistring' is also used.
22312         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
22313         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
22314         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
22315         Declare also when HAVE_LIBUNISTRING is set.
22316         Reported by Pádraig Brady <P@draigbrady.com>.
22317
22318 2010-09-14  Eric Blake  <eblake@redhat.com>
22319
22320         test-rawmemchr: make more robust
22321         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
22322         (Depends-on, configure.ac): Add needed prerequisites to use it.
22323         * modules/memchr-tests (Files, Depends-on, configure.ac):
22324         Likewise, to avoid implicit reliance on memchr module prereqs.
22325         * tests/test-memchr.c (main): Ensure proper masking.
22326         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
22327         reads.
22328
22329         memchr: detect glibc Alpha bug
22330         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
22331         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
22332         Alpha.
22333         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
22334         * tests/test-memchr.c (main): Enhance test.
22335         Reported by Nelson H. F. Beebe.
22336
22337 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22338
22339         fts, getcwd, glob: audit for dirfd returning -1
22340         * lib/fts.c (opendir): Remove #define; no longer used.
22341         (opendirat): New arg PDIR_FD.  All callers changed.
22342         (fts_build, _opendir2): Use new opendirat to avoid the need for
22343         dirfd, or for checking whether dirfd returns a negative value.
22344         Don't use opendir; always use openat followed by fdopendir.
22345         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
22346         it.
22347         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
22348         returns -1 here.
22349         * modules/fts (Depends-on): Remove dirfd.
22350         * modules/getcwd (Depends-on): Likewise.
22351
22352 2010-09-13  Eric Blake  <eblake@redhat.com>
22353
22354         float: fix broken MirBSD header
22355         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
22356         * doc/posix-headers/float.texi (float.h): Document it.
22357
22358 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22359
22360         fts: use O_NOFOLLOW to avoid race condition when opening a directory
22361         * lib/fts.c (opendirat): New arg extra_flags.
22362         (__opendir2): Use it to avoid following symlinks when opening
22363         a directory, if symlinks are not supposed to be followed.  See
22364         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
22365
22366         fdopendir: preserve argument fd before returning
22367         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
22368         (fdopendir_with_dup, fd_clone_opendir): New static functions.
22369         (fdopendir): Use them, arranging for FD to be open to the same
22370         directory that it was when it started.  (It might be temporarily
22371         closed while fdopendir is running, so this not thread- or
22372         signal-safe.)  Be careful to do the right thing even when file
22373         descriptors are scarce and dup fails with errno == EMFILE.  See
22374         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
22375
22376 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
22377
22378         regex: Pass the system regex if its only problem is 32-bit regoff_t.
22379         * NEWS: Document change.
22380         * m4/regex.m4: Disable test for regoff_t size.
22381
22382 2010-09-13  Jim Meyering  <meyering@redhat.com>
22383
22384         fts: don't operate on an invalid file descriptor after failed dup
22385         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
22386         negative file descriptor.
22387
22388 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
22389
22390         savedir: add streamsavedir, deprecate fdsavedir
22391         * NEWS: Mention deprecation of fdsavedir.
22392         * lib/savedir.c (streamsavedir): New extern function, whose name
22393         ends in "savedir" to be consistent with the others.  This differs
22394         from savedirstream in that it doesn't close its argument.  The
22395         next version of GNU tar will use this instead of fdsavedir, to
22396         avoid some race conditions and conserve file descriptors.
22397         (savedirstream): Reimplement as a wrapper around streamsavedir.
22398         (fdsavedir): Add a comment deprecating this function.  As far as
22399         I know, only GNU tar used it, and GNU tar doesn't need it any more.
22400         * lib/savedir.h (streamsavedir): New decl.
22401         (fdsavedir): Add a comment deprecating this.
22402
22403 2010-09-10  Bruno Haible  <bruno@clisp.org>
22404
22405         langinfo: Fix last commit.
22406         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
22407         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
22408         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22409
22410 2010-09-10  Bruno Haible  <bruno@clisp.org>
22411
22412         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
22413         * lib/progreloc.c (O_EXEC): Define fallback.
22414
22415 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
22416
22417         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
22418         * NEWS: Document recent changes to fcntl-h.
22419         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
22420         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
22421         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
22422         Similarly for O_SEARCH; this last was already true, but not documented.
22423         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
22424         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
22425         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
22426         Likewise.
22427         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
22428         is zero, not whether it is defined.
22429         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
22430         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
22431         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
22432
22433 2010-09-10  Bruno Haible  <bruno@clisp.org>
22434
22435         langinfo, nl_langinfo: Fix for IRIX 5.3.
22436         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
22437         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
22438         HAVE_LANGINFO_YESEXPR.
22439         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
22440         HAVE_LANGINFO_YESEXPR.
22441         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
22442         HAVE_LANGINFO_T_FMT_AMPM is 0.
22443         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
22444         HAVE_LANGINFO_YESEXPR is 0.
22445         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
22446         NOEXPR.
22447         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
22448         * doc/posix-functions/nl_langinfo.texi: Likewise.
22449         Reported by Eric Blake.
22450
22451 2010-09-10  Bruno Haible  <bruno@clisp.org>
22452
22453         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
22454         * doc/glibc-functions/login_tty.texi: Mention the include file problem
22455         on FreeBSD 8.0 and OpenBSD 4.6.
22456         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
22457         * m4/pty_h.m4 (gl_PTY_H): Likewise.
22458         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
22459         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
22460         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
22461         ac_includes_default.
22462         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22463
22464 2010-09-09  Eric Blake  <eblake@redhat.com>
22465
22466         strsignal: work around NetBSD bug
22467         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
22468         * lib/string.in.h (includes): Likewise.
22469         * doc/posix-functions/strsignal.texi (strsignal): Document the
22470         bug.
22471         Reported by Nelson H. F. Beebe.
22472
22473         gnulib-tool: work with NetBSD /bin/sh
22474         * gnulib-tool (func_cache_var, func_cache_lookup_module)
22475         (func_get_description, func_get_comment, func_get_status)
22476         (func_get_notice, func_get_applicability, func_get_filelist)
22477         (func_get_dependencies, func_get_autoconf_early_snippet)
22478         (func_get_autoconf_snippet, func_get_automake_snippet)
22479         (func_get_include_directive, func_get_link_directive)
22480         (func_get_license, func_get_maintainer, func_import): Avoid
22481         shell syntax errors from parsing syntax extensions.
22482
22483 2010-09-09  Bruno Haible  <bruno@clisp.org>
22484
22485         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
22486         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
22487         a reliable way to determine whether the 'alias' command works.
22488
22489 2010-09-08  Jim Meyering  <meyering@redhat.com>
22490
22491         init.sh: penalize a set-x-impaired shell; don't disqualify it
22492         * tests/init.sh: Too many shells corrupt application stderr when
22493         you set -x, so we can't afford to disqualify them, since at least
22494         on Irix-6.5, that would disqualify all bourne shells.
22495         Instead, use a two-pass approach.
22496         On the first pass, try to find a shell that meets the stricter
22497         condition that set -x does not corrupt stderr.
22498         If no shell meets the stricter condition, retest each candidate
22499         shell, but without that extra condition.  Finally, when
22500         VERBOSE=yes is requested and set -x might cause trouble, simply
22501         issue a warning and refrain from enabling debug output.
22502
22503 2010-09-08  Eric Blake  <eblake@redhat.com>
22504
22505         unsetenv: fix OpenBSD bug
22506         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
22507         * doc/posix-functions/unsetenv.texi (unsetenv): Update
22508         documentation.
22509         Reported by Jim Meyering.
22510
22511         strtod: work around IRIX 6.5 bug
22512         * lib/strtod.c (strtod): Reparse number on shorter string if
22513         exponent parse was invalid.
22514         * tests/test-strtod.c (main): Add check for "0x1p 2".
22515         Reported by Tom G. Christensen.
22516
22517         getopt: optimize previous patch
22518         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
22519         empty variable.  Speed up awk script.
22520         Reported by Paolo Bonzini.
22521
22522 2010-09-08  Jim Meyering  <meyering@redhat.com>
22523
22524         test.sh: disqualify shells for which set -x corrupts stderr
22525         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
22526         and OpenBSD 4.7.  They make it so with "set -x", environment settings
22527         appear in stderr output.  For example, this command:
22528             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
22529         prints "P=1" on those two systems:
22530
22531 2010-09-08  Bruno Haible  <bruno@clisp.org>
22532
22533         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
22534         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
22535         commands, because some shells ignore redirections when there is an
22536         error in the command lookup.
22537         Reported by Eric Blake.
22538
22539 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
22540
22541         * lib/regex.h: Fix a mention of `regex_compile' (should be
22542         `re_compile_pattern').
22543         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
22544         (re_set_registers): Correct name of parameter in comment.
22545
22546         * doc/regex.texi: Add documentation for missing syntax flags.
22547         Remove commented-out documentation of defunct syntax option
22548         RE_NO_EMPTY_ALTS.
22549         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
22550         Add documentation of re_set_registers.
22551         Document trick to re-use a pattern buffer by setting fastmap manually.
22552         Update documentation of struct re_pattern_buffer per public members.
22553         Uncomment documentation of equivalence class operators and
22554         collating symbol operators, since they are now implemented,
22555         Explain leftmost-longest matching in relation to alternatives.
22556         Tidy documentation of substring matching.
22557         Remove POSIX documentation, which is done better in
22558         glibc, and refer the reader there. Keep BSD API documentation, as
22559         that is not readily available elsewhere.
22560
22561 2010-09-07  Eric Blake  <eblake@redhat.com>
22562
22563         getopt: handle POSIXLY_CORRECT set but not exported
22564         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
22565         export state of POSIXLY_CORRECT, due to bash set -o posix.
22566         Reported by Dustin J. Mitchell.
22567
22568 2010-09-05  Bruno Haible  <bruno@clisp.org>
22569
22570         gnulib-tool: Highlight the changed options.
22571         * gnulib-tool (func_usage): Display the --import, --add-import,
22572         --remove-import explanations in bold font.
22573
22574 2010-09-06  Karl Berry  <karl@gnu.org>
22575
22576         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
22577
22578 2010-09-05  Bruno Haible  <bruno@clisp.org>
22579
22580         uniwidth/width: Update comment.
22581         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
22582         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
22583
22584 2010-09-05  Bruno Haible  <bruno@clisp.org>
22585
22586         isinf, isnan: Relax license.
22587         * modules/isinf (License): Change from GPL to LGPL, with consent from
22588         Ben Pfaff.
22589         * modules/isnan (License): Likewise.
22590         Requested by Ludovic Courtès.
22591
22592 2010-09-04  Bruno Haible  <bruno@clisp.org>
22593
22594         gnulib-tool: Help migration from --import to --add-import or --update.
22595         * gnulib-tool: Emit a verbose error message when --import is used
22596         without any module name.
22597
22598 2010-09-04  Bruno Haible  <bruno@clisp.org>
22599
22600         Update doc about gnulib-tool.
22601         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
22602         'gnulib-tool --update' in more detail.
22603         Reported by Eric Blake.
22604
22605 2010-09-04  Bruno Haible  <bruno@clisp.org>
22606
22607         gnulib-tool: Change --import. New options --add/remove-import.
22608         * gnulib-tool: New options --add-import, --remove-import.
22609         (func_usage): Document them.
22610         (have_associative): Define always.
22611         (func_import): In import mode, don't merge the specified settings with
22612         the cached settings. Implement remove-import mode.
22613         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
22614         Explain when to use them versus --import.
22615         (Simple update): Use --add-import instead of --import.
22616         * NEWS: Mention the change.
22617
22618 2010-09-04  Bruno Haible  <bruno@clisp.org>
22619
22620         * doc/gnulib-tool.texi (Initial import): Update paragraph about
22621         separate gnulib.mk.
22622
22623 2010-09-04  Bruno Haible  <bruno@clisp.org>
22624
22625         gnulib-tool: Don't talk about CVS any more.
22626         * gnulib-tool (func_usage, func_import): Write "version control"
22627         instead of CVS.
22628
22629 2010-09-04  Jim Meyering  <meyering@redhat.com>
22630
22631         maint.mk: avoid obscure sc_copyright_check failure in coreutils
22632         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
22633         false positives (whose names may be ill-chosen) when searching
22634         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
22635         would cause a false-positive.
22636
22637         avoid coreutils "make distcheck" failure
22638         Coreutils tests with an absolute build directory name that contains
22639         a space.  Not quoting this directory name caused a failure.
22640         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
22641         * tests/test-vc-list-files-cvs.sh: Likewise.
22642
22643 2010-09-04  Bruno Haible  <bruno@clisp.org>
22644
22645         gnulib-tool: Avoid error when run in a package without Makefile.am.
22646         * gnulib-tool: When collecting the m4dirs in a package that does not
22647         have a Makefile.am, eliminate those directories that contain no
22648         gnulib-cache.m4. Fix expression that counts these directories.
22649
22650 2010-09-04  Bruno Haible  <bruno@clisp.org>
22651
22652         update-copyright test: Improve output when perl is missing or too old.
22653         * tests/test-update-copyright.sh: Move test of Perl version down after
22654         the test whether Perl exists. Provide an explanation relating Perl's
22655         error message to Automake's SKIP: message.
22656
22657 2010-09-04  Bruno Haible  <bruno@clisp.org>
22658
22659         Don't augment PATH in TESTS_ENVIRONMENT.
22660         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
22661         set abs_aux_dir instead of augmenting PATH.
22662         * modules/vc-list-files-tests (Makefile.am): Likewise.
22663         * tests/test-update-copyright.sh: Augment PATH here.
22664         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
22665         path_prepend_.
22666         * tests/test-vc-list-files-git.sh: Likewise.
22667
22668 2010-09-04  Jim Meyering  <meyering@redhat.com>
22669
22670         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
22671         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
22672
22673 2010-09-04  Bruno Haible  <bruno@clisp.org>
22674
22675         strdup: Fix compilation error in C++ mode.
22676         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
22677         the macro.
22678
22679 2010-09-04  Bruno Haible  <bruno@clisp.org>
22680
22681         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
22682         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
22683         macro into a function.
22684         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
22685
22686 2010-09-04  Bruno Haible  <bruno@clisp.org>
22687
22688         Set PATH_SEPARATOR the same way autoconf does.
22689         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
22690         the value of PATH_SEPARATOR the same way autoconf-generated configure
22691         scripts do.
22692         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
22693         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
22694
22695 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
22696
22697         Set PATH_SEPARATOR the same way autoconf does.
22698         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
22699         the same way autoconf-generated configure scripts do.
22700         * posix-modules: Likewise.
22701
22702 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22703
22704         hash: fix safe_hasher const typo
22705         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
22706         const; otherwise, there is a type error later.
22707
22708 2010-09-02  Jim Meyering  <meyering@redhat.com>
22709
22710         test-update-copyright.sh: require perl 5.8.0
22711         * tests/test-update-copyright.sh: Require 5.8.0,
22712         which Tom G. Christensen has confirmed is adequate,
22713         while 5.6.1 is not.
22714
22715 2010-09-02  Eric Blake  <eblake@redhat.com>
22716
22717         tests: init.sh improvements for re-exec'ing with zsh
22718         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
22719         -vx through shell re-exec.
22720         Reported by Tom G. Christensen.
22721
22722         wctype: fix typo in previous commit
22723         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
22724         Reported by Ludovic Courtès.
22725
22726 2010-09-02  Jim Meyering  <meyering@redhat.com>
22727
22728         test-update-copyright.sh: skip test if Perl is too old
22729         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
22730         Reported by Tom G. Christensen.
22731
22732 2010-09-02  Bruno Haible  <bruno@clisp.org>
22733
22734         wctype: Avoid compilation error on IRIX 6.5.30.
22735         * lib/wctype.in.h (iswblank): Declare with a replacement if
22736         REPLACE_ISWBLANK is set.
22737         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
22738         declared. Set REPLACE_ISWBLANK.
22739         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
22740         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
22741         * doc/posix-headers/wctype.texi: Likewise.
22742         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22743
22744 2010-09-01  Bruno Haible  <bruno@clisp.org>
22745
22746         New module 'socketlib'.
22747         * modules/socketlib: New file.
22748         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
22749         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
22750         * modules/sockets (Depends-on): Add socketlib.
22751         Suggested by Sam Steingold <sds@gnu.org>.
22752
22753 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
22754
22755         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
22756
22757         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
22758         when one needs search access to a directory but not read access.
22759         On systems where it is available, it works in some cases where
22760         O_RDONLY does not, namely on directories that are searchable but
22761         not readable, and which need only to be searchable.  If O_SEARCH
22762         is not available, fall back to the traditional method of using
22763         O_RDONLY.
22764
22765         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
22766         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
22767         when opening a directory that needs only to be searchable.
22768         * lib/chdir-safer.c (chdir_no_follow): Likewise.
22769         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
22770         * lib/openat-proc.c (openat_proc_name): Likewise.
22771         * lib/openat.c (openat_needs_fchdir): Likewise.
22772         * lib/save-cwd.c (save_cwd): Likewise.
22773         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
22774
22775 2010-08-28  Bruno Haible  <bruno@clisp.org>
22776
22777         New module 'host-cpu-c-abi'.
22778         * modules/host-cpu-c-abi: New file.
22779         * m4/host-cpu-c-abi.m4: New file, based on part of
22780         clisp/src/m4/general.m4.
22781         Requested by Sam Steingold <sds@gnu.org>.
22782
22783 2010-08-31  Eric Blake  <eblake@redhat.com>
22784         and Jim Meyering  <meyering@redhat.com>
22785
22786         hash: factor, and guard against misbehaving hasher function
22787         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
22788         of table->hasher's return value.  Also protect against a hash value
22789         so large that adding it to table->bucket results in a NULL pointer.
22790         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
22791         Use it in place of open-coded check-and-abort.
22792
22793 2010-08-30  Bruno Haible  <bruno@clisp.org>
22794
22795         hash: silence spurious clang warning
22796         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
22797         Reported by Eric Blake.
22798
22799 2010-08-30  Eric Blake  <eblake@redhat.com>
22800
22801         strstr, memmem, strcasestr: avoid leaked shell message
22802         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
22803         FreeBSD.
22804         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22805         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
22806
22807         tests: silence clang warning
22808         * tests/test-malloca.c (do_allocation): Avoid dead store.
22809
22810 2010-08-29  Bruno Haible  <bruno@clisp.org>
22811
22812         gettext: Fix recent mistake.
22813         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
22814
22815 2010-08-29  Bruno Haible  <bruno@clisp.org>
22816
22817         selinux-h: Offer a --without-selinux option.
22818         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
22819         --without-selinux was specified, skip all tests and define
22820         HAVE_SELINUX_SELINUX_H to 0.
22821         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
22822         set LIB_SELINUX to empty.
22823         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
22824         gl_LIBSELINUX. If --without-selinux was specified, replace
22825         selinux/context.h.
22826         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
22827
22828 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
22829             Bruno Haible  <bruno@clisp.org>
22830
22831         Make the module 'realloc-gnu' work again on AIX and OSF/1.
22832         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
22833         of HAVE_REALLOC.
22834         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
22835         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
22836         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
22837         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
22838
22839 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
22840             Bruno Haible  <bruno@clisp.org>
22841
22842         Make the module 'calloc-gnu' work again on AIX and OSF/1.
22843         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
22844         HAVE_CALLOC.
22845         * lib/xmalloc.c: Update accordingly.
22846         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
22847         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
22848         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
22849
22850 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
22851             Bruno Haible  <bruno@clisp.org>
22852
22853         Make the module 'malloc-gnu' work again on AIX and OSF/1.
22854         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
22855         HAVE_MALLOC.
22856         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
22857         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
22858         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
22859
22860 2010-08-29  Bruno Haible  <bruno@clisp.org>
22861
22862         Update modules list.
22863         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
22864         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
22865         (String handling <string.h>): Add astrxfrm.
22866         (File system functions): Add readlinkat.
22867
22868 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22869
22870         Tests for module 'realloc-gnu'.
22871         * modules/realloc-gnu-tests: New file.
22872         * tests/test-realloc-gnu.c: New file.
22873
22874         Tests for module 'calloc-gnu'.
22875         * modules/calloc-gnu-tests: New file.
22876         * tests/test-calloc-gnu.c: New file.
22877
22878         Tests for module 'malloc-gnu'.
22879         * modules/malloc-gnu-tests: New file.
22880         * tests/test-malloc-gnu.c: New file.
22881
22882 2010-08-28  Bruno Haible  <bruno@clisp.org>
22883
22884         Rename module 'realloc' -> 'realloc-gnu'.
22885         * modules/realloc-gnu: New file, copied from modules/realloc.
22886         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
22887         obsolete.
22888         * modules/mgetgroups (Depends-on): Update.
22889         * doc/posix-functions/realloc.texi: Update.
22890         * NEWS: Mention the change.
22891
22892         Rename module 'calloc' -> 'calloc-gnu'.
22893         * modules/calloc-gnu: New file, copied from modules/calloc.
22894         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
22895         obsolete.
22896         * doc/posix-functions/calloc.texi: Update.
22897         * NEWS: Mention the change.
22898
22899         Rename module 'malloc' -> 'malloc-gnu'.
22900         * modules/malloc-gnu: New file, copied from modules/malloc.
22901         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
22902         obsolete.
22903         * modules/argp (Depends-on): Update.
22904         * modules/regex (Depends-on): Update.
22905         * doc/posix-functions/malloc.texi: Update.
22906         * NEWS: Mention the change.
22907
22908 2010-08-28  Eric Blake  <eblake@redhat.com>
22909
22910         pread, pwrite: add missing dependency
22911         * modules/pread (Depends-on): Add extensions.
22912         * modules/pwrite (Depends-on): Likewise.
22913
22914 2010-08-28  Bruno Haible  <bruno@clisp.org>
22915
22916         unistr/u*-strchr: Fix tests dependencies.
22917         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
22918         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
22919         Reported by Ian Beckwith <ianb@erislabs.net>.
22920
22921 2010-08-28  Bruno Haible  <bruno@clisp.org>
22922
22923         read-file: Don't occupy too much unused memory.
22924         * lib/read-file.c (fread_file): Shrink the buffer at the end.
22925
22926 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
22927             Eric Blake  <eblake@redhat.com>
22928             Bruno Haible  <bruno@clisp.org>
22929
22930         read-file: Avoid memory reallocations with regular files.
22931         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
22932         (fread_file): With regular files, use the remaining length as the
22933         initial buffer size.  Check against overflow.
22934         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
22935         sys_stat.
22936
22937 2010-08-28  Bruno Haible  <bruno@clisp.org>
22938
22939         ftello: Relax license.
22940         * modules/ftello (License): Relax to LGPLv2+.
22941         Reported by Eric Blake.
22942
22943 2010-08-28  Bruno Haible  <bruno@clisp.org>
22944
22945         Avoid relocwrapper link errors due to gnulib replacement functions.
22946         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
22947         function.
22948         Reported by Ben Pfaff <blp@cs.stanford.edu>.
22949
22950 2010-08-28  Bruno Haible  <bruno@clisp.org>
22951
22952         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
22953         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
22954         defined.
22955         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
22956         Suggested by Eric Blake.
22957
22958 2010-08-28  Bruno Haible  <bruno@clisp.org>
22959
22960         sys_socket, netdb: Ensure socklen_t gets defined.
22961         * modules/sys_socket (Depends-on): Add socklen.
22962         * modules/netdb (Depends-on): Likewise.
22963         * modules/getaddrinfo (Depends-on): Remove socklen.
22964         * modules/getsockopt (Depends-on): Likewise.
22965         * modules/setsockopt (Depends-on): Likewise.
22966         * tests/test-sys_socket.c: Check that socklen_t is defined.
22967         * tests/test-netdb.c: Likewise.
22968         * m4/socklen.m4: Update comments.
22969         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22970
22971 2010-08-27  Eric Blake  <eblake@redhat.com>
22972
22973         login_tty: add missing dependency
22974         * modules/login_tty (Depends-on): Add pty.
22975
22976 2010-08-26  Eric Blake  <eblake@redhat.com>
22977
22978         lib-symbol-versions: fix m4 quoting
22979         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
22980         format for AC_LINK_IFELSE.
22981
22982         glob: fix compile test
22983         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
22984
22985         btowc: fix missing file
22986         * modules/btowc (Files): Also ship locale-fr.m4.
22987
22988         lseek: fix link test
22989         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
22990         AC_LINK_IFELSE.
22991
22992         include_next: silence autoconf 2.68 warning
22993         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
22994         AC_COMPILE_IFELSE as special.
22995         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
22996         autoconf < 2.68.
22997
22998         acl: fix compilation test
22999         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
23000         AC_COMPILE_IFELSE.
23001
23002 2010-08-26  Bruno Haible  <bruno@clisp.org>
23003
23004         Modernize AC_TRY_RUN invocations.
23005         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
23006         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
23007         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
23008         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
23009         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
23010         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
23011         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
23012         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
23013         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23014         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
23015         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
23016         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
23017         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
23018         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
23019         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
23020         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
23021         gl_MBRLEN_NUL_RETVAL): Likewise.
23022         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
23023         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
23024         Likewise.
23025         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
23026         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
23027         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
23028         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
23029         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
23030         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
23031         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
23032         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
23033         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
23034         Likewise.
23035         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
23036         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
23037         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
23038         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
23039         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
23040         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
23041         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23042         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
23043         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
23044         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
23045
23046 2010-08-26  Bruno Haible  <bruno@clisp.org>
23047
23048         Modernize AC_TRY_LINK invocations.
23049         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
23050         AC_TRY_LINK.
23051         * m4/argp.m4 (gl_ARGP): Likewise.
23052         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
23053         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
23054         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
23055         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
23056         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
23057         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
23058         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
23059         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
23060         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
23061         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
23062         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
23063         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
23064         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
23065         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23066         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
23067         * m4/hostent.m4 (gl_HOSTENT): Likewise.
23068         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
23069         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
23070         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
23071         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
23072         Likewise.
23073         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
23074         Likewise.
23075         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
23076         Likewise.
23077         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
23078         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
23079         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
23080         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
23081         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
23082         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
23083         * m4/servent.m4 (gl_SERVENT): Likewise.
23084         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
23085         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
23086         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
23087         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
23088         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
23089         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
23090         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
23091         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
23092         * modules/tsearch-tests (configure.ac): Likewise.
23093
23094 2010-08-26  Bruno Haible  <bruno@clisp.org>
23095
23096         Modernize AC_TRY_COMPILE invocations.
23097         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
23098         AC_TRY_COMPILE.
23099         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
23100         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
23101         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
23102         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
23103         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
23104         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
23105         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
23106         * m4/lock.m4 (gl_LOCK): Likewise.
23107         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
23108         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
23109         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
23110         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
23111         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
23112         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
23113         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
23114         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
23115         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
23116         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
23117         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
23118         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
23119         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
23120         extraneous semicolon.
23121
23122 2010-08-26  Jim Meyering  <meyering@redhat.com>
23123
23124         stat-time: relax license LGPL
23125         * modules/stat-time (License): Change from GPL to LGPL,
23126         with consent from all contributors, for use in libguile.
23127         Requested by Ludovic Courtès.
23128
23129 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
23130
23131         poll: return immediately on POLLHUP.
23132         * lib/poll.c (poll): Always set timeout before wait_timeout is
23133         computed.
23134
23135 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23136
23137         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
23138         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
23139         rmdir ("dir/.//"), unlinkat.
23140
23141 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
23142
23143         stdbool: avoid spurious failure with modern xlc
23144         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
23145
23146 2010-08-24  Bruno Haible  <bruno@clisp.org>
23147
23148         getloadavg: simplify code
23149         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
23150         gl_have_func. Update comments.
23151
23152 2010-08-24  Eric Blake  <eblake@redhat.com>
23153
23154         getloadavg: don't define SVR4 on cygwin
23155         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
23156         only define SVR4 when -lkvm is required.
23157         Reported by Yaakov Selkowitz.
23158
23159 2010-08-24  Bruno Haible  <bruno@clisp.org>
23160
23161         priv-set: fix comment
23162         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
23163
23164 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
23165
23166         priv-set: fix comments
23167         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
23168         to match code, as suggested by David Bartley in:
23169         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
23170
23171 2010-08-23  Eric Blake  <eblake@redhat.com>
23172
23173         stdbool: avoid rejecting clang
23174         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
23175         * tests/test-stdbool.c: Enable more tests if using the system
23176         <stdbool.h> instead of the gnulib replacement.
23177         (main): Move xlc bug test to a runtime test for all compilers.
23178         Reported by Anders Kaseorg.
23179
23180         argz: fix shell quoting issue
23181         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
23182         Reported by Charles Wilson.
23183
23184 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
23185             Erik Faye-Lund <kusmabite@gmail.com>
23186
23187         poll, select: handle ERROR_BROKEN_PIPE.
23188         * lib/poll.c (win32_compute_revents): Return POLLHUP when
23189         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
23190         * lib/select.c (win32_compute_revents): Do not mark a pipe
23191         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
23192
23193 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
23194
23195         fts: allow compilation with C++
23196         * lib/fts_.h: Specify extern "C" linkage with C++.
23197
23198 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23199
23200         Fix gnulib-tool sed script de-commentation for AIX sed.
23201         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
23202         sed.
23203
23204 2010-08-17  Eric Blake  <eblake@redhat.com>
23205
23206         test-stddef: test for (some) offsetof bugs
23207         * tests/test-stddef.c: Enhance test to ensure correct type of
23208         offsetof.
23209         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
23210         that we are not fixing at this time.
23211
23212 2010-08-15  Bruno Haible  <bruno@clisp.org>
23213
23214         stpncpy: Allow stpncpy to be defined as a macro.
23215         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
23216         if it's already correctly declared.
23217         * lib/string.in.h (stpncpy): Undefine before redefining.
23218         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
23219
23220 2010-08-14  Bruno Haible  <bruno@clisp.org>
23221
23222         Rename module 'memxfrm' to 'amemxfrm'.
23223         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
23224         (amemxfrm): Renamed from memxfrm.
23225         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
23226         (amemxfrm): Renamed from memxfrm.
23227         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
23228         * NEWS: Mention the change.
23229         * MODULES.html.sh (String handling <string.h>): Update.
23230         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
23231         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
23232         * lib/unicase/u16-casexfrm.c: Likewise.
23233         * lib/unicase/u32-casexfrm.c: Likewise.
23234         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
23235         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
23236         * lib/uninorm/u16-normxfrm.c: Likewise.
23237         * lib/uninorm/u32-normxfrm.c: Likewise.
23238         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
23239         memxfrm.
23240         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
23241         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
23242         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
23243         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
23244         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
23245         Suggested by Paul Eggert.
23246
23247 2010-08-14  Bruno Haible  <bruno@clisp.org>
23248
23249         Tests for module 'astrxfrm'.
23250         * modules/astrxfrm-tests: New file.
23251         * tests/test-astrxfrm.c: New file.
23252
23253         New module 'astrxfrm'.
23254         * lib/astrxfrm.h: New file.
23255         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
23256         * modules/astrxfrm: New file.
23257
23258 2010-08-14  Reuben Thomas <rrt@sc3d.org>
23259
23260         regex: Tweak doc.
23261         * doc/regex.texi (Overview): Don't mention regex.c.
23262         (GNU Regular Expression Compiling): Likewise.
23263         (Match-end-of-line Operator): Mention 'not_eol'.
23264
23265 2010-08-14  Brian Gough  <bjg@gnu.org>
23266             Bruno Haible  <bruno@clisp.org>
23267
23268         git-merge-changelog: add doc relating to use with bzr and hg.
23269         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
23270
23271 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
23272
23273         pthread: fix pthread.h creation for srcdir != builddir
23274         * modules/pthread (Makefile.am): Fix the rule to work also in a
23275         non-srcdir build.
23276
23277 2010-08-13  Karl Berry  <karl@gnu.org>
23278
23279         * doc/regex.texi (Predefined Syntaxes): @smallexample.
23280         * doc/posix-*/*: force line break before @url of POSIX
23281         specifications.
23282         Suggested by Werner Lemberg.
23283
23284 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
23285
23286         strtod: fix const diagnostic
23287         * lib/strtod.c (strtod): Don't assign const char * to char *,
23288         as this elicits a warning from GCC when warnings are enabled.
23289
23290 2010-08-10  Pádraig Brady <P@draigbrady.com>
23291         and Eric Blake  <eblake@redhat.com>
23292
23293         copy-acl: ignore ENOTSUP on HP-UX
23294         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
23295         so that it is available for HP-UX.
23296         * lib/copy-acl.c (qcopy_acl): Use it.
23297         Reported by Patrick M. Callahan.
23298
23299 2010-08-10  Eric Blake  <eblake@redhat.com>
23300
23301         open, chown: relax license
23302         * modules/open (License): Change to LGPLv2+, with consent by all
23303         authors, for use in augeas.
23304         * modules/chown (License): Likewise.
23305         * modules/lchown (Likewise): Likewise.
23306         Requested by Adam Stokes.
23307
23308 2010-08-09  Karl Berry  <karl@gnu.org>
23309
23310         * build-aux/ar-lib: new file, import from Automake.
23311         * config/srclist.txt: autocheck for updates.
23312
23313 2010-08-09  Eric Blake  <eblake@redhat.com>
23314
23315         readlinkat: adjust client modules
23316         * modules/areadlinkat (Depends-on): Use readlinkat, not
23317         symlinkat.
23318         * modules/areadlinkat-with-size (Depends-on): Likewise.
23319
23320         mknod: be more vocal about danger of running tests as root
23321         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
23322         root, since that is just asking for problems.
23323         Suggested by Bruno Haible, based on a report by Rainer Tammer.
23324
23325         readlinkat: split into its own module
23326         * modules/symlinkat: Split readlinkat...
23327         * modules/readlinkat: ...into separate module.
23328         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
23329         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
23330         * lib/symlinkat.c (readlinkat): Move...
23331         * lib/readlinkat.c: ...into new file.
23332         * modules/symlinkat-tests: Split readlinkat test...
23333         * modules/readlinkat-tests: ...into separate module.
23334         * tests/test-symlinkat.c: Split...
23335         * tests/test-readlinkat.c: ...into new file.
23336         * NEWS: Document the split.
23337         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
23338         * lib/unistd.in.h (readlinkat): Likewise.
23339         Suggested by Bruno Haible.
23340
23341 2010-08-08  Bruno Haible  <bruno@clisp.org>
23342
23343         memxfrm: Speed up.
23344         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
23345         that usually only one call to strxfrm is necessary for each string
23346         part.
23347         Reported by Paul Eggert <eggert@cs.ucla.edu>.
23348
23349 2010-08-07  Karl Berry  <karl@gnu.org>
23350
23351         * doc/posix-headers/limits.texi,
23352         * doc/posix-functions/malloc.texi,
23353         * doc/posix-functions/strsignal.texi: missing @item.
23354         * doc/ld-version-script.texi: spurious leading i.
23355         * doc/regex.texi (Interval Operators): no commas inside @var.
23356
23357 2010-08-01  Bruno Haible  <bruno@clisp.org>
23358
23359         Integrate the regex documentation.
23360         * doc/gnulib.texi: Define 'cn' index.
23361         (Regular expressions): New a chapter that includes regex.texi and
23362         regexprops-generic.texi.
23363         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
23364         syntax.
23365
23366         Whitespace cleanup.
23367         * doc/regex.texi: Remove trailing spaces.
23368
23369         Add regex documentation.
23370         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
23371         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
23372         Written by Kathy A. Hargreaves and Karl Berry.
23373
23374 2010-08-01  Bruno Haible  <bruno@clisp.org>
23375
23376         link: Update documentation.
23377         * doc/posix-functions/link.texi: Update regarding Solaris.
23378
23379 2010-07-31  Bruno Haible  <bruno@clisp.org>
23380
23381         Update modules list.
23382         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
23383         (String handling <string.h>): Add memcmp2, memxfrm.
23384         (Container data structures): Add xlist, xsublist, xoset.
23385         (Core language properties): Add alignof, unused-parameter.
23386         (Process control, Numeric conversion functions <stdlib.h>): Renamed
23387         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
23388         (Unibyte characters <ctype.h>): New section.
23389         (String handling <string.h>): New section.
23390         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
23391         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
23392         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
23393         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
23394         tan, tanh, tanl, y0, y1, yn.
23395         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
23396         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
23397         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
23398         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
23399         unlockpt, vdprintf, vdprintf-posix.
23400         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
23401         (File system functions): Add concat-filename, sys_file, sys_ioctl,
23402         xconcat-filename.
23403         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
23404         getdtablesize, pipe2, pipe2-safer.
23405         (Security): New section.
23406         (Networking functions): Add accept4.
23407         (Signal handling): Add sigpipe.
23408         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
23409         mbmemcasecoll.
23410         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
23411         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
23412         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
23413         pipe-filter-ii.
23414         (Misc): Add argp-version-etc, login_tty, parse-duration.
23415
23416 2010-07-31  Bruno Haible  <bruno@clisp.org>
23417
23418         Improve doc in MODULES.html.
23419         * modules/linkat (Description): Add the word "function".
23420         * modules/mkfifo (Description): Likewise.
23421         * modules/mknod (Description): Likewise.
23422         * modules/remove (Description): Likewise.
23423         * modules/renameat (Description): Likewise.
23424         * modules/stat (Description): Likewise.
23425         * modules/symlink (Description): Likewise.
23426         * modules/unlink (Description): Likewise.
23427
23428 2010-07-31  Bruno Haible  <bruno@clisp.org>
23429
23430         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
23431         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
23432         option --enable/disable-c++ instead of --enable/disable-cxx.
23433         * NEWS: Mention the change.
23434
23435 2010-07-31  Bruno Haible  <bruno@clisp.org>
23436
23437         readlink, areadlink: Relax test a bit.
23438         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
23439         alternative to ENOTDIR.
23440         * tests/test-areadlink.h (test_areadlink): Likewise.
23441         Reported by Rainer Tammer.
23442
23443 2010-07-31  Bruno Haible  <bruno@clisp.org>
23444
23445         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
23446         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
23447         character, perform the search using U_STRCHR.
23448         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
23449         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
23450         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
23451         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
23452         Suggested by Paolo Bonzini.
23453
23454 2010-07-31  Bruno Haible  <bruno@clisp.org>
23455
23456         unistr/u*-strstr: Fix dependencies.
23457         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
23458         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
23459         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
23460
23461 2010-07-31  Bruno Haible  <bruno@clisp.org>
23462
23463         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
23464         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
23465         the beginning of the loop.
23466         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
23467         cases in 'switch' statement.
23468
23469         unistr/u8-strchr: Fix several bugs.
23470         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
23471         the string. When not found, return NULL, not a pointer near the end.
23472
23473         More tests for unistr/u8-strchr.
23474         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
23475         that the function does not read past the first occurrence of the byte
23476         being searched.
23477         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
23478         * tests/unistr/test-u16-strchr.c (main): New function.
23479         * tests/unistr/test-u32-strchr.c (main): New function.
23480
23481 2010-07-31  Bruno Haible  <bruno@clisp.org>
23482
23483         posix-modules: Ignore backup files of documentation files.
23484         * posix-modules: grep only through files named *.texi.
23485
23486 2010-07-31  Bruno Haible  <bruno@clisp.org>
23487
23488         symlinkat: Fix documentation.
23489         * doc/posix-functions/readlinkat.texi: Fix module name.
23490
23491 2010-07-31  Bruno Haible  <bruno@clisp.org>
23492
23493         fchownat: Replace also when chown has the trailing slash bug.
23494         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
23495         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
23496         introduced on 2010-04-10.
23497         Reported by Rainer Tammer.
23498
23499 2010-07-31  Bruno Haible  <bruno@clisp.org>
23500
23501         linkat: Work around AIX 7.1 bug.
23502         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
23503         whether linkat handles trailing slash correctly. If not, replace linkat
23504         and define LINKAT_TRAILING_SLASH_BUG.
23505         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
23506         check whether (fd1,file1) points to a directory if file1 or file2 ends
23507         in a slash. Code taken from lib/link.c.
23508         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
23509         Reported by Rainer Tammer.
23510
23511 2010-07-31  Bruno Haible  <bruno@clisp.org>
23512
23513         Correctly determine whether pow is available in libc on AIX 7 with xlc.
23514         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
23515         This disables an xlc optimization that was causing wrong test results.
23516         Reported by Rainer Tammer.
23517
23518 2010-07-31  Bruno Haible  <bruno@clisp.org>
23519
23520         iconv: Work around AIX 6.1..7.1 bug.
23521         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
23522         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
23523         cross-compiling, guess no on all versions of AIX.
23524         Reported by Rainer Tammer.
23525
23526 2010-07-31  Bruno Haible  <bruno@clisp.org>
23527
23528         readlink: Relax test a bit.
23529         * tests/test-readlink.h (test_readlink): Allow different errno value
23530         when readlink is called with a file name that ends in / and refers to
23531         a file.
23532         Suggested by Eric Blake.
23533         Reported by Rainer Tammer.
23534
23535 2010-07-31  Bruno Haible  <bruno@clisp.org>
23536
23537         copysign: Does not require -lm on glibc systems.
23538         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
23539         gl_COMMON_DOUBLE_MATHFUNC.
23540         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
23541
23542 2010-07-31  Bruno Haible  <bruno@clisp.org>
23543
23544         duplocale: Work around AIX 7.1 bug.
23545         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
23546         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
23547         * lib/duplocale.c (rpl_duplocale): Update comment.
23548         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
23549         Reported by Rainer Tammer.
23550
23551 2010-07-30  Bruno Haible  <bruno@clisp.org>
23552
23553         dirfd: Avoid link error on AIX 7.1.
23554         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
23555         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
23556         exist, set REPLACE_DIRFD.
23557         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
23558         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
23559         * doc/posix-functions/dirfd.texi: Update.
23560         Reported by Rainer Tammer.
23561
23562 2010-07-30  Eric Blake  <eblake@redhat.com>
23563
23564         strtod: next round of AIX fixes
23565         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
23566         exponent.
23567         * tests/test-strtod.c (main): Enhance tests.
23568         * doc/posix-functions/strtod.texi (strtod): Document next bug.
23569         Reported by Rainer Tammer.
23570
23571         futimens: fix configure check
23572         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
23573         Reported by Bruno Haible.
23574
23575 2010-07-30  Bruno Haible  <bruno@clisp.org>
23576
23577         getline: Update regarding AIX.
23578         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
23579         Reported by Rainer Tammer.
23580
23581 2010-07-30  Bruno Haible  <bruno@clisp.org>
23582
23583         wcwidth: Drop replacement on AIX 7.
23584         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
23585         AIX 7.
23586         Reported by Rainer Tammer.
23587
23588 2010-07-30  Bruno Haible  <bruno@clisp.org>
23589
23590         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
23591         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
23592         a 'char *'.
23593         Reported by Rainer Tammer.
23594
23595 2010-07-30  Bruno Haible  <bruno@clisp.org>
23596
23597         unlink: Update regarding AIX.
23598         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
23599         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
23600         Reported by Rainer Tammer.
23601
23602 2010-07-30  Bruno Haible  <bruno@clisp.org>
23603
23604         symlink: Update regarding AIX.
23605         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
23606         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
23607         Reported by Rainer Tammer.
23608
23609 2010-07-30  Bruno Haible  <bruno@clisp.org>
23610
23611         strndup: Update regarding AIX.
23612         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
23613         AIX 7.
23614         Reported by Rainer Tammer.
23615
23616 2010-07-30  Bruno Haible  <bruno@clisp.org>
23617
23618         stat: Update regarding AIX.
23619         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
23620         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
23621         Reported by Rainer Tammer.
23622
23623 2010-07-30  Bruno Haible  <bruno@clisp.org>
23624
23625         truncl: Fix autoconf test.
23626         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
23627         whether truncl works.
23628         Reported by Rainer Tammer.
23629
23630 2010-07-30  Bruno Haible  <bruno@clisp.org>
23631
23632         round: Update regarding AIX.
23633         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
23634         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
23635         Reported by Rainer Tammer.
23636
23637 2010-07-30  Bruno Haible  <bruno@clisp.org>
23638
23639         rename: Update regarding AIX.
23640         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
23641         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
23642         Reported by Rainer Tammer.
23643
23644 2010-07-30  Bruno Haible  <bruno@clisp.org>
23645
23646         printf.m4: Update regarding AIX.
23647         * m4/printf.m4: Update comments regarding AIX.
23648         Reported by Rainer Tammer.
23649
23650 2010-07-30  Bruno Haible  <bruno@clisp.org>
23651
23652         iconv: Update regarding AIX.
23653         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
23654         AIX 7.
23655         Reported by Rainer Tammer.
23656
23657 2010-07-30  Bruno Haible  <bruno@clisp.org>
23658
23659         getopt: Update regarding AIX.
23660         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
23661         no on AIX.
23662         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
23663         Reported by Rainer Tammer.
23664
23665 2010-07-30  Bruno Haible  <bruno@clisp.org>
23666
23667         ldexpl; Update regarding AIX.
23668         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
23669         on AIX 7.
23670         Reported by Rainer Tammer.
23671
23672 2010-07-30  Bruno Haible  <bruno@clisp.org>
23673
23674         frexpl: Update regarding AIX.
23675         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
23676         on AIX 7.
23677         Reported by Rainer Tammer.
23678
23679 2010-07-30  Bruno Haible  <bruno@clisp.org>
23680
23681         open, fopen: Update regarding AIX.
23682         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
23683         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
23684         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
23685         * doc/posix-functions/fopen.texi: Likewise.
23686         Reported by Rainer Tammer.
23687
23688 2010-07-30  Bruno Haible  <bruno@clisp.org>
23689
23690         chown: Update doc regarding AIX.
23691         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
23692         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
23693         Reported by Rainer Tammer.
23694
23695 2010-07-30  Eric Blake  <eblake@redhat.com>
23696
23697         strtod: fix bug in replacement function on AIX
23698         * lib/strtod.c (strtod): Special case broken "0x" parse in
23699         underlying strtod.
23700         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
23701         * doc/posix-functions/strtod.texi (strtod): Likewise.
23702         Reported by Rainer Tammer.
23703
23704 2010-07-30  Bruno Haible  <bruno@clisp.org>
23705
23706         mbrlen: Fix cross-compilation guess for AIX.
23707         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
23708         guess. Leftover from 2008-12-22.
23709
23710 2010-07-30  Bruno Haible  <bruno@clisp.org>
23711
23712         mbrtowc: Fix cross-compilation guess for AIX.
23713         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
23714         guess. Leftover from 2008-12-21.
23715
23716 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
23717
23718         init.sh: work around trap limitation of some shells
23719         * tests/init.sh (setup_): Move exit trap outside of shell function.
23720
23721 2010-07-29  Eric Blake  <eblake@redhat.com>
23722
23723         strtod: aid debugging
23724         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
23725         understanding why strtod is rejected.
23726
23727 2010-07-28  Bruno Haible  <bruno@clisp.org>
23728
23729         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
23730         * lib/unistr/u8-chr.c: Include <string.h>.
23731         * tests/unistr/test-u8-chr.c: Likewise.
23732         * tests/unistr/test-u16-chr.c: Likewise.
23733         * tests/unistr/test-u32-chr.c: Likewise.
23734         * tests/unistr/test-u8-strchr.c: Likewise.
23735         * tests/unistr/test-u16-strchr.c: Likewise.
23736         * tests/unistr/test-u32-strchr.c: Likewise.
23737         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
23738         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
23739         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
23740         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
23741
23742 2010-07-28  Bruno Haible  <bruno@clisp.org>
23743
23744         Use spaces for indentation, not tabs.
23745         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
23746
23747 2010-07-27  Bruno Haible  <bruno@clisp.org>
23748
23749         mbspcasecmp: Fix function specification.
23750         * lib/string.in.h (mbspcasecmp): Fix specification comment.
23751         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
23752         Reported by Eric Blake <eblake@redhat.com>.
23753
23754 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
23755
23756         timespec: use cast and not conditional, as truncation isn't possible
23757         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
23758         instead of a conditional.  Comment about the situation in more detail.
23759         This undoes most of the 2009-10-29 patch.
23760
23761 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
23762
23763         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
23764         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
23765         * lib/unistr/u8-strchr.c: Likewise.
23766         * modules/unistr/u8-chr: Depend on memchr.
23767
23768         unistr/u*-strchr: add tests
23769         * modules/unistr/u8-strchr-tests: New file.
23770         * modules/unistr/u16-strchr-tests: New file.
23771         * modules/unistr/u32-strchr-tests: New file.
23772         * tests/unistr/test-strchr.h: New file.
23773         * tests/unistr/test-u8-strchr.c: New file.
23774         * tests/unistr/test-u16-strchr.c: New file.
23775         * tests/unistr/test-u32-strchr.c: New file.
23776
23777         unistr/u*-chr: test multibyte sequences more
23778         * tests/unistr/test-chr.h: Do complete testing of the characters in the
23779         test vector.
23780         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
23781         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
23782         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
23783
23784         unistr/u*-chr: test multibyte sequences
23785         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
23786
23787         unistr/u*-chr: prepare for multibyte tests
23788         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
23789         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
23790         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
23791         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
23792         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
23793         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
23794
23795 2010-07-18  Bruno Haible  <bruno@clisp.org>
23796
23797         unistr/u8-strchr: Optimize non-ASCII argument case.
23798         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
23799         because the first byte often matches anyway.
23800         Reported by Pádraig Brady <P@draigbrady.com>.
23801
23802 2010-07-15  Karl Berry  <karl@gnu.org>
23803
23804         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
23805
23806 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
23807
23808         getcwd: on Solaris, work better if ancestors are inaccessible
23809         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
23810         buffer and size, try again with a large buffer.  This works better
23811         on Solaris, since its getcwd succeeds even if the path to the root
23812         is inaccessible, and this is helpful in common cases such as .zfs
23813         hidden directories.  Problem reported by J Chapman Flack in
23814         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
23815         Use system getcwd if it's declared, not merely if it's partly
23816         working; use the partly-working test only to avoid needless effort
23817         if the system getcwd fails.
23818         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
23819         comment that was already obsolete and is now even more obsolete.
23820         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
23821         now might call strdup.
23822
23823 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
23824
23825         pthread: Add enough so that coreutils/src/sort.c compiles.
23826         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
23827         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
23828         gnulib. Include <sched.h> and <time.h>, as per POSIX.
23829         Include <sys/types.h>, in case it defines pthread_t.
23830         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
23831         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
23832         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
23833         (pthread_rwlockattr_t, pthread_spinlock_t):
23834         New typedefs, if HAVE_PTHREAD_T is not defined.
23835         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
23836         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
23837         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
23838         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
23839         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
23840         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
23841         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
23842         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
23843         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
23844         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
23845         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
23846         New macros.
23847         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
23848         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
23849         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
23850         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
23851         (pthread_spin_unlock): New dummy functions.
23852         (pthread_create): Return EAGAIN; don't set errno.
23853         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
23854         require AC_C_INLINE.
23855         * modules/pthread (Depends-on): Add sched, time.
23856         (pthread.h): Use AM_V_GEN.
23857
23858 2010-07-13  Bruno Haible  <bruno@clisp.org>
23859
23860         striconveh: Don't malloc memory if the result buffer is sufficient.
23861         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
23862         buffer if its size is sufficient.
23863         Reported by Ludovic Courtès <ludo@gnu.org>.
23864
23865 2010-07-13  Bruno Haible  <bruno@clisp.org>
23866
23867         strtod: Add safety check.
23868         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
23869
23870 2010-07-12  Bruno Haible  <bruno@clisp.org>
23871
23872         Unify tests that set gl_cv_func_ldexpl_no_libm.
23873         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
23874         gl_FUNC_LDEXPL.
23875         (gl_FUNC_LDEXPL): Invoke it.
23876         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
23877
23878 2010-07-12  Bruno Haible  <bruno@clisp.org>
23879
23880         Unify tests that set gl_cv_func_ldexp_no_libm.
23881         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
23882         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
23883         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
23884         (configure.ac): Simply invoke gl_FUNC_LDEXP.
23885         * modules/strtod (Files): Add m4/ldexp.m4.
23886
23887 2010-07-12  Bruno Haible  <bruno@clisp.org>
23888
23889         Unify tests that set gl_cv_func_frexpl_no_libm.
23890         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
23891         gl_FUNC_FREXPL_NO_LIBM.
23892         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
23893         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
23894
23895 2010-07-12  Bruno Haible  <bruno@clisp.org>
23896
23897         Unify tests that set gl_cv_func_frexp_no_libm.
23898         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
23899         gl_FUNC_FREXP_NO_LIBM.
23900         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
23901         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
23902
23903 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
23904
23905         memcoll: clarify sizes versus lengths, document better, and tweak perf
23906         * lib/memcoll.c (strcoll_loop, memcoll0):
23907         Improve quality of descriptive comments.  Name variables
23908         consistently as to whether they are lengths (which do not include
23909         terminating null) versus sizes (which do).
23910         * lib/xmemcoll.c (xmemcoll0): Likewise.
23911         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
23912         returned when s1size == 0; this is easier to compile and saves
23913         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
23914
23915 2010-07-12  Bruno Haible  <bruno@clisp.org>
23916
23917         Tests for module '_Exit'.
23918         * modules/_Exit-tests: New file.
23919         * tests/test-_Exit.sh: New file.
23920         * tests/test-_Exit.c: New file.
23921
23922         New module '_Exit'.
23923         * lib/stdlib.in.h (__attribute__): New macro.
23924         (_Exit): New declaration.
23925         * lib/_Exit.c: New file.
23926         * m4/_Exit.m4: New file.
23927         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
23928         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
23929         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
23930         * modules/_Exit: New file.
23931         * tests/test-stdlib-c++.cc (_Exit): Check signature.
23932         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
23933
23934 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
23935
23936         strtod: make it more-accurate typically, and don't require libm
23937         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
23938         Include limits.h.  Don't include string.h.
23939         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
23940         (locale_isspace): New function, so that no casts are needed to
23941         check whether *s is a space.
23942         (ldexp): Provide an unused dummy if not available.
23943         (scale_radix_exp, parse_number, underlying_strtod): New functions.
23944         (strtod): Use them.  This implementation prefers to use the
23945         underlying strtod if available, falling back on our own code
23946         only to fix known bugs.  This is more likely to produce an
23947         accurate result.  Also, it avoids the use of libm functions.
23948         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
23949         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
23950         was absent, but it caused a test failure with coreutils.
23951         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
23952         with libm.
23953         * modules/strtod (Makefile.am, Link): libm is no longer needed.
23954         * modules/strtod-tests (Makefile.am): Likewise.
23955
23956 2010-07-11  Pádraig Brady  <P@draigBrady.com>
23957             Bruno Haible  <bruno@clisp.org>
23958
23959         unistr/u8-strchr: Optimize ASCII argument case.
23960         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
23961
23962 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
23963
23964         (x)memcoll: minor tweaks
23965         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
23966         is after the type that it qualifies.
23967         (memcoll0): Likewise.
23968         * lib/memcoll.h (memcoll0): Likewise.
23969         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
23970         * lib/xmemcoll.h (xmemcoll0): Likewise.
23971         * lib/memcoll.c (memcoll0): Correct the comment.  This function
23972         differs from memcoll in that the NUL byte is part of the argument.
23973         Omit the abort-checks, as performance is a real issue here.  Plus,
23974         the checks were wrong anyway (an off-by-one error).  Omit local
23975         variable 'diff', as it's a bit clearer that way.
23976         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
23977         no longer needed.
23978
23979 2010-07-08  Chen Guo <chenguo4@yahoo.com>
23980
23981         (x)memcoll: speedup when input is known to be NUL delimited
23982         * lib/memcoll.c: Include stdlib.
23983         (memcoll0): New function.
23984         (strcoll_loop): New function, refactored for use in both memcoll
23985         and memcoll0.
23986         * lib/memcoll.h (memcoll0): Add prototype.
23987         * lib/xmemcoll.c (xmemcoll0): New function.
23988         (collate_error): New function, refactored for use in both xmemcoll
23989         and xmemcoll0.
23990         * lib/xmemcoll.h (xmemcoll0): Add prototype.
23991         * m4/memcoll.m4: add inline invocation.
23992
23993 2010-07-06  Pádraig Brady  <P@draigBrady.com>
23994
23995         * build-aux/bootstrap: Remove any local translations
23996         from the translation project synchronization directory,
23997         so that local only translations are not distributed.
23998
23999 2010-07-04  Bruno Haible  <bruno@clisp.org>
24000
24001         fsusage: Clarify which code applies to which platforms.
24002         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
24003         platform.
24004         * lib/fsusage.c (get_fs_usage): Likewise.
24005
24006 2010-07-04  Bruno Haible  <bruno@clisp.org>
24007
24008         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
24009         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
24010         Reported by Martin Lambers <marlam@marlam.de>.
24011
24012 2010-07-04  Jim Meyering  <meyering@redhat.com>
24013
24014         hash: once again explicitly disallow insertion of NULL
24015         * lib/hash.c (hash_insert0): Reinstate just-removed test:
24016         inserting a NULL pointer cannot work with these functions.
24017         Add a comment with details.
24018         This reverts part of the 2010-07-01 commit, 5bef1a35
24019         "hash: extend module to deal with non-pointer keys".
24020
24021 2010-07-01  Bruno Haible  <bruno@clisp.org>
24022
24023         stdbool: Update doc.
24024         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
24025         Info from Christian Weisgerber <naddy@mips.inka.de>.
24026
24027 2010-07-01  Jim Meyering  <meyering@redhat.com>
24028
24029         hash: extend module to deal with non-pointer keys
24030         * lib/hash.c (hash_insert0): New interface, much like hash_insert
24031         but that allows insertion of non-pointer entries.
24032         Do not disallow an ENTRY value of NULL.
24033         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
24034         * lib/hash.h (hash_insert0): Declare.
24035
24036 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
24037
24038         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
24039         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
24040         not present (i.e. with autoconf 2.59 and when using gettextize, not
24041         gnulib), require AC_GNU_SOURCE instead.
24042
24043 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
24044
24045         idpriv-drop: Fix tests.
24046         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
24047         not to the test-idpriv-droptemp program.
24048
24049 2010-06-29  Bruno Haible  <bruno@clisp.org>
24050
24051         string: Fix syntax error with g++ 2.96.
24052         * lib/string.in.h (__pure__): Remove definition.
24053         (_GL_ATTRIBUTE_PURE): New macro.
24054         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
24055         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
24056         Reported by Christian Weisgerber <naddy@mips.inka.de>.
24057
24058 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
24059
24060         unitypes: Fix bug introduced on 2010-05-18.
24061         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
24062
24063 2010-06-22  Eric Blake  <eblake@redhat.com>
24064
24065         memmem: slight optimization
24066         * lib/str-two-way.h (critical_factorization): Update comments.
24067         Reduce work during factorization phase.
24068         Reported by Carlos Bueno <carlos@bueno.org>.
24069
24070 2010-06-21  Bruno Haible  <bruno@clisp.org>
24071
24072         Fix HAVE_CALLOC_POSIX misnomer.
24073         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
24074         !HAVE_CALLOC_POSIX.
24075         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
24076         HAVE_CALLOC_POSIX.
24077         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
24078         instead of HAVE_CALLOC_POSIX.
24079         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
24080         HAVE_CALLOC_POSIX.
24081
24082         Use modern idiom for calloc() replacement.
24083         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
24084         AC_FUNC_CALLOC.
24085         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
24086         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
24087         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
24088         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
24089         (gl_REPLACE_CALLOC): New macro.
24090
24091 2010-06-21  Bruno Haible  <bruno@clisp.org>
24092
24093         Fix HAVE_REALLOC_POSIX misnomer.
24094         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
24095         !HAVE_REALLOC_POSIX.
24096         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
24097         HAVE_REALLOC_POSIX.
24098         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
24099         instead of HAVE_REALLOC_POSIX.
24100         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
24101         HAVE_REALLOC_POSIX.
24102
24103         Use modern idiom for realloc() replacement.
24104         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
24105         AC_FUNC_REALLOC.
24106         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
24107         Autoconf's AC_FUNC_REALLOC.
24108         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
24109         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
24110         (gl_REPLACE_REALLOC): New macro.
24111         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
24112
24113 2010-06-21  Bruno Haible  <bruno@clisp.org>
24114
24115         Fix HAVE_MALLOC_POSIX misnomer.
24116         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
24117         !HAVE_MALLOC_POSIX.
24118         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
24119         HAVE_MALLOC_POSIX.
24120         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
24121         instead of HAVE_MALLOC_POSIX.
24122         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
24123         HAVE_MALLOC_POSIX.
24124
24125         Use modern idiom for malloc() replacement.
24126         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
24127         AC_FUNC_MALLOC.
24128         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
24129         Autoconf's AC_FUNC_MALLOC.
24130         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
24131         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
24132         (gl_REPLACE_MALLOC): New macro.
24133         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
24134
24135 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
24136
24137         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
24138         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
24139         This macro takes 3 arguments, not 4.
24140
24141 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
24142
24143         ipv6: fix detection under mingw
24144         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
24145         in6_addr.
24146
24147 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
24148
24149         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
24150         that strtod() works when cross-compiling to a glibc version known
24151         to work.
24152
24153 2010-06-15  Bruno Haible  <bruno@clisp.org>
24154
24155         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
24156
24157 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
24158
24159         select: Correct timeout.
24160         * lib/select.c (rpl_select): Compute wait_timeout correctly.
24161
24162 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
24163
24164         git-version-gen: init shell var to avoid env var influence
24165         * build-aux/git-version-gen (v): Init shell var to empty.
24166
24167 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
24168
24169         priv-set: Don't assume that priv.h exists merely because getppriv does.
24170         See Jan Andersen's bug report about AIX 5L in
24171         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
24172         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
24173         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
24174         * lib/priv-set.h: Likewise.
24175         * tests/test-priv-set.c: Likewise.
24176
24177 2010-06-13  Bruno Haible  <bruno@clisp.org>
24178
24179         relocatable: Make it easier to test whether to install wrappers.
24180         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
24181         RELOCATABLE_VIA_WRAPPER.
24182
24183 2010-06-13  Bruno Haible  <bruno@clisp.org>
24184
24185         gnulib-tool: Display specified modules and dependencies differently.
24186         * gnulib-tool (func_show_module_list): New function.
24187         (func_import, func_create_testdir): Invoke it.
24188         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
24189
24190 2010-06-13  Bruno Haible  <bruno@clisp.org>
24191
24192         gnulib-tool: Align code of func_import and func_create_testdir.
24193         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
24194         specified_modules.
24195
24196 2010-06-12  Jim Meyering  <meyering@redhat.com>
24197
24198         test-inttostr: avoid spurious failure on Solaris 9
24199         * tests/test-inttostr.c (main): Skip the test when snprintf fails
24200         to accept "%ju".  Reported by Bruno Haible.
24201
24202 2010-06-11  Jim Meyering  <meyering@redhat.com>
24203
24204         test-sys_socket: mark variables as used more readably
24205         * tests/test-sys_socket.c (main): Mark otherwise unused variables
24206         as "used" explicitly via (void) statement casts.  This is more
24207         readable than using them in an artificial return expression.
24208         Suggestion from Bruno Haible.
24209
24210 2010-06-11  Bruno Haible  <bruno@clisp.org>
24211
24212         Avoid some more warnings from "gcc -Wwrite-strings".
24213         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
24214         to 'const char *'.
24215         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
24216         * tests/test-c-strcasestr.c (main): Likewise.
24217         * tests/test-mbscasestr1.c (main): Likewise.
24218         * tests/test-mbscasestr2.c (main): Likewise.
24219         * tests/test-memmem.c (main): Likewise.
24220         * tests/test-strstr.c (main): Likewise.
24221         * tests/test-strcasestr.c (main): Likewise.
24222
24223 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24224
24225         init.sh: change framework_failure_ to fail with status 99, not 1
24226         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
24227         automake's parallel-tests rule that this is an unexpected failure,
24228         even if the test is listed in XFAIL_TESTS.
24229
24230 2010-06-11  Jim Meyering  <meyering@redhat.com>
24231
24232         test-inttostr: avoid warnings about 4-6KB literal strings
24233         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
24234         Include "macros.h", for its definition of ASSERT.
24235         (CK): s/assert/ASSERT/
24236         * modules/inttostr-tests (Files): Add macros.h.
24237
24238         init.sh: don't use $ME_ or skip_ before they are defined
24239         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
24240         their first uses.  Also hoist their companions: warn_, fail_,
24241         framework_failure_, $stderr_fileno.  Prompted by a patch from
24242         Stefano Lattarini.
24243
24244         test-sys_socket: avoid set-but-not-used warnings from gcc
24245         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
24246         avoid warning about set-but-not-used variables.
24247
24248         test-xvasprintf: avoid 'const' discard warnings
24249         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
24250         "const" when assigning from literal strings.
24251         (test_xasprintf): Add "void" in function argument list to placate
24252         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
24253
24254         tests: avoid compilation warnings in argmatch and exclude tests...
24255         in packages that define ARGMATCH_DIE_DECL, like coreutils.
24256         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
24257         Since it always exits, declare with the "noreturn" attribute.
24258         * tests/test-argmatch.c: Likewise.
24259
24260         tests: avoid 'const' discard warnings in mbsstr tests
24261         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
24262         * tests/test-mbsstr2.c (main): Likewise.
24263
24264         test-verify: avoid warning from gcc's -Wmissing-declarations
24265         * tests/test-verify.c (function): Declare to be static.
24266
24267         test-inttostr.c: include <string.h> for use of strcmp
24268         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
24269
24270         test-linkat: avoid failed assertion on "other" architectures
24271         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
24272         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
24273         sparc: https://bugs.launchpad.net/bugs/591968
24274
24275 2010-06-11  Jim Meyering  <meyering@redhat.com>
24276
24277         printf.m4: avoid autoconf's "Expanded Before Required" warning
24278         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
24279         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
24280         autoconf warning.
24281
24282 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
24283
24284         Replacement header templates are now named with ".in", not "_".
24285         * doc/gnulib-intro.texi: Correct.
24286
24287 2010-06-10  Jim Meyering  <meyering@redhat.com>
24288
24289         inttostr-tests: depend on snprintf, not snprintf-posix
24290         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
24291         snprintf-posix, to avoid this aclocal failure:
24292           missing file gnulib-tests/vasnprintf.c
24293           configure.ac:45: error: expected source file, required through \
24294           AC_LIBSOURCES, not found
24295
24296 2010-06-10  Jim Meyering  <meyering@redhat.com>
24297
24298         inttostr: add a new function, inttostr, and tests
24299         The namesake function was not available.  The existence of the
24300         template file, inttostr.c makes its addition nontrivial.
24301         * lib/anytostr.c: Rename from inttostr.c.
24302         (anytostr): Rename from inttostr.
24303         * lib/inttostr.c: New file.
24304         * modules/inttostr (Files): Add anytostr.c.
24305         (Makefile.am): Set lib_SOURCES instead of ...
24306         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
24307         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
24308         * lib/offtostr.c: Likewise.
24309         * lib/uinttostr.c: Likewise.
24310         * lib/umaxtostr.c: Likewise.
24311         * modules/inttostr-tests: New file.
24312         * tests/test-inttostr.c: New file.  Test these functions.
24313
24314 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
24315             Bruno Haible  <bruno@clisp.org>
24316
24317         Add "Extending Gnulib" chapter to manual.
24318         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
24319         chapter.
24320         (Extending Gnulib): New chapter.
24321         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
24322         chapter.
24323
24324 2010-06-09  Bruno Haible  <bruno@clisp.org>
24325
24326         Avoid relocwrapper link errors due to gnulib replacement functions.
24327         * lib/areadlink.c: Use the system's malloc, realloc functions.
24328         (areadlink): Set errno to ENOMEM explicitly.
24329         * modules/areadlink (Depends-on): Remove malloc-posix.
24330         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24331
24332 2010-06-09  Bruno Haible  <bruno@clisp.org>
24333
24334         Avoid relocwrapper link errors due to gnulib replacement functions.
24335         * lib/canonicalize-lgpl.c: Use the system's malloc function.
24336         * lib/malloca.c: Likewise.
24337         * lib/relocatable.c: Likewise.
24338         * lib/progreloc.c: Use the system's malloc, sprintf functions.
24339         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
24340         * lib/setenv.c: Use the system's malloc, realloc functions.
24341         * lib/strerror.c: Use the system's sprintf function.
24342         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24343
24344 2010-06-04  Bruno Haible  <bruno@clisp.org>
24345
24346         Prefer documented low-level autoconf macro names.
24347         * m4/lib-link.m4: Use m4_translit instead of translit.
24348         * m4/environ.m4: Likewise.
24349         * m4/mathfunc.m4: Likewise.
24350         * m4/onceonly.m4: Likewise.
24351         * m4/stdint.m4: Likewise.
24352         Suggested by Eric Blake.
24353
24354 2010-06-04  Martin Lambers  <marlam@marlam.de>
24355             Bruno Haible  <bruno@clisp.org>
24356
24357         havelib: Allow library names with '+' characters.
24358         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
24359         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
24360
24361 2010-06-09  Bruno Haible  <bruno@clisp.org>
24362
24363         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
24364         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
24365         realloc failed.
24366
24367 2010-06-08  Peter Simons  <simons@cryp.to>
24368
24369         maint.mk: make the news-check rule more configurable
24370         * top/maint.mk (news-check-lines-spec): New variable.
24371         (news-check): Use "sed -n 1,10p" in place of "head".
24372
24373 2010-06-07  Jim Meyering  <meyering@redhat.com>
24374
24375         do-release-commit-and-tag: fix typo in --help
24376         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
24377
24378         regex: avoid new dead-code warning with gcc-4.6.0
24379         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
24380         if-block containing a while-loop.  It's been unused for at least
24381         5 years.
24382
24383 2010-06-05  Bruno Haible  <bruno@clisp.org>
24384
24385         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
24386         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
24387
24388 2010-06-04  Bruno Haible  <bruno@clisp.org>
24389
24390         Update to GNU gettext 0.18.1.
24391         * modules/gettext (configure.ac): Require gettext infrastructure from
24392         version 0.18.1.
24393
24394 2010-06-03  Bruno Haible  <bruno@clisp.org>
24395
24396         Don't use AC_LIBOBJ with file names in subdirectories.
24397         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
24398         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
24399         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
24400         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
24401         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
24402         gl_LIBUNISTRING_LIBSOURCE.
24403         (Makefile.am): Augment lib_SOURCES here, conditionally.
24404         * NEWS: Drop requirement for Automake option 'subdir-objects'.
24405
24406 2010-06-03  Bruno Haible  <bruno@clisp.org>
24407
24408         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
24409         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
24410         expansion does not end with a newline.
24411         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
24412         unnecessary newline.
24413
24414 2010-06-03  Bruno Haible  <bruno@clisp.org>
24415
24416         Reduce dependencies.
24417         * tests/test-quotearg.h: New file, extracted from
24418         tests/test-quotearg.c.
24419         * tests/test-quotearg-simple.c: New file, extracted from
24420         tests/test-quotearg.c.
24421         * tests/test-quotearg.c: Don't include <ctype.h>.
24422         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
24423         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
24424         use_quote_double_quotes, use_quotearg_colon): Moved to
24425         tests/test-quotearg.h.
24426         (results_g, flag_results, custom_quotes, custom_results): Moved
24427         to tests/test-quotearg-simple.c.
24428         (main): Moved the part that does not depend on gettext to
24429         tests/test-quotearg-simple.c. Return 77 if the test cannot be
24430         performed.
24431         * modules/quotearg-simple: New file.
24432         * modules/quotearg-simple-tests: New file.
24433         * modules/quotearg (Depends-on): Add quotearg-simple.
24434         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
24435         (Files): Add tests/test-quotearg.h.
24436         Reported by Paolo Bonzini.
24437
24438 2010-06-03  Bruno Haible  <bruno@clisp.org>
24439
24440         Reduce dependencies.
24441         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
24442
24443 2010-06-03  Bruno Haible  <bruno@clisp.org>
24444
24445         time: Undefine more broken macros.
24446         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
24447         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
24448         Reported by Eric Blake.
24449
24450 2010-06-03  Bruno Haible  <bruno@clisp.org>
24451
24452         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
24453         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
24454         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
24455         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
24456         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
24457         Reported by Ludovic Courtès <ludo@gnu.org>.
24458
24459 2010-06-02  Eric Blake  <eblake@redhat.com>
24460
24461         time: work with mingw + pthreads-win32 library
24462         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
24463         if timespec is defined only in pthread.h.
24464         * modules/time (Makefile.am): Substitute it.
24465         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
24466         <pthread.h>, when needed.
24467         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
24468         from the library.
24469
24470 2010-05-31  Bruno Haible  <bruno@clisp.org>
24471
24472         Avoid expanding two macros in the wrong order.
24473         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
24474         gl_LIBUNISTRING if it is defined.
24475         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
24476         autoconf >= 2.64.
24477         Reported by Ludovic Courtès <ludo@gnu.org>.
24478
24479 2010-05-27  Jim Meyering  <meyering@redhat.com>
24480
24481         maint.mk: also prohibit "#undef" of always-defined symbols
24482         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
24483         Allow more than one space before the symbol name.
24484         (sc_prohibit_always-defined_macros): Use grep's -E, now that
24485         the regexp uses alternation.
24486
24487 2010-05-26  Eric Blake  <eblake@redhat.com>
24488
24489         maint.mk: avoid echo -e
24490         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
24491         Convert all uses of echo -* to printf.
24492         Reported by Matthias Bolte.
24493
24494 2010-05-25  Bruno Haible  <bruno@clisp.org>
24495
24496         Update to GNU gettext 0.18, part 2.
24497         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
24498         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
24499
24500 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24501
24502         Add missing include in test-pwrite.c.
24503         * tests/test-pwrite.c: Include string.h, for strcmp.
24504
24505 2010-05-24  Bruno Haible  <bruno@clisp.org>
24506
24507         * NEWS: Mention requirement for Automake option 'subdir-objects'.
24508
24509 2010-05-24  Bruno Haible  <bruno@clisp.org>
24510
24511         Don't use conversion with transliteration in u{8,16,32}_strcoll.
24512         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
24513         iconveh_error argument.
24514         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
24515         U_STRCONV_TO_LOCALE.
24516         * lib/unistr/u16-strcoll.c: Likewise.
24517         * lib/unistr/u32-strcoll.c: Likewise.
24518         * modules/unistr/u8-strcoll (Depends-on): Add
24519         uniconv/u8-strconv-to-enc, localcharset. Remove
24520         uniconv/u8-strconv-to-locale.
24521         (configure.ac): Bump version number.
24522         * modules/unistr/u16-strcoll (Depends-on): Add
24523         uniconv/u16-strconv-to-enc, localcharset. Remove
24524         uniconv/u16-strconv-to-locale.
24525         (configure.ac): Bump version number.
24526         * modules/unistr/u32-strcoll (Depends-on): Add
24527         uniconv/u32-strconv-to-enc, localcharset. Remove
24528         uniconv/u32-strconv-to-locale.
24529         (configure.ac): Bump version number.
24530
24531 2010-05-24  Bruno Haible  <bruno@clisp.org>
24532
24533         Avoid a test failure on NetBSD 5.0.
24534         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
24535         an iconv() bug.
24536
24537 2010-05-24  Bruno Haible  <bruno@clisp.org>
24538
24539         Adjust #include directive style.
24540         * modules/regex (Includes): Recommend to write <regex.h>.
24541
24542 2010-05-24  Bruno Haible  <bruno@clisp.org>
24543
24544         regex: Don't require alloca.
24545         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
24546         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
24547         only inside if (0).
24548
24549 2010-05-23  Jim Meyering  <meyering@redhat.com>
24550
24551         test-renameat.c: include <sys/stat.h>
24552         * tests/test-renameat.c: Include <sys/stat.h>; required for
24553         definition of S_IS* macros.
24554
24555 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
24556
24557         Update maintainer documentation for 'relocatable-prog' module.
24558         * doc/relocatable-maint.texi: Update.
24559         Comments by Bruno Haible.
24560
24561 2010-05-23  Bruno Haible  <bruno@clisp.org>
24562
24563         git-merge-changelog: Enable --split-merged-entry by default.
24564         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
24565         (usage): Don't mention this option any more.
24566         Reported by Ralf Wildenhues.
24567
24568 2010-05-23  Jim Meyering  <meyering@redhat.com>
24569
24570         test-pwrite: do not leave behind a test file named "out"
24571         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
24572         The trivial-looking use of init.sh is really necessary.
24573         It ensures that the temporary file, "out", is created in
24574         a temporary directory, and removed upon termination.
24575         * tests/test-pwrite.sh: Re-add file.
24576         * modules/pwrite-tests: Reference it.
24577
24578 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24579
24580         Fix output redirection buglet in init.sh.
24581         * tests/init.sh: Fix redirection of stderr.
24582
24583 2010-05-20  Simon Josefsson  <simon@josefsson.org>
24584
24585         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
24586
24587 2010-05-17  Simon Josefsson  <simon@josefsson.org>
24588
24589         * modules/valgrind-tests: New file.
24590         * m4/valgrind-tests.m4: New file.
24591         * doc/valgrind-tests.texi: New file.
24592         * doc/gnulib.texi (Running self-tests under valgrind): New
24593         section.
24594
24595 2010-05-19  Bruno Haible  <bruno@clisp.org>
24596
24597         Clean up dead code in recent commit.
24598         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
24599         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
24600         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
24601         Suggested by Paolo Bonzini.
24602
24603 2010-05-19  Bruno Haible  <bruno@clisp.org>
24604
24605         Avoid valgrind error reports from libunistring.
24606         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
24607         * modules/libunistring (Files): Add it.
24608         * modules/libunistring-optional (Files): Likewise.
24609
24610 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
24611             Bruno Haible  <bruno@clisp.org>
24612
24613         New module 'libunistring-optional'.
24614         * modules/libunistring-optional: New file.
24615         * m4/libunistring-base.m4: New file.
24616         * m4/libunistring-optional.m4: New file.
24617         * lib/unicase.in.h: Renamed from lib/unicase.h.
24618         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
24619         * lib/unictype.in.h: Renamed from lib/unictype.h.
24620         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
24621         * lib/uniname.in.h: Renamed from lib/uniname.h.
24622         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
24623         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
24624         * lib/unistr.in.h: Renamed from lib/unistr.h.
24625         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
24626         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
24627         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
24628         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
24629         gl_LIBUNISTRING. If the library was found, determine the installed
24630         version and set LIBUNISTRING_VERSION.
24631         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
24632         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
24633         handle a configuration option --with-included-libunistring.
24634         * modules/libunistring (Files): Add m4/absolute-header.m4.
24635         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
24636         Add m4/libunistring-base.m4.
24637         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24638         (Makefile.am): Build unicase.h from unicase.in.h.
24639         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
24640         Add m4/libunistring-base.m4.
24641         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24642         (Makefile.am): Build uniconv.h from uniconv.in.h.
24643         * modules/unictype/base (Files): Use unictype.in.h instead of
24644         unictype.h. Add m4/libunistring-base.m4.
24645         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24646         (Makefile.am): Build unictype.h from unictype.in.h.
24647         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
24648         Add m4/libunistring-base.m4.
24649         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24650         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
24651         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
24652         Add m4/libunistring-base.m4.
24653         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24654         (Makefile.am): Build uniname.h from uniname.in.h.
24655         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
24656         Add m4/libunistring-base.m4.
24657         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24658         (Makefile.am): Build uninorm.h from uninorm.in.h.
24659         * modules/unistdio/base (Files): Use unistdio.in.h instead of
24660         unistdio.h. Add m4/libunistring-base.m4.
24661         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24662         (Makefile.am): Build unistdio.h from unistdio.in.h.
24663         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
24664         Add m4/libunistring-base.m4.
24665         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24666         (Makefile.am): Build unistr.h from unistr.in.h.
24667         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
24668         Add m4/libunistring-base.m4.
24669         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24670         (Makefile.am): Build unitypes.h from unitypes.in.h.
24671         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
24672         Add m4/libunistring-base.m4.
24673         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24674         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
24675         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
24676         uniwidth.h. Add m4/libunistring-base.m4.
24677         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24678         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
24679         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
24680         instead of augmenting lib_SOURCES.
24681         * modules/unicase/empty-suffix-context: Likewise.
24682         * modules/unicase/locale-language: Likewise.
24683         * modules/unicase/tolower: Likewise.
24684         * modules/unicase/totitle: Likewise.
24685         * modules/unicase/toupper: Likewise.
24686         * modules/unicase/u8-casecmp: Likewise.
24687         * modules/unicase/u8-casecoll: Likewise.
24688         * modules/unicase/u8-casefold: Likewise.
24689         * modules/unicase/u8-casexfrm: Likewise.
24690         * modules/unicase/u8-ct-casefold: Likewise.
24691         * modules/unicase/u8-ct-tolower: Likewise.
24692         * modules/unicase/u8-ct-totitle: Likewise.
24693         * modules/unicase/u8-ct-toupper: Likewise.
24694         * modules/unicase/u8-is-cased: Likewise.
24695         * modules/unicase/u8-is-casefolded: Likewise.
24696         * modules/unicase/u8-is-lowercase: Likewise.
24697         * modules/unicase/u8-is-titlecase: Likewise.
24698         * modules/unicase/u8-is-uppercase: Likewise.
24699         * modules/unicase/u8-prefix-context: Likewise.
24700         * modules/unicase/u8-suffix-context: Likewise.
24701         * modules/unicase/u8-tolower: Likewise.
24702         * modules/unicase/u8-totitle: Likewise.
24703         * modules/unicase/u8-toupper: Likewise.
24704         * modules/unicase/u16-casecmp: Likewise.
24705         * modules/unicase/u16-casecoll: Likewise.
24706         * modules/unicase/u16-casefold: Likewise.
24707         * modules/unicase/u16-casexfrm: Likewise.
24708         * modules/unicase/u16-ct-casefold: Likewise.
24709         * modules/unicase/u16-ct-tolower: Likewise.
24710         * modules/unicase/u16-ct-totitle: Likewise.
24711         * modules/unicase/u16-ct-toupper: Likewise.
24712         * modules/unicase/u16-is-cased: Likewise.
24713         * modules/unicase/u16-is-casefolded: Likewise.
24714         * modules/unicase/u16-is-lowercase: Likewise.
24715         * modules/unicase/u16-is-titlecase: Likewise.
24716         * modules/unicase/u16-is-uppercase: Likewise.
24717         * modules/unicase/u16-prefix-context: Likewise.
24718         * modules/unicase/u16-suffix-context: Likewise.
24719         * modules/unicase/u16-tolower: Likewise.
24720         * modules/unicase/u16-totitle: Likewise.
24721         * modules/unicase/u16-toupper: Likewise.
24722         * modules/unicase/u32-casecmp: Likewise.
24723         * modules/unicase/u32-casecoll: Likewise.
24724         * modules/unicase/u32-casefold: Likewise.
24725         * modules/unicase/u32-casexfrm: Likewise.
24726         * modules/unicase/u32-ct-casefold: Likewise.
24727         * modules/unicase/u32-ct-tolower: Likewise.
24728         * modules/unicase/u32-ct-totitle: Likewise.
24729         * modules/unicase/u32-ct-toupper: Likewise.
24730         * modules/unicase/u32-is-cased: Likewise.
24731         * modules/unicase/u32-is-casefolded: Likewise.
24732         * modules/unicase/u32-is-lowercase: Likewise.
24733         * modules/unicase/u32-is-titlecase: Likewise.
24734         * modules/unicase/u32-is-uppercase: Likewise.
24735         * modules/unicase/u32-prefix-context: Likewise.
24736         * modules/unicase/u32-suffix-context: Likewise.
24737         * modules/unicase/u32-tolower: Likewise.
24738         * modules/unicase/u32-totitle: Likewise.
24739         * modules/unicase/u32-toupper: Likewise.
24740         * modules/unicase/ulc-casecmp: Likewise.
24741         * modules/unicase/ulc-casecoll: Likewise.
24742         * modules/unicase/ulc-casexfrm: Likewise.
24743         * modules/uniconv/u8-conv-from-enc: Likewise.
24744         * modules/uniconv/u8-conv-to-enc: Likewise.
24745         * modules/uniconv/u8-strconv-from-enc: Likewise.
24746         * modules/uniconv/u8-strconv-from-locale: Likewise.
24747         * modules/uniconv/u8-strconv-to-enc: Likewise.
24748         * modules/uniconv/u8-strconv-to-locale: Likewise.
24749         * modules/uniconv/u16-conv-from-enc: Likewise.
24750         * modules/uniconv/u16-conv-to-enc: Likewise.
24751         * modules/uniconv/u16-strconv-from-enc: Likewise.
24752         * modules/uniconv/u16-strconv-from-locale: Likewise.
24753         * modules/uniconv/u16-strconv-to-enc: Likewise.
24754         * modules/uniconv/u16-strconv-to-locale: Likewise.
24755         * modules/uniconv/u32-conv-from-enc: Likewise.
24756         * modules/uniconv/u32-conv-to-enc: Likewise.
24757         * modules/uniconv/u32-strconv-from-enc: Likewise.
24758         * modules/uniconv/u32-strconv-from-locale: Likewise.
24759         * modules/uniconv/u32-strconv-to-enc: Likewise.
24760         * modules/uniconv/u32-strconv-to-locale: Likewise.
24761         * modules/unictype/bidicategory-byname: Likewise.
24762         * modules/unictype/bidicategory-name: Likewise.
24763         * modules/unictype/bidicategory-of: Likewise.
24764         * modules/unictype/bidicategory-test: Likewise.
24765         * modules/unictype/block-list: Likewise.
24766         * modules/unictype/block-test: Likewise.
24767         * modules/unictype/category-C: Likewise.
24768         * modules/unictype/category-Cc: Likewise.
24769         * modules/unictype/category-Cf: Likewise.
24770         * modules/unictype/category-Cn: Likewise.
24771         * modules/unictype/category-Co: Likewise.
24772         * modules/unictype/category-Cs: Likewise.
24773         * modules/unictype/category-L: Likewise.
24774         * modules/unictype/category-Ll: Likewise.
24775         * modules/unictype/category-Lm: Likewise.
24776         * modules/unictype/category-Lo: Likewise.
24777         * modules/unictype/category-Lt: Likewise.
24778         * modules/unictype/category-Lu: Likewise.
24779         * modules/unictype/category-M: Likewise.
24780         * modules/unictype/category-Mc: Likewise.
24781         * modules/unictype/category-Me: Likewise.
24782         * modules/unictype/category-Mn: Likewise.
24783         * modules/unictype/category-N: Likewise.
24784         * modules/unictype/category-Nd: Likewise.
24785         * modules/unictype/category-Nl: Likewise.
24786         * modules/unictype/category-No: Likewise.
24787         * modules/unictype/category-P: Likewise.
24788         * modules/unictype/category-Pc: Likewise.
24789         * modules/unictype/category-Pd: Likewise.
24790         * modules/unictype/category-Pe: Likewise.
24791         * modules/unictype/category-Pf: Likewise.
24792         * modules/unictype/category-Pi: Likewise.
24793         * modules/unictype/category-Po: Likewise.
24794         * modules/unictype/category-Ps: Likewise.
24795         * modules/unictype/category-S: Likewise.
24796         * modules/unictype/category-Sc: Likewise.
24797         * modules/unictype/category-Sk: Likewise.
24798         * modules/unictype/category-Sm: Likewise.
24799         * modules/unictype/category-So: Likewise.
24800         * modules/unictype/category-Z: Likewise.
24801         * modules/unictype/category-Zl: Likewise.
24802         * modules/unictype/category-Zp: Likewise.
24803         * modules/unictype/category-Zs: Likewise.
24804         * modules/unictype/category-and: Likewise.
24805         * modules/unictype/category-and-not: Likewise.
24806         * modules/unictype/category-byname: Likewise.
24807         * modules/unictype/category-name: Likewise.
24808         * modules/unictype/category-none: Likewise.
24809         * modules/unictype/category-of: Likewise.
24810         * modules/unictype/category-or: Likewise.
24811         * modules/unictype/category-test: Likewise.
24812         * modules/unictype/combining-class: Likewise.
24813         * modules/unictype/ctype-alnum: Likewise.
24814         * modules/unictype/ctype-alpha: Likewise.
24815         * modules/unictype/ctype-blank: Likewise.
24816         * modules/unictype/ctype-cntrl: Likewise.
24817         * modules/unictype/ctype-digit: Likewise.
24818         * modules/unictype/ctype-graph: Likewise.
24819         * modules/unictype/ctype-lower: Likewise.
24820         * modules/unictype/ctype-print: Likewise.
24821         * modules/unictype/ctype-punct: Likewise.
24822         * modules/unictype/ctype-space: Likewise.
24823         * modules/unictype/ctype-upper: Likewise.
24824         * modules/unictype/ctype-xdigit: Likewise.
24825         * modules/unictype/decimal-digit: Likewise.
24826         * modules/unictype/digit: Likewise.
24827         * modules/unictype/mirror: Likewise.
24828         * modules/unictype/numeric: Likewise.
24829         * modules/unictype/property-alphabetic: Likewise.
24830         * modules/unictype/property-ascii-hex-digit: Likewise.
24831         * modules/unictype/property-bidi-arabic-digit: Likewise.
24832         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
24833         * modules/unictype/property-bidi-block-separator: Likewise.
24834         * modules/unictype/property-bidi-boundary-neutral: Likewise.
24835         * modules/unictype/property-bidi-common-separator: Likewise.
24836         * modules/unictype/property-bidi-control: Likewise.
24837         * modules/unictype/property-bidi-embedding-or-override: Likewise.
24838         * modules/unictype/property-bidi-eur-num-separator: Likewise.
24839         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
24840         * modules/unictype/property-bidi-european-digit: Likewise.
24841         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
24842         * modules/unictype/property-bidi-left-to-right: Likewise.
24843         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
24844         * modules/unictype/property-bidi-other-neutral: Likewise.
24845         * modules/unictype/property-bidi-pdf: Likewise.
24846         * modules/unictype/property-bidi-segment-separator: Likewise.
24847         * modules/unictype/property-bidi-whitespace: Likewise.
24848         * modules/unictype/property-byname: Likewise.
24849         * modules/unictype/property-combining: Likewise.
24850         * modules/unictype/property-composite: Likewise.
24851         * modules/unictype/property-currency-symbol: Likewise.
24852         * modules/unictype/property-dash: Likewise.
24853         * modules/unictype/property-decimal-digit: Likewise.
24854         * modules/unictype/property-default-ignorable-code-point: Likewise.
24855         * modules/unictype/property-deprecated: Likewise.
24856         * modules/unictype/property-diacritic: Likewise.
24857         * modules/unictype/property-extender: Likewise.
24858         * modules/unictype/property-format-control: Likewise.
24859         * modules/unictype/property-grapheme-base: Likewise.
24860         * modules/unictype/property-grapheme-extend: Likewise.
24861         * modules/unictype/property-grapheme-link: Likewise.
24862         * modules/unictype/property-hex-digit: Likewise.
24863         * modules/unictype/property-hyphen: Likewise.
24864         * modules/unictype/property-id-continue: Likewise.
24865         * modules/unictype/property-id-start: Likewise.
24866         * modules/unictype/property-ideographic: Likewise.
24867         * modules/unictype/property-ids-binary-operator: Likewise.
24868         * modules/unictype/property-ids-trinary-operator: Likewise.
24869         * modules/unictype/property-ignorable-control: Likewise.
24870         * modules/unictype/property-iso-control: Likewise.
24871         * modules/unictype/property-join-control: Likewise.
24872         * modules/unictype/property-left-of-pair: Likewise.
24873         * modules/unictype/property-line-separator: Likewise.
24874         * modules/unictype/property-logical-order-exception: Likewise.
24875         * modules/unictype/property-lowercase: Likewise.
24876         * modules/unictype/property-math: Likewise.
24877         * modules/unictype/property-non-break: Likewise.
24878         * modules/unictype/property-not-a-character: Likewise.
24879         * modules/unictype/property-numeric: Likewise.
24880         * modules/unictype/property-other-alphabetic: Likewise.
24881         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
24882         * modules/unictype/property-other-grapheme-extend: Likewise.
24883         * modules/unictype/property-other-id-continue: Likewise.
24884         * modules/unictype/property-other-id-start: Likewise.
24885         * modules/unictype/property-other-lowercase: Likewise.
24886         * modules/unictype/property-other-math: Likewise.
24887         * modules/unictype/property-other-uppercase: Likewise.
24888         * modules/unictype/property-paired-punctuation: Likewise.
24889         * modules/unictype/property-paragraph-separator: Likewise.
24890         * modules/unictype/property-pattern-syntax: Likewise.
24891         * modules/unictype/property-pattern-white-space: Likewise.
24892         * modules/unictype/property-private-use: Likewise.
24893         * modules/unictype/property-punctuation: Likewise.
24894         * modules/unictype/property-quotation-mark: Likewise.
24895         * modules/unictype/property-radical: Likewise.
24896         * modules/unictype/property-sentence-terminal: Likewise.
24897         * modules/unictype/property-soft-dotted: Likewise.
24898         * modules/unictype/property-space: Likewise.
24899         * modules/unictype/property-terminal-punctuation: Likewise.
24900         * modules/unictype/property-test: Likewise.
24901         * modules/unictype/property-titlecase: Likewise.
24902         * modules/unictype/property-unassigned-code-value: Likewise.
24903         * modules/unictype/property-unified-ideograph: Likewise.
24904         * modules/unictype/property-uppercase: Likewise.
24905         * modules/unictype/property-variation-selector: Likewise.
24906         * modules/unictype/property-white-space: Likewise.
24907         * modules/unictype/property-xid-continue: Likewise.
24908         * modules/unictype/property-xid-start: Likewise.
24909         * modules/unictype/property-zero-width: Likewise.
24910         * modules/unictype/scripts: Likewise.
24911         * modules/unictype/syntax-c-ident: Likewise.
24912         * modules/unictype/syntax-c-whitespace: Likewise.
24913         * modules/unictype/syntax-java-ident: Likewise.
24914         * modules/unictype/syntax-java-whitespace: Likewise.
24915         * modules/unilbrk/u8-possible-linebreaks: Likewise.
24916         * modules/unilbrk/u8-width-linebreaks: Likewise.
24917         * modules/unilbrk/u16-possible-linebreaks: Likewise.
24918         * modules/unilbrk/u16-width-linebreaks: Likewise.
24919         * modules/unilbrk/u32-possible-linebreaks: Likewise.
24920         * modules/unilbrk/u32-width-linebreaks: Likewise.
24921         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
24922         * modules/unilbrk/ulc-width-linebreaks: Likewise.
24923         * modules/uniname/uniname: Likewise.
24924         * modules/uninorm/canonical-decomposition: Likewise.
24925         * modules/uninorm/composition: Likewise.
24926         * modules/uninorm/decomposing-form: Likewise.
24927         * modules/uninorm/decomposition: Likewise.
24928         * modules/uninorm/filter: Likewise.
24929         * modules/uninorm/nfc: Likewise.
24930         * modules/uninorm/nfd: Likewise.
24931         * modules/uninorm/nfkc: Likewise.
24932         * modules/uninorm/nfkd: Likewise.
24933         * modules/uninorm/u8-normalize: Likewise.
24934         * modules/uninorm/u8-normcmp: Likewise.
24935         * modules/uninorm/u8-normcoll: Likewise.
24936         * modules/uninorm/u8-normxfrm: Likewise.
24937         * modules/uninorm/u16-normalize: Likewise.
24938         * modules/uninorm/u16-normcmp: Likewise.
24939         * modules/uninorm/u16-normcoll: Likewise.
24940         * modules/uninorm/u16-normxfrm: Likewise.
24941         * modules/uninorm/u32-normalize: Likewise.
24942         * modules/uninorm/u32-normcmp: Likewise.
24943         * modules/uninorm/u32-normcoll: Likewise.
24944         * modules/uninorm/u32-normxfrm: Likewise.
24945         * modules/unistdio/u8-asnprintf: Likewise.
24946         * modules/unistdio/u8-asprintf: Likewise.
24947         * modules/unistdio/u8-snprintf: Likewise.
24948         * modules/unistdio/u8-sprintf: Likewise.
24949         * modules/unistdio/u8-u8-asnprintf: Likewise.
24950         * modules/unistdio/u8-u8-asprintf: Likewise.
24951         * modules/unistdio/u8-u8-snprintf: Likewise.
24952         * modules/unistdio/u8-u8-sprintf: Likewise.
24953         * modules/unistdio/u8-u8-vasnprintf: Likewise.
24954         * modules/unistdio/u8-u8-vasprintf: Likewise.
24955         * modules/unistdio/u8-u8-vsnprintf: Likewise.
24956         * modules/unistdio/u8-u8-vsprintf: Likewise.
24957         * modules/unistdio/u8-vasnprintf: Likewise.
24958         * modules/unistdio/u8-vasprintf: Likewise.
24959         * modules/unistdio/u8-vsnprintf: Likewise.
24960         * modules/unistdio/u8-vsprintf: Likewise.
24961         * modules/unistdio/u16-asnprintf: Likewise.
24962         * modules/unistdio/u16-asprintf: Likewise.
24963         * modules/unistdio/u16-snprintf: Likewise.
24964         * modules/unistdio/u16-sprintf: Likewise.
24965         * modules/unistdio/u16-u16-asnprintf: Likewise.
24966         * modules/unistdio/u16-u16-asprintf: Likewise.
24967         * modules/unistdio/u16-u16-snprintf: Likewise.
24968         * modules/unistdio/u16-u16-sprintf: Likewise.
24969         * modules/unistdio/u16-u16-vasnprintf: Likewise.
24970         * modules/unistdio/u16-u16-vasprintf: Likewise.
24971         * modules/unistdio/u16-u16-vsnprintf: Likewise.
24972         * modules/unistdio/u16-u16-vsprintf: Likewise.
24973         * modules/unistdio/u16-vasnprintf: Likewise.
24974         * modules/unistdio/u16-vasprintf: Likewise.
24975         * modules/unistdio/u16-vsnprintf: Likewise.
24976         * modules/unistdio/u16-vsprintf: Likewise.
24977         * modules/unistdio/u32-asnprintf: Likewise.
24978         * modules/unistdio/u32-asprintf: Likewise.
24979         * modules/unistdio/u32-snprintf: Likewise.
24980         * modules/unistdio/u32-sprintf: Likewise.
24981         * modules/unistdio/u32-u32-asnprintf: Likewise.
24982         * modules/unistdio/u32-u32-asprintf: Likewise.
24983         * modules/unistdio/u32-u32-snprintf: Likewise.
24984         * modules/unistdio/u32-u32-sprintf: Likewise.
24985         * modules/unistdio/u32-u32-vasnprintf: Likewise.
24986         * modules/unistdio/u32-u32-vasprintf: Likewise.
24987         * modules/unistdio/u32-u32-vsnprintf: Likewise.
24988         * modules/unistdio/u32-u32-vsprintf: Likewise.
24989         * modules/unistdio/u32-vasnprintf: Likewise.
24990         * modules/unistdio/u32-vasprintf: Likewise.
24991         * modules/unistdio/u32-vsnprintf: Likewise.
24992         * modules/unistdio/u32-vsprintf: Likewise.
24993         * modules/unistdio/ulc-asnprintf: Likewise.
24994         * modules/unistdio/ulc-asprintf: Likewise.
24995         * modules/unistdio/ulc-fprintf: Likewise.
24996         * modules/unistdio/ulc-snprintf: Likewise.
24997         * modules/unistdio/ulc-sprintf: Likewise.
24998         * modules/unistdio/ulc-vasnprintf: Likewise.
24999         * modules/unistdio/ulc-vasprintf: Likewise.
25000         * modules/unistdio/ulc-vfprintf: Likewise.
25001         * modules/unistdio/ulc-vsnprintf: Likewise.
25002         * modules/unistdio/ulc-vsprintf: Likewise.
25003         * modules/unistr/u8-check: Likewise.
25004         * modules/unistr/u8-chr: Likewise.
25005         * modules/unistr/u8-cmp: Likewise.
25006         * modules/unistr/u8-cmp2: Likewise.
25007         * modules/unistr/u8-cpy: Likewise.
25008         * modules/unistr/u8-cpy-alloc: Likewise.
25009         * modules/unistr/u8-endswith: Likewise.
25010         * modules/unistr/u8-mblen: Likewise.
25011         * modules/unistr/u8-mbsnlen: Likewise.
25012         * modules/unistr/u8-mbtouc: Likewise.
25013         * modules/unistr/u8-mbtouc-unsafe: Likewise.
25014         * modules/unistr/u8-mbtoucr: Likewise.
25015         * modules/unistr/u8-move: Likewise.
25016         * modules/unistr/u8-next: Likewise.
25017         * modules/unistr/u8-prev: Likewise.
25018         * modules/unistr/u8-set: Likewise.
25019         * modules/unistr/u8-startswith: Likewise.
25020         * modules/unistr/u8-stpcpy: Likewise.
25021         * modules/unistr/u8-stpncpy: Likewise.
25022         * modules/unistr/u8-strcat: Likewise.
25023         * modules/unistr/u8-strchr: Likewise.
25024         * modules/unistr/u8-strcmp: Likewise.
25025         * modules/unistr/u8-strcoll: Likewise.
25026         * modules/unistr/u8-strcpy: Likewise.
25027         * modules/unistr/u8-strcspn: Likewise.
25028         * modules/unistr/u8-strdup: Likewise.
25029         * modules/unistr/u8-strlen: Likewise.
25030         * modules/unistr/u8-strmblen: Likewise.
25031         * modules/unistr/u8-strmbtouc: Likewise.
25032         * modules/unistr/u8-strncat: Likewise.
25033         * modules/unistr/u8-strncmp: Likewise.
25034         * modules/unistr/u8-strncpy: Likewise.
25035         * modules/unistr/u8-strnlen: Likewise.
25036         * modules/unistr/u8-strpbrk: Likewise.
25037         * modules/unistr/u8-strrchr: Likewise.
25038         * modules/unistr/u8-strspn: Likewise.
25039         * modules/unistr/u8-strstr: Likewise.
25040         * modules/unistr/u8-strtok: Likewise.
25041         * modules/unistr/u8-to-u16: Likewise.
25042         * modules/unistr/u8-to-u32: Likewise.
25043         * modules/unistr/u8-uctomb: Likewise.
25044         * modules/unistr/u16-check: Likewise.
25045         * modules/unistr/u16-chr: Likewise.
25046         * modules/unistr/u16-cmp: Likewise.
25047         * modules/unistr/u16-cmp2: Likewise.
25048         * modules/unistr/u16-cpy: Likewise.
25049         * modules/unistr/u16-cpy-alloc: Likewise.
25050         * modules/unistr/u16-endswith: Likewise.
25051         * modules/unistr/u16-mblen: Likewise.
25052         * modules/unistr/u16-mbsnlen: Likewise.
25053         * modules/unistr/u16-mbtouc: Likewise.
25054         * modules/unistr/u16-mbtouc-unsafe: Likewise.
25055         * modules/unistr/u16-mbtoucr: Likewise.
25056         * modules/unistr/u16-move: Likewise.
25057         * modules/unistr/u16-next: Likewise.
25058         * modules/unistr/u16-prev: Likewise.
25059         * modules/unistr/u16-set: Likewise.
25060         * modules/unistr/u16-startswith: Likewise.
25061         * modules/unistr/u16-stpcpy: Likewise.
25062         * modules/unistr/u16-stpncpy: Likewise.
25063         * modules/unistr/u16-strcat: Likewise.
25064         * modules/unistr/u16-strchr: Likewise.
25065         * modules/unistr/u16-strcmp: Likewise.
25066         * modules/unistr/u16-strcoll: Likewise.
25067         * modules/unistr/u16-strcpy: Likewise.
25068         * modules/unistr/u16-strcspn: Likewise.
25069         * modules/unistr/u16-strdup: Likewise.
25070         * modules/unistr/u16-strlen: Likewise.
25071         * modules/unistr/u16-strmblen: Likewise.
25072         * modules/unistr/u16-strmbtouc: Likewise.
25073         * modules/unistr/u16-strncat: Likewise.
25074         * modules/unistr/u16-strncmp: Likewise.
25075         * modules/unistr/u16-strncpy: Likewise.
25076         * modules/unistr/u16-strnlen: Likewise.
25077         * modules/unistr/u16-strpbrk: Likewise.
25078         * modules/unistr/u16-strrchr: Likewise.
25079         * modules/unistr/u16-strspn: Likewise.
25080         * modules/unistr/u16-strstr: Likewise.
25081         * modules/unistr/u16-strtok: Likewise.
25082         * modules/unistr/u16-to-u32: Likewise.
25083         * modules/unistr/u16-to-u8: Likewise.
25084         * modules/unistr/u16-uctomb: Likewise.
25085         * modules/unistr/u32-check: Likewise.
25086         * modules/unistr/u32-chr: Likewise.
25087         * modules/unistr/u32-cmp: Likewise.
25088         * modules/unistr/u32-cmp2: Likewise.
25089         * modules/unistr/u32-cpy: Likewise.
25090         * modules/unistr/u32-cpy-alloc: Likewise.
25091         * modules/unistr/u32-endswith: Likewise.
25092         * modules/unistr/u32-mblen: Likewise.
25093         * modules/unistr/u32-mbsnlen: Likewise.
25094         * modules/unistr/u32-mbtouc: Likewise.
25095         * modules/unistr/u32-mbtouc-unsafe: Likewise.
25096         * modules/unistr/u32-mbtoucr: Likewise.
25097         * modules/unistr/u32-move: Likewise.
25098         * modules/unistr/u32-next: Likewise.
25099         * modules/unistr/u32-prev: Likewise.
25100         * modules/unistr/u32-set: Likewise.
25101         * modules/unistr/u32-startswith: Likewise.
25102         * modules/unistr/u32-stpcpy: Likewise.
25103         * modules/unistr/u32-stpncpy: Likewise.
25104         * modules/unistr/u32-strcat: Likewise.
25105         * modules/unistr/u32-strchr: Likewise.
25106         * modules/unistr/u32-strcmp: Likewise.
25107         * modules/unistr/u32-strcoll: Likewise.
25108         * modules/unistr/u32-strcpy: Likewise.
25109         * modules/unistr/u32-strcspn: Likewise.
25110         * modules/unistr/u32-strdup: Likewise.
25111         * modules/unistr/u32-strlen: Likewise.
25112         * modules/unistr/u32-strmblen: Likewise.
25113         * modules/unistr/u32-strmbtouc: Likewise.
25114         * modules/unistr/u32-strncat: Likewise.
25115         * modules/unistr/u32-strncmp: Likewise.
25116         * modules/unistr/u32-strncpy: Likewise.
25117         * modules/unistr/u32-strnlen: Likewise.
25118         * modules/unistr/u32-strpbrk: Likewise.
25119         * modules/unistr/u32-strrchr: Likewise.
25120         * modules/unistr/u32-strspn: Likewise.
25121         * modules/unistr/u32-strstr: Likewise.
25122         * modules/unistr/u32-strtok: Likewise.
25123         * modules/unistr/u32-to-u16: Likewise.
25124         * modules/unistr/u32-to-u8: Likewise.
25125         * modules/unistr/u32-uctomb: Likewise.
25126         * modules/uniwbrk/u8-wordbreaks: Likewise.
25127         * modules/uniwbrk/u16-wordbreaks: Likewise.
25128         * modules/uniwbrk/u32-wordbreaks: Likewise.
25129         * modules/uniwbrk/ulc-wordbreaks: Likewise.
25130         * modules/uniwbrk/wordbreak-property: Likewise.
25131         * modules/uniwidth/u8-strwidth: Likewise.
25132         * modules/uniwidth/u8-width: Likewise.
25133         * modules/uniwidth/u16-strwidth: Likewise.
25134         * modules/uniwidth/u16-width: Likewise.
25135         * modules/uniwidth/u32-strwidth: Likewise.
25136         * modules/uniwidth/u32-width: Likewise.
25137         * modules/uniwidth/width: Likewise.
25138         * modules/unicase/cased-tests (Makefile.am): Link all test programs
25139         with $(LIBUNISTRING).
25140         * modules/unicase/ignorable-tests: Likewise.
25141         * modules/unicase/locale-language-tests: Likewise.
25142         * modules/unicase/tolower-tests: Likewise.
25143         * modules/unicase/totitle-tests: Likewise.
25144         * modules/unicase/toupper-tests: Likewise.
25145         * modules/unicase/u8-casecmp-tests: Likewise.
25146         * modules/unicase/u8-casecoll-tests: Likewise.
25147         * modules/unicase/u8-casefold-tests: Likewise.
25148         * modules/unicase/u8-is-cased-tests: Likewise.
25149         * modules/unicase/u8-is-casefolded-tests: Likewise.
25150         * modules/unicase/u8-is-lowercase-tests: Likewise.
25151         * modules/unicase/u8-is-titlecase-tests: Likewise.
25152         * modules/unicase/u8-is-uppercase-tests: Likewise.
25153         * modules/unicase/u8-tolower-tests: Likewise.
25154         * modules/unicase/u8-totitle-tests: Likewise.
25155         * modules/unicase/u8-toupper-tests: Likewise.
25156         * modules/unicase/u16-casecmp-tests: Likewise.
25157         * modules/unicase/u16-casecoll-tests: Likewise.
25158         * modules/unicase/u16-casefold-tests: Likewise.
25159         * modules/unicase/u16-is-cased-tests: Likewise.
25160         * modules/unicase/u16-is-casefolded-tests: Likewise.
25161         * modules/unicase/u16-is-lowercase-tests: Likewise.
25162         * modules/unicase/u16-is-titlecase-tests: Likewise.
25163         * modules/unicase/u16-is-uppercase-tests: Likewise.
25164         * modules/unicase/u16-tolower-tests: Likewise.
25165         * modules/unicase/u16-totitle-tests: Likewise.
25166         * modules/unicase/u16-toupper-tests: Likewise.
25167         * modules/unicase/u32-casecmp-tests: Likewise.
25168         * modules/unicase/u32-casecoll-tests: Likewise.
25169         * modules/unicase/u32-casefold-tests: Likewise.
25170         * modules/unicase/u32-is-cased-tests: Likewise.
25171         * modules/unicase/u32-is-casefolded-tests: Likewise.
25172         * modules/unicase/u32-is-lowercase-tests: Likewise.
25173         * modules/unicase/u32-is-titlecase-tests: Likewise.
25174         * modules/unicase/u32-is-uppercase-tests: Likewise.
25175         * modules/unicase/u32-tolower-tests: Likewise.
25176         * modules/unicase/u32-totitle-tests: Likewise.
25177         * modules/unicase/u32-toupper-tests: Likewise.
25178         * modules/unicase/ulc-casecmp-tests: Likewise.
25179         * modules/unicase/ulc-casecoll-tests: Likewise.
25180         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
25181         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
25182         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
25183         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
25184         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
25185         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
25186         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
25187         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
25188         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
25189         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
25190         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
25191         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
25192         * modules/unictype/bidicategory-byname-tests: Likewise.
25193         * modules/unictype/bidicategory-name-tests: Likewise.
25194         * modules/unictype/bidicategory-of-tests: Likewise.
25195         * modules/unictype/bidicategory-test-tests: Likewise.
25196         * modules/unictype/block-list-tests: Likewise.
25197         * modules/unictype/block-of-tests: Likewise.
25198         * modules/unictype/block-test-tests: Likewise.
25199         * modules/unictype/category-C-tests: Likewise.
25200         * modules/unictype/category-Cc-tests: Likewise.
25201         * modules/unictype/category-Cf-tests: Likewise.
25202         * modules/unictype/category-Cn-tests: Likewise.
25203         * modules/unictype/category-Co-tests: Likewise.
25204         * modules/unictype/category-Cs-tests: Likewise.
25205         * modules/unictype/category-L-tests: Likewise.
25206         * modules/unictype/category-Ll-tests: Likewise.
25207         * modules/unictype/category-Lm-tests: Likewise.
25208         * modules/unictype/category-Lo-tests: Likewise.
25209         * modules/unictype/category-Lt-tests: Likewise.
25210         * modules/unictype/category-Lu-tests: Likewise.
25211         * modules/unictype/category-M-tests: Likewise.
25212         * modules/unictype/category-Mc-tests: Likewise.
25213         * modules/unictype/category-Me-tests: Likewise.
25214         * modules/unictype/category-Mn-tests: Likewise.
25215         * modules/unictype/category-N-tests: Likewise.
25216         * modules/unictype/category-Nd-tests: Likewise.
25217         * modules/unictype/category-Nl-tests: Likewise.
25218         * modules/unictype/category-No-tests: Likewise.
25219         * modules/unictype/category-P-tests: Likewise.
25220         * modules/unictype/category-Pc-tests: Likewise.
25221         * modules/unictype/category-Pd-tests: Likewise.
25222         * modules/unictype/category-Pe-tests: Likewise.
25223         * modules/unictype/category-Pf-tests: Likewise.
25224         * modules/unictype/category-Pi-tests: Likewise.
25225         * modules/unictype/category-Po-tests: Likewise.
25226         * modules/unictype/category-Ps-tests: Likewise.
25227         * modules/unictype/category-S-tests: Likewise.
25228         * modules/unictype/category-Sc-tests: Likewise.
25229         * modules/unictype/category-Sk-tests: Likewise.
25230         * modules/unictype/category-Sm-tests: Likewise.
25231         * modules/unictype/category-So-tests: Likewise.
25232         * modules/unictype/category-Z-tests: Likewise.
25233         * modules/unictype/category-Zl-tests: Likewise.
25234         * modules/unictype/category-Zp-tests: Likewise.
25235         * modules/unictype/category-Zs-tests: Likewise.
25236         * modules/unictype/category-and-not-tests: Likewise.
25237         * modules/unictype/category-and-tests: Likewise.
25238         * modules/unictype/category-byname-tests: Likewise.
25239         * modules/unictype/category-name-tests: Likewise.
25240         * modules/unictype/category-none-tests: Likewise.
25241         * modules/unictype/category-of-tests: Likewise.
25242         * modules/unictype/category-or-tests: Likewise.
25243         * modules/unictype/category-test-withtable-tests: Likewise.
25244         * modules/unictype/combining-class-tests: Likewise.
25245         * modules/unictype/ctype-alnum-tests: Likewise.
25246         * modules/unictype/ctype-alpha-tests: Likewise.
25247         * modules/unictype/ctype-blank-tests: Likewise.
25248         * modules/unictype/ctype-cntrl-tests: Likewise.
25249         * modules/unictype/ctype-digit-tests: Likewise.
25250         * modules/unictype/ctype-graph-tests: Likewise.
25251         * modules/unictype/ctype-lower-tests: Likewise.
25252         * modules/unictype/ctype-print-tests: Likewise.
25253         * modules/unictype/ctype-punct-tests: Likewise.
25254         * modules/unictype/ctype-space-tests: Likewise.
25255         * modules/unictype/ctype-upper-tests: Likewise.
25256         * modules/unictype/ctype-xdigit-tests: Likewise.
25257         * modules/unictype/decimal-digit-tests: Likewise.
25258         * modules/unictype/digit-tests: Likewise.
25259         * modules/unictype/mirror-tests: Likewise.
25260         * modules/unictype/numeric-tests: Likewise.
25261         * modules/unictype/property-alphabetic-tests: Likewise.
25262         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
25263         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
25264         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
25265         * modules/unictype/property-bidi-block-separator-tests: Likewise.
25266         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
25267         * modules/unictype/property-bidi-common-separator-tests: Likewise.
25268         * modules/unictype/property-bidi-control-tests: Likewise.
25269         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
25270         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
25271         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
25272         * modules/unictype/property-bidi-european-digit-tests: Likewise.
25273         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
25274         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
25275         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
25276         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
25277         * modules/unictype/property-bidi-pdf-tests: Likewise.
25278         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
25279         * modules/unictype/property-bidi-whitespace-tests: Likewise.
25280         * modules/unictype/property-byname-tests: Likewise.
25281         * modules/unictype/property-combining-tests: Likewise.
25282         * modules/unictype/property-composite-tests: Likewise.
25283         * modules/unictype/property-currency-symbol-tests: Likewise.
25284         * modules/unictype/property-dash-tests: Likewise.
25285         * modules/unictype/property-decimal-digit-tests: Likewise.
25286         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
25287         * modules/unictype/property-deprecated-tests: Likewise.
25288         * modules/unictype/property-diacritic-tests: Likewise.
25289         * modules/unictype/property-extender-tests: Likewise.
25290         * modules/unictype/property-format-control-tests: Likewise.
25291         * modules/unictype/property-grapheme-base-tests: Likewise.
25292         * modules/unictype/property-grapheme-extend-tests: Likewise.
25293         * modules/unictype/property-grapheme-link-tests: Likewise.
25294         * modules/unictype/property-hex-digit-tests: Likewise.
25295         * modules/unictype/property-hyphen-tests: Likewise.
25296         * modules/unictype/property-id-continue-tests: Likewise.
25297         * modules/unictype/property-id-start-tests: Likewise.
25298         * modules/unictype/property-ideographic-tests: Likewise.
25299         * modules/unictype/property-ids-binary-operator-tests: Likewise.
25300         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
25301         * modules/unictype/property-ignorable-control-tests: Likewise.
25302         * modules/unictype/property-iso-control-tests: Likewise.
25303         * modules/unictype/property-join-control-tests: Likewise.
25304         * modules/unictype/property-left-of-pair-tests: Likewise.
25305         * modules/unictype/property-line-separator-tests: Likewise.
25306         * modules/unictype/property-logical-order-exception-tests: Likewise.
25307         * modules/unictype/property-lowercase-tests: Likewise.
25308         * modules/unictype/property-math-tests: Likewise.
25309         * modules/unictype/property-non-break-tests: Likewise.
25310         * modules/unictype/property-not-a-character-tests: Likewise.
25311         * modules/unictype/property-numeric-tests: Likewise.
25312         * modules/unictype/property-other-alphabetic-tests: Likewise.
25313         * modules/unictype/property-other-default-ignorable-code-point-tests:
25314         Likewise.
25315         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
25316         * modules/unictype/property-other-id-continue-tests: Likewise.
25317         * modules/unictype/property-other-id-start-tests: Likewise.
25318         * modules/unictype/property-other-lowercase-tests: Likewise.
25319         * modules/unictype/property-other-math-tests: Likewise.
25320         * modules/unictype/property-other-uppercase-tests: Likewise.
25321         * modules/unictype/property-paired-punctuation-tests: Likewise.
25322         * modules/unictype/property-paragraph-separator-tests: Likewise.
25323         * modules/unictype/property-pattern-syntax-tests: Likewise.
25324         * modules/unictype/property-pattern-white-space-tests: Likewise.
25325         * modules/unictype/property-private-use-tests: Likewise.
25326         * modules/unictype/property-punctuation-tests: Likewise.
25327         * modules/unictype/property-quotation-mark-tests: Likewise.
25328         * modules/unictype/property-radical-tests: Likewise.
25329         * modules/unictype/property-sentence-terminal-tests: Likewise.
25330         * modules/unictype/property-soft-dotted-tests: Likewise.
25331         * modules/unictype/property-space-tests: Likewise.
25332         * modules/unictype/property-terminal-punctuation-tests: Likewise.
25333         * modules/unictype/property-test-tests: Likewise.
25334         * modules/unictype/property-titlecase-tests: Likewise.
25335         * modules/unictype/property-unassigned-code-value-tests: Likewise.
25336         * modules/unictype/property-unified-ideograph-tests: Likewise.
25337         * modules/unictype/property-uppercase-tests: Likewise.
25338         * modules/unictype/property-variation-selector-tests: Likewise.
25339         * modules/unictype/property-white-space-tests: Likewise.
25340         * modules/unictype/property-xid-continue-tests: Likewise.
25341         * modules/unictype/property-xid-start-tests: Likewise.
25342         * modules/unictype/property-zero-width-tests: Likewise.
25343         * modules/unictype/scripts-tests: Likewise.
25344         * modules/unictype/syntax-c-ident-tests: Likewise.
25345         * modules/unictype/syntax-c-whitespace-tests: Likewise.
25346         * modules/unictype/syntax-java-ident-tests: Likewise.
25347         * modules/unictype/syntax-java-whitespace-tests: Likewise.
25348         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
25349         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
25350         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
25351         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
25352         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
25353         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
25354         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
25355         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
25356         * modules/uniname/uniname-tests: Likewise.
25357         * modules/uninorm/canonical-decomposition-tests: Likewise.
25358         * modules/uninorm/compat-decomposition-tests: Likewise.
25359         * modules/uninorm/composition-tests: Likewise.
25360         * modules/uninorm/decomposing-form-tests: Likewise.
25361         * modules/uninorm/decomposition-tests: Likewise.
25362         * modules/uninorm/filter-tests: Likewise.
25363         * modules/uninorm/nfc-tests: Likewise.
25364         * modules/uninorm/nfd-tests: Likewise.
25365         * modules/uninorm/nfkc-tests: Likewise.
25366         * modules/uninorm/nfkd-tests: Likewise.
25367         * modules/uninorm/u8-normcmp-tests: Likewise.
25368         * modules/uninorm/u8-normcoll-tests: Likewise.
25369         * modules/uninorm/u16-normcmp-tests: Likewise.
25370         * modules/uninorm/u16-normcoll-tests: Likewise.
25371         * modules/uninorm/u32-normcmp-tests: Likewise.
25372         * modules/uninorm/u32-normcoll-tests: Likewise.
25373         * modules/unistdio/u8-asnprintf-tests: Likewise.
25374         * modules/unistdio/u8-vasnprintf-tests: Likewise.
25375         * modules/unistdio/u8-vasprintf-tests: Likewise.
25376         * modules/unistdio/u8-vsnprintf-tests: Likewise.
25377         * modules/unistdio/u8-vsprintf-tests: Likewise.
25378         * modules/unistdio/u16-asnprintf-tests: Likewise.
25379         * modules/unistdio/u16-vasnprintf-tests: Likewise.
25380         * modules/unistdio/u16-vasprintf-tests: Likewise.
25381         * modules/unistdio/u16-vsnprintf-tests: Likewise.
25382         * modules/unistdio/u16-vsprintf-tests: Likewise.
25383         * modules/unistdio/u32-asnprintf-tests: Likewise.
25384         * modules/unistdio/u32-vasnprintf-tests: Likewise.
25385         * modules/unistdio/u32-vasprintf-tests: Likewise.
25386         * modules/unistdio/u32-vsnprintf-tests: Likewise.
25387         * modules/unistdio/u32-vsprintf-tests: Likewise.
25388         * modules/unistdio/ulc-asnprintf-tests: Likewise.
25389         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
25390         * modules/unistdio/ulc-vasprintf-tests: Likewise.
25391         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
25392         * modules/unistdio/ulc-vsprintf-tests: Likewise.
25393         * modules/unistr/u8-check-tests: Likewise.
25394         * modules/unistr/u8-chr-tests: Likewise.
25395         * modules/unistr/u8-cmp-tests: Likewise.
25396         * modules/unistr/u8-cmp2-tests: Likewise.
25397         * modules/unistr/u8-cpy-alloc-tests: Likewise.
25398         * modules/unistr/u8-cpy-tests: Likewise.
25399         * modules/unistr/u8-mblen-tests: Likewise.
25400         * modules/unistr/u8-mbsnlen-tests: Likewise.
25401         * modules/unistr/u8-mbtouc-tests: Likewise.
25402         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
25403         * modules/unistr/u8-mbtoucr-tests: Likewise.
25404         * modules/unistr/u8-move-tests: Likewise.
25405         * modules/unistr/u8-next-tests: Likewise.
25406         * modules/unistr/u8-prev-tests: Likewise.
25407         * modules/unistr/u8-set-tests: Likewise.
25408         * modules/unistr/u8-stpcpy-tests: Likewise.
25409         * modules/unistr/u8-stpncpy-tests: Likewise.
25410         * modules/unistr/u8-strcat-tests: Likewise.
25411         * modules/unistr/u8-strcmp-tests: Likewise.
25412         * modules/unistr/u8-strcoll-tests: Likewise.
25413         * modules/unistr/u8-strcpy-tests: Likewise.
25414         * modules/unistr/u8-strdup-tests: Likewise.
25415         * modules/unistr/u8-strlen-tests: Likewise.
25416         * modules/unistr/u8-strmblen-tests: Likewise.
25417         * modules/unistr/u8-strmbtouc-tests: Likewise.
25418         * modules/unistr/u8-strncat-tests: Likewise.
25419         * modules/unistr/u8-strncmp-tests: Likewise.
25420         * modules/unistr/u8-strncpy-tests: Likewise.
25421         * modules/unistr/u8-strnlen-tests: Likewise.
25422         * modules/unistr/u8-to-u16-tests: Likewise.
25423         * modules/unistr/u8-to-u32-tests: Likewise.
25424         * modules/unistr/u8-uctomb-tests: Likewise.
25425         * modules/unistr/u16-check-tests: Likewise.
25426         * modules/unistr/u16-chr-tests: Likewise.
25427         * modules/unistr/u16-cmp-tests: Likewise.
25428         * modules/unistr/u16-cmp2-tests: Likewise.
25429         * modules/unistr/u16-cpy-alloc-tests: Likewise.
25430         * modules/unistr/u16-cpy-tests: Likewise.
25431         * modules/unistr/u16-mblen-tests: Likewise.
25432         * modules/unistr/u16-mbsnlen-tests: Likewise.
25433         * modules/unistr/u16-mbtouc-tests: Likewise.
25434         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
25435         * modules/unistr/u16-mbtoucr-tests: Likewise.
25436         * modules/unistr/u16-move-tests: Likewise.
25437         * modules/unistr/u16-next-tests: Likewise.
25438         * modules/unistr/u16-prev-tests: Likewise.
25439         * modules/unistr/u16-set-tests: Likewise.
25440         * modules/unistr/u16-stpcpy-tests: Likewise.
25441         * modules/unistr/u16-stpncpy-tests: Likewise.
25442         * modules/unistr/u16-strcat-tests: Likewise.
25443         * modules/unistr/u16-strcmp-tests: Likewise.
25444         * modules/unistr/u16-strcoll-tests: Likewise.
25445         * modules/unistr/u16-strcpy-tests: Likewise.
25446         * modules/unistr/u16-strdup-tests: Likewise.
25447         * modules/unistr/u16-strlen-tests: Likewise.
25448         * modules/unistr/u16-strmblen-tests: Likewise.
25449         * modules/unistr/u16-strmbtouc-tests: Likewise.
25450         * modules/unistr/u16-strncat-tests: Likewise.
25451         * modules/unistr/u16-strncmp-tests: Likewise.
25452         * modules/unistr/u16-strncpy-tests: Likewise.
25453         * modules/unistr/u16-strnlen-tests: Likewise.
25454         * modules/unistr/u16-to-u32-tests: Likewise.
25455         * modules/unistr/u16-to-u8-tests: Likewise.
25456         * modules/unistr/u16-uctomb-tests: Likewise.
25457         * modules/unistr/u32-check-tests: Likewise.
25458         * modules/unistr/u32-chr-tests: Likewise.
25459         * modules/unistr/u32-cmp-tests: Likewise.
25460         * modules/unistr/u32-cmp2-tests: Likewise.
25461         * modules/unistr/u32-cpy-alloc-tests: Likewise.
25462         * modules/unistr/u32-cpy-tests: Likewise.
25463         * modules/unistr/u32-mblen-tests: Likewise.
25464         * modules/unistr/u32-mbsnlen-tests: Likewise.
25465         * modules/unistr/u32-mbtouc-tests: Likewise.
25466         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
25467         * modules/unistr/u32-mbtoucr-tests: Likewise.
25468         * modules/unistr/u32-move-tests: Likewise.
25469         * modules/unistr/u32-next-tests: Likewise.
25470         * modules/unistr/u32-prev-tests: Likewise.
25471         * modules/unistr/u32-set-tests: Likewise.
25472         * modules/unistr/u32-stpcpy-tests: Likewise.
25473         * modules/unistr/u32-stpncpy-tests: Likewise.
25474         * modules/unistr/u32-strcat-tests: Likewise.
25475         * modules/unistr/u32-strcmp-tests: Likewise.
25476         * modules/unistr/u32-strcoll-tests: Likewise.
25477         * modules/unistr/u32-strcpy-tests: Likewise.
25478         * modules/unistr/u32-strdup-tests: Likewise.
25479         * modules/unistr/u32-strlen-tests: Likewise.
25480         * modules/unistr/u32-strmblen-tests: Likewise.
25481         * modules/unistr/u32-strmbtouc-tests: Likewise.
25482         * modules/unistr/u32-strncat-tests: Likewise.
25483         * modules/unistr/u32-strncmp-tests: Likewise.
25484         * modules/unistr/u32-strncpy-tests: Likewise.
25485         * modules/unistr/u32-strnlen-tests: Likewise.
25486         * modules/unistr/u32-to-u16-tests: Likewise.
25487         * modules/unistr/u32-to-u8-tests: Likewise.
25488         * modules/unistr/u32-uctomb-tests: Likewise.
25489         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
25490         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
25491         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
25492         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
25493         * modules/uniwidth/u8-strwidth-tests: Likewise.
25494         * modules/uniwidth/u8-width-tests: Likewise.
25495         * modules/uniwidth/u16-strwidth-tests: Likewise.
25496         * modules/uniwidth/u16-width-tests: Likewise.
25497         * modules/uniwidth/u32-strwidth-tests: Likewise.
25498         * modules/uniwidth/u32-width-tests: Likewise.
25499         * modules/uniwidth/width-tests: Likewise.
25500
25501 2010-05-18  Richard Jones  <rjones@redhat.com>
25502
25503         doc: users.txt: list hivex
25504         * users.txt: Add hivex.
25505
25506 2010-05-18  Richard Jones  <rjones@redhat.com>
25507
25508         doc: users.txt: list febootstrap
25509         * users.txt: Add febootstrap.
25510
25511 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
25512
25513         bootstrap: fix an error when gnulib is not used as a git submodule
25514         * build-aux/bootstrap (gnulib_path): If its length is zero then
25515         assign "gnulib" to it.
25516         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
25517
25518 2010-05-16  Bruno Haible  <bruno@clisp.org>
25519
25520         Avoid autoconf warnings about AM_ICONV.
25521         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
25522         2.64.
25523
25524 2010-05-16  Bruno Haible  <bruno@clisp.org>
25525
25526         absolute-header: Make the macro usable in more situations.
25527         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
25528         from gl_ABSOLUTE_HEADER.
25529         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
25530
25531 2010-05-16  James Youngman  <jay@gnu.org>
25532
25533         doc: update users.txt
25534         * users.txt: Add CSSC.
25535
25536 2010-05-16  Jim Meyering  <meyering@redhat.com>
25537
25538         init.sh: fix an error in the previous change; add more comments
25539         * tests/init.sh: Compare exit code in loop against 9, not 2.
25540         Patch by Bruno Haible.
25541         Make the two tests more similar by adding an empty "then" clause.
25542         Add comments.
25543
25544         init.sh: avoid unnecessary shell re-exec
25545         * tests/init.sh: Improve the re-exec-required check to first test the
25546         current shell.  If it passes the test, do not search for a shell that
25547         does pass, and do not re-exec.  This test is particularly contorted to
25548         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
25549         of $(...) evokes a syntax error and causes immediate shell exit with
25550         status 2.  Bruno Haible reported that the re-exec made it impossible
25551         to single-step through any init.sh-using script.
25552
25553 2010-05-16  Bruno Haible  <bruno@clisp.org>
25554
25555         Fix collision between gnulib's and libintl's printf replacements.
25556         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
25557         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
25558         (printf): When using GNU C, map the __printf__ function to rpl_printf
25559         via __asm__. When not using GNU C, define rpl_printf instead of
25560         __printf__.
25561         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
25562         commit.
25563         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
25564         commit.
25565         * m4/asm-underscore.m4: New file.
25566         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
25567         * modules/stdio (Files): Add m4/asm-underscore.m4.
25568         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
25569         Reported by Ben Pfaff.
25570
25571 2010-05-16  Bruno Haible  <bruno@clisp.org>
25572
25573         verify: Avoid skipping the test on openSUSE 11.0.
25574         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
25575
25576 2010-05-13  Bruno Haible  <bruno@clisp.org>
25577
25578         Avoid useless warnings from G++.
25579         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
25580         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
25581         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
25582
25583 2010-05-11  Jim Meyering  <meyering@redhat.com>
25584
25585         maint.mk: tweak preceding change
25586         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
25587         regexps tighter by anchoring at EOL, and make the new group "shy"
25588         for slightly decreased overhead.
25589
25590 2010-05-11  Eric Blake  <eblake@redhat.com>
25591
25592         maint.mk: gnulib doesn't guarantee NSIG
25593         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
25594
25595 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
25596
25597         test-pwrite.c: Remove unused variable declaration.
25598         * tests/test-pwrite.c (main): Remove read_buf declaration.
25599
25600         Remove useless test-pwrite.sh file.
25601         * tests/test-pwrite.sh: Delete file.
25602         * modules/pwrite-tests: Remove references.
25603         Reported by Bruno Haible.
25604
25605 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
25606
25607         init.sh: fix a typo
25608         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
25609
25610 2010-05-10  Jim Meyering  <meyering@redhat.com>
25611
25612         maint.mk: avoid using a temporary file in the always-defined-macros check
25613         * top/maint.mk (.re-defmac): Remove rule.
25614         (gl_trap_): Remove definition.
25615         (sc_prohibit_always-defined_macros): Rewrite not to create and
25616         depend on a temporary file.  Instead, depend on GNU grep's ability
25617         to read a list of regular expressions from stdin when given "-f -".
25618
25619 2010-05-09  Bruno Haible  <bruno@clisp.org>
25620
25621         Update to GNU gettext 0.18, part 1.
25622         * m4/gettext.m4: Update to GNU gettext 0.18.
25623         * m4/intl.m4: Likewise.
25624         * m4/po.m4: Likewise.
25625         * modules/gettext (Files): Add m4/fcntl-o.m4.
25626         (configure.ac): Require gettext infrastructure from version 0.18.
25627
25628 2010-05-09  Jim Meyering  <meyering@redhat.com>
25629
25630         init.sh: enable MALLOC_PERTURB_
25631         * tests/init.sh: Enable glibc's malloc-perturbing option.
25632
25633         maint.mk: improve sc_cross_check_PATH_usage_in_tests
25634         With my recent change in init.sh from the two-line form:
25635             -#   : ${srcdir=.}
25636             -#   . "$srcdir/init.sh"; path_prepend_ .
25637             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
25638         I noticed that using the one-line form would cause this test
25639         to fail with a false-positive, or to stop working altogether,
25640         depending on whether help-version changed or all the tests did.
25641         * top/maint.mk (_hv_regex): Remove this definition.
25642         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
25643         (_hv_regex_strong): Use a stronger regex to check for conformance.
25644         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
25645         Give a separate diagnostic for lack of conforming use.
25646
25647         maint.mk: prohibit definition of symbols defined by gnulib
25648         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
25649         definition of symbols defined by gnulib.
25650
25651 2010-05-09  Bruno Haible  <bruno@clisp.org>
25652
25653         acl: Avoid test failure on Cygwin-hosted mingw.
25654         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
25655
25656 2010-05-09  Bruno Haible  <bruno@clisp.org>
25657
25658         error: Use system's fcntl function.
25659         * lib/error.c (fcntl): Undefine.
25660
25661 2010-05-09  Jim Meyering  <meyering@redhat.com>
25662
25663         verify: adjust formatting to be more consistent
25664         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
25665         argument-list '('s, and after one comma.
25666
25667 2010-05-09  Bruno Haible  <bruno@clisp.org>
25668
25669         error: More reliable output on mingw.
25670         * lib/error.c: Include <windows.h>.
25671         (is_open): New function.
25672         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
25673         defined.
25674
25675 2010-05-09  Bruno Haible  <bruno@clisp.org>
25676
25677         vasnprintf: Fix syntax errors in libintl build on mingw.
25678         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
25679         pad_ourselves and prec_ourselves after use.
25680
25681 2010-05-08  Bruno Haible  <bruno@clisp.org>
25682
25683         * lib/config.charset: Update comments for Cygwin 1.7.
25684         * lib/localcharset.c: Likewise.
25685
25686 2010-05-07  Jim Meyering  <meyering@redhat.com>
25687
25688         init.sh: improve comments
25689         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
25690         . "${srcdir=.}/init.sh"; path_prepend_ .
25691         Add a note about path_prepend_ and the alternative of using
25692         TESTS_ENVIRONMENT.
25693
25694 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
25695
25696         exclude: Unescape hashed patterns in wildcard mode.
25697         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
25698         to the hash list.
25699         * tests/test-exclude8.sh: New test case.
25700         * modules/exclude-tests: Add new test.
25701
25702 2010-05-05  Eric Blake  <eblake@redhat.com>
25703
25704         verify: automate tests
25705         * modules/verify-tests: New module.
25706         * tests/test-verify.sh: New file.
25707         * tests/test-verify.c: Guard each negative test with a unique id.
25708         Also avoid warning about unused left hand of comma expressions.
25709
25710 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
25711
25712         Further improvements to verify.h, suggested by Eric Blake.
25713         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
25714         the GL_* versions, to avoid collision with OpenGL.
25715         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
25716         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
25717         than testing merely whether it's defined.
25718
25719         Modify verify.h to pacify gcc -Wredundant_decls.
25720         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
25721         These use the prefix "GL_" since they're likely to be useful elsewhere.
25722         We may need to break them out into a different .h file.
25723         (__COUNTER__): Define to 0 if the compiler doesn't support it.
25724         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
25725         of verify_function__.
25726
25727 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
25728
25729         Tests for module pwrite.
25730         * modules/pwrite-tests: New file.
25731         * tests/test-pwrite.sh: New file.
25732         * tests/test-pwrite.c: New file.
25733
25734         New module pwrite.
25735         * lib/unistd.in.h (pwrite): New declaration.
25736         * lib/pwrite.c: New file, from glibc with modifications.
25737         * m4/pwrite.m4: New file.
25738         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
25739         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
25740         REPLACE_PWRITE.
25741         * modules/pwrite: New file.
25742         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
25743         REPLACE_PWRITE.
25744         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
25745         * doc/posix-functions/pwrite.texi: Mention the new module.
25746
25747 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
25748
25749         pread: Update documentation.
25750         * doc/posix-functions/pread.texi: Mention the 'pread' module.
25751
25752 2010-05-04  Eric Blake  <eblake@redhat.com>
25753
25754         docs: update cygwin progress
25755         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
25756         this bug.
25757         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
25758         Added in cygwin 1.7.2.
25759         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
25760         Likewise.
25761         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
25762         Likewise.
25763         * doc/glibc-functions/dup3.texi (dup3): Likewise.
25764         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
25765         * doc/glibc-functions/accept4.texi (accept4): Likewise.
25766         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
25767         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
25768         Mention nproc module.
25769         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
25770         bug in cygwin 1.7.5 addition.
25771         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
25772         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
25773         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
25774         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
25775         1.7.5.
25776         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
25777         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
25778         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
25779         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
25780         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
25781         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
25782         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
25783         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
25784         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
25785         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
25786         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
25787         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
25788         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
25789         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
25790         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
25791         Likewise.
25792         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
25793         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
25794         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
25795         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
25796         Likewise.
25797         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
25798         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
25799         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
25800         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
25801         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
25802         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
25803         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
25804         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
25805         Likewise.
25806         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
25807         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
25808         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
25809         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
25810         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
25811         Likewise.
25812         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
25813         Likewise.
25814         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
25815         Likewise.
25816         * doc/glibc-functions/xdrrec_endofrecord.texi
25817         (xdrrec_endofrecord): Likewise.
25818         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
25819         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
25820         Likewise.
25821         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
25822         Likewise.
25823
25824 2010-05-04  Jim Meyering  <meyering@redhat.com>
25825
25826         gendocs.sh: make its "-s FILE" option more useful
25827         * build-aux/gendocs.sh: When honoring the -s FILE option, update
25828         $PACKAGE to reflect the probably-different basename of "FILE".
25829
25830 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
25831
25832         bootstrap: don't ignore download_po_files failure
25833         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
25834         failure.
25835
25836 2010-05-03  Jim Meyering  <meyering@redhat.com>
25837
25838         maint.mk: allow to pass options to gendocs.sh
25839         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
25840         (gendocs_options_): New overridable variable.
25841
25842         gnu-web-doc-update: don't ignore configure or build failure
25843         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
25844
25845         announce-gen: backslash-escape '@'s in --help output
25846         * build-aux/announce-gen: Fix syntax errors.
25847
25848         maint.mk, announce-gen: allow project-specific announcement mail headers
25849         * top/maint.mk (translation_project_): Define default.
25850         (announcement_Cc_, announcement_mail_headers_): Likewise.
25851         (announcement): Invoke announce-gen with new --mail-headers option.
25852         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
25853
25854         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
25855         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
25856         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
25857         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
25858         line in the "err2" output file when running "make check" in verbose
25859         mode (i.e., with set -x enabled).
25860
25861 2010-05-03  Bruno Haible  <bruno@clisp.org>
25862
25863         wctob: Fix for weird platforms.
25864         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
25865         argument value.
25866
25867 2010-05-03  Jim Meyering  <meyering@redhat.com>
25868
25869         maint.mk: prohibit unwarranted use of <strings.h>
25870         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
25871         strings.h in a file that does not also use strcasecmp, strncasecmp,
25872         ffs or ffsll.
25873
25874         maint.mk: remove obsolete comments
25875         * top/maint.mk: Remove stale, commented-out rules.
25876
25877 2010-05-02  Bruno Haible  <bruno@clisp.org>
25878
25879         wcwidth: Declare also when it's aliased.
25880         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
25881         macro.
25882
25883 2010-05-02  Bruno Haible  <bruno@clisp.org>
25884
25885         Fix regression from 2010-04-25.
25886         * gnulib-tool (func_modules_transitive_closure): Check the status of
25887         all modules, not only of the tests that are of the form foo-tests where
25888         foo is a module.
25889
25890 2010-05-02  Bruno Haible  <bruno@clisp.org>
25891
25892         wctob: Work around nasty Cygwin 1.7.2 bug.
25893         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
25894         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
25895
25896 2010-05-01  Bruno Haible  <bruno@clisp.org>
25897
25898         fpurge: Sharper test.
25899         * tests/test-fpurge.c (main): Add one more ftell check.
25900         * modules/fpurge-tests (Depends-on): Add ftell.
25901         Suggested by Eric Blake.
25902
25903 2010-05-01  Bruno Haible  <bruno@clisp.org>
25904
25905         ftello: Another test.
25906         * tests/test-ftello3.c: New file.
25907         * modules/ftello-tests (Files): Add it.
25908         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
25909         MOSTLYCLEANFILES.
25910
25911         ftell: Another test.
25912         * tests/test-ftell3.c: New file.
25913         * modules/ftell-tests (Files): Add it.
25914         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
25915         MOSTLYCLEANFILES.
25916
25917 2010-05-01  Bruno Haible  <bruno@clisp.org>
25918
25919         ftell, ftello: Work around Solaris bug.
25920         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
25921         * lib/ftello.c: Include stdio-impl.h.
25922         (ftello): On Solaris, when _IOWRT is set, compute the result without
25923         looking at _IOREAD.
25924         * modules/ftello (Files): Add lib/stdio-impl.h.
25925         * doc/posix-functions/ftell.texi: Mention Solaris bug.
25926         * doc/posix-functions/ftello.texi: Likewise.
25927         Reported by Eric Blake.
25928
25929 2010-05-01  Bruno Haible  <bruno@clisp.org>
25930
25931         freading: Adapt to special meaning of _IOREAD flag on Solaris.
25932         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
25933         the _IOWRT flag is also set.
25934
25935 2010-05-01  Bruno Haible  <bruno@clisp.org>
25936
25937         Fix doc about a HP-UX stdio bug.
25938         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
25939         * doc/posix-functions/ftello.texi: Likewise.
25940
25941 2010-05-01  Bruno Haible  <bruno@clisp.org>
25942
25943         lseek test: Fix failure on Solaris.
25944         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
25945         output.
25946
25947 2010-04-30  Jim Meyering  <meyering@redhat.com>
25948
25949         bootstrap: don't ignore failure to generate po*/Makevars
25950         * build-aux/bootstrap (with_gettext): Don't ignore failure
25951         to create po/Makevars or runtime-po/Makevars.
25952
25953 2010-04-29  Eric Blake  <eblake@redhat.com>
25954
25955         headers: relax license to LGPLv2+
25956         * modules/fcntl-h (License): Relax license.
25957         * modules/getopt-posix (License): Likewise.
25958         * modules/locale (License): Likewise.
25959         * modules/math (License): Likewise.
25960         * modules/pty (License): Likewise.
25961         * modules/sched (License): Likewise.
25962         * modules/search (License): Likewise.
25963         * modules/spawn (License): Likewise.
25964         * modules/stdarg (License): Likewise.
25965         * modules/sysexits (License): Likewise.
25966
25967 2010-04-29  Jim Meyering  <meyering@redhat.com>
25968
25969         inttypes: relax license to LGPLv2+
25970         * modules/inttypes (License): Relax license.
25971
25972 2010-04-29  Simon Josefsson  <simon@josefsson.org>
25973
25974         * top/maint.mk (indent): Run twice to produce idempotent results.
25975
25976 2010-04-28  Bruno Haible  <bruno@clisp.org>
25977
25978         getdate: Generate getdate.c in the source directory.
25979         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
25980         MOSTLYCLEANFILES.
25981         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
25982
25983 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
25984
25985         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
25986         is not declared as a const *; avoid warnings in that case.
25987
25988 2010-04-28  Eric Blake  <eblake@redhat.com>
25989
25990         canonicalize-lgpl: avoid compiler warning
25991         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
25992         declaration' / 'extraneous semicolon' warning with some compilers.
25993         Reported by Andreas Gruenbacher.
25994
25995 2010-04-28  Jim Meyering  <meyering@redhat.com>
25996
25997         init.sh: ensure a more reliable exit status when exiting via trap
25998         * tests/init.sh (setup_): Don't rely on $? in signal handler.
25999         Inspired by patches from Dmitry V. Levin.
26000         Also trap on signal 3 (SIGQUIT).
26001
26002 2010-04-27  Bruno Haible  <bruno@clisp.org>
26003
26004         Update doc about utimes().
26005         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
26006         'utimens' module.
26007         Reported by Andreas Gruenbacher <agruen@suse.de>.
26008
26009 2010-04-27  Eric Blake  <eblake@redhat.com>
26010
26011         full-read, full-write: relax license
26012         * modules/full-read (License): Drop to LGPLv2+.
26013         * modules/full-write (License): Likewise.
26014         * modules/safe-read (License): Likewise.
26015         * modules/safe-write (License): Likewise.
26016
26017         pthread: mention library for linking
26018         * modules/pthread (Link): Mention $(LIB_PTHREAD).
26019
26020 2010-04-27  Jim Meyering  <meyering@redhat.com>
26021
26022         maint.mk: fix a bug introduced in last change
26023         * top/maint.mk (gl_assured_headers_): Now that all names are on
26024         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
26025         is not anchored to end of word, it should be adequate.
26026
26027         maint.mk: avoid side-effect in latest syntax-check
26028         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
26029         to run commands via $(shell...), and hence to incur cost only when
26030         the new rule is actually run.
26031
26032         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
26033         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
26034         and use that to create a regexp used to detect all #if HAVE_..._H uses.
26035         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
26036         (gl_assured_headers_, az_, AZ_): Define.
26037         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
26038
26039 2010-04-26  Jim Meyering  <jim@meyering.net>
26040             Bruno Haible  <bruno@clisp.org>
26041
26042         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
26043         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
26044         Prompted by an exchange with Gilles Espinasse.
26045
26046 2010-04-26  Jim Meyering  <meyering@redhat.com>
26047
26048         git-version-gen: aesthetic tweak
26049         * build-aux/git-version-gen: Use "$nl" rather than a literal,
26050         so that the command remains on a single line.
26051
26052 2010-04-26  Eric Blake  <eblake@redhat.com>
26053
26054         git-version-gen: allow use on EBCDIC hosts
26055         * build-aux/git-version-gen (dirty): Use literal rather than tying
26056         ourselves to ascii.
26057         Reported by Steve Goetze.
26058
26059 2010-04-25  Bruno Haible  <bruno@clisp.org>
26060
26061         netdb: Add support for GNULIB_POSIXCHECK.
26062         * lib/netdb.in.h: Include warn-on-use.h.
26063         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
26064         functions are used when GNULIB_POSIXCHECK is defined and the
26065         getaddrinfo module is not in use.
26066         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
26067         freeaddrinfo, gai_strerror, getnameinfo are declared.
26068         * modules/netdb (Depends-on): Add warn-on-use.
26069         (Makefile.am): Include warn-on-use.h in netdb.h.
26070
26071 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
26072
26073         build: avoid "make check" failure without .git/ directory
26074         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
26075         there is no .git/ directory.
26076
26077 2010-04-25  Bruno Haible  <bruno@clisp.org>
26078
26079         ptsname: Fix misuse of ttyname_r.
26080         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
26081         of errno.
26082
26083 2010-04-25  Bruno Haible  <bruno@clisp.org>
26084
26085         ttyname_r: Make it work on Solaris 10.
26086         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
26087         if the system function has the POSIX declaration. Test whether the
26088         function fails if the buffer is less than 128 bytes large.
26089         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
26090         system's ttyname_r function. Provide a reasonably large buffer.
26091         * modules/ttyname_r (Depends-on): Add extensions.
26092         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
26093
26094 2010-04-25  Bruno Haible  <bruno@clisp.org>
26095
26096         Use the 'extensions' module for some more functions on Solaris.
26097         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
26098         module.
26099         * doc/posix-functions/ctime_r.texi: Likewise.
26100         * doc/posix-functions/getgrgid_r.texi: Likewise.
26101         * doc/posix-functions/getgrnam_r.texi: Likewise.
26102         * doc/posix-functions/getpwnam_r.texi: Likewise.
26103         * doc/posix-functions/getpwuid_r.texi: Likewise.
26104         * doc/posix-functions/readdir_r.texi: Likewise.
26105         * doc/posix-functions/sigwait.texi: Likewise.
26106         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
26107         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
26108
26109 2010-04-25  Bruno Haible  <bruno@clisp.org>
26110
26111         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
26112         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
26113         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
26114         * lib/ttyname_r.c: Include <limits.h>.
26115         (ttyname_r): Define using the system's ttyname_r function, if it exists
26116         and not on Solaris.
26117         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
26118         set.
26119         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
26120         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
26121         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
26122         Reported by Simon Josefsson.
26123
26124 2010-04-25  Bruno Haible  <bruno@clisp.org>
26125
26126         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
26127         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
26128         * doc/posix-functions/ctime_r.texi: Likewise.
26129         * doc/posix-functions/getgrgid_r.texi: Likewise.
26130         * doc/posix-functions/getgrnam_r.texi: Likewise.
26131         * doc/posix-functions/getlogin_r.texi: Likewise.
26132         * doc/posix-functions/getpwnam_r.texi: Likewise.
26133         * doc/posix-functions/getpwuid_r.texi: Likewise.
26134         * doc/posix-functions/readdir_r.texi: Likewise.
26135         * doc/posix-functions/sigwait.texi: Likewise.
26136         * doc/posix-functions/ttyname_r.texi: Likewise.
26137         Reported by Simon Josefsson.
26138
26139 2010-04-25  Bruno Haible  <bruno@clisp.org>
26140
26141         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
26142         * gnulib-tool (func_usage): Document that --with-*-tests options apply
26143         also to --create-testdir.
26144         (func_acceptable): Don't consider the status of *-tests modules here.
26145         (func_modules_transitive_closure): Consider it here, before including a
26146         test module.
26147         (func_import, func_create_testdir): Set inc_all_direct_tests,
26148         inc_all_indirect_tests.
26149         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
26150         --create-testdir and --create-megatestdir.
26151
26152 2010-04-25  Bruno Haible  <bruno@clisp.org>
26153
26154         gnulib-tool: Add --without-*-tests options.
26155         * gnulib-tool (func_usage): Document the --without-*-tests options.
26156         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
26157         excl_unportable_tests): New variables.
26158         Fail if they are specified with --import or --update.
26159         (func_acceptable): Respect the excl_*_tests variables.
26160         (func_import): Set the excl_*_tests variables to empty.
26161
26162 2010-04-25  Simon Josefsson  <simon@josefsson.org>
26163             Bruno Haible  <bruno@clisp.org>
26164
26165         Work around a MacOS X 10.4 bug with openpty.
26166         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
26167         * tests/test-openpty.c (main): Close the master side explicitly.
26168
26169 2010-04-25  Bruno Haible  <bruno@clisp.org>
26170
26171         strnlen: Fix a C++ test error on MacOS X and Solaris.
26172         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
26173         the function is not declared.
26174         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
26175         Simon Josefsson.
26176
26177 2010-04-24  Bruno Haible  <bruno@clisp.org>
26178
26179         Avoid a gcc warning.
26180         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
26181         of correct type for %08lx directive.
26182         Reported by Eric Blake.
26183
26184 2010-04-24  Bruno Haible  <bruno@clisp.org>
26185
26186         vasnprintf: Correct errno value in case of out-of-memory.
26187         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
26188         or sprintf. Use the errno value from SNPRINTF or sprintf.
26189         Reported by Ian Beckwith <ianb@erislabs.net>.
26190
26191 2010-04-24  Bruno Haible  <bruno@clisp.org>
26192
26193         ansi-c++-opt: Find correct compiler when cross-compiling.
26194         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
26195         AC_CHECK_PROGS.
26196         Reported by Simon Josefsson.
26197
26198 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
26199
26200         vc-list-files: Add support for subversion
26201         * build-aux/vc-list-files: Use "svn list" to generate the list of
26202         files controlled by subversion.
26203
26204 2010-04-23  Jim Meyering  <meyering@redhat.com>
26205
26206         vc-list-files tests: convert to use init.sh
26207         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
26208         path_prepend_.
26209         Use Exit, not exit.
26210         Use skip_ rather than open coding it.
26211         Remove trap set-up and compare definitions.
26212         * tests/test-vc-list-files-git.sh: Likewise.
26213         * modules/vc-list-files-tests (Files): Add tests/init.sh.
26214
26215 2010-04-22  Simon Josefsson  <simon@josefsson.org>
26216
26217         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
26218         backup files.
26219
26220 2010-04-21  Simon Josefsson  <simon@josefsson.org>
26221
26222         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
26223
26224 2010-04-20  Eric Blake  <eblake@redhat.com>
26225
26226         tests: be robust to ignored SIGPIPE
26227         * tests/test-select-in.sh: Consume all output.
26228         * tests/test-lseek.sh: Check correct exit status, while avoiding
26229         EPIPE.
26230
26231 2010-04-20  Simon Josefsson  <simon@josefsson.org>
26232             Bruno Haible  <bruno@clisp.org>
26233
26234         visibility: Don't use -fvisibility if it leads to a warning.
26235         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
26236         yes, don't pretend that visibility works if it leads to a warning.
26237         Reported by Mike Gran <spk121@yahoo.com>.
26238
26239 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
26240
26241         * build-aux/bootstrap: Use "git -h" for testing for supported options
26242         instead of "git --help".  The short-form option only shows a summary,
26243         and doesn't layout the full man page.  Grep for the full option name
26244         in the summary, too.
26245
26246 2010-04-19  Bruno Haible  <bruno@clisp.org>
26247
26248         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
26249         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
26250         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
26251         mention of RELOCATABLE_STRIP.
26252         Reported by Sylvain Beucler <beuc@beuc.net>.
26253
26254 2010-04-19  Bruno Haible  <bruno@clisp.org>
26255
26256         * lib/diffseq.h: Fix typo in comment.
26257         Reported by Eric Blake.
26258
26259 2010-04-19  Bruno Haible  <bruno@clisp.org>
26260
26261         ioctl: Move autoconf macro to a .m4 file.
26262         * m4/ioctl.m4: New file, extracted from modules/ioctl.
26263         * modules/ioctl (Files): Add it.
26264         (configure.ac): Simply invoke gl_FUNC_IOCTL.
26265         Reported by Ian Beckwith <ianb@erislabs.net>.
26266
26267 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
26268             Bruno Haible  <bruno@clisp.org>
26269
26270         diffseq: Accommodate use-case with abstract arrays.
26271         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
26272         is not defined.
26273         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
26274         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
26275
26276 2010-04-18  Bruno Haible  <bruno@clisp.org>
26277
26278         * doc/posix-headers/stdbool.texi: More precise wording.
26279
26280 2010-04-17  Jim Meyering  <meyering@redhat.com>
26281
26282         maint.mk: use gnu-style indentation in an embedded perl script
26283         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
26284         Rename variable: s/two/last_two_bytes/
26285
26286 2010-04-16  Eric Blake  <eblake@redhat.com>
26287
26288         test-stdbool: skip test that fails with Solaris CC
26289         * tests/test-stdbool.c (f): Skip test that causes compilation
26290         error under buggy C++ compiler.
26291         * lib/stdbool.in.h: Document the limitation.
26292         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
26293
26294         setenv: allow compilation with C++
26295         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
26296         register keyword.
26297
26298         stdint: allow test to pass with C++
26299         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
26300
26301         getopt: allow compilation with C++
26302         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
26303         struct.
26304         * lib/getopt.c (_getopt_internal_r): Use correct type.
26305         Reported by Dagobert Michelson, via Joel E. Denny.
26306
26307 2010-04-16  Bruno Haible  <bruno@clisp.org>
26308
26309         Override netdb.h always.
26310         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
26311         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
26312         Reported by Ludovic Courtès <ludo@gnu.org>.
26313
26314 2010-04-15  Bruno Haible  <bruno@clisp.org>
26315
26316         openpty: Fix mistake from 2010-03-21.
26317         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
26318         Reported by Simon Josefsson.
26319
26320 2010-04-15  Eric Blake  <eblake@redhat.com>
26321
26322         test-forkpty: fix expected signature
26323         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
26324         Reported by Simon Josefsson.
26325
26326 2010-04-15  Jim Meyering  <meyering@redhat.com>
26327
26328         maint.mk: texinfo_suffix_re_: correct the default regexp
26329         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
26330
26331         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
26332         make it configurable via texinfo_suffix_re_.
26333
26334 2010-04-14  Eric Blake  <eblake@redhat.com>
26335
26336         strtok_r: relax license to LGPLv2+
26337         * modules/strtok_r (License): Relax license.
26338         Reported by Matthias Bolte.
26339
26340 2010-04-14  Simon Josefsson  <simon@josefsson.org>
26341
26342         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
26343         version 1.4.4 by default instead of requiring the libgcrypt
26344         version used during build.  This makes it possible to use the
26345         application with older but still binary compatible libgcrypt
26346         versions.
26347
26348 2010-04-13  Eric Blake  <eblake@redhat.com>
26349
26350         getopt-gnu: match recent glibc fixes and posix ruling
26351         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
26352         '+' handling, when requesting extensions.
26353         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
26354         'W;' handling.
26355         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
26356         * doc/posix-functions/getopt.texi (getopt): Document this.
26357         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
26358         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26359         Likewise.
26360
26361         getopt: merge bug fixes from glibc
26362         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
26363         diagnostics.  Honor '+:' correctly.  Reject ';'.
26364
26365         getopt-posix: detect MacOS bug
26366         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
26367         optind when missing a required argument.
26368         * doc/posix-functions/getopt.texi (getopt): Document the bug.
26369         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
26370         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26371         Likewise.
26372
26373         getopt-posix: avoid spurious failure on Solaris
26374         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
26375         an indicator that setting optind=1 is sufficient for reset.
26376
26377         getopt-posix: avoid spurious failure on FreeBSD
26378         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
26379         in POSIX mode, since the m4 test uses it.
26380
26381         gnulib-tool: silence warning on BSD sh
26382         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
26383
26384 2010-04-13  Jim Meyering  <meyering@redhat.com>
26385
26386         doc: users.txt: GNU patch now uses gnulib
26387         * users.txt: Add patch.
26388
26389 2010-04-12  Jim Meyering  <meyering@redhat.com>
26390
26391         maint.mk: generate more concise timing data for syntax-check rules
26392         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
26393         " done" from each line that reports a syntax-check test duration.
26394
26395 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
26396
26397         git-version-gen: use "git update-index..." rather than "git status"
26398         * build-aux/git-version-gen: Use git update-index --refresh, not
26399         "git status".  With some versions of git, "git status" would fail
26400         to update the index and result in an unwarranted "-dirty" suffix.
26401
26402 2010-04-11  Jim Meyering  <meyering@redhat.com>
26403
26404         openat: correct formatting (no semantic change)
26405         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
26406         Suggested by Bruno Haible.
26407
26408 2010-04-11  Bruno Haible  <bruno@clisp.org>
26409
26410         Stricter declaration checking in testdirs.
26411         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
26412         If for_tests is true, augment AM_CPPFLAGS to define
26413         GNULIB_STRICT_CHECKING.
26414         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
26415         GNULIB_STRICT_CHECKING is defined, verify that the function is
26416         declared.
26417
26418 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
26419             Bruno Haible  <bruno@clisp.org>
26420
26421         libunistring: Improve configure output.
26422         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
26423         Don't say "consider installing GNU libunistring" when checking again
26424         with libiconv.
26425
26426 2010-04-11  Bruno Haible  <bruno@clisp.org>
26427
26428         libunistring: Correct value of $LTLIBUNISTRING.
26429         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
26430         correct the value of $LTLIBUNISTRING.
26431
26432 2010-04-11  Bruno Haible  <bruno@clisp.org>
26433
26434         havelib: Add static libraries to LIBS in the right order.
26435         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
26436         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
26437
26438 2010-04-11  Bruno Haible  <bruno@clisp.org>
26439
26440         libunistring: Detect libunistring also when it depends on libiconv.
26441         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
26442         the second AC_LIB_HAVE_LINKFLAGS invocation.
26443
26444 2010-04-11  James Youngman  <jay@gnu.org>
26445
26446         close-stream: declare local scalars to be "const"
26447         * lib/close-stream.c (close_stream): Make boolean variables const
26448         to document the fact that we set but do not change them.
26449
26450 2010-04-11  Bruno Haible  <bruno@clisp.org>
26451
26452         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
26453
26454 2010-04-11  Jim Meyering  <meyering@redhat.com>
26455
26456         maint.mk: don't include dist-check.mk
26457         * top/maint.mk: Remove bogus include directive.
26458
26459         maint.mk: improve empty-line-at-EOF check
26460         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
26461         solution, rather than tail+Perl-based one.  The latter would read
26462         a few kilobytes from the end of each file, and did not handle empty
26463         files properly.
26464
26465         maint.mk: print the elapsed time for each syntax-check rule
26466         * top/maint.mk (sc_m_rules_): Save start time in a file.
26467         (sc_z_rules_): New rules: remove temp file and print elapsed time.
26468         (local-check): Interpose the .z rules
26469
26470 2010-04-11  Jim Meyering  <meyering@redhat.com>
26471
26472         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
26473         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
26474         empty file with one that ends in an empty line.
26475
26476 2010-04-10  Bruno Haible  <bruno@clisp.org>
26477
26478         mkdir: Make it work on mingw64.
26479         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
26480         * lib/mkdir.c: Update comment.
26481         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
26482
26483 2010-04-10  Bruno Haible  <bruno@clisp.org>
26484
26485         Don't override improved macro from newer autoconf.
26486         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
26487         autoconf >= 2.62.
26488         Reported by Joel E. Denny <jdenny@clemson.edu>.
26489
26490 2010-04-10  Jim Meyering  <meyering@redhat.com>
26491
26492         maint.mk: new syntax-check rule: prohibit empty lines at end of file
26493         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
26494
26495         maint.mk: correct a diagnostic
26496         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
26497         in diagnostic; now use $prohibit.
26498
26499 2010-04-10  Bruno Haible  <address@hidden>
26500
26501         fchownat: Fix a C++ test error on Solaris 8.
26502         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
26503         the function does not exist.
26504
26505 2010-04-10  Bruno Haible  <bruno@clisp.org>
26506
26507         vasnprintf: Add more tests.
26508         * tests/test-vasnprintf-posix.c: Include <errno.h>.
26509         (test_function): Test converting an invalid wide string.
26510
26511         vasnprintf: Correct handling of unconvertible wide string arguments.
26512         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
26513         VASNPRINTF.
26514         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
26515         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
26516         smaller than the expected maximum need for the directive. Set errno to
26517         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
26518         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
26519         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
26520         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
26521         * modules/vasnprintf (Files): Add m4/printf.m4.
26522         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26523
26524 2010-04-10  Bruno Haible  <bruno@clisp.org>
26525
26526         vasnprintf: Fix crash in %ls directive.
26527         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
26528         string is passed as argument to %ls, with no precision and no width.
26529         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26530
26531 2010-04-10  Bruno Haible  <bruno@clisp.org>
26532
26533         vasnprintf: Fix multiple test failures on mingw.
26534         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
26535         _snprintf, or snwprintf, not _snwprintf.
26536
26537 2010-04-10  Bruno Haible  <bruno@clisp.org>
26538
26539         write: Fix a C++ test error on mingw.
26540         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
26541
26542 2010-04-10  Bruno Haible  <bruno@clisp.org>
26543
26544         vasnprintf test: Reduce code duplication.
26545         * tests/test-vasnprintf.c (test_function): New function, extracted from
26546         test_vasnprintf.
26547         (test_vasnprintf, test_asnprintf): Invoke it.
26548
26549 2010-04-10  Bruno Haible  <bruno@clisp.org>
26550
26551         strnlen: Fix warning in C++ mode on MacOS X.
26552         * lib/string.in.h (strnlen): Use the modern idiom.
26553         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
26554         defining strnlen as a macro already in <config.h>.
26555         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
26556         REPLACE_STRNLEN.
26557         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
26558         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26559
26560 2010-04-08  James Youngman  <jay@gnu.org>
26561
26562         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
26563         the example.
26564
26565 2010-04-09  Jim Meyering  <meyering@redhat.com>
26566
26567         maint.mk: print better diagnostic when there is no $(_hv_file)
26568         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
26569         announce that when $(_hv_file) (aka help-version) does not exist.
26570
26571         init.sh: run tr in the "C" locale to avoid multibyte interpretation
26572         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
26573         not try to interpret its random input bytes.  Jarno Rajahalme reported
26574         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
26575         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
26576         (mktempd_): Likewise, just in case.
26577
26578         ftruncate: add two years to projected module removal date: 2012
26579         * m4/ftruncate.m4: Adjust comments.
26580
26581         ftruncate: mark module as obsolete; even MinGW provides it, now
26582         * modules/ftruncate (Status): Obsolete.
26583         (Notice): Say that.
26584         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
26585         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
26586
26587 2010-04-08  Bruno Haible  <bruno@clisp.org>
26588
26589         Fix side effects from tests-related modules.
26590         * modules/dprintf-posix (Comment): New section.
26591         * modules/fprintf-posix (Comment): Likewise.
26592         * modules/obstack-printf-posix (Comment): Likewise.
26593         * modules/printf-posix (Comment): Likewise.
26594         * modules/snprintf-posix (Comment): Likewise.
26595         * modules/sprintf-posix (Comment): Likewise.
26596         * modules/vasnprintf-posix (Comment): Likewise.
26597         * modules/vasprintf-posix (Comment): Likewise.
26598         * modules/vdprintf-posix (Comment): Likewise.
26599         * modules/vfprintf-posix (Comment): Likewise.
26600         * modules/vprintf-posix (Comment): Likewise.
26601         * modules/vsnprintf-posix (Comment): Likewise.
26602         * modules/vsprintf-posix (Comment): Likewise.
26603         * modules/xprintf-posix (Comment): Likewise.
26604         * modules/xvasprintf-posix (Comment): Likewise.
26605         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
26606         * modules/floorf-tests (Depends-on): Likewise.
26607         * modules/round-tests (Depends-on): Likewise.
26608         * modules/roundf-tests (Depends-on): Likewise.
26609         * modules/trunc-tests (Depends-on): Likewise.
26610         * modules/truncf-tests (Depends-on): Likewise.
26611         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
26612         'fprintf-posix' module is not present.
26613         * tests/test-floorf2.c (check): Likewise.
26614         * tests/test-trunc2.c (check): Likewise.
26615         * tests/test-truncf2.c (check): Likewise.
26616         * tests/test-round2.c (equal): Likewise.
26617         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26618
26619 2010-04-07  Karl Berry  <karl@gnu.org>
26620
26621         * config/srclist.txt,
26622         * config/srclistvars.sh,
26623         * config/srclist-update: doc fixes.
26624
26625 2010-04-07  Jim Meyering  <meyering@redhat.com>
26626
26627         maint.mk: add a PATH crosschecking syntax-check rule
26628         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
26629         Useful if you use a test like the one in help-version (coreutils,
26630         diffutils, grep, gzip) that ensures $(VERSION) matches what is
26631         printed by prog --version.
26632
26633 2010-04-06  Bruno Haible  <bruno@clisp.org>
26634
26635         Fix link error on mingw.
26636         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
26637         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
26638
26639 2010-04-06  Bruno Haible  <bruno@clisp.org>
26640
26641         Assume rmdir exists.
26642         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
26643
26644 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
26645
26646         doc: update users.txt
26647         * users.txt: Add gcal.
26648
26649 2010-04-06  Jim Meyering  <meyering@redhat.com>
26650
26651         init.sh: simply unset TMPDIR rather than risking env -i
26652         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
26653         although it probably works fine on all Unix-based systems, some
26654         systems (Cygwin?) cannot tolerate a totally cleared environment.
26655         Suggestion from Eric Blake.
26656
26657 2010-04-06  Jim Meyering  <meyering@redhat.com>
26658
26659         init.sh: portability fix: use env's POSIX-specified -i option not -u
26660         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
26661         than unportable env -u.  Solaris 5.11's env lacks support for -u.
26662
26663 2010-04-05  Bruno Haible  <bruno@clisp.org>
26664
26665         btowc: Work around Cygwin 1.7.2 bug.
26666         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
26667         does not map NUL to 0.
26668         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
26669
26670 2010-04-05  Bruno Haible  <bruno@clisp.org>
26671
26672         Make the multithread modules work on Cygwin 1.7.2.
26673         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
26674         imported symbols can be declared weak, so that it returns "no" on
26675         Cygwin 1.7.2.
26676
26677 2010-04-05  Bruno Haible  <bruno@clisp.org>
26678
26679         Use the module 'strncat'.
26680         * modules/unistr/u8-strncat (Depends-on): Add strncat.
26681
26682         Tests for module 'strncat'.
26683         * modules/strncat-tests: New file.
26684         * tests/test-strncat.c: New file.
26685
26686         New module 'strncat'.
26687         * lib/string.in.h (strncat): New declaration.
26688         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
26689         * m4/strncat.m4: New file, based on m4/memchr.m4.
26690         * modules/strncat: New file.
26691         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
26692         is declared.
26693         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
26694         REPLACE_STRNCAT.
26695         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
26696         REPLACE_STRNCAT.
26697         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
26698         module.
26699         * tests/test-string-c++.cc: Check signature of strncat.
26700
26701 2010-04-05  Jim Meyering  <meyering@redhat.com>
26702
26703         xstrtoumax-tests: convert to use init.sh
26704         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
26705         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
26706         Use Exit, not exit.
26707         Remove uses of $EXEEXT and "./" to run a program in the current dir.
26708
26709         xstrtoimax-tests: convert to use init.sh
26710         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
26711         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
26712         Use Exit, not exit.
26713         Remove uses of $EXEEXT and "./" to run a program in the current dir.
26714
26715 2010-04-05  Bruno Haible  <bruno@clisp.org>
26716
26717         sys_socket: Avoid #define replacements in C++ mode.
26718         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
26719         warning to the function if possible, rather than #defining the symbol
26720         to a dysfunctional alias.
26721
26722 2010-04-05  Bruno Haible  <bruno@clisp.org>
26723
26724         fseeko: Fix C++ test error on mingw.
26725         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
26726         gl_FUNC_FSEEKO.
26727         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
26728         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
26729         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
26730         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
26731
26732 2010-04-05  Bruno Haible  <bruno@clisp.org>
26733
26734         duplocale: Improve test output.
26735         * tests/test-duplocale.c (main): Print reason for skipped test.
26736
26737 2010-04-05  Bruno Haible  <bruno@clisp.org>
26738
26739         Assume rmdir exists.
26740         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
26741         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
26742
26743 2010-04-05  Bruno Haible  <bruno@clisp.org>
26744
26745         Fix link error on Solaris 8 with cc.
26746         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
26747
26748 2010-04-05  Bruno Haible  <bruno@clisp.org>
26749
26750         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
26751         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
26752
26753 2010-04-05  Bruno Haible  <bruno@clisp.org>
26754
26755         vasprintf: Update documentation.
26756         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
26757
26758 2010-04-05  Bruno Haible  <bruno@clisp.org>
26759
26760         ptsname: Improve test.
26761         * tests/test-ptsname.c (main): Also try the various master names of BSD
26762         systems.
26763
26764 2010-04-05  Bruno Haible  <bruno@clisp.org>
26765
26766         memchr: Avoid a possible C++ test error.
26767         * lib/string.in.h (memchr): Provide declaration if function is missing.
26768         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
26769         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
26770         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
26771         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
26772
26773 2010-04-05  Bruno Haible  <bruno@clisp.org>
26774
26775         strtok_r: Improve idiom.
26776         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
26777         AC_LIBOBJ is used.
26778
26779 2010-04-05  Bruno Haible  <bruno@clisp.org>
26780
26781         strdup: Improve idiom.
26782         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
26783         AC_LIBOBJ is used.
26784         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
26785         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
26786         when AC_LIBOBJ is used.
26787
26788 2010-04-05  Bruno Haible  <bruno@clisp.org>
26789
26790         mbsinit, mbrtowc, wcrtomb: Improve idioms.
26791         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
26792         don't set REPLACE_MBSINIT to 1.
26793         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
26794         don't set REPLACE_MBRTOWC to 1.
26795         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
26796         exist, don't set REPLACE_MBSRTOWCS to 1.
26797         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
26798         exist, don't set REPLACE_MBSNRTOWCS to 1.
26799         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
26800         don't set REPLACE_WCRTOMB to 1.
26801         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
26802         exist, don't set REPLACE_WCSRTOMBS to 1.
26803         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
26804         exist, don't set REPLACE_WCSNRTOMBS to 1.
26805
26806 2010-04-05  Bruno Haible  <bruno@clisp.org>
26807
26808         ldexpl: Improve idiom.
26809         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
26810         make sure to set HAVE_DECL_LDEXPL to 0.
26811
26812 2010-04-05  Jim Meyering  <meyering@redhat.com>
26813
26814         xstrtol-tests: convert to use init.sh
26815         * modules/xstrtol-tests (Files): Add tests/init.sh.
26816         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
26817         Use Exit, not exit.
26818         Remove uses of $EXEEXT and "./" to run a program in the current dir.
26819
26820         atexit-tests: convert to use init.sh
26821         * modules/atexit-tests (Files): Add tests/init.sh.
26822         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
26823         Use Exit, not exit.
26824         Remove uses of $EXEEXT and "./" to run a program in the current dir.
26825
26826         init.sh: fix typo
26827         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
26828
26829         init.sh: make it easier for a test script to write to the tty, ...
26830         when using automake's parallel-tests mode.
26831         * tests/init.sh (stderr_fileno_): Define overridable variable.
26832         (warn_): New function, to use it.
26833         (fail_, skip_, framework_failure_): Use warn_.
26834
26835 2010-04-04  Bruno Haible  <bruno@clisp.org>
26836
26837         btowc: Avoid warning.
26838         * lib/btowc.c: Include <stdlib.h>.
26839         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
26840
26841 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
26842             Bruno Haible  <bruno@clisp.org>
26843
26844         wchar: Port to NetBSD 1.5.
26845         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
26846         * lib/wctype.in.h (WEOF): Likewise.
26847
26848 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
26849             Bruno Haible  <bruno@clisp.org>
26850
26851         Port extended stdio to NetBSD 1.5.
26852         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
26853         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
26854         older.
26855
26856 2010-04-04  Bruno Haible  <bruno@clisp.org>
26857
26858         string: Remove unused substitution.
26859         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
26860         HAVE_DECL_STRERROR.
26861         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
26862
26863 2010-04-04  Bruno Haible  <bruno@clisp.org>
26864
26865         strtod: Avoid a possible C++ test error.
26866         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
26867         set REPLACE_STRTOD.
26868
26869 2010-04-04  Bruno Haible  <bruno@clisp.org>
26870
26871         strerror: Update documentation.
26872         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
26873
26874 2010-04-04  Bruno Haible  <bruno@clisp.org>
26875
26876         stdio: Fix some C++ test errors on Solaris 8 with GCC.
26877         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
26878         _GL_CXXALIAS_SYS_CAST.
26879
26880 2010-04-04  Bruno Haible  <bruno@clisp.org>
26881
26882         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
26883         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
26884         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
26885         REPLACE_FREXPL to 1.
26886         * doc/posix-functions/frexpl.texi: Update documentation.
26887
26888 2010-04-04  Bruno Haible  <bruno@clisp.org>
26889
26890         math: Fix some C++ test errors on Solaris 8 and Cygwin.
26891         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
26892
26893 2010-04-04  Bruno Haible  <bruno@clisp.org>
26894
26895         Implement nanosleep for native Windows.
26896         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
26897
26898 2010-04-04  Bruno Haible  <bruno@clisp.org>
26899
26900         math: Fix some C++ test errors on Solaris 8.
26901         * lib/math.in.h (truncf, trunc): Use simpler idiom.
26902
26903 2010-04-04  Bruno Haible  <bruno@clisp.org>
26904
26905         math: Fix some C++ test errors on Cygwin.
26906         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
26907         truncl): Provide declaration if the system does not have it.
26908         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
26909         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
26910         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
26911         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
26912         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
26913         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
26914         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
26915         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
26916         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
26917         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
26918         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
26919         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
26920         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
26921         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
26922         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
26923         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
26924         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
26925         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
26926         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
26927         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
26928         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
26929         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
26930
26931 2010-04-04  Bruno Haible  <bruno@clisp.org>
26932
26933         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
26934         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
26935         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
26936         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
26937         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
26938         * m4/isinf.m4 (gl_ISINF): Likewise.
26939         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
26940
26941 2010-04-04  Bruno Haible  <bruno@clisp.org>
26942
26943         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
26944         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
26945
26946 2010-04-04  Bruno Haible  <bruno@clisp.org>
26947
26948         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
26949         * modules/tmpfile (configure.ac): Update.
26950
26951         tmpfile: Fix C++ test error on mingw.
26952         * lib/stdio.in.h (tmpfile): New declaration.
26953         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
26954         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
26955         * modules/tmpfile (Depends-on): Add stdio.
26956         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
26957         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
26958         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
26959         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
26960         REPLACE_TMPFILE.
26961         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
26962
26963 2010-04-04  Bruno Haible  <bruno@clisp.org>
26964
26965         ioctl: Fix C++ test error on mingw.
26966         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
26967         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
26968         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
26969
26970 2010-04-03  Bruno Haible  <bruno@clisp.org>
26971
26972         wcwidth: Fix C++ test error on mingw.
26973         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
26974         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
26975         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
26976
26977 2010-04-03  Bruno Haible  <bruno@clisp.org>
26978
26979         nanosleep: Fix C++ test error on mingw.
26980         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
26981         * lib/time.in.h (nanosleep): Use modern idiom.
26982         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
26983         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
26984         REPLACE_NANOSLEEP to 1.
26985         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
26986         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
26987
26988 2010-04-03  Bruno Haible  <bruno@clisp.org>
26989
26990         strptime: Fix C++ test error on mingw.
26991         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
26992         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
26993         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
26994         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
26995         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
26996         not REPLACE_STRPTIME.
26997         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
26998         REPLACE_STRPTIME.
26999
27000 2010-04-03  Bruno Haible  <bruno@clisp.org>
27001
27002         timegm: Fix C++ test error on mingw.
27003         * lib/time.in.h (timegm): Use modern idiom.
27004         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
27005         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
27006         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
27007         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
27008
27009 2010-04-03  Bruno Haible  <bruno@clisp.org>
27010
27011         timegm: Assume declaration if function exists.
27012         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
27013         if it exists. Don't clobber ac_cv_func_timegm.
27014
27015 2010-04-03  Bruno Haible  <bruno@clisp.org>
27016
27017         time_r: Fix C++ test error on mingw.
27018         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
27019         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
27020         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
27021         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
27022         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
27023
27024 2010-04-03  Bruno Haible  <bruno@clisp.org>
27025
27026         time_r: Minor updates.
27027         * modules/time_r (Description): Mention the provided functions.
27028         * lib/time_r.c: Don't include <string.h>.
27029         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
27030         * doc/posix-functions/localtime_r.texi: Likewise.
27031
27032 2010-04-03  Bruno Haible  <bruno@clisp.org>
27033
27034         time: Fix regression introduced on 2010-03-08.
27035         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
27036         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
27037
27038 2010-04-03  Jim Meyering  <meyering@redhat.com>
27039
27040         maint.mk: don't silently disable project-specific syntax-check rules
27041         * top/maint.mk (_prohibit_regexp): Define, to help people realize
27042         that they need to convert their project-specific syntax-check rules
27043         to use the new _sc_search_regexp.
27044
27045 2010-04-03  Bruno Haible  <bruno@clisp.org>
27046
27047         fchdir: Fix regression introduced on 2010-03-08.
27048         * lib/unistd.in.h (fchdir): Fix declaration.
27049         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
27050         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
27051         REPLACE_FCHDIR.
27052         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
27053         REPLACE_FCHDIR.
27054
27055 2010-04-03  Bruno Haible  <bruno@clisp.org>
27056
27057         getpagesize: Fix C++ test error on mingw.
27058         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
27059         system does not declare the function.
27060         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
27061         declared.
27062         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27063         HAVE_DECL_GETPAGESIZE.
27064         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
27065
27066 2010-04-03  Bruno Haible  <bruno@clisp.org>
27067
27068         stdio: Make C++ tests work on mingw.
27069         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
27070         does not declare the function.
27071
27072 2010-04-03  Bruno Haible  <bruno@clisp.org>
27073
27074         ftello: Fix C++ test error on mingw.
27075         * lib/stdio.in.h (ftello): Use modern idiom.
27076         * lib/ftello.c (ftello): Renamed from rpl_ftello.
27077         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
27078         is missing and that it needs to be replaced.
27079         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
27080         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
27081         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
27082
27083 2010-04-03  Bruno Haible  <bruno@clisp.org>
27084
27085         fseeko: Fix C++ test error on mingw.
27086         * lib/stdio.in.h (fseeko): Use modern idiom.
27087         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
27088         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
27089         is missing and that it needs to be replaced.
27090         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
27091         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
27092         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
27093
27094 2010-04-03  Bruno Haible  <bruno@clisp.org>
27095
27096         mkstemp: Fix C++ test error on mingw.
27097         * lib/stdlib.in.h (mkstemp): Use modern idiom.
27098         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
27099         function is missing and that it needs to be replaced.
27100         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
27101         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
27102
27103 2010-04-03  Bruno Haible  <bruno@clisp.org>
27104
27105         stpncpy: Fix C++ test error on mingw.
27106         * lib/string.in.h (stpncpy): Use modern idiom.
27107         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
27108         function is missing and that it needs to be replaced.
27109         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
27110         REPLACE_STPNCPY.
27111         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
27112
27113 2010-04-03  Bruno Haible  <bruno@clisp.org>
27114
27115         sys_stat: Fix C++ test error on mingw.
27116         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
27117         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
27118
27119 2010-04-03  Bruno Haible  <bruno@clisp.org>
27120
27121         pty: Update doc.
27122         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
27123
27124 2010-04-03  Bruno Haible  <bruno@clisp.org>
27125
27126         unistd: Fix C++ test error on mingw.
27127         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
27128
27129 2010-04-03  Bruno Haible  <bruno@clisp.org>
27130
27131         Update doc regarding mingw.
27132         * doc/glibc-functions/openpty.texi: Update regarding mingw.
27133         * doc/glibc-functions/login_tty.texi: Likewise.
27134         * doc/glibc-functions/forkpty.texi: Likewise.
27135
27136 2010-04-03  Bruno Haible  <bruno@clisp.org>
27137
27138         stdlib: Avoid compilation failure of c-strtold on mingw.
27139         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
27140
27141 2010-04-03  Bruno Haible  <bruno@clisp.org>
27142
27143         locale: Make C++ tests work on Cygwin and mingw.
27144         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
27145         cannot provide the function.
27146         Reported by Simon Josefsson.
27147
27148 2010-04-03  Bruno Haible  <bruno@clisp.org>
27149
27150         localename: Port to MacOS X 10.6.
27151         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
27152         memory layout of the locales in MacOS X 10.6 as well.
27153         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
27154
27155 2010-04-02  Bruno Haible  <bruno@clisp.org>
27156
27157         gnulib-tool: Ensure that long-running tests are executed last.
27158         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
27159         running tests after the one for the other tests.
27160
27161 2010-04-02  Bruno Haible  <bruno@clisp.org>
27162
27163         gnulib-tool: Ensure the tests in the main directory are executed first.
27164         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
27165         start with the current directory.
27166
27167 2010-04-02  Bruno Haible  <bruno@clisp.org>
27168
27169         Tests for module 'havelib', moved here from GNU gettext.
27170         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
27171         modifications.
27172         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
27173         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
27174         with modifications.
27175         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
27176         modifications.
27177         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
27178         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
27179         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
27180         with modifications.
27181         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
27182         with modifications.
27183         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
27184         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
27185         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
27186         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
27187         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
27188         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
27189         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
27190         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
27191         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
27192         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
27193         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
27194         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
27195         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
27196         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
27197         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
27198         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
27199         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
27200         with modifications.
27201         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
27202         with modifications.
27203         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
27204         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
27205         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
27206         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
27207         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
27208         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
27209         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
27210         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
27211         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
27212         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
27213         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
27214         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
27215         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
27216         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
27217         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
27218         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
27219         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
27220         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
27221         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
27222         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
27223         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
27224         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
27225         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
27226         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
27227         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
27228         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
27229         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
27230         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
27231         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
27232         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
27233         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
27234         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
27235         * tests/havelib/rpathx/rpathx.c: New file, from
27236         gettext/autoconf-lib-link.
27237         * tests/havelib/rpathx/Makefile.am: New file, from
27238         gettext/autoconf-lib-link.
27239         * tests/havelib/rpathx/configure.ac: New file, from
27240         gettext/autoconf-lib-link with modifications.
27241         * tests/havelib/rpathy/rpathy.c: New file, from
27242         gettext/autoconf-lib-link.
27243         * tests/havelib/rpathy/Makefile.am: New file, from
27244         gettext/autoconf-lib-link.
27245         * tests/havelib/rpathy/configure.ac: New file, from
27246         gettext/autoconf-lib-link with modifications.
27247         * tests/havelib/rpathz/rpathz.c: New file, from
27248         gettext/autoconf-lib-link.
27249         * tests/havelib/rpathz/Makefile.am: New file, from
27250         gettext/autoconf-lib-link.
27251         * tests/havelib/rpathz/configure.ac: New file, from
27252         gettext/autoconf-lib-link with modifications.
27253         * tests/havelib/rpathlx/usex.c: New file, from
27254         gettext/autoconf-lib-link.
27255         * tests/havelib/rpathlx/Makefile.am: New file, from
27256         gettext/autoconf-lib-link.
27257         * tests/havelib/rpathlx/configure.ac: New file, from
27258         gettext/autoconf-lib-link with modifications.
27259         * tests/havelib/rpathly/usey.c: New file, from
27260         gettext/autoconf-lib-link.
27261         * tests/havelib/rpathly/Makefile.am: New file, from
27262         gettext/autoconf-lib-link.
27263         * tests/havelib/rpathly/configure.ac: New file, from
27264         gettext/autoconf-lib-link with modifications.
27265         * tests/havelib/rpathlz/usez.c: New file, from
27266         gettext/autoconf-lib-link.
27267         * tests/havelib/rpathlz/Makefile.am: New file, from
27268         gettext/autoconf-lib-link.
27269         * tests/havelib/rpathlz/configure.ac: New file, from
27270         gettext/autoconf-lib-link with modifications.
27271         * tests/havelib/rpathlyx/usey.c: New file, from
27272         gettext/autoconf-lib-link.
27273         * tests/havelib/rpathlyx/Makefile.am: New file, from
27274         gettext/autoconf-lib-link.
27275         * tests/havelib/rpathlyx/configure.ac: New file, from
27276         gettext/autoconf-lib-link with modifications.
27277         * tests/havelib/rpathlzyx/usez.c: New file, from
27278         gettext/autoconf-lib-link.
27279         * tests/havelib/rpathlzyx/Makefile.am: New file, from
27280         gettext/autoconf-lib-link.
27281         * tests/havelib/rpathlzyx/configure.ac: New file, from
27282         gettext/autoconf-lib-link with modifications.
27283         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
27284         with modifications.
27285
27286 2010-04-02  Bruno Haible  <bruno@clisp.org>
27287
27288         gnulib-tool: Create distributed built sources also for the tests.
27289         * gnulib-tool (func_create_testdir): Also generate distributed built
27290         sources in the tests directory.
27291
27292 2010-04-02  Bruno Haible  <bruno@clisp.org>
27293
27294         gnulib-tool: Obey user's environment variables.
27295         * gnulib-tool (func_create_testdir): When creating built sources,
27296         respect the environment variables for autoconf, automake, etc. given by
27297         the user.
27298
27299 2010-04-02  Bruno Haible  <bruno@clisp.org>
27300
27301         gnulib-tool: Provide the value of --m4-base to modules.
27302         * gnulib-tool (func_import, func_create_testdir): Emit a definition
27303         of gl_m4_base.
27304
27305 2010-04-02  Eric Blake  <eblake@redhat.com>
27306
27307         maint.mk: fix some fallout
27308         * NEWS: Document the incompatible change, and its effect on cfg.mk.
27309         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
27310
27311 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
27312
27313         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
27314         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
27315         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
27316         (sc_cast_of_x_alloc_return_value): Likewise.
27317         (sc_cast_of_alloca_return_value): Likewise.
27318         (sc_space_tab): Likewise.
27319         (sc_prohibit_atoi_atof): Likewise.
27320         (sc_prohibit_magic_number_exit): Likewise.
27321         (sc_error_exit_success): Likewise.
27322         (sc_file_system): Likewise.
27323         (sc_prohibit_have_config_h): Likewise.
27324         (sc_require_config_h): Likewise.
27325         (sc_prohibit_HAVE_MBRTOWC): Likewise.
27326         (sc_obsolete_symbols): Likewise.
27327         (sc_changelog): Likewise.
27328         (sc_program_name): Likewise.
27329         (sc_the_the): Likewise.
27330         (sc_trailing_blank): Likewise.
27331         (sc_two_space_separator_in_usage): Likewise.
27332         (sc_useless_cpp_parens): Likewise.
27333         (sc_GPL_version): Likewise.
27334         (sc_GFDL_version): Likewise.
27335         (sc_texinfo_acronym): Likewise.
27336         (sc_prohibit_cvs_keyword): Likewise.
27337         (sc_prohibit_stat_st_blocks): Likewise.
27338         (sc_prohibit_S_IS_definition): Likewise.
27339         (sc_redundant_const): Likewise.
27340         (sc_makefile_TAB_only_indentation): Likewise.
27341         (sc_m4_quote_check): Likewise.
27342         (sc_makefile_path_separator_check): Likewise.
27343         (sc_copyright_check): Likewise.
27344         (sc_Wundef_boolean): Likewise.
27345         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
27346
27347         maint.mk: match 0 or more whitespace-before-function-call '('
27348         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
27349         that have zero or two-and-more spaces between the function name
27350         and the open parenthesis.
27351         (sc_error_message_warn_fatal): Likewise.
27352         (sc_error_message_uppercase): Likewise.
27353         (sc_error_message_period): Likewise.
27354
27355 2010-03-31  Eric Blake  <eblake@redhat.com>
27356
27357         maint.mk: check for [ as well as test
27358         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
27359         Based on a libvirt report by Matthias Bolte.
27360
27361         gnumakefile: don't squelch _version output
27362         * top/GNUmakefile (_version): Create one-shot dependency rather
27363         than using $(shell) when version must be regenerated.
27364         (_autoreconf): Run verbosely, by default.
27365
27366         sys_time: avoid compiler warnings
27367         * lib/sys_time.in.h (includes): Ensure gcc pragma is
27368         unconditional, fixing regression from 2010-03-29.
27369         Reported by Simon Josefsson.
27370
27371 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
27372
27373         maint.mk: s/_header_without_use/_sc_header_without_use/
27374         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
27375         (sc_prohibit_assert_without_use): Use the new name.
27376         (sc_prohibit_close_stream_without_use): Likewise.
27377         (sc_prohibit_getopt_without_use): Likewise.
27378         (sc_prohibit_quotearg_without_use): Likewise.
27379         (sc_prohibit_quote_without_use): Likewise.
27380         (sc_prohibit_long_options_without_use): Likewise.
27381         (sc_prohibit_inttostr_without_use): Likewise.
27382         (sc_prohibit_ignore_value_without_use): Likewise.
27383         (sc_prohibit_error_without_use): Likewise.
27384         (sc_prohibit_xalloc_without_use): Likewise.
27385         (sc_prohibit_hash_without_use): Likewise.
27386         (sc_prohibit_hash_pjw_without_use): Likewise.
27387         (sc_prohibit_safe_read_without_use): Likewise.
27388         (sc_prohibit_argmatch_without_use): Likewise.
27389         (sc_prohibit_canonicalize_without_use): Likewise.
27390         (sc_prohibit_root_dev_ino_without_use): Likewise.
27391         (sc_prohibit_openat_without_use): Likewise.
27392         (sc_prohibit_c_ctype_without_use): Likewise.
27393         (sc_prohibit_signal_without_use): Likewise.
27394         (sc_prohibit_intprops_without_use): Likewise.
27395
27396 2010-03-30  Eric Blake  <eblake@redhat.com>
27397
27398         maint: improve module indicators
27399         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
27400         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
27401         columns, and avoid extra macro expansion.
27402
27403         fdopendir: work around FreeBSD bug
27404         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
27405         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
27406         * modules/dirent (Makefile.am): Substitute it.
27407         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
27408         declaration.
27409         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
27410         fix.
27411         Reported by Christian Weisgerber <naddy@mips.inka.de>.
27412
27413 2010-03-29  Bruno Haible  <bruno@clisp.org>
27414
27415         Emit #pragma system_header after the inclusion guard, not before.
27416         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
27417         guard that spans the entire file, not before. This enables an
27418         optimization in GCC's preprocessor.
27419         * lib/ctype.in.h: Likewise.
27420         * lib/dirent.in.h: Likewise.
27421         * lib/errno.in.h: Likewise.
27422         * lib/float.in.h: Likewise.
27423         * lib/getopt.in.h: Likewise.
27424         * lib/iconv.in.h: Likewise.
27425         * lib/langinfo.in.h: Likewise.
27426         * lib/locale.in.h: Likewise.
27427         * lib/math.in.h: Likewise.
27428         * lib/netdb.in.h: Likewise.
27429         * lib/netinet_in.in.h: Likewise.
27430         * lib/pty.in.h: Likewise.
27431         * lib/sched.in.h: Likewise.
27432         * lib/se-selinux.in.h: Likewise.
27433         * lib/search.in.h: Likewise.
27434         * lib/spawn.in.h: Likewise.
27435         * lib/stdarg.in.h: Likewise.
27436         * lib/stdint.in.h: Likewise.
27437         * lib/string.in.h: Likewise.
27438         * lib/strings.in.h: Likewise.
27439         * lib/sys_file.in.h: Likewise.
27440         * lib/sys_ioctl.in.h: Likewise.
27441         * lib/sys_time.in.h: Likewise.
27442         * lib/sys_times.in.h: Likewise.
27443         * lib/sys_utsname.in.h: Likewise.
27444         * lib/sys_wait.in.h: Likewise.
27445         * lib/sysexits.in.h: Likewise.
27446         * lib/wctype.in.h: Likewise.
27447
27448 2010-03-28  James Youngman  <jay@gnu.org>
27449
27450         save-cwd: don't leak a file descriptor when the caller execs.
27451         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
27452         saved file descriptor.
27453         * modules/save-cwd (Depends-on): Depend on cloexec.
27454
27455 2010-03-29  Bruno Haible  <bruno@clisp.org>
27456
27457         Remove vestiges of fts-lgpl module.
27458         * lib/fts_.h: Assume GNULIB_FTS is 1.
27459         * lib/fts.c: Likewise.
27460         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
27461
27462 2010-03-28  Bruno Haible  <bruno@clisp.org>
27463
27464         Fix definition of tests witness macro.
27465         * gnulib-tool (func_import): Fix definition of witness macro.
27466
27467 2010-03-28  Bruno Haible  <bruno@clisp.org>
27468
27469         Fix ioctl's protoype on glibc systems.
27470         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
27471         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
27472         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
27473         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
27474         signature. If not, arrange to replace the ioctl function.
27475         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
27476         REPLACE_IOCTL.
27477         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
27478         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
27479         Reported by Ludovic Courtès <ludo@gnu.org>.
27480
27481 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
27482
27483         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
27484         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
27485         made it so grep -r --include=GLOB* ... did not work.
27486
27487 2010-03-26  Jim Meyering  <meyering@redhat.com>
27488             Eric Blake  <eblake@redhat.com>
27489
27490         maint.mk: prohibit use of test's -o and -a operators
27491         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
27492
27493 2010-03-28  Bruno Haible  <bruno@clisp.org>
27494
27495         Remove unused GNULIB_XYZ macro definitions.
27496         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
27497         invocation.
27498
27499 2010-03-28  Bruno Haible  <bruno@clisp.org>
27500
27501         Mark privileged tests modules.
27502         * modules/idpriv-drop-tests (Status): New section.
27503         * modules/idpriv-droptemp-tests (Status): New section.
27504
27505 2010-03-28  Bruno Haible  <bruno@clisp.org>
27506
27507         Split C++ tests into separate tests modules.
27508         * modules/dirent-c++-tests: New file, extracted from
27509         modules/dirent-tests.
27510         * modules/dirent-tests: Depend on it.
27511         * modules/fcntl-h-c++-tests: New file, extracted from
27512         modules/fcntl-h-tests.
27513         * modules/fcntl-h-tests: Depend on it.
27514         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
27515         * modules/glob-tests: Depend on it.
27516         * modules/iconv-h-c++-tests: New file, extracted from
27517         modules/iconv-h-tests.
27518         * modules/iconv-h-tests: Depend on it.
27519         * modules/langinfo-c++-tests: New file, extracted from
27520         modules/langinfo-tests.
27521         * modules/langinfo-tests: Depend on it.
27522         * modules/locale-c++-tests: New file, extracted from
27523         modules/locale-tests.
27524         * modules/locale-tests: Depend on it.
27525         * modules/math-c++-tests: New file, extracted from modules/math-tests.
27526         * modules/math-tests: Depend on it.
27527         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
27528         * modules/pty-tests: Depend on it.
27529         * modules/search-c++-tests: New file, extracted from
27530         modules/search-tests.
27531         * modules/search-tests: Depend on it.
27532         * modules/signal-c++-tests: New file, extracted from
27533         modules/signal-tests.
27534         * modules/signal-tests: Depend on it.
27535         * modules/spawn-c++-tests: New file, extracted from
27536         modules/spawn-tests.
27537         * modules/spawn-tests: Depend on it.
27538         * modules/stdio-c++-tests: New file, extracted from
27539         modules/stdio-tests.
27540         * modules/stdio-tests: Depend on it.
27541         * modules/stdlib-c++-tests: New file, extracted from
27542         modules/stdlib-tests.
27543         * modules/stdlib-tests: Depend on it.
27544         * modules/string-c++-tests: New file, extracted from
27545         modules/string-tests.
27546         * modules/string-tests: Depend on it.
27547         * modules/sys_ioctl-c++-tests: New file, extracted from
27548         modules/sys_ioctl-tests.
27549         * modules/sys_ioctl-tests: Depend on it.
27550         * modules/sys_select-c++-tests: New file, extracted from
27551         modules/sys_select-tests.
27552         * modules/sys_select-tests: Depend on it.
27553         * modules/sys_socket-c++-tests: New file, extracted from
27554         modules/sys_socket-tests.
27555         * modules/sys_socket-tests: Depend on it.
27556         * modules/sys_stat-c++-tests: New file, extracted from
27557         modules/sys_stat-tests.
27558         * modules/sys_stat-tests: Depend on it.
27559         * modules/sys_time-c++-tests: New file, extracted from
27560         modules/sys_time-tests.
27561         * modules/sys_time-tests: Depend on it.
27562         * modules/time-c++-tests: New file, extracted from modules/time-tests.
27563         * modules/time-tests: Depend on it.
27564         * modules/unistd-c++-tests: New file, extracted from
27565         modules/unistd-tests.
27566         * modules/unistd-tests: Depend on it.
27567         * modules/wchar-c++-tests: New file, extracted from
27568         modules/wchar-tests.
27569         * modules/wchar-tests: Depend on it.
27570         * modules/wctype-c++-tests: New file, extracted from
27571         modules/wctype-tests.
27572         * modules/wctype-tests: Depend on it.
27573         Reported by Simon Josefsson.
27574
27575 2010-03-28  Bruno Haible  <bruno@clisp.org>
27576
27577         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
27578         * gnulib-tool (func_exists_module): New function, extracted from
27579         func_verify_module.
27580         (func_verify_module): Use it.
27581         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
27582         'foo' only if 'foo' exists.
27583         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
27584         module.
27585
27586 2010-03-28  Bruno Haible  <bruno@clisp.org>
27587
27588         gnulib-tool: Add support for special categories of tests.
27589         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
27590         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
27591         (func_usage): Document them.
27592         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
27593         inc_unportable_tests, inc_all_tests): New variables.
27594         (func_acceptable): Consider these variables.
27595         (func_modules_transitive_closure): Make it work when the 'Status' field
27596         consists of multiple words.
27597         (func_import): Store and restore the values of inc_cxx_tests,
27598         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
27599         inc_all_tests in gnulib-comp.m4.
27600         (func_create_testdir): Set inc_all_tests to true.
27601         * doc/gnulib.texi (Extra tests modules): New section.
27602         Suggested by Jim Meyering.
27603
27604 2010-03-28  Bruno Haible  <bruno@clisp.org>
27605
27606         ansi-c++-opt: Allow turning off the C++ build by default.
27607         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
27608         gl_CXX_CHOICE_DEFAULT_NO is defined.
27609         Requested by Eric Blake.
27610
27611 2010-03-28  Bruno Haible  <bruno@clisp.org>
27612
27613         unistd: Avoid #define replacements in C++ mode.
27614         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
27615         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
27616         setsockopt, shutdown, select): In C++, attach a warning to the function
27617         if possible, rather than #defining the symbol to a dysfunctional alias.
27618         Reported by John W. Eaton <jwe@gnu.org>.
27619
27620 2010-03-28  Bruno Haible  <bruno@clisp.org>
27621
27622         Fix link errors on mingw.
27623         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
27624         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
27625         $(LIBSOCKET).
27626         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
27627         $(LIBSOCKET).
27628
27629 2010-03-28  Bruno Haible  <bruno@clisp.org>
27630             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27631
27632         lib-ignore: Determine different options for different compilers.
27633         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
27634         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
27635         Add comments.
27636         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
27637         * NEWS: Mention the change.
27638
27639 2010-03-27  Bruno Haible  <bruno@clisp.org>
27640
27641         Remove unused GNULIB_XYZ macro definitions.
27642         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
27643         * modules/fseek (configure.ac): Likewise.
27644         * modules/ioctl (configure.ac): Likewise.
27645         * modules/open (configure.ac): Likewise.
27646         * modules/stdlib-safer (configure.ac): Likewise.
27647
27648 2010-03-27  Bruno Haible  <bruno@clisp.org>
27649
27650         Add a remark about certain modules.
27651         * modules/malloc (Comment): New section.
27652         * modules/realloc (Comment): Likewise.
27653         * modules/sigpipe (Comment): Likewise.
27654
27655 2010-03-27  Bruno Haible  <bruno@clisp.org>
27656
27657         Resolve conflict between the two kinds of module indicators.
27658         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
27659         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
27660         * modules/canonicalize (configure.ac): Invoke
27661         gl_MODULE_INDICATOR_FOR_TESTS.
27662         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
27663         GNULIB_XYZ.
27664         * tests/test-dirent-c++.cc: Likewise.
27665         * tests/test-dirent-safer.c: Likewise.
27666         * tests/test-dup2.c: Likewise.
27667         * tests/test-fchdir.c: Likewise.
27668         * tests/test-fcntl-h-c++.cc: Likewise.
27669         * tests/test-getopt.c: Likewise.
27670         * tests/test-getopt.h: Likewise.
27671         * tests/test-langinfo-c++.cc: Likewise.
27672         * tests/test-locale-c++.cc: Likewise.
27673         * tests/test-math-c++.cc: Likewise.
27674         * tests/test-pty-c++.cc: Likewise.
27675         * tests/test-search-c++.cc: Likewise.
27676         * tests/test-signal-c++.cc: Likewise.
27677         * tests/test-spawn-c++.cc: Likewise.
27678         * tests/test-stdio-c++.cc: Likewise.
27679         * tests/test-stdlib-c++.cc: Likewise.
27680         * tests/test-string-c++.cc: Likewise.
27681         * tests/test-sys_ioctl-c++.cc: Likewise.
27682         * tests/test-sys_select-c++.cc: Likewise.
27683         * tests/test-sys_socket-c++.cc: Likewise.
27684         * tests/test-sys_stat-c++.cc: Likewise.
27685         * tests/test-sys_time-c++.cc: Likewise.
27686         * tests/test-time-c++.cc: Likewise.
27687         * tests/test-unistd-c++.cc: Likewise.
27688         * tests/test-wchar-c++.cc: Likewise.
27689         * tests/uninorm/test-u8-nfc.c: Likewise.
27690         * tests/uninorm/test-u8-nfd.c: Likewise.
27691         * tests/uninorm/test-u8-nfkc.c: Likewise.
27692         * tests/uninorm/test-u8-nfkd.c: Likewise.
27693         * tests/uninorm/test-u16-nfc.c: Likewise.
27694         * tests/uninorm/test-u16-nfd.c: Likewise.
27695         * tests/uninorm/test-u16-nfkc.c: Likewise.
27696         * tests/uninorm/test-u16-nfkd.c: Likewise.
27697         * tests/uninorm/test-u32-nfc.c: Likewise.
27698         * tests/uninorm/test-u32-nfc-big.c: Likewise.
27699         * tests/uninorm/test-u32-nfd.c: Likewise.
27700         * tests/uninorm/test-u32-nfd-big.c: Likewise.
27701         * tests/uninorm/test-u32-nfkc.c: Likewise.
27702         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
27703         * tests/uninorm/test-u32-nfkd.c: Likewise.
27704         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
27705         * tests/uninorm/test-u32-normalize-big.c: Likewise.
27706
27707 2010-03-27  Bruno Haible  <bruno@clisp.org>
27708
27709         Distinguish two kinds of module indicators.
27710         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
27711         gl_MODULE_INDICATOR.
27712         (gl_MODULE_INDICATOR): New macro.
27713         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
27714         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
27715         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
27716         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
27717         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
27718         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
27719         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
27720         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
27721         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
27722         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
27723         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
27724         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
27725         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
27726         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
27727         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
27728         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
27729         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
27730         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
27731         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
27732         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
27733         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
27734         * modules/cloexec (configure.ac): Likewise.
27735         * modules/getopt-gnu (configure.ac): Likewise.
27736         * modules/uninorm/u8-normalize (configure.ac): Likewise.
27737         * modules/uninorm/u16-normalize (configure.ac): Likewise.
27738         * modules/uninorm/u32-normalize (configure.ac): Likewise.
27739         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
27740
27741 2010-03-27  Bruno Haible  <bruno@clisp.org>
27742
27743         New module description field 'Comment'.
27744         * gnulib-tool: New option --extract-comment.
27745         (func_usage): Document it.
27746         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
27747         (func_get_comment): New function.
27748         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
27749
27750 2010-03-27  Bruno Haible  <bruno@clisp.org>
27751
27752         Addendum to 2010-02-07 commit.
27753         * gnulib-tool (func_usage): Document --extract-applicability option.
27754
27755 2010-03-27  Bruno Haible  <bruno@clisp.org>
27756
27757         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
27758         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
27759         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
27760         rather than link errors.
27761
27762 2010-03-27  Bruno Haible  <bruno@clisp.org>
27763
27764         Avoid side effects from tests-related modules on the compilation of lib.
27765         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
27766         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
27767         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
27768         parameter. Emit into AM_CPPFLAGS a definition of the designated C
27769         macro.
27770         (func_import): Define a witness macro. Assign it a value that depends
27771         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
27772         tests-related modules.
27773         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
27774         Reported by Jim Meyering.
27775
27776 2010-03-27  Bruno Haible  <bruno@clisp.org>
27777
27778         Factorize common .m4 code.
27779         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
27780         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
27781         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
27782         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
27783         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
27784         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
27785         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
27786         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
27787         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
27788         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
27789         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
27790         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
27791         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
27792         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
27793         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
27794         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
27795         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
27796         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
27797         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
27798         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
27799         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
27800         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
27801         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
27802         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
27803         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
27804         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
27805         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
27806         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
27807         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
27808         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
27809         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
27810         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
27811
27812 2010-03-27  Bruno Haible  <bruno@clisp.org>
27813
27814         Fix a compilation error on Cygwin with g++ >= 4.3.
27815         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
27816         if it is undefined or if we alias it to chmod.
27817         (lstat): Don't warn about the use of this function if it is undefined
27818         or if we alias it to stat.
27819         Reported by Simon Josefsson.
27820
27821 2010-03-27  Bruno Haible  <bruno@clisp.org>
27822
27823         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
27824         * modules/getlogin (configure.ac): Update.
27825
27826         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
27827         * modules/getlogin_r (configure.ac): Update.
27828
27829         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
27830         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
27831         * modules/inet_ntop (configure.ac): Update.
27832
27833         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
27834         * modules/inet_pton (configure.ac): Update.
27835
27836         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
27837         * modules/mbslen (configure.ac): Update.
27838
27839         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
27840         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
27841         * modules/forkpty (configure.ac): Update.
27842         * modules/openpty (configure.ac): Update.
27843
27844 2010-03-26  Simon Josefsson  <simon@josefsson.org>
27845
27846         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
27847         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
27848
27849 2010-03-25  Eric Blake  <eblake@redhat.com>
27850
27851         maint: use pragma consistently across replacement headers
27852         * lib/ctype.in.h (system_header): Hoist for consistent placement.
27853         * lib/dirent.in.h (system_header): Likewise.
27854         * lib/errno.in.h (system_header): Likewise.
27855         * lib/float.in.h (system_header): Likewise.
27856         * lib/getopt.in.h (system_header): Likewise.
27857         * lib/iconv.in.h (system_header): Likewise.
27858         * lib/inttypes.in.h (system_header): Likewise.
27859         * lib/langinfo.in.h (system_header): Likewise.
27860         * lib/locale.in.h (system_header): Likewise.
27861         * lib/math.in.h (system_header): Likewise.
27862         * lib/netdb.in.h (system_header): Likewise.
27863         * lib/netinet_in.in.h (system_header): Likewise.
27864         * lib/pty.in.h (system_header): Likewise.
27865         * lib/sched.in.h (system_header): Likewise.
27866         * lib/se-selinux.in.h (system_header): Likewise.
27867         * lib/search.in.h (system_header): Likewise.
27868         * lib/spawn.in.h (system_header): Likewise.
27869         * lib/stdarg.in.h (system_header): Likewise.
27870         * lib/stdint.in.h (system_header): Likewise.
27871         * lib/string.in.h (system_header): Likewise.
27872         * lib/strings.in.h (system_header): Likewise.
27873         * lib/sys_file.in.h (system_header): Likewise.
27874         * lib/sys_ioctl.in.h (system_header): Likewise.
27875         * lib/sys_socket.in.h (system_header): Likewise.
27876         * lib/sys_times.in.h (system_header): Likewise.
27877         * lib/sys_utsname.in.h (system_header): Likewise.
27878         * lib/sys_wait.in.h (system_header): Likewise.
27879         * lib/sysexits.in.h (system_header): Likewise.
27880         * lib/unistd.in.h (system_header): Likewise.
27881         * lib/wctype.in.h (system_header): Likewise.
27882
27883         arpa/inet: fix mingw compilation warning
27884         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
27885         Reported by Matthew Bolte.
27886
27887 2010-03-25  Bruno Haible  <bruno@clisp.org>
27888
27889         Avoid collision between gnulib wrapper and libintl wrapper.
27890         * lib/printf.c (printf): Don't define if a printf wrapper is already
27891         defined in intl/printf.c.
27892         Reported by Michel Boaventura <michel@michelboaventura.com>.
27893
27894 2010-03-25  Bruno Haible  <bruno@clisp.org>
27895
27896         Use ANSI C.
27897         * lib/readutmp.h (getutent): Provide ANSI C prototype.
27898
27899 2010-03-25  Bruno Haible  <bruno@clisp.org>
27900
27901         Minor formatting changes.
27902         * lib/acosl.c: Insert space before function argument list.
27903         * lib/argz.c: Likewise.
27904         * lib/asinl.c: Likewise.
27905         * lib/expl.c: Likewise.
27906         * lib/gen-uni-tables.c: Likewise.
27907         * lib/gettext.h: Likewise.
27908         * lib/glthread/lock.h: Likewise.
27909         * lib/tanl.c: Likewise.
27910         * lib/uniname/uniname.c: Likewise.
27911         * tests/test-idpriv-drop.c: Likewise.
27912         * tests/test-idpriv-droptemp.c: Likewise.
27913         * tests/test-lock.c: Likewise.
27914         * tests/test-tls.c: Likewise.
27915         * lib/argp-help.c: Insert space before function-like macro argument
27916         list.
27917         * lib/memcmp.c: Likewise.
27918         * tests/test-base64.c: Likewise.
27919         * lib/localename.c: Insert space before sizeof's argument list.
27920         * lib/safe-alloc.h: Likewise.
27921         * lib/file-set.h: Insert space before macro argument list.
27922         * tests/test-argp.c: Likewise.
27923         * lib/argp-namefrob.h: Insert space before function parameter list.
27924         * lib/getaddrinfo.c: Likewise.
27925         * lib/netdb.in.h: Likewise.
27926         * lib/parse-duration.h: Likewise.
27927         * lib/parse-duration.c: Likewise.
27928         * lib/poll.c: Likewise.
27929         * lib/select.c: Likewise.
27930         * lib/trim.h: Likewise.
27931         * tests/test-usleep.c: Likewise.
27932         * lib/ldexpl.c: Insert space before function parameter list and before
27933         function argument list.
27934         * lib/logl.c: Likewise.
27935         * lib/sqrtl.c: Likewise.
27936         * lib/trim.c: Likewise.
27937         * lib/cosl.c: Use GNU style indentation. Insert space before function
27938         argument list.
27939         * lib/sinl.c: Likewise.
27940         * lib/tsearch.c: Insert space after 'for'.
27941         Reported by Jim Meyering.
27942
27943 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
27944
27945         * maint.mk (sc_Wundef_boolean): Check for the presence of the
27946         config header before grepping, as it's not present before
27947         autoreconf/configure are run.  Reported by Simon Josefsson.
27948
27949 2010-03-23  Bruno Haible  <bruno@clisp.org>
27950
27951         pt_chown: Make it work with automake < 1.11.
27952         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
27953         Reported by Simon Josefsson.
27954
27955 2010-03-23  Bruno Haible  <bruno@clisp.org>
27956
27957         pt_chown: Don't depend on GPLed modules.
27958         * lib/pt_chown.c: Don't include idpriv.h.
27959         (main): Don't drop privileges.
27960         * modules/pt_chown (Depends-on): Remove idpriv-drop.
27961         Reported by Simon Josefsson.
27962
27963 2010-03-24  Simon Josefsson  <simon@josefsson.org>
27964
27965         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
27966         suggestions from karl@freefriends.org (Karl Berry).
27967
27968 2010-03-22  Eric Blake  <eblake@redhat.com>
27969
27970         gethostname: further tweaks
27971         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
27972         are overriding gethostname.
27973         Suggested by Bruno Haible.
27974
27975 2010-03-21  Bruno Haible  <bruno@clisp.org>
27976
27977         Fix comments.
27978         * lib/forkpty.c (rpl_forkpty): Fix comment.
27979         * lib/openpty.c (rpl_openpty): Likewise.
27980         Reported by Eric Blake.
27981
27982 2010-03-22  Eric Blake  <eblake@redhat.com>
27983
27984         gethostname: fix build on mingw
27985         * lib/unistd.in.h (includes): Work around fact that mingw
27986         <winsock2.h> re-includes <unistd.h>, by avoiding any
27987         redeclarations if we are being included by <winsock2.h>.
27988         Reported by Matthias Bolte.
27989
27990 2010-03-21  Bruno Haible  <bruno@clisp.org>
27991
27992         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
27993         * lib/forkpty.c (forkpty): New replacement function, from glibc with
27994         modifications.
27995         * lib/pty.in.h (forkpty): Update declaration. Add comments.
27996         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
27997         provide the replacement.
27998         * modules/forkpty (Depends-on): Add openpty, login_tty.
27999         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
28000         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
28001         * doc/glibc-functions/forkpty.texi: More supported platforms.
28002         * config/srclist.txt: Add forkpty.c (commented).
28003
28004 2010-03-21  Bruno Haible  <bruno@clisp.org>
28005
28006         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
28007         (Makefile.am): Verify that PTY_LIB is defined.
28008
28009         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
28010
28011 2010-03-21  Bruno Haible  <bruno@clisp.org>
28012
28013         Tests for module 'login_tty'.
28014         * modules/login_tty-tests: New file.
28015         * tests/test-login_tty.c: New file.
28016
28017         New module 'login_tty'.
28018         * lib/login_tty.c: New file.
28019         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
28020         * modules/login_tty: New file.
28021         * doc/glibc-functions/login_tty.texi: Mention the new module.
28022
28023 2010-03-21  Bruno Haible  <bruno@clisp.org>
28024
28025         login_tty: Documentation.
28026         * doc/glibc-functions/login_tty.texi: New file.
28027         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
28028
28029 2010-03-21  Bruno Haible  <bruno@clisp.org>
28030
28031         pty: Consistent macro naming.
28032         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
28033         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
28034         * modules/pty (configure.ac): Update.
28035
28036 2010-03-21  Bruno Haible  <bruno@clisp.org>
28037
28038         Tests for openpty: Make stricter.
28039         * tests/test-openpty.c (main): Add test of canonical processing and
28040         erase.
28041         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
28042
28043         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
28044         * lib/openpty.c (openpty): New replacement function.
28045         * lib/pty.in.h: Include <termios.h>.
28046         (openpty): Update declaration. Add comments.
28047         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
28048         is not declared, arrange to provide the replacement. Check for _getpty
28049         and posix_openpt.
28050         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
28051         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
28052         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
28053         * modules/pty-tests (test_pty_c___LDADD): New variable.
28054         * doc/glibc-functions/openpty.texi: More supported platforms.
28055
28056 2010-03-21  Bruno Haible  <bruno@clisp.org>
28057
28058         setenv: Tweaks.
28059         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
28060         the test program.
28061         * doc/posix-functions/setenv.texi: Update platforms list.
28062
28063 2010-03-21  Bruno Haible  <bruno@clisp.org>
28064
28065         New module 'unlockpt'.
28066         * lib/unlockpt.c: New file, from glibc with modifications.
28067         * m4/unlockpt.m4: New file.
28068         * modules/unlockpt: New file.
28069         * lib/stdlib.in.h (unlockpt): New declaration.
28070         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
28071         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
28072         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
28073         HAVE_UNLOCKPT.
28074         * doc/posix-functions/unlockpt.texi: Mention the new module.
28075         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
28076         * config/srclist.txt: Add unlockpt.c (commented).
28077
28078 2010-03-21  Jim Meyering  <meyering@redhat.com>
28079
28080         maint.mk: prohibit inclusion of "intprops.h" without use
28081         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
28082
28083 2010-03-21  Bruno Haible  <bruno@clisp.org>
28084
28085         New module 'grantpt'.
28086         * lib/grantpt.c: New file, from glibc with modifications.
28087         * m4/grantpt.m4: New file.
28088         * modules/grantpt: New file.
28089         * lib/stdlib.in.h (grantpt): New declaration.
28090         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
28091         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
28092         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
28093         HAVE_GRANTPT.
28094         * doc/posix-functions/grantpt.texi: Mention the new module.
28095         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
28096         * config/srclist.txt: Add grantpt.c (commented).
28097
28098 2010-03-21  Bruno Haible  <bruno@clisp.org>
28099
28100         New module 'pt_chown'.
28101         * lib/pt_chown.c: New file, from glibc with modifications.
28102         * lib/pty-private.h: New file, from glibc with modifications.
28103         * modules/pt_chown: New file.
28104         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
28105
28106 2010-03-21  Bruno Haible  <bruno@clisp.org>
28107
28108         Tests for module 'ptsname'.
28109         * modules/ptsname-tests: New file.
28110         * tests/test-ptsname.c: New file.
28111
28112         New module 'ptsname'.
28113         * lib/ptsname.c: New file, from glibc with modifications.
28114         * m4/ptsname.m4: New file.
28115         * modules/ptsname: New file.
28116         * lib/stdlib.in.h (ptsname): New declaration.
28117         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
28118         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
28119         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
28120         HAVE_PTSNAME.
28121         * doc/posix-functions/ptsname.texi: Mention the new module.
28122         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
28123         * config/srclist.txt: Add ptsname.c (commented).
28124
28125 2010-03-21  Bruno Haible  <bruno@clisp.org>
28126
28127         Tests for module 'ttyname_r'.
28128         * modules/ttyname_r-tests: New file.
28129         * tests/test-ttyname_r.c: New file.
28130
28131         New module 'ttyname_r'.
28132         * lib/ttyname_r.c: New file.
28133         * m4/ttyname_r.m4: New file.
28134         * modules/ttyname_r: New file.
28135         * lib/unistd.in.h (ttyname_r): New declaration.
28136         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
28137         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
28138         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
28139         HAVE_TTYNAME_R.
28140         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
28141         * doc/posix-functions/ttyname_r.texi: Mention the new module.
28142
28143 2010-03-20  Bruno Haible  <bruno@clisp.org>
28144
28145         signal: Undefine macro definitions in C++ mode.
28146         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
28147         sigfillset): Undefine macro definitions from the system header in C++
28148         mode.
28149         Reported by John W. Eaton <jwe@gnu.org>.
28150
28151 2010-03-20  Bruno Haible  <bruno@clisp.org>
28152
28153         Ensure no #include statements inside extern "C" { ... }.
28154         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
28155         contain #include statements.
28156         * lib/time.in.h: Likewise.
28157
28158 2010-03-20  Bruno Haible  <bruno@clisp.org>
28159
28160         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
28161         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
28162         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
28163         Reported by John W. Eaton <jwe@gnu.org>.
28164
28165 2010-03-20  Bruno Haible  <bruno@clisp.org>
28166
28167         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
28168         Reported by Jim Meyering.
28169
28170 2010-03-20  Bruno Haible  <bruno@clisp.org>
28171
28172         pipe: Set errno upon failure.
28173         * lib/pipe.h: Specify that when -1 is returned, errno is set.
28174         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
28175         errno value in error message.
28176
28177 2010-03-20  Bruno Haible  <bruno@clisp.org>
28178             Jim Meyering  <meyering@redhat.com>
28179
28180         lchown: Avoid "unused variable" warning.
28181         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
28182
28183 2010-03-20  Bruno Haible  <bruno@clisp.org>
28184
28185         Work around unlink() bug on MacOS X 10.5.6.
28186         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
28187         attempting to unlink a parent directory.
28188         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
28189         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
28190         activate for the replacement function.
28191         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
28192
28193 2010-03-20  Bruno Haible  <bruno@clisp.org>
28194
28195         Fix link errors on Solaris 8.
28196         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
28197         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
28198
28199 2010-03-19  Jim Meyering  <meyering@redhat.com>
28200
28201         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
28202         The _LIBC implementation of build_range_exp correctly honors the
28203         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
28204         However, the non-_LIBC implementation would ignore that syntax-bit
28205         flag and return REG_ERANGE unconditionally.
28206         This change makes it honor that flag.
28207         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
28208         Make two pointer parameters "const".
28209         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
28210         (parse_bracket_exp): Update caller.
28211
28212         regex.m4: correct the reversed range endpoint ([b-a]) test
28213         * m4/regex.m4: When requiring that [b-a] evoke failure,
28214         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
28215         test pass once again for x86-based systems.
28216
28217 2010-03-19  Bruno Haible  <bruno@clisp.org>
28218
28219         scandir: Fix link error on Solaris 8.
28220         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
28221         macros.
28222
28223 2010-03-19  Bruno Haible  <bruno@clisp.org>
28224
28225         getusershell: Fix documentation.
28226         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
28227         module.
28228         * doc/glibc-functions/setusershell.texi: Likewise.
28229
28230         getusershell: Provide declaration, missing on Solaris 9.
28231         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
28232         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
28233         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
28234         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
28235         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28236         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
28237         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
28238         HAVE_GETUSERSHELL.
28239         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
28240
28241 2010-03-19  Bruno Haible  <bruno@clisp.org>
28242
28243         wctype: Provide iswblank function.
28244         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
28245         exists and is fine.
28246         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
28247         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
28248         * tests/test-wctype.c (main): Re-enable the iswblank tests.
28249         * doc/posix-functions/iswblank.texi: Update.
28250
28251 2010-03-19  Bruno Haible  <bruno@clisp.org>
28252
28253         Tests of module 'pty' in C++ mode.
28254         * modules/pty-tests: New file.
28255         * tests/test-pty-c++.cc: New file.
28256         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
28257
28258 2010-03-19  Eric Blake  <eblake@redhat.com>
28259
28260         logb: fix documentation
28261         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
28262         1.5 declaration bug.
28263
28264         forkpty, openpty: prefer glibc's const-safe prototype
28265         * lib/forkpty.c (rpl_forkpty): New file.
28266         * lib/openpty.c (rpl_openpty): Likewise.
28267         * modules/forkpty (Files): Distribute it.
28268         * modules/openpty (Files): Likewise.
28269         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
28270         check...
28271         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
28272         replacement for for non-const BSD signature.
28273         * modules/pty (Makefile.am): Substitute witnesses.
28274         * lib/pty.in.h (forkpty, openpty): Declare replacements.
28275         * tests/test-forkpty.c: Update signature check.
28276         * tests/test-openpty.c: Likewise.
28277         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
28278         * doc/glibc-functions/openpty.texi (openpty): Likewise.
28279
28280         forkpty, openpty: split functions into new modules
28281         * modules/pty (Makefile.am): Substitute new witnesses.
28282         (Libraries): Move library detection...
28283         * modules/forkpty: ...into new module.
28284         * modules/openpty: Another new module.
28285         * modules/pty-tests: Rename and split...
28286         * modules/forkpty-tests: ...to this...
28287         * modules/openpty-tests: ...and this.
28288         * tests/test-pty.c: Rename and split...
28289         * tests/test-forkpty.c: ...to this...
28290         * tests/test-openpty.c: ...and this.
28291         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
28292         (gl_PTY): Split library searching...
28293         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
28294         (gl_FORKPTY, gl_OPENPTY): New macros.
28295         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
28296         * NEWS: Mention the split.
28297         * MODULES.html.sh (Misc): Document the modules.
28298         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
28299         * doc/glibc-functions/openpty.texi (openpty): Likewise.
28300
28301         pty: improve replacement header
28302         * lib/pty.in.h: New file.
28303         * modules/pty (Files): Ship it.
28304         (Makefile.am): Always build replacement.
28305         * m4/pty.m4: Rename...
28306         * m4/pty_h.m4: ...to this.
28307         (gl_PTY): Modernize setting of witness macros; update check of
28308         forkpty to take proper advantage of cache.
28309         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
28310
28311         getopt: avoid compiler warning
28312         * lib/getopt.c (attribute_hidden): Remove unused macro.
28313
28314 2010-03-18  Bruno Haible  <bruno@clisp.org>
28315
28316         Fix link errors on Solaris 8.
28317         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
28318         * modules/search-tests (test_search_c___LDADD): Likewise.
28319         * modules/signal-tests (test_signal_c___LDADD): Likewise.
28320         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
28321         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
28322         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
28323         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
28324         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
28325         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
28326
28327 2010-03-18  Bruno Haible  <bruno@clisp.org>
28328
28329         Fix bug introduced on 2010-03-14.
28330         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
28331         (gl_SPAWN_H): Require it.
28332         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
28333         Reported by Simon Josefsson.
28334
28335 2010-03-18  Bruno Haible  <bruno@clisp.org>
28336
28337         Fix typo introduced on 2009-12-31.
28338         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
28339         posix_spawn_file_actions_adddup2.
28340
28341 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
28342         and Eric Blake  <eblake@redhat.com>
28343
28344         test-vc-list-files-git: make more robust
28345         * tests/test-vc-list-files-git.sh: Unset problematic environment
28346         variables.  Chain commands together.
28347
28348 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
28349
28350         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
28351         `AC_CHECK_DECL' invocation.
28352
28353 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
28354
28355         * lib/inttostr.c (inttostr): Make sure the invocation of verify
28356         appears before executable statements. Suggested by Petr Sumbera
28357         <Petr.Sumbera@Sun.COM>.
28358
28359 2010-03-14  Bruno Haible  <bruno@clisp.org>
28360
28361         * tests/test-flock.c (test_exclusive): Comment out a test that causes
28362         portability problems. Instead use a simpler test.
28363         (main): Check that invalid arguments are rejected only on Linux.
28364
28365 2010-03-14  Bruno Haible  <bruno@clisp.org>
28366
28367         Fix bug introduced on 2009-12-31.
28368         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
28369         gl_PREREQ_SYS_H_WINSOCK2 always.
28370         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
28371         SYS_SOCKET_H variable.
28372         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
28373         Update comments.
28374         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
28375         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
28376         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28377         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
28378         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
28379
28380 2010-03-14  Bruno Haible  <bruno@clisp.org>
28381
28382         Fix values returned by sinl, cosl.
28383         * lib/trigl.h: Add specification comments.
28384         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
28385         that combines the values from the precomputed table with the values of
28386         the Chebyshev polynomials.
28387
28388 2010-03-14  Bruno Haible  <bruno@clisp.org>
28389
28390         Fix compilation error when modules 'posix_spawn[p]' are not used.
28391         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
28392         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
28393
28394 2010-03-14  Bruno Haible  <bruno@clisp.org>
28395
28396         Fix compilation error on mingw when module 'time_r' is not used.
28397         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
28398         is 1.
28399         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
28400         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
28401         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
28402         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
28403
28404 2010-03-14  Bruno Haible  <bruno@clisp.org>
28405
28406         Fix compilation error with Sun C.
28407         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
28408         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
28409         instead of GCC specific ULONG_LONG_MAX.
28410         * lib/xstrtoll.c: Likewise.
28411         * lib/xstrtoull.c: Likewise.
28412
28413 2010-03-13  Bruno Haible  <bruno@clisp.org>
28414
28415         Allow the user to disable C++ code and tests.
28416         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
28417         (gl_PROG_ANSI_CXX): Require it.
28418
28419 2010-03-13  Bruno Haible  <bruno@clisp.org>
28420
28421         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
28422         cases.
28423
28424 2010-03-13  Bruno Haible  <bruno@clisp.org>
28425
28426         Test that gnulib does not break the standard C++ headers.
28427         * tests/test-locale-c++2.cc: New file.
28428         * modules/locale-tests (Files): Add it.
28429         (Makefile.am): Compile it for test-locale-c++.
28430         * tests/test-math-c++2.cc: New file.
28431         * modules/math-tests (Files): Add it.
28432         (Makefile.am): Compile it for test-math-c++.
28433         * tests/test-signal-c++2.cc: New file.
28434         * modules/signal-tests (Files): Add it.
28435         (Makefile.am): Compile it for test-signal-c++.
28436         * tests/test-stdio-c++2.cc: New file.
28437         * modules/stdio-tests (Files): Add it.
28438         (Makefile.am): Compile it for test-stdio-c++.
28439         * tests/test-stdlib-c++2.cc: New file.
28440         * modules/stdlib-tests (Files): Add it.
28441         (Makefile.am): Compile it for test-stdlib-c++.
28442         * tests/test-string-c++2.cc: New file.
28443         * modules/string-tests (Files): Add it.
28444         (Makefile.am): Compile it for test-string-c++.
28445         * tests/test-time-c++2.cc: New file.
28446         * modules/time-tests (Files): Add it.
28447         (Makefile.am): Compile it for test-time-c++.
28448         Reported by John W. Eaton <jwe@gnu.org>.
28449
28450 2010-03-13  Bruno Haible  <bruno@clisp.org>
28451
28452         * gnulib-tool (func_usage): Clarify which options are available for
28453         --create-testdir and --create-megatestdir.
28454
28455 2010-03-13  Bruno Haible  <bruno@clisp.org>
28456
28457         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
28458         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
28459         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
28460         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
28461         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
28462         when appropriate.
28463         Reported by Jim Meyering.
28464
28465 2010-03-12  Simon Josefsson  <simon@josefsson.org>
28466
28467         * gnulib-tool (func_import): Explain origin of code.
28468
28469 2010-03-12  Bruno Haible  <bruno@clisp.org>
28470
28471         Fix problem with automake's definition of CXXLINK.
28472         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
28473         Reported by Simon Josefsson and Ludovic Courtès.
28474
28475 2010-03-12  Bruno Haible  <bruno@clisp.org>
28476
28477         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
28478         stable releases.
28479
28480 2010-03-11  Bruno Haible  <bruno@clisp.org>
28481
28482         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
28483         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
28484         whether the system provides one variant or multiple variants of the
28485         function.
28486         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
28487         C++ compilers.
28488         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
28489         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
28490         Reported by Jim Meyering.
28491
28492 2010-03-09  Simon Josefsson  <simon@josefsson.org>
28493
28494         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
28495
28496 2010-03-08  Bruno Haible  <bruno@clisp.org>
28497
28498         gnulib-tool: Add support for --libtool in --create-testdir.
28499         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
28500         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
28501
28502 2010-03-08  Eric Blake  <eblake@redhat.com>
28503
28504         gnulib-tool.texi: mention possibility of git submodule
28505         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
28506         submodules.
28507         * doc/.gitignore: Ignore another generated file.
28508
28509 2010-03-08  Karl Berry  <karl@gnu.org>
28510
28511         * doc/gnulib-tool.texi (VCS Issues): Mention third option
28512         of committing gnulib files while skipping others.
28513
28514 2010-03-07  Bruno Haible  <bruno@clisp.org>
28515
28516         Tests of module 'wctype' in C++ mode.
28517         * tests/test-wctype-c++.cc: New file.
28518         * modules/wctype-tests (Files): Add it and tests/signature.h.
28519         (Depends-on): Add ansi-c++-opt.
28520         (Makefile.am): Arrange to compile and run test-wctype-c++.
28521
28522         Tests of module 'wchar' in C++ mode.
28523         * tests/test-wchar-c++.cc: New file.
28524         * modules/wchar-tests (Files): Add it and tests/signature.h.
28525         (Depends-on): Add ansi-c++-opt.
28526         (Makefile.am): Arrange to compile and run test-wchar-c++.
28527         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
28528         gl_MODULE_INDICATOR.
28529
28530         Tests of module 'unistd' in C++ mode.
28531         * tests/test-unistd-c++.cc: New file.
28532         * modules/unistd-tests (Files): Add it and tests/signature.h.
28533         (Depends-on): Add ansi-c++-opt.
28534         (Makefile.am): Arrange to compile and run test-unistd-c++.
28535         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
28536         gl_MODULE_INDICATOR.
28537
28538         Tests of module 'time' in C++ mode.
28539         * tests/test-time-c++.cc: New file.
28540         * modules/time-tests (Files): Add it and tests/signature.h.
28541         (Depends-on): Add ansi-c++-opt.
28542         (Makefile.am): Arrange to compile and run test-time-c++.
28543         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
28544
28545         Tests of module 'sys_time' in C++ mode.
28546         * tests/test-sys_time-c++.cc: New file.
28547         * modules/sys_time-tests (Files): Add it and tests/signature.h.
28548         (Depends-on): Add ansi-c++-opt.
28549         (Makefile.am): Arrange to compile and run test-sys_time-c++.
28550         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
28551         gl_MODULE_INDICATOR.
28552
28553         Tests of module 'sys_stat' in C++ mode.
28554         * tests/test-sys_stat-c++.cc: New file.
28555         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
28556         (Depends-on): Add ansi-c++-opt.
28557         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
28558         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
28559         gl_MODULE_INDICATOR.
28560
28561         Tests of module 'sys_socket' in C++ mode.
28562         * tests/test-sys_socket-c++.cc: New file.
28563         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
28564         (Depends-on): Add ansi-c++-opt.
28565         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
28566         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
28567         gl_MODULE_INDICATOR.
28568
28569         Tests of module 'sys_select' in C++ mode.
28570         * tests/test-sys_select-c++.cc: New file.
28571         * modules/sys_select-tests (Files): Add it and tests/signature.h.
28572         (Depends-on): Add ansi-c++-opt.
28573         (Makefile.am): Arrange to compile and run test-sys_select-c++.
28574         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
28575         gl_MODULE_INDICATOR.
28576
28577         Tests of module 'sys_ioctl' in C++ mode.
28578         * tests/test-sys_ioctl-c++.cc: New file.
28579         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
28580         (Depends-on): Add ansi-c++-opt.
28581         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
28582         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
28583         gl_MODULE_INDICATOR.
28584
28585         Tests of module 'string' in C++ mode.
28586         * tests/test-string-c++.cc: New file.
28587         * modules/string-tests (Files): Add it and tests/signature.h.
28588         (Depends-on): Add ansi-c++-opt.
28589         (Makefile.am): Arrange to compile and run test-string-c++.
28590         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
28591         gl_MODULE_INDICATOR.
28592
28593         Tests of module 'stdlib' in C++ mode.
28594         * tests/test-stdlib-c++.cc: New file.
28595         * modules/stdlib-tests (Files): Add it and tests/signature.h.
28596         (Depends-on): Add ansi-c++-opt.
28597         (Makefile.am): Arrange to compile and run test-stdlib-c++.
28598         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
28599         gl_MODULE_INDICATOR.
28600
28601         Tests of module 'stdio' in C++ mode.
28602         * tests/test-stdio-c++.cc: New file.
28603         * modules/stdio-tests (Files): Add it and tests/signature.h.
28604         (Depends-on): Add ansi-c++-opt.
28605         (Makefile.am): Arrange to compile and run test-stdio-c++.
28606         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
28607         gl_MODULE_INDICATOR.
28608
28609         Tests of module 'spawn' in C++ mode.
28610         * tests/test-spawn-c++.cc: New file.
28611         * modules/spawn-tests (Files): Add it and tests/signature.h.
28612         (Depends-on): Add ansi-c++-opt.
28613         (Makefile.am): Arrange to compile and run test-spawn-c++.
28614         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
28615         gl_MODULE_INDICATOR.
28616
28617         Tests of module 'signal' in C++ mode.
28618         * tests/test-signal-c++.cc: New file.
28619         * modules/signal-tests (Files): Add it and tests/signature.h.
28620         (Depends-on): Add ansi-c++-opt.
28621         (Makefile.am): Arrange to compile and run test-signal-c++.
28622         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
28623         gl_MODULE_INDICATOR.
28624
28625         Tests of module 'search' in C++ mode.
28626         * tests/test-search-c++.cc: New file.
28627         * modules/search-tests (Files): Add it and tests/signature.h.
28628         (Depends-on): Add ansi-c++-opt.
28629         (Makefile.am): Arrange to compile and run test-search-c++.
28630         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
28631         gl_MODULE_INDICATOR.
28632
28633         Tests of module 'math' in C++ mode.
28634         * tests/test-math-c++.cc: New file.
28635         * modules/math-tests (Files): Add it and tests/signature.h.
28636         (Depends-on): Add ansi-c++-opt.
28637         (Makefile.am): Arrange to compile and run test-math-c++.
28638         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
28639
28640         Tests of module 'locale' in C++ mode.
28641         * tests/test-locale-c++.cc: New file.
28642         * modules/locale-tests (Files): Add it and tests/signature.h.
28643         (Depends-on): Add ansi-c++-opt.
28644         (Makefile.am): Arrange to compile and run test-locale-c++.
28645         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
28646         gl_MODULE_INDICATOR.
28647
28648         Tests of module 'langinfo' in C++ mode.
28649         * tests/test-langinfo-c++.cc: New file.
28650         * modules/langinfo-tests (Files): Add it and tests/signature.h.
28651         (Depends-on): Add ansi-c++-opt.
28652         (Makefile.am): Arrange to compile and run test-langinfo-c++.
28653         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
28654         gl_MODULE_INDICATOR.
28655
28656         Tests of module 'iconv-h' in C++ mode.
28657         * tests/test-iconv-h-c++.cc: New file.
28658         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
28659         (Depends-on): Add ansi-c++-opt.
28660         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
28661
28662         Tests of module 'glob' in C++ mode.
28663         * tests/test-glob-c++.cc: New file.
28664         * modules/glob-tests (Files): Add it.
28665         (Depends-on): Add ansi-c++-opt.
28666         (Makefile.am): Arrange to compile and run test-glob-c++.
28667
28668         Tests of module 'fcntl-h' in C++ mode.
28669         * tests/test-fcntl-h-c++.cc: New file.
28670         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
28671         (Depends-on): Add ansi-c++-opt.
28672         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
28673         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
28674         gl_MODULE_INDICATOR.
28675
28676         Tests of module 'dirent' in C++ mode.
28677         * tests/test-dirent-c++.cc: New file.
28678         * modules/dirent-tests (Files): Add it and tests/signature.h.
28679         (Depends-on): Add ansi-c++-opt.
28680         (Makefile.am): Arrange to compile and run test-dirent-c++.
28681         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
28682         gl_MODULE_INDICATOR.
28683
28684         New module 'ansi-c++-opt'.
28685         * modules/ansi-c++-opt: New file.
28686         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
28687
28688         Document C++ namespace mode.
28689         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
28690
28691         wctype: Avoid #define replacements in C++ mode.
28692         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
28693         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
28694         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
28695         In C++, define a namespaced alias symbol.
28696         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
28697         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
28698         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
28699         rule.
28700
28701         wchar: Avoid #define replacements in C++ mode.
28702         * lib/wchar.in.h: Include c++defs.h.
28703         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
28704         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
28705         symbol.
28706         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
28707         * modules/wchar (Depends-on): Add c++defs.
28708         (Makefile.am): Update wchar.h rule.
28709
28710         unistd: Avoid #define replacements in C++ mode.
28711         * lib/unistd.in.h: Include c++defs.h.
28712         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
28713         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
28714         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
28715         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
28716         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
28717         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
28718         symbol.
28719         (environ): Update.
28720         * modules/unistd (Depends-on): Add c++defs.
28721         (Makefile.am): Update unistd.h rule.
28722
28723         time: Avoid #define replacements in C++ mode.
28724         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
28725         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
28726         define a namespaced alias symbol.
28727         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
28728         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
28729         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
28730         * modules/time (Depends-on): Add c++defs, warn-on-use.
28731         (Makefile.am): Update time.h rule.
28732         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
28733         * modules/nanosleep (configure.ac): Likewise.
28734         * modules/strptime (configure.ac): Likewise.
28735         * modules/timegm (configure.ac): Likewise.
28736
28737         sys_time: Avoid #define replacements in C++ mode.
28738         * lib/sys_time.in.h: Include c++defs.h.
28739         (gettimeofday): In C++, define a namespaced alias symbol.
28740         * modules/sys_time (Depends-on): Add c++defs.
28741         (Makefile.am): Update sys/time.h rule.
28742
28743         sys_stat: Avoid #define replacements in C++ mode.
28744         * lib/sys_stat.in.h: Include c++defs.h.
28745         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
28746         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
28747         namespaced alias symbol.
28748         In C++, define a namespaced alias symbol.
28749         * modules/sys_stat (Depends-on): Add c++defs.
28750         (Makefile.am): Update sys/stat.h rule.
28751
28752         sys_socket: Avoid #define replacements in C++ mode.
28753         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
28754         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
28755         definitions also when the system has a <sys/socket.h>.
28756         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
28757         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
28758         In C++, define a namespaced alias symbol.
28759         * modules/sys_socket (Depends-on): Add c++defs.
28760         (Makefile.am): Update sys/socket.h rule.
28761
28762         sys_select: Avoid #define replacements in C++ mode.
28763         * lib/sys_select.in.h: Include c++defs.h. Enable the function
28764         definitions also when the system has a <sys/select.h>.
28765         (select): In C++, define a namespaced alias symbol.
28766         * modules/sys_select (Depends-on): Add c++defs.
28767         (Makefile.am): Update sys/select.h rule.
28768
28769         sys_ioctl: Avoid #define replacements in C++ mode.
28770         * lib/sys_ioctl.in.h: Include c++defs.h.
28771         (ioctl): In C++, define a namespaced alias symbol.
28772         * modules/sys_ioctl (Depends-on): Add c++defs.
28773         (Makefile.am): Update sys/ioctl.h rule.
28774
28775         string: Avoid #define replacements in C++ mode.
28776         * lib/string.in.h: Include c++defs.h.
28777         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
28778         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
28779         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
28780         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
28781         strsignal, strverscmp): In C++, define a namespaced alias symbol.
28782         * modules/string (Depends-on): Add c++defs.
28783         (Makefile.am): Update string.h rule.
28784
28785         stdlib: Avoid #define replacements in C++ mode.
28786         * lib/stdlib.in.h: Include c++defs.h.
28787         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
28788         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
28789         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
28790         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
28791         symbol.
28792         * modules/stdlib (Depends-on): Add c++defs.
28793         (Makefile.am): Update stdlib.h rule.
28794
28795         stdio: Avoid #define replacements in C++ mode.
28796         * lib/stdio.in.h: Include c++defs.h.
28797         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
28798         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
28799         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
28800         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
28801         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
28802         namespaced alias symbol.
28803         * modules/stdio (Depends-on): Add c++defs.
28804         (Makefile.am): Update stdio.h rule.
28805
28806         spawn: Avoid #define replacements in C++ mode.
28807         * lib/spawn.in.h: Include c++defs.h.
28808         (posix_spawn, posix_spawnp, posix_spawnattr_init,
28809         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
28810         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
28811         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
28812         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
28813         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
28814         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
28815         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
28816         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
28817         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
28818         In C++, define a namespaced alias symbol.
28819         * modules/spawn (Depends-on): Add c++defs.
28820         (Makefile.am): Update spawn.h rule.
28821
28822         signal: Avoid #define replacements in C++ mode.
28823         * lib/signal.in.h: Include c++defs.h.
28824         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
28825         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
28826         namespaced alias symbol.
28827         * modules/signal (Depends-on): Add c++defs.
28828         (Makefile.am): Update signal.h rule.
28829
28830         search: Avoid #define replacements in C++ mode.
28831         * lib/search.in.h: Include c++defs.h.
28832         (_gl_search_compar_fn, _gl_search_action_fn): New types.
28833         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
28834         symbol.
28835         * modules/search (Depends-on): Add c++defs.
28836         (Makefile.am): Update search.h rule.
28837
28838         math: Avoid #define replacements in C++ mode.
28839         * lib/math.in.h: Include c++defs.h.
28840         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
28841         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
28842         trunc, truncl): In C++, define a namespaced alias symbol.
28843         * modules/math (Depends-on): Add c++defs.
28844         (Makefile.am): Update math.h rule.
28845
28846         locale: Avoid #define replacements in C++ mode.
28847         * lib/locale.in.h: Include c++defs.h.
28848         (duplocale): In C++, define a namespaced alias symbol.
28849         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
28850         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
28851         * modules/locale (Depends-on): Add c++defs.
28852         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
28853
28854         langinfo: Avoid #define replacements in C++ mode.
28855         * lib/langinfo.in.h: Include c++defs.h.
28856         (nl_langinfo): In C++, define a namespaced alias symbol.
28857         * modules/langinfo (Depends-on): Add c++defs.
28858         (Makefile.am): Update langinfo.h rule.
28859
28860         iconv-h: Avoid #define replacements in C++ mode.
28861         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
28862         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
28863         symbol.
28864         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
28865         whenever iconv is present.
28866         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
28867         (Makefile.am): Update iconv.h rule.
28868
28869         glob: Avoid #define replacements in C++ mode.
28870         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
28871         (_gl_glob_errfunc_fn): New type.
28872         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
28873         symbol.
28874         * modules/glob (Depends-on): Add c++defs, warn-on-use.
28875         (Makefile.am): Update glob.h rule.
28876
28877         fcntl-h: Avoid #define replacements in C++ mode.
28878         * lib/fcntl.in.h: Include c++defs.h.
28879         (fcntl, open, openat): In C++, define a namespaced alias symbol.
28880         * modules/fcntl-h (Depends-on): Add c++defs.
28881         (Makefile.am): Update fcntl.h rule.
28882
28883         dirent: Avoid #define replacements in C++ mode.
28884         * lib/dirent.in.h: Include c++defs.h.
28885         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
28886         namespaced alias symbol.
28887         (dirfd): Update declaration.
28888         * modules/dirent (Depends-on): Add c++defs.
28889         (Makefile.am): Update dirent.h rule.
28890
28891         ctype: Make it usable in C++ code.
28892         * lib/ctype.in.h: Include c++defs.h.
28893         (isblank): Declare as extern "C".
28894         * modules/ctype (Depends-on): Add c++defs.
28895         (Makefile.am): Update ctype.h rule.
28896
28897         New module 'c++defs'.
28898         * modules/c++defs: New file.
28899         * build-aux/c++defs.h: New file.
28900         Reported by John W. Eaton <jwe@gnu.org>.
28901
28902 2010-03-07  Bruno Haible  <bruno@clisp.org>
28903
28904         logb: Provide missing declaration for Cygwin.
28905         * lib/math.in.h (logb): New declaration.
28906         * m4/logb.m4: New file.
28907         * modules/logb (Files): Add m4/logb.m4.
28908         (Depends-on): Add math.
28909         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
28910         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
28911         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
28912         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
28913         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
28914
28915 2010-03-07  Bruno Haible  <bruno@clisp.org>
28916
28917         Fix test-cond link error.
28918         * tests/test-cond.c: Include <stdio.h>.
28919
28920 2010-03-07  Bruno Haible  <bruno@clisp.org>
28921
28922         Fix test-dirent-safer link error.
28923         * modules/dirent-safer-tests (Makefile.am): Define
28924         test_dirent_safer_LDADD.
28925
28926 2010-03-07  Bruno Haible  <bruno@clisp.org>
28927
28928         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
28929         among default module list.
28930
28931 2010-03-07  Bruno Haible  <bruno@clisp.org>
28932
28933         Fix link error on platforms with GNU libiconv.
28934         * modules/unistr/u8-strcoll-tests (Makefile): Define
28935         test_u8_strcoll_LDADD.
28936         * modules/unistr/u16-strcoll-tests (Makefile): Define
28937         test_u16_strcoll_LDADD.
28938         * modules/unistr/u32-strcoll-tests (Makefile): Define
28939         test_u32_strcoll_LDADD.
28940
28941 2010-03-07  Bruno Haible  <bruno@clisp.org>
28942
28943         Use POSIX declarations for socket functions.
28944         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
28945         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
28946         rpl_sendto): Change declaration to match POSIX.
28947         * lib/connect.c (rpl_connect): Likewise.
28948         * lib/accept.c (rpl_accept): Likewise.
28949         * lib/bind.c (rpl_bind): Likewise.
28950         * lib/getpeername.c (rpl_getpeername): Likewise.
28951         * lib/getsockname.c (rpl_getsockname): Likewise.
28952         * lib/recv.c (rpl_recv): Likewise.
28953         * lib/send.c (rpl_send): Likewise.
28954         * lib/recvfrom.c (rpl_recvfrom): Likewise.
28955         * lib/sendto.c (rpl_sendto): Likewise.
28956
28957 2010-03-06  Bruno Haible  <bruno@clisp.org>
28958
28959         Clarify access, euidaccess, faccessat.
28960         * doc/posix-functions/faccessat.texi: Mention security problem under
28961         "Other problems", not "Portability problems".
28962         * doc/posix-functions/access.texi: Likewise. Mention a related security
28963         problem.
28964         * doc/glibc-functions/euidaccess.texi: Mention security problems.
28965         * lib/euidaccess.c: Add comments about platforms.
28966         * lib/unistd.in.h (access, euidaccess): Add warnings.
28967
28968 2010-03-07  Bruno Haible  <bruno@clisp.org>
28969
28970         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
28971         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
28972         (POSIX_SPAWN_SETSCHEDULER): Likewise.
28973         (POSIX_SPAWN_USEVFORK): Define in a way that works when
28974         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
28975         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
28976         declare when POSIX_SPAWN_SETSCHEDULER is zero.
28977         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
28978         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
28979         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
28980         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
28981         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
28982         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
28983         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
28984         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
28985         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
28986         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
28987         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
28988         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
28989         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
28990         Likewise.
28991         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
28992         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
28993         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
28994         Likewise.
28995         * tests/test-spawn.c (main): Make it work when
28996         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
28997
28998 2010-03-07  Bruno Haible  <bruno@clisp.org>
28999
29000         Fix incorrect Makefile.am generation in German locale.
29001         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
29002         Execute sed command with character range in C locale.
29003
29004 2010-03-06  Bruno Haible  <bruno@clisp.org>
29005
29006         Tests for module 'iconv-h'.
29007         * modules/iconv-h-tests: New file.
29008         * tests/test-iconv-h.c: New file.
29009
29010         New module 'iconv-h'.
29011         * modules/iconv-h: New file.
29012         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
29013         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
29014         (configure.ac): Remove gl_ICONV_H.
29015         (Makefile.am): Remove rule for iconv.h.
29016
29017 2010-03-06  Bruno Haible  <bruno@clisp.org>
29018
29019         More consistent naming of *.m4 files.
29020         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
29021         * modules/wctype (Files): Update.
29022
29023         More consistent naming of *.m4 files.
29024         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
29025         * modules/wchar (Files): Update.
29026
29027 2010-03-06  Jim Meyering  <meyering@redhat.com>
29028
29029         euidaccess: relax license to LGPLv2+
29030         * modules/euidaccess (License): Relax to LGPLv2+.
29031
29032 2010-03-06  Bruno Haible  <bruno@clisp.org>
29033
29034         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
29035         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
29036         (Makefile.am): Augment lib_SOURCES instead.
29037
29038 2010-03-04  Jim Meyering  <meyering@redhat.com>
29039
29040         utime: remove obsolete module
29041         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
29042         unnecessary for years, and has been marked as obsolete for 10 months.
29043         * modules/utime: Remove file.
29044         * lib/utime.c: Remove file.
29045         * m4/utime.m4: Remove file.
29046         * m4/utimes-null.m4: Remove file.
29047         * doc/posix-functions/utime.texi (utime): Remove reference to
29048         the module.  Move the sole "fixed by gnulib" item into the
29049         "problems not fixed by Gnulib" list.
29050         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
29051
29052 2010-03-05  Simon Josefsson  <simon@josefsson.org>
29053
29054         * modules/exit (License): Relax license to LGPLv2+.
29055         (Status): Mark as obsolete.
29056         * NEWS: Mention deprecated 'exit' module.
29057         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
29058         of now obsolete 'exit'.
29059
29060 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29061
29062         fts-lgpl: remove unused module
29063         * modules/fts-lgpl: Remove.
29064         * MODULES.html.sh (func_all_modules): Adjust.
29065         * check-module (find_included_lib_files): Adjust.
29066         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
29067
29068 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
29069
29070         copy-acl: enhance Solaris ACL error handling
29071         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
29072         * lib/set-mode-acl.c (qset_acl): Likewise.
29073
29074 2010-03-02  Bruno Haible  <bruno@clisp.org>
29075
29076         spawn: Don't override the system defined values on FreeBSD 8.
29077         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
29078         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
29079         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
29080         if HAVE_POSIX_SPAWN is 1.
29081         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
29082
29083 2010-03-01  Bruno Haible  <bruno@clisp.org>
29084
29085         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
29086         regarding Automake.
29087
29088 2010-02-25  Bruno Haible  <bruno@clisp.org>
29089
29090         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
29091         * gnulib-tool: Define 'echo' as a function only before the ksh alias
29092         setting, not afterwards.
29093         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
29094
29095 2010-02-24  Eric Blake  <eblake@redhat.com>
29096
29097         bootstrap, git-version-gen: use timestamp
29098         * build-aux/git-version-gen (scriptversion): Force UTC.
29099         * build-aux/bootstrap (scriptversion): New variable.
29100
29101         bootstrap: allow older git
29102         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
29103         older than 1.6.4.  Requested by the libvirt project.
29104
29105 2010-02-23  Eric Blake  <eblake@redhat.com>
29106
29107         warn-on-use: work with old autoconf
29108         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
29109         AS_VAR semantics of autoconf 2.60.
29110         Reported by Bruno Haible.
29111
29112         bootstrap: improve some comments
29113         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
29114         clarification comments.
29115
29116         gettimeofday: provide correct function
29117         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
29118         when replacement is declared, otherwise provide gettimeofday.
29119         Reported by Michael Goffioul.
29120
29121 2010-02-23  Jim Meyering  <meyering@redhat.com>
29122
29123         lib-ignore: relax license to "unlimited", not LGPLv2+
29124         * modules/lib-ignore (License): Relax to "unlimited".
29125
29126 2010-02-23  Jim Meyering  <meyering@redhat.com>
29127
29128         lib-ignore: relax license to LGPLv2+
29129         * modules/lib-ignore (License): Relax to LGPLv2+.
29130
29131 2010-02-22  Eric Blake  <eblake@redhat.com>
29132
29133         lseek: avoid bash 3.2 broken pipe bug
29134         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
29135         warning from bash 3.2.
29136         Reported by Ben Pfaff, with analysis from Bruno Haible.
29137
29138         bootstrap: support non-FSF copyright holder
29139         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
29140         bootstrap.conf override of COPYRIGHT_HOLDER.
29141         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
29142
29143         bootstrap: interoperate with gettext 0.14.1
29144         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
29145
29146         bootstrap: allow for alternate submodule location
29147         * build-aux/bootstrap (gnulib_path): New variable; use instead of
29148         hardcoding submodule location.
29149         (gnulib_mk): Allow direct use of Makefile.am.
29150
29151         bootstrap: use GNULIB_SRCDIR to reduce disk usage
29152         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
29153         rather than reconfiguring where the submodule points.
29154
29155         gettimeofday: restore support for platforms that lack function
29156         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
29157         replacement if function is missing.
29158         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
29159         * modules/sys_time (Makefile.am): Substitute it.
29160         * lib/sys_time.in.h (gettimeofday): Check it.
29161         Reported by Michael Goffioul.
29162
29163 2010-02-21  Bruno Haible  <bruno@clisp.org>
29164
29165         * lib/stdio.in.h (obstack_printf): Fix typo.
29166
29167 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
29168
29169         vc-list-files: use bzr ls's -R option
29170         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
29171         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
29172
29173 2010-02-21  Jim Meyering  <meyering@redhat.com>
29174
29175         init.sh: fix EXEEXT shims to work also for names like test-prog
29176         * tests/init.sh: Re-exec a better shell, when needed.
29177         If the current shell lacks support for posix $(...), an init.sh-using
29178         test will now try to find a shell that supports that.  If EXEEXT is
29179         nonempty, we also require support for hyphen-in-alias-name and shell
29180         substitutions like ${var#glob}.  Failure to find such a shell results
29181         in a skipped test.
29182
29183 2010-02-21  Bruno Haible  <bruno@clisp.org>
29184
29185         Really work around around "broken pipe" error message from bash 3.2.
29186         * gnulib-tool (func_reset_sigpipe): Remove function.
29187         (echo): In bash 3.2, define to a function that uses printf.
29188         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
29189
29190 2010-02-20  Bruno Haible  <bruno@clisp.org>
29191
29192         Restore support for automake 1.9.6 with autoconf 2.61.
29193         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
29194         Reported by James Youngman <jay@gnu.org>.
29195
29196 2010-02-20  Bruno Haible  <bruno@clisp.org>
29197
29198         Improve *printf warning condition.
29199         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
29200         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
29201         and the function is overridden due to SIGPIPE emulation.
29202
29203 2010-02-20  Bruno Haible  <bruno@clisp.org>
29204
29205         * lib/stdio.in.h: Tweak comments.
29206
29207 2010-02-19  Bruno Haible  <bruno@clisp.org>
29208
29209         Make it easier to find modules. New gnulib-tool option '--find'.
29210         * gnulib-tool: New option --find.
29211         (func_usage): Document it.
29212         (func_sanitize_modulelist): New function, extracted from
29213         func_all_modules.
29214         (func_all_modules): Invoke it.
29215         * doc/gnulib-tool.texi (Which modules?): New node.
29216
29217 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
29218
29219         * lib/sys_select.in.h: Provide select replacement even if
29220         sys/select.h exists on a system, for Interix.
29221
29222 2010-02-18  Jim Meyering  <meyering@redhat.com>
29223
29224         init.sh: don't use $(...) just yet
29225         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
29226         to accommodate e.g., Solaris' /bin/sh.
29227
29228 2010-02-17  Bruno Haible  <bruno@clisp.org>
29229
29230         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
29231         Reported by Ludovic Courtès <ludo@gnu.org>.
29232
29233 2010-02-16  Simon Josefsson  <simon@josefsson.org>
29234
29235         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
29236         linking with -lintl.
29237
29238 2010-02-17  Simon Josefsson  <simon@josefsson.org>
29239
29240         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
29241         if not provided by the system's netdb.h.  Reported by
29242         ludo@gnu.org (Ludovic Courtès).
29243
29244 2010-02-15  Jim Meyering  <meyering@redhat.com>
29245
29246         init.sh: improve portability and efficiency
29247         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
29248         "dummy" in a for loop.
29249         Use '!', not '^' to select the complement of a character set used
29250         in a "case" statement.
29251         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
29252         Suggestions from Eric Blake.
29253
29254         init.sh: automatically accommodate programs with the .exe suffix
29255         Automatically arrange for an invocation of "prog" to execute the
29256         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
29257         may use the simpler "prog", yet still work when built on a system
29258         that requires specifying the added suffix.
29259         Do this by constructing a function named "prog" that invokes
29260         "prog.exe" for each .exe file in selected directories.
29261         * tests/init.sh (find_exe_basenames_): New function.
29262         (create_exe_shim_functions_): New function.
29263         (path_prepend_): Use it.
29264
29265         maint.mk: mark syntax-check sc_*.m rules as .PHONY
29266         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
29267         "make -t syntax-check" doesn't create a ton of sc_*.m files.
29268
29269 2010-02-14  Jim Meyering  <meyering@redhat.com>
29270
29271         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
29272         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
29273         (sc_prohibit_hash_pjw_without_use): New rule.
29274
29275         maint.mk: allow the default upload destination dir to be overridden
29276         * top/maint.mk (upload_dest_dir_): Define with a default that
29277         preserves the status quo.
29278         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
29279         Reported by Peter Simons.
29280
29281         maint.mk: prohibit inclusion of "hash.h" without_use
29282         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
29283
29284 2010-02-10  Jim Meyering  <meyering@redhat.com>
29285
29286         maint.mk: prohibit inclusion of "ignore-value.h" without_use
29287         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
29288
29289 2010-02-09  Eric Blake  <ebb9@byu.net>
29290         and Bruno Haible  <bruno@clisp.org>
29291
29292         obstack-printf-posix: ensure declaration
29293         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
29294         extracted from gl_FUNC_OBSTACK_PRINTF.
29295         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
29296         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
29297         Likewise.
29298         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
29299         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
29300         0.
29301
29302 2010-02-08  Bruno Haible  <bruno@clisp.org>
29303
29304         gnulib-tool: Fix typo in 2010-02-07 commit.
29305         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
29306         Reported by Eric Blake.
29307
29308 2010-02-07  Bruno Haible  <bruno@clisp.org>
29309
29310         gnulib-tool: Fix up caching patches.
29311         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
29312         option --no-cache. Use associative arrays when supported by the shell.
29313         (sed_comments): New variable.
29314         (modcache): Renamed from do_cache.
29315         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
29316         abbreviate unnecessarily.
29317         (have_associative): New variable.
29318         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
29319         way also for ksh and zsh.
29320         (func_init_sed_convert_to_cache_statements): New function, extracted
29321         from func_cache_lookup_module. Add support for associative arrays.
29322         Don't set the c_MODULE_cached variable here. Ignore all lines before
29323         the first field header. Remove only the final newline, not all trailing
29324         newlines. Support empty fields correctly. Limit the use of 'eval' to
29325         assignments.
29326         (func_get_description, func_get_status, func_get_notice,
29327         func_get_applicability, func_get_filelist, func_get_dependencies,
29328         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
29329         func_get_automake_snippet, func_get_include_directive,
29330         func_get_link_directive, func_get_license, func_get_maintainer):
29331         Update documentation. List the unoptimized code first. Add support for
29332         associative arrays. Limit the use of 'eval' to assignments.
29333         (func_get_applicability): Undo stylistic pessimisations.
29334         (func_get_automake_snippet, func_get_include_directive): Reduce code
29335         duplication.
29336         (func_modules_transitive_closure, func_modules_add_dummy,
29337         func_modules_notice, func_modules_to_filelist, func_add_file,
29338         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
29339         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
29340         func_create_testdir, func_create_megatestdir): Update documentation.
29341
29342 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29343
29344         * gnulib-tool (func_cache_lookup_module): Store the module name
29345         belonging to the cache variable; error out if two different
29346         module names map to the same cache variable name.
29347
29348 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29349
29350         gnulib-tool: Make caching optional.
29351         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
29352         Update matching short versions of --no-changelog.
29353         (func_usage): Update.
29354         (sed_extract_cache_prog): Renamed from ...
29355         (sed_extract_prog): ... this; revert to old extraction script.
29356         (func_get_description, func_get_status)
29357         (func_get_notice, func_get_applicability, func_get_filelist)
29358         (func_get_dependencies, func_get_autoconf_early_snippet)
29359         (func_get_autoconf_snippet, func_get_automake_snippet)
29360         (func_get_include_directive, func_get_link_directive)
29361         (func_get_license, func_get_maintainer): If $do_cache is false,
29362         use old, non-caching extraction scripts.
29363         Suggestion by Bruno Haible.
29364
29365 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29366
29367         gnulib-tool: cache module metainformation.
29368         * gnulib-tool (sed_extract_prog): Match newline before each
29369         header, and rewrite header to a shell variable suffix.
29370         (func_cache_var, func_cache_lookup_module): New functions,
29371         to turn a module name into a cache variable prefix, and to
29372         look up and cache module metainformation.
29373         (func_get_description, func_get_status)
29374         (func_get_notice, func_get_applicability, func_get_filelist)
29375         (func_get_dependencies, func_get_autoconf_early_snippet)
29376         (func_get_autoconf_snippet, func_get_automake_snippet)
29377         (func_get_include_directive, func_get_link_directive)
29378         (func_get_license, func_get_maintainer): Use
29379         func_cache_lookup_module.
29380
29381 2010-02-07  Bruno Haible  <bruno@clisp.org>
29382
29383         fnctl: Fix missing dependency.
29384         * modules/fcntl (Depends-on): Add getdtablesize.
29385         Reported by John W. Eaton <jwe@gnu.org>.
29386
29387 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
29388
29389         Argp: fix recognition of short alias options.
29390
29391         * lib/argp-parse.c (convert_options): Fix improper use of
29392         `|' between character values.
29393         * tests/test-argp.c (group1_option): New alias option
29394         --read (-r).
29395         (group1_parser): Special handling for 'r'.
29396         (test15): New test case.
29397         (test_fun): Add test15.
29398         * tests/test-argp-2.sh: Update expected --help and --usage
29399         outputs.
29400
29401 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
29402
29403         * tests/test-argp.c: Fix indentation.
29404
29405 2010-02-04  Eric Blake  <ebb9@byu.net>
29406
29407         gettimeofday: expose type of second argument
29408         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
29409         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
29410         * tests/test-gettimeofday.c: Use it to silence warning.
29411         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
29412         the issue.
29413
29414 2010-02-03  Jim Meyering  <meyering@redhat.com>
29415
29416         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
29417         * lib/regcomp.c (TYPE_SIGNED): Define.
29418         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
29419
29420         regcomp.c: avoid a new -Wshadow warning
29421         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
29422
29423 2010-02-01  Jim Meyering  <meyering@redhat.com>
29424
29425         removing useless parentheses in cpp #define directives
29426         For motivation, see commit c0221df4, "define STREQ(a,b)
29427         consistently, removing useless parentheses"
29428         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
29429         * lib/mountlist.c (MNT_IGNORE): Likewise.
29430         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
29431
29432 2010-02-01  Eric Blake  <ebb9@byu.net>
29433
29434         sys_time: use link-warning
29435         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
29436         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
29437         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
29438         * modules/sys_time (Depends-on): Add warn-on-use.
29439         (Makefile.am): Always build replacement.
29440         (configure.ac): Update substitutions.
29441         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
29442         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
29443         bother with SYS_TIME_H.
29444         * modules/gettimeofday (configure.ac): Declare indicator.
29445         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
29446         in use.
29447
29448         closein-tests: silence compiler warning
29449         * tests/test-closein.c (main): Ignore fread result.
29450         * modules/closein-tests (Depends-on): Add ignore-value.
29451
29452         tests: silence warning about system return
29453         * tests/test-areadlink-with-size.c (main): Ignore system result.
29454         * tests/test-areadlink.c (main): Likewise.
29455         * tests/test-areadlinkat-with-size.c (main): Likewise.
29456         * tests/test-areadlinkat.c (main): Likewise.
29457         * tests/test-canonicalize-lgpl.c (main): Likewise.
29458         * tests/test-canonicalize.c (main): Likewise.
29459         * tests/test-chown.c (main): Likewise.
29460         * tests/test-fchownat.c (main): Likewise.
29461         * tests/test-fdutimensat.c (main): Likewise.
29462         * tests/test-fstatat.c (main): Likewise.
29463         * tests/test-futimens.c (main): Likewise.
29464         * tests/test-lchown.c (main): Likewise.
29465         * tests/test-link.c (main): Likewise.
29466         * tests/test-linkat.c (main): Likewise.
29467         * tests/test-lstat.c (main): Likewise.
29468         * tests/test-mkdir.c (main): Likewise.
29469         * tests/test-mkdirat.c (main): Likewise.
29470         * tests/test-mkfifo.c (main): Likewise.
29471         * tests/test-mkfifoat.c (main): Likewise.
29472         * tests/test-mknod.c (main): Likewise.
29473         * tests/test-readlink.c (main): Likewise.
29474         * tests/test-remove.c (main): Likewise.
29475         * tests/test-rename.c (main): Likewise.
29476         * tests/test-renameat.c (main): Likewise.
29477         * tests/test-rmdir.c (main): Likewise.
29478         * tests/test-symlink.c (main): Likewise.
29479         * tests/test-symlinkat.c (main): Likewise.
29480         * tests/test-unlink.c (main): Likewise.
29481         * tests/test-unlinkat.c (main): Likewise.
29482         * tests/test-utimens.c (main): Likewise.
29483         * tests/test-utimensat.c (main): Likewise.
29484         * modules/areadlink-tests (Depends-on): Add ignore-value.
29485         * modules/areadlink-with-size-tests (Depends-on): Likewise.
29486         * modules/areadlinkat-tests (Depends-on): Likewise.
29487         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
29488         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
29489         * modules/canonicalize-tests (Depends-on): Likewise.
29490         * modules/chown-tests (Depends-on): Likewise.
29491         * modules/fdutimensat-tests (Depends-on): Likewise.
29492         * modules/futimens-tests (Depends-on): Likewise.
29493         * modules/lchown-tests (Depends-on): Likewise.
29494         * modules/link-tests (Depends-on): Likewise.
29495         * modules/linkat-tests (Depends-on): Likewise.
29496         * modules/lstat-tests (Depends-on): Likewise.
29497         * modules/mkdir-tests (Depends-on): Likewise.
29498         * modules/mkfifo-tests (Depends-on): Likewise.
29499         * modules/mkfifoat-tests (Depends-on): Likewise.
29500         * modules/mknod-tests (Depends-on): Likewise.
29501         * modules/openat-tests (Depends-on): Likewise.
29502         * modules/readlink-tests (Depends-on): Likewise.
29503         * modules/remove-tests (Depends-on): Likewise.
29504         * modules/rename-tests (Depends-on): Likewise.
29505         * modules/renameat-tests (Depends-on): Likewise.
29506         * modules/rmdir-tests (Depends-on): Likewise.
29507         * modules/symlink-tests (Depends-on): Likewise.
29508         * modules/symlinkat-tests (Depends-on): Likewise.
29509         * modules/unlink-tests (Depends-on): Likewise.
29510         * modules/utimens-tests (Depends-on): Likewise.
29511         * modules/utimensat-tests (Depends-on): Likewise.
29512
29513 2010-01-31  Bruno Haible  <bruno@clisp.org>
29514
29515         Perform the same test for many <math.h> functions.
29516         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
29517         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
29518         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
29519         of gl_MATHFUNC.
29520         * modules/acos (configure.ac): Likewise.
29521         * modules/asin (configure.ac): Likewise.
29522         * modules/atan (configure.ac): Likewise.
29523         * modules/atan2 (configure.ac): Likewise.
29524         * modules/cbrt (configure.ac): Likewise.
29525         * modules/copysign (configure.ac): Likewise.
29526         * modules/cos (configure.ac): Likewise.
29527         * modules/cosh (configure.ac): Likewise.
29528         * modules/erf (configure.ac): Likewise.
29529         * modules/erfc (configure.ac): Likewise.
29530         * modules/exp (configure.ac): Likewise.
29531         * modules/fmod (configure.ac): Likewise.
29532         * modules/hypot (configure.ac): Likewise.
29533         * modules/j0 (configure.ac): Likewise.
29534         * modules/j1 (configure.ac): Likewise.
29535         * modules/jn (configure.ac): Likewise.
29536         * modules/lgamma (configure.ac): Likewise.
29537         * modules/log (configure.ac): Likewise.
29538         * modules/log10 (configure.ac): Likewise.
29539         * modules/log1p (configure.ac): Likewise.
29540         * modules/pow (configure.ac): Likewise.
29541         * modules/remainder (configure.ac): Likewise.
29542         * modules/sin (configure.ac): Likewise.
29543         * modules/sinh (configure.ac): Likewise.
29544         * modules/tan (configure.ac): Likewise.
29545         * modules/tanh (configure.ac): Likewise.
29546         * modules/y0 (configure.ac): Likewise.
29547         * modules/y1 (configure.ac): Likewise.
29548         * modules/yn (configure.ac): Likewise.
29549         Suggested by Paolo Bonzini.
29550
29551 2010-01-31  Bruno Haible  <bruno@clisp.org>
29552
29553         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
29554
29555 2010-01-31  Bruno Haible  <bruno@clisp.org>
29556
29557         Work around getdelim() bug on FreeBSD 8.0.
29558         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
29559         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
29560         not work.
29561         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
29562         is 1.
29563         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
29564         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
29565         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
29566         a non-zero size.
29567         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
29568
29569 2010-01-31  Bruno Haible  <bruno@clisp.org>
29570
29571         Work around getline() bug on FreeBSD 8.0.
29572         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
29573         and a non-zero size.
29574         * tests/test-getline.c (main): Likewise.
29575         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
29576         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
29577
29578 2010-01-28  Eric Blake  <ebb9@byu.net>
29579
29580         regex: fix build failure
29581         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
29582         platforms.
29583
29584 2010-01-28  Jim Meyering  <meyering@redhat.com>
29585
29586         regex: do not ignore memory allocation failure
29587         * lib/regex_internal.c (create_cd_newstate): Detect
29588         re_node_set_init_copy failure.   Extracted from glibc commit
29589         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
29590
29591         regex: sync more white-space changes from libc
29592         * lib/regex_internal.c: White-space only changes.
29593         * lib/regexec.c: Likewise.
29594
29595         regex: add many uses of __attribute_warn_unused_result__
29596         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
29597         * lib/regexec.c: Likewise.
29598         Extracted from a messy glibc commit.
29599
29600         regcomp.c: spelling and merge-artifact from glibc
29601         * lib/regcomp.c: Merge remainder of glibc's
29602         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
29603
29604         regcomp.c: sync white-space changes from glibc
29605         * lib/regcomp.c: Merge to accommodate white space
29606         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
29607
29608         regcomp.c: do not ignore internal return values
29609         * lib/regcomp.c: Do not ignore internal return values.
29610         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
29611         but without its white-space changes and spelling fixes.
29612
29613         regex_internal.h: define __attribute_warn_unused_result__
29614         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
29615
29616         maint: add a syntax-check rule to check for vulnerable Makefile.in
29617         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
29618
29619 2010-01-27  Jim Meyering  <meyering@redhat.com>
29620
29621         ncftpput-ftp: clean up spaces
29622         * build-aux/ncftpput-ftp: Make Copyright line consistent.
29623         Remove trailing blanks.
29624
29625 2010-01-27  Simon Josefsson  <simon@josefsson.org>
29626
29627         * build-aux/git-version-gen: Fix copyright statement.
29628         * build-aux/gnupload: Likewise.
29629         * tests/test-arcfour.c: Likewise.
29630         * tests/test-arctwo.c: Likewise.
29631         * tests/test-count-one-bits.c: Likewise.
29632         * tests/test-crc.c: Likewise.
29633         * tests/test-des.c: Likewise.
29634         * tests/test-gc-arcfour.c: Likewise.
29635         * tests/test-gc-arctwo.c: Likewise.
29636         * tests/test-gc-des.c: Likewise.
29637         * tests/test-gc-hmac-md5.c: Likewise.
29638         * tests/test-gc-hmac-sha1.c: Likewise.
29639         * tests/test-gc-md2.c: Likewise.
29640         * tests/test-gc-md4.c: Likewise.
29641         * tests/test-gc-md5.c: Likewise.
29642         * tests/test-gc-pbkdf2-sha1.c: Likewise.
29643         * tests/test-gc-rijndael.c: Likewise.
29644         * tests/test-gc-sha1.c: Likewise.
29645         * tests/test-gc.c: Likewise.
29646         * tests/test-gethostname.c: Likewise.
29647         * tests/test-gettimeofday.c: Likewise.
29648         * tests/test-hash.c: Likewise.
29649         * tests/test-hmac-md5.c: Likewise.
29650         * tests/test-hmac-sha1.c: Likewise.
29651         * tests/test-md2.c: Likewise.
29652         * tests/test-md4.c: Likewise.
29653         * tests/test-md5.c: Likewise.
29654         * tests/test-memchr.c: Likewise.
29655         * tests/test-memchr2.c: Likewise.
29656         * tests/test-memcmp.c: Likewise.
29657         * tests/test-memmem.c: Likewise.
29658         * tests/test-memrchr.c: Likewise.
29659         * tests/test-rawmemchr.c: Likewise.
29660         * tests/test-read-file.c: Likewise.
29661         * tests/test-rijndael.c: Likewise.
29662         * tests/test-sockets.c: Likewise.
29663         * tests/test-strchrnul.c: Likewise.
29664         * tests/test-strstr.c: Likewise.
29665         * tests/test-strtod.c: Likewise.
29666         * build-aux/ncftpput-ftp: Likewise.
29667
29668 2010-01-26  Eric Blake  <ebb9@byu.net>
29669
29670         ignore-value: update recommended header name
29671         * modules/ignore-value (Include): Only use <> for headers that
29672         exist in glibc.
29673
29674 2010-01-26  Jim Meyering  <meyering@redhat.com>
29675
29676         test-userspec.c: avoid compiler warnings
29677         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
29678         and "initialization discards qualifiers..." warnings.
29679         Put the first "uid" in its own scope, and make char* members "const".
29680
29681 2010-01-25  Bruno Haible  <bruno@clisp.org>
29682
29683         gnulib-tool: Make warning diagnostics consistent.
29684         * gnulib-tool (func_warning): New function.
29685         Use it everywhere where gnulib-tool produces output to stderr and it is
29686         not a fatal error.
29687
29688 2010-01-25  Bruno Haible  <bruno@clisp.org>
29689
29690         Fix test dependencies.
29691         * modules/xstrtol-tests (Depends-on): Add inttypes.
29692         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
29693
29694 2010-01-25 Pádraig Brady <P@draigBrady.com>
29695
29696         syntax-check: detect incorrect boolean macro values in config.h
29697         * modules/maintainer-makefile (configure.ac): Parameterize the location
29698         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
29699         The logic is from Eric Blake and the location indicated by Jim Meyering.
29700         Note the more natural CONFIG_HEADER name is prohibited by automake
29701         for backwards compatibility reasons.
29702         * top/maint.mk (sc_Wundef_boolean): New rule.
29703
29704 2010-01-25  Jim Meyering  <meyering@redhat.com>
29705
29706         bootstrap: detect MacOS 10.6's shasum, too
29707         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
29708         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
29709
29710 2010-01-23  Jim Meyering  <meyering@redhat.com>
29711
29712         xstrtoll: new module
29713         * modules/xstrtoll: New file.
29714         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
29715         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
29716         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
29717         ./configure fails if you use this module and lack "long long".
29718         * modules/xstrtoll-tests: New module.
29719         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
29720         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
29721         new init.sh-based test framework.
29722
29723 2010-01-24  Bruno Haible  <bruno@clisp.org>
29724
29725         Tests for module 'yn'.
29726         * modules/yn-tests: New file.
29727         * tests/test-yn.c: New file.
29728
29729         Tests for module 'y1'.
29730         * modules/y1-tests: New file.
29731         * tests/test-y1.c: New file.
29732
29733         Tests for module 'y0'.
29734         * modules/y0-tests: New file.
29735         * tests/test-y0.c: New file.
29736
29737         Tests for module 'tanh'.
29738         * modules/tanh-tests: New file.
29739         * tests/test-tanh.c: New file.
29740
29741         Tests for module 'tan'.
29742         * modules/tan-tests: New file.
29743         * tests/test-tan.c: New file.
29744
29745         Tests for module 'sqrt'.
29746         * modules/sqrt-tests: New file.
29747         * tests/test-sqrt.c: New file.
29748
29749         Tests for module 'sinh'.
29750         * modules/sinh-tests: New file.
29751         * tests/test-sinh.c: New file.
29752
29753         Tests for module 'sin'.
29754         * modules/sin-tests: New file.
29755         * tests/test-sin.c: New file.
29756
29757         Tests for module 'rint'.
29758         * modules/rint-tests: New file.
29759         * tests/test-rint.c: New file.
29760
29761         Tests for module 'remainder'.
29762         * modules/remainder-tests: New file.
29763         * tests/test-remainder.c: New file.
29764
29765         Tests for module 'pow'.
29766         * modules/pow-tests: New file.
29767         * tests/test-pow.c: New file.
29768
29769         Tests for module 'nextafter'.
29770         * modules/nextafter-tests: New file.
29771         * tests/test-nextafter.c: New file.
29772
29773         Tests for module 'modf'.
29774         * modules/modf-tests: New file.
29775         * tests/test-modf.c: New file.
29776
29777         Tests for module 'logb'.
29778         * modules/logb-tests: New file.
29779         * tests/test-logb.c: New file.
29780
29781         Tests for module 'log1p'.
29782         * modules/log1p-tests: New file.
29783         * tests/test-log1p.c: New file.
29784
29785         Tests for module 'log10'.
29786         * modules/log10-tests: New file.
29787         * tests/test-log10.c: New file.
29788
29789         Tests for module 'log'.
29790         * modules/log-tests: New file.
29791         * tests/test-log.c: New file.
29792
29793         Tests for module 'lgamma'.
29794         * modules/lgamma-tests: New file.
29795         * tests/test-lgamma.c: New file.
29796
29797         Tests for module 'ldexp'.
29798         * modules/ldexp-tests: New file.
29799         * tests/test-ldexp.c: New file.
29800
29801         Tests for module 'jn'.
29802         * modules/jn-tests: New file.
29803         * tests/test-jn.c: New file.
29804
29805         Tests for module 'j1'.
29806         * modules/j1-tests: New file.
29807         * tests/test-j1.c: New file.
29808
29809         Tests for module 'j0'.
29810         * modules/j0-tests: New file.
29811         * tests/test-j0.c: New file.
29812
29813         Tests for module 'hypot'.
29814         * modules/hypot-tests: New file.
29815         * tests/test-hypot.c: New file.
29816
29817         Tests for module 'fmod'.
29818         * modules/fmod-tests: New file.
29819         * tests/test-fmod.c: New file.
29820
29821         Tests for module 'fabs'.
29822         * modules/fabs-tests: New file.
29823         * tests/test-fabs.c: New file.
29824
29825         Tests for module 'exp'.
29826         * modules/exp-tests: New file.
29827         * tests/test-exp.c: New file.
29828
29829         Tests for module 'erfc'.
29830         * modules/erfc-tests: New file.
29831         * tests/test-erfc.c: New file.
29832
29833         Tests for module 'erf'.
29834         * modules/erf-tests: New file.
29835         * tests/test-erf.c: New file.
29836
29837         Tests for module 'cosh'.
29838         * modules/cosh-tests: New file.
29839         * tests/test-cosh.c: New file.
29840
29841         Tests for module 'cos'.
29842         * modules/cos-tests: New file.
29843         * tests/test-cos.c: New file.
29844
29845         Tests for module 'copysign'.
29846         * modules/copysign-tests: New file.
29847         * tests/test-copysign.c: New file.
29848
29849         Tests for module 'cbrt'.
29850         * modules/cbrt-tests: New file.
29851         * tests/test-cbrt.c: New file.
29852
29853         Tests for module 'atan2'.
29854         * modules/atan2-tests: New file.
29855         * tests/test-atan2.c: New file.
29856
29857         Tests for module 'atan'.
29858         * modules/atan-tests: New file.
29859         * tests/test-atan.c: New file.
29860
29861         Tests for module 'asin'.
29862         * modules/asin-tests: New file.
29863         * tests/test-asin.c: New file.
29864
29865         Tests for module 'acos'.
29866         * modules/acos-tests: New file.
29867         * tests/test-acos.c: New file.
29868
29869 2010-01-24  Bruno Haible  <bruno@clisp.org>
29870
29871         Fix tests for common <math.h> functions.
29872         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
29873         code snippet that references the function pointer, rather than merely
29874         calling the function. Substitute the FUNC_LIBM variable.
29875         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
29876         * modules/acos (configure.ac): Likewise.
29877         * modules/asin (configure.ac): Likewise.
29878         * modules/atan (configure.ac): Likewise.
29879         * modules/atan2 (configure.ac): Likewise.
29880         * modules/cbrt (configure.ac): Likewise.
29881         * modules/copysign (configure.ac): Likewise.
29882         * modules/cos (configure.ac): Likewise.
29883         * modules/cosh (configure.ac): Likewise.
29884         * modules/erf (configure.ac): Likewise.
29885         * modules/erfc (configure.ac): Likewise.
29886         * modules/exp (configure.ac): Likewise.
29887         * modules/fabs (configure.ac): Likewise.
29888         * modules/fmod (configure.ac): Likewise.
29889         * modules/hypot (configure.ac): Likewise.
29890         * modules/j0 (configure.ac): Likewise.
29891         * modules/j1 (configure.ac): Likewise.
29892         * modules/jn (configure.ac): Likewise.
29893         * modules/ldexp (configure.ac): Likewise.
29894         * modules/lgamma (configure.ac): Likewise.
29895         * modules/log (configure.ac): Likewise.
29896         * modules/log10 (configure.ac): Likewise.
29897         * modules/log1p (configure.ac): Likewise.
29898         * modules/logb (configure.ac): Likewise.
29899         * modules/modf (configure.ac): Likewise.
29900         * modules/nextafter (configure.ac): Likewise.
29901         * modules/pow (configure.ac): Likewise.
29902         * modules/remainder (configure.ac): Likewise.
29903         * modules/rint (configure.ac): Likewise.
29904         * modules/sin (configure.ac): Likewise.
29905         * modules/sinh (configure.ac): Likewise.
29906         * modules/tan (configure.ac): Likewise.
29907         * modules/tanh (configure.ac): Likewise.
29908         * modules/y0 (configure.ac): Likewise.
29909         * modules/y1 (configure.ac): Likewise.
29910         * modules/yn (configure.ac): Likewise.
29911
29912 2010-01-24  Bruno Haible  <bruno@clisp.org>
29913
29914         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
29915         * tests/test-acosl.c (x): New variable.
29916         (main): Store argument in x and fetch it from x.
29917         * tests/test-asinl.c (x): New variable.
29918         (main): Store argument in x and fetch it from x.
29919         * tests/test-atanl.c (x): New variable.
29920         (main): Store argument in x and fetch it from x.
29921         * tests/test-cosl.c (x): New variable.
29922         (main): Store argument in x and fetch it from x.
29923         * tests/test-expl.c (x): New variable.
29924         (main): Store argument in x and fetch it from x.
29925         * tests/test-logl.c (x): New variable.
29926         (main): Store argument in x and fetch it from x.
29927         * tests/test-sinl.c (x): New variable.
29928         (main): Store argument in x and fetch it from x.
29929         * tests/test-sqrtl.c (x): New variable.
29930         (main): Store argument in x and fetch it from x.
29931         * tests/test-tanl.c (x): New variable.
29932         (main): Store argument in x and fetch it from x.
29933
29934 2010-01-24  Bruno Haible  <bruno@clisp.org>
29935
29936         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
29937         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
29938         assignments to the initial TESTS_ENVIRONMENT.
29939         * doc/gnulib.texi (Unit test modules): Document it.
29940         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
29941         TESTS_ENVIRONMENT.
29942         * modules/btowc-tests (Makefile.am): Likewise.
29943         * modules/c-stack-tests (Makefile.am): Likewise.
29944         * modules/c-strcase-tests (Makefile.am): Likewise.
29945         * modules/copy-file-tests (Makefile.am): Likewise.
29946         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
29947         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
29948         * modules/mbrtowc-tests (Makefile.am): Likewise.
29949         * modules/mbscasecmp-tests (Makefile.am): Likewise.
29950         * modules/mbscasestr-tests (Makefile.am): Likewise.
29951         * modules/mbschr-tests (Makefile.am): Likewise.
29952         * modules/mbscspn-tests (Makefile.am): Likewise.
29953         * modules/mbsinit-tests (Makefile.am): Likewise.
29954         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
29955         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
29956         * modules/mbspbrk-tests (Makefile.am): Likewise.
29957         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
29958         * modules/mbsrchr-tests (Makefile.am): Likewise.
29959         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
29960         * modules/mbsspn-tests (Makefile.am): Likewise.
29961         * modules/mbsstr-tests (Makefile.am): Likewise.
29962         * modules/nl_langinfo-tests (Makefile.am): Likewise.
29963         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
29964         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
29965         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
29966         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
29967         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
29968         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
29969         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
29970         * modules/wcrtomb-tests (Makefile.am): Likewise.
29971         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
29972         * modules/wcsrtombs-tests (Makefile.am): Likewise.
29973         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
29974         assignments from TESTS_ENVIRONMENT.
29975         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
29976         augmentation.
29977         * modules/argp-version-etc-tests (Makefile.am): Likewise.
29978         * modules/atexit-tests (Makefile.am): Likewise.
29979         * modules/binary-io-tests (Makefile.am): Likewise.
29980         * modules/closein-tests (Makefile.am): Likewise.
29981         * modules/dprintf-posix-tests (Makefile.am): Likewise.
29982         * modules/exclude-tests (Makefile.am): Likewise.
29983         * modules/fflush-tests (Makefile.am): Likewise.
29984         * modules/fpending-tests (Makefile.am): Likewise.
29985         * modules/fprintf-posix-tests (Makefile.am): Likewise.
29986         * modules/freadahead-tests (Makefile.am): Likewise.
29987         * modules/freadptr-tests (Makefile.am): Likewise.
29988         * modules/freadseek-tests (Makefile.am): Likewise.
29989         * modules/fseek-tests (Makefile.am): Likewise.
29990         * modules/fseeko-tests (Makefile.am): Likewise.
29991         * modules/ftell-tests (Makefile.am): Likewise.
29992         * modules/ftello-tests (Makefile.am): Likewise.
29993         * modules/idpriv-drop-tests (Makefile.am): Likewise.
29994         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
29995         * modules/lseek-tests (Makefile.am): Likewise.
29996         * modules/parse-duration-tests (Makefile.am): Likewise.
29997         * modules/perror-tests (Makefile.am): Likewise.
29998         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
29999         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
30000         * modules/pipe-tests (Makefile.am): Likewise.
30001         * modules/pread-tests (Makefile.am): Likewise.
30002         * modules/printf-posix-tests (Makefile.am): Likewise.
30003         * modules/select-tests (Makefile.am): Likewise.
30004         * modules/sigpipe-tests (Makefile.am): Likewise.
30005         * modules/tsearch-tests (Makefile.am): Likewise.
30006         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
30007         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
30008         * modules/uniname/uniname-tests (Makefile.am): Likewise.
30009         * modules/uniwidth/width-tests (Makefile.am): Likewise.
30010         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
30011         * modules/version-etc-tests (Makefile.am): Likewise.
30012         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
30013         * modules/vprintf-posix-tests (Makefile.am): Likewise.
30014         * modules/xalloc-die-tests (Makefile.am): Likewise.
30015         * modules/xprintf-posix-tests (Makefile.am): Likewise.
30016         * modules/xstrtoimax-tests (Makefile.am): Likewise.
30017         * modules/xstrtol-tests (Makefile.am): Likewise.
30018         * modules/xstrtoumax-tests (Makefile.am): Likewise.
30019         * modules/yesno-tests (Makefile.am): Likewise.
30020         Suggested by Jim Meyering.
30021
30022 2010-01-24  Bruno Haible  <bruno@clisp.org>
30023
30024         More documentation.
30025         * doc/gnulib.texi (Writing modules): New chapter.
30026         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
30027         the new chapter.
30028
30029 2010-01-24  Jim Meyering  <meyering@redhat.com>
30030
30031         maint.mk: do not prepend "./" after filtering
30032         * top/maint.mk (_prepend_srcdir_prefix): New variable
30033         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
30034         "./" when $(srcdir) is ".".
30035
30036         define STREQ(a,b) consistently, removing useless parentheses
30037         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
30038         since the only risk is that "a" or "b" contains an unparenthesized
30039         comma, but if either did that, STREQ would have 3 or more arguments.
30040         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
30041         * lib/fts.c (STREQ): Remove unnecessary parentheses.
30042         * lib/hash-triple.c (STREQ): Likewise.
30043         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
30044         * lib/getugroups.c (STREQ): Likewise.
30045
30046 2010-01-23  Jim Meyering  <meyering@redhat.com>
30047
30048         maint.mk: fix syntax-check in a non-srcdir build directory
30049         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
30050         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
30051
30052 2010-01-22  Jim Meyering  <meyering@redhat.com>
30053
30054         userspec: add unit tests
30055         * tests/test-userspec.c: New file.
30056         * modules/userspec-tests: Likewise.
30057
30058 2010-01-21  Jim Meyering  <meyering@redhat.com>
30059
30060         maint.mk: handle source file names containing "." robustly
30061         * top/maint.mk (_dot_escaped_srcdir): Define.
30062         (VC_LIST): Use it in LHS of sed substitution.
30063
30064 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
30065
30066         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
30067         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
30068         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
30069         from a non-srcdir build.
30070
30071 2010-01-20  Eric Blake  <ebb9@byu.net>
30072
30073         warn-on-use: use instead of link-warning
30074         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
30075         * modules/unistd (Depends-on, Makefile.am): Likewise.
30076         * modules/arpa_inet (Depends-on): Replace link-warning with
30077         warn-on-use.
30078         (Makefile.am): Update rules accordingly.
30079         * modules/ctype (Depends-on, Makefile.am): Likewise.
30080         * modules/dirent (Depends-on, Makefile.am): Likewise.
30081         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
30082         * modules/inttypes (Depends-on, Makefile.am): Likewise.
30083         * modules/langinfo (Depends-on, Makefile.am): Likewise.
30084         * modules/locale (Depends-on, Makefile.am): Likewise.
30085         * modules/math (Depends-on, Makefile.am): Likewise.
30086         * modules/search (Depends-on, Makefile.am): Likewise.
30087         * modules/signal (Depends-on, Makefile.am): Likewise.
30088         * modules/spawn (Depends-on, Makefile.am): Likewise.
30089         * modules/stdlib (Depends-on, Makefile.am): Likewise.
30090         * modules/string (Depends-on, Makefile.am): Likewise.
30091         * modules/strings (Depends-on, Makefile.am): Likewise.
30092         * modules/sys_file (Depends-on, Makefile.am): Likewise.
30093         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
30094         * modules/sys_select (Depends-on, Makefile.am): Likewise.
30095         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
30096         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
30097         * modules/sys_times (Depends-on, Makefile.am): Likewise.
30098         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
30099         * modules/wchar (Depends-on, Makefile.am): Likewise.
30100         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
30101         should be poisoned.
30102         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
30103         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
30104         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
30105         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
30106         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
30107         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
30108         * m4/math_h.m4 (gl_MATH_H): Likewise.
30109         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
30110         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
30111         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
30112         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
30113         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
30114         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
30115         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
30116         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
30117         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
30118         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
30119         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
30120         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
30121         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
30122         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
30123         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
30124         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
30125         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
30126         GL_LINK_WARNING.
30127         * lib/ctype.in.h: Likewise.
30128         * lib/dirent.in.h: Likewise.
30129         * lib/fcntl.in.h: Likewise.
30130         * lib/inttypes.in.h: Likewise.
30131         * lib/langinfo.in.h: Likewise.
30132         * lib/locale.in.h: Likewise.
30133         * lib/math.in.h: Likewise.
30134         * lib/search.in.h: Likewise.
30135         * lib/signal.in.h: Likewise.
30136         * lib/spawn.in.h: Likewise.
30137         * lib/stdio.in.h: Likewise.
30138         * lib/stdlib.in.h: Likewise.
30139         * lib/string.in.h: Likewise.
30140         * lib/strings.in.h: Likewise.
30141         * lib/sys_file.in.h: Likewise.
30142         * lib/sys_ioctl.in.h: Likewise.
30143         * lib/sys_select.in.h: Likewise.
30144         * lib/sys_socket.in.h: Likewise.
30145         * lib/sys_stat.in.h: Likewise.
30146         * lib/sys_times.in.h: Likewise.
30147         * lib/sys_utsname.in.h: Likewise.
30148         * lib/unistd.in.h: Likewise.
30149         * lib/wchar.in.h: Likewise.
30150
30151 2010-01-20  Bruno Haible  <bruno@clisp.org>
30152
30153         Avoid duplicate -lm.
30154         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
30155         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
30156         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
30157         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
30158         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
30159         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
30160         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
30161         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
30162         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
30163         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
30164         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
30165         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
30166         Reported by Paolo Bonzini.
30167
30168 2010-01-19  Bruno Haible  <bruno@clisp.org>
30169
30170         langinfo, nl_langinfo: Relicense under LGPLv2+.
30171         * modules/langinfo (License): Change to LGPLv2+.
30172         * modules/nl_langinfo (License): Likewise.
30173         Patch by David Lutterkort <lutter@redhat.com>.
30174
30175 2010-01-19  Bruno Haible  <bruno@clisp.org>
30176
30177         Avoid compilation error with cc on OSF/1 5.1.
30178         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
30179         statement, not before.
30180         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30181
30182 2010-01-18  Bruno Haible  <bruno@clisp.org>
30183
30184         Avoid a link error due to the __printf__ symbol.
30185         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
30186         and 2.6.x.
30187         (__format__, __printf__): Remove definitions.
30188         * lib/argp-fmtstream.h: Likewise.
30189         * lib/argp.h: Likewise.
30190         * lib/error.h: Likewise.
30191         * lib/vasnprintf.h: Likewise.
30192         * lib/xprintf.h: Likewise.
30193         * lib/xvasprintf.h: Likewise.
30194         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30195
30196 2010-01-18  Bruno Haible  <bruno@clisp.org>
30197
30198         Tests for module 'tanl'.
30199         * modules/tanl-tests: New file.
30200         * tests/test-tanl.c: New file.
30201
30202         Tests for module 'sqrtl'.
30203         * modules/sqrtl-tests: New file.
30204         * tests/test-sqrtl.c: New file.
30205
30206         Tests for module 'sinl'.
30207         * modules/sinl-tests: New file.
30208         * tests/test-sinl.c: New file.
30209
30210         Tests for module 'logl'.
30211         * modules/logl-tests: New file.
30212         * tests/test-logl.c: New file.
30213
30214         Tests for module 'expl'.
30215         * modules/expl-tests: New file.
30216         * tests/test-expl.c: New file.
30217
30218         Tests for module 'cosl'.
30219         * modules/cosl-tests: New file.
30220         * tests/test-cosl.c: New file.
30221
30222         Tests for module 'atanl'.
30223         * modules/atanl-tests: New file.
30224         * tests/test-atanl.c: New file.
30225
30226         Tests for module 'asinl'.
30227         * modules/asinl-tests: New file.
30228         * tests/test-asinl.c: New file.
30229
30230         Tests for module 'acosl'.
30231         * modules/acosl-tests: New file.
30232         * tests/test-acosl.c: New file.
30233
30234         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
30235         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
30236         tanl): Use the standard gnulib idiom.
30237         * lib/cosl.c: Don't include trigl.c and sincosl.c.
30238         * lib/sinl.c: Likewise.
30239         * lib/tanl.c: Don't include trigl.c.
30240         (kernel_tanl): Make static.
30241         * lib/sincosl.c: Include trigl.h first.
30242         * lib/trigl.c: Likewise.
30243         * m4/acosl.m4: New file.
30244         * m4/asinl.m4: New file.
30245         * m4/atanl.m4: New file.
30246         * m4/cosl.m4: New file.
30247         * m4/expl.m4: New file.
30248         * m4/logl.m4: New file.
30249         * m4/sinl.m4: New file.
30250         * m4/sqrtl.m4: New file.
30251         * m4/tanl.m4: New file.
30252         * m4/mathl.m4: Remove file.
30253         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
30254         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
30255         Don't initialize GNULIB_MATHL.
30256         * modules/acosl: New file.
30257         * modules/asinl: New file.
30258         * modules/atanl: New file.
30259         * modules/cosl: New file.
30260         * modules/expl: New file.
30261         * modules/logl: New file.
30262         * modules/sinl: New file.
30263         * modules/sqrtl: New file.
30264         * modules/tanl: New file.
30265         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
30266         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
30267         substitute GNULIB_MATHL.
30268         * modules/mathl: Rewritten.
30269         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
30270         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
30271         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
30272         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
30273         * doc/posix-functions/expl.texi: Mention the 'expl' module.
30274         * doc/posix-functions/logl.texi: Mention the 'logl' module.
30275         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
30276         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
30277         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
30278
30279 2010-01-18  Bruno Haible  <bruno@clisp.org>
30280
30281         sqrt: Make gl_FUNC_SQRT requirable.
30282         * m4/sqrt.m4: New file.
30283         * modules/sqrt (Files): Add it.
30284         (configure.ac): Invoke gl_FUNC_SQRT.
30285
30286 2010-01-18  Bruno Haible  <bruno@clisp.org>
30287
30288         New modules for common <math.h> functions.
30289         * m4/mathfunc.m4: New file.
30290         * modules/acos: New file.
30291         * modules/asin: New file.
30292         * modules/atan: New file.
30293         * modules/atan2: New file.
30294         * modules/cbrt: New file.
30295         * modules/copysign: New file.
30296         * modules/cos: New file.
30297         * modules/cosh: New file.
30298         * modules/erf: New file.
30299         * modules/erfc: New file.
30300         * modules/exp: New file.
30301         * modules/fabs: New file.
30302         * modules/fmod: New file.
30303         * modules/hypot: New file.
30304         * modules/j0: New file.
30305         * modules/j1: New file.
30306         * modules/jn: New file.
30307         * modules/ldexp: New file.
30308         * modules/lgamma: New file.
30309         * modules/log: New file.
30310         * modules/log10: New file.
30311         * modules/log1p: New file.
30312         * modules/logb: New file.
30313         * modules/modf: New file.
30314         * modules/nextafter: New file.
30315         * modules/pow: New file.
30316         * modules/remainder: New file.
30317         * modules/rint: New file.
30318         * modules/sin: New file.
30319         * modules/sinh: New file.
30320         * modules/sqrt: New file.
30321         * modules/tan: New file.
30322         * modules/tanh: New file.
30323         * modules/y0: New file.
30324         * modules/y1: New file.
30325         * modules/yn: New file.
30326         * doc/posix-functions/acos.texi: Mention the 'acos' module.
30327         * doc/posix-functions/asin.texi: Mention the 'asin' module.
30328         * doc/posix-functions/atan.texi: Mention the 'atan' module.
30329         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
30330         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
30331         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
30332         * doc/posix-functions/cos.texi: Mention the 'cos' module.
30333         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
30334         * doc/posix-functions/erf.texi: Mention the 'erf' module.
30335         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
30336         * doc/posix-functions/exp.texi: Mention the 'exp' module.
30337         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
30338         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
30339         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
30340         * doc/posix-functions/j0.texi: Mention the 'j0' module.
30341         * doc/posix-functions/j1.texi: Mention the 'j1' module.
30342         * doc/posix-functions/jn.texi: Mention the 'jn' module.
30343         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
30344         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
30345         * doc/posix-functions/log.texi: Mention the 'log' module.
30346         * doc/posix-functions/log10.texi: Mention the 'log10' module.
30347         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
30348         * doc/posix-functions/logb.texi: Mention the 'logb' module.
30349         * doc/posix-functions/modf.texi: Mention the 'modf' module.
30350         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
30351         * doc/posix-functions/pow.texi: Mention the 'pow' module.
30352         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
30353         * doc/posix-functions/rint.texi: Mention the 'rint' module.
30354         * doc/posix-functions/sin.texi: Mention the 'sin' module.
30355         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
30356         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
30357         * doc/posix-functions/tan.texi: Mention the 'tan' module.
30358         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
30359         * doc/posix-functions/y0.texi: Mention the 'y0' module.
30360         * doc/posix-functions/y1.texi: Mention the 'y1' module.
30361         * doc/posix-functions/yn.texi: Mention the 'yn' module.
30362
30363 2010-01-18  Jim Meyering  <meyering@redhat.com>
30364
30365         ignore-value: relax license to LGPLv2+
30366         * modules/ignore-value (License): Relax to LGPLv2+.
30367
30368         getdate: don't leak when TZ contains two or more '"'s
30369         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
30370         double quote in TZ after the first one.
30371
30372         readtokens: do not leak internal token_lengths buffer
30373         * lib/readtokens.c (readtokens): Free the local, lengths,
30374         when the supplied "token_lengths" parameter is NULL.
30375
30376 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30377
30378         Fix a couple of missing LIBTHREAD link failures on AIX.
30379         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
30380         $(LIBTHREAD).
30381         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
30382
30383         Link test-poll against INET_PTON_LIB.
30384         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
30385         for inet_pton on Solaris 10.
30386
30387 2010-01-17  Bruno Haible  <bruno@clisp.org>
30388
30389         unistdio/*-sprintf: Fix typo in module description.
30390         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
30391         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
30392         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
30393         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
30394         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
30395         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
30396         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
30397         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30398
30399 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30400
30401         gnulib-tool: fix filelist for AIX, HP-UX ksh.
30402         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
30403         variables in shell case patterns, for AIX and HP-UX ksh.
30404
30405         Split large sed scripts, for HP-UX sed.
30406         * modules/stdio: Split sed scripts around 50 sed commands,
30407         to avoid HP-UX limit of 99 commands, in the near future.
30408         * modules/string: Likewise.
30409         * modules/unistd: Likewise.
30410
30411         gnulib-tool: avoid writing in the current directory.
30412         * gnulib-tool (func_emit_lib_Makefile_am)
30413         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
30414         not in the current directory, so concurrent gnulib-tool
30415         instances do not interfere.
30416
30417 2010-01-16  Jim Meyering  <meyering@redhat.com>
30418
30419         doc: update users.txt
30420         * users.txt: Add grep.
30421         (diffutils, gzip): Update URLs.
30422
30423 2010-01-12  Bruno Haible  <bruno@clisp.org>
30424
30425         posix_spawn: Avoid test failure on Cygwin.
30426         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
30427         characters.
30428         Reported by Simon Josefsson.
30429
30430 2010-01-12  Bruno Haible  <bruno@clisp.org>
30431
30432         * tests/test-cond.c (main): When skipping the test, show the reason.
30433
30434 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30435
30436         * lib/striconv.c (str_cd_iconv): Avoid if before free.
30437
30438 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30439
30440         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
30441         VC_LIST_ALWAYS_EXCLUDE_REGEX.
30442
30443 2010-01-12  Eric Blake  <ebb9@byu.net>
30444
30445         build: guarantee AS_VAR_IF
30446         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
30447         (gl_AS_VAR_IF): Move...
30448         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
30449         Reported by Simon Josefsson.
30450
30451 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30452
30453         * lib/stdio.in.h: Fix typo.
30454
30455 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30456
30457         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
30458         libgpg-error.
30459
30460 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30461
30462         * tests/test-xalloc-die.sh: Use $EXEEXT.
30463
30464 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30465             Bruno Haible  <bruno@clisp.org>
30466
30467         getlogin, getlogin_r: Avoid test failure.
30468         * tests/test-getlogin.c: Include <stdio.h>.
30469         (main): Skip the test when the function fails because stdin is not a
30470         tty.
30471         * tests/test-getlogin_r.c: Include <stdio.h>.
30472         (main): Skip the test when the function fails because stdin is not a
30473         tty.
30474
30475 2010-01-11  Eric Blake  <ebb9@byu.net>
30476
30477         tests: avoid more large file warnings
30478         * tests/test-fflush.c: Avoid warning about ftell use.
30479         * tests/test-fseek.c: Avoid warning about fseek use.
30480
30481 2010-01-10  Bruno Haible  <bruno@clisp.org>
30482
30483         nproc: Work better on Linux when /proc and /sys are not mounted.
30484         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
30485         as lower bound when, on glibc/Linux systems,
30486         sysconf (_SC_NPROCESSORS_CONF) returns 1.
30487         Suggested by Pádraig Brady <P@draigbrady.com>.
30488         Reported by Dmitry V. Levin <ldv@altlinux.org>.
30489
30490         nproc: Refactor.
30491         * lib/nproc.c (num_processors_via_affinity_mask): New function,
30492         extracted from num_processors.
30493         (num_processors): Call it.
30494
30495 2010-01-11  Jim Meyering  <meyering@redhat.com>
30496
30497         utimecmp: avoid new warning from upcoming gcc-4.5.0
30498         * lib/utimecmp.c (BILLION): Define using #define rather than an
30499         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
30500
30501 2010-01-11  Eric Blake  <ebb9@byu.net>
30502
30503         math: add portability warnings for classification macros
30504         * modules/math (Depends-on): Add warn-on-use.
30505         (Makefile.am): Provide new substitutions.
30506         * m4/math_h.m4 (gl_MATH_H): Require inline.
30507         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
30508         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
30509         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
30510         implement warnings.
30511
30512         unistd: warn on use of environ without module
30513         * modules/unistd (Depends-on): Add warn-on-use.
30514         (Makefile.am): Provide new substitutions.
30515         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
30516         * lib/unistd.in.h (environ): Wrap with a warning helper function.
30517
30518         stdio: warn on suspicious uses
30519         * modules/stdio (Depends-on): Add warn-on-use.
30520         (Makefile.am): Provide new substitutions.
30521         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
30522         fseeko.
30523         * lib/stdio.in.h (gets): Always warn on use.
30524         (fseek, ftell): Adjust when warnings are issued, and honor
30525         _GL_NO_LARGE_FILES as a way to silence the warning.
30526         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
30527         any warning about large file offsets.
30528         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
30529         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
30530         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
30531         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
30532         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
30533         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
30534         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
30535         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
30536
30537         warn-on-use: new module
30538         * modules/warn-on-use: New file.
30539         * build-aux/warn-on-use.h: Likewise.
30540         * m4/warn-on-use.m4: Likewise.
30541         * MODULES.html.sh (Support for building): Mention it.
30542
30543 2010-01-10  Bruno Haible  <bruno@clisp.org>
30544
30545         Tests for module 'unistr/u32-strdup'.
30546         * modules/unistr/u32-strdup-tests: New file.
30547         * tests/unistr/test-u32-strdup.c: New file.
30548
30549         Tests for module 'unistr/u16-strdup'.
30550         * modules/unistr/u16-strdup-tests: New file.
30551         * tests/unistr/test-u16-strdup.c: New file.
30552
30553         Tests for module 'unistr/u8-strdup'.
30554         * modules/unistr/u8-strdup-tests: New file.
30555         * tests/unistr/test-u8-strdup.c: New file.
30556         * tests/unistr/test-strdup.h: New file.
30557
30558         Tests for module 'unistr/u32-strncmp'.
30559         * modules/unistr/u32-strncmp-tests: New file.
30560         * tests/unistr/test-u32-strncmp.c: New file.
30561
30562         Tests for module 'unistr/u16-strncmp'.
30563         * modules/unistr/u16-strncmp-tests: New file.
30564         * tests/unistr/test-u16-strncmp.c: New file.
30565
30566         Tests for module 'unistr/u8-strncmp'.
30567         * modules/unistr/u8-strncmp-tests: New file.
30568         * tests/unistr/test-u8-strncmp.c: New file.
30569         * tests/unistr/test-strncmp.h: New file.
30570
30571         Tests for module 'unistr/u32-strcoll'.
30572         * modules/unistr/u32-strcoll-tests: New file.
30573         * tests/unistr/test-u32-strcoll.c: New file.
30574
30575         Tests for module 'unistr/u16-strcoll'.
30576         * modules/unistr/u16-strcoll-tests: New file.
30577         * tests/unistr/test-u16-strcoll.c: New file.
30578
30579         Tests for module 'unistr/u8-strcoll'.
30580         * modules/unistr/u8-strcoll-tests: New file.
30581         * tests/unistr/test-u8-strcoll.c: New file.
30582
30583         Tests for module 'unistr/u32-strcmp'.
30584         * modules/unistr/u32-strcmp-tests: New file.
30585         * tests/unistr/test-u32-strcmp.c: New file.
30586         * tests/unistr/test-u32-strcmp.h: New file.
30587
30588         Tests for module 'unistr/u16-strcmp'.
30589         * modules/unistr/u16-strcmp-tests: New file.
30590         * tests/unistr/test-u16-strcmp.c: New file.
30591         * tests/unistr/test-u16-strcmp.h: New file.
30592
30593         Tests for module 'unistr/u8-strcmp'.
30594         * modules/unistr/u8-strcmp-tests: New file.
30595         * tests/unistr/test-u8-strcmp.c: New file.
30596         * tests/unistr/test-u8-strcmp.h: New file.
30597         * tests/unistr/test-strcmp.h: New file.
30598
30599         Tests for module 'unistr/u32-strncat'.
30600         * modules/unistr/u32-strncat-tests: New file.
30601         * tests/unistr/test-u32-strncat.c: New file.
30602
30603         Tests for module 'unistr/u16-strncat'.
30604         * modules/unistr/u16-strncat-tests: New file.
30605         * tests/unistr/test-u16-strncat.c: New file.
30606
30607         Tests for module 'unistr/u8-strncat'.
30608         * modules/unistr/u8-strncat-tests: New file.
30609         * tests/unistr/test-u8-strncat.c: New file.
30610         * tests/unistr/test-strncat.h: New file.
30611
30612         Tests for module 'unistr/u32-strcat'.
30613         * modules/unistr/u32-strcat-tests: New file.
30614         * tests/unistr/test-u32-strcat.c: New file.
30615
30616         Tests for module 'unistr/u16-strcat'.
30617         * modules/unistr/u16-strcat-tests: New file.
30618         * tests/unistr/test-u16-strcat.c: New file.
30619
30620         Tests for module 'unistr/u8-strcat'.
30621         * modules/unistr/u8-strcat-tests: New file.
30622         * tests/unistr/test-u8-strcat.c: New file.
30623         * tests/unistr/test-strcat.h: New file.
30624
30625         Tests for module 'unistr/u32-stpncpy'.
30626         * modules/unistr/u32-stpncpy-tests: New file.
30627         * tests/unistr/test-u32-stpncpy.c: New file.
30628
30629         Tests for module 'unistr/u16-stpncpy'.
30630         * modules/unistr/u16-stpncpy-tests: New file.
30631         * tests/unistr/test-u16-stpncpy.c: New file.
30632
30633         Tests for module 'unistr/u8-stpncpy'.
30634         * modules/unistr/u8-stpncpy-tests: New file.
30635         * tests/unistr/test-u8-stpncpy.c: New file.
30636         * tests/unistr/test-stpncpy.h: New file.
30637
30638         Tests for module 'unistr/u32-strncpy'.
30639         * modules/unistr/u32-strncpy-tests: New file.
30640         * tests/unistr/test-u32-strncpy.c: New file.
30641
30642         Tests for module 'unistr/u16-strncpy'.
30643         * modules/unistr/u16-strncpy-tests: New file.
30644         * tests/unistr/test-u16-strncpy.c: New file.
30645
30646         Tests for module 'unistr/u8-strncpy'.
30647         * modules/unistr/u8-strncpy-tests: New file.
30648         * tests/unistr/test-u8-strncpy.c: New file.
30649         * tests/unistr/test-strncpy.h: New file.
30650
30651         Tests for module 'unistr/u32-stpcpy'.
30652         * modules/unistr/u32-stpcpy-tests: New file.
30653         * tests/unistr/test-u32-stpcpy.c: New file.
30654
30655         Tests for module 'unistr/u16-stpcpy'.
30656         * modules/unistr/u16-stpcpy-tests: New file.
30657         * tests/unistr/test-u16-stpcpy.c: New file.
30658
30659         Tests for module 'unistr/u8-stpcpy'.
30660         * modules/unistr/u8-stpcpy-tests: New file.
30661         * tests/unistr/test-u8-stpcpy.c: New file.
30662         * tests/unistr/test-stpcpy.h: New file.
30663
30664         Tests for module 'unistr/u32-strcpy'.
30665         * modules/unistr/u32-strcpy-tests: New file.
30666         * tests/unistr/test-u32-strcpy.c: New file.
30667
30668         Tests for module 'unistr/u16-strcpy'.
30669         * modules/unistr/u16-strcpy-tests: New file.
30670         * tests/unistr/test-u16-strcpy.c: New file.
30671
30672         Tests for module 'unistr/u8-strcpy'.
30673         * modules/unistr/u8-strcpy-tests: New file.
30674         * tests/unistr/test-u8-strcpy.c: New file.
30675         * tests/unistr/test-strcpy.h: New file.
30676
30677         Tests for module 'unistr/u32-strnlen'.
30678         * modules/unistr/u32-strnlen-tests: New file.
30679         * tests/unistr/test-u32-strnlen.c: New file.
30680
30681         Tests for module 'unistr/u16-strnlen'.
30682         * modules/unistr/u16-strnlen-tests: New file.
30683         * tests/unistr/test-u16-strnlen.c: New file.
30684
30685         Tests for module 'unistr/u8-strnlen'.
30686         * modules/unistr/u8-strnlen-tests: New file.
30687         * tests/unistr/test-u8-strnlen.c: New file.
30688         * tests/unistr/test-strnlen.h: New file.
30689
30690         Tests for module 'unistr/u32-strlen'.
30691         * modules/unistr/u32-strlen-tests: New file.
30692         * tests/unistr/test-u32-strlen.c: New file.
30693
30694         Tests for module 'unistr/u16-strlen'.
30695         * modules/unistr/u16-strlen-tests: New file.
30696         * tests/unistr/test-u16-strlen.c: New file.
30697
30698         Tests for module 'unistr/u8-strlen'.
30699         * modules/unistr/u8-strlen-tests: New file.
30700         * tests/unistr/test-u8-strlen.c: New file.
30701
30702         Tests for module 'unistr/u32-prev'.
30703         * modules/unistr/u32-prev-tests: New file.
30704         * tests/unistr/test-u32-prev.c: New file.
30705
30706         Tests for module 'unistr/u16-prev'.
30707         * modules/unistr/u16-prev-tests: New file.
30708         * tests/unistr/test-u16-prev.c: New file.
30709
30710         Tests for module 'unistr/u8-prev'.
30711         * modules/unistr/u8-prev-tests: New file.
30712         * tests/unistr/test-u8-prev.c: New file.
30713
30714         Tests for module 'unistr/u32-next'.
30715         * modules/unistr/u32-next-tests: New file.
30716         * tests/unistr/test-u32-next.c: New file.
30717
30718         Tests for module 'unistr/u16-next'.
30719         * modules/unistr/u16-next-tests: New file.
30720         * tests/unistr/test-u16-next.c: New file.
30721
30722         Tests for module 'unistr/u8-next'.
30723         * modules/unistr/u8-next-tests: New file.
30724         * tests/unistr/test-u8-next.c: New file.
30725
30726         Tests for module 'unistr/u32-strmbtouc'.
30727         * modules/unistr/u32-strmbtouc-tests: New file.
30728         * tests/unistr/test-u32-strmbtouc.c: New file.
30729
30730         Tests for module 'unistr/u16-strmbtouc'.
30731         * modules/unistr/u16-strmbtouc-tests: New file.
30732         * tests/unistr/test-u16-strmbtouc.c: New file.
30733
30734         Tests for module 'unistr/u8-strmbtouc'.
30735         * modules/unistr/u8-strmbtouc-tests: New file.
30736         * tests/unistr/test-u8-strmbtouc.c: New file.
30737
30738         Tests for module 'unistr/u32-strmblen'.
30739         * modules/unistr/u32-strmblen-tests: New file.
30740         * tests/unistr/test-u32-strmblen.c: New file.
30741
30742         Tests for module 'unistr/u16-strmblen'.
30743         * modules/unistr/u16-strmblen-tests: New file.
30744         * tests/unistr/test-u16-strmblen.c: New file.
30745
30746         Tests for module 'unistr/u8-strmblen'.
30747         * modules/unistr/u8-strmblen-tests: New file.
30748         * tests/unistr/test-u8-strmblen.c: New file.
30749
30750         Tests for module 'unistr/u32-cpy-alloc'.
30751         * modules/unistr/u32-cpy-alloc-tests: New file.
30752         * tests/unistr/test-u32-cpy-alloc.c: New file.
30753
30754         Tests for module 'unistr/u16-cpy-alloc'.
30755         * modules/unistr/u16-cpy-alloc-tests: New file.
30756         * tests/unistr/test-u16-cpy-alloc.c: New file.
30757
30758         Tests for module 'unistr/u8-cpy-alloc'.
30759         * modules/unistr/u8-cpy-alloc-tests: New file.
30760         * tests/unistr/test-u8-cpy-alloc.c: New file.
30761         * tests/unistr/test-cpy-alloc.h: New file.
30762
30763         Tests for module 'unistr/u32-mbsnlen'.
30764         * modules/unistr/u32-mbsnlen-tests: New file.
30765         * tests/unistr/test-u32-mbsnlen.c: New file.
30766
30767         Tests for module 'unistr/u16-mbsnlen'.
30768         * modules/unistr/u16-mbsnlen-tests: New file.
30769         * tests/unistr/test-u16-mbsnlen.c: New file.
30770
30771         Tests for module 'unistr/u8-mbsnlen'.
30772         * modules/unistr/u8-mbsnlen-tests: New file.
30773         * tests/unistr/test-u8-mbsnlen.c: New file.
30774
30775         Tests for module 'unistr/u32-chr'.
30776         * modules/unistr/u32-chr-tests: New file.
30777         * tests/unistr/test-u32-chr.c: New file.
30778
30779         Tests for module 'unistr/u16-chr'.
30780         * modules/unistr/u16-chr-tests: New file.
30781         * tests/unistr/test-u16-chr.c: New file.
30782
30783         Tests for module 'unistr/u8-chr'.
30784         * modules/unistr/u8-chr-tests: New file.
30785         * tests/unistr/test-u8-chr.c: New file.
30786         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
30787
30788         Tests for module 'unistr/u32-cmp2'.
30789         * modules/unistr/u32-cmp2-tests: New file.
30790         * tests/unistr/test-u32-cmp2.c: New file.
30791
30792         Tests for module 'unistr/u16-cmp2'.
30793         * modules/unistr/u16-cmp2-tests: New file.
30794         * tests/unistr/test-u16-cmp2.c: New file.
30795
30796         Tests for module 'unistr/u8-cmp2'.
30797         * modules/unistr/u8-cmp2-tests: New file.
30798         * tests/unistr/test-u8-cmp2.c: New file.
30799         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
30800
30801         Tests for module 'unistr/u32-cmp'.
30802         * modules/unistr/u32-cmp-tests: New file.
30803         * tests/unistr/test-u32-cmp.c: New file.
30804
30805         Tests for module 'unistr/u16-cmp'.
30806         * modules/unistr/u16-cmp-tests: New file.
30807         * tests/unistr/test-u16-cmp.c: New file.
30808
30809         Tests for module 'unistr/u8-cmp'.
30810         * modules/unistr/u8-cmp-tests: New file.
30811         * tests/unistr/test-u8-cmp.c: New file.
30812         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
30813
30814         Tests for module 'unistr/u32-set'.
30815         * modules/unistr/u32-set-tests: New file.
30816         * tests/unistr/test-u32-set.c: New file.
30817
30818         Tests for module 'unistr/u16-set'.
30819         * modules/unistr/u16-set-tests: New file.
30820         * tests/unistr/test-u16-set.c: New file.
30821
30822         Tests for module 'unistr/u8-set'.
30823         * modules/unistr/u8-set-tests: New file.
30824         * tests/unistr/test-u8-set.c: New file.
30825         * tests/unistr/test-set.h: New file.
30826
30827         Tests for module 'unistr/u32-move'.
30828         * modules/unistr/u32-move-tests: New file.
30829         * tests/unistr/test-u32-move.c: New file.
30830
30831         Tests for module 'unistr/u16-move'.
30832         * modules/unistr/u16-move-tests: New file.
30833         * tests/unistr/test-u16-move.c: New file.
30834
30835         Tests for module 'unistr/u8-move'.
30836         * modules/unistr/u8-move-tests: New file.
30837         * tests/unistr/test-u8-move.c: New file.
30838         * tests/unistr/test-move.h: New file.
30839
30840         Tests for module 'unistr/u32-cpy'.
30841         * modules/unistr/u32-cpy-tests: New file.
30842         * tests/unistr/test-u32-cpy.c: New file.
30843
30844         Tests for module 'unistr/u16-cpy'.
30845         * modules/unistr/u16-cpy-tests: New file.
30846         * tests/unistr/test-u16-cpy.c: New file.
30847
30848         Tests for module 'unistr/u8-cpy'.
30849         * modules/unistr/u8-cpy-tests: New file.
30850         * tests/unistr/test-u8-cpy.c: New file.
30851         * tests/unistr/test-cpy.h: New file.
30852
30853 2010-01-09  Bruno Haible  <bruno@clisp.org>
30854
30855         Tests for module 'unistr/u32-uctomb'.
30856         * modules/unistr/u32-uctomb-tests: New file.
30857         * tests/unistr/test-u32-uctomb.c: New file.
30858
30859         Tests for module 'unistr/u16-uctomb'.
30860         * modules/unistr/u16-uctomb-tests: New file.
30861         * tests/unistr/test-u16-uctomb.c: New file.
30862
30863         Tests for module 'unistr/u8-uctomb'.
30864         * modules/unistr/u8-uctomb-tests: New file.
30865         * tests/unistr/test-u8-uctomb.c: New file.
30866
30867         Tests for module 'unistr/u32-mbtoucr'.
30868         * modules/unistr/u32-mbtoucr-tests: New file.
30869         * tests/unistr/test-u32-mbtoucr.c: New file.
30870
30871         Tests for module 'unistr/u16-mbtoucr'.
30872         * modules/unistr/u16-mbtoucr-tests: New file.
30873         * tests/unistr/test-u16-mbtoucr.c: New file.
30874
30875         Tests for module 'unistr/u8-mbtoucr'.
30876         * modules/unistr/u8-mbtoucr-tests: New file.
30877         * tests/unistr/test-u8-mbtoucr.c: New file.
30878
30879         Tests for module 'unistr/u32-mbtouc'.
30880         * modules/unistr/u32-mbtouc-tests: New file.
30881         * tests/unistr/test-u32-mbtouc.c: New file.
30882
30883         Tests for module 'unistr/u16-mbtouc'.
30884         * modules/unistr/u16-mbtouc-tests: New file.
30885         * tests/unistr/test-u16-mbtouc.c: New file.
30886
30887         Tests for module 'unistr/u8-mbtouc'.
30888         * modules/unistr/u8-mbtouc-tests: New file.
30889         * tests/unistr/test-u8-mbtouc.c: New file.
30890
30891         Tests for module 'unistr/u32-mbtouc-unsafe'.
30892         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
30893         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
30894         * tests/unistr/test-u32-mbtouc.h: New file.
30895
30896         Tests for module 'unistr/u16-mbtouc-unsafe'.
30897         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
30898         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
30899         * tests/unistr/test-u16-mbtouc.h: New file.
30900
30901         Tests for module 'unistr/u8-mbtouc-unsafe'.
30902         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
30903         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
30904         * tests/unistr/test-u8-mbtouc.h: New file.
30905
30906         Tests for module 'unistr/u32-mblen'.
30907         * modules/unistr/u32-mblen-tests: New file.
30908         * tests/unistr/test-u32-mblen.c: New file.
30909
30910         Tests for module 'unistr/u16-mblen'.
30911         * modules/unistr/u16-mblen-tests: New file.
30912         * tests/unistr/test-u16-mblen.c: New file.
30913
30914         Tests for module 'unistr/u8-mblen'.
30915         * modules/unistr/u8-mblen-tests: New file.
30916         * tests/unistr/test-u8-mblen.c: New file.
30917
30918         Tests for module 'unistr/u32-to-u16'.
30919         * modules/unistr/u32-to-u16-tests: New file.
30920         * tests/unistr/test-u32-to-u16.c: New file.
30921
30922         Tests for module 'unistr/u32-to-u8'.
30923         * modules/unistr/u32-to-u8-tests: New file.
30924         * tests/unistr/test-u32-to-u8.c: New file.
30925
30926         Tests for module 'unistr/u16-to-u32'.
30927         * modules/unistr/u16-to-u32-tests: New file.
30928         * tests/unistr/test-u16-to-u32.c: New file.
30929
30930         Tests for module 'unistr/u16-to-u8'.
30931         * modules/unistr/u16-to-u8-tests: New file.
30932         * tests/unistr/test-u16-to-u8.c: New file.
30933
30934         Tests for module 'unistr/u8-to-u32'.
30935         * modules/unistr/u8-to-u32-tests: New file.
30936         * tests/unistr/test-u8-to-u32.c: New file.
30937
30938         Tests for module 'unistr/u8-to-u16'.
30939         * modules/unistr/u8-to-u16-tests: New file.
30940         * tests/unistr/test-u8-to-u16.c: New file.
30941
30942         Tests for module 'unistr/u32-check'.
30943         * modules/unistr/u32-check-tests: New file.
30944         * tests/unistr/test-u32-check.c: New file.
30945
30946         Tests for module 'unistr/u16-check'.
30947         * modules/unistr/u16-check-tests: New file.
30948         * tests/unistr/test-u16-check.c: New file.
30949
30950         Tests for module 'unistr/u8-check'.
30951         * modules/unistr/u8-check-tests: New file.
30952         * tests/unistr/test-u8-check.c: New file.
30953
30954         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
30955         (category_equals): New function.
30956         (main): Add more tests.
30957         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
30958
30959         * tests/unictype/test-bidi_byname.c (main): Add more tests.
30960
30961 2010-01-10  Bruno Haible  <bruno@clisp.org>
30962
30963         unistr/u*-strcoll: Try harder to distinguish different strings.
30964         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
30965         compare s1 and s2 to see if they are different.
30966
30967 2010-01-10  Bruno Haible  <bruno@clisp.org>
30968
30969         unistr/u*-stpncpy: Fix the return value.
30970         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
30971         description of the return value consistent with stpncpy in glibc.
30972         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
30973         written non-NUL unit.
30974
30975 2010-01-10  Bruno Haible  <bruno@clisp.org>
30976
30977         unistr/u*-next: Add missing dependencies.
30978         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
30979         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
30980         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
30981
30982 2010-01-10  Bruno Haible  <bruno@clisp.org>
30983
30984         unistr/u8-mbsnlen: Fix return value for incomplete character.
30985         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
30986         u8_mblen.
30987         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
30988         Remove unistr/u8-mblen.
30989         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
30990         u16_mblen.
30991         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
30992         Remove unistr/u16-mblen.
30993
30994 2010-01-10  Bruno Haible  <bruno@clisp.org>
30995
30996         wchar: Fix compilation error when <wchar.h> is used from coreutils.
30997         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
30998         Reported by Brian Gough <bjg@gnu.org> and
30999         Chris Clayton <chris2553@googlemail.com> via
31000         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
31001
31002 2010-01-09  Bruno Haible  <bruno@clisp.org>
31003
31004         unistr/u16-to-u32: Reject invalid input.
31005         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
31006         u16_mbtouc.
31007         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
31008         Remove unistr/u16-mbtouc.
31009
31010         unistr/u16-to-u8: Reject invalid input.
31011         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
31012         u16_mbtouc.
31013         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
31014         Remove unistr/u16-mbtouc.
31015
31016         unistr/u8-to-u32: Reject invalid input.
31017         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
31018         u8_mbtouc.
31019         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
31020         Remove unistr/u8-mbtouc.
31021
31022         unistr/u8-to-u16: Reject invalid input.
31023         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
31024         u8_mbtouc.
31025         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
31026         Remove unistr/u8-mbtouc.
31027
31028 2010-01-09  Bruno Haible  <bruno@clisp.org>
31029
31030         Tests for module 'getlogin'.
31031         * modules/getlogin-tests: New file.
31032         * tests/test-getlogin.c: New file.
31033
31034         New module 'getlogin'.
31035         * lib/unistd.in.h (getlogin): New declaration.
31036         * lib/getlogin.c: New file.
31037         * m4/getlogin.m4: New file.
31038         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
31039         HAVE_GETLOGIN.
31040         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
31041         HAVE_GETLOGIN.
31042         * modules/getlogin: New file.
31043         * doc/posix-functions/getlogin.texi: Mention the new module.
31044         Reported by John W. Eaton <jwe@gnu.org>.
31045
31046 2010-01-09  Bruno Haible  <bruno@clisp.org>
31047
31048         getlogin_r: Support for native Windows.
31049         * lib/getlogin_r.c: Include <windows.h>
31050         (getlogin_r): Implement for native Windows.
31051         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
31052         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
31053         via John W. Eaton <jwe@gnu.org>.
31054
31055 2010-01-09  Bruno Haible  <bruno@clisp.org>
31056
31057         getlogin_r: Small fixes.
31058         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
31059         succeeds.
31060         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
31061         before testing whether getlogin_r is declared. No need to set
31062         HAVE_DECL_GETLOGIN_R to 1.
31063         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
31064
31065 2010-01-09  Bruno Haible  <bruno@clisp.org>
31066
31067         * lib/unistd.in.h (getlogin_r): Add comment.
31068
31069 2010-01-09  Bruno Haible  <bruno@clisp.org>
31070
31071         Tests for module 'getlogin_r'.
31072         * modules/getlogin_r-tests: New file.
31073         * tests/test-getlogin_r.c: New file.
31074
31075 2010-01-09  Jim Meyering  <meyering@redhat.com>
31076
31077         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
31078         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
31079         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
31080
31081 2010-01-08  Simon Josefsson  <simon@josefsson.org>
31082
31083         * lib/dup2.c (rpl_dup2): Improve comment.
31084
31085 2010-01-08  Eric Blake  <ebb9@byu.net>
31086
31087         maint.mk: allow packages to add makefile @@ exceptions
31088         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
31089         (sc_makefile_check): Rename...
31090         (sc_makefile_at_at_check): ...to this, and use hook.
31091
31092         dup2: work around mingw bug
31093         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
31094         Reported by Simon Josefsson.
31095
31096 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
31097
31098         glob: Fix C++ compilation.
31099         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
31100         C++.
31101
31102 2010-01-07  Bruno Haible  <bruno@clisp.org>
31103
31104         Fix indentation of wctype.in.h, broken since 2007-01-06.
31105         * lib/wctype.in.h: Fix indentation of preprocessor directives.
31106
31107 2010-01-07  Bruno Haible  <bruno@clisp.org>
31108
31109         mbslen: Avoid collision with system function.
31110         * lib/string.in.h [MirBSD]: Include <wchar.h>.
31111         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
31112         * m4/mbslen.m4: New file.
31113         * modules/mbslen (Files): Add it.
31114         (configure.ac): Invoke gl_MBSLEN.
31115         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
31116         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
31117         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
31118         via Ian Beckwith <ianb@erislabs.net>.
31119
31120 2010-01-07  Bruno Haible  <bruno@clisp.org>
31121
31122         dirent: Document the last fix.
31123         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
31124
31125 2010-01-07  Bruno Haible  <bruno@clisp.org>
31126
31127         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
31128         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
31129         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
31130         va_list are defined.
31131         * doc/posix-headers/stdio.texi: Document the bug of missing types.
31132         Reported by Eric Blake.
31133
31134 2010-01-07  Bruno Haible  <bruno@clisp.org>
31135
31136         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
31137         * modules/xlist (Depends-on): Add 'list',
31138         * modules/xoset (Depends-on): Add 'oset'.
31139         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31140
31141 2010-01-07  Bruno Haible  <bruno@clisp.org>
31142
31143         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
31144         * doc/posix-functions/strncasecmp.texi: Likewise.
31145
31146 2010-01-07  Bruno Haible  <bruno@clisp.org>
31147
31148         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
31149
31150 2010-01-07  John W. Eaton  <jwe@octave.org>
31151
31152         wctype: allow C++ use
31153         * lib/wctype.in.h: Add extern "C" block for C++.
31154
31155 2010-01-06  Eric Blake  <ebb9@byu.net>
31156
31157         maint.mk: detect incorrect GFDL usage
31158         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
31159
31160 2010-01-06  Jim Meyering  <meyering@redhat.com>
31161         and Eric Blake  <ebb9@byu.net>
31162
31163         maint.mk: ignore multi-line copyright in NEWS
31164         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
31165
31166 2010-01-06  Eric Blake  <ebb9@byu.net>
31167
31168         select: add missing dependency
31169         * modules/select-tests (Depends-on): Move sockets dependency...
31170         * modules/select (Depends-on): ...here.
31171         Reported by Ian Beckwith.
31172
31173         doc: regenerate INSTALL
31174         * doc/INSTALL: Reflect recent autoconf update.
31175         * doc/INSTALL.ISO: Likewise.
31176         * doc/INSTALL.UTF-8: Likewise.
31177
31178         pread: fix compilation on glibc
31179         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
31180         Reported by Ralf Wildenhues.
31181
31182         dirent: fix test failure
31183         * lib/dirent.in.h (includes): Guarantee ino_t.
31184         Reported by Ralf Wildenhues.
31185
31186 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
31187
31188         linkat, renameat: avoid bad free
31189         * lib/at-func2.c (at_func2): Fix typo.
31190         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
31191
31192 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31193
31194         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
31195         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
31196         to avoid failure of symlink test later.
31197
31198 2010-01-06  Eric Blake  <ebb9@byu.net>
31199
31200         stdio, unistd: guarantee ssize_t
31201         * lib/unistd.in.h (includes): Ensure that types required by POSIX
31202         2008 are exposed when needed.
31203         * lib/stdio.in.h (includes): Likewise.
31204         Reported by Ralf Wildenhues.
31205
31206 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
31207
31208         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
31209         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
31210         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
31211
31212 2010-01-06  Jim Meyering  <meyering@redhat.com>
31213
31214         readtokens: this module *does* require xalloc.h
31215         It uses only functions that were omitted by the old syntax-check rule.
31216         * lib/readtokens.c: Include "xalloc.h" once again.
31217         * modules/readtokens (Depends-on): Add xalloc.
31218         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
31219
31220 2010-01-05  Eric Blake  <ebb9@byu.net>
31221
31222         maint: support 'make announcement' from a VPATH build
31223         * top/maint.mk (announcement): Look for correct NEWS file.
31224
31225 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
31226
31227         utimens (fdutimens): ignore a negative FD, per contract
31228         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
31229         when we have a valid file descriptor.  Otherwise, using a brand
31230         new glibc (with just-patched futimens that now fails with EBADF)
31231         would cause this function to fail with ENOSYS.
31232         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
31233         See also http://bugzilla.redhat.com/552320.
31234
31235 2010-01-05  Eric Blake  <ebb9@byu.net>
31236
31237         strcase: document what it provides
31238         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
31239         gnulib module.
31240         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
31241         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
31242
31243 2010-01-05  Jim Meyering  <meyering@redhat.com>
31244
31245         maint: remove useless inclusions of "xalloc.h"
31246         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
31247         * lib/readtokens.c: Likewise.
31248         * lib/same.c: Likewise.
31249         * modules/getloadavg (Depends-on): Remove xalloc.
31250         * modules/readtokens: Likewise.
31251         * modules/same: Likewise.
31252
31253         maint.mk: include 4 more function names in alloca.h-checking regexp
31254         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
31255         regexp.  Before, we would give a false-positive (saying alloca.h
31256         is included unnecessarily) when the only uses involved omitted symbols.
31257
31258         xalloc.h: use consistent formatting
31259         * lib/xalloc.h: Move declarations to start in the first column.
31260
31261 2010-01-05  Eric Blake  <ebb9@byu.net>
31262
31263         mkdir: avoid xalloc
31264         * lib/mkdir.c (includes): Drop unused header.
31265         Reported by John W. Eaton.
31266
31267 2010-01-04  Jim Meyering  <meyering@redhat.com>
31268
31269         nl_langinfo: avoid configure-time syntax error
31270         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
31271         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
31272         the empty string.  Don't let that provoke a shell syntax error.
31273
31274         regcomp, regexec, fnmatch: avoid array bounds read error
31275         * lib/regcomp.c (build_equiv_class): From glibc:
31276         Use only the low 24 bits of a findidx return value as an index
31277         into the weights array.  Patch by Ulrich Drepper:
31278         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
31279         * lib/regexec.c (check_node_accept_bytes): Likewise.
31280         * lib/fnmatch_loop.c (FCT): Likewise.
31281
31282         regcomp: skip collseq lookup when there are no rules
31283         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
31284         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
31285
31286         regcomp: recognize ill-formed { } expressions
31287         * lib/regcomp.c (parse_dup_op): From glibc:
31288         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
31289
31290         regcomp: fix typo in comment
31291         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
31292         s/satisfy/satisfies/.
31293
31294         regcomp: sync from glibc: remove dead store
31295         * lib/regcomp.c (duplicate_node_closure): Remove useless
31296         search_duplicated_node call and dead store.
31297
31298         regcomp: sync from glibc; always use nl_langinfo
31299         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
31300         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
31301         * modules/regex (Depends-on): Add nl_langinfo.
31302
31303 2010-01-04  Eric Blake  <ebb9@byu.net>
31304
31305         fdopendir: fix configure test
31306         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
31307
31308 2010-01-01  Bruno Haible  <bruno@clisp.org>
31309
31310         wchar: Remove unused configure check.
31311         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
31312
31313 2010-01-01  Eric Blake  <ebb9@byu.net>
31314
31315         headers: make check of system header explicit
31316         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
31317         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
31318         ourselves.
31319         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
31320         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31321         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
31322         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
31323         internals.
31324         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
31325         missing.
31326         Suggested by Bruno Haible.
31327
31328 2010-01-01  Jim Meyering  <meyering@redhat.com>
31329
31330         ChangeLog: tweak to eliminate unnecessary copyright line
31331         * ChangeLog: Remove a copyright line that was mistakenly updated
31332         by today's update-copyright run.  Reported by Eric Blake.
31333
31334         test-update-copyright: don't let envvar setting cause test failure
31335         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
31336
31337 2010-01-01  Bruno Haible  <bruno@clisp.org>
31338
31339         localename: Avoid gcc warning.
31340         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
31341         function if it is not used.
31342
31343 2010-01-01  Jim Meyering  <meyering@redhat.com>
31344
31345         update nearly all FSF copyright year lists to include 2010
31346         Use the same procedure as for 2009, outlined in
31347         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
31348
31349         version-etc: set COPYRIGHT_YEAR to 2010
31350         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
31351
31352 2009-12-31  Eric Blake  <ebb9@byu.net>
31353
31354         doc: correct availability of cygwin 1.5.x getopt
31355         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
31356         variables.
31357         * doc/posix-functions/opterr.texi (opterr): Likewise.
31358         * doc/posix-functions/optind.texi (optind): Likewise.
31359         * doc/posix-functions/optopt.texi (optopt): Likewise.
31360         * doc/posix-functions/tzname.texi (tzname): Likewise.
31361
31362         openat: update maintainer
31363         * modules/openat (Maintainer): Add myself.
31364
31365         utimens: avoid shadowing warning
31366         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
31367         buffers into one, to avoid shadowing, as well as avoiding a
31368         redundant stat.
31369         Reported by Jim Meyering.
31370
31371         test-dup2: avoid compiler warning
31372         * tests/test-dup2.c (is_inheritable): Only define if used.
31373
31374 2010-01-01  Bruno Haible  <bruno@clisp.org>
31375
31376         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
31377         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
31378         defined, use wctomb instead of wcrtomb.
31379
31380 2010-01-01  Bruno Haible  <bruno@clisp.org>
31381
31382         iconv: Reject native Solaris iconv.
31383         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
31384         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
31385
31386 2009-12-31  Bruno Haible  <bruno@clisp.org>
31387
31388         * tests/test-signal.c (main): Remove test of 'SIG'.
31389
31390 2009-12-31  Bruno Haible  <bruno@clisp.org>
31391
31392         spawn: Fix incomplete fix.
31393         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
31394         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
31395         warnings for GNULIB_POSIXCHECK again.
31396         Reported by Eric Blake.
31397
31398 2009-12-31  Bruno Haible  <bruno@clisp.org>
31399
31400         Avoid namespace pollution on glibc systems.
31401         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
31402         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
31403         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
31404         glibc systems.
31405
31406 2009-12-31  Bruno Haible  <bruno@clisp.org>
31407
31408         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
31409         (gl_REPLACE_WCHAR_H): Turn into a no-op.
31410         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
31411         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
31412         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
31413         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
31414         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
31415
31416 2009-12-31  Bruno Haible  <bruno@clisp.org>
31417
31418         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
31419         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
31420         afterwards.
31421
31422 2009-12-31  Bruno Haible  <bruno@clisp.org>
31423
31424         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
31425         SYS_UTSNAME_H.
31426
31427 2009-12-31  Bruno Haible  <bruno@clisp.org>
31428
31429         spawn: Fix misapplied patch.
31430         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
31431         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
31432         warnings for GNULIB_POSIXCHECK.
31433
31434 2009-12-31  Bruno Haible  <bruno@clisp.org>
31435
31436         times: Update after sys_times changed.
31437         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
31438         * modules/times (Files): Add it.
31439         (configure.ac): Invoke gl_FUNC_TIMES.
31440
31441 2009-12-31  Bruno Haible  <bruno@clisp.org>
31442
31443         Use AC_C_INLINE where necessary.
31444         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
31445         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
31446         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
31447         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
31448         * m4/mbfile.m4 (gl_MBFILE): Likewise.
31449         * m4/mbiter.m4 (gl_MBITER): Likewise.
31450         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
31451         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
31452         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
31453         * modules/u64 (configure.ac): Likewise.
31454
31455 2009-12-31  Bruno Haible  <bruno@clisp.org>
31456
31457         Use AC_C_INLINE instead of module 'inline' where possible.
31458         * modules/inline (Description): Clarify purpose.
31459         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
31460         * modules/count-one-bits (Depends-on): Remove inline.
31461         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
31462         * modules/openat (Depends-on): Remove inline.
31463         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
31464         instead of depending on module 'inline'.
31465         * modules/filevercmp (Depends-on, configure.ac): Likewise.
31466         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
31467         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
31468         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
31469         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
31470         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
31471         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
31472         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
31473         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
31474         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
31475         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
31476         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
31477         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
31478         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
31479         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
31480         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
31481         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
31482         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
31483         Likewise.
31484         * modules/unictype/property-ascii-hex-digit (Depends-on,
31485         configure.ac): Likewise.
31486         * modules/unictype/property-bidi-arabic-digit (Depends-on,
31487         configure.ac): Likewise.
31488         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
31489         configure.ac): Likewise.
31490         * modules/unictype/property-bidi-block-separator (Depends-on,
31491         configure.ac): Likewise.
31492         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
31493         configure.ac): Likewise.
31494         * modules/unictype/property-bidi-common-separator (Depends-on,
31495         configure.ac): Likewise.
31496         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
31497         Likewise.
31498         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
31499         configure.ac): Likewise.
31500         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
31501         configure.ac): Likewise.
31502         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
31503         configure.ac): Likewise.
31504         * modules/unictype/property-bidi-european-digit (Depends-on,
31505         configure.ac): Likewise.
31506         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
31507         configure.ac): Likewise.
31508         * modules/unictype/property-bidi-left-to-right (Depends-on,
31509         configure.ac): Likewise.
31510         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
31511         configure.ac): Likewise.
31512         * modules/unictype/property-bidi-other-neutral (Depends-on,
31513         configure.ac): Likewise.
31514         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
31515         Likewise.
31516         * modules/unictype/property-bidi-segment-separator (Depends-on,
31517         configure.ac): Likewise.
31518         * modules/unictype/property-bidi-whitespace (Depends-on,
31519         configure.ac): Likewise.
31520         * modules/unictype/property-combining (Depends-on, configure.ac):
31521         Likewise.
31522         * modules/unictype/property-composite (Depends-on, configure.ac):
31523         Likewise.
31524         * modules/unictype/property-currency-symbol (Depends-on,
31525         configure.ac): Likewise.
31526         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
31527         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
31528         Likewise.
31529         * modules/unictype/property-default-ignorable-code-point (Depends-on,
31530         configure.ac): Likewise.
31531         * modules/unictype/property-deprecated (Depends-on, configure.ac):
31532         Likewise.
31533         * modules/unictype/property-diacritic (Depends-on, configure.ac):
31534         Likewise.
31535         * modules/unictype/property-extender (Depends-on, configure.ac):
31536         Likewise.
31537         * modules/unictype/property-format-control (Depends-on, configure.ac):
31538         Likewise.
31539         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
31540         Likewise.
31541         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
31542         Likewise.
31543         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
31544         Likewise.
31545         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
31546         Likewise.
31547         * modules/unictype/property-hyphen (Depends-on, configure.ac):
31548         Likewise.
31549         * modules/unictype/property-id-continue (Depends-on, configure.ac):
31550         Likewise.
31551         * modules/unictype/property-id-start (Depends-on, configure.ac):
31552         Likewise.
31553         * modules/unictype/property-ideographic (Depends-on, configure.ac):
31554         Likewise.
31555         * modules/unictype/property-ids-binary-operator (Depends-on,
31556         configure.ac): Likewise.
31557         * modules/unictype/property-ids-trinary-operator (Depends-on,
31558         configure.ac): Likewise.
31559         * modules/unictype/property-ignorable-control (Depends-on,
31560         configure.ac): Likewise.
31561         * modules/unictype/property-iso-control (Depends-on, configure.ac):
31562         Likewise.
31563         * modules/unictype/property-join-control (Depends-on, configure.ac):
31564         Likewise.
31565         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
31566         Likewise.
31567         * modules/unictype/property-line-separator (Depends-on, configure.ac):
31568         Likewise.
31569         * modules/unictype/property-logical-order-exception (Depends-on,
31570         configure.ac): Likewise.
31571         * modules/unictype/property-lowercase (Depends-on, configure.ac):
31572         Likewise.
31573         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
31574         * modules/unictype/property-non-break (Depends-on, configure.ac):
31575         Likewise.
31576         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
31577         Likewise.
31578         * modules/unictype/property-numeric (Depends-on, configure.ac):
31579         Likewise.
31580         * modules/unictype/property-other-alphabetic (Depends-on,
31581         configure.ac): Likewise.
31582         * modules/unictype/property-other-default-ignorable-code-point
31583         (Depends-on, configure.ac): Likewise.
31584         * modules/unictype/property-other-grapheme-extend (Depends-on,
31585         configure.ac): Likewise.
31586         * modules/unictype/property-other-id-continue (Depends-on,
31587         configure.ac): Likewise.
31588         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
31589         Likewise.
31590         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
31591         Likewise.
31592         * modules/unictype/property-other-math (Depends-on, configure.ac):
31593         Likewise.
31594         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
31595         Likewise.
31596         * modules/unictype/property-paired-punctuation (Depends-on,
31597         configure.ac): Likewise.
31598         * modules/unictype/property-paragraph-separator (Depends-on,
31599         configure.ac): Likewise.
31600         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
31601         Likewise.
31602         * modules/unictype/property-pattern-white-space (Depends-on,
31603         configure.ac): Likewise.
31604         * modules/unictype/property-private-use (Depends-on, configure.ac):
31605         Likewise.
31606         * modules/unictype/property-punctuation (Depends-on, configure.ac):
31607         Likewise.
31608         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
31609         Likewise.
31610         * modules/unictype/property-radical (Depends-on, configure.ac):
31611         Likewise.
31612         * modules/unictype/property-sentence-terminal (Depends-on,
31613         configure.ac): Likewise.
31614         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
31615         Likewise.
31616         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
31617         * modules/unictype/property-terminal-punctuation (Depends-on,
31618         configure.ac): Likewise.
31619         * modules/unictype/property-titlecase (Depends-on, configure.ac):
31620         Likewise.
31621         * modules/unictype/property-unassigned-code-value (Depends-on,
31622         configure.ac): Likewise.
31623         * modules/unictype/property-unified-ideograph (Depends-on,
31624         configure.ac): Likewise.
31625         * modules/unictype/property-uppercase (Depends-on, configure.ac):
31626         Likewise.
31627         * modules/unictype/property-variation-selector (Depends-on,
31628         configure.ac): Likewise.
31629         * modules/unictype/property-white-space (Depends-on, configure.ac):
31630         Likewise.
31631         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
31632         Likewise.
31633         * modules/unictype/property-xid-start (Depends-on, configure.ac):
31634         Likewise.
31635         * modules/unictype/property-zero-width (Depends-on, configure.ac):
31636         Likewise.
31637         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
31638         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
31639         Likewise.
31640
31641 2009-12-31  Bruno Haible  <bruno@clisp.org>
31642
31643         Remove unnecessary AC_C_INLINE invocation.
31644         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
31645         since 2009-08-21.
31646
31647 2009-12-31  Jim Meyering  <meyering@redhat.com>
31648
31649         maint.mk: don't require explicit gpg_key_ID in cfg.mk
31650         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
31651         With this change, we can all remove the gpg_key_ID = ... definition
31652         from our respective cfg.mk files.
31653
31654         maint.mk: create announcement template in ~/, not in /tmp
31655         * top/maint.mk (emit_upload_commands): Adjust.
31656         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
31657         Remove temporary file, .ci-msg.
31658
31659 2009-12-31  Eric Blake  <ebb9@byu.net>
31660
31661         link-warning: always build headers with link warnings
31662         * modules/arpa_inet (Makefile.am): Always build replacement
31663         header.
31664         * modules/ctype (Makefile.am): Likewise.
31665         * modules/dirent (Makefile.am): Likewise.
31666         * modules/inttypes (Makefile.am): Likewise.
31667         * modules/langinfo (Makefile.am): Likewise.
31668         * modules/locale (Makefile.am): Likewise.
31669         * modules/spawn (Makefile.am): Likewise.
31670         * modules/sys_file (Makefile.am): Likewise.
31671         * modules/sys_ioctl (Makefile.am): Likewise.
31672         * modules/sys_select (Makefile.am): Likewise.
31673         * modules/sys_socket (Makefile.am): Likewise.
31674         * modules/sys_times (Makefile.am): Likewise.
31675         * modules/sys_utsname (Makefile.am): Likewise.
31676         * modules/sys_wait (Makefile.am): Likewise.
31677         * modules/wchar (Makefile.am): Likewise.
31678         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
31679         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
31680         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
31681         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
31682         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
31683         Likewise.
31684         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
31685         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
31686         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
31687         Likewise.
31688         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
31689         Likewise.
31690         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
31691         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
31692         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
31693         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31694         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
31695         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
31696         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
31697         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
31698         (gl_WCHAR_H_DEFAULTS): Likewise.
31699
31700 2009-12-31  Eric Blake  <ebb9@byu.net>
31701
31702         signal, spawn: use link warnings
31703         * lib/signal.in.h (sigset_t): Make unconditional.
31704         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
31705         (sigpending, sigprocmask, sigaction): Add link warnings.
31706         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
31707         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
31708         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
31709         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
31710         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
31711         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
31712         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
31713         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
31714         (posix_spawn_file_actions_destroy)
31715         (posix_spawn_file_actions_addopen)
31716         (posix_spawn_file_actions_addclose)
31717         (posix_spawn_file_actions_adddup2): Likewise.
31718         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
31719         * tests/test-signal.c (main): Enhance test.
31720
31721         spawn: improve wrapper support
31722         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
31723         (gl_SPAWN_H_DEFAULTS): New defaults.
31724         * modules/spawn (Makefile.am): Substitute them.
31725         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
31726         Only declare if missing or broken.
31727
31728         sys_times, sys_utsname: use include_next
31729         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
31730         header.
31731         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
31732         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
31733         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
31734         * modules/sys_times (Depends-on): Add include_next.
31735         (Makefile.am): Substitute additional values.
31736         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
31737         * lib/sys_times.in.h (includes): Include native header, if
31738         available.
31739         * lib/sys_utsname.in.h (includes): Likewise.
31740         * tests/test-sys_times.c (main): Enhance test.
31741
31742         fdutimensat: revert prior patch
31743         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
31744         utimens.h.
31745         Reported by Bruno Haible.
31746
31747 2009-12-30  Eric Blake  <ebb9@byu.net>
31748
31749         sys_wait: drop link-warning dependency
31750         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
31751         link-warning efforts.
31752         * lib/sys_wait.in.h: Likewise.
31753
31754         fdutimensat: remove bogus dependency
31755         * modules/fdutimensat (Depends-on): Drop inline.
31756
31757         unistd: fix typo
31758         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
31759
31760 2009-12-30  Bruno Haible  <bruno@clisp.org>
31761
31762         Fix compilation error with Solaris cc.
31763         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
31764         * lib/unicase/u16-is-invariant.c: Likewise.
31765         * lib/unicase/u32-is-invariant.c: Likewise.
31766         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
31767
31768 2009-12-30  Bruno Haible  <bruno@clisp.org>
31769
31770         Fix test crash.
31771         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
31772         locales.
31773         Reported by Simon Josefsson <simon@josefsson.org>.
31774
31775 2009-12-30  Bruno Haible  <bruno@clisp.org>
31776
31777         Fix compilation error on most platforms.
31778         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
31779         Reported by Simon Josefsson <simon@josefsson.org>
31780         and Nelson H. F. Beebe <beebe@math.utah.edu>.
31781
31782 2009-12-30  Eric Blake  <ebb9@byu.net>
31783
31784         futimens, utimensat: work around ntfs-3g bug
31785         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
31786         a ctime bug is present, and expand workaround to cover ntfs-3g.
31787         * lib/utimens.c (fdutimens, lutimens): Likewise.
31788         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
31789         (validate_timespec): Adjust return value.
31790         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
31791         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
31792         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
31793
31794 2009-12-29  Eric Blake  <ebb9@byu.net>
31795
31796         link-warning: make usage consistent
31797         * modules/ctype (Depends-on): Add link-warning.
31798         (Makefile.am): Update rules accordingly.
31799         * modules/langinfo (Depends-on, Makefile.am): Likewise.
31800         * modules/locale (Depends-on, Makefile.am): Likewise.
31801         * modules/sys_file (Makefile.am): Likewise.
31802         * modules/getopt-posix (Makefile.am): Delete unused link warning
31803         efforts.
31804         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
31805         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
31806         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
31807         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
31808
31809         stdio: remove unused variables
31810         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
31811         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
31812         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
31813
31814         tests: test more substitute headers
31815         * modules/ctype-tests: New file.
31816         * modules/dirent-tests: Likewise.
31817         * modules/spawn-tests: Likewise.
31818         * modules/sys_file-tests: Likewise.
31819         * modules/sys_ioctl-tests: Likewise.
31820         * modules/sys_wait-tests: Likewise.
31821         * tests/test-ctype.c: Likewise.
31822         * tests/test-dirent.c: Likewise.
31823         * tests/test-spawn.c: Likewise.
31824         * tests/test-sys_file.c: Likewise.
31825         * tests/test-sys_ioctl.c: Likewise.
31826         * tests/test-sys_wait.c: Likewise.
31827         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
31828         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
31829         whether or not flock is in use.
31830
31831         tests: remove License section from module
31832         * modules/arpa_inet-tests: Remove unneeded section.
31833         * modules/byteswap-tests: Likewise.
31834         * modules/ceilf-tests: Likewise.
31835         * modules/ceill-tests: Likewise.
31836         * modules/crypto/des-tests: Likewise.
31837         * modules/crypto/gc-arcfour-tests: Likewise.
31838         * modules/crypto/gc-arctwo-tests: Likewise.
31839         * modules/crypto/gc-des-tests: Likewise.
31840         * modules/crypto/gc-hmac-md5-tests: Likewise.
31841         * modules/crypto/gc-hmac-sha1-tests: Likewise.
31842         * modules/crypto/gc-md2-tests: Likewise.
31843         * modules/crypto/gc-md4-tests: Likewise.
31844         * modules/crypto/gc-md5-tests: Likewise.
31845         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
31846         * modules/crypto/gc-rijndael-tests: Likewise.
31847         * modules/crypto/gc-sha1-tests: Likewise.
31848         * modules/crypto/gc-tests: Likewise.
31849         * modules/crypto/md2-tests: Likewise.
31850         * modules/crypto/md4-tests: Likewise.
31851         * modules/fcntl-h-tests: Likewise.
31852         * modules/floorf-tests: Likewise.
31853         * modules/floorl-tests: Likewise.
31854         * modules/frexp-nolibm-tests: Likewise.
31855         * modules/frexp-tests: Likewise.
31856         * modules/frexpl-nolibm-tests: Likewise.
31857         * modules/frexpl-tests: Likewise.
31858         * modules/getaddrinfo-tests: Likewise.
31859         * modules/inttypes-tests: Likewise.
31860         * modules/isfinite-tests: Likewise.
31861         * modules/isinf-tests: Likewise.
31862         * modules/ldexpl-tests: Likewise.
31863         * modules/locale-tests: Likewise.
31864         * modules/math-tests: Likewise.
31865         * modules/netdb-tests: Likewise.
31866         * modules/netinet_in-tests: Likewise.
31867         * modules/printf-frexp-tests: Likewise.
31868         * modules/printf-frexpl-tests: Likewise.
31869         * modules/priv-set-tests: Likewise.
31870         * modules/random_r-tests: Likewise.
31871         * modules/round-tests: Likewise.
31872         * modules/roundf-tests: Likewise.
31873         * modules/roundl-tests: Likewise.
31874         * modules/search-tests: Likewise.
31875         * modules/select-tests: Likewise.
31876         * modules/signal-tests: Likewise.
31877         * modules/stdbool-tests: Likewise.
31878         * modules/stddef-tests: Likewise.
31879         * modules/stdint-tests: Likewise.
31880         * modules/stdio-tests: Likewise.
31881         * modules/stdlib-tests: Likewise.
31882         * modules/string-tests: Likewise.
31883         * modules/strings-tests: Likewise.
31884         * modules/sys_select-tests: Likewise.
31885         * modules/sys_socket-tests: Likewise.
31886         * modules/sys_stat-tests: Likewise.
31887         * modules/sys_time-tests: Likewise.
31888         * modules/sys_utsname-tests: Likewise.
31889         * modules/sysexits-tests: Likewise.
31890         * modules/time-tests: Likewise.
31891         * modules/trunc-tests: Likewise.
31892         * modules/truncf-tests: Likewise.
31893         * modules/truncl-tests: Likewise.
31894         * modules/tsearch-tests: Likewise.
31895         * modules/unistd-tests: Likewise.
31896         * modules/wchar-tests: Likewise.
31897         * modules/wctype-tests: Likewise.
31898
31899         tests: fix license on several tests
31900         * tests/test-des.c: Update to GPLv3+.
31901         * tests/test-flock.c: Likewise.
31902         * tests/test-fsync.c: Likewise.
31903         * tests/test-futimens.h: Likewise.
31904         * tests/test-gc-arcfour.c: Likewise.
31905         * tests/test-gc-arctwo.c: Likewise.
31906         * tests/test-gc-des.c: Likewise.
31907         * tests/test-gc-hmac-md5.c: Likewise.
31908         * tests/test-gc-hmac-sha1.c: Likewise.
31909         * tests/test-gc-md2.c: Likewise.
31910         * tests/test-gc-md4.c: Likewise.
31911         * tests/test-gc-md5.c: Likewise.
31912         * tests/test-gc-pbkdf2-sha1.c: Likewise.
31913         * tests/test-gc-rijndael.c: Likewise.
31914         * tests/test-gc-sha1.c: Likewise.
31915         * tests/test-gc.c: Likewise.
31916         * tests/test-getcwd.c: Likewise.
31917         * tests/test-link.c: Likewise.
31918         * tests/test-link.h: Likewise.
31919         * tests/test-lutimens.h: Likewise.
31920         * tests/test-md2.c: Likewise.
31921         * tests/test-md4.c: Likewise.
31922         * tests/test-mkdir.h: Likewise.
31923         * tests/test-rename.c: Likewise.
31924         * tests/test-rename.h: Likewise.
31925         * tests/test-safe-alloc.c: Likewise.
31926         * tests/test-utimens-common.h: Likewise.
31927         * tests/test-utimens.h: Likewise.
31928
31929         maint: sync license texts
31930         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
31931         * doc/gpl-3.0.texi: Revert copyright year update.
31932         * doc/lgpl-3.0.texi: Likewise.
31933
31934 2009-12-29  Jim Meyering  <meyering@redhat.com>
31935
31936         update nearly all FSF copyright year lists to include 2009
31937         The files named by the following are exempted:
31938             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
31939               test -f "$dst" && { echo "$dst"; continue; }
31940               test -d "$dst" || continue
31941               echo "$dst"/$(basename "$src")
31942             done > exempt
31943             git ls-files tests/unictype >> exempt
31944         In the remaining files, convert to all-interval notation if
31945         - there is already at least one year interval like 2000-2003
31946         - the file is maintained by me
31947         - the file is in lib/uni*/, where that style already prevails
31948         Otherwise, use update-copyright's default.
31949
31950 2009-12-29  Simon Josefsson  <simon@josefsson.org>
31951         and Eric Blake  <ebb9@byu.net>
31952
31953         tests: don't require debug system() to pass
31954         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
31955         * tests/test-rmdir.h (test_rmdir_func): Likewise.
31956         * tests/test-unlink.h (test_unlink_func): Likewise.
31957         * tests/test-fstatat.c (main): ...into callers.
31958         * tests/test-lstat.c (main): Likewise.
31959         * tests/test-rmdir.c (main): Likewise.
31960         * tests/test-unlink.c (main): Likewise.
31961         * tests/test-unlinkat.c (main): Likewise.
31962         * tests/test-areadlink-with-size.c (main): Don't require a
31963         debug-only system call to pass, aiding cross-testing to mingw.
31964         * tests/test-areadlink.c (main): Likewise.
31965         * tests/test-areadlinkat-with-size.c (main): Likewise.
31966         * tests/test-areadlinkat.c (main): Likewise.
31967         * tests/test-canonicalize-lgpl.c (main): Likewise.
31968         * tests/test-canonicalize.c (main): Likewise.
31969         * tests/test-chown.c (main): Likewise.
31970         * tests/test-fchownat.c (main): Likewise.
31971         * tests/test-lchown.c (main): Likewise.
31972         * tests/test-fdutimensat.c (main): Likewise.
31973         * tests/test-futimens.c (main): Likewise.
31974         * tests/test-link.c (main): Likewise.
31975         * tests/test-linkat.c (main): Likewise.
31976         * tests/test-mkdir.c (main): Likewise.
31977         * tests/test-mkdirat.c (main): Likewise.
31978         * tests/test-mkfifo.c (main): Likewise.
31979         * tests/test-mkfifoat.c (main): Likewise.
31980         * tests/test-mknod.c (main): Likewise.
31981         * tests/test-readlink.c (main): Likewise.
31982         * tests/test-remove.c (main): Likewise.
31983         * tests/test-rename.c (main): Likewise.
31984         * tests/test-renameat.c (main): Likewise.
31985         * tests/test-symlink.c (main): Likewise.
31986         * tests/test-symlinkat.c (main): Likewise.
31987         * tests/test-utimens.c (main): Likewise.
31988         * tests/test-utimensat.c (main): Likewise.
31989
31990 2009-12-29  Simon Josefsson  <simon@josefsson.org>
31991
31992         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
31993         on $(UNUSED_PARAMETER_H) to avoid build failure.
31994
31995 2009-12-28  Jim Meyering  <meyering@redhat.com>
31996
31997         update-copyright: you may specify a max. line length other than 72
31998         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
31999
32000         maint: use consistent FSF copyright line syntax
32001         * lib/posixtm.c: Add missing comma in FSF copyright line.
32002         * lib/posixtm.h: Likewise.
32003         * lib/getugroups.c: Add missing ", Inc.".
32004
32005         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
32006         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
32007         FSF copyright line.  Remove trailing blanks.
32008
32009 2009-12-28  Eric Blake  <ebb9@byu.net>
32010
32011         test-dup2: reduce dependencies
32012         * modules/cloexec (Configure.ac): Set witness.
32013         * modules/dup2-tests (Depends-on): Drop cloexec.
32014         * tests/test-dup2.c (main): Skip portion of test if cloexec module
32015         not present.
32016         Suggested by Bruno Haible.
32017
32018 2009-12-26  Bruno Haible  <bruno@clisp.org>
32019
32020         Remove an unneeded dependency.
32021         * modules/fseterr (Depends-on): Remove dup2.
32022
32023 2009-12-26  Eric Blake  <ebb9@byu.net>
32024
32025         tests: use macros.h in more places
32026         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
32027         (ASSERT_STREAM): Provide default of stderr.
32028         * tests/test-dirent-safer.c: Include macros.h, using alternate
32029         stream for assertions.
32030         * tests/test-dup-safer.c: Likewise.
32031         * tests/test-freopen-safer.c: Likewise.
32032         * tests/test-getopt.c: Likewise.
32033         * tests/test-openat-safer.c: Likewise.
32034         * tests/test-pipe.c: Likewise.
32035         * tests/test-popen-safer.c: Likewise.
32036         * modules/dirent-safer-tests (Files): Include macros.h.
32037         * modules/unistd-safer-tests (Files): Likewise.
32038         * modules/freopen-safer-tests (Files): Likewise.
32039         * modules/getopt-posix-tests (Files): Likewise.
32040         * modules/openat-safer-tests (Files): Likewise.
32041         * modules/pipe-tests (Files): Likewise.
32042
32043 2009-12-26  Bruno Haible  <bruno@clisp.org>
32044
32045         javacomp: Portability fix.
32046         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
32047         that it also works on Solaris.
32048
32049 2009-12-26  Bruno Haible  <bruno@clisp.org>
32050
32051         localename: Fix storage allocation of gl_locale_name_thread's result.
32052         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
32053         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
32054         all platforms that have 'uselocale'.
32055         (gl_locale_name_thread_unsafe): New function, extracted from
32056         gl_locale_name_thread.
32057         (gl_locale_name_thread): Call struniq on all platforms that have
32058         'uselocale'.
32059         * tests/test-localename.c (test_locale_name_thread): Check that the
32060         resulting strings are permanently allocated.
32061         * modules/localename-tests (Depends-on): Add strdup.
32062
32063 2009-12-26  Bruno Haible  <bruno@clisp.org>
32064
32065         * tests/test-localename.c (categories): Fill in the strings.
32066
32067 2009-12-26  Jim Meyering  <meyering@redhat.com>
32068
32069         isdir: complete the removal of m4/isdir.m4
32070         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
32071
32072         isdir: clean up, since at least grep still uses it
32073         * lib/isdir.c: Include "isdir.h".
32074         (S_ISDIR): Remove now-unneeded definition.
32075         * modules/isdir (Files): Add lib/isdir.h.
32076         * lib/isdir.h: New file, with declaration.
32077         * m4/isdir.m4: Remove file -- unneeded.
32078
32079 2009-12-25  Bruno Haible  <bruno@clisp.org>
32080
32081         selinux-h: Make generated .h files standalone.
32082         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
32083         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
32084         * lib/se-selinux.in.h: Likewise.
32085         * modules/selinux-h (Depends-on): Add unused-parameter.
32086         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
32087         selinux/selinux.h and selinux/context.h.
32088         Suggested by Eric Blake.
32089
32090 2009-12-25  Bruno Haible  <bruno@clisp.org>
32091
32092         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
32093         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
32094         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
32095         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
32096         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
32097
32098 2009-12-24  Bruno Haible  <bruno@clisp.org>
32099
32100         openat: Fix warning.
32101         * lib/openat-proc.c: Include <unistd.h>.
32102
32103 2009-12-24  Bruno Haible  <bruno@clisp.org>
32104
32105         New module 'unused-parameter'.
32106         * build-aux/unused-parameter.h: New file, extracted from earlier
32107         gnulib-common.m4.
32108         * modules/unused-parameter: New file.
32109         * lib/unistr.h: Include unused-parameter.h.
32110         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
32111         _GL_UNUSED.
32112         * modules/unistr/base (Depends-on): Add unused-parameter.
32113
32114 2009-12-24  Bruno Haible  <bruno@clisp.org>
32115
32116         Add missing dependencies to 'extensions' module.
32117         * m4/extensions.m4: Add comment.
32118         * modules/accept4 (Depends-on): Add extensions.
32119         * modules/dup3 (Depends-on): Likewise.
32120         * modules/fcntl (Depends-on): Likewise.
32121         * modules/futimens (Depends-on): Likewise.
32122         * modules/mknod (Depends-on): Likewise.
32123         * modules/pipe2 (Depends-on): Likewise.
32124         * modules/stat-time (Depends-on): Likewise.
32125         * modules/strcasestr-simple (Depends-on): Likewise.
32126         * modules/strsignal (Depends-on): Likewise.
32127         * modules/utimensat (Depends-on): Likewise.
32128         * modules/localcharset (Depends-on): Likewise. Needed because of
32129         gl_FCNTL_O_FLAGS.
32130         * modules/wcrtomb (Depends-on): Likewise. Needed because of
32131         AC_TYPE_MBSTATE_T.
32132         * modules/wcsnrtombs (Depends-on): Likewise.
32133         * modules/wcsrtombs (Depends-on): Likewise.
32134
32135 2009-12-24  Bruno Haible  <bruno@clisp.org>
32136
32137         binary-io: Avoid gcc warning due to SET_BINARY.
32138         * lib/binary-io.h (SET_BINARY): Cast the result to void.
32139         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
32140
32141 2009-12-24  Bruno Haible  <bruno@clisp.org>
32142
32143         Avoid future namespace pollution on glibc systems.
32144         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
32145         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
32146         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
32147         glibc systems.
32148
32149 2009-12-24  Bruno Haible  <bruno@clisp.org>
32150
32151         Refactor common macros used in tests.
32152         * tests/macros.h: New file.
32153         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
32154         and/or <stdlib.h>, if appropriate.
32155         (ASSERT, SIZEOF): Remove macros.
32156         * tests/test-areadlink-with-size.c: Likewise.
32157         * tests/test-areadlinkat.c: Likewise.
32158         * tests/test-areadlinkat-with-size.c: Likewise.
32159         * tests/test-argmatch.c: Likewise.
32160         * tests/test-argv-iter.c: Likewise.
32161         * tests/test-array-mergesort.c: Likewise.
32162         * tests/test-array_list.c: Likewise.
32163         * tests/test-array_oset.c: Likewise.
32164         * tests/test-avltree_list.c: Likewise.
32165         * tests/test-avltree_oset.c: Likewise.
32166         * tests/test-avltreehash_list.c: Likewise.
32167         * tests/test-base64.c: Likewise.
32168         * tests/test-binary-io.c: Likewise.
32169         * tests/test-bitrotate.c: Likewise.
32170         * tests/test-btowc.c: Likewise.
32171         * tests/test-byteswap.c: Likewise.
32172         * tests/test-c-ctype.c: Likewise.
32173         * tests/test-c-stack.c: Likewise.
32174         * tests/test-c-strcasecmp.c: Likewise.
32175         * tests/test-c-strcasestr.c: Likewise.
32176         * tests/test-c-strncasecmp.c: Likewise.
32177         * tests/test-c-strstr.c: Likewise.
32178         * tests/test-canonicalize-lgpl.c: Likewise.
32179         * tests/test-canonicalize.c: Likewise.
32180         * tests/test-carray_list.c: Likewise.
32181         * tests/test-ceilf1.c: Likewise.
32182         * tests/test-ceilf2.c: Likewise.
32183         * tests/test-ceill.c: Likewise.
32184         * tests/test-chown.c: Likewise.
32185         * tests/test-cloexec.c: Likewise.
32186         * tests/test-copy-acl.c: Likewise.
32187         * tests/test-copy-file.c: Likewise.
32188         * tests/test-count-one-bits.c: Likewise.
32189         * tests/test-dprintf-posix.c: Likewise.
32190         * tests/test-dup2.c: Likewise.
32191         * tests/test-dup3.c: Likewise.
32192         * tests/test-duplocale.c: Likewise.
32193         * tests/test-fbufmode.c: Likewise.
32194         * tests/test-fchdir.c: Likewise.
32195         * tests/test-fchownat.c: Likewise.
32196         * tests/test-fcntl-safer.c: Likewise.
32197         * tests/test-fcntl.c: Likewise.
32198         * tests/test-fdopendir.c: Likewise.
32199         * tests/test-fdutimensat.c: Likewise.
32200         * tests/test-fflush2.c: Likewise.
32201         * tests/test-file-has-acl.c: Likewise.
32202         * tests/test-filevercmp.c: Likewise.
32203         * tests/test-flock.c: Likewise.
32204         * tests/test-floorf1.c: Likewise.
32205         * tests/test-floorf2.c: Likewise.
32206         * tests/test-floorl.c: Likewise.
32207         * tests/test-fnmatch.c: Likewise.
32208         * tests/test-fopen.h: Likewise.
32209         * tests/test-fpending.c: Likewise.
32210         * tests/test-fprintf-posix.c: Likewise.
32211         * tests/test-fpurge.c: Likewise.
32212         * tests/test-freadable.c: Likewise.
32213         * tests/test-freadahead.c: Likewise.
32214         * tests/test-freading.c: Likewise.
32215         * tests/test-freadptr.c: Likewise.
32216         * tests/test-freadptr2.c: Likewise.
32217         * tests/test-freadseek.c: Likewise.
32218         * tests/test-freopen.c: Likewise.
32219         * tests/test-frexp.c: Likewise.
32220         * tests/test-frexpl.c: Likewise.
32221         * tests/test-fseek.c: Likewise.
32222         * tests/test-fseeko.c: Likewise.
32223         * tests/test-fstatat.c: Likewise.
32224         * tests/test-fstrcmp.c: Likewise.
32225         * tests/test-fsync.c: Likewise.
32226         * tests/test-ftell.c: Likewise.
32227         * tests/test-ftello.c: Likewise.
32228         * tests/test-func.c: Likewise.
32229         * tests/test-futimens.c: Likewise.
32230         * tests/test-fwritable.c: Likewise.
32231         * tests/test-fwriting.c: Likewise.
32232         * tests/test-getcwd.c: Likewise.
32233         * tests/test-getdate.c: Likewise.
32234         * tests/test-getdelim.c: Likewise.
32235         * tests/test-getdtablesize.c: Likewise.
32236         * tests/test-getgroups.c: Likewise.
32237         * tests/test-getline.c: Likewise.
32238         * tests/test-getndelim2.c: Likewise.
32239         * tests/test-glob.c: Likewise.
32240         * tests/test-hash.c: Likewise.
32241         * tests/test-i-ring.c: Likewise.
32242         * tests/test-iconv-utf.c: Likewise.
32243         * tests/test-iconv.c: Likewise.
32244         * tests/test-idpriv-drop.c: Likewise.
32245         * tests/test-idpriv-droptemp.c: Likewise.
32246         * tests/test-inet_ntop.c: Likewise.
32247         * tests/test-inet_pton.c: Likewise.
32248         * tests/test-isblank.c: Likewise.
32249         * tests/test-isfinite.c: Likewise.
32250         * tests/test-isinf.c: Likewise.
32251         * tests/test-isnan.c: Likewise.
32252         * tests/test-isnand.h: Likewise.
32253         * tests/test-isnanf.h: Likewise.
32254         * tests/test-isnanl.h: Likewise.
32255         * tests/test-lchown.c: Likewise.
32256         * tests/test-ldexpl.c: Likewise.
32257         * tests/test-link.c: Likewise.
32258         * tests/test-linkat.c: Likewise.
32259         * tests/test-linked_list.c: Likewise.
32260         * tests/test-linkedhash_list.c: Likewise.
32261         * tests/test-localename.c: Likewise.
32262         * tests/test-lseek.c: Likewise.
32263         * tests/test-lstat.c: Likewise.
32264         * tests/test-mbmemcasecmp.c: Likewise.
32265         * tests/test-mbmemcasecoll.c: Likewise.
32266         * tests/test-mbrtowc.c: Likewise.
32267         * tests/test-mbscasecmp.c: Likewise.
32268         * tests/test-mbscasestr1.c: Likewise.
32269         * tests/test-mbscasestr2.c: Likewise.
32270         * tests/test-mbscasestr3.c: Likewise.
32271         * tests/test-mbscasestr4.c: Likewise.
32272         * tests/test-mbschr.c: Likewise.
32273         * tests/test-mbscspn.c: Likewise.
32274         * tests/test-mbsinit.c: Likewise.
32275         * tests/test-mbsncasecmp.c: Likewise.
32276         * tests/test-mbsnrtowcs.c: Likewise.
32277         * tests/test-mbspbrk.c: Likewise.
32278         * tests/test-mbspcasecmp.c: Likewise.
32279         * tests/test-mbsrchr.c: Likewise.
32280         * tests/test-mbsrtowcs.c: Likewise.
32281         * tests/test-mbsspn.c: Likewise.
32282         * tests/test-mbsstr1.c: Likewise.
32283         * tests/test-mbsstr2.c: Likewise.
32284         * tests/test-mbsstr3.c: Likewise.
32285         * tests/test-memchr.c: Likewise.
32286         * tests/test-memchr2.c: Likewise.
32287         * tests/test-memcmp.c: Likewise.
32288         * tests/test-memmem.c: Likewise.
32289         * tests/test-memrchr.c: Likewise.
32290         * tests/test-mkdir.c: Likewise.
32291         * tests/test-mkdirat.c: Likewise.
32292         * tests/test-mkfifo.c: Likewise.
32293         * tests/test-mkfifoat.c: Likewise.
32294         * tests/test-mknod.c: Likewise.
32295         * tests/test-nanosleep.c: Likewise.
32296         * tests/test-nl_langinfo.c: Likewise.
32297         * tests/test-obstack-printf.c: Likewise.
32298         * tests/test-open.c: Likewise.
32299         * tests/test-openat.c: Likewise.
32300         * tests/test-pipe-filter-gi1.c: Likewise.
32301         * tests/test-pipe-filter-gi2-main.c: Likewise.
32302         * tests/test-pipe-filter-ii1.c: Likewise.
32303         * tests/test-pipe-filter-ii2-main.c: Likewise.
32304         * tests/test-pipe2.c: Likewise.
32305         * tests/test-popen.h: Likewise.
32306         * tests/test-posixtm.c: Likewise.
32307         * tests/test-pread.c: Likewise.
32308         * tests/test-printf-frexp.c: Likewise.
32309         * tests/test-printf-frexpl.c: Likewise.
32310         * tests/test-printf-posix.c: Likewise.
32311         * tests/test-priv-set.c: Likewise.
32312         * tests/test-quotearg.c: Likewise.
32313         * tests/test-random_r.c: Likewise.
32314         * tests/test-rawmemchr.c: Likewise.
32315         * tests/test-rbtree_list.c: Likewise.
32316         * tests/test-rbtree_oset.c: Likewise.
32317         * tests/test-rbtreehash_list.c: Likewise.
32318         * tests/test-readlink.c: Likewise.
32319         * tests/test-remove.c: Likewise.
32320         * tests/test-rename.c: Likewise.
32321         * tests/test-renameat.c: Likewise.
32322         * tests/test-rmdir.c: Likewise.
32323         * tests/test-round1.c: Likewise.
32324         * tests/test-roundf1.c: Likewise.
32325         * tests/test-roundl.c: Likewise.
32326         * tests/test-safe-alloc.c: Likewise.
32327         * tests/test-sameacls.c: Likewise.
32328         * tests/test-set-mode-acl.c: Likewise.
32329         * tests/test-setenv.c: Likewise.
32330         * tests/test-sigaction.c: Likewise.
32331         * tests/test-signbit.c: Likewise.
32332         * tests/test-sleep.c: Likewise.
32333         * tests/test-snprintf-posix.c: Likewise.
32334         * tests/test-snprintf.c: Likewise.
32335         * tests/test-sprintf-posix.c: Likewise.
32336         * tests/test-stat-time.c: Likewise.
32337         * tests/test-stat.c: Likewise.
32338         * tests/test-strcasestr.c: Likewise.
32339         * tests/test-strchrnul.c: Likewise.
32340         * tests/test-strerror.c: Likewise.
32341         * tests/test-striconv.c: Likewise.
32342         * tests/test-striconveh.c: Likewise.
32343         * tests/test-striconveha.c: Likewise.
32344         * tests/test-strsignal.c: Likewise.
32345         * tests/test-strstr.c: Likewise.
32346         * tests/test-strtod.c: Likewise.
32347         * tests/test-strverscmp.c: Likewise.
32348         * tests/test-symlink.c: Likewise.
32349         * tests/test-symlinkat.c: Likewise.
32350         * tests/test-trunc1.c: Likewise.
32351         * tests/test-trunc2.c: Likewise.
32352         * tests/test-truncf1.c: Likewise.
32353         * tests/test-truncf2.c: Likewise.
32354         * tests/test-truncl.c: Likewise.
32355         * tests/test-uname.c: Likewise.
32356         * tests/test-unlink.c: Likewise.
32357         * tests/test-unlinkat.c: Likewise.
32358         * tests/test-unsetenv.c: Likewise.
32359         * tests/test-usleep.c: Likewise.
32360         * tests/test-utimens.c: Likewise.
32361         * tests/test-utimensat.c: Likewise.
32362         * tests/test-vasnprintf-posix.c: Likewise.
32363         * tests/test-vasnprintf-posix2.c: Likewise.
32364         * tests/test-vasnprintf.c: Likewise.
32365         * tests/test-vasprintf-posix.c: Likewise.
32366         * tests/test-vasprintf.c: Likewise.
32367         * tests/test-vdprintf-posix.c: Likewise.
32368         * tests/test-vfprintf-posix.c: Likewise.
32369         * tests/test-vprintf-posix.c: Likewise.
32370         * tests/test-vsnprintf-posix.c: Likewise.
32371         * tests/test-vsnprintf.c: Likewise.
32372         * tests/test-vsprintf-posix.c: Likewise.
32373         * tests/test-wcrtomb.c: Likewise.
32374         * tests/test-wcsnrtombs.c: Likewise.
32375         * tests/test-wcsrtombs.c: Likewise.
32376         * tests/test-wctype.c: Likewise.
32377         * tests/test-wcwidth.c: Likewise.
32378         * tests/test-xfprintf-posix.c: Likewise.
32379         * tests/test-xmemdup0.c: Likewise.
32380         * tests/test-xprintf-posix.c: Likewise.
32381         * tests/test-xvasprintf.c: Likewise.
32382         * tests/unicase/test-locale-language.c: Likewise.
32383         * tests/unicase/test-mapping-part1.h: Likewise.
32384         * tests/unicase/test-predicate-part1.h: Likewise.
32385         * tests/unicase/test-u8-casecmp.c: Likewise.
32386         * tests/unicase/test-u8-casecoll.c: Likewise.
32387         * tests/unicase/test-u8-casefold.c: Likewise.
32388         * tests/unicase/test-u8-is-cased.c: Likewise.
32389         * tests/unicase/test-u8-is-casefolded.c: Likewise.
32390         * tests/unicase/test-u8-is-lowercase.c: Likewise.
32391         * tests/unicase/test-u8-is-titlecase.c: Likewise.
32392         * tests/unicase/test-u8-is-uppercase.c: Likewise.
32393         * tests/unicase/test-u8-tolower.c: Likewise.
32394         * tests/unicase/test-u8-totitle.c: Likewise.
32395         * tests/unicase/test-u8-toupper.c: Likewise.
32396         * tests/unicase/test-u16-casecmp.c: Likewise.
32397         * tests/unicase/test-u16-casecoll.c: Likewise.
32398         * tests/unicase/test-u16-casefold.c: Likewise.
32399         * tests/unicase/test-u16-is-cased.c: Likewise.
32400         * tests/unicase/test-u16-is-casefolded.c: Likewise.
32401         * tests/unicase/test-u16-is-lowercase.c: Likewise.
32402         * tests/unicase/test-u16-is-titlecase.c: Likewise.
32403         * tests/unicase/test-u16-is-uppercase.c: Likewise.
32404         * tests/unicase/test-u16-tolower.c: Likewise.
32405         * tests/unicase/test-u16-totitle.c: Likewise.
32406         * tests/unicase/test-u16-toupper.c: Likewise.
32407         * tests/unicase/test-u32-casecmp.c: Likewise.
32408         * tests/unicase/test-u32-casecoll.c: Likewise.
32409         * tests/unicase/test-u32-casefold.c: Likewise.
32410         * tests/unicase/test-u32-is-cased.c: Likewise.
32411         * tests/unicase/test-u32-is-casefolded.c: Likewise.
32412         * tests/unicase/test-u32-is-lowercase.c: Likewise.
32413         * tests/unicase/test-u32-is-titlecase.c: Likewise.
32414         * tests/unicase/test-u32-is-uppercase.c: Likewise.
32415         * tests/unicase/test-u32-tolower.c: Likewise.
32416         * tests/unicase/test-u32-totitle.c: Likewise.
32417         * tests/unicase/test-u32-toupper.c: Likewise.
32418         * tests/unicase/test-ulc-casecmp.c: Likewise.
32419         * tests/unicase/test-ulc-casecoll.c: Likewise.
32420         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
32421         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
32422         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
32423         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
32424         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
32425         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
32426         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
32427         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
32428         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
32429         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
32430         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
32431         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
32432         * tests/unictype/test-bidi_byname.c: Likewise.
32433         * tests/unictype/test-bidi_name.c: Likewise.
32434         * tests/unictype/test-bidi_of.c: Likewise.
32435         * tests/unictype/test-bidi_test.c: Likewise.
32436         * tests/unictype/test-block_list.c: Likewise.
32437         * tests/unictype/test-block_of.c: Likewise.
32438         * tests/unictype/test-block_test.c: Likewise.
32439         * tests/unictype/test-categ_and.c: Likewise.
32440         * tests/unictype/test-categ_and_not.c: Likewise.
32441         * tests/unictype/test-categ_byname.c: Likewise.
32442         * tests/unictype/test-categ_name.c: Likewise.
32443         * tests/unictype/test-categ_none.c: Likewise.
32444         * tests/unictype/test-categ_of.c: Likewise.
32445         * tests/unictype/test-categ_or.c: Likewise.
32446         * tests/unictype/test-categ_test_withtable.c: Likewise.
32447         * tests/unictype/test-combining.c: Likewise.
32448         * tests/unictype/test-decdigit.c: Likewise.
32449         * tests/unictype/test-digit.c: Likewise.
32450         * tests/unictype/test-mirror.c: Likewise.
32451         * tests/unictype/test-numeric.c: Likewise.
32452         * tests/unictype/test-pr_byname.c: Likewise.
32453         * tests/unictype/test-pr_test.c: Likewise.
32454         * tests/unictype/test-predicate-part1.h: Likewise.
32455         * tests/unictype/test-scripts.c: Likewise.
32456         * tests/unictype/test-sy_c_ident.c: Likewise.
32457         * tests/unictype/test-sy_java_ident.c: Likewise.
32458         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
32459         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
32460         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
32461         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
32462         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
32463         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
32464         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
32465         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
32466         * tests/uninorm/test-canonical-decomposition.c: Likewise.
32467         * tests/uninorm/test-compat-decomposition.c: Likewise.
32468         * tests/uninorm/test-composition.c: Likewise.
32469         * tests/uninorm/test-decomposing-form.c: Likewise.
32470         * tests/uninorm/test-decomposition.c: Likewise.
32471         * tests/uninorm/test-u8-nfc.c: Likewise.
32472         * tests/uninorm/test-u8-nfd.c: Likewise.
32473         * tests/uninorm/test-u8-nfkc.c: Likewise.
32474         * tests/uninorm/test-u8-nfkd.c: Likewise.
32475         * tests/uninorm/test-u8-normcmp.c: Likewise.
32476         * tests/uninorm/test-u8-normcoll.c: Likewise.
32477         * tests/uninorm/test-u16-nfc.c: Likewise.
32478         * tests/uninorm/test-u16-nfd.c: Likewise.
32479         * tests/uninorm/test-u16-nfkc.c: Likewise.
32480         * tests/uninorm/test-u16-nfkd.c: Likewise.
32481         * tests/uninorm/test-u16-normcmp.c: Likewise.
32482         * tests/uninorm/test-u16-normcoll.c: Likewise.
32483         * tests/uninorm/test-u32-nfc.c: Likewise.
32484         * tests/uninorm/test-u32-nfd.c: Likewise.
32485         * tests/uninorm/test-u32-nfkc.c: Likewise.
32486         * tests/uninorm/test-u32-nfkd.c: Likewise.
32487         * tests/uninorm/test-u32-normalize-big.c: Likewise.
32488         * tests/uninorm/test-u32-normcmp.c: Likewise.
32489         * tests/uninorm/test-u32-normcoll.c: Likewise.
32490         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
32491         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
32492         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
32493         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
32494         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
32495         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
32496         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
32497         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
32498         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
32499         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
32500         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
32501         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
32502         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
32503         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
32504         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
32505         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
32506         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
32507         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
32508         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
32509         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
32510         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
32511         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
32512         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
32513         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
32514         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
32515         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
32516         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
32517         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
32518         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
32519         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
32520         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
32521         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
32522         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
32523         * tests/uniwidth/test-u8-strwidth.c: Likewise.
32524         * tests/uniwidth/test-u8-width.c: Likewise.
32525         * tests/uniwidth/test-u16-strwidth.c: Likewise.
32526         * tests/uniwidth/test-u16-width.c: Likewise.
32527         * tests/uniwidth/test-u32-strwidth.c: Likewise.
32528         * tests/uniwidth/test-u32-width.c: Likewise.
32529         * tests/uniwidth/test-uc_width.c: Likewise.
32530         * tests/uniwidth/test-uc_width2.c: Likewise.
32531         * modules/acl-tests (Files): Add tests/macros.h.
32532         * modules/areadlink-tests (Files): Likewise.
32533         * modules/areadlink-with-size-tests (Files): Likewise.
32534         * modules/areadlinkat-tests (Files): Likewise.
32535         * modules/areadlinkat-with-size-tests (Files): Likewise.
32536         * modules/argmatch-tests (Files): Likewise.
32537         * modules/argv-iter-tests (Files): Likewise.
32538         * modules/array-list-tests (Files): Likewise.
32539         * modules/array-mergesort-tests (Files): Likewise.
32540         * modules/array-oset-tests (Files): Likewise.
32541         * modules/avltree-list-tests (Files): Likewise.
32542         * modules/avltree-oset-tests (Files): Likewise.
32543         * modules/avltreehash-list-tests (Files): Likewise.
32544         * modules/base64-tests (Files): Likewise.
32545         * modules/binary-io-tests (Files): Likewise.
32546         * modules/bitrotate-tests (Files): Likewise.
32547         * modules/btowc-tests (Files): Likewise.
32548         * modules/byteswap-tests (Files): Likewise.
32549         * modules/c-ctype-tests (Files): Likewise.
32550         * modules/c-stack-tests (Files): Likewise.
32551         * modules/c-strcase-tests (Files): Likewise.
32552         * modules/c-strcasestr-tests (Files): Likewise.
32553         * modules/c-strstr-tests (Files): Likewise.
32554         * modules/canonicalize-lgpl-tests (Files): Likewise.
32555         * modules/canonicalize-tests (Files): Likewise.
32556         * modules/carray-list-tests (Files): Likewise.
32557         * modules/ceilf-tests (Files): Likewise.
32558         * modules/ceill-tests (Files): Likewise.
32559         * modules/chown-tests (Files): Likewise.
32560         * modules/cloexec-tests (Files): Likewise.
32561         * modules/copy-file-tests (Files): Likewise.
32562         * modules/count-one-bits-tests (Files): Likewise.
32563         * modules/dprintf-posix-tests (Files): Likewise.
32564         * modules/dup2-tests (Files): Likewise.
32565         * modules/dup3-tests (Files): Likewise.
32566         * modules/duplocale-tests (Files): Likewise.
32567         * modules/fbufmode-tests (Files): Likewise.
32568         * modules/fchdir-tests (Files): Likewise.
32569         * modules/fcntl-safer-tests (Files): Likewise.
32570         * modules/fcntl-tests (Files): Likewise.
32571         * modules/fdopendir-tests (Files): Likewise.
32572         * modules/fdutimensat-tests (Files): Likewise.
32573         * modules/fflush-tests (Files): Likewise.
32574         * modules/filevercmp-tests (Files): Likewise.
32575         * modules/flock-tests (Files): Likewise.
32576         * modules/floorf-tests (Files): Likewise.
32577         * modules/floorl-tests (Files): Likewise.
32578         * modules/fnmatch-tests (Files): Likewise.
32579         * modules/fopen-safer-tests (Files): Likewise.
32580         * modules/fopen-tests (Files): Likewise.
32581         * modules/fpending-tests (Files): Likewise.
32582         * modules/fprintf-posix-tests (Files): Likewise.
32583         * modules/fpurge-tests (Files): Likewise.
32584         * modules/freadable-tests (Files): Likewise.
32585         * modules/freadahead-tests (Files): Likewise.
32586         * modules/freading-tests (Files): Likewise.
32587         * modules/freadptr-tests (Files): Likewise.
32588         * modules/freadseek-tests (Files): Likewise.
32589         * modules/freopen-tests (Files): Likewise.
32590         * modules/frexp-nolibm-tests (Files): Likewise.
32591         * modules/frexp-tests (Files): Likewise.
32592         * modules/frexpl-nolibm-tests (Files): Likewise.
32593         * modules/frexpl-tests (Files): Likewise.
32594         * modules/fseek-tests (Files): Likewise.
32595         * modules/fseeko-tests (Files): Likewise.
32596         * modules/fstrcmp-tests (Files): Likewise.
32597         * modules/fsync-tests (Files): Likewise.
32598         * modules/ftell-tests (Files): Likewise.
32599         * modules/ftello-tests (Files): Likewise.
32600         * modules/func-tests (Files): Likewise.
32601         * modules/futimens-tests (Files): Likewise.
32602         * modules/fwritable-tests (Files): Likewise.
32603         * modules/fwriting-tests (Files): Likewise.
32604         * modules/getcwd-tests (Files): Likewise.
32605         * modules/getdate-tests (Files): Likewise.
32606         * modules/getdelim-tests (Files): Likewise.
32607         * modules/getdtablesize-tests (Files): Likewise.
32608         * modules/getgroups-tests (Files): Likewise.
32609         * modules/getline-tests (Files): Likewise.
32610         * modules/getndelim2-tests (Files): Likewise.
32611         * modules/glob-tests (Files): Likewise.
32612         * modules/hash-tests (Files): Likewise.
32613         * modules/i-ring-tests (Files): Likewise.
32614         * modules/iconv-tests (Files): Likewise.
32615         * modules/iconv_open-utf-tests (Files): Likewise.
32616         * modules/idpriv-drop-tests (Files): Likewise.
32617         * modules/idpriv-droptemp-tests (Files): Likewise.
32618         * modules/inet_ntop-tests (Files): Likewise.
32619         * modules/inet_pton-tests (Files): Likewise.
32620         * modules/isblank-tests (Files): Likewise.
32621         * modules/isfinite-tests (Files): Likewise.
32622         * modules/isinf-tests (Files): Likewise.
32623         * modules/isnan-tests (Files): Likewise.
32624         * modules/isnand-nolibm-tests (Files): Likewise.
32625         * modules/isnand-tests (Files): Likewise.
32626         * modules/isnanf-nolibm-tests (Files): Likewise.
32627         * modules/isnanf-tests (Files): Likewise.
32628         * modules/isnanl-nolibm-tests (Files): Likewise.
32629         * modules/isnanl-tests (Files): Likewise.
32630         * modules/lchown-tests (Files): Likewise.
32631         * modules/ldexpl-tests (Files): Likewise.
32632         * modules/link-tests (Files): Likewise.
32633         * modules/linkat-tests (Files): Likewise.
32634         * modules/linked-list-tests (Files): Likewise.
32635         * modules/linkedhash-list-tests (Files): Likewise.
32636         * modules/localename-tests (Files): Likewise.
32637         * modules/lseek-tests (Files): Likewise.
32638         * modules/lstat-tests (Files): Likewise.
32639         * modules/mbmemcasecmp-tests (Files): Likewise.
32640         * modules/mbmemcasecoll-tests (Files): Likewise.
32641         * modules/mbrtowc-tests (Files): Likewise.
32642         * modules/mbscasecmp-tests (Files): Likewise.
32643         * modules/mbscasestr-tests (Files): Likewise.
32644         * modules/mbschr-tests (Files): Likewise.
32645         * modules/mbscspn-tests (Files): Likewise.
32646         * modules/mbsinit-tests (Files): Likewise.
32647         * modules/mbsncasecmp-tests (Files): Likewise.
32648         * modules/mbsnrtowcs-tests (Files): Likewise.
32649         * modules/mbspbrk-tests (Files): Likewise.
32650         * modules/mbspcasecmp-tests (Files): Likewise.
32651         * modules/mbsrchr-tests (Files): Likewise.
32652         * modules/mbsrtowcs-tests (Files): Likewise.
32653         * modules/mbsspn-tests (Files): Likewise.
32654         * modules/mbsstr-tests (Files): Likewise.
32655         * modules/memchr-tests (Files): Likewise.
32656         * modules/memchr2-tests (Files): Likewise.
32657         * modules/memcmp-tests (Files): Likewise.
32658         * modules/memmem-tests (Files): Likewise.
32659         * modules/memrchr-tests (Files): Likewise.
32660         * modules/mkdir-tests (Files): Likewise.
32661         * modules/mkfifo-tests (Files): Likewise.
32662         * modules/mkfifoat-tests (Files): Likewise.
32663         * modules/mknod-tests (Files): Likewise.
32664         * modules/nanosleep-tests (Files): Likewise.
32665         * modules/nl_langinfo-tests (Files): Likewise.
32666         * modules/obstack-printf-tests (Files): Likewise.
32667         * modules/open-tests (Files): Likewise.
32668         * modules/openat-tests (Files): Likewise.
32669         * modules/pipe-filter-gi-tests (Files): Likewise.
32670         * modules/pipe-filter-ii-tests (Files): Likewise.
32671         * modules/pipe2-tests (Files): Likewise.
32672         * modules/popen-safer-tests (Files): Likewise.
32673         * modules/popen-tests (Files): Likewise.
32674         * modules/posixtm-tests (Files): Likewise.
32675         * modules/pread-tests (Files): Likewise.
32676         * modules/printf-frexp-tests (Files): Likewise.
32677         * modules/printf-frexpl-tests (Files): Likewise.
32678         * modules/printf-posix-tests (Files): Likewise.
32679         * modules/priv-set-tests (Files): Likewise.
32680         * modules/quotearg-tests (Files): Likewise.
32681         * modules/random_r-tests (Files): Likewise.
32682         * modules/rawmemchr-tests (Files): Likewise.
32683         * modules/rbtree-list-tests (Files): Likewise.
32684         * modules/rbtree-oset-tests (Files): Likewise.
32685         * modules/rbtreehash-list-tests (Files): Likewise.
32686         * modules/readlink-tests (Files): Likewise.
32687         * modules/remove-tests (Files): Likewise.
32688         * modules/rename-tests (Files): Likewise.
32689         * modules/renameat-tests (Files): Likewise.
32690         * modules/rmdir-tests (Files): Likewise.
32691         * modules/round-tests (Files): Likewise.
32692         * modules/roundf-tests (Files): Likewise.
32693         * modules/roundl-tests (Files): Likewise.
32694         * modules/safe-alloc-tests (Files): Likewise.
32695         * modules/setenv-tests (Files): Likewise.
32696         * modules/sigaction-tests (Files): Likewise.
32697         * modules/signbit-tests (Files): Likewise.
32698         * modules/sleep-tests (Files): Likewise.
32699         * modules/snprintf-posix-tests (Files): Likewise.
32700         * modules/snprintf-tests (Files): Likewise.
32701         * modules/sprintf-posix-tests (Files): Likewise.
32702         * modules/stat-tests (Files): Likewise.
32703         * modules/stat-time-tests (Files): Likewise.
32704         * modules/strcasestr-tests (Files): Likewise.
32705         * modules/strchrnul-tests (Files): Likewise.
32706         * modules/strerror-tests (Files): Likewise.
32707         * modules/striconv-tests (Files): Likewise.
32708         * modules/striconveh-tests (Files): Likewise.
32709         * modules/striconveha-tests (Files): Likewise.
32710         * modules/strsignal-tests (Files): Likewise.
32711         * modules/strstr-tests (Files): Likewise.
32712         * modules/strtod-tests (Files): Likewise.
32713         * modules/strverscmp-tests (Files): Likewise.
32714         * modules/symlink-tests (Files): Likewise.
32715         * modules/symlinkat-tests (Files): Likewise.
32716         * modules/trunc-tests (Files): Likewise.
32717         * modules/truncf-tests (Files): Likewise.
32718         * modules/truncl-tests (Files): Likewise.
32719         * modules/uname-tests (Files): Likewise.
32720         * modules/unicase/cased-tests (Files): Likewise.
32721         * modules/unicase/ignorable-tests (Files): Likewise.
32722         * modules/unicase/locale-language-tests (Files): Likewise.
32723         * modules/unicase/tolower-tests (Files): Likewise.
32724         * modules/unicase/totitle-tests (Files): Likewise.
32725         * modules/unicase/toupper-tests (Files): Likewise.
32726         * modules/unicase/u8-casecmp-tests (Files): Likewise.
32727         * modules/unicase/u8-casecoll-tests (Files): Likewise.
32728         * modules/unicase/u8-casefold-tests (Files): Likewise.
32729         * modules/unicase/u8-is-cased-tests (Files): Likewise.
32730         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
32731         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
32732         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
32733         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
32734         * modules/unicase/u8-tolower-tests (Files): Likewise.
32735         * modules/unicase/u8-totitle-tests (Files): Likewise.
32736         * modules/unicase/u8-toupper-tests (Files): Likewise.
32737         * modules/unicase/u16-casecmp-tests (Files): Likewise.
32738         * modules/unicase/u16-casecoll-tests (Files): Likewise.
32739         * modules/unicase/u16-casefold-tests (Files): Likewise.
32740         * modules/unicase/u16-is-cased-tests (Files): Likewise.
32741         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
32742         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
32743         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
32744         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
32745         * modules/unicase/u16-tolower-tests (Files): Likewise.
32746         * modules/unicase/u16-totitle-tests (Files): Likewise.
32747         * modules/unicase/u16-toupper-tests (Files): Likewise.
32748         * modules/unicase/u32-casecmp-tests (Files): Likewise.
32749         * modules/unicase/u32-casecoll-tests (Files): Likewise.
32750         * modules/unicase/u32-casefold-tests (Files): Likewise.
32751         * modules/unicase/u32-is-cased-tests (Files): Likewise.
32752         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
32753         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
32754         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
32755         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
32756         * modules/unicase/u32-tolower-tests (Files): Likewise.
32757         * modules/unicase/u32-totitle-tests (Files): Likewise.
32758         * modules/unicase/u32-toupper-tests (Files): Likewise.
32759         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
32760         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
32761         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
32762         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
32763         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
32764         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
32765         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
32766         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
32767         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
32768         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
32769         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
32770         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
32771         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
32772         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
32773         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
32774         * modules/unictype/bidicategory-name-tests (Files): Likewise.
32775         * modules/unictype/bidicategory-of-tests (Files): Likewise.
32776         * modules/unictype/bidicategory-test-tests (Files): Likewise.
32777         * modules/unictype/block-list-tests (Files): Likewise.
32778         * modules/unictype/block-of-tests (Files): Likewise.
32779         * modules/unictype/block-test-tests (Files): Likewise.
32780         * modules/unictype/category-C-tests (Files): Likewise.
32781         * modules/unictype/category-Cc-tests (Files): Likewise.
32782         * modules/unictype/category-Cf-tests (Files): Likewise.
32783         * modules/unictype/category-Cn-tests (Files): Likewise.
32784         * modules/unictype/category-Co-tests (Files): Likewise.
32785         * modules/unictype/category-Cs-tests (Files): Likewise.
32786         * modules/unictype/category-L-tests (Files): Likewise.
32787         * modules/unictype/category-Ll-tests (Files): Likewise.
32788         * modules/unictype/category-Lm-tests (Files): Likewise.
32789         * modules/unictype/category-Lo-tests (Files): Likewise.
32790         * modules/unictype/category-Lt-tests (Files): Likewise.
32791         * modules/unictype/category-Lu-tests (Files): Likewise.
32792         * modules/unictype/category-M-tests (Files): Likewise.
32793         * modules/unictype/category-Mc-tests (Files): Likewise.
32794         * modules/unictype/category-Me-tests (Files): Likewise.
32795         * modules/unictype/category-Mn-tests (Files): Likewise.
32796         * modules/unictype/category-N-tests (Files): Likewise.
32797         * modules/unictype/category-Nd-tests (Files): Likewise.
32798         * modules/unictype/category-Nl-tests (Files): Likewise.
32799         * modules/unictype/category-No-tests (Files): Likewise.
32800         * modules/unictype/category-P-tests (Files): Likewise.
32801         * modules/unictype/category-Pc-tests (Files): Likewise.
32802         * modules/unictype/category-Pd-tests (Files): Likewise.
32803         * modules/unictype/category-Pe-tests (Files): Likewise.
32804         * modules/unictype/category-Pf-tests (Files): Likewise.
32805         * modules/unictype/category-Pi-tests (Files): Likewise.
32806         * modules/unictype/category-Po-tests (Files): Likewise.
32807         * modules/unictype/category-Ps-tests (Files): Likewise.
32808         * modules/unictype/category-S-tests (Files): Likewise.
32809         * modules/unictype/category-Sc-tests (Files): Likewise.
32810         * modules/unictype/category-Sk-tests (Files): Likewise.
32811         * modules/unictype/category-Sm-tests (Files): Likewise.
32812         * modules/unictype/category-So-tests (Files): Likewise.
32813         * modules/unictype/category-Z-tests (Files): Likewise.
32814         * modules/unictype/category-Zl-tests (Files): Likewise.
32815         * modules/unictype/category-Zp-tests (Files): Likewise.
32816         * modules/unictype/category-Zs-tests (Files): Likewise.
32817         * modules/unictype/category-and-not-tests (Files): Likewise.
32818         * modules/unictype/category-and-tests (Files): Likewise.
32819         * modules/unictype/category-byname-tests (Files): Likewise.
32820         * modules/unictype/category-name-tests (Files): Likewise.
32821         * modules/unictype/category-none-tests (Files): Likewise.
32822         * modules/unictype/category-of-tests (Files): Likewise.
32823         * modules/unictype/category-or-tests (Files): Likewise.
32824         * modules/unictype/category-test-withtable-tests (Files): Likewise.
32825         * modules/unictype/combining-class-tests (Files): Likewise.
32826         * modules/unictype/ctype-alnum-tests (Files): Likewise.
32827         * modules/unictype/ctype-alpha-tests (Files): Likewise.
32828         * modules/unictype/ctype-blank-tests (Files): Likewise.
32829         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
32830         * modules/unictype/ctype-digit-tests (Files): Likewise.
32831         * modules/unictype/ctype-graph-tests (Files): Likewise.
32832         * modules/unictype/ctype-lower-tests (Files): Likewise.
32833         * modules/unictype/ctype-print-tests (Files): Likewise.
32834         * modules/unictype/ctype-punct-tests (Files): Likewise.
32835         * modules/unictype/ctype-space-tests (Files): Likewise.
32836         * modules/unictype/ctype-upper-tests (Files): Likewise.
32837         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
32838         * modules/unictype/decimal-digit-tests (Files): Likewise.
32839         * modules/unictype/digit-tests (Files): Likewise.
32840         * modules/unictype/mirror-tests (Files): Likewise.
32841         * modules/unictype/numeric-tests (Files): Likewise.
32842         * modules/unictype/property-alphabetic-tests (Files): Likewise.
32843         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
32844         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
32845         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
32846         Likewise.
32847         * modules/unictype/property-bidi-block-separator-tests (Files):
32848         Likewise.
32849         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
32850         Likewise.
32851         * modules/unictype/property-bidi-common-separator-tests (Files):
32852         Likewise.
32853         * modules/unictype/property-bidi-control-tests (Files): Likewise.
32854         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
32855         Likewise.
32856         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
32857         Likewise.
32858         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
32859         Likewise.
32860         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
32861         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
32862         Likewise.
32863         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
32864         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
32865         Likewise.
32866         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
32867         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
32868         * modules/unictype/property-bidi-segment-separator-tests (Files):
32869         Likewise.
32870         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
32871         * modules/unictype/property-byname-tests (Files): Likewise.
32872         * modules/unictype/property-combining-tests (Files): Likewise.
32873         * modules/unictype/property-composite-tests (Files): Likewise.
32874         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
32875         * modules/unictype/property-dash-tests (Files): Likewise.
32876         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
32877         * modules/unictype/property-default-ignorable-code-point-tests (Files):
32878         Likewise.
32879         * modules/unictype/property-deprecated-tests (Files): Likewise.
32880         * modules/unictype/property-diacritic-tests (Files): Likewise.
32881         * modules/unictype/property-extender-tests (Files): Likewise.
32882         * modules/unictype/property-format-control-tests (Files): Likewise.
32883         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
32884         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
32885         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
32886         * modules/unictype/property-hex-digit-tests (Files): Likewise.
32887         * modules/unictype/property-hyphen-tests (Files): Likewise.
32888         * modules/unictype/property-id-continue-tests (Files): Likewise.
32889         * modules/unictype/property-id-start-tests (Files): Likewise.
32890         * modules/unictype/property-ideographic-tests (Files): Likewise.
32891         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
32892         * modules/unictype/property-ids-trinary-operator-tests (Files):
32893         Likewise.
32894         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
32895         * modules/unictype/property-iso-control-tests (Files): Likewise.
32896         * modules/unictype/property-join-control-tests (Files): Likewise.
32897         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
32898         * modules/unictype/property-line-separator-tests (Files): Likewise.
32899         * modules/unictype/property-logical-order-exception-tests (Files):
32900         Likewise.
32901         * modules/unictype/property-lowercase-tests (Files): Likewise.
32902         * modules/unictype/property-math-tests (Files): Likewise.
32903         * modules/unictype/property-non-break-tests (Files): Likewise.
32904         * modules/unictype/property-not-a-character-tests (Files): Likewise.
32905         * modules/unictype/property-numeric-tests (Files): Likewise.
32906         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
32907         * modules/unictype/property-other-default-ignorable-code-point-tests
32908         (Files): Likewise.
32909         * modules/unictype/property-other-grapheme-extend-tests (Files):
32910         Likewise.
32911         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
32912         * modules/unictype/property-other-id-start-tests (Files): Likewise.
32913         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
32914         * modules/unictype/property-other-math-tests (Files): Likewise.
32915         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
32916         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
32917         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
32918         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
32919         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
32920         * modules/unictype/property-private-use-tests (Files): Likewise.
32921         * modules/unictype/property-punctuation-tests (Files): Likewise.
32922         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
32923         * modules/unictype/property-radical-tests (Files): Likewise.
32924         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
32925         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
32926         * modules/unictype/property-space-tests (Files): Likewise.
32927         * modules/unictype/property-terminal-punctuation-tests (Files):
32928         Likewise.
32929         * modules/unictype/property-test-tests (Files): Likewise.
32930         * modules/unictype/property-titlecase-tests (Files): Likewise.
32931         * modules/unictype/property-unassigned-code-value-tests (Files):
32932         Likewise.
32933         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
32934         * modules/unictype/property-uppercase-tests (Files): Likewise.
32935         * modules/unictype/property-variation-selector-tests (Files): Likewise.
32936         * modules/unictype/property-white-space-tests (Files): Likewise.
32937         * modules/unictype/property-xid-continue-tests (Files): Likewise.
32938         * modules/unictype/property-xid-start-tests (Files): Likewise.
32939         * modules/unictype/property-zero-width-tests (Files): Likewise.
32940         * modules/unictype/scripts-tests (Files): Likewise.
32941         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
32942         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
32943         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
32944         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
32945         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
32946         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
32947         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
32948         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
32949         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
32950         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
32951         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
32952         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
32953         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
32954         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
32955         * modules/uninorm/composition-tests (Files): Likewise.
32956         * modules/uninorm/decomposing-form-tests (Files): Likewise.
32957         * modules/uninorm/decomposition-tests (Files): Likewise.
32958         * modules/uninorm/filter-tests (Files): Likewise.
32959         * modules/uninorm/nfc-tests (Files): Likewise.
32960         * modules/uninorm/nfd-tests (Files): Likewise.
32961         * modules/uninorm/nfkc-tests (Files): Likewise.
32962         * modules/uninorm/nfkd-tests (Files): Likewise.
32963         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
32964         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
32965         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
32966         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
32967         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
32968         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
32969         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
32970         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
32971         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
32972         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
32973         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
32974         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
32975         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
32976         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
32977         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
32978         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
32979         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
32980         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
32981         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
32982         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
32983         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
32984         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
32985         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
32986         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
32987         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
32988         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
32989         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
32990         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
32991         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
32992         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
32993         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
32994         * modules/uniwidth/u8-width-tests (Files): Likewise.
32995         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
32996         * modules/uniwidth/u16-width-tests (Files): Likewise.
32997         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
32998         * modules/uniwidth/u32-width-tests (Files): Likewise.
32999         * modules/uniwidth/width-tests (Files): Likewise.
33000         * modules/unlink-tests (Files): Likewise.
33001         * modules/unsetenv-tests (Files): Likewise.
33002         * modules/usleep-tests (Files): Likewise.
33003         * modules/utimens-tests (Files): Likewise.
33004         * modules/utimensat-tests (Files): Likewise.
33005         * modules/vasnprintf-posix-tests (Files): Likewise.
33006         * modules/vasnprintf-tests (Files): Likewise.
33007         * modules/vasprintf-posix-tests (Files): Likewise.
33008         * modules/vasprintf-tests (Files): Likewise.
33009         * modules/vdprintf-posix-tests (Files): Likewise.
33010         * modules/vfprintf-posix-tests (Files): Likewise.
33011         * modules/vprintf-posix-tests (Files): Likewise.
33012         * modules/vsnprintf-posix-tests (Files): Likewise.
33013         * modules/vsnprintf-tests (Files): Likewise.
33014         * modules/vsprintf-posix-tests (Files): Likewise.
33015         * modules/wcrtomb-tests (Files): Likewise.
33016         * modules/wcsnrtombs-tests (Files): Likewise.
33017         * modules/wcsrtombs-tests (Files): Likewise.
33018         * modules/wctype-tests (Files): Likewise.
33019         * modules/wcwidth-tests (Files): Likewise.
33020         * modules/xmemdup0-tests (Files): Likewise.
33021         * modules/xprintf-posix-tests (Files): Likewise.
33022         * modules/xvasprintf-tests (Files): Likewise.
33023
33024 2009-12-24  Eric Blake  <ebb9@byu.net>
33025
33026         test-nanosleep: fix typo
33027         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
33028         patch.
33029         Reported by Bruno Haible.
33030
33031 2009-12-24  Bruno Haible  <bruno@clisp.org>
33032
33033         Reduce namespace pollution on glibc systems.
33034         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
33035         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
33036         systems.
33037         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
33038         <getopt.h> on glibc systems.
33039         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
33040         systems.
33041         * lib/fcntl.c: Include <unistd.h> here instead.
33042
33043 2009-12-24  Bruno Haible  <bruno@clisp.org>
33044
33045         * lib/stdlib.in.h (includes): Fix typo in today's commit.
33046
33047 2009-12-24  Eric Blake  <ebb9@byu.net>
33048
33049         tests: add signature checks
33050         * tests/signature.h (SIGNATURE_CHECK): New file.
33051         * modules/atexit-tests (Files): Use it.
33052         * modules/btowc-tests (Files): Likewise.
33053         * modules/canonicalize-lgpl-tests (Files): Likewise.
33054         * modules/ceilf-tests (Files): Likewise.
33055         * modules/ceill-tests (Files): Likewise.
33056         * modules/chown-tests (Files): Likewise.
33057         * modules/dprintf-posix-tests (Files): Likewise.
33058         * modules/dup2-tests (Files): Likewise.
33059         * modules/dup3-tests (Files): Likewise.
33060         * modules/duplocale-tests (Files): Likewise.
33061         * modules/fchdir-tests (Files): Likewise.
33062         * modules/fcntl-tests (Files): Likewise.
33063         * modules/fdopendir-tests (Files): Likewise.
33064         * modules/fflush-tests (Files): Likewise.
33065         * modules/flock-tests (Files): Likewise.
33066         * modules/floorf-tests (Files): Likewise.
33067         * modules/floorl-tests (Files): Likewise.
33068         * modules/fnmatch-tests (Files): Likewise.
33069         * modules/fopen-tests (Files): Likewise.
33070         * modules/fprintf-posix-tests (Files): Likewise.
33071         * modules/freopen-tests (Files): Likewise.
33072         * modules/frexp-nolibm-tests (Files): Likewise.
33073         * modules/frexp-tests (Files): Likewise.
33074         * modules/frexpl-nolibm-tests (Files): Likewise.
33075         * modules/frexpl-tests (Files): Likewise.
33076         * modules/fseek-tests (Files): Likewise.
33077         * modules/fseeko-tests (Files): Likewise.
33078         * modules/fsync-tests (Files): Likewise.
33079         * modules/ftell-tests (Files): Likewise.
33080         * modules/ftello-tests (Files): Likewise.
33081         * modules/futimens-tests (Files): Likewise.
33082         * modules/getaddrinfo-tests (Files): Likewise.
33083         * modules/getcwd-tests (Files): Likewise.
33084         * modules/getdelim-tests (Files): Likewise.
33085         * modules/getdtablesize-tests (Files): Likewise.
33086         * modules/getgroups-tests (Files): Likewise.
33087         * modules/gethostname-tests (Files): Likewise.
33088         * modules/getline-tests (Files): Likewise.
33089         * modules/getopt-posix-tests (Files): Likewise.
33090         * modules/gettimeofday-tests (Files): Likewise.
33091         * modules/glob-tests (Files): Likewise.
33092         * modules/iconv-tests (Files): Likewise.
33093         * modules/inet_ntop-tests (Files): Likewise.
33094         * modules/inet_pton-tests (Files): Likewise.
33095         * modules/isblank-tests (Files): Likewise.
33096         * modules/lchown-tests (Files): Likewise.
33097         * modules/ldexpl-tests (Files): Likewise.
33098         * modules/link-tests (Files): Likewise.
33099         * modules/linkat-tests (Files): Likewise.
33100         * modules/lseek-tests (Files): Likewise.
33101         * modules/lstat-tests (Files): Likewise.
33102         * modules/mbrtowc-tests (Files): Likewise.
33103         * modules/mbsinit-tests (Files): Likewise.
33104         * modules/mbsnrtowcs-tests (Files): Likewise.
33105         * modules/mbsrtowcs-tests (Files): Likewise.
33106         * modules/memchr-tests (Files): Likewise.
33107         * modules/memcmp-tests (Files): Likewise.
33108         * modules/memmem-tests (Files): Likewise.
33109         * modules/memrchr-tests (Files): Likewise.
33110         * modules/mkdir-tests (Files): Likewise.
33111         * modules/mkfifo-tests (Files): Likewise.
33112         * modules/mkfifoat-tests (Files): Likewise.
33113         * modules/mknod-tests (Files): Likewise.
33114         * modules/nanosleep-tests (Files): Likewise.
33115         * modules/nl_langinfo-tests (Files): Likewise.
33116         * modules/obstack-printf-tests (Files): Likewise.
33117         * modules/open-tests (Files): Likewise.
33118         * modules/openat-tests (Files): Likewise.
33119         * modules/perror-tests (Files): Likewise.
33120         * modules/pipe2-tests (Files): Likewise.
33121         * modules/poll-tests (Files): Likewise.
33122         * modules/popen-tests (Files): Likewise.
33123         * modules/posix_spawn-tests (Files): Likewise.
33124         * modules/posix_spawnp-tests (Files): Likewise.
33125         * modules/pread-tests (Files): Likewise.
33126         * modules/printf-posix-tests (Files): Likewise.
33127         * modules/pty-tests (Files): Likewise.
33128         * modules/random_r-tests (Files): Likewise.
33129         * modules/rawmemchr-tests (Files): Likewise.
33130         * modules/readlink-tests (Files): Likewise.
33131         * modules/remove-tests (Files): Likewise.
33132         * modules/rename-tests (Files): Likewise.
33133         * modules/renameat-tests (Files): Likewise.
33134         * modules/rmdir-tests (Files): Likewise.
33135         * modules/round-tests (Files): Likewise.
33136         * modules/roundf-tests (Files): Likewise.
33137         * modules/roundl-tests (Files): Likewise.
33138         * modules/select-tests (Files): Likewise.
33139         * modules/setenv-tests (Files): Likewise.
33140         * modules/sigaction-tests (Files): Likewise.
33141         * modules/sleep-tests (Files): Likewise.
33142         * modules/snprintf-posix-tests (Files): Likewise.
33143         * modules/snprintf-tests (Files): Likewise.
33144         * modules/sprintf-posix-tests (Files): Likewise.
33145         * modules/stat-tests (Files): Likewise.
33146         * modules/strcasestr-tests (Files): Likewise.
33147         * modules/strchrnul-tests (Files): Likewise.
33148         * modules/strerror-tests (Files): Likewise.
33149         * modules/strsignal-tests (Files): Likewise.
33150         * modules/strstr-tests (Files): Likewise.
33151         * modules/strtod-tests (Files): Likewise.
33152         * modules/strverscmp-tests (Files): Likewise.
33153         * modules/symlink-tests (Files): Likewise.
33154         * modules/symlinkat-tests (Files): Likewise.
33155         * modules/times-tests (Files): Likewise.
33156         * modules/trunc-tests (Files): Likewise.
33157         * modules/truncf-tests (Files): Likewise.
33158         * modules/truncl-tests (Files): Likewise.
33159         * modules/tsearch-tests (Files): Likewise.
33160         * modules/uname-tests (Files): Likewise.
33161         * modules/unlink-tests (Files): Likewise.
33162         * modules/unsetenv-tests (Files): Likewise.
33163         * modules/usleep-tests (Files): Likewise.
33164         * modules/utimensat-tests (Files): Likewise.
33165         * modules/vasprintf-tests (Files): Likewise.
33166         * modules/vdprintf-posix-tests (Files): Likewise.
33167         * modules/vfprintf-posix-tests (Files): Likewise.
33168         * modules/vprintf-posix-tests (Files): Likewise.
33169         * modules/vsnprintf-posix-tests (Files): Likewise.
33170         * modules/vsnprintf-tests (Files): Likewise.
33171         * modules/vsprintf-posix-tests (Files): Likewise.
33172         * modules/wcrtomb-tests (Files): Likewise.
33173         * modules/wcsnrtombs-tests (Files): Likewise.
33174         * modules/wcsrtombs-tests (Files): Likewise.
33175         * modules/wcwidth-tests (Files): Likewise.
33176         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
33177         * tests/test-isinf.c (isinf): Likewise.
33178         * tests/test-isnan.c (isnan): Likewise.
33179         * tests/test-signbit.c (signbit): Likewise.
33180         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
33181         declaration, either as macro or with correct signature.
33182         (select): Ensure function under test is declared with correct
33183         signature in correct header.
33184         * tests/test-atexit.c (atexit): Likewise.
33185         * tests/test-btowc.c (btowc): Likewise.
33186         * tests/test-canonicalize-lgpl.c (realpath)
33187         (canonicalize_file_name): Likewise.
33188         * tests/test-ceilf1.c (ceilf): Likewise.
33189         * tests/test-ceill.c (ceill): Likewise.
33190         * tests/test-chown.c (chown): Likewise.
33191         * tests/test-dprintf-posix.c (dprintf): Likewise.
33192         * tests/test-dup2.c (dup2): Likewise.
33193         * tests/test-dup3.c (dup3): Likewise.
33194         * tests/test-duplocale.c (duplocale): Likewise.
33195         * tests/test-fchdir.c (fchdir): Likewise.
33196         * tests/test-fchownat.c (fchownat): Likewise.
33197         * tests/test-fcntl.c (fcntl): Likewise.
33198         * tests/test-fdopendir.c (fdopendir): Likewise.
33199         * tests/test-fflush.c (fflush): Likewise.
33200         * tests/test-flock.c (flock): Likewise.
33201         * tests/test-floorf1.c (floorf): Likewise.
33202         * tests/test-floorl.c (floorl): Likewise.
33203         * tests/test-fnmatch.c (fnmatch): Likewise.
33204         * tests/test-fopen.c (fopen): Likewise.
33205         * tests/test-fprintf-posix.c (fprintf): Likewise.
33206         * tests/test-freopen.c (freopen): Likewise.
33207         * tests/test-frexp.c (frexp): Likewise.
33208         * tests/test-frexpl.c (frexpl): Likewise.
33209         * tests/test-fseek.c (fseek): Likewise.
33210         * tests/test-fseeko.c (fseeko): Likewise.
33211         * tests/test-fstatat.c (fstatat): Likewise.
33212         * tests/test-fsync.c (fsync): Likewise.
33213         * tests/test-ftell.c (ftell): Likewise.
33214         * tests/test-ftello.c (ftello): Likewise.
33215         * tests/test-futimens.c (futimens): Likewise.
33216         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
33217         (gai_strerror): Likewise.
33218         * tests/test-getcwd.c (getcwd): Likewise.
33219         * tests/test-getdelim.c (getdelim): Likewise.
33220         * tests/test-getdtablesize.c (getdtablesize): Likewise.
33221         * tests/test-getgroups.c (getgroups): Likewise.
33222         * tests/test-gethostname.c (gethostname): Likewise.
33223         * tests/test-getline.c (getline): Likewise.
33224         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
33225         Likewise.
33226         * tests/test-gettimeofday.c (gettimeofday): Likewise.
33227         * tests/test-glob.c (glob, globfree): Likewise.
33228         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
33229         * tests/test-inet_ntop.c (inet_ntop): Likewise.
33230         * tests/test-inet_pton.c (inet_pton): Likewise.
33231         * tests/test-isblank.c (isblank): Likewise.
33232         * tests/test-lchown.c (lchown): Likewise.
33233         * tests/test-ldexpl.c (ldexpl): Likewise.
33234         * tests/test-link.c (link): Likewise.
33235         * tests/test-linkat.c (linkat): Likewise.
33236         * tests/test-lseek.c (lseek): Likewise.
33237         * tests/test-lstat.c (lstat): Likewise.
33238         * tests/test-mbrtowc.c (mbrtowc): Likewise.
33239         * tests/test-mbsinit.c (mbsinit): Likewise.
33240         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
33241         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
33242         * tests/test-memchr.c (memchr): Likewise.
33243         * tests/test-memcmp.c (memcmp): Likewise.
33244         * tests/test-memmem.c (memmem): Likewise.
33245         * tests/test-memrchr.c (memrchr): Likewise.
33246         * tests/test-mkdir.c (mkdir): Likewise.
33247         * tests/test-mkdirat.c (mkdirat): Likewise.
33248         * tests/test-mkfifo.c (mkfifo): Likewise.
33249         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
33250         * tests/test-mknod.c (mknod): Likewise.
33251         * tests/test-nanosleep.c (nanosleep): Likewise.
33252         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
33253         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
33254         Likewise.
33255         * tests/test-open.c (open): Likewise.
33256         * tests/test-openat.c (openat): Likewise.
33257         * tests/test-perror.c (perror): Likewise.
33258         * tests/test-pipe2.c (pipe2): Likewise.
33259         * tests/test-poll.c (poll): Likewise.
33260         * tests/test-popen.c (popen, pclose): Likewise.
33261         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
33262         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
33263         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
33264         (posix_spawn_file_actions_destroy)
33265         (posix_spawn_file_actions_addclose)
33266         (posix_spawn_file_actions_addopen)
33267         (posix_spawn_file_actions_adddup2): Likewise.
33268         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
33269         * tests/test-pread.c (pread): Likewise.
33270         * tests/test-printf-posix.c (printf): Likewise.
33271         * tests/test-pty.c (openpty, forkpty): Likewise.
33272         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
33273         (random_r): Likewise.
33274         * tests/test-rawmemchr.c (rawmemchr): Likewise.
33275         * tests/test-readlink.c (readlink): Likewise.
33276         * tests/test-remove.c (remove): Likewise.
33277         * tests/test-rename.c (rename): Likewise.
33278         * tests/test-renameat.c (renameat): Likewise.
33279         * tests/test-rmdir.c (rmdir): Likewise.
33280         * tests/test-round1.c (round): Likewise.
33281         * tests/test-roundf1.c (roundf): Likewise.
33282         * tests/test-roundl.c (roundl): Likewise.
33283         * tests/test-setenv.c (setenv): Likewise.
33284         * tests/test-sigaction.c (sigaction): Likewise.
33285         * tests/test-sleep.c (sleep): Likewise.
33286         * tests/test-snprintf.c (snprintf): Likewise.
33287         * tests/test-sprintf-posix.c (sprintf): Likewise.
33288         * tests/test-stat.c (stat): Likewise.
33289         * tests/test-stpncpy.c (stpncpy): Likewise.
33290         * tests/test-strcasestr.c (strcasestr): Likewise.
33291         * tests/test-strchrnul.c (strchrnul): Likewise.
33292         * tests/test-strerror.c (strerror): Likewise.
33293         * tests/test-strsignal.c (strsignal): Likewise.
33294         * tests/test-strstr.c (strstr): Likewise.
33295         * tests/test-strtod.c (strtod): Likewise.
33296         * tests/test-strverscmp.c (strverscmp): Likewise.
33297         * tests/test-symlink.c (symlink): Likewise.
33298         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
33299         * tests/test-times.c (times): Likewise.
33300         * tests/test-trunc1.c (trunc): Likewise.
33301         * tests/test-truncf1.c (truncf): Likewise.
33302         * tests/test-truncl.c (truncl): Likewise.
33303         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
33304         Likewise.
33305         * tests/test-uname.c (uname): Likewise.
33306         * tests/test-unlink.c (unlink): Likewise.
33307         * tests/test-unlinkat.c (unlinkat): Likewise.
33308         * tests/test-unsetenv.c (unsetenv): Likewise.
33309         * tests/test-usleep.c (usleep): Likewise.
33310         * tests/test-utimensat.c (utimensat): Likewise.
33311         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
33312         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
33313         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
33314         * tests/test-vprintf-posix.c (vprintf): Likewise.
33315         * tests/test-vsnprintf.c (vsnprintf): Likewise.
33316         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
33317         * tests/test-wcrtomb.c (wcrtomb): Likewise.
33318         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
33319         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
33320         * tests/test-wcwidth.c (wcwidth): Likewise.
33321
33322         build: pull in conditional headers during GNULIB_POSIXCHECK
33323         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
33324         definitions from any conditionally-included headers.
33325         * lib/stdlib.in.h (includes): Likewise.
33326         * lib/unistd.in.h (includes): Likewise.
33327
33328 2009-12-24  Bruno Haible  <bruno@clisp.org>
33329
33330         * tests/test-argv-iter.c: Include header file being tested immediately
33331         after config.h.
33332         * tests/test-base64.c: Likewise.
33333         * tests/test-flock.c: Likewise.
33334         * tests/test-fsync.c: Likewise.
33335         * tests/test-getdate.c: Likewise.
33336         * tests/test-getndelim2.c: Likewise.
33337         * tests/test-isfinite.c: Likewise.
33338         * tests/test-isinf.c: Likewise.
33339         * tests/test-strerror.c: Likewise.
33340         * tests/test-strsignal.c: Likewise.
33341
33342 2009-12-23  Eric Blake  <ebb9@byu.net>
33343
33344         unistd: work around cygwin bug
33345         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
33346         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
33347         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
33348
33349 2009-12-23  Bruno Haible  <bruno@clisp.org>
33350
33351         localename: More tests.
33352         * tests/test-localename.c (SIZEOF): New macro.
33353         (categories): New variable.
33354         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
33355         test_locale_name_default): Add test w.r.t. thread locale.
33356         (test_locale_name_thread): New function.
33357         (main): Invoke it.
33358
33359         localename: Make aware of thread locale.
33360         * lib/localename.h (gl_locale_name_thread): New declaration.
33361         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
33362         behaviour with respect to thread locale.
33363         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
33364         <langinfo.h>, glthread/lock.h.
33365         (SIZE_BITS): New macro.
33366         (string_hash): New function.
33367         (struct hash_node): New type.
33368         (HASH_TABLE_SIZE): New macro.
33369         (struniq_hash_table, struniq_lock): New variables.
33370         (struniq): New function.
33371         (gl_locale_name_thread): New function.
33372         (gl_locale_name): Invoke it.
33373         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
33374         * modules/localename (Depends-on): Add lock.
33375         Reported by Mike Gran <spk121@yahoo.com>.
33376
33377 2009-12-23  Eric Blake  <ebb9@byu.net>
33378
33379         va-args: new module
33380         * modules/va-args: New file.
33381         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
33382         * MODULES.html.sh (Core language properties): Mention it.
33383
33384         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
33385         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
33386         named alias for __attribute__((__unused__)).
33387         * lib/chown.c: Update client.
33388         * lib/fchmodat.c: Likewise.
33389         * lib/fts.c: Likewise.
33390         * lib/getdate.y: Likewise.
33391         * lib/getgroups.c: Likewise.
33392         * lib/getopt.c: Likewise.
33393         * lib/getugroups.c: Likewise.
33394         * lib/mkdir.c: Likewise.
33395         * lib/mkfifo.c: Likewise.
33396         * lib/mkfifoat.c: Likewise.
33397         * lib/mknod.c: Likewise.
33398         * lib/mknodat.c: Likewise.
33399         * lib/readlink.c: Likewise.
33400         * lib/se-context.in.h: Likewise.
33401         * lib/se-selinux.in.h: Likewise.
33402         * lib/sockets.c: Likewise.
33403         * lib/symlink.c: Likewise.
33404         * lib/symlinkat.c: Likewise.
33405         * lib/unicodeio.c: Likewise.
33406         * lib/unistr.h: Likewise.
33407         * tests/test-areadlink.c: Likewise.
33408         * tests/test-areadlinkat.c: Likewise.
33409         * tests/test-filenamecat.c: Likewise.
33410         * tests/test-fseeko.c: Likewise.
33411         * tests/test-ftello.c: Likewise.
33412         * tests/test-getdate.c: Likewise.
33413         * tests/test-getgroups.c: Likewise.
33414         * tests/test-gethostname.c: Likewise.
33415         * tests/test-quotearg.c: Likewise.
33416         * tests/test-version-etc.c: Likewise.
33417         * tests/test-xalloc-die.c: Likewise.
33418         * tests/test-xfprintf-posix.c: Likewise.
33419         * tests/test-xprintf-posix.c: Likewise.
33420         * tests/test-xvasprintf.c: Likewise.
33421
33422         tests: avoid compiler warnings
33423         * tests/test-fcntl.c (main): Delete unused parameters.
33424         * tests/test-freopen-safer.c (main): Likewise.
33425         * tests/test-xalloc-die.c (main): Mark unused parameters.
33426         * tests/test-fseeko.c (main): Likewise.
33427         * tests/test-ftello.c (main): Likewise.
33428         * tests/test-nanosleep.c (main): Avoid declaration warning.
33429         * tests/test-sleep.c (main): Likewise.
33430         * tests/test-unsetenv.c (main): Silence warning about string
33431         literal.
33432         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
33433
33434 2009-12-23  Bruno Haible  <bruno@clisp.org>
33435
33436         * tests/test-localename.c (test_locale_name): New function, extracted
33437         from main. Also test mixed situations.
33438         (test_locale_name_posix, test_locale_name_environ,
33439         test_locale_name_default): New functions.
33440         (main): Invoke them all.
33441         * modules/localename-tests (configure.ac): Test for newlocale.
33442
33443 2009-12-23  Bruno Haible  <bruno@clisp.org>
33444
33445         unistd: Ensure getcwd gets declared before being overridden.
33446         * lib/unistd.in.h: Conditionally include <io.h>.
33447
33448 2009-12-22  Bruno Haible  <bruno@clisp.org>
33449
33450         wchar: Diagnose broken combination of glibc and gcc versions and flags.
33451         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
33452         (gl_WCHAR_H): Invoke it.
33453         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
33454         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
33455         Reported by Karl Berry <karl@freefriends.org>.
33456
33457 2009-12-22  Eric Blake  <ebb9@byu.net>
33458
33459         math, unistd: avoid redundant includes
33460         * lib/math.in.h (isnan): No need to re-include <math.h>.
33461         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
33462
33463         getsubopt: work around cygwin bug
33464         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
33465         avoid conflicting with system getsubopt.
33466         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
33467         bug.
33468
33469         getopt: synchronize from glibc
33470         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
33471         parameter order.  Adjust all callers.
33472         (_getopt_internal_r, main): Adjust quoting in error messages.
33473         Drop considerations for outdated POSIX 1003.2 error message.
33474         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
33475         callers.
33476         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
33477
33478         test-getopt: test stderr behavior
33479         * modules/getopt-posix-tests (Depends-on): Add dup2.
33480         * tests/test-getopt.c (ASSERT): Avoid stderr.
33481         (main): Move stderr to a temporary file.
33482         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
33483         Instead, add parameter to inform caller if output occurred.
33484         (test_getopt): Adjust all existing tests to expect silence, and
33485         add new tests of leading ":".
33486         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
33487         glibc shortcomings with leading "-:" or "+:" in optstring.
33488         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33489         Likewise.
33490         * doc/posix-functions/getopt.texi (getopt): Likewise.
33491
33492         test-getopt: enhance test
33493         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
33494         supports optind=0.
33495         * tests/test-getopt.c (OPTIND_MIN): Move...
33496         * tests/test-getopt.h (OPTIND_MIN): ...here.
33497         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
33498         Require that optind=0 works, since modern BSD supports it in
33499         addition to optreset, and since coreutils expects it.
33500         (test_getopt_long_only): New test.
33501         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
33502         glibc shortcomings with 'W;', and enforcement of optind=0.
33503         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33504         Likewise.
33505
33506 2009-12-21  Bruno Haible  <bruno@clisp.org>
33507
33508         localename: Improvements for MacOS X and Cygwin.
33509         * lib/localename.h (gl_locale_name_environ): New declaration.
33510         * lib/localename.c (gl_locale_name_environ): New function, extracted from
33511         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
33512         (gl_locale_name_posix): Invoke it.
33513         (gl_locale_name_default): Add comments. Use Windows native API also on
33514         Cygwin.
33515
33516 2009-12-21  Bruno Haible  <bruno@clisp.org>
33517
33518         Update list of Win32 locale ids.
33519         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
33520         (LANG_SAMI): Renamed from LANG_SAAMI.
33521         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
33522         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
33523         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
33524         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
33525         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
33526         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
33527         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
33528         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
33529         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
33530         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
33531         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
33532         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
33533         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
33534         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
33535         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
33536         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
33537         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
33538         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
33539         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
33540         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
33541         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
33542         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
33543         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
33544         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
33545         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
33546         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
33547         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
33548         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
33549         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
33550         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
33551         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
33552         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
33553         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
33554         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
33555         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
33556         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
33557         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
33558         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
33559         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
33560         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
33561         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
33562         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
33563         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
33564         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
33565         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
33566         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
33567         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
33568         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
33569         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
33570         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
33571         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
33572         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
33573         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
33574         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
33575         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
33576         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
33577         Add more languages and countries for Sami, Sorbian. Add more countries
33578         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
33579         for Pashto. Change country for Syriac, Tswana.
33580
33581 2009-12-21  Eric Blake  <ebb9@byu.net>
33582
33583         test-utimens: avoid spurious failure
33584         * tests/test-chown.h (nap): Factor...
33585         * tests/nap.h: ...into new file.
33586         * tests/test-lchown.h (nap): Avoid duplication.
33587         * tests/test-utimens-common.h (nap): Use shared implementation,
33588         necessary on file systems with 1-second resolution.
33589         * modules/chown-tests (Files): Include new file.
33590         * modules/fdutimensat-tests (Files): Likewise.
33591         * modules/futimens-tests (Files): Likewise.
33592         * modules/lchown-tests (Files): Likewise.
33593         * modules/openat-tests (Files): Likewise.
33594         * modules/utimens-tests (Files): Likewise.
33595         * modules/utimensat-tests (Files): Likewise.
33596
33597 2009-12-19  Eric Blake  <ebb9@byu.net>
33598
33599         futimens, utimensat: work around Linux bug
33600         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
33601         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33602         * lib/utimensat.c (rpl_utimensat): Work around it.
33603         * lib/futimens.c (rpl_futimens): Adjust comment.
33604
33605         utimens: work around Linux ctime bug
33606         * lib/utimens.c (detect_ctime_bug): New helper function.
33607         (update_timespec): Differentiate between workaround needed for
33608         this bug vs. what is needed for systems that lack utimensat.
33609         (fdutimens, lutimens): Work around bug.
33610
33611         utimens: check for ctime update
33612         * tests/test-utimens-common.h (check_ctime): Define.
33613         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
33614         * tests/test-futimens.h (test_futimens): Likewise.
33615         * tests/test-lutimens.h (test_lutimens): Likewise.
33616         * doc/posix-functions/futimens.texi (futimens): Document the bug.
33617         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33618
33619 2009-12-19  Bruno Haible  <bruno@clisp.org>
33620
33621         dprintf-posix: Check against memory leak fixed on 2009-12-15.
33622         * tests/test-dprintf-posix2.sh: New file.
33623         * tests/test-dprintf-posix2.c: New file.
33624         * modules/dprintf-posix-tests (Files): Add them.
33625         (configure.ac): Check for getrlimit and setrlimit.
33626         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
33627
33628 2009-12-19  Bruno Haible  <bruno@clisp.org>
33629
33630         fprintf-posix: Check against memory leak fixed on 2009-12-15.
33631         * tests/test-fprintf-posix3.sh: New file.
33632         * tests/test-fprintf-posix3.c: New file.
33633         * modules/fprintf-posix-tests (Files): Add them.
33634         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
33635
33636 2009-12-19  Eric Blake  <ebb9@byu.net>
33637
33638         dirfd: fix prototype
33639         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
33640         * lib/dirfd.c (dirfd): Likewise.
33641
33642         canonicalize: reduce memory usage
33643         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
33644         allocation to size.
33645         Reported by Solar Designer <solar@openwall.com>.
33646
33647 2009-12-19  Bruno Haible  <bruno@clisp.org>
33648
33649         New module attribute 'Applicability'.
33650         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
33651         * gnulib-tool: New option --extract-applicability.
33652         (func_usage): Document it.
33653         (sed_extract_prog): Recognize it.
33654         (func_get_applicability): New function.
33655         (func_import): Generalize handling of 'link-warning' module.
33656         * modules/link-warning (Applicability): New section.
33657         * modules/arg-nonnull (Applicability): New section.
33658         Repoted by Simon Josefsson <simon@josefsson.org>.
33659
33660 2009-12-19  Bruno Haible  <bruno@clisp.org>
33661
33662         fflush: tweak
33663         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
33664         * lib/fseeko.c (rpl_fseeko): Likewise.
33665
33666 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
33667
33668         * lib/gl_list.h: Fix typo in comment.
33669
33670 2009-12-16  Eric Blake  <ebb9@byu.net>
33671
33672         fcntl: use to simplify other modules
33673         * modules/cloexec (Depends-on): Add fcntl.
33674         * modules/fchdir (Depends-on): Likewise.
33675         * modules/fd-safer-flag (Depends-on): Likewise.
33676         * modules/unistd-safer (Depends-on): Likewise.
33677         * modules/dup3 (configure.ac): Set module indicator.
33678         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
33679         missing.
33680         * lib/fchdir.c (_gl_register_dup): Fix comment.
33681         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
33682         * lib/dup-safer.c (dup_safer): Likewise.
33683         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
33684         * lib/dup3.c (dup3): Likewise.
33685         * tests/test-fchdir.c (main): Enhance test.
33686         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
33687
33688         fcntl: port portions of fcntl to mingw
33689         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
33690         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
33691         replacement for mingw.
33692         * modules/fcntl (Description): Update.
33693         (Depends-on): Add dup2.
33694         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
33695         * modules/fcntl-h (Makefile.am): Substitute it.
33696         * lib/fcntl.in.h (fcntl): Update declaration.
33697         (F_DUPFD, F_GETFD): New macros, when needed.
33698         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
33699         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
33700         * tests/test-fcntl.c (check_flags, main): Enhance test for items
33701         we now guarantee.
33702
33703         fcntl: work around cygwin bug in F_DUPFD
33704         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
33705         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
33706         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
33707         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
33708         * doc/posix-functions/fcntl.texi (fcntl): Document it.
33709
33710         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
33711         * modules/fcntl (Files): List new files.
33712         (configure.ac): Run a test.
33713         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
33714         * lib/fcntl.c (rpl_fcntl): Likewise.
33715         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
33716         (gl_FCNTL_H): Always replace fcntl.h.
33717         * modules/fcntl-h (Makefile.am): Substitute witnesses.
33718         * lib/fcntl.in.h (fcntl): Declare replacement.
33719         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
33720         needed, plus a witness.
33721         * doc/posix-functions/fcntl.texi (fcntl): Document this.
33722         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
33723         * tests/test-fcntl.c: New file.
33724         * modules/fcntl-tests: Likewise.
33725
33726         binary-io: avoid potential compilation warning
33727         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
33728         directives.
33729
33730         fflush: avoid compilation error on NetBSD
33731         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
33732         between off_t and fpos_t, since the latter is sometimes a struct.
33733         * lib/fseeko.c (rpl_fseeko): Likewise.
33734         Reported by Alexander Nasonov <alnsn@yandex.ru>.
33735
33736 2009-12-15  Eric Blake  <ebb9@byu.net>
33737
33738         fcntl-h, stdio, sys_ioctl: fix declarations
33739         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
33740         function must not take arguments.
33741         * lib/sys_ioctl.in.h (ioctl): Likewise.
33742         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
33743         (open): Add a link warning.
33744
33745 2009-12-15  Jim Meyering  <meyering@redhat.com>
33746
33747         areadlink, areadlink-with-size: relax license to LGPLv2+
33748         * modules/areadlink (License): Relax to LGPLv2+.
33749         * modules/areadlink-with-size (License): Likewise.
33750
33751 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
33752             Bruno Haible  <bruno@clisp.org>
33753
33754         *printf: Fix memory leak.
33755         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
33756         * lib/vfprintf.c (vfprintf): Likewise.
33757         * lib/dprintf.c (dprintf): Likewise.
33758         * lib/vdprintf.c (vdprintf): Likewise.
33759
33760 2009-12-14  Eric Blake  <ebb9@byu.net>
33761
33762         accept4: adjust module dependencies
33763         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
33764
33765         utimens: one more try at avoiding compiler warning
33766         * lib/utimens.c (lutimens): Lower scope of result.
33767
33768 2009-12-13  Bruno Haible  <bruno@clisp.org>
33769
33770         Move the malloc checking from module 'list' to new module 'xlist'.
33771         * modules/xlist: New file.
33772         * lib/gl_xlist.h: New file.
33773         * lib/gl_xlist.c: New file.
33774         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
33775         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
33776         gl_list_add_last, gl_list_add_before, gl_list_add_after,
33777         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
33778         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
33779         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
33780         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
33781         gl_sortedlist_nx_add): New declarations.
33782         (struct gl_list_implementation): Rename and change methods accordingly.
33783         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
33784         (gl_list_nx_create): Renamed from gl_list_create.
33785         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
33786         (gl_list_nx_set_at): Renamed from gl_list_set_at.
33787         (gl_list_nx_add_first): Renamed from gl_list_add_first.
33788         (gl_list_nx_add_last): Renamed from gl_list_add_last.
33789         (gl_list_nx_add_before): Renamed from gl_list_add_before.
33790         (gl_list_nx_add_after): Renamed from gl_list_add_after.
33791         (gl_list_nx_add_at): Renamed from gl_list_add_at.
33792         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
33793         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
33794         gl_list_create_empty.
33795         (gl_list_nx_create): Renamed from gl_list_create.
33796         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
33797         (gl_list_nx_set_at): Renamed from gl_list_set_at.
33798         (gl_list_nx_add_first): Renamed from gl_list_add_first.
33799         (gl_list_nx_add_last): Renamed from gl_list_add_last.
33800         (gl_list_nx_add_before): Renamed from gl_list_add_before.
33801         (gl_list_nx_add_after): Renamed from gl_list_add_after.
33802         (gl_list_nx_add_at): Renamed from gl_list_add_at.
33803         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
33804         * lib/gl_array_list.c: Don't include xalloc.h.
33805         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
33806         NULL upon out-of-memory.
33807         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
33808         out-of-memory.
33809         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
33810         Change return type to 'int'.
33811         (gl_array_nx_set_at): Renamed from gl_array_set_at.
33812         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
33813         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
33814         upon out-of-memory.
33815         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
33816         upon out-of-memory.
33817         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
33818         upon out-of-memory.
33819         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
33820         upon out-of-memory.
33821         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
33822         out-of-memory.
33823         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
33824         Update.
33825         (gl_array_list_implementation): Update.
33826         * lib/gl_carray_list.c: Don't include xalloc.h.
33827         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
33828         Return NULL upon out-of-memory.
33829         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
33830         out-of-memory.
33831         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
33832         Change return type to 'int'.
33833         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
33834         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
33835         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
33836         upon out-of-memory.
33837         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
33838         upon out-of-memory.
33839         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
33840         out-of-memory.
33841         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
33842         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
33843         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
33844         Update.
33845         (gl_carray_list_implementation): Update.
33846         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
33847         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
33848         gl_linked_create_empty. Return NULL upon out-of-memory.
33849         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
33850         out-of-memory.
33851         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
33852         Change return type to 'int'. Return -1 upon out-of-memory.
33853         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
33854         out-of-memory.
33855         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
33856         upon out-of-memory.
33857         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
33858         upon out-of-memory.
33859         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
33860         NULL upon out-of-memory.
33861         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
33862         upon out-of-memory.
33863         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
33864         out-of-memory.
33865         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
33866         Update.
33867         * lib/gl_linked_list.c: Don't include xalloc.h.
33868         (gl_linked_list_implementation): Update.
33869         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
33870         (add_to_bucket): Change return type to 'int'.
33871         (gl_linkedhash_list_implementation): Update.
33872         * lib/gl_anytree_list1.h (free_subtree): New function.
33873         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
33874         gl_tree_create_empty. Return NULL upon out-of-memory.
33875         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
33876         Change return type to 'int'. Return -1 upon out-of-memory.
33877         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
33878         out-of-memory.
33879         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
33880         (gl_tree_remove_node): New function, moved here from
33881         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
33882         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
33883         Update.
33884         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
33885         malloc, not xmalloc. Return NULL upon out-of-memory.
33886         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
33887         out-of-memory.
33888         (gl_tree_remove_node_from_tree): New function, extracted from
33889         gl_tree_remove_node.
33890         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
33891         upon out-of-memory.
33892         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
33893         out-of-memory.
33894         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
33895         upon out-of-memory.
33896         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
33897         upon out-of-memory.
33898         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
33899         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
33900         not xmalloc. Return NULL upon out-of-memory.
33901         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
33902         out-of-memory.
33903         (gl_tree_remove_node_from_tree): New function, extracted from
33904         gl_tree_remove_node.
33905         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
33906         upon out-of-memory.
33907         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
33908         out-of-memory.
33909         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
33910         upon out-of-memory.
33911         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
33912         upon out-of-memory.
33913         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
33914         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
33915         gl_anytree_list1.h before gl_anyavltree_list2.h.
33916         (gl_avltree_list_implementation): Update.
33917         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
33918         gl_anytree_list1.h before gl_anyavltree_list2.h.
33919         (gl_rbtree_list_implementation): Update.
33920         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
33921         Change return type to 'int'. Return -1 upon out-of-memory. Use
33922         __builtin_expect.
33923         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
33924         (gl_avltreehash_list_implementation): Update.
33925         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
33926         (gl_rbtreehash_list_implementation): Update.
33927         * modules/array-list (Depends-on): Remove xalloc.
33928         * modules/carray-list (Depends-on): Likewise.
33929         * modules/linked-list (Depends-on): Likewise.
33930         * modules/linkedhash-list (Depends-on): Likewise.
33931         * modules/avltree-list (Depends-on): Likewise.
33932         * modules/rbtree-list (Depends-on): Likewise.
33933         * modules/avltreehash-list (Depends-on): Likewise.
33934         * modules/rbtreehash-list (Depends-on): Likewise.
33935
33936         * modules/xsublist: New file.
33937         * lib/gl_xsublist.h: New file.
33938         * lib/gl_xsublist.c: New file.
33939         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
33940         (gl_sublist_nx_create): New declaration.
33941         * lib/gl_sublist.c: Don't include xalloc.h.
33942         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
33943         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
33944         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
33945         Change return type to 'int'. Return -1 upon out-of-memory.
33946         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
33947         upon out-of-memory.
33948         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
33949         NULL upon out-of-memory.
33950         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
33951         upon out-of-memory.
33952         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
33953         NULL upon out-of-memory.
33954         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
33955         NULL upon out-of-memory.
33956         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
33957         upon out-of-memory.
33958         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
33959         (gl_sublist_list_implementation): Update.
33960         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
33961         upon out-of-memory.
33962         * modules/sublist (Depends-on): Remove xalloc.
33963
33964         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
33965         * tests/test-carray_list.c: Likewise.
33966         * tests/test-linked_list.c: Likewise.
33967         * tests/test-linkedhash_list.c: Likewise.
33968         * tests/test-avltree_list.c: Likewise.
33969         * tests/test-rbtree_list.c: Likewise.
33970         * tests/test-avltreehash_list.c: Likewise.
33971         * tests/test-rbtreehash_list.c: Likewise.
33972         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
33973         * modules/carray-list-tests (Makefile.am): Likewise.
33974         * modules/linked-list-tests (Makefile.am): Likewise.
33975         * modules/linkedhash-list-tests (Makefile.am): Likewise.
33976         * modules/avltree-list-tests (Makefile.am): Likewise.
33977         * modules/rbtree-list-tests (Makefile.am): Likewise.
33978         * modules/avltreehash-list-tests (Makefile.am): Likewise.
33979         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
33980
33981         * NEWS: Mention the changes.
33982
33983         * lib/clean-temp.c: Include gl_xlist.h.
33984         * modules/clean-temp (Depends-on): Add xlist.
33985
33986         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
33987         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
33988
33989         * tests/test-array_oset.c: Include gl_xlist.h.
33990         * modules/array-oset-tests (Depends-on): Add xlist.
33991
33992         Reported by José E. Marchesi <jemarch@gnu.org>.
33993
33994 2009-12-13  Bruno Haible  <bruno@clisp.org>
33995
33996         Move the malloc checking from module 'oset' to new module 'xoset'.
33997         * modules/xoset: New file.
33998         * lib/gl_xoset.h: New file.
33999         * lib/gl_xoset.c: New file.
34000         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
34001         declarations.
34002         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
34003         (struct gl_oset_implementation): Rename and change methods accordingly.
34004         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
34005         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
34006         'int'. Mark as __warn_unused_result__.
34007         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
34008         gl_oset_create_empty.
34009         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
34010         'int'.
34011         * lib/gl_array_oset.c: Don't include xalloc.h.
34012         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
34013         malloc, not xmalloc.
34014         (grow): Change return type to 'int'. Don't call xalloc_die.
34015         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
34016         to 'int'.
34017         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
34018         'int'.
34019         (gl_array_oset_implementation): Update.
34020         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
34021         gl_tree_create_empty.
34022         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
34023         'int'.
34024         * lib/gl_avltree_oset.c: Don't include xalloc.h.
34025         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
34026         xmalloc.
34027         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
34028         not xmalloc.
34029         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
34030         xmalloc.
34031         (gl_avltree_oset_implementation): Update.
34032         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
34033         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
34034         xmalloc.
34035         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
34036         not xmalloc.
34037         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
34038         xmalloc.
34039         (gl_rbtree_oset_implementation): Update.
34040         * modules/array-oset (Depends-on): Remove xalloc.
34041         * modules/avltree-oset (Depends-on): Likewise.
34042         * modules/rbtree-oset (Depends-on): Likewise.
34043         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
34044         * tests/test-avltree_oset.c: Likewise.
34045         * tests/test-rbtree_oset.c: Likewise.
34046         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
34047         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
34048         * modules/rbtree-oset-tests (Makefile.am): Likewise.
34049         * NEWS: Mention the change.
34050
34051 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
34052
34053         maint.mk: allow a project to override release-prep commands
34054         * top/maint.mk (alpha, beta, stable): Move release-preparatory
34055         commands into a new rule.
34056         (release-prep): New rule.
34057         (release-prep-hook): New overridable variable.
34058
34059 2009-12-13  Bruno Haible  <bruno@clisp.org>
34060
34061         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
34062
34063 2009-12-13  Jim Meyering  <meyering@redhat.com>
34064
34065         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
34066         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
34067
34068 2009-12-12  Bruno Haible  <bruno@clisp.org>
34069
34070         duplocale: Tweak.
34071         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
34072
34073 2009-12-12  Karl Berry  <karl@gnu.org>
34074
34075         * config/srclist.txt (strtoll.c): tab changes, no more sync.
34076
34077 2009-12-12  Bruno Haible  <bruno@clisp.org>
34078
34079         * m4/po.m4: Undo incorrect untabification.
34080
34081 2009-12-12  Bruno Haible  <bruno@clisp.org>
34082
34083         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
34084         * modules/c-strtod (Depends-on): Add locale.
34085         * modules/c-strtold (Depends-on): Likewise.
34086
34087 2009-12-12  Bruno Haible  <bruno@clisp.org>
34088
34089         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
34090
34091 2009-12-11  Eric Blake  <ebb9@byu.net>
34092
34093         setenv: relax requirement in light of POSIX ruling
34094         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
34095         not NULL.
34096         * tests/test-setenv.c (main): Relax test.
34097         * tests/test-unsetenv.c (main): Likewise.
34098         * doc/posix-functions/setenv.texi (setenv): Document this.
34099         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
34100
34101 2009-12-11  Bruno Haible  <bruno@clisp.org>
34102
34103         New module 'fd-safer-flag'.
34104         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
34105         * lib/dup-safer.c (dup_safer_flag): Remove function.
34106         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
34107         * lib/fd-safer.c (fd_safer_flag): Remove function.
34108         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
34109         * modules/cloexec (configure.ac): Drop indicator macro.
34110         * modules/fd-safer-flag: New file.
34111         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
34112         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
34113         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
34114
34115 2009-12-11  Bruno Haible  <bruno@clisp.org>
34116
34117         Tests for module 'nl_langinfo'.
34118         * modules/nl_langinfo-tests: New file.
34119         * tests/test-nl_langinfo.sh: New file.
34120         * tests/test-nl_langinfo.c: New file.
34121
34122         New module 'nl_langinfo'.
34123         * lib/nl_langinfo.c: New file.
34124         * m4/nl_langinfo.m4: New file.
34125         * modules/nl_langinfo: New file.
34126         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
34127
34128 2009-12-11  Bruno Haible  <bruno@clisp.org>
34129
34130         Tests for module 'langinfo'.
34131         * modules/langinfo-tests: New file.
34132         * tests/test-langinfo.c: New file.
34133
34134         New module 'langinfo'.
34135         * lib/langinfo.in.h: New file.
34136         * m4/langinfo_h.m4: New file.
34137         * modules/langinfo: New file.
34138         * doc/posix-headers/langinfo.texi: Mention the new module.
34139
34140 2009-12-11  Bruno Haible  <bruno@clisp.org>
34141
34142         * lib/config.charset: Untabify.
34143
34144 2009-12-11  Bruno Haible  <bruno@clisp.org>
34145
34146         * modules/unistd-safer (configure.ac): Drop indicator macro.
34147
34148 2009-12-11  Bruno Haible  <bruno@clisp.org>
34149
34150         Move pipe2-safer code to its own file.
34151         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
34152         * lib/pipe-safer.c (pipe2_safer): Remove function.
34153         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
34154         (Makefile.am): Add it to lib_SOURCES.
34155
34156 2009-12-10  Bruno Haible  <bruno@clisp.org>
34157
34158         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
34159
34160 2009-12-10  Bruno Haible  <bruno@clisp.org>
34161
34162         Declare which arguments expect non-NULL values, for GCC and clang.
34163         * build-aux/arg-nonnull.h: New file.
34164         * modules/arg-nonnull: New file.
34165         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
34166         (inet_ntop, inet_pton): Use it.
34167         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
34168         (closedir, dirfd, opendir, scandir, alphasort): Use it.
34169         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
34170         (open, openat): Use it.
34171         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
34172         (fnmatch): Use it.
34173         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
34174         (getopt, getopt_long, getopt_long_only): Use it.
34175         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
34176         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
34177         Use it.
34178         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
34179         (iconv_open): Use it.
34180         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
34181         (strtoimax, strtoumax): Use it.
34182         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
34183         (duplocale): Use it.
34184         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
34185         (frexp, frexpl): Use it.
34186         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
34187         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
34188         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
34189         (tsearch, tfind, tdelete, twalk): Use it.
34190         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
34191         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
34192         sigpending): Use it.
34193         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
34194         (posix_spawn, posix_spawnp, posix_spawnattr_init,
34195         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
34196         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
34197         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
34198         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
34199         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
34200         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
34201         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
34202         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
34203         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
34204         Use it.
34205         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
34206         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
34207         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
34208         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
34209         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
34210         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
34211         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
34212         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
34213         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
34214         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
34215         strtoull, unsetenv): Use it.
34216         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
34217         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
34218         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
34219         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
34220         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
34221         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
34222         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
34223         (strcasecmp, strncasecmp): Use it.
34224         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
34225         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
34226         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
34227         rpl_setsockopt): Use it.
34228         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
34229         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
34230         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
34231         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
34232         (gettimeofday): Use it.
34233         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
34234         (times): Use it.
34235         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
34236         (uname): Use it.
34237         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
34238         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
34239         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
34240         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
34241         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
34242         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
34243         unlinkat, write): Use it.
34244         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
34245         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
34246         * lib/argv-iter.h: Include arg-nonnull.h.
34247         (_ATTRIBUTE_NONNULL_): Remove macro.
34248         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
34249         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
34250         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
34251         optimization.
34252         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
34253         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
34254         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
34255         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
34256         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
34257         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
34258         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
34259         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
34260         * modules/arpa_inet (Depends-on): Add arg-nonnull.
34261         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
34262         * modules/dirent (Depends-on): Add arg-nonnull.
34263         (Makefile.am): Insert arg-nonnull.h into dirent.h.
34264         * modules/fcntl-h (Depends-on): Add arg-nonnull.
34265         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
34266         * modules/fnmatch (Depends-on): Add arg-nonnull.
34267         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
34268         * modules/getopt-posix (Depends-on): Add arg-nonnull.
34269         (Makefile.am): Insert arg-nonnull.h into getopt.h.
34270         * modules/glob (Depends-on): Add arg-nonnull.
34271         (Makefile.am): Insert arg-nonnull.h into glob.h.
34272         * modules/iconv_open (Depends-on): Add arg-nonnull.
34273         (Makefile.am): Insert arg-nonnull.h into iconv.h.
34274         * modules/inttypes (Depends-on): Add arg-nonnull.
34275         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
34276         * modules/locale (Depends-on): Add arg-nonnull.
34277         (Makefile.am): Insert arg-nonnull.h into locale.h.
34278         * modules/math (Depends-on): Add arg-nonnull.
34279         (Makefile.am): Insert arg-nonnull.h into math.h.
34280         * modules/netdb (Depends-on): Add arg-nonnull.
34281         (Makefile.am): Insert arg-nonnull.h into netdb.h.
34282         * modules/search (Depends-on): Add arg-nonnull.
34283         (Makefile.am): Insert arg-nonnull.h into search.h.
34284         * modules/signal (Depends-on): Add arg-nonnull.
34285         (Makefile.am): Insert arg-nonnull.h into signal.h.
34286         * modules/spawn (Depends-on): Add arg-nonnull.
34287         (Makefile.am): Insert arg-nonnull.h into spawn.h.
34288         * modules/stdio (Depends-on): Add arg-nonnull.
34289         (Makefile.am): Insert arg-nonnull.h into stdio.h.
34290         * modules/stdlib (Depends-on): Add arg-nonnull.
34291         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
34292         * modules/string (Depends-on): Add arg-nonnull.
34293         (Makefile.am): Insert arg-nonnull.h into string.h.
34294         * modules/strings (Depends-on): Add arg-nonnull.
34295         (Makefile.am): Insert arg-nonnull.h into strings.h.
34296         * modules/sys_socket (Depends-on): Add arg-nonnull.
34297         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
34298         * modules/sys_stat (Depends-on): Add arg-nonnull.
34299         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
34300         * modules/sys_time (Depends-on): Add arg-nonnull.
34301         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
34302         * modules/sys_times (Depends-on): Add arg-nonnull.
34303         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
34304         * modules/sys_utsname (Depends-on): Add arg-nonnull.
34305         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
34306         * modules/time (Depends-on): Add arg-nonnull.
34307         (Makefile.am): Insert arg-nonnull.h into time.h.
34308         * modules/unistd (Depends-on): Add arg-nonnull.
34309         (Makefile.am): Insert arg-nonnull.h into unistd.h.
34310         * modules/wchar (Depends-on): Add arg-nonnull.
34311         (Makefile.am): Insert arg-nonnull.h into wchar.h.
34312         * modules/argv-iter (Depends-on): Add arg-nonnull.
34313         * tests/test-canonicalize.c (null_ptr): New function.
34314         (main): Use it.
34315         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
34316         (main): Use it.
34317         * tests/test-memmem.c (null_ptr): New function.
34318         (main): Use it.
34319         Reported by Jim Meyering.
34320
34321 2009-12-10  Bruno Haible  <bruno@clisp.org>
34322
34323         Use spaces for indentation, not tabs.
34324         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
34325         * m4/*.m4: Untabify.
34326         * build-aux/*.h: Untabify.
34327         * tests/**/*.[hc]: Untabify.
34328         * README: New section "Indent with spaces, not TABs", based on
34329         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
34330         * NEWS: Mention the change.
34331
34332 2009-12-10  Bruno Haible  <bruno@clisp.org>
34333
34334         pty test: Fix link error.
34335         * modules/pty-tests (Makefile.am): Add the default LDADD value to
34336         test_pty_LDADD.
34337
34338 2009-12-07  Simon Josefsson  <simon@josefsson.org>
34339
34340         * modules/pty: New file.
34341         * modules/pty-tests: New file.
34342         * m4/pty.m4: New file.
34343         * tests/test-pty.c: New file.
34344         * doc/glibc-headers/pty.texi: Modified.
34345         * doc/glibc-functions/forkpty.texi: Modified.
34346         * doc/glibc-functions/openpty.texi: Modified.
34347
34348 2009-12-10  Bruno Haible  <bruno@clisp.org>
34349
34350         Avoid syntax error in C++ mode.
34351         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
34352
34353 2009-12-10  Bruno Haible  <bruno@clisp.org>
34354
34355         Use sed with option -e.
34356         * gnulib-tool (func_version, func_emit_copyright_notice,
34357         func_emit_initmacro_end, func_import, func_create_testdir): Pass
34358         option -e to sed.
34359         * modules/link-warning (Makefile.am): Likewise.
34360
34361 2009-12-10  Jim Meyering  <meyering@redhat.com>
34362
34363         mgetgroups: do not write bytes beyond end of malloc'd buffer
34364         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
34365         username, we call getgroups with a one-element-shorter buffer,
34366         but still told it the length was original, max_n_groups.
34367
34368 2009-12-09  Eric Blake  <ebb9@byu.net>
34369
34370         cloexec: relax license
34371         * modules/cloexec (Maintainer): Add myself.
34372         (License): Use LGPL, not GPL.
34373
34374         link-warning: optimize generation
34375         * modules/link-warning (Makefile.am): Reduce process usage.
34376
34377 2009-12-09  Bruno Haible  <bruno@clisp.org>
34378
34379         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
34380         workaround was added on 2009-11-17.
34381
34382 2009-12-09  Jim Meyering  <meyering@redhat.com>
34383             Bruno Haible  <bruno@clisp.org>
34384
34385         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
34386         * modules/link-warning (Makefile.am): Make the comment-removing sed
34387         command more robust in the face of bootstrap-prepended comment lines.
34388
34389 2009-12-09  Bruno Haible  <bruno@clisp.org>
34390
34391         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
34392         most one group.
34393
34394 2009-12-09  Simon Josefsson <simon@josefsson.org>
34395             Bruno Haible  <bruno@clisp.org>
34396
34397         * build-aux/link-warning.h: Add copyright notice.
34398         * modules/link-warning (Makefile.am): Generate link-warning.h from
34399         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
34400         * NEWS: Mention change in link-warning module.
34401         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
34402         * modules/dirent (Makefile.am): Add dependency to dirent.h.
34403         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
34404         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
34405         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
34406         * modules/math (Makefile.am): Add dependency to math.h.
34407         * modules/search (Makefile.am): Add dependency to search.h.
34408         * modules/signal (Makefile.am): Add dependency to signal.h.
34409         * modules/spawn (Makefile.am): Add dependency to spawn.h.
34410         * modules/stdio (Makefile.am): Add dependency to stdio.h.
34411         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
34412         * modules/string (Makefile.am): Add dependency to string.h.
34413         * modules/strings (Makefile.am): Add dependency to strings.h.
34414         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
34415         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
34416         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
34417         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
34418         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
34419         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
34420         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
34421         * modules/unistd (Makefile.am): Add dependency to unistd.h.
34422         * modules/wchar (Makefile.am): Add dependency to wchar.h.
34423
34424 2009-12-09  Bruno Haible  <bruno@clisp.org>
34425
34426         fchdir: Optimize away rpl_fstat when possible.
34427         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
34428         REPLACE_OPEN_DIRECTORY.
34429         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
34430
34431 2009-12-09  Bruno Haible  <bruno@clisp.org>
34432
34433         * lib/fchdir.c: Update comment.
34434
34435 2009-12-09  Bruno Haible  <bruno@clisp.org>
34436
34437         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
34438
34439 2009-12-08  Eric Blake  <ebb9@byu.net>
34440
34441         fchdir: avoid memory leak on re-registration.
34442         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
34443
34444 2009-12-08  Jim Meyering  <meyering@redhat.com>
34445
34446         init.sh: avoid Solaris 10 /bin/sh portability problem
34447         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
34448         sourced script:
34449           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
34450           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
34451           bar
34452         tests/init.sh relied on that, accepting a --set-path=DIR argument,
34453         and two tests used that idiom.
34454         * tests/init.sh: Update suggested usage comments.
34455         (path_prepend_): New function, to be used in place
34456         of the --src-path=DIR option.
34457         (setup_): Move PATH-prepending code into path_prepend_.
34458         * tests/test-pread.sh: Adapt to new usage.
34459         * tests/test-xalloc-die.sh: Likewise.
34460
34461 2009-12-08  Simon Josefsson  <simon@josefsson.org>
34462
34463         * doc/gnulib.texi (Glibc pty.h): Add.
34464         * doc/glibc-functions/forkpty.texi: Add.
34465         * doc/glibc-functions/openpty.texi: Add.
34466         Suggested by Bruno Haible.
34467
34468 2009-12-08  Eric Blake  <ebb9@byu.net>
34469
34470         fchdir: fix logic bugs
34471         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
34472         * tests/test-fchdir.c (main): Enhance test.
34473         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
34474         is in use.
34475
34476         dup2: fix logic bugs
34477         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
34478         REPLACE_DUP2 to decide when rpl_dup2 is needed.
34479         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
34480         exists.
34481         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
34482
34483 2009-12-07  Eric Blake  <ebb9@byu.net>
34484
34485         unlink: fix m4 detection
34486         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
34487
34488         unistd-safer: add unit test
34489         * modules/unistd-safer-tests: New file.
34490         * tests/test-dup-safer.c: Likewise.
34491         * tests/test-cloexec.c (setmode): Avoid compiler warning.
34492         * tests/test-dup2.c (setmode): Likewise.
34493         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
34494
34495         cloexec: preserve text vs. binary across dup_cloexec
34496         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
34497         mode.
34498         * modules/dup2-tests (Depends-on): Add binary-io.
34499         * modules/cloexec-tests (Depends-on): Likewise.
34500         * tests/test-dup2.c (setmode, is_mode): New helpers.
34501         (main): Add tests that translation mode is preserved.
34502         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
34503         Reported by Bruno Haible.
34504
34505         mgetgroups: reduce duplicate listings
34506         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
34507         resulting array.
34508         * tests/test-chown.h (test_chown): Simplify client.
34509         * tests/test-lchown.h (test_lchown): Likewise.
34510
34511 2009-12-06  Bruno Haible  <bruno@clisp.org>
34512
34513         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
34514         value.
34515
34516 2009-12-06  Bruno Haible  <bruno@clisp.org>
34517
34518         * lib/progname.c: Include stdio.h, stdlib.h.
34519         (set_program_name): Reject a NULL argument.
34520
34521 2009-12-05  Eric Blake  <ebb9@byu.net>
34522
34523         pipe2-safer: new module
34524         * modules/pipe2-safer: New file.
34525         * lib/unistd-safer.h (pipe2_safer): New prototype.
34526         * lib/unistd--.h (pipe2): New wrapper.
34527         * lib/pipe-safer.c (pipe2_safer): New function.
34528         * modules/pipe (Depends-on): Add pipe2-safer.
34529         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
34530
34531         stdlib-safer: preserve cloexec flag for mkostemp[s]
34532         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
34533         fd_safer_flag.
34534
34535         unistd-safer: allow preservation of cloexec status via flag
34536         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
34537         prototypes.
34538         * lib/dup-safer.c (dup_safer_flag): New function.
34539         * lib/fd-safer.c (fd_safer_flag): Likewise.
34540         * modules/cloexec (configure.ac): Set witness.
34541
34542         test-dup2: enhance test
34543         * modules/dup2-tests (Depends-on): Add cloexec.
34544         * tests/test-dup2.c (main): Enhance test.
34545
34546         cloexec: add dup_cloexec
34547         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
34548         header and comments.
34549         * lib/cloexec.c (set_cloexec_flag): Add comments.
34550         (dup_cloexec): New function, with mingw implementation borrowed
34551         from...
34552         * lib/w32spawn.h (dup_noinherit): ...here.
34553         * modules/execute (Depends-on): Add cloexec.
34554         * modules/pipe (Depends-on): Likewise.
34555         * modules/cloexec (Depends-on): Add dup2.
34556         * modules/cloexec-tests (Files): New file.
34557         * tests/test-cloexec.c: Likewise.
34558
34559         test-xalloc-die: fix test for mingw
34560         * modules/xalloc-die-tests (Files): Add tests/init.sh.
34561         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
34562         directory and .exe suffix off argv[0] output.
34563
34564         test-fseeko: fix test for mingw
34565         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
34566         than undefining fseek, so test will pass on mingw.
34567
34568 2009-12-05  Bruno Haible  <bruno@clisp.org>
34569
34570         * lib/progname.h (set_program_name): Clarify specification.
34571         * lib/progname.c (set_program_name): Likewise.
34572         Reported by Jim Meyering.
34573
34574 2009-12-05  Jim Meyering  <meyering@redhat.com>
34575
34576         maint.mk: backslash-escape parens in default regexp
34577         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
34578         backslash-escape the literal parentheses.
34579
34580         maint.mk: news-date-check: use grep -E
34581         * top/maint.mk (today): Define a Make variable, not a...
34582         (news-date-check): ...shell variable.
34583         (news-date-regexp): Use the Make variable.
34584         Use grep's -E option.  Change the failing diagnostic to mention
34585         the variable, $(news-date-regexp).
34586
34587 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
34588
34589         maintainer-makefile: allow customization of NEWS entry format
34590         * top/maint.mk (news-date-regexp): New overridable variable.
34591         (news-date-check): Use it.
34592
34593 2009-12-04  Eric Blake  <ebb9@byu.net>
34594
34595         mgetgroups: add xgetgroups, and avoid ENOSYS failures
34596         * lib/mgetgroups.h (xgetgroups): New prototype.
34597         * lib/mgetgroups.c (xgetgroups): New wrapper.
34598         (mgetgroups): Handle ENOSYS.
34599         * modules/mgetgroups (Depends-on): Add realloc.
34600         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
34601
34602         mgetgroups: avoid argument promotion issues with -1
34603         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
34604         for invalid gid_t.
34605         * tests/test-chown.h (getegid, test_chown): Likewise.
34606         * tests/test-lchown.h (getegid, test_lchown): Likewise.
34607
34608 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
34609
34610         exclude: Fix header file problems.
34611         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
34612
34613 2009-12-01  Jim Meyering  <meyering@redhat.com>
34614
34615         fts: fts_open: do not let an empty string cause immediate failure
34616         This is required in support of GNU rm, for which the command
34617         "rm A '' B" must process and remove both A and B, in spite of
34618         the empty string argument.
34619         * lib/fts.c (fts_open): Do not let the presence of an empty string
34620         cause fts_open to fail immediately.  Most fts-using tools must be
34621         able to process all arguments, in order, and can be expected to
34622         diagnose such arguments themselves.
34623
34624 2009-11-30  Eric Blake  <ebb9@byu.net>
34625
34626         utimens: fix compilation error
34627         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
34628         Declare variable at right scope.
34629
34630 2009-11-29  Jim Meyering  <meyering@redhat.com>
34631
34632         bootstrap: handle perl-5.11's changed --version output
34633         * build-aux/bootstrap (get_version): Handle perl separately,
34634         since perl-5.11's --version output is different.
34635
34636 2009-11-28  Jim Meyering  <meyering@redhat.com>
34637
34638         userspec: depend on the inttostr module, too
34639         * modules/userspec (Depends-on): Add inttostr.
34640
34641         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
34642         * lib/userspec.c (parse_with_separator): Do not accept a user ID
34643         number of MAXUID when it evaluates to (uid_t) -1.
34644         Likewise for group ID.  Reported by Matt McCutchen in
34645         <http://savannah.gnu.org/bugs/?28113>
34646
34647         userspec: reformat to use spaces, not TABs
34648         * lib/userspec.c: Expand TABs to spaces.
34649         Add Emacs' "indent-tabs-mode: nil" hint.
34650
34651 2009-11-27  Eric Blake  <ebb9@byu.net>
34652
34653         getopt-gnu: flush out another BSD bug
34654         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
34655         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
34656         flush out BSD bug.
34657         * tests/test-getopt.h (test_getopt): End lists with NULL.
34658         * tests/test-getopt_long.h (test_getopt_long): Likewise.
34659         (test_getopt_long_posix): Enhance test.
34660         * modules/getopt-posix-tests (Depends-on): Add stdbool.
34661         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
34662         getopt-gnu.
34663         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34664         Likewise.
34665
34666 2009-11-27  Simon Josefsson  <simon@josefsson.org>
34667
34668         * modules/idpriv-droptemp-tests (Notice): Fix text.
34669
34670 2009-11-27  Jim Meyering  <meyering@redhat.com>
34671
34672         test-xalloc-die: avoid spurious failure due to libtool argv difference
34673         In a libtool-enabled project, this test would fail due to a difference
34674         in the emitted program name, e.g.,
34675         -test-xalloc-die: memory exhausted
34676         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
34677         Use program to avoid that.
34678         * modules/xalloc-die-tests (Depends-on): Add progname.
34679         * tests/test-xalloc-die.c: Include progname.h".
34680         (program_name): Remove decl.
34681         (main): Call set_program_name.
34682         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
34683
34684 2009-11-26  Richard Jones  <rjones@redhat.com>
34685
34686         w32sock: leave win32 error in place.
34687         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
34688
34689 2009-11-26  Eric Blake  <ebb9@byu.net>
34690
34691         init.sh: suggest to use skip_ and fail_ functions in comments
34692         * tests/init.sh: Add a sentence.
34693
34694 2009-11-25  Bruno Haible  <bruno@clisp.org>
34695
34696         init.sh: add documentation in comments
34697         * tests/init.sh: Add some developer and user documentation.
34698
34699 2009-11-26  Jim Meyering  <meyering@redhat.com>
34700
34701         init.sh: accommodate even those who specify bogus srcdir manually
34702         * tests/init.sh: Normally, srcdir is guaranteed by automake and
34703         configure-time tests to be sanitized, so that there is no need to
34704         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
34705         (with no double quotes) suffices.  However, since tests may be
34706         invoked manually, and since you may explicitly set srcdir to the
34707         name of a directory containing spaces, do quote its uses here.
34708         * tests/test-pread.sh: Likewise.
34709         Suggested by Bruno Haible.
34710
34711         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
34712         * tests/test-pread.sh: Write no data into the pipe, because
34713         test-pread actually reads none.  This avoids a diagnostic,
34714         "bash: echo: write error: Broken pipe", that arises in the unusual
34715         event something is ignoring SIGPIPE, and might be interpreted
34716         as some sort of failure.  Reported by Bruno Haible.
34717
34718 2009-11-25  Jim Meyering  <meyering@redhat.com>
34719
34720         test-pread: cover failure with ESPIPE and EINVAL
34721         * tests/test-pread.c (main): Test for failure, too.
34722         * tests/test-pread.sh: Invoke with stdin on a pipe.
34723         Suggested by Eric Blake.
34724
34725         pread: improvement and fix
34726         * modules/pread (Depends-on): Depend on lseek, for portability to
34727         e.g., mingw.  Suggested by Eric Blake.
34728         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
34729
34730         unistd.in.h: correct declaration of pread
34731         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
34732         Reported by Richard W.M. Jones.
34733
34734         test-pread.sh: distribute the test script
34735         * modules/pread-tests (Files): Include test-pread.sh.
34736
34737         test-pread.sh: clean up
34738         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
34739         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
34740         That is unnecessary, since it's always ".".
34741         Suggestion from Eric Blake.
34742
34743         test-pread.sh: make executable
34744         * tests/test-pread.sh: Set executable bit.
34745         Reported by Eric Blake.
34746
34747         correct typo in test-pread.sh
34748         * tests/test-pread.sh: Add #! line.
34749
34750         test pread
34751         * tests/test-pread.c: New file.
34752         * tests/test-pread.sh: Likewise.
34753         * modules/pread-tests: Likewise.
34754
34755         pread: new module
34756         * modules/pread: New file.
34757         * lib/unistd.in.h (pread): Define/declare.
34758         * lib/pread.c (pread): New file.
34759         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
34760         * modules/unistd (Makefile.am): Substitute witnesses.
34761         * doc/posix-functions/pread.texi (pread): Update.
34762         * MODULES.html.sh: Add pread.
34763
34764 2009-11-25  Jim Meyering  <meyering@redhat.com>
34765
34766         tests/init.sh: new file to be used via most *.sh tests
34767         * tests/init.sh: New file.
34768
34769 2009-11-25  Eric Blake  <ebb9@byu.net>
34770
34771         utimens: work around older Linux failure with symlinks
34772         * lib/utimens.c (lutimensat_works_really): New variable.
34773         (fdutimens, lutimens): Use it to manage kernels that support
34774         nanosecond times on files, but not on symlinks.
34775         Reported by OndÅ™ej Vašík.
34776
34777         utimes: fix configure grammar
34778         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
34779
34780 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
34781
34782         regex: Fix fastmap for multibyte character ranges.
34783         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
34784         characters when a multibyte character range is included.
34785
34786 2009-11-22  Andy Wingo  <wingo@pobox.com>
34787
34788         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
34789         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
34790
34791 2009-11-24  Bruno Haible  <bruno@clisp.org>
34792
34793         doc: Most *_l functions exist in MacOS X 10.5.
34794         * doc/posix-functions/duplocale.texi: Update platforms list.
34795         * doc/posix-functions/freelocale.texi: Likewise.
34796         * doc/posix-functions/newlocale.texi: Likewise.
34797         * doc/posix-functions/uselocale.texi: Likewise.
34798         * doc/posix-functions/isalnum_l.texi: Likewise.
34799         * doc/posix-functions/isalpha_l.texi: Likewise.
34800         * doc/posix-functions/isblank_l.texi: Likewise.
34801         * doc/posix-functions/iscntrl_l.texi: Likewise.
34802         * doc/posix-functions/isdigit_l.texi: Likewise.
34803         * doc/posix-functions/isgraph_l.texi: Likewise.
34804         * doc/posix-functions/islower_l.texi: Likewise.
34805         * doc/posix-functions/isprint_l.texi: Likewise.
34806         * doc/posix-functions/ispunct_l.texi: Likewise.
34807         * doc/posix-functions/isspace_l.texi: Likewise.
34808         * doc/posix-functions/isupper_l.texi: Likewise.
34809         * doc/posix-functions/iswalnum_l.texi: Likewise.
34810         * doc/posix-functions/iswalpha_l.texi: Likewise.
34811         * doc/posix-functions/iswblank_l.texi: Likewise.
34812         * doc/posix-functions/iswcntrl_l.texi: Likewise.
34813         * doc/posix-functions/iswctype_l.texi: Likewise.
34814         * doc/posix-functions/iswdigit_l.texi: Likewise.
34815         * doc/posix-functions/iswgraph_l.texi: Likewise.
34816         * doc/posix-functions/iswlower_l.texi: Likewise.
34817         * doc/posix-functions/iswprint_l.texi: Likewise.
34818         * doc/posix-functions/iswpunct_l.texi: Likewise.
34819         * doc/posix-functions/iswspace_l.texi: Likewise.
34820         * doc/posix-functions/iswupper_l.texi: Likewise.
34821         * doc/posix-functions/iswxdigit_l.texi: Likewise.
34822         * doc/posix-functions/isxdigit_l.texi: Likewise.
34823         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
34824         * doc/posix-functions/strcasecmp_l.texi: Likewise.
34825         * doc/posix-functions/strcoll_l.texi: Likewise.
34826         * doc/posix-functions/strfmon_l.texi: Likewise.
34827         * doc/posix-functions/strftime_l.texi: Likewise.
34828         * doc/posix-functions/strncasecmp_l.texi: Likewise.
34829         * doc/posix-functions/strxfrm_l.texi: Likewise.
34830         * doc/posix-functions/tolower_l.texi: Likewise.
34831         * doc/posix-functions/toupper_l.texi: Likewise.
34832         * doc/posix-functions/towctrans_l.texi: Likewise.
34833         * doc/posix-functions/towlower_l.texi: Likewise.
34834         * doc/posix-functions/towupper_l.texi: Likewise.
34835         * doc/posix-functions/wcscoll_l.texi: Likewise.
34836         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
34837         * doc/posix-functions/wctrans_l.texi: Likewise.
34838         * doc/posix-functions/wctype_l.texi: Likewise.
34839         * doc/glibc-functions/strptime_l.texi: Likewise.
34840         * doc/glibc-functions/strtod_l.texi: Likewise.
34841         * doc/glibc-functions/strtof_l.texi: Likewise.
34842         * doc/glibc-functions/strtol_l.texi: Likewise.
34843         * doc/glibc-functions/strtold_l.texi: Likewise.
34844         * doc/glibc-functions/strtoll_l.texi: Likewise.
34845         * doc/glibc-functions/strtoul_l.texi: Likewise.
34846         * doc/glibc-functions/strtoull_l.texi: Likewise.
34847         * doc/glibc-functions/wcsftime_l.texi: Likewise.
34848         * doc/glibc-functions/wcstod_l.texi: Likewise.
34849         * doc/glibc-functions/wcstof_l.texi: Likewise.
34850         * doc/glibc-functions/wcstol_l.texi: Likewise.
34851         * doc/glibc-functions/wcstold_l.texi: Likewise.
34852         * doc/glibc-functions/wcstoll_l.texi: Likewise.
34853         * doc/glibc-functions/wcstoul_l.texi: Likewise.
34854         * doc/glibc-functions/wcstoull_l.texi: Likewise.
34855
34856 2009-11-24  Bruno Haible  <bruno@clisp.org>
34857
34858         duplocale: Fix logic bug.
34859         * lib/duplocale.c: Don't include <langinfo.h>.
34860         (_NL_LOCALE_NAME): Remove macro.
34861         (rpl_duplocale): Use setlocale instead of nl_langinfo.
34862         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
34863
34864 2009-11-23  Jim Meyering  <meyering@redhat.com>
34865
34866         test-update-copyright: don't hard-code /usr/bin/perl
34867         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
34868         perl to print the current year.  Gilles Espinasse reported that
34869         the replaced use of perl was hard-coded as /usr/bin/perl.
34870
34871 2009-11-23  Bruno Haible  <bruno@clisp.org>
34872
34873         duplocale: Add support for glibc 2.3.x.
34874         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
34875
34876 2009-11-22  Bruno Haible  <bruno@clisp.org>
34877
34878         vasnprintf: Tiny optimization.
34879         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
34880         MacOS X.
34881
34882 2009-11-22  Bruno Haible  <bruno@clisp.org>
34883
34884         Tests for module 'duplocale'.
34885         * modules/duplocale-tests: New file.
34886         * tests/test-duplocale.c: New file.
34887
34888         New module 'duplocale'.
34889         * m4/duplocale.m4: New file.
34890         * lib/locale.in.h (duplocale): New declaration.
34891         * lib/duplocale.c: New file.
34892         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
34893         gl_LOCALE_H_DEFAULTS): New macros.
34894         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
34895         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
34896         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
34897         REPLACE_DUPLOCALE.
34898         * modules/duplocale: New file.
34899         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
34900
34901 2009-11-22  Bruno Haible  <bruno@clisp.org>
34902
34903         * modules/locale-tests (configure.ac): Test for newlocale function.
34904         * tests/test-locale.c: When the system has extended locale functions,
34905         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
34906
34907         locale: Make locale_t available when possible.
34908         * lib/locale.in.h: Include <xlocale.h> when it exists.
34909         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
34910         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
34911         * modules/locale (Depends-on): Add extensions.
34912         (Makefile.am): Also substitute HAVE_XLOCALE_H.
34913         * doc/posix-headers/locale.texi: Document the problem with locale_t.
34914
34915 2009-11-22  Bruno Haible  <bruno@clisp.org>
34916
34917         Add comments.
34918         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
34919         invocation.
34920         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
34921         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
34922         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
34923
34924 2009-11-22  Bruno Haible  <bruno@clisp.org>
34925
34926         error: account for the possibility of freopen (stdout).
34927         * lib/error.c: Include <unistd.h>.
34928         (flush_stdout): New function, extracted from error and error_at_line.
34929         Determine stdout's fd dynamically.
34930         (error, error_at_line): Invoke flush_stdout.
34931         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
34932         * modules/error (Depends-on): Add unistd.
34933
34934 2009-11-22  Bruno Haible  <bruno@clisp.org>
34935
34936         diffseq: Add comment.
34937         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
34938
34939 2009-11-22  Jim Meyering  <meyering@redhat.com>
34940
34941         c-stack: avoid defining an unused static function
34942         * lib/c-stack.c (find_stack_direction): Do not define this function
34943         when it will not be used.
34944
34945         diffseq: avoid spurious gcc warnings
34946         * lib/diffseq.h (IF_LINT2): Define.
34947         (compareseq): Use it to initialize two members of "part".
34948         This avoids two used-uninitialized warnings.
34949
34950 2009-11-21  Jim Meyering  <meyering@redhat.com>
34951
34952         c-stack: avoid "ignoring return value of `write'" warning
34953         * lib/c-stack.c: Include "ignore-value.h".
34954         (die): Explicitly ignore each write return value.
34955         * modules/c-stack (Depends-on): Add ignore-value.
34956
34957 2009-11-21  Bruno Haible  <bruno@clisp.org>
34958
34959         diffseq: reduce scope of variable 'best'.
34960         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
34961         variable, earlier used for two different purposes.
34962
34963 2009-11-21  Jim Meyering  <meyering@redhat.com>
34964
34965         diffseq: remove useless assignment to "best"
34966         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
34967         assignment.  At that point "best" is already guaranteed to be zero.
34968
34969 2009-11-20  Eric Blake  <ebb9@byu.net>
34970
34971         build: mention ftp redirector in release announcements
34972         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
34973         values that used to come from cfg.mk; mention FTP redirect URL.
34974         * build-aux/announce-gen: Mention the mirror list.
34975         Suggested by Karl Berry.
34976
34977         nanosleep: improve port to mingw
34978         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
34979         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
34980         LIB_NANOSLEEP, but only when needed.
34981         * modules/select (Link): Document LIBSOCKET.
34982         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
34983         enough.
34984
34985         nanosleep: work around cygwin bug
34986         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
34987         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
34988         bug.
34989         (getnow): Delete, not needed.
34990         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
34991         LIB_CLOCK_GETTIME.
34992         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
34993         clock-time, gettime.
34994         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
34995         bug.
34996         * modules/nanosleep-tests: New test.
34997         * tests/test-nanosleep.c: New file.
34998
34999         sleep: work around cygwin bug
35000         * lib/sleep.c (rpl_sleep): Work around the bug.
35001         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
35002         (gl_PREREQ_SLEEP): Delete unused macro.
35003         * modules/sleep (Depends-on): Add verify.
35004         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
35005         * modules/unistd (Makefile.am): Substitute witness.
35006         * lib/unistd.in.h (sleep): Update prototype.
35007         * doc/posix-functions/sleep.texi (sleep): Document the bug.
35008         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
35009         * modules/sleep-tests (Depends-on): Check for alarm.
35010
35011 2009-11-20  Jim Meyering  <meyering@redhat.com>
35012
35013         maint.mk: improve sc_prohibit_magic_number_exit
35014         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
35015         so it does not match uses like System.exit(1).
35016         Add comments showing how to correct all offenders.
35017
35018 2009-11-19  Eric Blake  <ebb9@byu.net>
35019
35020         xalloc-die-tests: add missing library
35021         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
35022
35023         test-xvasprintf: silence compiler warnings
35024         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
35025         empty string from gcc.
35026
35027 2009-11-19  Jim Meyering  <meyering@redhat.com>
35028
35029         xfreopen: new module, from coreutils
35030         * modules/xfreopen: New module.
35031         * lib/xfreopen.c: New file.
35032         * lib/xfreopen.h: New file.
35033         * MODULES.html.sh (File stream based Input/Output"): Add it.
35034
35035 2009-11-19  Eric Blake  <ebb9@byu.net>
35036
35037         manywarnings: depend on warnings
35038         * modules/manywarnings (Depends-on): Add warnings.
35039
35040         build: avoid compiler warnings
35041         * lib/select.c (rpl_select): Delete unused variable.
35042         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
35043
35044 2009-11-18  Eric Blake  <ebb9@byu.net>
35045
35046         tests: avoid false negative with --with-packager
35047         * tests/test-version-etc.sh: Discard packager information.
35048         * tests/test-argp-version-etc-1.sh: Likewise.
35049         Reported by Mike Frysinger.
35050
35051         utimens: fix regression on Solaris
35052         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
35053         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
35054         can only change fd timestamps via futimesat.  Instead, use an
35055         additional witness macro to avoid BSD bug.
35056         Reported by Jim Meyering.
35057
35058 2009-11-17  Eric Blake  <ebb9@byu.net>
35059
35060         usleep: use it to simplify tests
35061         * modules/stat-time-tests (Depends-on): Add usleep.
35062         (configure.ac): Drop usleep check.
35063         * modules/chown-tests (Depends-on, configure.ac): Likewise.
35064         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
35065         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
35066         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
35067         * modules/openat-tests (Depends-on, configure.ac): Likewise.
35068         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
35069         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
35070         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
35071         Likewise.
35072         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
35073         * tests/test-lchown.h (nap): Likewise.
35074         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
35075         * tests/test-stat-time.c (nap): Likewise.
35076         * tests/test-utimens-common.h (nap): Update comments.
35077
35078         usleep: new module
35079         * modules/usleep: New file.
35080         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
35081         * lib/usleep.c (usleep): Likewise.
35082         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
35083         * modules/unistd (Makefile.am): Substitute witnesses.
35084         * lib/unistd.in.h (usleep): Add declaration.
35085         * doc/pastposix-functions/usleep.texi (usleep): Document this.
35086         * MODULES.html.sh (Date and time): Likewise.
35087         * modules/usleep-tests (Depends-on): New test.
35088         * tests/test-usleep.c: New file.
35089
35090         chown: work around OpenBSD bug
35091         * lib/chown.c (rpl_chown): Work around the bug.
35092         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
35093         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
35094         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
35095         * modules/chown (Depends-on): Add stdbool.
35096         * modules/lchown (Depends-on): Likewise.
35097         * doc/posix-functions/chown.texi (chown): Document the bug.
35098         * doc/posix-functions/lchown.texi (lchown): Likewise.
35099         * tests/test-lchown.h (test_chown): Relax test.
35100
35101         mkstemp: avoid conflict with C++ keyword template
35102         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
35103         * lib/mkostemp.c (mkostemp): Likewise.
35104         * lib/mkostemps.c (mkostemps): Likewise.
35105         * lib/mkstemp.c (mkstemp): Likewise.
35106         * lib/mkstemps.c (mkstemps): Likewise.
35107
35108         xalloc-die-tests: optimize
35109         * tests/test-xalloc-die.sh: Reduce number of processes.
35110
35111 2009-11-17  Simon Josefsson  <simon@josefsson.org>
35112
35113         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
35114         patch from ludo@gnu.org (Ludovic Courtès).
35115
35116 2009-11-17  Jim Meyering  <meyering@redhat.com>
35117
35118         version-etc: use proper license string
35119         * modules/version-etc (License): Use LGPL, not LGPLv3+.
35120         * modules/version-etc-fsf: Likewise.
35121
35122 2009-11-17  Simon Josefsson  <simon@josefsson.org>
35123
35124         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
35125         printed to stdout.  Deal with EOL differences.
35126
35127 2009-11-17  Eric Blake  <ebb9@byu.net>
35128
35129         unsetenv: work around Solaris bug
35130         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
35131         * lib/unsetenv.c (rpl_unsetenv): Work around it.
35132         Reported by Jim Meyering.
35133
35134         vasnprintf: avoid compiler warnings
35135         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
35136         variables.
35137         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
35138
35139 2009-11-17  Simon Josefsson  <simon@josefsson.org>
35140
35141         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
35142         settings since xalloc-die is no longer the self test,
35143         xalloc-die.sh is.
35144
35145 2009-11-17  Jim Meyering  <meyering@redhat.com>
35146
35147         test-xalloc-die.sh: make the code agree with the commit log
35148         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
35149         at the end, just in case you happen to have a test-xalloc-die
35150         program in some other PATH directory.
35151
35152         test-xalloc-die.sh: fix a portability bug
35153         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
35154         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
35155         Otherwise, argv[0] (as often seen in diagnostics) would be too
35156         system-dependent, sometimes with, and sometimes without the leading "./".
35157
35158         version-etc-fsf: relax license to LGPLv3+
35159         * modules/version-etc-fsf (License): Relax license.
35160
35161 2009-11-16  Eric Blake  <ebb9@byu.net>
35162
35163         xalloc-die-tests: avoid printing null pointer
35164         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
35165         shell script.
35166         * tests/test-xalloc-die.c (program_name): Declare.
35167         * tests/test-xalloc-die.sh (tmpfiles): New file.
35168
35169         setenv, unsetenv: work around various bugs
35170         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
35171         (setenv) [HAVE_SETENV]: Work around bugs.
35172         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
35173         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
35174         for bugs.
35175         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
35176         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
35177         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
35178         * modules/stdlib (Makefile.am): Update substitutions.
35179         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
35180         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
35181         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
35182         * modules/setenv-tests: New test.
35183         * modules/unsetenv-tests: Likewise.
35184         * tests/test-setenv.c: New file.
35185         * tests/test-unsetenv.c: Likewise.
35186
35187 2009-11-16  Jim Meyering  <meyering@redhat.com>
35188
35189         version-etc: relax license to LGPLv3+
35190         * modules/version-etc (License): Relax license.
35191
35192         better AC_REQUIRE expanded-before-required-warning avoidance
35193         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
35194         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
35195         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
35196         which is no longer needed.
35197
35198 2009-11-16  Eric Blake  <ebb9@byu.net>
35199
35200         test-freading: clean up temporary file
35201         * tests/test-freading.c (main): Remove file on success, and use
35202         ASSERT more liberally.
35203         Reported by Jim Meyering.
35204
35205 2009-11-16  Jim Meyering  <meyering@redhat.com>
35206
35207         avoid new AC_REQUIRE expanded-before-required warnings
35208         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
35209         merely using it.
35210         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
35211         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
35212
35213 2009-11-15  Simon Josefsson  <simon@josefsson.org>
35214
35215         * tests/test-xalloc-die.c: New file.
35216         * modules/xalloc-die-tests: New file.
35217         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
35218         XFAIL_TESTS so it can be appended by modules.
35219
35220 2009-11-15  Simon Josefsson  <simon@josefsson.org>
35221
35222         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
35223         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
35224
35225 2009-11-14  Eric Blake  <ebb9@byu.net>
35226
35227         fnmatch: avoid compiler warning
35228         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
35229         to silence compiler warning about mismatch signedness in ?:.
35230         Reported by Robert Millan.
35231
35232         intprops: add double-inclusion guard
35233         * lib/intprops.h: Allow idempotent includes.
35234         Suggested by Bruce Korb.
35235
35236         openat: detect Solaris fchownat bug
35237         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
35238         penalizing glibc chownat when only lchownat is broken.
35239         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
35240         trailing slash bugs.
35241         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
35242         * modules/openat-tests (Files): Include more files.
35243         (Depends-on): Add mgetgroups, sleep, stat-time.
35244         (configure.ac): Add additional checks.
35245         (Makefile.am): Build new test.
35246         * tests/test-fchownat.c: New file.
35247
35248         lchown: detect Solaris and FreeBSD bug
35249         * lib/lchown.c (rpl_lchown): Work around bug.
35250         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
35251         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35252         * modules/unistd (Makefile.am): Populate it.
35253         * lib/unistd.in.h (lchown): Update declaration.
35254         * doc/posix-functions/lchown.texi (lchown): Document the bug.
35255         * modules/lchown-tests: New file.
35256         * tests/test-lchown.h (test_lchown): Likewise.
35257         * tests/test-lchown.c (main): Likewise.
35258
35259         chown: detect Solaris and FreeBSD bug
35260         * lib/chown.c (rpl_chown): Work around bug.
35261         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
35262         (gl_PREREQ_CHOWN): Delete.
35263         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35264         * modules/unistd (Makefile.am): Populate it.
35265         * lib/unistd.in.h (chown): Update declaration.
35266         * lib/lchown.c (chown): Update client.
35267         * modules/lchown (Depends-on): Add lstat.
35268         * doc/posix-functions/chown.texi (chown): Document the bug.
35269         * doc/posix-functions/getgroups.texi (getgroups): Document
35270         getgroups pitfall.
35271         * modules/chown-tests: New file.
35272         * tests/test-chown.h (test_chown): Likewise.
35273         * tests/test-chown.c (main): Likewise.
35274
35275 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
35276
35277         gnulib-tool: correctly detect absence of m4 directories
35278         * gnulib-tool: Avoid extra newline on data passed to wc -l.
35279
35280 2009-11-14  Jim Meyering  <meyering@redhat.com>
35281
35282         maint.mk: Prohibit inclusion of "xalloc.h" without use.
35283         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
35284
35285 2009-11-14  John W. Eaton  <jwe@gnu.org>
35286
35287         strftime.h: wrap funtion declaration in extern "C" block
35288         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
35289
35290 2009-11-13  Eric Blake  <ebb9@byu.net>
35291
35292         getgroups: avoid compiler warning
35293         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
35294
35295         getgroups: work around FreeBSD bug
35296         * lib/getgroups.c (rpl_getgroups): Work around the bug.
35297         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
35298         * doc/posix-functions/getgroups.texi (getgroups): Document it.
35299         * tests/test-getgroups.c (main): Fix buffer overrun.
35300
35301         getgroups: avoid compilation failure
35302         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
35303         * modules/getgroups (Depends-on): Add stdint.
35304
35305 2009-11-13  Jim Meyering  <meyering@redhat.com>
35306
35307         test-getgroups: avoid compilation failure
35308         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
35309
35310 2009-11-13  Eric Blake  <ebb9@byu.net>
35311
35312         mgetgroups: new module, taken from coreutils
35313         * modules/mgetgroups: New file.
35314         * lib/mgetgroups.h: Likewise.
35315         * lib/mgetgroups.c (mgetgroups): Likewise.
35316         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
35317         * MODULES.html.sh (Users and groups): Mention it.
35318
35319         getgroups: don't expose GETGROUPS_T to user
35320         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
35321         an element at a time if GETGROUPS_T is wrong size.
35322         * lib/getugroups.h (getugroups): Change signature.
35323         * lib/unistd.in.h (getgroups): Likewise.
35324         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
35325         signature needs fixing.
35326         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
35327         AC_TYPE_GETGROUPS.
35328         * modules/group-member (Depends-on): Add getgroups.
35329         * lib/group-member.c (group_info, get_group_info): Use gid_t.
35330         (group_member): Rely on getgroups replacement.
35331         * lib/getugroups.c (getugroups): Use gid_t.
35332         * tests/test-getgroups.c (main): Likewise.
35333         * NEWS: Mention the signature change.
35334         * doc/posix-functions/getgroups.texi (getgroups): Mention the
35335         problem with signature.
35336         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
35337         GETGROUPS_T is still useful for setgroups.
35338
35339         getgroups, getugroups: provide stubs for mingw
35340         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
35341         * lib/getugroups.c (getugroups): Likewise.
35342         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
35343         function.  Modernize replacement scheme.
35344         (gl_PREREQ_GETGROUPS): Delete.
35345         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
35346         * modules/getgroups (configure.ac): Declare witness.
35347         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
35348         * modules/unistd (Depends-on): Substitute witness.
35349         * lib/unistd.in.h (getgroups): Declare replacement.
35350
35351         getgroups: avoid calling exit
35352         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
35353         drop xalloc.
35354         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
35355         dependencies.
35356         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
35357         exiting, in the rare case of malloc failure.
35358
35359         getgroups: fix logic error
35360         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
35361         has more than 20 groups.
35362         * modules/getgroups-tests: New test.
35363         * tests/test-getgroups.c: New file.
35364
35365 2009-11-13  Simon Josefsson  <simon@josefsson.org>
35366
35367         * tests/test-base64.c: Improve.
35368
35369 2009-11-13  Simon Josefsson  <simon@josefsson.org>
35370
35371         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
35372         Blake <ebb9@byu.net>.
35373
35374 2009-11-13  Simon Josefsson  <simon@josefsson.org>
35375
35376         * tests/test-xvasprintf.c: Add %s%s related checks.
35377
35378 2009-11-12  Eric Blake  <ebb9@byu.net>
35379
35380         version-etc: match standards.texi style
35381         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
35382         and use <> only for URLs.
35383
35384 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
35385
35386         fts: do not fail on a submount during traversal
35387         * lib/fts.c (fts_build): Read the stat info again after opening
35388         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
35389         Original report at http://bugzilla.redhat.com/501848.
35390
35391 2009-11-12  Jim Meyering  <meyering@redhat.com>
35392
35393         bootstrap: sync from coreutils
35394         * build-aux/bootstrap (bootstrap_epilogue): New function.
35395         Use git_modules_config in one more place.  This make bootstrap's
35396         --gnulib-srcdir option more useful for testing.
35397
35398         bootstrap: generalize autoheader check
35399         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
35400         AC_CONFIG_HEADERS.
35401
35402 2009-11-11  Eric Blake  <ebb9@byu.net>
35403
35404         mkfifoat: use new modules for Solaris and BSD bugs
35405         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
35406         * lib/mkfifoat.c (mknodat): Split...
35407         * lib/mknodat.c (mknodat): ...into new file.
35408         * modules/mkfifoat (Files): Ship new file.
35409         (Depends-on): Add mkfifo, mknod.
35410         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
35411         (Depends-on): Add symlink.
35412         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
35413         redundant with test_mkfifo.h.
35414         (do_mkfifoat, do_mknodat): New helpers.
35415
35416         mknod: new module
35417         * modules/mknod: New file.
35418         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
35419         * lib/mknod.c (mknod): Likewise.
35420         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
35421         defaults.
35422         * modules/sys_stat (Makefile.am): Substitute them.
35423         * lib/sys_stat.in.h (mknod): Declare replacement.
35424         * MODULES.html.sh (Support for systems lacking POSIX:2008):
35425         Document it.
35426         * doc/posix-functions/mknod.texi (mknod): Likewise.
35427         * modules/mknod-tests: New test.
35428         * tests/test-mknod.c: Likewise.
35429
35430         mkfifo: new module
35431         * modules/mkfifo: New file.
35432         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
35433         * lib/mkfifo.c (mkfifo): Likewise.
35434         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
35435         defaults.
35436         * modules/sys_stat (Makefile.am): Substitute them.
35437         * lib/sys_stat.in.h (mkfifo): Declare replacement.
35438         * MODULES.html.sh (Support for systems lacking POSIX:2008):
35439         Document it.
35440         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
35441         * modules/mkfifo-tests: New test.
35442         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
35443         from test-mkfifoat.c.
35444         * tests/test-mkfifo.c: New file.
35445
35446         readlink: detect FreeBSD bug
35447         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
35448         slash on symlink.
35449         * doc/posix-functions/readlink.texi (readlink): Document the bug.
35450         * tests/test-readlink.h (test_readlink): Enhance test.
35451
35452         symlink: detect FreeBSD bug
35453         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
35454         slash on symlink.
35455         * doc/posix-functions/symlink.texi (symlink): Document the bug.
35456         * tests/test-symlink.h (test_symlink): Enhance test.
35457
35458 2009-11-10  Eric Blake  <ebb9@byu.net>
35459
35460         link: detect FreeBSD bug
35461         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
35462         symlink.
35463         * doc/posix-functions/link.texi (link): Document the bug.
35464         * tests/test-link.h (test_link): Enhance test.
35465         * tests/test-linkat.c (main): Update caller.
35466
35467         unlink, remove: detect FreeBSD bug
35468         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
35469         slash on symlink.
35470         * doc/posix-functions/unlink.texi (unlink): Document the bug.
35471         * doc/posix-functions/remove.texi (remove): Likewise.
35472         * tests/test-unlink.h (test_unlink): Enhance test.
35473         * tests/test-remove.c (main): Likewise.
35474
35475 2009-11-09  Eric Blake  <ebb9@byu.net>
35476
35477         rename: detect FreeBSD bug
35478         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
35479         slash on symlink.
35480         * modules/renameat-tests (Depends-on): Add filenamecat.
35481         * tests/test-rename.h (test_rename): Allow one more errno.
35482         * tests/test-renameat.c (main): Likewise.
35483         * doc/posix-functions/rename.texi (rename): Document the bug.
35484
35485         open: detect FreeBSD bug
35486         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
35487         symlink.
35488         * doc/posix-functions/open.texi (open): Document the bug.
35489         * doc/posix-functions/utimes.texi (utimes): Likewise.
35490         * tests/test-open.h (test_open): Add parameters, and test symlink
35491         handling.
35492         * tests/test-open.c (main): Adjust caller.
35493         * tests/test-fcntl-safer.c (main): Likewise.
35494         * modules/open-tests (Depends-on): Add stdbool, symlink.
35495         * modules/fcntl-safer-tests (Depends-on): Likewise.
35496         * tests/test-openat.c (main): Add test-open tests.
35497
35498         stat: detect FreeBSD bug
35499         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
35500         symlink.
35501         * doc/posix-functions/stat.texi (stat): Document the bug.
35502         * tests/test-stat.h (test_stat_func): Add argument.
35503         * tests/test-stat.c (main): Adjust caller.
35504         * tests/test-fstatat.c (main): Likewise.
35505         * modules/stat-tests (Depends-on): Add stdbool, symlink.
35506         Reported by Jim Meyering.
35507
35508 2009-11-09  James Youngman  <jay@gnu.org>
35509
35510         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
35511         * lib/strftime.c: Correct placement of #include "ignore-value.h".
35512
35513 2009-11-08  Jim Meyering  <meyering@redhat.com>
35514
35515         utimens: remove invalid futimesat call
35516         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
35517         It used the file descriptor of the target file as the DIR_FD
35518         parameter and NULL as the file name.  That caused failure with
35519         errno == EFAULT on FreeBSD-8.0-rc2
35520
35521 2009-11-07  Eric Blake  <ebb9@byu.net>
35522
35523         fflush, freadseek: use fseeko, not fseek
35524         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
35525         (clear_ungetc_buffer): Avoid potential problems on large files.
35526         * lib/freadseek.c (freadseek): Likewise.
35527         * modules/freadseek (Depends-on): Add fseeko.
35528         * modules/fseek (configure.ac): Set a witness.
35529         * tests/test-fflush.c (main): Use fseeko.
35530         * tests/test-fpurge.c (fseek): Disable link warning.
35531         * tests/test-freadable.c (fseek): Likewise.
35532         * tests/test-freading.c (fseek): Likewise.
35533         * tests/test-fseeko.c (fseek): Likewise.
35534         * tests/test-ftell.c (fseek): Likewise.
35535         * tests/test-ftello.c (fseek): Likewise.
35536         * tests/test-fwritable.c (fseek): Likewise.
35537         * tests/test-fwriting.c (fseek): Likewise.
35538
35539 2009-11-06  Simon Josefsson  <simon@josefsson.org>
35540
35541         * modules/memchr (Depends-on): Drop getpagesize dependency.
35542
35543 2009-11-06  Simon Josefsson  <simon@josefsson.org>
35544
35545         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
35546         Reported by Ludovic Courtès.
35547         * build-aux/pmccabe2html: Improve example usage.
35548         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
35549
35550 2009-11-06  Jim Meyering  <meyering@redhat.com>
35551
35552         do-release-commit-and-tag: New module.
35553         Automate the release-commit and tag process.
35554         * build-aux/do-release-commit-and-tag: New script, from coreutils.
35555         * modules/do-release-commit-and-tag: New file.
35556         * MODULES.html.sh (Support for maintaining and releasing): Add it.
35557
35558 2009-11-06  Simon Josefsson  <simon@josefsson.org>
35559
35560         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
35561         because test-select.c uses inet_pton.
35562
35563 2009-11-06  Simon Josefsson  <simon@josefsson.org>
35564
35565         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
35566         GETADDRINFO_LIB.  Bump serial number.
35567         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
35568         Suggested by Eric Blake <ebb9@byu.net>.
35569
35570 2009-11-05  Eric Blake  <ebb9@byu.net>
35571
35572         strtod: detect darwin bug
35573         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
35574         Reported by Leo Davis.
35575
35576         freopen-safer: new module
35577         * modules/freopen-safer: New module.
35578         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
35579         * lib/freopen-safer.c (freopen_safer): New file.
35580         * lib/stdio-safer.h (freopen_safer): New declaration.
35581         * lib/stdio--.h (freopen): New override.
35582         * MODULES.html.sh (File stream based Input/Output): Mention it.
35583         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
35584         freopen-safer module.
35585         * doc/posix-functions/stderr.texi (stderr): Likewise.
35586         * doc/posix-functions/stdin.texi (stdin): Likewise.
35587         * doc/posix-functions/stdout.texi (stdout): Likewise.
35588         * modules/freopen-safer-tests: New test.
35589         * tests/test-reopen-safer.c: New file.
35590
35591 2009-11-05  Jim Meyering  <meyering@redhat.com>
35592
35593         maint.mk: Prohibit inclusion of "close-stream.h" without use.
35594         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
35595
35596 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35597
35598         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
35599
35600 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35601
35602         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
35603
35604 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35605
35606         Fix link error.
35607         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
35608         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
35609
35610 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35611
35612         * tests/test-func.c: Also test value of __func__.
35613
35614 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35615
35616         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
35617         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
35618
35619 2009-11-05  Bruno Haible  <bruno@clisp.org>
35620
35621         Fix link error.
35622         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
35623         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
35624         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
35625
35626 2009-11-05  Bruno Haible  <bruno@clisp.org>
35627
35628         Tests for module 'inet_pton'.
35629         * modules/inet_pton-tests: New file.
35630         * tests/test-inet_pton.c: New file.
35631
35632 2009-11-05  Bruno Haible  <bruno@clisp.org>
35633
35634         Tests for module 'inet_ntop'.
35635         * modules/inet_ntop-tests: New file.
35636         * tests/test-inet_ntop.c: New file.
35637
35638 2009-11-04  Eric Blake  <ebb9@byu.net>
35639
35640         stdlib-safer: wrap all mkstemp variants
35641         * modules/mkostemp (configure.ac): Set witness.
35642         * modules/mkostemps (configure.ac): Likewise.
35643         * modules/mkstemps (configure.ac): Likewise.
35644         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
35645         (mkstemps_safer): Wrap more functions.
35646         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
35647         wrapping.
35648         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
35649         (mkstemps_safer): Implement the wrappers.
35650
35651         mkstemps, mkostemps: new modules
35652         * modules/mkostemps: New module.
35653         * modules/mkstemps: Likewise.
35654         * lib/mkostemps.c (mkostemps): New file.
35655         * lib/mkstemps.c (mkstemps): Likewise.
35656         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
35657         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
35658         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
35659         * modules/stdlib (Makefile.am): Substitute them.
35660         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
35661         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
35662         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
35663         * doc/gnulib.texi (Glibc stdlib.h): Include them.
35664         * MODULES.html.sh (File system functions): Mention them.
35665
35666         tempname: resync from glibc
35667         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
35668         same values for __GT_FILE as glibc.  Abort even when assertions
35669         are disabled.
35670         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
35671         match its value otherwise.  Allow idempotent inclusion.
35672         * lib/mkdtemp.c (mkdtemp): Adjust caller.
35673         * lib/mkostemp.c (mkostemp): Likewise.
35674         * lib/mkstemp.c (mkstemp): Likewise.
35675         * lib/tmpfile.c (tmpfile): Likewise.
35676         * NEWS: Document this.
35677
35678         utimens: fix use of futimens on older Linux
35679         * lib/utimens.c (fdutimens): Use updated, rather than original,
35680         timespec to avoid bug in older Linux kernel.
35681         Reported by Simon Josefsson.
35682
35683 2009-11-04  Bruno Haible  <bruno@clisp.org>
35684
35685         Make num_processors more flexible and consistent.
35686         * lib/nproc.h (enum nproc_query): New type.
35687         (num_processors): Add a 'query' argument.
35688         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
35689         (num_processors): Add a 'query' argument. Test the value of the
35690         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
35691         mingw, count the number of CPUs available for the current process.
35692         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
35693         Check for sched_getaffinity and sched_getaffinity_np.
35694         * modules/nproc (Depends-on): Add c-ctype, extensions.
35695         * NEWS: Mention the change.
35696
35697 2009-11-03  Bruno Haible  <bruno@clisp.org>
35698
35699         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
35700
35701 2009-11-03  Jim Meyering  <meyering@redhat.com>
35702
35703         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
35704         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
35705         if it is defined.
35706
35707 2009-11-02  Eric Blake  <ebb9@byu.net>
35708
35709         mktime, timegm: share common declaration
35710         * lib/mktime-internal.h: New file.
35711         * lib/mktime.c: Use it rather than open-coding a declaration.
35712         * lib/timegm.c: Likewise.
35713         * modules/mktime (Files): Ship it.
35714         * modules/timegm (Files): Likewise.
35715         Suggested by Bruno Haible.
35716
35717         test-update-copyright: update test to match script changes
35718         * tests/test-update-copyright.sh: Avoid hard-coding perl
35719         location.  Don't update *.bak created by earlier runs.
35720
35721 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
35722             Simon Josefsson  <simon@josefsson.org>
35723             Bruno Haible  <bruno@clisp.org>
35724
35725         Fix link error on Solaris 8.
35726         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
35727         also in libnsl. Define also INET_PTON_LIB.
35728         * modules/inet_pton (Link): New section.
35729
35730 2009-11-02  Simon Josefsson  <simon@josefsson.org>
35731             Bruno Haible  <bruno@clisp.org>
35732
35733         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
35734         * modules/inet_ntop (Link): New section.
35735         Reported by Boyan Kasarov <bkasarov@gmail.com>.
35736
35737 2009-11-02  Eric Blake  <ebb9@byu.net>
35738
35739         maint: avoid compiler warnings in m4 macros
35740         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
35741         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
35742
35743 2009-11-02  Simon Josefsson  <simon@josefsson.org>
35744
35745         * m4/pmccabe2html.m4: Remove file.
35746         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
35747         function.  Change maintainer.
35748         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
35749         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
35750         Courtès).
35751
35752 2009-10-31  Eric Blake  <ebb9@byu.net>
35753
35754         fseeko: fix m4 regression
35755         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
35756         regression from 2009-10-27.
35757         Reported by Ralf Wildenhues.
35758
35759 2009-10-31  Jim Meyering  <meyering@redhat.com>
35760
35761         inttostr: aesthetics and improved (compile-time) safety
35762         Define inttype_is_signed rather than inttype_is_unsigned,
35763         since the sole use is via "#if inttype_is_signed".
35764         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
35765         inttype_is_unsigned.
35766         * lib/offtostr.c (inttype_is_signed): Likewise.
35767         * lib/uinttostr.c (inttype_is_signed): Likewise.
35768         * lib/umaxtostr.c (inttype_is_signed): Likewise.
35769         * lib/inttostr.c (inttostr): Use verify to cross-check the
35770         inttype_is_signed value and the signedness of the actual type.
35771         * modules/inttostr (Depends-on): Add verify.
35772
35773 2009-10-30  Eric Blake  <ebb9@byu.net>
35774
35775         build: avoid compiler warnings
35776         * lib/fchmodat.c (lchmod): Mark unused variables.
35777         * lib/getopt.c (_getopt_initialize): Likewise.
35778         * lib/mktime.c (__mktime_internal): Provide prototype.
35779         * lib/inttostr.c (inttostr): Avoid compiler warning even with
35780         older gcc that do not understand #pragma GCC diagnostic.
35781         * lib/uinttostr.c (inttype_is_unsigned): Define.
35782         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
35783
35784 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
35785
35786         stat: fix compilation on AIX
35787         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
35788         only see struct stat64.
35789
35790 2009-10-30  Eric Blake  <ebb9@byu.net>
35791
35792         exclude: make more robust
35793         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
35794         rather than masking a coding bug.
35795         Suggested by Bruno Haible.
35796
35797 2009-10-30  Jim Meyering  <meyering@redhat.com>
35798
35799         perl scripts: remove #!/usr/bin/perl in favor of more portable...
35800         Rather than putting #!/usr/bin/perl on the first line,
35801         start with a variant of what's recommended by "man perlrun" that
35802         invokes the first "perl" program from your shell's search path.
35803         * build-aux/gitlog-to-changelog: Replace #!... as above.
35804         Add a "Local Variables" perl mode setting.
35805         Prompted by a patch from Ludovic Courtès.
35806         Improved by Eric Blake.
35807         * build-aux/useless-if-before-free: Likewise.
35808         * build-aux/announce-gen: Likewise.
35809         * build-aux/update-copyright: Likewise.
35810
35811 2009-10-29  Eric Blake  <ebb9@byu.net>
35812
35813         filenamecat-lgpl: adjust clients
35814         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
35815         filenamecat.
35816         * modules/renameat (Depends-on): Likewise.
35817
35818         filenamecat: split into filenamecat-lgpl
35819         * modules/filenamecat-lgpl: New module.
35820         * modules/filenamecat (Files): Move library-safe files into
35821         filenamecat-lgpl.
35822         (Depends-on): Add filenamecat-lgpl.
35823         (configure.ac): Declare witness.
35824         * lib/filenamecat.h (file_name_concat): Only declare when using
35825         GPL module.
35826         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
35827         Move...
35828         * lib/filenamecat-lgpl.c: ...into new file.
35829         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
35830         (gl_FILE_NAME_CONCAT): Use it.
35831         * MODULES.html.sh (File system functions): Mention new module.
35832
35833         argp: avoid memory leak
35834         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
35835         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
35836         base_name, since the latter malloc()s and can call exit().
35837         Leak introduced 2006-07-03.
35838
35839         dirname-lgpl: adjust clients that don't need full dirname
35840         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
35841         * modules/filenamecat (Depends-on): Likewise.
35842         * modules/linkat (Depends-on): Likewise.
35843         * modules/mkancesdirs (Depends-on): Likewise.
35844         * modules/mkdir (Depends-on): Likewise.
35845         * modules/openat (Depends-on): Likewise.
35846         * modules/savewd (Depends-on): Likewise.
35847         * modules/rename (Depends-on): Likewise.
35848         (License): Relax license.
35849         * modules/mkdir-tests (Depends-on): Drop progname.
35850         (Makefile.am): Delete unneeded LDADD.
35851         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
35852
35853         dirname: split into dirname-lgpl
35854         * modules/dirname-lgpl: New module.
35855         * modules/dirname (Files): Move library-safe files into
35856         dirname-lgpl.
35857         (Depends-on): Add dirname-lgpl.
35858         (configure.ac): Declare witness.
35859         * modules/double-slash-root (License): Relax license.
35860         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
35861         module.
35862         * lib/dirname.c (dir_len, mdir_name): Move...
35863         * lib/dirname-lgpl.c: ...into new file.
35864         * lib/basename.c (last_component, base_len): Move...
35865         * lib/basename-lgpl.c: ...into new file.
35866         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
35867         (gl_DIRNAME): Use it.
35868         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
35869         Mention new module.
35870         * modules/dirname-tests (Depends-on): Add progname.
35871         * tests/test-dirname.c (program_name): Delete.
35872
35873         mkdir: make safe for libraries
35874         * modules/mkdir (Depends-on): Drop xalloc.
35875         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
35876         exit.
35877
35878         tests: avoid some compiler warnings
35879         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
35880         literals.
35881         * tests/test-memchr.c (main): Avoid type mismatch.
35882         * tests/test-arpa_inet.c (main): Avoid unused parameters.
35883         * tests/test-base64.c (main): Likewise.
35884         * tests/test-getdelim.c (main): Likewise.
35885         * tests/test-gethostname.c (main): Likewise.
35886         * tests/test-getline.c (main): Likewise.
35887         * tests/test-netinet_in.c (main): Likewise.
35888         * tests/test-select.c (open_server_socket, main): Likewise.
35889         * tests/test-select-stdin.c (main): Likewise.
35890         * tests/test-sockets.c (main): Likewise.
35891         * tests/test-strsignal.c (main): Likewise.
35892         * tests/test-sys_select.c (main): Likewise.
35893         * tests/test-sys_socket.c (main): Likewise.
35894         * tests/test-u64.c (main): Likewise.
35895         * tests/test-xfprintf-posix.c (main): Likewise.
35896         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
35897
35898         sockets: avoid compiler warning
35899         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
35900
35901         maint: detect usage(1) and other suspicious exits
35902         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
35903
35904 2009-10-29  Jim Meyering  <meyering@redhat.com>
35905
35906         timespec: long-to-int truncation could make timespec_cmp malfunction
35907         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
35908         a multiple of 2^32 nanoseconds as no difference.
35909
35910 2009-10-28  Jim Meyering  <meyering@redhat.com>
35911
35912         fprintftime: wrap macro code argument in "do {...} while(0)"
35913         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
35914         cpy macro must be a statement that can be followed by a semicolon.
35915         Now that the else clause contains a comment and is hence longer
35916         than one line, I require curly braces.  That in turn requires
35917         that we wrap this code block in the standard do...while(0).
35918
35919         fprintftime: remove stray semicolon from previous change
35920         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
35921
35922         fprintftime: avoid a warning about ignored fwrite return value
35923         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
35924         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
35925         that is unsafe.
35926         * modules/fprintftime (Depends-on): Add ignore-value.
35927
35928         exclude: avoid an unwarranted warning
35929         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
35930
35931 2009-10-27  Eric Blake  <ebb9@byu.net>
35932
35933         fseek: avoid compilation failure when fflush is replaced
35934         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
35935         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
35936         module is in use.
35937         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
35938         module is not in use; since REPLACE_FSEEK worked otherwise.
35939         (GNULIB_FTELLO): Likewise for ftell.
35940         Reported by Ian Beckwith and others.
35941
35942 2009-10-27  Bruno Haible  <bruno@clisp.org>
35943
35944         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
35945         Reported by Jim Meyering.
35946
35947 2009-10-27  Jim Meyering  <jim@meyering.net>
35948             Bruno Haible  <bruno@clisp.org>
35949
35950         Avoid warning despite dropping the return value of fwrite.
35951         * lib/unicodeio.c: Include ignore-value.h.
35952         (fwrite_success_callback): Explicitly ignore fwrite's return value.
35953         * modules/unicodeio (Depends-on): Add ignore-value.
35954
35955 2009-10-26  Eric Blake  <ebb9@byu.net>
35956
35957         areadlinkat: fix fallback path
35958         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
35959         pointer and zero.
35960
35961 2009-10-22  Pádraig Brady  <P@draigBrady.com>
35962
35963         Use a better IO block size for modern systems
35964         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
35965         * lib/md2.c: Likewise.
35966         * lib/md4.c: Likewise.
35967         * lib/md5.c: Likewise.
35968         * lib/sha1.c: Likewise.
35969         * lib/sha256.c: Likewise.
35970         * lib/sha512.c: Likewise.
35971
35972 2009-10-22  Eric Blake  <ebb9@byu.net>
35973
35974         tests: avoid several compiler warnings
35975         * tests/test-getcwd.c (main): Avoid buffer underflow.
35976         * tests/test-getdate.c (main): String literals are not safe with
35977         putenv, so use setenv.  Declare unused argument.
35978         * modules/getdate-tests (Depends-on): Add setenv.
35979         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
35980         problems with string literals in char *.
35981         * tests/test-hash.c (main): Avoid shadowing declaration.
35982         (insert_new): Treat string literals as char const *.
35983         * tests/test-getopt.h (test_getopt): Likewise.
35984         (getopt_loop): Alter types to minimize casting elsewhere.
35985         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
35986         (test_getopt_long_posix): Likewise.
35987         (do_getopt_long): Add wrapper to minimize casting.
35988         * tests/test-atexit.c (clear_temp_file): Use void.
35989         * tests/test-areadlink-with-size.c (main): Declare unused
35990         arguments.
35991         * tests/test-areadlink.c (main): Likewise.
35992         * tests/test-areadlinkat-with-size.c (main): Likewise.
35993         * tests/test-areadlinkat.c (main): Likewise.
35994         * tests/test-canonicalize-lgpl.c (main): Likewise.
35995         * tests/test-canonicalize.c (main): Likewise.
35996         * tests/test-dirent-safer.c (main): Likewise.
35997         * tests/test-dirname.c (main): Likewise.
35998         * tests/test-dup2.c (main): Likewise.
35999         * tests/test-fchdir.c (main): Likewise.
36000         * tests/test-fcntl-h.c (main): Likewise.
36001         * tests/test-fcntl-safer.c (main): Likewise.
36002         * tests/test-fdopendir.c (main): Likewise.
36003         * tests/test-fdutimensat.c (main): Likewise.
36004         * tests/test-fflush.c (main): Likewise.
36005         * tests/test-filenamecat.c (main): Likewise.
36006         * tests/test-filevercmp.c (main): Likewise.
36007         * tests/test-fopen-safer.c (main): Likewise.
36008         * tests/test-fopen.c (main): Likewise.
36009         * tests/test-fpending.c (main): Likewise.
36010         * tests/test-fpurge.c (main): Likewise.
36011         * tests/test-freading.c (main): Likewise.
36012         * tests/test-fstatat.c (main): Likewise.
36013         * tests/test-fsync.c (main): Likewise.
36014         * tests/test-futimens.c (main): Likewise.
36015         * tests/test-getndelim2.c (main): Likewise.
36016         * tests/test-gettimeofday.c (main): Likewise.
36017         * tests/test-getopt.c (main): Likewise.
36018         * tests/test-i-ring.c (main): Likewise.
36019         * tests/test-inttypes.c (main): Likewise.
36020         * tests/test-link.c (main): Likewise.
36021         * tests/test-lstat.c (main): Likewise.
36022         * tests/test-math.c (main): Likewise.
36023         * tests/test-md5.c (main): Likewise.
36024         * tests/test-memchr2.c (main): Likewise.
36025         * tests/test-memrchr.c (main): Likewise.
36026         * tests/test-mkdir.c (main): Likewise.
36027         * tests/test-mkdirat.c (main): Likewise.
36028         * tests/test-mkfifoat.c (main): Likewise.
36029         * tests/test-open.c (main): Likewise.
36030         * tests/test-openat-safer.c (main): Likewise.
36031         * tests/test-openat.c (main): Likewise.
36032         * tests/test-quotearg.c (main): Likewise.
36033         * tests/test-rawmemchr.c (main): Likewise.
36034         * tests/test-readlink.c (main): Likewise.
36035         * tests/test-remove.c (main): Likewise.
36036         * tests/test-rename.c (main): Likewise.
36037         * tests/test-renameat.c (main): Likewise.
36038         * tests/test-rmdir.c (main): Likewise.
36039         * tests/test-sha1.c (main): Likewise.
36040         * tests/test-signal.c (main): Likewise.
36041         * tests/test-sigaction.c (main): Likewise.
36042         * tests/test-stat.c (main): Likewise.
36043         * tests/test-stat-time.c (main): Likewise.
36044         * tests/test-stddef.c (main): Likewise.
36045         * tests/test-stdint.c (main): Likewise.
36046         * tests/test-stdio.c (main): Likewise.
36047         * tests/test-stdlib.c (main): Likewise.
36048         * tests/test-strchrnul.c (main): Likewise.
36049         * tests/test-strerror.c (main): Likewise.
36050         * tests/test-string.c (main): Likewise.
36051         * tests/test-strtod.c (main): Likewise.
36052         * tests/test-strverscmp.c (main): Likewise.
36053         * tests/test-symlink.c (main): Likewise.
36054         * tests/test-symlinkat.c (main): Likewise.
36055         * tests/test-sys_stat.c (main): Likewise.
36056         * tests/test-sys_time.c (main): Likewise.
36057         * tests/test-time.c (main): Likewise.
36058         * tests/test-unistd.c (main): Likewise.
36059         * tests/test-unlink.c (main): Likewise.
36060         * tests/test-unlinkat.c (main): Likewise.
36061         * tests/test-utimens.c (main): Likewise.
36062         * tests/test-utimensat.c (main): Likewise.
36063         * tests/test-version-etc.c (main): Likewise.
36064         * tests/test-wchar.c (main): Likewise.
36065         * tests/test-wctype.c (main): Likewise.
36066         * tests/test-xprintf-posix.c (main): Likewise.
36067         * tests/test-posixtm.c (main): Likewise.
36068         (STREQ): Delete unused macro.
36069         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
36070         shadowed variables.
36071         * tests/test-memchr.c (main): Likewise.
36072
36073 2009-10-21  Eric Blake  <ebb9@byu.net>
36074
36075         areadlinkat: avoid failure on older glibc
36076         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
36077         rather than mis-comparing 0 against FUNC_RESULT of char*.
36078
36079 2009-10-21  Bruno Haible  <bruno@clisp.org>
36080
36081         * modules/stpncpy (License): Relicense under LGPLv2+.
36082         Reported by David Lutterkort <lutter@redhat.com>.
36083
36084 2009-10-20  Eric Blake  <ebb9@byu.net>
36085
36086         utimensat: work around Solaris 9 bug
36087         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
36088         has trailing slash bugs.
36089         * tests/test-lutimens.h (test_lutimens): Enhance test.
36090         * tests/test-utimens.h (test_utimens): Likewise.
36091         * doc/posix-functions/utime.texi (utime): Enhance documentation.
36092         * doc/posix-functions/utimes.texi (utimes): Likewise.
36093         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
36094         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
36095         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
36096         * doc/posix-functions/futimens.texi (futimens): Likewise.
36097
36098         fdutimensat: new module
36099         * modules/fdutimensat: New file.
36100         * lib/fdutimensat.c (fdutimensat): Likewise.
36101         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
36102         * MODULES.html.sh (File system functions): Mention module.
36103         * modules/fdutimensat-tests: New test.
36104         * tests/test-fdutimensat.c: Likewise.
36105
36106         doc: regenerate INSTALL
36107         * doc/INSTALL: Reflect recent autoconf update.
36108         * doc/INSTALL.ISO: Likewise.
36109         * doc/INSTALL.UTF-8: Likewise.
36110
36111 2009-10-20  Pádraig Brady  <P@draigBrady.com>
36112
36113         acl: warn if ACL support is not detected
36114         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
36115
36116 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
36117
36118         * lib/nproc.h: Add extern "C" block for C++.
36119
36120 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
36121             Bruno Haible  <bruno@clisp.org>
36122
36123         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
36124         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
36125         * doc/posix-functions/isalpha.texi: Likewise.
36126         * doc/posix-functions/isblank.texi: Likewise.
36127         * doc/posix-functions/iscntrl.texi: Likewise.
36128         * doc/posix-functions/isdigit.texi: Likewise.
36129         * doc/posix-functions/isgraph.texi: Likewise.
36130         * doc/posix-functions/islower.texi: Likewise.
36131         * doc/posix-functions/isprint.texi: Likewise.
36132         * doc/posix-functions/ispunct.texi: Likewise.
36133         * doc/posix-functions/isspace.texi: Likewise.
36134         * doc/posix-functions/isupper.texi: Likewise.
36135         * doc/posix-functions/isxdigit.texi: Likewise.
36136
36137 2009-10-18  Bruno Haible  <bruno@clisp.org>
36138
36139         Tests for module 'isblank'.
36140         * modules/isblank-tests: New file.
36141         * tests/test-isblank.c: New file.
36142
36143         New module 'isblank'.
36144         * lib/isblank.c: New file.
36145         * m4/isblank.m4: New file.
36146         * modules/isblank: New file.
36147         * doc/posix-functions/isblank.texi: Mention the new module.
36148
36149 2009-10-18  Bruno Haible  <bruno@clisp.org>
36150
36151         New module 'ctype'.
36152         * lib/ctype.in.h: New file.
36153         * m4/ctype.m4: New file.
36154         * modules/ctype: New file.
36155         * doc/posix-headers/ctype.texi: Mention the new module.
36156
36157 2009-10-18  Jim Meyering  <meyering@redhat.com>
36158
36159         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
36160         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
36161         right after its initialization, rather than farther down.
36162         Keeping these in close proximity makes it easier to ensure
36163         that each such variable is initialized.  E.g.,
36164
36165             LIB_CLOCK_GETTIME=
36166             AC_SUBST([LIB_CLOCK_GETTIME])
36167
36168         This change also increments these serial numbers.
36169         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
36170         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
36171         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
36172
36173 2009-10-18  Bruno Haible  <bruno@clisp.org>
36174
36175         Don't let environment variables perturb build.
36176         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
36177         (gl_PREREQ_GETHRXTIME): ... not here.
36178
36179 2009-10-18  Bruno Haible  <bruno@clisp.org>
36180
36181         Avoid symlink attack in localcharset module.
36182         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
36183         (O_NOFOLLOW): Define fallback.
36184         (get_charset_aliases): Don't open the file if it is a symbolic link.
36185         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
36186         gl_FCNTL_H.
36187         (gl_FCNTL_H): Require it.
36188         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
36189         * modules/localcharset (Files): Add m4/fcntl_h.m4.
36190         Reported by Fergal Glynn <fglynn@veracode.com>.
36191
36192 2009-10-18  Bruno Haible  <bruno@clisp.org>
36193
36194         Implement nproc for mingw.
36195         * lib/nproc.c: Include <windows.h>
36196         (num_processors): On native Windows platforms, try GetSystemInfo.
36197
36198 2009-10-18  Bruno Haible  <bruno@clisp.org>
36199
36200         Implement nproc for IRIX.
36201         * lib/nproc.c: Include <sys/sysmp.h>.
36202         (num_processors): On IRIX systems, try sysmp.
36203         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
36204
36205 2009-10-18  Bruno Haible  <bruno@clisp.org>
36206
36207         Implement nproc for HP-UX.
36208         * lib/nproc.c: Include <sys/pstat.h>
36209         (num_processors): On HP-UX systems, try pstat_getdynamic.
36210         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
36211         pstat_getdynamic.
36212
36213 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
36214             Bruno Haible  <bruno@clisp.org>
36215
36216         Implement nproc for NetBSD, OpenBSD.
36217         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
36218         (ARRAY_SIZE): New macro.
36219         (num_processors): On BSD systems, try sysctl of HW_NCPU.
36220         * m4/nproc.m4: New file.
36221         * modules/nproc (Files): Add m4/nproc.m4.
36222         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
36223         (Makefile.am): Instead, augment lib_SOURCES.
36224
36225 2009-10-18  Bruno Haible  <bruno@clisp.org>
36226
36227         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
36228         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
36229         sys/param.h.
36230
36231 2009-10-16  Eric Blake  <ebb9@byu.net>
36232
36233         utimensat: new module
36234         * modules/utimensat: New file.
36235         * lib/utimensat.c (utimensat): Likewise.
36236         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
36237         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
36238         so we can work around Linux bugs.
36239         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
36240         * modules/sys_stat (Makefile.am): Substitute them.
36241         * lib/sys_stat.in.h (utimensat): Declare it.
36242         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36243         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
36244         * modules/utimensat-tests: New test.
36245         * tests/test-utimensat.c: Likewise.
36246
36247         utimens: let lutimens work on non-symlinks
36248         * lib/utimens.c (lutimens): Fall back to utimens rather than
36249         failing with ENOSYS, when file is not a symlink.
36250         (utimens): Reduce redirection.
36251         * tests/test-lutimens.h (test_lutimens): Update test to cover
36252         non-symlinks.
36253         * tests/test-utimens.h (test_utimens): Update test to cover
36254         symlinks.
36255         * tests/test-utimens.c (main): Update caller.
36256
36257         utimens: cache whether utimensat syscall works
36258         * lib/utimens.c (utimensat_works_really): New cache variable.
36259         (fdutimens, lutimens): Use it to avoid failing syscall.
36260
36261         test-stat-time, test-utimens: improve portability
36262         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
36263         ext4 on alpha, and for cygwin.
36264         * tests/test-utimens-common.h: New file.
36265         (nap): Factor delays into single function.
36266         * tests/test-lutimens.h (test_lutimens): Use new header.
36267         * tests/test-futimens.h (test_futimens): Likewise.
36268         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
36269         timestamps to occur from same machine, as was done previously for
36270         test_utimens.
36271         * modules/utimens-tests (Files): Ship new file.
36272         * modules/futimens-tests (Files): Likewise.
36273         Reported in part by Jim Meyering.
36274
36275         sys_stat: sort replacement declarations
36276         * lib/sys_stat.in.h: Sort declarations.
36277         * lib/futimens.c (futimens): Fix typo.
36278
36279 2009-10-15  Jim Meyering  <meyering@redhat.com>
36280
36281         don't let environment settings perturb build
36282         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
36283         could cause a configure-time and/or build-time malfunction.
36284         Typically, a configure-time function-in-library test is performed
36285         via code like this:
36286
36287           LIB_VAR=
36288           AC_SUBST([LIB_VAR])
36289           prefix_saved_LIBS=$LIBS
36290             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
36291                        [test "$ac_cv_search_FUNC" = "none required" ||
36292                         LIB_VAR=$ac_cv_search_FUNC])
36293           LIBS=$prefix_saved_LIBS
36294
36295         However, in each of the files affected by this change, the LIB_VAR=
36296         initialization was omitted.  Thus, when set in the environment, its
36297         value would propagate into generated Makefiles when FUNC is not found
36298         in LIB_NAME.
36299         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
36300         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
36301         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
36302
36303 2009-10-14  Eric Blake  <ebb9@byu.net>
36304
36305         fchdir: avoid infinite recursion in mingw
36306         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
36307         recursing.
36308
36309         test-stat-time: port to mingw
36310         * tests/test-stat-time.c (force_unlink): Return a value.
36311         (test_ctime) [W32]: Fix compilation error.
36312         (nap): Don't call usleep with too large an argument.  Use
36313         force_unlink.
36314         * doc/pastposix-functions/usleep.texi (usleep): Document the
36315         portability issue.
36316
36317 2009-10-13  Jim Meyering  <meyering@redhat.com>
36318
36319         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
36320         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
36321         * modules/pipe-filter-ii: Likewise.
36322         * modules/sys_socket-tests: Likewise.
36323         * modules/tsearch-tests: Likewise.
36324         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
36325         (check): Depend on it.
36326
36327 2009-10-12  Eric Blake  <ebb9@byu.net>
36328
36329         utimens-tests: port to NFS file systems
36330         * tests/test-utimens.h (test_utimens): Refactor utimecmp
36331         comparisons to avoid spurious failures from timestamp drift
36332         between NFS machines.
36333
36334 2009-10-12  Eric Blake  <ebb9@byu.net>
36335
36336         stat-time-tests: minor cleanups
36337         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
36338         * tests/test-stat-time.c (nap): Separate assignment from call.
36339         Suggested by Paolo Bonzini and Bruno Haible.
36340
36341         sys_stat: guarantee struct timespec
36342         * lib/sys_stat.in.h (includes): Always include <time.h>
36343         * modules/sys_stat (Depends-on): Add time.
36344         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
36345         mode_t permission values.
36346         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
36347         get at subsecond timestamps.
36348
36349 2009-10-10  Eric Blake  <ebb9@byu.net>
36350
36351         futimens: new module
36352         * modules/futimens: New file.
36353         * lib/futimens.c (futimens): Likewise.
36354         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
36355         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
36356         we can work around Linux bugs.
36357         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
36358         * modules/sys_stat (Makefile.am): Substitute them.
36359         * lib/sys_stat.in.h (futimens): Declare it.
36360         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36361         * doc/posix-functions/futimens.texi (futimens): Likewise.
36362         * modules/futimens-tests: New test.
36363         * tests/test-futimens.c: Likewise.
36364
36365         utimens: introduce fdutimens
36366         * lib/utimens.h (fdutimens): New prototype.
36367         * lib/utimens.c (gl_futimens): Move guts...
36368         (fdutimens): ...to new interface.
36369         * tests/test-utimens.c (do_fdutimens): Use it.
36370
36371         utimens: add UTIME_NOW and UTIME_OMIT support
36372         * lib/utimens.c (validate_timespec, update_timespec): New helper
36373         functions.
36374         (gl_futimens, lutimens): Use them.
36375         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
36376         stdbool, sys_stat.
36377         (Link): Mention resulting library dependency.
36378         * modules/utimecmp (Link): Likewise.
36379         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
36380         (Makefile.am): Pick up library dependency.
36381         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
36382         definition.
36383         * tests/test-sys_stat.c: Test the definitions.
36384         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
36385         * NEWS: Document library dependency.
36386
36387         utimecmp: support symlink timestamps
36388         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
36389         hashing when possible.  Use pathconf when available.
36390         (SYSCALL_RESOLUTION): Recognize tighter resolution.
36391         * modules/utimecmp (Depends-on): Add lstat.
36392
36393         utimens: add lutimens interface
36394         * lib/utimens.c (lutimens): New function.
36395         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
36396         * lib/utimens.h (lutimens): Declare new interface.
36397         * tests/test-utimens.c (main): Enhance test.
36398         * tests/test-lutimens.h (test_lutimens): New file.
36399         * modules/utimens-tests (Files): Distribute it.
36400         (Depends-on): Add symlink.
36401         (configure.ac): Check for usleep.
36402
36403         utimens: validate futimens usage
36404         * lib/utimens.c (gl_futimens): Require valid fd up front, using
36405         fewer syscalls on failure later on.  Avoid compiler warning on
36406         mingw.
36407         * modules/utimens (Depends-on): Add dup2.
36408
36409         utimens: add test
36410         * modules/utimens-tests: New test.
36411         * tests/test-utimens.h: New file.
36412         * tests/test-futimens.h: Likewise.
36413         * tests/test-utimens.c: Likewise.
36414
36415         doc: mention timestamp portability issues
36416         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
36417         instead.
36418         * doc/posix-functions/utime.texi (utime): Likewise.
36419         * doc/posix-functions/utimes.texi (utimes): Likewise.
36420         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
36421         instead.
36422         * doc/posix-functions/futimens.texi (futimens): Mention utimens
36423         module.
36424         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
36425         Mention weakness with symlink timestamps.
36426         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
36427         to utimensat/futimens instead.
36428         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
36429
36430         test-dup2: enhance test
36431         * tests/test-dup2.c (main): Also check AT_FDCWD.
36432
36433         test-stat-time: avoid more spurious failures
36434         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
36435         xfs; and avoid race if the two timestamps cross quantization edge.
36436
36437         relocatable: prefer 'file system' over 'filesystem'
36438         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
36439         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
36440         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
36441         * doc/relocatable.texi (Enabling Relocatability): Likewise.
36442         * lib/relocatable.c (compute_curr_prefix): Likewise.
36443
36444 2009-10-10  Jim Meyering  <meyering@redhat.com>
36445
36446         stat-time-tests: check for the usleep function
36447         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
36448
36449 2009-10-10  Bruno Haible  <bruno@clisp.org>
36450
36451         * modules/xnanosleep: Put the Link section after the Include section.
36452
36453 2009-10-09  Eric Blake  <ebb9@byu.net>
36454
36455         dup2: work around FreeBSD 6.1 bug
36456         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
36457         * doc/posix-functions/dup2.texi (dup2): Document it.
36458         Reported by Nelson H. F. Beebe and Jim Meyering.
36459
36460         test-stat-time: port to buggy NFS clients
36461         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
36462         (test_ctime): Also skip test if mtime and ctime are skewed.
36463
36464         maint: prefer 'file system' over 'filesystem'
36465         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
36466         * doc/posix-functions/lstat.texi (lstat): Likewise.
36467         * lib/file-has-acl.c (file_has_acl): Likewise.
36468         * lib/fwriteerror.c [TEST]: Likewise.
36469         * tests/test-areadlink.h (test_areadlink): Likewise.
36470         * tests/test-areadlinkat-with-size.c (main): Likewise.
36471         * tests/test-areadlinkat.c (main): Likewise.
36472         * tests/test-canonicalize-lgpl.c (main): Likewise.
36473         * tests/test-canonicalize.c (main): Likewise.
36474         * tests/test-fstatat.c (main): Likewise.
36475         * tests/test-linkat.c (main): Likewise.
36476         * tests/test-lstat.h (test_lstat_func): Likewise.
36477         * tests/test-mkdir.h (test_mkdir): Likewise.
36478         * tests/test-readlink.h (test_readlink): Likewise.
36479         * tests/test-remove.c (main): Likewise.
36480         * tests/test-rename.h (test_rename): Likewise.
36481         * tests/test-renameat.c (main): Likewise.
36482         * tests/test-rmdir.h (test_rmdir_func): Likewise.
36483         * tests/test-symlink.h (test_symlink): Likewise.
36484         * tests/test-symlinkat.c (main): Likewise.
36485         * tests/test-unlink.h (test_unlink_func): Likewise.
36486         * tests/test-unlinkat.c (main): Likewise.
36487
36488         maint: make realtime library usage explicit
36489         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
36490         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
36491         * modules/settime (Link): Likewise.
36492         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
36493
36494         test-stat-time: speed up execution
36495         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
36496         warning on mingw.
36497         (nap): New helper function.
36498         (prepare_test): Use it to reduce sleep time.
36499         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
36500         execution.
36501         * modules/stat-time-tests (configure.ac): Check for usleep.
36502
36503 2009-10-09  Jim Meyering  <meyering@redhat.com>
36504
36505         selinux-h: always use getfilecon wrappers
36506         * lib/getfilecon.c: New file.
36507         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
36508         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
36509         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
36510         (fgetfilecon): Provide a stub.
36511         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
36512         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
36513         file unconditionally.
36514         When <selinux/selinux.h> is found, arrange to use wrappers.
36515         * modules/selinux-h (Files): Add getfilecon.c.
36516         (Makefile.am): Substitute include-next-related bits
36517         into the now-always-generated selinux/selinux.h file.
36518         * doc/glibc-functions/lgetfilecon.texi: New file.
36519         * doc/glibc-functions/fgetfilecon.texi: New file.
36520         * doc/glibc-functions/getfilecon.texi: New file.
36521         * doc/glibc-functions/getfilecon-desc.texi: New file.
36522         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
36523         which to pull in the new files.
36524         * MODULES.html.sh (Misc): Add selinux-h.
36525
36526 2009-10-08  Jim Meyering  <meyering@redhat.com>
36527
36528         unistd: fix comment typo
36529         * lib/unistd.in.h (euidaccess): Fix a comment typo.
36530
36531 2009-10-08  Eric Blake  <ebb9@byu.net>
36532
36533         areadlink: use SIZE_MAX consistently
36534         * modules/areadlink (Depends-on): Add stdint.
36535         * modules/areadlink-with-size (Depends-on): Likewise.
36536         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
36537         gives NULL; drop sys/types, since unistd gives size_t; and add
36538         stdint for SIZE_MAX.
36539         (SIZE_MAX): Rely on headers.
36540         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
36541         and add stdint.
36542         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
36543         (SIZE_MAX): Likewise.
36544         (INITIAL_BUF_SIZE): Turn into enum.
36545         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
36546
36547 2009-10-08  Jim Meyering  <meyering@redhat.com>
36548
36549         areadlinkat: avoid compilation failure
36550         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
36551         Fix typo in comment.
36552
36553 2009-10-07  Eric Blake  <ebb9@byu.net>
36554
36555         areadlinkat-with-size: new module
36556         * modules/areadlinkat-with-size: New module.
36557         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
36558         * lib/areadlink.h (areadlinkat): Declare it.
36559         * MODULES.html.sh (File system functions): Mention it.
36560         * modules/areadlinkat-with-size-tests: New test.
36561         * tests/test-areadlinkat-with-size.c: New file.
36562
36563         xreadlinkat: new module
36564         * modules/xreadlinkat: New module.
36565         * lib/xreadlinkat.c (xreadlinkat): New file.
36566         * lib/xreadlink.h (xreadlinkat): Declare it.
36567         * MODULES.html.sh (File system functions): Mention it.
36568
36569         areadlinkat: new module
36570         * lib/at-func.c (FUNC_FAIL): New define.
36571         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
36572         * modules/areadlinkat: New module.
36573         * lib/linkat.c (areadlinkat): Move...
36574         * lib/areadlinkat.c (areadlinkat): ...to new file.
36575         * lib/areadlink.h (areadlinkat): Declare it.
36576         * modules/linkat (Depends-on): Add areadlinkat.
36577         * MODULES.html.sh (File system functions): Mention it.
36578         * modules/areadlinkat-tests: New test.
36579         * tests/test-areadlinkat.c: New file.
36580
36581         areadlink, areadlink-with-size: add tests
36582         * modules/areadlink-tests: New test.
36583         * modules/areadlink-with-size-tests: Likewise.
36584         * tests/test-areadlink.h: New file.
36585         * tests/test-areadlink.c: Likewise.
36586         * tests/test-areadlink-with-size.c: Likewise.
36587
36588         maint: minor cleanups
36589         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
36590         _UNUSED_PARAMETER_ instead.
36591         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
36592         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
36593         * modules/linkat-tests (Files): Distribute test-link.h.
36594
36595         openat, utimens: whitespace cleanup
36596         * lib/openat.c: Prefer space throughout, rather than mix of 8
36597         spaces vs. tabs.
36598         * lib/at-func.c: Likewise.
36599         * lib/utimens.c: Likewise.
36600
36601         openat: avoid using wrong fd
36602         * lib/openat.c (openat_permissive): Reject user's fd if saving the
36603         working directory chooses same fd.
36604         * lib/at-func.c (AT_FUNC_NAME): Likewise.
36605
36606         mkdir, mkdirat: fix cygwin 1.5.x bug
36607         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
36608         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
36609         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
36610         bug.
36611         (gl_PREREQ_MKDIR): Delete unused macro.
36612         * modules/mkdir (Files): Track file rename.
36613         (configure.ac): Update macro name.
36614         * modules/openat (Depends-on): Add mkdir.
36615         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
36616
36617         mkdir, mkdirat: add tests
36618         * modules/mkdir-tests: New test.
36619         * tests/test-mkdir.h: New file.
36620         * tests/test-mkdir.c: Likewise.
36621         * tests/test-mkdirat.c: Likewise.
36622         * modules/openat-tests (Files): Add new files.
36623         (Makefile.am): Run new test.
36624
36625 2009-10-06  Eric Blake  <ebb9@byu.net>
36626
36627         doc: tweak *at function documentation
36628         * doc/posix-functions/faccessat.texi (faccessat): Mention
36629         known issue with replacement.
36630         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
36631         * doc/posix-functions/linkat.texi (linkat): Likewise.
36632         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
36633         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
36634         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
36635         * doc/posix-functions/renameat.texi (renameat): Likewise.
36636         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
36637
36638         openat: fix GNU/Hurd bug in unlinkat
36639         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
36640         broken.
36641         * doc/posix-functions/unlink.texi (unlink): Document this.
36642         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
36643
36644         fdopendir: fix GNU/Hurd bug
36645         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
36646         allowing non-directory fds.
36647         * lib/fdopendir.c (rpl_fdopendir): Work around it.
36648         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
36649         * modules/dirent (Makefile.am): Substitute it.
36650         * lib/dirent.in.h (fdopendir): Declare replacement.
36651         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
36652         * tests/test-fdopendir.c (main): Test something other than
36653         /dev/null, since on Hurd that behaves like a directory.
36654
36655         test-symlink: port to GNU/Hurd
36656         * tests/test-symlink.h (test_symlink): Relax expected errno.
36657
36658         doc: tweak more cygwin information
36659         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
36660         now compatible with glibc.
36661         * doc/posix-functions/getopt.texi (getopt): Likewise.
36662
36663         getopt-gnu: add another test
36664         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
36665         guarantee behavior relied on by m4.
36666         * tests/test-getopt.c (main): Use it.
36667         * modules/getopt-posix-tests (Depends-on): Add setenv.
36668         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
36669
36670         getopt: fix compilation on darwin
36671         * lib/getopt.in.h (includes): Leave breadcrumbs during system
36672         include.
36673         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
36674         Reported by Ludovic Courtès.
36675
36676 2009-10-06  Bruno Haible  <bruno@clisp.org>
36677
36678         * modules/size_max (Description): Discourage its use.
36679         Reported by Simon Josefsson.
36680
36681 2009-10-06  Jim Meyering  <meyering@redhat.com>
36682
36683         linkat: avoid compilation failure
36684         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
36685
36686 2009-10-05  Eric Blake  <ebb9@byu.net>
36687
36688         linkat: support Linux 2.6.17
36689         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
36690         linkat on Linux, but allow cache variable override.
36691         * lib/linkat.c (rpl_linkat): Define override.
36692         * modules/linkat (Depends-on): Add symlinkat.
36693         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
36694         * modules/unistd (Makefile.am): Substitute it.
36695         * lib/unistd.in.h (linkat): Declare replacement.
36696         Reported by Pádraig Brady.
36697
36698         quotearg: port test to systems with C.UTF-8 locale
36699         * tests/test-quotearg.c (struct result_strings): Add another
36700         member, differentiating between C.ASCII and C.UTF-8 handling.
36701         (compare_strings): Add parameter.
36702         (main): Adjust all callers.
36703
36704         getopt: avoid clash with FreeBSD _getopt_internal
36705         * lib/getopt.in.h (_getopt_internal): Override the name.
36706         * lib/getopt_int.h (includes): Pick up any overrides.
36707         Reported by Reuben Thomas.
36708
36709         hash: allow C89 compilation
36710         * lib/hash.c (check_tuning): Move declaration before statement.
36711         Reported by Reuben Thomas.
36712
36713 2009-10-05  Karl Berry  <karl@gnu.org>
36714
36715         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
36716
36717 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
36718             Bruno Haible  <bruno@clisp.org>
36719
36720         * lib/uname.c (uname): Use a table-driven algorithm to compute
36721         Windows NT versions.
36722
36723 2009-10-04  Bruno Haible  <bruno@clisp.org>
36724
36725         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
36726         program_invocation_short_name.
36727         * modules/progname (configure.ac): Test for presence of
36728         program_invocation_short_name.
36729         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
36730
36731 2009-10-04  Bruno Haible  <bruno@clisp.org>
36732
36733         * lib/progname.c (set_program_name): Fix comment.
36734         Reported by Jim Meyering.
36735
36736 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
36737             Bruno Haible  <bruno@clisp.org>
36738
36739         * lib/uname.c: Include <string.h>.
36740         (uname): Do only one call to GetVersionEx in the common case.
36741
36742 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
36743             Bruno Haible  <bruno@clisp.org>
36744
36745         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
36746         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
36747         (uname): Add support for Windows CE and various non-x86 CPU types.
36748
36749 2009-10-03  Bruno Haible  <bruno@clisp.org>
36750
36751         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
36752         invocation to tests/configure.ac.
36753         Reported by Ian Beckwith <ianb@erislabs.net>.
36754
36755 2009-10-02  Eric Blake  <ebb9@byu.net>
36756
36757         fchdir: avoid compiler warning
36758         * lib/fchdir.c (canonicalize_file_name)
36759         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
36760
36761         test-open: support mingw errno values
36762         * tests/test-open.h (test_open): Relax test.
36763         * tests/test-fopen.h (test_fopen): Likewise.
36764         * tests/test-openat-safer.c (main): Likewise.
36765
36766         open: fix opening directory on mingw
36767         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
36768
36769         test-open: on GNU/Hurd, /dev/null is a directory
36770         * tests/test-fopen.h (main): Rename...
36771         (test_fopen): ...to this.  Use a guaranteed non-directory when
36772         confirming open behavior on trailing slash.
36773         * tests/test-openat-safer.c (main): Likewise.
36774         * tests/test-open.h (main): Likewise....
36775         (test_open): ...to this.
36776         * tests/test-fopen.c (main): Adjust caller.
36777         * tests/test-fopen-safer.c (main): Likewise.
36778         * tests/test-open.c (main): Likewise.
36779         * tests/test-fcntl-safer.c (main): Likewise.
36780         Reported by Samuel Thibault.
36781
36782         rename, fchdir: don't ignore chdir failure
36783         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
36784         * lib/rename.c (rpl_rename) [W32]: Likewise.
36785         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
36786         an empty destination directory if source cannot be renamed,
36787         although there is still possibility for failure.
36788         * doc/posix-functions/rename.texi (rename): Document the race.
36789         Reported by Jim Meyering.
36790
36791         maint: cleanup whitespace in recent commits
36792         * lib/rename.c (rpl_rename): Remove tabs.
36793         * tests/test-link.h (test_link): Likewise.
36794         * lib/fchdir.c (get_name): Likewise.
36795         Reported by Jim Meyering.
36796
36797 2009-10-02  Ben Pfaff  <blp@gnu.org>
36798
36799         relocatable-prog-wrapper: Add missing dependency on
36800         double-slash-root.
36801         * modules/relocatable-prog-wrapper: Add dependency.
36802         Reported by Ian Beckwith <ianb@erislabs.net>.
36803
36804 2009-10-02  Eric Blake  <ebb9@byu.net>
36805
36806         renameat: fix Solaris bugs
36807         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
36808         needed fixing.
36809         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
36810         * modules/stdio (Makefile.am): Substitute it.
36811         * lib/stdio.in.h (renameat): Declare replacement.
36812         * lib/renameat.c (rpl_renameat): Implement fix.
36813
36814         renameat: new module
36815         * modules/renameat: New file.
36816         * lib/renameat.c (renameat): Likewise.
36817         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
36818         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
36819         * modules/stdio (Makefile.am): Substitute them.
36820         * lib/stdio.in.h (renameat): Declare it.
36821         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36822         * doc/posix-functions/renameat.texi (renameat): Likewise.
36823         * modules/renameat-tests: New test.
36824         * tests/test-renameat.c: Likewise.
36825
36826         rename: fix mingw bugs
36827         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
36828         directory overwrite bugs.
36829
36830         rename: fix another cygwin 1.5 bug
36831         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
36832         checks.
36833         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
36834         unnecessary cygwin workarounds.  Also work around bug with moving
36835         full directory onto an empty one.
36836         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
36837
36838         rename-dest-slash: merge into rename module
36839         * modules/rename-dest-slash (Status): Mark obsolete.
36840         (Depends-on): Add rename.
36841         (Files): Let rename do it all.
36842         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
36843         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
36844         * m4/rename-dest-slash.m4: ...so this file can be deleted.
36845         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
36846         * lib/rename.c (rpl_rename): Update comments.
36847
36848         rename: fix cygwin 1.5.x bugs
36849         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
36850         * lib/rename.c (rpl_rename): Work around them.
36851         * modules/rename (Depends-on): Add same-inode.
36852
36853         rename: fix Solaris 10 bug
36854         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
36855         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
36856         was the only bug.
36857
36858         rename: fix Solaris 9 bug
36859         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
36860         on non-directory.  Avoid calling exit.
36861         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
36862         strdup.
36863         * modules/rename-tests (Depends-on): Drop lstat.
36864         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
36865         (gl_PREREQ_RENAME): Delete unused macro.
36866
36867         rename-dest-slash: fix NetBSD bug
36868         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
36869         links.
36870         * modules/rename-dest-slash (Depends-on): Add same-inode.
36871
36872         rename-tests: new test, exposes several platform bugs
36873         * modules/rename-tests: New file.
36874         * tests/test-rename.h: Likewise.
36875         * tests/test-rename.c: Likewise.
36876         * doc/posix-functions/rename.texi (rename): Improve documentation,
36877         including bugs that will eventually be fixed in gnulib.
36878
36879 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
36880
36881         * lib/uname.c: Include <stdlib.h>
36882         (uname): Assume version info is available.
36883
36884 2009-10-02  Jim Meyering  <meyering@redhat.com>
36885
36886         gnu-web-doc-update: correct --help output
36887         * build-aux/gnu-web-doc-update: Make --help output relevant.
36888
36889         gnu-web-doc-update: add standard options
36890         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
36891
36892         gnu-web-doc-update: New module.
36893         Use this script to automatically update the on-line web documentation
36894         for your GNU project at http://www.gnu.org/software/$pkg/manual/
36895         * modules/gnu-web-doc-update: New file, from coreutils.
36896         * build-aux/gnu-web-doc-update: New script.
36897
36898 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
36899
36900         link: LoadLibrary is not needed.
36901         * lib/link.c: Use GetModuleHandle.
36902
36903 2009-10-01  Eric Blake  <ebb9@byu.net>
36904
36905         getopt: bump serial number
36906         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
36907         change.
36908
36909         tests: tighten link, rmdir, and remove tests
36910         * tests/test-link.h (includes): No need to use <config.h> here.
36911         Clean up if directory hard link was created, otherwise test for
36912         trailing '.'.
36913         * tests/test-linkat.c (main): Simplify.
36914         * tests/test-remove.c (main): Enhance test for trailing '.'.
36915         * tests/test-rmdir.h (test_rmdir_func): Likewise.
36916
36917 2009-10-01  Jim Meyering  <meyering@redhat.com>
36918
36919         maint.mk: requiring "make major" was annoying, for a "minor" release.
36920         What is intended is "stable", to contrast with alpha and beta,
36921         so require "make stable", not "make major".
36922         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
36923         (get_tool_versions): Likewise.
36924         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
36925
36926 2009-09-30  Ben Pfaff  <blp@gnu.org>
36927
36928         Fix broken build of replacement for Windows tmpfile().
36929         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
36930         flags argument added along with the 'mkostemp' module.
36931
36932 2009-09-28  Bruno Haible  <bruno@clisp.org>
36933
36934         Avoid identifier clash with POSIX function 'remove' defined as a macro.
36935         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
36936         to 'remove_elt'.
36937         (gl_list_remove): Update.
36938         * lib/gl_list.c (gl_list_remove): Update.
36939         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
36940         to 'remove_elt'.
36941         (gl_oset_remove): Update.
36942         * lib/gl_list.c (gl_oset_remove): Update.
36943         Reported by Eric Blake.
36944
36945 2009-09-28  Eric Blake  <ebb9@byu.net>
36946
36947         doc: mention yet more cygwin 1.7 status
36948         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
36949         cygwin.
36950         * doc/glibc-functions/execvpe.texi (execvpe): New file.
36951         * doc/gnulib.texi (Glibc unistd.h): Mention it.
36952
36953         argp: fix test failure
36954         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
36955         that are not upper-case.  Pass correct range to tolower.
36956
36957 2009-09-27  Jim Meyering  <meyering@redhat.com>
36958
36959         test-yesno: work around sparc-dash here-document infelicity
36960         Without this change, the literal \177 byte in a here document
36961         would make dash 0.5.5.1-3 access uninitialized memory.
36962         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
36963         Instead, use a marker, "@", and filter through tr to create the desired
36964         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
36965
36966 2009-09-27  Bruno Haible  <bruno@clisp.org>
36967
36968         Disable untested support for new flavours of ACLs on AIX.
36969         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
36970         progress.
36971         * lib/set-mode-acl.c (qset_acl): Likewise.
36972
36973 2008-12-07  Bruno Haible  <bruno@clisp.org>
36974
36975         Add support for new flavours of ACLs on AIX. (Untested.)
36976         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
36977         (file_has_acl): Add support for newer AIX.
36978         * lib/set-mode-acl.c (qset_acl): Likewise.
36979         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
36980         Rainer Tammer <tammer@tammer.net>.
36981
36982 2009-09-26  Eric Blake  <ebb9@byu.net>
36983
36984         argp: fix compilation of getopt
36985         * lib/getopt.in.h (includes): Use different guard than glibc.
36986         Reported by Sergey Poznyakoff.
36987
36988         doc: mention more cygwin 1.7 status
36989         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
36990         bug.
36991         * doc/posix-functions/execl.texi (execl): Likewise.
36992         * doc/posix-functions/execle.texi (execle): Likewise.
36993         * doc/posix-functions/execlp.texi (execlp): Likewise.
36994         * doc/posix-functions/execv.texi (execv): Likewise.
36995         * doc/posix-functions/execve.texi (execve): Likewise.
36996         * doc/posix-functions/execvp.texi (execvp): Likewise.
36997         * doc/glibc-functions/canonicalize_file_name.texi
36998         (canonicalize_file_name): Cygwin 1.7 now provides this.
36999         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
37000         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
37001         on AT_SYMLINK_NOFOLLOW.
37002
37003 2009-09-24  Eric Blake  <ebb9@byu.net>
37004
37005         test-linkat: make test more robust
37006         * tests/test-linkat.c (main): Avoid collision with EEXIST.
37007
37008         getopt: fix inclusion guards for cygwin
37009         * modules/getopt-posix (Depends-on): Add include-next.
37010         (Makefile.am): Substitute more items in replacement header.
37011         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
37012         <getopt.h>.
37013         * lib/getopt.in.h (includes): Use split inclusion guard, and
37014         prefer <getopt.h> over include <unistd.h> when one is present.
37015         (option): Also override name of 'struct option'.
37016
37017         same-inode: revert prior change; it is not yet ready
37018         * NEWS: Undo mention of this change.
37019         * lib/same-inode.h (same-inode.h): Undo tri-state change.
37020         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
37021         * lib/cycle-check.c (cycle_check): Likewise.
37022         * lib/same.c (same_name): Likewise.
37023         * lib/at-func2.c (at_func2): Likewise.
37024
37025 2009-09-23  Eric Blake  <ebb9@byu.net>
37026
37027         linkat: new module
37028         * modules/linkat: New file.
37029         * lib/at-func2.c (at_func2): Likewise.
37030         * lib/linkat.c (linkat): Likewise.
37031         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
37032         * lib/openat-priv.h (at_func2): Add declaration.
37033         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
37034         * modules/unistd (Makefile.am): Substitute them.
37035         * lib/unistd.in.h (linkat): Declare it.
37036         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37037         * doc/posix-functions/linkat.texi (linkat): Likewise.
37038         * doc/posix-functions/link.texi (link): Tweak wording.
37039         * tests/test-link.c (main): Move guts...
37040         * tests/test-link.h (test_link): ...into new file.
37041         * modules/linkat-tests: New test.
37042         * tests/test-linkat.c: Likewise.
37043         * modules/link-tests (Files): Ship new file.
37044         (Depends-on): Add stdbool.
37045
37046         dirname: add library-safe mdir_name
37047         * lib/dirname.h (mdir_name): New prototype.
37048         * lib/dirname.c (dir_name): Move guts...
37049         (mdir_name): ...to new function that avoids xalloc_die.
37050
37051         fchdir: another mingw fix
37052         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
37053         * lib/fchdir.c (get_name): New helper method; skips canonicalize
37054         on mingw (where it has not yet been ported), and make it optional
37055         elsewhere.
37056         (_gl_register_fd): Use it.
37057
37058         same-inode: make SAME_INODE tri-state, to port to mingw
37059         * NEWS: Mention this change.
37060         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
37061         st_ino always being 0.
37062         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
37063         * lib/cycle-check.c (cycle_check): Likewise.
37064         * lib/same.c (same_name): Likewise.
37065
37066         lstat: avoid mingw compilation error
37067         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
37068         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
37069         lstat ourselves.
37070         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
37071         was adequate.
37072         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
37073         the checks for lstat.
37074         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
37075
37076         link: fix test failure on Solaris 9
37077         * lib/link.c (rpl_link): Don't assume link will catch bogus
37078         trailing slash on source.
37079
37080         test-symlinkat: enhance test
37081         * tests/test-readlink.c (main): Move guts...
37082         * tests/test-readlink.h (test_readlink): ...into new file.
37083         * tests/test-symlink.c (main): Move guts...
37084         * tests/test-symlink.h (test_symlink): ...into new file.
37085         * tests/test-symlinkat.c (main): Use new files for further
37086         coverage.
37087         (do_symlink, do_readlink): New helper functions.
37088         * modules/symlink-tests (Files): Ship new file.
37089         (Depends-on): Add stdbool.
37090         * modules/readlink-tests (Files): Ship new file.
37091         (Depends-on): Add stdbool.
37092         * modules/symlinkat-tests (Files): Use new files.
37093
37094 2009-09-23  Eric Blake  <ebb9@byu.net>
37095
37096         readlink: document portability issue with symlink length
37097         * doc/posix-functions/lstat.texi (lstat): Mention that some file
37098         systems have bogus st_size on symlinks, and mention the
37099         areadlink-with-size module.
37100         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
37101         * doc/posix-functions/readlink.texi (readlink): Mention the
37102         areadlink module, and ERANGE failure.
37103         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
37104         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
37105
37106         readlink: fix Solaris 9 bug with trailing slash
37107         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
37108         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
37109         * doc/posix-functions/readlink.texi (readlink): Document this.
37110         * modules/readlink-tests: New test.
37111         * tests/test-readlink.c: Likewise.
37112
37113         readlink: fix cygwin 1.5.x bug with return type
37114         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
37115         * lib/unistd.in.h (readlink): Use ssize_t.
37116         * lib/readlink.c (readlink): Likewise.
37117         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37118         * modules/unistd (Makefile.am): Substitute it.
37119         * lib/unistd.in.h (readlink): Declare replacement.
37120         * doc/posix-functions/readlink.texi (readlink): Document this.
37121
37122         symlink: use throughout gnulib
37123         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
37124         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
37125         symlink is not used.
37126         * modules/symlinkat (Depends-on): Add symlink.
37127         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37128         * modules/canonicalize-tests (Depends-on): Likewise.
37129         * modules/lstat-tests (Depends-on): Likewise.
37130         * modules/openat-tests (Depends-on): Likewise.
37131         * modules/remove-tests (Depends-on): Likewise.
37132         * modules/rmdir-tests (Depends-on): Likewise.
37133         * modules/unlink-tests (Depends-on): Likewise.
37134         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
37135         * tests/test-canonicalize.c (symlink): Likewise.
37136         * tests/test-fstatat.c (symlink): Likewise.
37137         * tests/test-lstat.c (symlink): Likewise.
37138         * tests/test-remove.c (symlink): Likewise.
37139         * tests/test-rmdir.c (symlink): Likewise.
37140         * tests/test-unlink.c (symlink): Likewise.
37141         * tests/test-unlinkat.c (symlink): Likewise.
37142
37143         symlink: new module, for Solaris 9 bug
37144         * modules/symlink: New file.
37145         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
37146         * lib/symlink.c: Likewise.
37147         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
37148         * modules/unistd (Makefile.am): Substitute them.
37149         * lib/unistd.in.h (symlink): Declare replacement.
37150         * MODULES.html.sh (File system functions): Mention it.
37151         * doc/posix-functions/symlink.texi (symlink): Likewise.
37152         * modules/symlink-tests: New test.
37153         * tests/test-symlink.c: Likewise.
37154
37155 2009-09-23  Bruno Haible  <bruno@clisp.org>
37156
37157         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
37158         when needed.
37159         Test case: gnulib-tool --import --with-tests atexit inttypes.
37160         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
37161
37162 2009-09-23  Bruno Haible  <bruno@clisp.org>
37163
37164         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
37165         subcommand, not in a subshell.
37166
37167 2009-09-22  Eric Blake  <ebb9@byu.net>
37168
37169         unistd: sort replacement declarations
37170         * lib/unistd.in.h: Sort declarations.
37171
37172         open, openat: minor optimization
37173         * lib/open.c (open): If open succeeded, len is non-zero.
37174         * lib/openat.c (rpl_openat): Likewise.
37175
37176         link-follow: ensure correct result
37177         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
37178         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
37179         distinguish between possible failures.
37180
37181 2009-09-21  Eric Blake  <ebb9@byu.net>
37182
37183         fts: avoid compiler warning
37184         * lib/fts.c (dirent_inode_sort_may_be_useful)
37185         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
37186
37187 2009-09-19  Bruno Haible  <bruno@clisp.org>
37188
37189         * lib/progreloc.c (canonicalize_file_name): New declaration.
37190
37191 2009-09-19  Eric Blake  <ebb9@byu.net>
37192
37193         link: fix quoting
37194         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
37195
37196         openat: fix openat bugs on Solaris 9
37197         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
37198         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
37199         * modules/openat (Depends-on): Add open.
37200         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
37201         * modules/fcntl-h (Makefile.am): Substitute it.
37202         * lib/fcntl.in.h (openat): Declare replacement.
37203         * doc/posix-functions/openat.texi (openat): Document this.
37204
37205         openat: move fstatat and unlinkat into correct files
37206         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
37207         compiled.
37208         * lib/openat.c (fstatat, unlinkat): Move...
37209         * lib/fstatat.c (fstatat): ...into correct files.
37210         * lib/unlinkat.c (unlinkat): Likewise.
37211
37212         openat: fix unlinkat bugs on Solaris 9
37213         * lib/unlinkat.c (unlinkat): New file.
37214         * modules/openat (Depends-on): Add unlink.
37215         (Files): Distribute it.
37216         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
37217         trailing slash behavior is broken.
37218         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37219         * modules/unistd (Makefile.am): Substitute it.
37220         * lib/unistd.in.h (unlinkat): Declare replacement.
37221         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
37222
37223         openat: fix fstatat bugs on Solaris 9
37224         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
37225         stat.
37226         * doc/posix-functions/fstatat.texi (fstatat): Document this.
37227
37228         test-unlinkat: enhance test, to expose Solaris 9 bug
37229         * tests/test-unlink.c (main): Factor guts...
37230         * tests/test-unlink.h (test_rmdir_func): ...into new file.
37231         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
37232         * tests/test-rmdir.c (main): Adjust caller.
37233         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
37234         (unlinker): New helper function.
37235         (rmdirat): Enhance check.
37236         * modules/rmdir-tests (Depends-on): Add stdbool.
37237         * modules/unlink-tests (Depends-on): Likewise.
37238         (Files): Add test-unlink.h.
37239         * modules/openat-tests (Files): Likewise.
37240         (Depends-on): Add unlinkdir.
37241
37242         test-fstatat: new test, to expose Solaris 9 bugs
37243         * tests/test-stat.c (main): Factor guts...
37244         * tests/test-stat.h (test_stat_func): ...into new file.
37245         * tests/test-lstat.c (main): Factor guts...
37246         * tests/test-lstat.h (test_lstat_func): ...into new file.
37247         * tests/test-fstatat.c: New file.
37248         * modules/stat-tests (Files): Add test-stat.h.
37249         * modules/lstat-tests (Files): Add test-lstat.h.
37250         (Depends-on): Add stdbool.
37251         * modules/openat-tests (Depends-on): Add pathmax.
37252         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
37253         (Makefile.am): Run new test.
37254
37255         remove: new module, for mingw and Solaris 9 bugs
37256         * modules/remove: New file.
37257         * lib/remove.c: Likewise.
37258         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
37259         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
37260         * modules/stdio (Makefile.am): Use them.
37261         * lib/stdio.in.h (remove): Declare replacement.
37262         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37263         * doc/posix-functions/remove.texi (remove): Likewise.
37264         * modules/remove-tests: New test.
37265         * tests/test-remove.c: Likewise.
37266
37267         unlink: new module, for Solaris 9 bug
37268         * modules/unlink: New file.
37269         * lib/unlink.c: Likewise.
37270         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
37271         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
37272         * modules/unistd (Makefile.am): Use them.
37273         * lib/unistd.in.h (stat): Declare replacement.
37274         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37275         * doc/posix-functions/unlink.texi (unlink): Likewise.
37276         * modules/unlink-tests: New test.
37277         * tests/test-unlink.c: Likewise.
37278
37279         lstat: fix Solaris 9 bug
37280         * lib/lstat.c (lstat): Also check for trailing slash on
37281         non-symlink, non-directories.  Use stat module to simplify logic.
37282         * doc/posix-functions/lstat.texi (lstat): Document it.
37283         * modules/lstat-tests (Depends-on): Add errno, same-inode.
37284         (configure.ac): Check for symlink.
37285         * tests/test-lstat.c (main): Add more tests.
37286
37287         stat: add as dependency to other modules
37288         * modules/chown (Depends-on): Add stat.
37289         * modules/euidaccess (Depends-on): Likewise.
37290         * modules/fchdir (Depends-on): Likewise.
37291         * modules/isdir (Depends-on): Likewise.
37292         * modules/link (Depends-on): Likewise.
37293         * modules/lstat (Depends-on): Likewise.
37294         * modules/mkdir-p (Depends-on): Likewise.
37295         * modules/modechange (Depends-on): Likewise.
37296         * modules/open (Depends-on): Likewise.
37297         * modules/readlink (Depends-on): Likewise.
37298         * modules/same (Depends-on): Likewise.
37299
37300         stat: fix Solaris 9 bug
37301         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
37302         slash.
37303         * lib/stat.c (rpl_stat): Work around it.
37304         * doc/posix-functions/stat.texi (stat): Update documentation.
37305
37306         stat: new module, for mingw bug
37307         * modules/stat: New file.
37308         * lib/stat.c: Likewise.
37309         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
37310         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
37311         * modules/sys_stat (Makefile.am): Use them.
37312         * lib/sys_stat.in.h (stat): Declare replacement.
37313         * lib/openat.c (fstatat): Deal with lstat and stat being function
37314         macros.
37315         * modules/openat (Depends-on): Add inline.
37316         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37317         * doc/posix-functions/stat.texi (stat): Likewise.
37318         * modules/stat-tests: New test.
37319         * tests/test-stat.c: Likewise.
37320
37321 2009-09-19  Jim Meyering  <meyering@redhat.com>
37322
37323         syntax-check: detect unnecessary inclusion of canonicalize.h
37324         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
37325
37326 2009-09-19  Eric Blake  <ebb9@byu.net>
37327
37328         canonicalize-lgpl: adjust clients to use correct header
37329         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
37330         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
37331         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
37332         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
37333         * lib/progreloc.c (includes): Likewise.
37334
37335 2009-09-19  Jim Meyering  <meyering@redhat.com>
37336
37337         test-posixtm.c: correct a comment
37338         * tests/test-posixtm.c: Correct first-line comment.
37339         Spotted by Eric Blake.
37340
37341 2009-09-16  Jim Meyering  <meyering@redhat.com>
37342
37343         posixtm-tests: make T const-correct; add a test case
37344         * tests/test-posixtm.c (T): Declare const.
37345         Add a test for -(2^31+1).
37346         Remove useless can-succeed-only-in-2002 test.
37347
37348         posixtm-tests: adjust the sole failing test
37349         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
37350         expected output matches what mktime now produces.  Cross-checked via
37351         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
37352
37353         posixtm: move #ifdef'd tests into a new module
37354         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
37355         * tests/test-posixtm.c: ... this new file.
37356         * modules/posixtm-tests: New module.
37357
37358 2009-09-19  Eric Blake  <ebb9@byu.net>
37359
37360         openat: simplify use of at-func.c
37361         * lib/at-func.c (includes): Include prerequisites here, to
37362         simplify requirements on client files.
37363         * lib/openat-priv.h: Add double-inclusion guard.
37364         * lib/faccessat.c (includes): Simplify.
37365         * lib/fchmodat.c (includes): Likewise.
37366         * lib/fchownat.c (includes): Likewise.
37367         * lib/mkdirat.c (includes): Likewise.
37368         * lib/mkfifoat.c (includes): Likewise.
37369         * lib/symlinkat.c (includes): Likewise.
37370
37371         openat: allow return of fd 0
37372         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
37373         * modules/save-cwd (Depends-on): Replace fcntl-safer with
37374         unistd-safer.
37375         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
37376         <fcntl.h>; this module does not leak fds.
37377         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
37378         must be allowed to return 0, leaving openat_safer to add the
37379         safety.
37380         (openat_permissive): Avoid writing to just-opened fd 2 if
37381         restoring the current directory fails.
37382         * lib/openat-die.c (openat_restore_fail): Add comment.
37383         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
37384         (save_cwd): Guarantee safe fd, but without use of open_safer.
37385         * tests/test-openat.c: New test.
37386         * modules/openat-tests (Files, Makefile.am): Distribute and build
37387         new file.
37388
37389         relocatable-prog-wrapper: fix build
37390         * modules/relocatable-prog-wrapper (Files): Update name of
37391         canonicalize m4 file, broken on 2009-09-17.
37392         Reported by emad hajjar <aleppos@hotmail.com>.
37393
37394 2009-09-19  Bruno Haible  <bruno@clisp.org>
37395
37396         * lib/safe-alloc.h: Use the standard header with GPL copyright.
37397         * lib/safe-alloc.c: Likewise.
37398         Reported by Ian Beckwith <ianb@erislabs.net>.
37399
37400 2009-09-18  Bruno Haible  <bruno@clisp.org>
37401
37402         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
37403         Reported by <erobles@sensacd.com.mx>.
37404
37405 2009-09-17  Eric Blake  <ebb9@byu.net>
37406
37407         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
37408         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
37409         slashes when checking if last component is missing.
37410         * tests/test-canonicalize.c (main): Test this.
37411
37412         canonicalize, canonicalize-lgpl: honor // if distinct from /
37413         * modules/canonicalize (Files): Add double-slash-root.m4.
37414         * modules/canonicalize-lgpl (Files): Likewise.
37415         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
37416         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
37417         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
37418         fallback definition.
37419         (canonicalize_filename_mode): Use it to protect //.
37420         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
37421         (__realpath): Likewise.
37422         * tests/test-canonicalize.c (main): Test this.
37423         * tests/test-canonicalize-lgpl.c (main): Likewise.
37424         * modules/canonicalize-tests (Depends-on): Add same-inode.
37425         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37426
37427         canonicalize-lgpl: fix glibc bug with trailing slash
37428         * m4/canonicalize-lgpl.m4: Move contents...
37429         * m4/canonicalize.m4: ...here.
37430         (gl_CANONICALIZE_LGPL): Factor realpath check...
37431         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
37432         glibc 2.3.5 bug, fixed 2005-04-27.
37433         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
37434         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
37435         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
37436         * modules/canonicalize-lgpl (Files): Manage file rename.
37437         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
37438         * modules/stdlib (Makefile.am): Substitute witness.
37439         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
37440         is needed.
37441         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
37442         replacement is required.
37443         * lib/canonicalize.c (canonicalize_file_name): Likewise.
37444         * doc/glibc-functions/canonicalize_file_name.texi
37445         (canonicalize_file_name): Document this.
37446         * doc/posix-functions/realpath.texi (realpath): Likewise.
37447
37448         canonicalize-lgpl: reject non-directory with trailing slash
37449         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
37450         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
37451         catches failures in glibc 2.3.5.
37452         * tests/test-canonicalize.c (main): Likewise.
37453
37454         canonicalize-lgpl: use native realpath if it works
37455         * lib/canonicalize-lgpl.c (realpath): Guard with
37456         FUNC_REALPATH_WORKS.
37457         * lib/stdlib.in.h (realpath): Make declaration optional based on
37458         HAVE_REALPATH.
37459         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
37460         native realpath works.
37461         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
37462         * modules/stdlib (Makefile.am): Substitute witness.
37463
37464         canonicalize, canonicalize-lgpl: use <stdlib.h>
37465         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
37466         (Include): Mention <stdlib.h>.
37467         (configure.ac): Mention functions we provide.
37468         * modules/canonicalize (configure.ac): Likewise.
37469         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
37470         realpath if canonicalize_file_name is missing.
37471         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
37472         * modules/stdlib (Makefile.am): Substitute witnesses.
37473         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
37474         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
37475         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
37476         * NEWS: Document this.
37477         * doc/glibc-functions/canonicalize_file_name.texi
37478         (canonicalize_file_name): Likewise.
37479         * doc/posix-functions/realpath.texi (realpath): Likewise.
37480         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
37481
37482         test-canonicalize: consolidate into single C program
37483         * tests/test-canonicalize.sh: Delete; move setup into...
37484         * tests/test-canonicalize.c (main): ...the program, making it
37485         easier to run in debugger.  Add some tests.
37486         * modules/canonicalize-tests (Files): Remove unused file.
37487         (Depends-on): Add progname.
37488         (configure.ac, Makefile.am): Simplify.
37489
37490         test-canonicalize-lgpl: consolidate into single C program
37491         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
37492         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
37493         easier to run in debugger.  Add some tests.
37494         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
37495         (configure.ac, Makefile.am): Simplify.
37496
37497         canonicalize: avoid resolvepath
37498         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
37499         unnecessary checks.
37500         * lib/canonicalize.c (includes): Simplify.
37501         (canonicalize_file_name): Drop resolvepath implementation.
37502         * modules/canonicalize (Depends-on): Drop filenamecat.
37503
37504         canonicalize: don't lose errno
37505         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
37506         over calls to free.
37507
37508         canonicalize: simplify errno handling
37509         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
37510         assignment.
37511
37512         canonicalize, canonicalize-lgpl: update module dependencies
37513         * modules/canonicalize (Depends-on): Add extensions, lstat,
37514         pathmax, stdlib.
37515         (Files): Drop pathmax.h.
37516         (configure.ac): Adjust macro name.
37517         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
37518         lstat, stdlib, sys_stat.
37519         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
37520         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
37521         extensions.
37522         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
37523         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
37524         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
37525         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
37526         declaration, if available.
37527         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
37528         we can rely on the readlink module.
37529         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
37530         (includes): Use <unistd.h> unconditionally.
37531
37532 2009-09-17  Eric Blake  <ebb9@byu.net>
37533
37534         maint: make Include sections of modules consistent
37535         * modules/alloca: Use only header name; no need to list #include.
37536         * modules/alloca-opt: Likewise.
37537         * modules/arpa_inet: Likewise.
37538         * modules/canon-host: Likewise.
37539         * modules/configmake: Likewise.
37540         * modules/dirent: Likewise.
37541         * modules/eealloc: Likewise.
37542         * modules/environ: Likewise.
37543         * modules/fchdir: Likewise.
37544         * modules/fcntl: Likewise.
37545         * modules/fcntl-h: Likewise.
37546         * modules/gethrxtime: Likewise.
37547         * modules/gettime: Likewise.
37548         * modules/ignore-value: Likewise.
37549         * modules/inet_ntop: Likewise.
37550         * modules/inet_pton: Likewise.
37551         * modules/inttypes: Likewise.
37552         * modules/isnand-nolibm: Likewise.
37553         * modules/isnanf-nolibm: Likewise.
37554         * modules/mbchar: Likewise.
37555         * modules/mbfile: Likewise.
37556         * modules/mbiter: Likewise.
37557         * modules/mbuiter: Likewise.
37558         * modules/netdb: Likewise.
37559         * modules/netinet_in: Likewise.
37560         * modules/nproc: Likewise.
37561         * modules/pagealign_alloc: Likewise.
37562         * modules/poll: Likewise.
37563         * modules/printf-frexp: Likewise.
37564         * modules/pthread: Likewise.
37565         * modules/putenv: Likewise.
37566         * modules/random_r: Likewise.
37567         * modules/relocatable-prog: Likewise.
37568         * modules/search: Likewise.
37569         * modules/select: Likewise.
37570         * modules/selinux-h: Likewise.
37571         * modules/settime: Likewise.
37572         * modules/signal: Likewise.
37573         * modules/size_max: Likewise.
37574         * modules/socklen: Likewise.
37575         * modules/ssize_t: Likewise.
37576         * modules/stdarg: Likewise.
37577         * modules/stdbool: Likewise.
37578         * modules/stddef: Likewise.
37579         * modules/stdint: Likewise.
37580         * modules/stdio: Likewise.
37581         * modules/stdlib: Likewise.
37582         * modules/string: Likewise.
37583         * modules/strings: Likewise.
37584         * modules/sys_file: Likewise.
37585         * modules/sys_ioctl: Likewise.
37586         * modules/sys_select: Likewise.
37587         * modules/sys_socket: Likewise.
37588         * modules/sys_stat: Likewise.
37589         * modules/sys_time: Likewise.
37590         * modules/sys_times: Likewise.
37591         * modules/sys_utsname: Likewise.
37592         * modules/sys_wait: Likewise.
37593         * modules/sysexits: Likewise.
37594         * modules/time: Likewise.
37595         * modules/times: Likewise.
37596         * modules/tmpfile: Likewise.
37597         * modules/trim: Likewise.
37598         * modules/unistd: Likewise.
37599         * modules/wchar: Likewise.
37600         * modules/wctype: Likewise.
37601
37602 2009-09-17  Bruno Haible  <bruno@clisp.org>
37603
37604         Make getdate.y compile on QNX and NetBSD 5 / i386.
37605         * m4/getdate.m4 (gl_GETDATE): Conditionally define
37606         TIME_T_FITS_IN_LONG_INT.
37607         * lib/getdate.y (long_time_t): New type.
37608         (relative_time): Change type of 'seconds' field to long_time_t.
37609         (get_date): Update types of local variables. Check against overflow
37610         during conversion from long_time_t to time_t.
37611         Reported by Matt Kraai <kraai@ftbfs.org>
37612         and Hasso Tepper <hasso@netbsd.org>.
37613
37614 2009-09-17  Bruno Haible  <bruno@clisp.org>
37615
37616         * modules/COPYING: Update copyright years.
37617         * modules/README: Likeiwse.
37618         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
37619         Reported by Ian Beckwith <ianb@erislabs.net>.
37620
37621 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
37622
37623         * users.txt: Update references for gnuit package.
37624
37625 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
37626
37627         * m4/getdelim.m4: Fix typo in copyright line.
37628
37629 2009-09-17  Bruno Haible  <bruno@clisp.org>
37630
37631         * lib/atoll.c: Use the standard header with GPL copyright.
37632         * lib/argz.in.h: Likewise.
37633         * lib/glob.c: Likewise.
37634         * lib/glob-libc.h: Likewise.
37635         * lib/random_r.c: Likewise.
37636         * lib/siglist.h: Likewise.
37637         * lib/strsignal.c: Likewise.
37638         Reported by Ian Beckwith <ianb@erislabs.net>.
37639
37640 2009-09-17  Eric Blake  <ebb9@byu.net>
37641
37642         rmdir: ensure correct dependency order
37643         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
37644
37645 2009-09-17  Bruno Haible  <bruno@clisp.org>
37646
37647         Disable assertion that fails on NetBSD 5 / i386.
37648         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
37649         Reported by Sam Steingold <sds@gnu.org>
37650         and Hasso Tepper <hasso@netbsd.org>.
37651
37652 2009-09-16  Eric Blake  <ebb9@byu.net>
37653
37654         unlinkdir: port to mingw
37655         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
37656         on which no one can unlink a directory.
37657
37658         stdlib: sort witness names
37659         * modules/stdlib (Makefile.am): Sort replacements.
37660         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
37661         * lib/stdlib.in.h: Likewise.
37662
37663         parse-duration-tests: avoid link failure
37664         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
37665         LIBINTL.
37666         Reported by Tom G. Christensen.
37667
37668         openat-tests: ensure unlinkat behaves like rmdir
37669         * tests/test-rmdir.c (main): Factor guts...
37670         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
37671         * modules/rmdir-tests (Files): Ship new file.
37672         * modules/openat-tests: New test.
37673         * tests/test-unlinkat.c: Likewise.
37674
37675         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
37676         * modules/rmdir-errno (Status, Notice): Now obsolete.
37677
37678         rmdir: work around cygwin 1.5.x and mingw bugs
37679         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
37680         * lib/rmdir.c (rmdir): Work around it.
37681         * modules/rmdir (Status, Notice): No longer obsolete.
37682         (Files): Add dos.m4.
37683         (Depends-on): Add unistd.
37684         (configure.ac): Set witnesses.
37685         (License): Relax to LGPLv2+.
37686         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
37687         * modules/unistd (Makefile.am): Substitute witnesses.
37688         * lib/unistd.in.h (rmdir): Declare replacement.
37689         * doc/posix-functions/rmdir.texi (rmdir): Document this.
37690         * modules/rmdir-tests: New tests.
37691         * tests/test-rmdir.c: Likewise.
37692
37693 2009-09-15  Eric Blake  <ebb9@byu.net>
37694
37695         fchdir: improve use of replacement functions
37696         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
37697         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
37698         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
37699         REPLACE_CLOSEDIR.
37700         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
37701         * modules/sys_stat (Makefile.am): Substitute correct witness.
37702         * modules/dirent (Makefile.am): Likewise.
37703         * modules/unistd (Makefile.am): Likewise.
37704         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
37705         * lib/unistd.in.h (dup): Likewise.
37706         * lib/sys_stat.in.h (fstat): Likewise.
37707
37708         maint: ignore gnulib-tool temp files
37709         * .gitignore: Ignore files created during gnulib-tool --test.
37710
37711 2009-09-13  Jim Meyering  <meyering@redhat.com>
37712
37713         posixtm: don't reject a time that specify "60" as the number of seconds
37714         * lib/posixtm.c (posixtime): The code to reject invalid dates
37715         would also reject a time specified with the .60 suffix.
37716         But POSIX allows that, in order to accommodate leap seconds.
37717         So don't reject it.
37718         (main): Adjust tests accordingly.
37719         * modules/posixtm (Depends-on): Add stpcpy.
37720
37721 2009-09-11  Jim Meyering  <meyering@redhat.com>
37722
37723         announce-gen: include [$release_type] in emitted Subject:
37724         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
37725         e.g., [stable] in the emitted Subject: line.
37726
37727 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37728
37729         Remove obsolete macros from several modules.
37730         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
37731         obsolete Autoconf macros with their modern counterparts.
37732         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
37733         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
37734         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
37735         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
37736         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
37737         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
37738         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
37739         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
37740         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
37741         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
37742         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
37743         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
37744         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
37745         * m4/sockets.m4 (gl_SOCKETS): Likewise.
37746         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
37747         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
37748         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
37749         * m4/time_r.m4 (gl_TIME_R): Likewise.
37750         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
37751         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
37752         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
37753
37754         Fix copyright header in build-aux scripts.
37755         * build-aux/git-version-gen: Fix copyright header to match GPLv3
37756         recommendation.
37757         * build-aux/ncftpput-ftp: Likewise.
37758         * build-aux/update-copyright: Likewise.
37759
37760 2009-09-09  Eric Blake  <ebb9@byu.net>
37761
37762         test-link: allow Linux choice of errno
37763         * tests/test-link.c (main): Relax test for alternate error.
37764
37765         strndup: fix improper m4 caching
37766         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
37767         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
37768         (gl_PREREQ_STRNDUP): Delete.
37769         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
37770         * modules/string (Makefile.am): Substitute it.
37771         * lib/string.in.h (strndup): Modernize prototype.
37772
37773         getcwd: port to mingw
37774         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
37775         different from the POSIX assumptions made throughout the getcwd
37776         module; fortunately, the mingw getcwd does not need replacement.
37777         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
37778         * modules/getcwd-tests: New test.
37779         * tests/test-getcwd.c: Likewise.
37780
37781         link: fix platform bugs
37782         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
37783         * lib/link.c (link): Work around them.  Fix related mingw bug.
37784         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
37785         * modules/unistd (Makefile.am): Substitute it.
37786         * lib/unistd.in.h (link): Declare replacement.
37787         * doc/posix-functions/link.texi (link): Document this.
37788         * modules/link (Depends-on): Add strdup-posix, sys_stat.
37789
37790         test-link: consolidate into single C program, test more cases
37791         * tests/test-link.sh: Delete.
37792         * tests/test-link.c: Test more error conditions.  Exposes bugs on
37793         at least Cygwin and Solaris.
37794         * modules/link-tests (Files): Remove unused file.
37795         (Depends-on): Add errno, sys_stat.
37796         (Makefile.am): Simplify.
37797
37798 2009-09-08  Bruno Haible  <bruno@clisp.org>
37799
37800         Work around towlower, towupper bug on mingw.
37801         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
37802         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
37803         * doc/posix-functions/towlower.texi: Mention the mingw bug.
37804         * doc/posix-functions/towupper.texi: Likewise.
37805         Reported by Eric Blake.
37806
37807 2009-09-08  Jim Meyering  <meyering@redhat.com>
37808
37809         build: don't try to run autoheader if we don't use it
37810         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
37811         is not used in configure.ac.
37812
37813 2009-09-08  Eric Blake  <ebb9@byu.net>
37814
37815         euidaccess: fix compilation error
37816         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
37817
37818         rawmemchr: relax license
37819         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
37820         okay.
37821         Reported by Jim Meyering.
37822
37823         mkfifoat: new module
37824         * modules/mkfifoat: New file.
37825         * lib/mkfifoat.c: Likewise.
37826         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
37827         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
37828         * modules/sys_stat (Makefile.am): Use them.
37829         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
37830         * MODULES.html.sh (File system functions): Mention module.
37831         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
37832         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
37833         * modules/mkfifoat-tests: New test.
37834         * tests/test-mkfifoat.c: Likewise.
37835
37836         strchrnul: relax license
37837         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
37838         okay.
37839         Reported by Jim Meyering.
37840
37841 2009-09-08  Eric Blake  <ebb9@byu.net>
37842
37843         fstatat: fix compilation on Solaris
37844         * lib/fstatat.c (includes): Add fcntl.h.
37845         Reported by Pádraig Brady.
37846
37847 2009-09-07  Eric Blake  <ebb9@byu.net>
37848
37849         rename: modernize replacement
37850         * modules/rename (Depends-on): Add stdio.
37851         (configure.ac): Declare witness.
37852         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
37853         stdio take care of replacement.
37854         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
37855         * modules/stdio (Makefile.am): Substitute them.
37856         * lib/stdio.in.h (rename): Declare replacement.
37857         * lib/rename.c (includes): Allow cross-compilation to non-windows
37858         machines.
37859         * doc/posix-functions/rename.texi (rename): Improve
37860         documentation.
37861
37862         stdio: sort witness names
37863         * modules/stdio (Makefile.am): Sort replacements.
37864         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37865         * lib/stdio.in.h: Likewise.
37866
37867         getcwd: minor cleanups
37868         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
37869         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
37870
37871         openat: provide more convenience names
37872         * modules/faccessat (configure.ac): Add C witness.
37873         * lib/unistd.in.h (readlinkat): Fix typo.
37874         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
37875         convenience wrappers.
37876         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
37877         wrappers in syntax checks.
37878
37879 2009-09-06  Eric Blake  <ebb9@byu.net>
37880
37881         doc: fix comments in recent patches
37882         * lib/faccessat.c: Mention correct function.
37883         * lib/fchmodat.c: Likewise.
37884         * lib/fchownat.c: Likewise.
37885         * lib/symlinkat.c: Likewise.
37886         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
37887         constants.
37888
37889         faccessat, symlinkat: continue cleanup of previous patch
37890         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
37891         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
37892         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
37893         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
37894         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
37895         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
37896         set.
37897
37898 2009-09-06  Bruno Haible  <bruno@clisp.org>
37899
37900         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
37901         (fstatat): Declare if GNULIB_FSTATAT is set.
37902         (mkdirat): Declare if GNULIB_MKDIRAT is set.
37903         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
37904         (unlinkat): Declare if GNULIB_UNLINKAT is set.
37905         * modules/fcntl-h (Files): Remove m4/openat.m4.
37906         * modules/sys_stat (Files): Remove m4/openat.m4.
37907         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
37908         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
37909         * modules/unistd (Files): Remove m4/openat.m4.
37910         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
37911         GNULIB_OPENAT.
37912         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
37913         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
37914         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
37915         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
37916         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
37917         gl_OPENAT_DEFAULTS.
37918         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
37919         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
37920         Don't require gl_OPENAT_DEFAULTS.
37921         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
37922         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
37923         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
37924         (gl_OPENAT_DEFAULTS): Remove macro.
37925
37926 2009-09-06  Bruno Haible  <bruno@clisp.org>
37927
37928         * modules/openat (configure.ac): Remove unneeded witness.
37929
37930 2009-09-06  Bruno Haible  <bruno@clisp.org>
37931
37932         Set errno to ENOSYS when a function is entirely unsupported.
37933         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
37934         EOPNOTSUPP.
37935         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
37936         * modules/chown (Depends-on): Remove errno.
37937
37938 2009-09-06  Bruno Haible  <bruno@clisp.org>
37939
37940         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
37941
37942 2009-09-06  Bruno Haible  <bruno@clisp.org>
37943
37944         * lib/sys_stat.in.h: Fix preprocessor command indentation.
37945
37946 2009-09-06  Ben Pfaff  <blp@gnu.org>
37947             Bruno Haible  <bruno@clisp.org>
37948
37949         Work around a glibc bug in strtok_r.
37950         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
37951         Undefine if UNDEFINE_STRTOK_R is set.
37952         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
37953         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
37954         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
37955         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
37956         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
37957         UNDEFINE_STRTOK_R.
37958         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
37959
37960 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
37961
37962         exclude: minor fix
37963         * lib/exclude.c: Include wctype.h
37964
37965 2009-09-06  Akim Demaille  <demaille@gostai.com>
37966
37967         bootstrap: improve error message
37968         * build-aux/bootstrap (find_tool): Upon failure, report the list
37969         of candidates.
37970         Honor the initial value of the envvar.
37971
37972 2009-09-05  Eric Blake  <ebb9@byu.net>
37973
37974         symlinkat: new module
37975         * modules/symlinkat: New file.
37976         * lib/symlinkat.c: Likewise.
37977         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
37978         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
37979         * modules/unistd (Makefile.am): Use them.
37980         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
37981         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
37982         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
37983         * MODULES.html.sh (File system functions): Mention module.
37984         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
37985         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
37986         * modules/symlinkat-tests: New test.
37987         * tests/test-symlinkat.c: Likewise.
37988
37989         test-openat-safer: add more checks
37990         * tests/test-openat-safer.c (main): Check more code paths.
37991
37992 2009-09-05  Jim Meyering  <meyering@redhat.com>
37993
37994         syntax-check: detect unnecessary inclusion of openat.h
37995         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
37996
37997 2009-09-05  Bruno Haible  <bruno@clisp.org>
37998
37999         Support towlower, towupper.
38000         * doc/posix-functions/towlower.texi: Mention module wctype.
38001         * doc/posix-functions/towupper.texi: Likewise.
38002         * lib/wctype.in.h (towlower, towupper): New functions.
38003         * tests/test-wctype.c: Include stdio.h, stdlib.h.
38004         (ASSERT): New macro.
38005         (e): New variable.
38006         (main): Test also towlower, towupper. Test WEOF argument.
38007         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
38008
38009 2009-09-05  Bruno Haible  <bruno@clisp.org>
38010
38011         Fix conversion behaviour when the input is invalid.
38012         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
38013         mark occurring in first pass of indirect conversion.
38014         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
38015         input.
38016         Found by clang's static analyzer.
38017
38018 2009-09-05  Bruno Haible  <bruno@clisp.org>
38019
38020         * tests/test-striconveh.c (main): Test indirect conversion on platforms
38021         where direct conversion is possible.
38022
38023 2009-09-04  Eric Blake  <ebb9@byu.net>
38024
38025         openat: fail with ENOENT on empty name
38026         * lib/openat-proc.c (openat_proc_name): Special-case the empty
38027         buffer.
38028
38029         link-follow: fix logic bug in prior patch
38030         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
38031         reversed sense of yes and no in prior patch.  Avoid confusing
38032         compilation failure with desired semantics.
38033
38034         link-follow: accomodate mingw and cross-compilation
38035         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
38036         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
38037         cross-compilation results to -1, to make linkat easier to
38038         implement when cross-compiling.  Trivially support mingw.
38039         * modules/link-follow (configure.ac): Call new name.
38040         * NEWS: Mention this.
38041
38042 2009-09-03  Eric Blake  <ebb9@byu.net>
38043
38044         faccessat: compile replacement
38045         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
38046         needed.
38047
38048         fts: fix compilation error
38049         * lib/fts.c (includes): Re-add "openat.h", for
38050         openat_needs_fchdir.
38051
38052         faccessat: new module
38053         * modules/faccessat: New file.
38054         * lib/faccessat.c: Likewise.
38055         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
38056         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38057         * modules/unistd (Makefile.am): Use it.
38058         * lib/unistd.in.h (faccessat): Declare it.
38059         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
38060         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
38061         * MODULES.html.sh (File system functions): Mention it.
38062         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
38063         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
38064
38065         euidaccess: prefer POSIX over non-standard implementation
38066         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
38067         * lib/euidaccess.c (euidaccess): Use it if available.
38068
38069         openat: make template easier to use
38070         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
38071         AT_FUNC_F2 to be undefined.
38072         (VALIDATE_FLAG): New macro; use it to reject bad flags.
38073         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
38074         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
38075         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
38076         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
38077         Likewise.
38078         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
38079         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
38080         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
38081         Likewise.
38082
38083         openat: declare in POSIX headers
38084         * NEWS: Mention this.
38085         * modules/openat (configure.ac): Declare witnesses.
38086         (Depends-on): Add fcntl-h, sys_stat, unistd.
38087         (Include): Mention correct headers.
38088         * modules/fcntl-h (Depends-on): Add link-warning.
38089         (Files): Add openat.m4.
38090         (Makefile.am): Substitute witnesses.
38091         * modules/sys_stat (Files, Makefile.am): Likewise.
38092         * modules/unistd (Files, Makefile.am): Likewise.
38093         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
38094         (gl_OPENAT_DEFAULTS): New macro.
38095         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
38096         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
38097         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
38098         (SYS_STAT_H): Remove unused variable.
38099         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
38100         * lib/fcntl--.h (includes): Remove unneeded header.
38101         * lib/openat-safer.c (includes): Likewise.
38102         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
38103         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
38104         appropriate headers.
38105         (__OPENAT_PREFIX): Delete.
38106         * lib/fcntl.in.h (openat): Provide declaration.
38107         (AT_FDCWD): Fix Solaris bug.
38108         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
38109         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
38110         * lib/fchmodat.c (includes):  Adjust to find declaration.
38111         * lib/fchownat.c (includes): Likewise.
38112         * lib/mkdirat.c (includes): Likewise.
38113         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
38114         still visible.
38115
38116 2009-09-02  Eric Blake  <ebb9@byu.net>
38117
38118         errno: use consistently
38119         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
38120         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
38121         * lib/canonicalize.c (ELOOP): Likewise.
38122         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
38123         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
38124         * lib/lchown.c (EOPNOTSUPP): Likewise.
38125         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
38126         * lib/savewd.c (ESTALE): Likewise.
38127         * lib/settime.c (ENOSYS): Likewise.
38128         * lib/utimens.c (ENOSYS): Likewise.
38129         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
38130         * lib/chdir-safer.c (ELOOP): Likewise.
38131         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
38132         * modules/c-stack (Depends-on): Add errno.
38133         * modules/canonicalize (Depends-on): Likewise.
38134         * modules/chdir-safer (Depends-on): Likewise.
38135         * modules/fdopendir (Depends-on): Likewise.
38136         * modules/inet_ntop (Depends-on): Likewise.
38137         * modules/inet_pton (Depends-on): Likewise.
38138         * modules/lchown (Depends-on): Likewise.
38139         * modules/openat (Depends-on): Likewise.
38140         * modules/savewd (Depends-on): Likewise.
38141         * modules/settime (Depends-on): Likewise.
38142         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
38143
38144         fts: avoid leaking fds
38145         * modules/fts (Depends-on): Add cloexec.
38146         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
38147         flag.
38148
38149         fts: make directory fds more robust
38150         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
38151         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
38152
38153         backupfile, chdir-long, fts, savedir: make safer
38154         * lib/backupfile.c (includes): Use "dirent--.h", since
38155         numbered_backup can write to stderr during readdir.
38156         * lib/savedir.c (includes): Likewise.
38157         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
38158         emulation can write to stderr on failure.
38159         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
38160         * lib/getcwd.c: Document why opendir_safer is unused.
38161         * lib/glob.c: Likewise.
38162         * lib/scandir.c: Likewise.
38163         * lib/openat-proc.c: Likewise, for open_safer.
38164         * modules/backupfile (Depends-on): Add dirent-safer.
38165         * modules/savedir (Depends-on): Likewise.
38166         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
38167         * modules/chdir-long (Depends-on): Add openat-safer.
38168
38169         openat-safer: new module
38170         * modules/openat-safer: New file.
38171         * lib/openat-safer.c: Likewise.
38172         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
38173         * lib/fcntl-safer.h (openat_safer): Declare.
38174         * lib/fcntl--.h (openat): Override.
38175         * MODULES.html.sh (File descriptor based I/O): Mention it.
38176         * lib/openat.h: Add double-inclusion guards.
38177         * lib/openat.c (includes): Only include "fcntl-safer.h", not
38178         "fcntl--.h", so we can implement openat.
38179         * modules/openat-safer-tests: New test.
38180         * tests/test-openat-safer.c: New file.
38181
38182         dirent-safer: new module
38183         * modules/dirent-safer: New file.
38184         * lib/dirent--.h: Likewise.
38185         * lib/dirent-safer.h: Likewise.
38186         * lib/opendir-safer.c: Likewise.
38187         * m4/dirent-safer.m4: Likewise.
38188         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
38189         * modules/dirent-safer-tests: New test.
38190         * tests/test-dirent-safer.c: New file.
38191         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
38192
38193         fdopendir: optimize on mingw
38194         * lib/unistd.in.h (_gl_directory_name): New prototype.
38195         * lib/fchdir.c (_gl_directory_name): Implement it.
38196         (fchdir): Use it to simplify implementation.
38197         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
38198         fchdir, when available, to avoid calling [f]chdir().
38199
38200         fdopendir: split into its own module
38201         * lib/openat.c (fdopendir): Move...
38202         * lib/fdopendir.c: ...into new file.
38203         * modules/fdopendir: New module.
38204         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
38205         * modules/openat (Depends-on): Add fdopendir.
38206         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
38207         fdopendir here.
38208         * modules/savedir (Depends-on): Only need fdopendir, not full
38209         openat.
38210         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
38211         * lib/openat.h (fdopendir): Drop prototype.
38212         * lib/dirent.in.h (fdopendir): Provide prototype.
38213         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
38214         * modules/dirent (Makefile.am): Substitute them.
38215         * MODULES.html.sh (File system functions): Mention it.
38216         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
38217         * modules/fdopendir-tests: New file.
38218         * tests/test-fdopendir.c: Likewise.
38219
38220         fchdir: use more consistent macro convention
38221         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
38222         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
38223         REPLACE_FCHDIR, rather than relying on config.h macros.
38224         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
38225         inside a single make-time REPLACE_FCHDIR block, rather than using
38226         the config.h FCHDIR_REPLACEMENT.
38227         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
38228         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
38229         Manage fstat replacement.
38230         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
38231         REPLACE_FCHDIR.
38232         * modules/sys_stat (Files): Add m4/unistd_h.m4.
38233         (Makefile.am): Substitute REPLACE_FCHDIR.
38234         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
38235         FCHDIR_REPLACEMENT.
38236         * lib/dup-safer.c (dup_safer): Likewise.
38237         * lib/dup2.c (rpl_dup2): Likewise.
38238         * lib/dup3.c (rpl_dup3): Likewise.
38239         * lib/open.c (rpl_open): Likewise.
38240
38241         fchdir: simplify error handling, and support dup3
38242         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
38243         stdbool, malloc-posix, realloc-posix.
38244         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
38245         (ensure_dirs_slot): Return false on allocation failure.
38246         (rpl_dup2): Delete.
38247         (_gl_register_dup): New function.
38248         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
38249         (_gl_register_fd): Close fd on allocation failure.
38250         * lib/fcntl.in.h (_gl_register_fd): Update signature.
38251         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
38252         prototype.
38253         (rpl_dup2_fchdir): Delete prototype.
38254         * lib/open.c (open): Update caller.
38255         * lib/dup2.c (dup2): Track fchdir metadata.
38256         * lib/dup3.c (dup3): Likewise.
38257         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
38258         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
38259
38260 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38261
38262         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
38263         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
38264         don't pass arguments to AC_OUTPUT.
38265
38266 2009-09-02  Bruno Haible  <bruno@clisp.org>
38267
38268         * modules/mkdtemp (License): Relicense under LGPLv2+.
38269         Reported by Paolo Bonzini.
38270
38271 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38272
38273         Replace uses of obsolete autoconf macros in Jim's modules.
38274         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
38275         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
38276         can evoke a warning from autoconf when run with -Wobsolete
38277         enabled.  They were declared obsolete for good reasons (see
38278         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
38279         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
38280         should not continue using the deprecated macros.
38281         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
38282         obsolete Autoconf macros with modern counterparts.
38283         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
38284         * m4/dos.m4 (gl_AC_DOS): Likewise.
38285         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
38286         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
38287         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
38288         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
38289         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
38290         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
38291         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
38292         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
38293         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
38294         Likewise.
38295         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
38296         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
38297         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
38298         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
38299         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
38300         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
38301
38302 2009-09-01  Eric Blake  <ebb9@byu.net>
38303
38304         fchdir: fix off-by-one bug in previous patch
38305         * lib/fchdir.c (rpl_fstat): Use correct bounds.
38306         (_gl_unregister_fd): Delete useless if.
38307
38308 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
38309
38310         maint.mk: sort the list of syntax-check rules
38311         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
38312         easier to get a sense of progress when the rules are run sequentially
38313         and take a long time.
38314
38315 2009-09-01  Simon Josefsson  <simon@josefsson.org>
38316
38317         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
38318         * modules/netinet_in: Likewise.
38319         * modules/sys_file: Likewise.
38320         * modules/sys_ioctl: Likewise.
38321         * modules/sys_select: Likewise.
38322         * modules/sys_socket: Likewise.
38323         * modules/sys_stat: Likewise.
38324         * modules/sys_time: Likewise.
38325         * modules/sys_times: Likewise.
38326         * modules/sys_utsname: Likewise.
38327         * modules/sys_wait: Likewise.
38328
38329 2009-09-01  Jim Meyering  <meyering@redhat.com>
38330
38331         fts: help ensure that return values are not ignored
38332         * lib/fts_.h (__GNUC_PREREQ): Define.
38333         (__attribute_warn_unused_result__): Define.
38334         (fts_children, fts_close, fts_open, fts_read): Declare with
38335         __attribute_warn_unused_result__.
38336
38337         fts: fts_close now fails also when closing a dir file descriptor fails
38338         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
38339         and propagate to caller, along with errno.
38340
38341         announce-gen: correct formatting in --help output
38342         * build-aux/announce-gen (usage): Move the one-line description in
38343         --help output "up", to where it belongs, just after Usage:.
38344
38345 2009-08-31  Eric Blake  <ebb9@byu.net>
38346
38347         fchdir: port to mingw
38348         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
38349         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
38350         opened, then use a substitute.
38351         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
38352         replacement.
38353         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
38354         (_gl_register_fd): No need to check stat if open already filters
38355         all directories.
38356         (fchdir): Fix error condition to match POSIX.
38357         * modules/fchdir (Depends-on): Add sys_stat.
38358         * doc/posix-functions/open.texi (open): Document the limitation.
38359         * modules/fchdir-tests: New file.
38360         * tests/test-fchdir.c: Likewise.
38361
38362         canonicalize: allow cross-testing from cygwin to mingw
38363         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
38364         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
38365         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
38366         Likewise.
38367         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
38368         target does not support symlinks.
38369         * tests/test-canonicalize-lgpl.sh: Likewise.
38370
38371         chown: avoid compilation warning on mingw
38372         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
38373         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
38374         mingw.
38375         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
38376         * modules/chown (Depends-on): Add errno.
38377
38378 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
38379
38380         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
38381         command.
38382
38383 2009-08-31  Jim Meyering  <meyering@redhat.com>
38384
38385         canonicalize: remove useless initialization
38386         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
38387         initialization of local, "end".
38388
38389 2009-08-30  Bruno Haible  <bruno@clisp.org>
38390
38391         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
38392         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
38393         ENOSYS.
38394
38395 2009-08-30  Bruno Haible  <bruno@clisp.org>
38396
38397         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
38398         /usr/xpg4/bin/tr when it exists.
38399         * tests/test-pipe-filter-gi1.sh: Likewise.
38400
38401 2009-08-30  Bruno Haible  <bruno@clisp.org>
38402
38403         Work around deficient /usr/bin/id program on Solaris.
38404         * tests/test-file-has-acl.sh (ID): New variable.
38405         * tests/test-set-mode-acl.sh (ID): Likewise.
38406         * tests/test-copy-acl.sh (ID): Likewise.
38407         * tests/test-copy-file.sh (ID): Likewise.
38408
38409 2009-08-30  Bruno Haible  <bruno@clisp.org>
38410
38411         New module 'xstriconveh'.
38412         * lib/xstriconveh.h: New file.
38413         * lib/xstriconveh.c: New file.
38414         * modules/xstriconveh: New file.
38415
38416 2009-08-30  Bruno Haible  <bruno@clisp.org>
38417
38418         Make it easier to use mem_cd_iconveh.
38419         * lib/striconveh.h (iconveh_t): New type.
38420         (iconveh_open, iconveh_close): New declarations.
38421         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
38422         with a single 'const iconveh_t *' argument.
38423         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
38424         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
38425         with a single 'const iconveh_t *' argument.
38426         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
38427         * tests/test-striconveh.c (main): Update.
38428         * NEWS: Mention the change.
38429
38430 2009-08-30  Bruno Haible  <bruno@clisp.org>
38431
38432         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
38433         problem.
38434
38435 2009-08-30  Bruno Haible  <bruno@clisp.org>
38436
38437         Work around iconv_open problem on Solaris.
38438         * lib/iconv_open-solaris.gperf: New file.
38439         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
38440         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
38441         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
38442         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
38443         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
38444         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
38445
38446 2009-08-29  Jim Meyering  <meyering@redhat.com>
38447
38448         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
38449         * top/maint.mk (cvs-check): Remove target; it was just an alias
38450         to the better-named vc-diff-check.
38451         (maintainer-distcheck): Remove rule.  It was used only from
38452         the (alpha/beta/major) target, and all of its commands but one
38453         were coreutils-specific.
38454         (vc-dist): Remove rule.
38455         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
38456         Run vc-diff-check, not vc-dist.
38457         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
38458
38459 2009-08-27  Bruno Haible  <bruno@clisp.org>
38460
38461         * tests/test-bitrotate.c (main): Remove test that uses a shift count
38462         of 0.
38463
38464 2009-08-27  Bruno Haible  <bruno@clisp.org>
38465
38466         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
38467         compilers.
38468         * doc/func.texi: Document the SunPRO C bug.
38469
38470 2009-08-27  Bruno Haible  <bruno@clisp.org>
38471
38472         Fix link error on Solaris.
38473         * tests/test-parse-duration.c (xstrdup): Remove function.
38474
38475 2009-08-26  Pádraig Brady  <P@draigbrady.com>
38476
38477         ignore-value: handle pointer types, too
38478         * lib/ignore-value.h (__attribute__): Remove definition.
38479         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
38480         of a more concise and more-often effective "(void) i" statement.
38481         (ignore_ptr): New function to suppress warnings from functions that
38482         return pointers, and to make it explicit that one function doesn't
38483         handle all cases.
38484
38485 2009-08-25  Bruno Haible  <bruno@clisp.org>
38486
38487         dup2: work around a Linux bug.
38488         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
38489         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
38490         * doc/posix-functions/dup2.texi: Mention the Linux bug.
38491         Reported by Simon Josefsson.
38492
38493 2009-08-25  Jim Meyering  <meyering@redhat.com>
38494
38495         libguestfs uses gnulib
38496         * users.txt: Add libguestfs.
38497
38498 2009-08-24  Eric Blake  <ebb9@byu.net>
38499
38500         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
38501         * lib/pipe2.c (includes): Add binary-io.h.
38502         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
38503
38504 2009-08-24  Bruno Haible  <bruno@clisp.org>
38505
38506         Tolerate declared but missing accept4 syscall.
38507         * lib/accept4.c (accept4): Invoke original accept4 function first, if
38508         available.
38509         * lib/sys_socket.in.h (accept4): If the function is already present,
38510         override it.
38511         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
38512         * modules/accept4 (Makefile.am): Compile accept4.c always.
38513         Reported by Paolo Bonzini and Eric Blake.
38514
38515 2009-08-23  Bruno Haible  <bruno@clisp.org>
38516
38517         New module 'accept4'.
38518         * lib/sys_socket.in.h (accept4): New declaration.
38519         * lib/accept4.c: New file.
38520         * m4/accept4.m4: New file.
38521         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
38522         GNULIB_ACCEPT4, HAVE_ACCEPT4.
38523         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
38524         HAVE_ACCEPT4.
38525         * modules/accept4: New file.
38526         * doc/glibc-functions/accept4.texi: Mention the new module.
38527
38528 2009-08-24  Jim Meyering  <meyering@redhat.com>
38529
38530         progname: also set global program_invocation_name, when possible
38531         Before this change, a libtool-enabled program that calls glibc's
38532         error function would report the program name as
38533         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
38534         * modules/progname (configure.ac): Check for a declaration of
38535         program_invocation_name.
38536         * lib/progname.c:  Include <errno.h>.
38537         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
38538         Set program_invocation_name.
38539
38540 2009-08-23  Bruno Haible  <bruno@clisp.org>
38541
38542         * lib/dup3.c: Include <string.h>.
38543
38544 2009-08-23  Bruno Haible  <bruno@clisp.org>
38545
38546         * lib/dup3.c (dup3): Test only once whether the system actually exists.
38547         * lib/pipe2.c (pipe2): Likewise.
38548         Suggested by Eric Blake.
38549
38550 2009-08-23  Bruno Haible  <bruno@clisp.org>
38551
38552         Tolerate declared but missing dup3 syscall.
38553         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
38554         * lib/unistd.in.h (dup3): If the function is already present,
38555         override it.
38556         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
38557         * modules/dup3 (Makefile.am): Compile dup3.c always.
38558         Reported by Paolo Bonzini.
38559
38560 2009-08-23  Bruno Haible  <bruno@clisp.org>
38561
38562         Tolerate declared but missing pipe2 syscall.
38563         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
38564         available.
38565         * lib/unistd.in.h (pipe2): If the function is already present,
38566         override it.
38567         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
38568         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
38569         Reported by Paolo Bonzini.
38570
38571 2009-08-23  Bruno Haible  <bruno@clisp.org>
38572
38573         * lib/pipe2.c (pipe2): Move #ifs inside function.
38574
38575 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
38576
38577         quotearg: document limitations of quote_these_too
38578         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
38579         those limitations are created.
38580         * lib/quotearg.h (set_char_quoting): Document that digits and
38581         letters that are special after backslash are not permitted.
38582         (quotearg_char): Cross-reference set_char_quoting documentation.
38583
38584 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
38585
38586         quotearg: implement custom_quoting_style
38587         * lib/quotearg.c: (struct quoting_options): Add left_quote and
38588         right_quote fields.
38589         (set_custom_quoting): New public function.
38590         (quotearg_buffer_restyled): Add left_quote and right_quote
38591         arguments, handle them very much like locale quoting, and update
38592         all uses.
38593         (quotearg_n_custom): New public function.
38594         (quotearg_n_custom_mem): New public function.
38595         (quotearg_custom): New public function.
38596         (quotearg_custom_mem): New public function.
38597         * lib/quotearg.h: Prototype and document new public functions.
38598         (enum quoting_style): For escape_quoting_style and
38599         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
38600         ignored even though they're otherwise like c_quoting_style.
38601         Add custom_quoting_style member and document with comparison to
38602         clocale_quoting_style.
38603         * tests/test-quotearg.c (custom_quotes): New array.
38604         (custom_results): New array.
38605         (main): Extend to test custom quoting.
38606
38607 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
38608
38609         quotearg: fix right quote escaping when it's in quote_these_too
38610         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
38611         quote, be sure to prepend only one backslash.
38612         * tests/test-quotearg.c (use_quote_double_quotes): New function.
38613         (main): Test it.
38614
38615 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
38616
38617         quotearg-tests: test escaping of embedded locale quotes
38618         * tests/test-quotearg.c (struct result_strings): Add member for
38619         new input.
38620         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
38621         (inputs): Add new input.
38622         (results_g): Add expected results.
38623         (flag_results): Likewise.
38624         (locale_results): Likewise.
38625         (compare_strings): Check those.
38626
38627 2009-08-23  Bruno Haible  <bruno@clisp.org>
38628
38629         Tests for module 'dup3'.
38630         * modules/dup3-tests: New file.
38631         * tests/test-dup3.c: New file.
38632
38633         New module 'dup3'.
38634         * lib/unistd.in.h (dup3): New declaration.
38635         * lib/dup3.c: New file.
38636         * m4/dup3.m4: New file.
38637         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
38638         HAVE_DUP3.
38639         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
38640         * modules/dup3: New file.
38641         * doc/glibc-functions/dup3.texi: Mention the new module.
38642
38643 2009-08-23  Bruno Haible  <bruno@clisp.org>
38644
38645         Tweak the dup2 test.
38646         * tests/test-dup2.c (main): Create the test file empty. Verify that an
38647         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
38648         the test file is still empty. Fix argument order of lseek.
38649
38650 2009-08-23  Bruno Haible  <bruno@clisp.org>
38651
38652         Avoid test link errors when the modules getopt-gnu, gettext are used.
38653         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
38654         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38655
38656 2009-08-23  Bruno Haible  <bruno@clisp.org>
38657
38658         Fix getdtablesize() on mingw.
38659         * lib/getdtablesize.c (getdtablesize): Implement differently.
38660         * lib/unistd.in.h (getdtablesize): Improve comment.
38661
38662 2009-08-23  Bruno Haible  <bruno@clisp.org>
38663
38664         New module 'mkostemp'.
38665         Based on Ulrich Drepper's 2007-08-10 change in glibc.
38666         * lib/stdlib.in.h (mksotemp): New declaration.
38667         * lib/mkostemp.c: New file, from glibc with modifications.
38668         * lib/tempname.h (GT_FILE): Remove outdated comment.
38669         (gen_tempname): Add flags argument.
38670         * lib/tempname.c (__GT_BIGFILE): Remove macro.
38671         (__GT_FILE): Map to 1.
38672         (small_open, large_open): Remove macros.
38673         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
38674         * lib/mkstemp.c (mkstemp): Update.
38675         * lib/mkdtemp.c (mkdtemp): Likewise.
38676         * m4/mkostemp.m4: New file.
38677         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
38678         HAVE_MKOSTEMP.
38679         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
38680         HAVE_MKOSTEMP.
38681         * modules/mkostemp: New file, based on modules/mkstemp.
38682         * doc/glibc-functions/mkostemp.texi: Mention the new module.
38683         * NEWS: Mention the change.
38684
38685 2009-08-23  Bruno Haible  <bruno@clisp.org>
38686
38687         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
38688         Reported by Eric Blake.
38689
38690 2009-08-23  Bruno Haible  <bruno@clisp.org>
38691
38692         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
38693         Reported by Eric Blake.
38694
38695 2009-08-23  Bruno Haible  <bruno@clisp.org>
38696
38697         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
38698         * modules/pipe2 (Depends-on): Likewise.
38699
38700 2009-08-23  Eric Blake  <ebb9@byu.net>
38701
38702         fcntl-h: add O_TTY_INIT support
38703         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
38704         * tests/test-fcntl-h.c (o): Test it.
38705         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
38706
38707         fcntl-h: rename from fcntl, in preparation for fcntl(2)
38708         * modules/fcntl: Move <fcntl.h> header replacement...
38709         * modules/fcntl-h: ...to new name, so as not to collide with
38710         like-named function.
38711         * tests/test-fcntl.c: Rename...
38712         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
38713         * modules/fcntl-tests: Rename...
38714         * modules/fcntl-h-tests: ...to this.  Update test file name.
38715         * modules/chdir-long (Depends-on): Update clients.
38716         * modules/chdir-safer (Depends-on): Likewise.
38717         * modules/fcntl-safer (Depends-on): Likewise.
38718         * modules/fts (Depends-on): Likewise.
38719         * modules/mkancesdirs (Depends-on): Likewise.
38720         * modules/mkdir-p (Depends-on): Likewise.
38721         * modules/open (Depends-on): Likewise.
38722         * modules/savewd (Depends-on): Likewise.
38723         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
38724         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
38725
38726 2009-08-22  Bruno Haible  <bruno@clisp.org>
38727
38728         * modules/binary-io (License): Relicense under LGPL.
38729         * modules/pipe2 (License): Likewise.
38730
38731 2009-08-22  Bruno Haible  <bruno@clisp.org>
38732
38733         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
38734         return value.
38735         * lib/pipe-filter-gi.c (filter_init): Likewise.
38736         Reported by Eric Blake.
38737
38738 2009-08-22  Bruno Haible  <bruno@clisp.org>
38739
38740         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
38741         * modules/pipe (Depends-on): Add pipe2.
38742
38743 2009-08-22  Bruno Haible  <bruno@clisp.org>
38744
38745         Tests for module 'pipe2'.
38746         * modules/pipe2-tests: New file.
38747         * tests/test-pipe2.c: New file.
38748
38749         New module 'pipe2'.
38750         * lib/unistd.in.h (pipe2): New declaration.
38751         * lib/pipe2.c: New file.
38752         * m4/pipe2.m4: New file.
38753         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
38754         HAVE_PIPE2.
38755         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
38756         * modules/pipe2: New file.
38757         * doc/glibc-functions/pipe2.texi: Mention the new module.
38758
38759 2009-08-22  Bruno Haible  <bruno@clisp.org>
38760
38761         Reference some new glibc functions.
38762         * doc/glibc-functions/accept4.texi: New file.
38763         * doc/glibc-functions/dup3.texi: New file.
38764         * doc/glibc-functions/mkostemp.texi: New file.
38765         * doc/glibc-functions/pipe2.texi: New file.
38766         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
38767         (Glibc sys/socket.h): Refer to accept4.
38768         (Glibc unistd.h): Refer to dup3, pipe2.
38769         Reported by Eric Blake.
38770
38771 2009-08-22  Jim Meyering  <meyering@redhat.com>
38772             Bruno Haible  <bruno@clisp.org>
38773
38774         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
38775         This makes it so packages using automake-1.11's silent-rules option
38776         can print e.g., a single "GEN    configmake.h" line, rather than
38777         the 30+ statements that perform the job.  If you want to see the
38778         actual commands, you can still run "make V=1".
38779         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
38780         so that make output is abbreviated when those variables are defined
38781         appropriately.
38782         * modules/argz: Likewise.
38783         * modules/arpa_inet: Likewise.
38784         * modules/byteswap: Likewise.
38785         * modules/configmake: Likewise.
38786         * modules/dirent: Likewise.
38787         * modules/errno: Likewise.
38788         * modules/fcntl: Likewise.
38789         * modules/float: Likewise.
38790         * modules/fnmatch: Likewise.
38791         * modules/getopt-posix: Likewise.
38792         * modules/glob: Likewise.
38793         * modules/iconv_open: Likewise.
38794         * modules/inttypes: Likewise.
38795         * modules/localcharset: Likewise.
38796         * modules/locale: Likewise.
38797         * modules/math: Likewise.
38798         * modules/netdb: Likewise.
38799         * modules/netinet_in: Likewise.
38800         * modules/poll: Likewise.
38801         * modules/posix_spawnp-tests: Likewise.
38802         * modules/sched: Likewise.
38803         * modules/search: Likewise.
38804         * modules/selinux-h: Likewise.
38805         * modules/signal: Likewise.
38806         * modules/spawn: Likewise.
38807         * modules/stdarg: Likewise.
38808         * modules/stdbool: Likewise.
38809         * modules/stddef: Likewise.
38810         * modules/stdint: Likewise.
38811         * modules/stdio: Likewise.
38812         * modules/stdlib: Likewise.
38813         * modules/string: Likewise.
38814         * modules/strings: Likewise.
38815         * modules/sys_file: Likewise.
38816         * modules/sys_ioctl: Likewise.
38817         * modules/sys_select: Likewise.
38818         * modules/sys_socket: Likewise.
38819         * modules/sys_stat: Likewise.
38820         * modules/sys_time: Likewise.
38821         * modules/sys_times: Likewise.
38822         * modules/sys_utsname: Likewise.
38823         * modules/sys_wait: Likewise.
38824         * modules/sysexits: Likewise.
38825         * modules/time: Likewise.
38826         * modules/unistd: Likewise.
38827         * modules/wchar: Likewise.
38828         * modules/wctype: Likewise.
38829
38830 2009-08-22  Jim Meyering  <meyering@redhat.com>
38831
38832         announce-gen: detect write failure
38833         * build-aux/announce-gen: Add Coda at end.
38834         Remove equivalent-but-more-verbose block at top.
38835
38836 2009-08-19  Akim Demaille  <demaille@gostai.com>
38837
38838         bootstrap: --help to stdout.
38839         * bootstrap (usage): Don't send --help to stderr.
38840         Use a here doc instead of a long string.
38841
38842 2009-08-21  Eric Blake  <ebb9@byu.net>
38843
38844         test-popen-safer: split from test-popen
38845         * tests/test-popen.c (main): Move...
38846         * tests/test-popen.h: ...into new file.
38847         * tests/test-popen-safer2.c: New file.
38848         * modules/popen-tests (Files): Add test-popen.h.
38849         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
38850         Suggested by Bruno Haible.
38851
38852         test-fcntl-safer: split from test-open
38853         * tests/test-open.c (main): Move...
38854         * tests/test-open.h: ...into new file.
38855         * tests/test-fcntl-safer.c: New file.
38856         * modules/open-tests (Files): Add test-open.h.
38857         * modules/fcntl-safer-tests: New file.
38858         Suggested by Bruno Haible.
38859
38860         test-fopen-safer: split from test-fopen
38861         * tests/test-fopen.c (main): Move...
38862         * tests/test-fopen.h: ...into new file.
38863         * tests/test-fopen-safer.c: New file.
38864         * modules/fopen-tests (Files): Add test-fopen.h.
38865         * modules/fopen-safer-tests: New file.
38866         Suggested by Bruno Haible.
38867
38868 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
38869
38870         popen-safer: test O_CLOEXEC at run-time.
38871         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
38872
38873 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
38874
38875         fcntl: move more flags to the header
38876         * lib/cloexec.c: Do not define FD_CLOEXEC here.
38877         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
38878         * lib/fcntl.in.h: Do both things here.
38879
38880 2009-08-21  Jim Meyering  <meyering@redhat.com>
38881
38882         consistently remove $@-t before redirecting to it
38883         * modules/argz: Remove $@-t and $@ before redirecting to the former.
38884         * modules/alloca-opt: Likewise.
38885         * modules/byteswap: Likewise.
38886         * modules/fnmatch: Likewise.
38887         * modules/getopt-posix: Likewise.
38888         * modules/glob: Likewise.
38889         * modules/poll: Likewise.
38890         * modules/posix_spawnp-tests: Likewise.
38891         * modules/sys_socket: Likewise.
38892         * modules/sysexits: Likewise.
38893
38894 2009-08-21  Eric Blake  <ebb9@byu.net>
38895
38896         popen: simplify access to original popen
38897         * lib/popen.c (rpl_popen): No need to worry about popen being a
38898         macro.
38899         Reported by Bruno Haible.
38900
38901 2009-08-20  Eric Blake  <ebb9@byu.net>
38902
38903         build: avoid some compiler warnings
38904         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
38905         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
38906         type.
38907         (new_exclude_segment, excluded_file_pattern_p)
38908         (excluded_file_name_p): Reduce scope.
38909         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
38910         old-style declaration.
38911
38912 2009-08-20  Simon Josefsson  <simon@josefsson.org>
38913
38914         * tests/test-exclude1.sh: Handle Windows EOL.
38915         * tests/test-exclude2.sh: Likewise.
38916         * tests/test-exclude3.sh: Likewise.
38917         * tests/test-exclude4.sh: Likewise.
38918         * tests/test-exclude5.sh: Likewise.
38919         * tests/test-exclude6.sh: Likewise.
38920         * tests/test-exclude7.sh: Likewise.
38921
38922 2009-08-19  Akim Demaille  <demaille@gostai.com>
38923
38924         bootstrap: find sha1sum when named gsha1sum.
38925         * bootstrap (find_tool): New.
38926         ($SHA1SUM): New.
38927         Use it.
38928
38929 2009-08-20  Jim Meyering  <meyering@redhat.com>
38930
38931         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
38932         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
38933         expression that converts "." in a file name to "\." in the resulting
38934         regexp.  Start with a dummy statement, so that prior shell variable
38935         definitions are expanded portably.  Reported by Simon Josefsson.
38936
38937 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
38938
38939         Fix polling for writeability of a screen buffer.
38940         * lib/poll.c: Distinguish input and screen buffers for the
38941         Win32 implementation.
38942         * lib/select.c: Likewise.
38943
38944 2009-08-19  Eric Blake  <ebb9@byu.net>
38945
38946         popen-safer: prevent popen from clobbering std descriptors
38947         * modules/popen-safer: New file.
38948         * lib/popen-safer.c: Likewise.
38949         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
38950         * lib/stdio--.h (popen): Provide override.
38951         * lib/stdio-safer.h (popen_safer): Provide declaration.
38952         * tests/test-popen.c (includes): Partially test this.
38953         * modules/popen-safer-tests: New file, for more tests.
38954         * tests/test-popen-safer.c: Likewise.
38955         * MODULES.html.sh (file stream based Input/Output): Mention it.
38956
38957         tests: test some of the *-safer modules
38958         * modules/fopen-safer (Depends-on): Add fopen.
38959         * modules/fcntl-safer (Depends-on): Add fcntl.
38960         * modules/stdlib-safer (Depends-on): Add stdlib.
38961         (configure.ac): Set indicator.
38962         * modules/unistd-safer (configure.ac): Likewise.
38963         * modules/tmpfile-safer (configure.ac): Likewise.
38964         (Depends-on): Add tmpfile.
38965         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
38966         active.
38967         * tests/test-fopen.c (includes): Test safer versions when they are
38968         in use.
38969         * tests/test-open.c (includes): Likewise.
38970
38971         popen: fix cygwin 1.5 bug when stdin closed
38972         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
38973         * modules/popen: New file.
38974         * modules/popen-tests: Likewise.
38975         * tests/test-popen.c: Likewise.
38976         * m4/popen.m4: Likewise.
38977         * lib/popen.c: Likewise.
38978         * lib/stdio.in.h (popen): New declaration.
38979         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
38980         * modules/stdio (Makefile.am): Likewise.
38981         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
38982
38983 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
38984
38985         maint.mk: give full control over update-copyright exclusions
38986         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
38987         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
38988         (update-copyright): Don't force inclusion of top-level
38989         ChangeLog.  Don't force exclusion of all COPYING files, but make
38990         them the default exclusion instead.
38991
38992 2009-08-16  Bruno Haible  <bruno@clisp.org>
38993
38994         Fix test failures on Solaris 10.
38995         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
38996         tests when Solaris iconv() is used.
38997         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
38998         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
38999         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
39000         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
39001         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
39002
39003 2009-08-16  Bruno Haible  <bruno@clisp.org>
39004
39005         Fix test failures on Solaris 10.
39006         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
39007         'tr' program and pass it as first argument.
39008         * tests/test-pipe-filter-gi1.sh: Likewise.
39009         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
39010         program as first argument.
39011         * tests/test-pipe-filter-gi1.c (main): Likewise.
39012
39013 2009-08-16  Eric Blake  <ebb9@byu.net>
39014
39015         fpurge: fix previous commits
39016         * modules/fpurge (Makefile.am): Make replacement conditional,
39017         partially reverting 2007-04-29 change; missed in previous
39018         attempt.
39019         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
39020         is missing.
39021
39022 2009-08-16  Bruno Haible  <bruno@clisp.org>
39023
39024         Clarify fpurge's effect on the file position.
39025         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
39026         * tests/test-fpurge.c (main): Make a second pass for checking the file
39027         position.
39028
39029 2009-08-16  Bruno Haible  <bruno@clisp.org>
39030
39031         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
39032         declaration of fpurge is missing.
39033         * tests/test-fpurge.c (main): Check that the file has not more contents
39034         than expected. Close the file before removing it.
39035
39036 2009-08-15  Eric Blake  <ebb9@byu.net>
39037
39038         fpurge: don't wrap working cygwin implementation
39039         * lib/fpurge.c (fpurge): Fix comment typo.
39040         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
39041         1.7 to avoid replacement.
39042         * tests/test-fpurge.c (main): Enhance test.
39043
39044 2009-08-15  Eric Blake  <ebb9@byu.net>
39045         and Jim Meyering  <meyering@redhat.com>
39046
39047         test-update-copyright: skip if perl is insufficient
39048         * tests/test-update-copyright.sh: Failure to run maintainer tool
39049         should not cause testsuite failure on cygwin 1.5.
39050
39051 2009-08-14  Eric Blake  <ebb9@byu.net>
39052
39053         doc: mention more functions added in cygwin 1.7.0
39054         * doc/posix-headers/limits.texi (limits.h): Update for recent
39055         cygwin additions.
39056         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
39057         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
39058         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
39059         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
39060         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
39061
39062 2009-08-14  Eric Blake  <ebb9@byu.net>
39063
39064         maint.mk: simplify update-copyright rule
39065         * top/maint.mk (update-copyright-local): Delete, and document how
39066         to do it in cfg.mk instead.
39067         (update-copyright-exclude-regexp): Delete, and document how to do
39068         it in .x-update-copyright instead.
39069         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
39070         exclude ChangeLog.
39071
39072 2009-08-14  Bruno Haible  <bruno@clisp.org>
39073
39074         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
39075
39076 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
39077
39078         maint.mk: support update-copyright-env
39079         * top/maint.mk (update-copyright-env): Define place-holder.
39080         (update-copyright): Expand $(update-copyright-env) before
39081         invoking update-copyright.
39082
39083 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
39084
39085         update-copyright: implement forced reformatting
39086         * build-aux/update-copyright: Implement and document
39087         UPDATE_COPYRIGHT_FORCE.
39088         * tests/test-update-copyright.sh: Test it.
39089
39090 2009-08-14  Eric Blake  <ebb9@byu.net>
39091         and Bruno Haible  <bruno@clisp.org>
39092
39093         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
39094         * tests/test-locale.c: Revert previous patch related to NULL.
39095         * tests/test-stdio.c: Likewise.
39096         * tests/test-stdlib.c: Likewise.
39097         * tests/test-string.c: Likewise.
39098         * tests/test-unistd.c: Likewise.
39099         * modules/time-tests (Depends-on): Add verify.
39100         * modules/wchar-tests (Depends-on): Likewise.
39101         * tests/test-time.c: Test for NULL compliance.
39102         * tests/test-wchar.c: Likewise.
39103         * modules/locale (Depends-on): Add stddef.
39104         * modules/stdio (Depends-on): Likewise.
39105         * modules/stdlib (Depends-on): Likewise.
39106         * modules/string (Depends-on): Likewise.
39107         * modules/time (Depends-on): Likewise.
39108         * modules/unistd (Depends-on): Likewise.
39109         * modules/wchar (Depends-on): Likewise.
39110         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
39111         * lib/stdlib.in.h (includes): Likewise.
39112         * lib/string.in.h (includes): Likewise.
39113         * lib/time.in.h (includes): Likewise.
39114         * lib/unistd.in.h (includes): Likewise.
39115         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
39116         replaced.
39117         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
39118         * m4/stddef_h.m4: New file.
39119         * modules/stddef: Likewise.
39120         * lib/stddef.in.h: Likewise.
39121         * modules/stddef-tests: Likewise.
39122         * tests/test-stddef.c: Likewise.
39123         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
39124         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
39125         * doc/posix-headers/locale.texi (locale.h): Likewise.
39126         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
39127         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
39128         * doc/posix-headers/string.texi (string.h): Likewise.
39129         * doc/posix-headers/time.texi (time.h): Likewise.
39130         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
39131         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
39132
39133 2009-08-14  Eric Blake  <ebb9@byu.net>
39134
39135         doc: improve git diff of texinfo files
39136         * .gitattributes: Add rule for *.texi files, with hint on how to
39137         use it.
39138         Copied from m4, and based on a report by Bruno Haible.
39139
39140 2009-08-14  Bruno Haible  <bruno@clisp.org>
39141
39142         Disable multithread support by default on Cygwin 1.5.x for real.
39143         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
39144
39145 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
39146
39147         update-copyright: much ado about intervals
39148         * build-aux/update-copyright: Implement and document
39149         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
39150         of copyright year intervals.
39151         Also, document UPDATE_COPYRIGHT_YEAR.
39152         * tests/test-update-copyright.sh: Test it.
39153
39154         update-copyright: convert 2-digit to 4-digit years
39155         * build-aux/update-copyright: Implement and document.
39156         * tests/test-update-copyright.sh: Update.
39157
39158 2009-08-14  Jim Meyering  <meyering@redhat.com>
39159
39160         test-exclude: avoid coreutils "make check" failure
39161         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
39162         just as in test-argmatch.c.
39163
39164 2009-08-13  Eric Blake  <ebb9@byu.net>
39165
39166         test-dup2: fix bad assumption
39167         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
39168         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
39169
39170         test-version-etc: fix CRLF portability issue
39171         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
39172         recognize \r.
39173         * tests/test-argp-version-etc-1.sh: Likewise.
39174
39175         getopt: update client modules
39176         * modules/argp (Depends-on): Use getopt-gnu.
39177         * modules/git-merge-changelog (Depends-on): Likewise.
39178         * modules/long-options (Depends-on): Likewise.
39179         * modules/xstrtol (Depends-on): Likewise.
39180
39181 2009-08-13  Simon Josefsson  <simon@josefsson.org>
39182
39183         * tests/test-version-etc.sh: Don't fail on different
39184         project/version.  Don't fail on CRLF differences.  Rewrite to use
39185         multiple -e instead of multiple sed forks, suggested by Eric Blake
39186         <ebb9@byu.net>.
39187         * tests/test-argp-version-etc-1.sh: Likewise.
39188
39189 2009-08-13  Simon Josefsson  <simon@josefsson.org>
39190
39191         * tests/test-version-etc.sh: Don't fail on different
39192         project/version.
39193
39194 2009-08-12  Bruno Haible  <bruno@clisp.org>
39195
39196         Tests for modules 'getopt-posix', 'getopt-gnu'.
39197         * modules/getopt-posix-tests: New file.
39198         * tests/test-getopt.c: New file.
39199         * tests/test-getopt.h: New file.
39200         * tests/test-getopt_long.h: New file.
39201
39202         New modules 'getopt-posix', 'getopt-gnu'.
39203         * modules/getopt-gnu: New file, renamed from modules/getopt.
39204         * modules/getopt-posix: New file.
39205         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
39206         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
39207         (gl_GETOPT): Remove macro.
39208         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
39209         Disable the test against BSD systems that declare optreset. Test
39210         against mingw bug. Test against lack of support of optional arguments
39211         on many platforms.
39212         * doc/glibc-headers/getopt.texi: Update module name and list of
39213         relevant platforms.
39214         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
39215         'getopt-gnu' and more portability problems.
39216         * NEWS: Mention the changes.
39217
39218 2009-08-12  Bruno Haible  <bruno@clisp.org>
39219
39220         Ensure that optarg etc. get declared by <unistd.h>.
39221         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
39222         AC_USE_SYSTEM_EXTENSIONS.
39223         * modules/getopt (Depends-on): Add 'extensions'.
39224
39225 2009-08-12  Bruno Haible  <bruno@clisp.org>
39226
39227         Avoid test link errors.
39228         * modules/pipe-filter-ii-tests (Makefile.am): Define
39229         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
39230         * modules/pipe-filter-gi-tests (Makefile.am): Define
39231         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
39232         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39233
39234 2009-08-12  Bruno Haible  <bruno@clisp.org>
39235
39236         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
39237         gl_GETOPT_SUBSTITUTE before.
39238         (gl_GETOPT): Use it.
39239         * m4/argp.m4 (gl_ARGP): Update.
39240         Reported by Sergey Poznyakoff.
39241
39242         * m4/getopt.m4: Reorder macros.
39243         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
39244         (gl_GETOPT_SUBSTITUTE): Remove macro.
39245
39246 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39247
39248         Minor improvement in gitlog-to-changelog
39249
39250         * build-aux/gitlog-to-changelog: New option `--format' makes
39251         output format string configurable.
39252
39253 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39254
39255         Optimize exclude: use hash tables for non-wildcard patterns.
39256
39257         * lib/exclude.c: Include hash.h and mbuiter.h
39258         (struct exclude_pattern, exclude_segment): New data types.
39259         (struct exclude): Rewrite.
39260         (fnmatch_pattern_has_wildcards): New function.
39261         (new_exclude_segment, free_exclude_segment): New functions.
39262         (excluded_file_pattern_p, excluded_file_name_p): New functions.
39263         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
39264         * lib/exclude.h (is_fnmatch_pattern): New prototype.
39265         * modules/exclude: Depend on hash and mbuiter.
39266
39267         * modules/exclude-tests: New file.
39268         * tests/test-exclude.c: New file.
39269         * tests/test-exclude1.sh: New file.
39270         * tests/test-exclude2.sh: New file.
39271         * tests/test-exclude3.sh: New file.
39272         * tests/test-exclude4.sh: New file.
39273         * tests/test-exclude5.sh: New file.
39274         * tests/test-exclude6.sh: New file.
39275         * tests/test-exclude7.sh: New file.
39276
39277 2009-08-12  Bruno Haible  <bruno@clisp.org>
39278
39279         Ensure that getopt() gets declared by <unistd.h>.
39280         * lib/unistd.in.h: Conditionally include getopt.h.
39281         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
39282         Set GNULIB_UNISTD_H_GETOPT.
39283         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39284         GNULIB_UNISTD_H_GETOPT.
39285         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
39286
39287 2009-08-12  Bruno Haible  <bruno@clisp.org>
39288
39289         Clarify logic.
39290         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
39291         gl_replace_getopt instead of GETOPT_H.
39292
39293 2009-08-12  Bruno Haible  <bruno@clisp.org>
39294
39295         * m4/getopt.m4: Add comments.
39296
39297 2009-08-12  Bruno Haible  <bruno@clisp.org>
39298
39299         Disable multithread support by default on Cygwin 1.5.x.
39300         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
39301         set gl_use_threads=no if not specified otherwise.
39302
39303 2009-08-11  Bruno Haible  <bruno@clisp.org>
39304
39305         Avoid compilation error on NetBSD 5.0.
39306         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
39307         * tests/test-stdio.c: Likewise.
39308         * tests/test-stdlib.c: Likewise.
39309         * tests/test-string.c: Likewise.
39310         * tests/test-unistd.c: Likewise.
39311         Reported by Greg Troxel <gdt@ir.bbn.com>
39312         at <https://savannah.gnu.org/support/?106973>.
39313
39314 2009-08-11  Bruno Haible  <bruno@clisp.org>
39315
39316         * modules/dup2-tests (Depends-on): Remove close.
39317
39318         Undo 2009-07-19 commit.
39319         * modules/acl-tests (Depends-on): Remove close.
39320         * modules/binary-io-tests (Depends-on): Likewise.
39321         * modules/closein-tests (Depends-on): Likewise.
39322         * modules/flock-tests (Depends-on): Likewise.
39323         * modules/fsync-tests (Depends-on): Likewise.
39324         * modules/lseek-tests (Depends-on): Likewise.
39325         * modules/pipe-tests (Depends-on): Likewise.
39326         * modules/posix_spawn-tests (Depends-on): Likewise.
39327         * modules/posix_spawnp-tests (Depends-on): Likewise.
39328         * modules/stat-time-tests (Depends-on): Likewise.
39329         * modules/yesno-tests (Depends-on): Likewise.
39330
39331 2009-08-10  Bruno Haible  <bruno@clisp.org>
39332
39333         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
39334
39335 2009-08-10  Bruno Haible  <bruno@clisp.org>
39336
39337         Fix a gcc warning.
39338         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
39339
39340 2009-08-10  Bruno Haible  <bruno@clisp.org>
39341
39342         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
39343         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
39344         not only the first time.
39345         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
39346         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
39347         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
39348         is 1, not only the the first time.
39349
39350 2009-08-10  Bruno Haible  <bruno@clisp.org>
39351
39352         Make it possible to use module 'gethostname' without module 'close'.
39353         * lib/unistd.in.h (close): Evoke a link error only if
39354         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
39355         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39356         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39357         * modules/unistd (Makefile.am): Substitute
39358         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39359         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
39360         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
39361         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
39362         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39363         * modules/sys_ioctl (Makefile.am): Substitute
39364         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39365         * modules/socket (configure.ac): On native Windows, set
39366         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
39367         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39368         Reported by Sam Steingold <sds@gnu.org>.
39369
39370 2009-08-10  Bruno Haible  <bruno@clisp.org>
39371
39372         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
39373         * modules/ioctl (configure.ac): Likewise.
39374
39375 2009-08-10  Bruno Haible  <bruno@clisp.org>
39376
39377         Avoid collision between gnulib wrapper and libintl wrapper.
39378         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
39379         already defined in intl/printf.c.
39380         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
39381         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
39382
39383 2009-08-09  Bruno Haible  <bruno@clisp.org>
39384
39385         Make <sys/select.h> really self-contained, also on Solaris 10.
39386         * lib/sys_select.in.h: Include <string.h>.
39387         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
39388         Solaris 10 problem.
39389         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
39390         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
39391         Reported by Jim Meyering.
39392
39393 2009-08-09  Bruno Haible  <bruno@clisp.org>
39394
39395         Avoid warnings from 'aclocal' that are due to a use of macro name
39396         AM_XGETTEXT_OPTION that is not defined in automake.
39397         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
39398         automake.
39399         * modules/error (configure.ac): Likewise.
39400         * modules/propername (configure.ac): Likewise.
39401         * modules/vasprintf (configure.ac): Likewise.
39402         * modules/verror (configure.ac): Likewise.
39403         * modules/xprintf (configure.ac): Likewise.
39404         * modules/xvasprintf (configure.ac): Likewise.
39405
39406 2009-08-08  Bruno Haible  <bruno@clisp.org>
39407
39408         Avoid compilation error in C++ mode.
39409         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
39410         Reported by Sam Steingold <sds@gnu.org>.
39411
39412 2009-08-08  Bruno Haible  <bruno@clisp.org>
39413
39414         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
39415         for the various Unix platforms.
39416         * doc/posix-headers/limits.texi: Update platforms list regarding
39417         HOST_NAME_MAX.
39418         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39419
39420 2009-08-07  Jim Meyering  <meyering@redhat.com>
39421
39422         selinux-at: fix typo in a comment
39423         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
39424         Spotted by Paolo Bonzini.
39425
39426         selinux-at: remove redundant m4 code, add documentation
39427         * modules/selinux-at (configure.ac): Remove redundant code.
39428         LIB_SELINUX is already set via the dependent module, selinux-h.
39429         (Include): Add quotes around selinux-at.h.
39430         * lib/selinux-at.h: Add documentation.
39431         Reported by Bruno Haible in
39432         http://marc.info/?l=gnulib-bug&m=124958988300749
39433
39434 2009-08-07  Bruno Haible  <bruno@clisp.org>
39435
39436         Avoid link error on MacOS X 10.3 and 10.4.
39437         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
39438         on non-ELF systems.
39439         * lib/argp-pv.c (argp_program_version): Likewise.
39440         Reported by Simon Josefsson.
39441
39442 2009-08-07  Simon Josefsson  <simon@josefsson.org>
39443
39444         * tests/test-version-etc.sh: Use $EXEEXT.
39445
39446 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
39447
39448         update-copyright: update documentation to point to maint.mk
39449         * build-aux/update-copyright: Here.
39450
39451 2009-08-06  Jim Meyering  <meyering@redhat.com>
39452
39453         maint.mk: support update-copyright-local
39454         * top/maint.mk (update-copyright-local): Define place-holder.
39455         (update-copyright): Depend on $(update-copyright-local).
39456
39457 2009-08-06  Jim Meyering  <meyering@redhat.com>
39458
39459         selinux-at: new module
39460         Initially written for coreutils, this module will soon be
39461         used by findutils, too.
39462         * MODULES.html.sh [Misc]: Add selinux-at.
39463         * lib/selinux-at.h: New file, from coreutils.
39464         * lib/selinux-at.c: Likewise.
39465         * modules/selinux-at: Likewise.
39466         (License): Change from LGPL to GPL, since it depends
39467         on the GPL'd openat module.
39468
39469         doc: update README
39470         * README: Remove references to cogito.
39471         Remove cvs-repo-updating instructions from 2007.
39472         Don't imply that CVS is better if you have limited disk space.
39473
39474 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39475
39476         update-copyright: support C-style comments
39477         * build-aux/update-copyright: Implement and document.
39478         * tests/test-update-copyright.sh: Test.
39479
39480 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39481
39482         update-copyright: support omitted "(C)"
39483         * build-aux/update-copyright: Implement and document.  Also,
39484         allow variable whitespace before "(C)".
39485         * tests/test-update-copyright.sh: Test.
39486
39487 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39488
39489         update-copyright: don't trip on non-FSF copyright statements
39490         * build-aux/update-copyright: Fix so that the first correctly
39491         formatted FSF copyright statement is recognized no matter what
39492         appears before it.  Update documentation.
39493         * tests/test-update-copyright.sh: Test that.
39494
39495 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39496
39497         update-copyright: clean up code a little
39498         * build-aux/update-copyright: Append "_re" to the name of any
39499         variable holding a regular expression.
39500         Replace "old" and "new" with "stmt" in variable names.
39501         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
39502         handled correctly.
39503         Format code more consistently.
39504
39505 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39506
39507         update-copyright-tests: improve portability
39508         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
39509         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
39510
39511 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
39512
39513         update-copyright: support @copyright{} and &copy;
39514         * build-aux/update-copyright: Implement and document.
39515         * tests/test-update-copyright.sh: Test.
39516
39517 2009-08-04  Jim Meyering  <meyering@redhat.com>
39518
39519         update-copyright-tests: correctly test EOL=\r\n handling
39520         * tests/test-update-copyright.sh: Put \r at the end of some lines
39521         for the dos-eol tests.  Based on a patch by Joel E. Denny.
39522
39523         maint.mk: make update-copyright exclusion list more configurable
39524         * top/maint.mk (update-copyright): Default to excluding COPYING,
39525         but allow an override, in case someone does want to update that file.
39526
39527         maint.mk: don't update copyright date in COPYING
39528         * top/maint.mk (update-copyright): Exclude COPYING.
39529
39530         maint.mk: add a copyright-updating rule
39531         * top/maint.mk (update-copyright): New rule.
39532         Derived from coreutils/Makefile.am.
39533
39534         update-copyright: rename some variables
39535         * build-aux/update-copyright: Rename a few variables for clarity.
39536         Tweak syntax.  List Joel E. Denny as coauthor.
39537
39538 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
39539
39540         update-copyright: fix bug for 2-digit last year and add tests
39541         * build-aux/update-copyright: Fix bug.
39542         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
39543         specified.
39544         * modules/update-copyright-tests: New
39545         * tests/test-update-copyright.sh: New.
39546
39547 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
39548
39549         update-copyright: handle leading tabs in line prefix
39550         * build-aux/update-copyright: Count leading tabs as 8 spaces
39551         when computing margin.  This helps with the formatting of
39552         ChangeLogs, for example.
39553         Fix documentation a little.
39554
39555 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
39556
39557         update-copyright: support EOL=\r\n
39558         * build-aux/update-copyright: Implement that.
39559
39560 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
39561
39562         update-copyright: automatically format copyright statements
39563         * build-aux/update-copyright: Implement that.
39564         Also, be a little more predictable and safer by always failing
39565         when the full copyright format is not perfectly recognized as an
39566         unbroken whole.  Discussed at
39567         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
39568         Rewrite documentation.
39569
39570 2009-08-03  Bruno Haible  <bruno@clisp.org>
39571
39572         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
39573
39574 2009-08-02  Bruno Haible  <bruno@clisp.org>
39575
39576         Tests for module 'uname'.
39577         * modules/uname-tests: New file.
39578         * tests/test-uname.c: New file.
39579
39580         New module 'uname'.
39581         * lib/uname.c: New file.
39582         * m4/uname.m4: New file.
39583         * modules/uname: New file.
39584         * doc/posix-functions/uname.texi: Mention the new module.
39585
39586 2009-08-02  Bruno Haible  <bruno@clisp.org>
39587
39588         Tests for module 'sys_utsname'.
39589         * modules/sys_utsname-tests: New file.
39590         * tests/test-sys_utsname.c: New file.
39591
39592         New module 'sys_utsname'.
39593         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
39594         * m4/sys_utsname_h.m4: New file.
39595         * modules/sys_utsname: New file.
39596         * doc/posix-headers/sys_utsname.texi: Mention the new module.
39597
39598 2009-08-02  Bruno Haible  <bruno@clisp.org>
39599
39600         Implicitly initialize the sockets library.
39601         * lib/gethostname.c: Include sockets.h.
39602         (rpl_gethostname): Invoke gl_sockets_startup.
39603         * lib/socket.c: Include sockets.h.
39604         (rpl_socket): Invoke gl_sockets_startup.
39605         * modules/gethostname (Depends-on): Add sockets.
39606         * modules/socket (Depends-on): Likewise.
39607         * tests/test-poll.c: Don't include sockets.h.
39608         (main): Don't invoke gl_sockets_startup.
39609         * tests/test-select.c: Don't include sockets.h.
39610         (main): Don't invoke gl_sockets_startup.
39611
39612 2009-08-02  Bruno Haible  <bruno@clisp.org>
39613
39614         Allow multiple calls to gl_sockets_startup.
39615         * lib/sockets.c (initialized_sockets_version): New variable.
39616         (gl_sockets_startup): Do nothing if already called for this or a higher
39617         version.
39618         (gl_sockets_cleanup): Reset initialized_sockets_version.
39619
39620 2009-08-03  Simon Josefsson  <simon@josefsson.org>
39621
39622         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
39623         different project/version.
39624
39625 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
39626             Bruno Haible  <bruno@clisp.org>
39627
39628         Tests for module 'pipe-filter-gi'.
39629         * modules/pipe-filter-gi-tests: New file.
39630         * tests/test-pipe-filter-gi1.sh: New file.
39631         * tests/test-pipe-filter-gi1.c: New file.
39632         * tests/test-pipe-filter-gi2.sh: New file.
39633         * tests/test-pipe-filter-gi2-main.c: New file.
39634         * tests/test-pipe-filter-gi2-child.c: New file.
39635
39636         New module 'pipe-filter-gi'.
39637         * lib/pipe-filter-gi.c: New file.
39638         * modules/pipe-filter-gi: New file.
39639
39640 2009-08-02  Bruno Haible  <bruno@clisp.org>
39641             Paolo Bonzini  <bonzini@gnu.org>
39642
39643         Tests for module 'pipe-filter-ii'.
39644         * modules/pipe-filter-ii-tests: New file.
39645         * tests/test-pipe-filter-ii1.sh: New file.
39646         * tests/test-pipe-filter-ii1.c: New file.
39647         * tests/test-pipe-filter-ii2.sh: New file.
39648         * tests/test-pipe-filter-ii2-main.c: New file.
39649         * tests/test-pipe-filter-ii2-child.c: New file.
39650
39651         New module 'pipe-filter-ii'.
39652         * lib/pipe-filter.h: New file.
39653         * lib/pipe-filter-ii.c: New file.
39654         * lib/pipe-filter-aux.h: New file.
39655         * modules/pipe-filter-ii: New file.
39656
39657 2009-08-02  Simon Josefsson  <simon@josefsson.org>
39658
39659         * lib/gc-libgcrypt.c: Change copyright to FSF.
39660         * lib/gc-gnulib.c: Likewise.
39661
39662 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
39663
39664         * lib/gethostname.c: Include limits.h.
39665
39666 2009-08-02  Simon Josefsson  <simon@josefsson.org>
39667             Bruno Haible  <bruno@clisp.org>
39668
39669         Ensure HOST_NAME_MAX as part of the gethostname module.
39670         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
39671         define also HOST_NAME_MAX.
39672         * tests/test-gethostname.c: Include <limits.h>.
39673         (main): Check also HOST_NAME_MAX.
39674         * doc/posix-headers/limits.texi: Document the mingw problem.
39675
39676 2009-08-02  Bruno Haible  <bruno@clisp.org>
39677
39678         * lib/gethostname.c (gethostname): Fix handling of large len argument.
39679         Add comments.
39680
39681 2009-03-31  Simon Josefsson  <simon@josefsson.org>
39682
39683         * lib/gethostname.c: Add Windows wrapper.
39684         * m4/gethostname.m4: Look for gethostname in -lws2_32.
39685         * modules/gethostname: Depend on sys_socket & errno, for also
39686         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
39687         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
39688
39689 2009-07-31  Jim Meyering  <meyering@redhat.com>
39690
39691         getloadavg: fix symbol name in comment
39692         * lib/getloadavg.c: Correct a typo I introduced when adding
39693         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
39694         Matt Kraai spotted the problem.
39695
39696 2009-07-29  Matt Kraai  <mkraai@beckman.com>
39697
39698         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
39699         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
39700         code also if ! defined N_NAME_POINTER.
39701         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
39702         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
39703         but the n_name member is a 12-byte array.
39704
39705 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
39706
39707         update-copyright: generalize comment handling
39708         * build-aux/update-copyright: Handle copyright statements
39709         within more comment styles.
39710         Document usage.
39711         Report any file with an external copyright holder or parse failure.
39712
39713 2009-07-29  Jim Meyering  <meyering@redhat.com>
39714
39715         mktime: correct setting of REPLACE_MKTIME
39716         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
39717
39718         update-copyright: new module
39719         * modules/update-copyright: New file.
39720         * build-aux/update-copyright: New file.
39721         * MODULES.html.sh (maint+release support): Add update-copyright.
39722
39723 2009-07-27  Bruno Haible  <bruno@clisp.org>
39724
39725         Fix compilation error when <ctime> is used and mktime is replaced.
39726         * lib/time.in.h (mktime): New declaration.
39727         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
39728         REPLACE_MKTIME instead of defining mktime in config.h.
39729         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
39730         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
39731         Reported by Ross McFarland <rwmcfa1@neces.com>.
39732
39733 2009-07-27  Bruno Haible  <bruno@clisp.org>
39734
39735         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
39736         Reported by Matt Kraai <mkraai@beckman.com>.
39737
39738 2009-07-25  Jim Meyering  <meyering@redhat.com>
39739
39740         maint.mk: avoid warnings about missing files
39741         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
39742         diagnostic when .prev-version does not exist.
39743         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
39744         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
39745         nonexistent cfg.mk.
39746         Suggestions from Simon Josefsson.
39747
39748 2009-07-25  Bruno Haible  <bruno@clisp.org>
39749
39750         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
39751         defined as macros. Needed on QNX 6.4.1.
39752         Reported by Matt Kraai <mkraai@beckman.com>.
39753
39754 2009-07-23  Jim Meyering  <meyering@redhat.com>
39755
39756         maint.mk: invoke "make dist" with a working value of XZ_OPT
39757         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
39758
39759 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
39760
39761         Make fseeko.c compile on QNX.
39762         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
39763
39764 2009-07-22  Peter Simons  <simons@cryp.to>
39765
39766         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
39767         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
39768         * lib/md4.h: Likewise.
39769         * lib/md5.h: Likewise.
39770         * lib/sha1.h: Likewise.
39771         * lib/sha256.h: Likewise.
39772         * lib/sha512.h: Likewise.
39773
39774         tests-sha1: don't assign literal string to 'char *' variable
39775         * tests/test-sha1.c (main): Declare locals with "const" to match
39776         attributes of the right hand side.
39777
39778 2009-07-21  Eric Blake  <ebb9@byu.net>
39779
39780         dup2: fix more mingw problems
39781         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
39782         fd to itself.
39783         * doc/posix-functions/dup2.texi (dup2): Document the bug.
39784         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
39785         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
39786         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
39787         care of mingw bugs.
39788
39789 2009-07-21  Jim Meyering  <meyering@redhat.com>
39790
39791         vc-list-files: avoid failure when /bin/sh is dash
39792         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
39793         On some Debian based systems, /bin/sh is a symlink to dash, and running
39794         this command would omit the "/" following each 'tests' prefix:
39795           dash -x build-aux/vc-list-files -C . tests
39796         That is because bash and dash work differently:
39797           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
39798           bash ok
39799           dash odd
39800
39801 2009-07-21  Eric Blake  <ebb9@byu.net>
39802
39803         dup2-tests: test previous patch
39804         * modules/dup2-tests: New file.
39805         * tests/test-dup2.c: Likewise.
39806         * tests/test-open.c (main): Avoid unspecified behavior.
39807         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
39808         test.
39809
39810         dup2: work around mingw and cygwin 1.5 bug
39811         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
39812         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39813         * modules/unistd (Makefile.am): Substitute it.
39814         * lib/unistd.in.h (dup2): Declare the replacement.
39815         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
39816         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
39817         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
39818         * modules/execute (Depends-on): Add dup2.
39819         * modules/fseterr (Depends-on): Likewise.
39820         * modules/pipe (Depends-on): Likewise.
39821         * modules/posix_spawn-internal (Depends-on): Likewise.
39822
39823 2009-07-21  Bruno Haible  <bruno@clisp.org>
39824
39825         * modules/.gitattributes: New file.
39826
39827 2009-07-20  Bruno Haible  <bruno@clisp.org>
39828
39829         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
39830         (main): Use it.
39831
39832 2009-07-20  Eric Blake  <ebb9@byu.net>
39833
39834         test-pipe: make a bit more robust.
39835         * tests/test-pipe.c (myerr): Allow error messages regardless of
39836         what we do to stderr.
39837         (test_pipe): Rearrange to avoid deadlock.
39838         (child_main): Try a larger read, to ensure we avoided deadlock.
39839         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
39840         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
39841         if misused.
39842
39843 2009-07-19  Jim Meyering  <meyering@redhat.com>
39844
39845         fts: avoid false-positive cycle-detection
39846         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
39847         for each new command line argument.
39848
39849 2009-07-19  Bruno Haible  <bruno@clisp.org>
39850
39851         Fix build error on mingw with the modules sys_select and unistd.
39852         * modules/acl-tests (Depends-on): Add close.
39853         * modules/binary-io-tests (Depends-on): Likewise.
39854         * modules/closein-tests (Depends-on): Likewise.
39855         * modules/flock-tests (Depends-on): Likewise.
39856         * modules/fsync-tests (Depends-on): Likewise.
39857         * modules/lseek-tests (Depends-on): Likewise.
39858         * modules/pipe-tests (Depends-on): Likewise.
39859         * modules/posix_spawn-tests (Depends-on): Likewise.
39860         * modules/posix_spawnp-tests (Depends-on): Likewise.
39861         * modules/stat-time-tests (Depends-on): Likewise.
39862         * modules/yesno-tests (Depends-on): Likewise.
39863
39864 2009-07-19  Bruno Haible  <bruno@clisp.org>
39865
39866         Unify conditionals.
39867         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
39868         macros, not at the compiler macros.
39869         * lib/pipe.c: Likewise.
39870         * lib/execute.c: Likewise.
39871         * lib/spawni.c: Likewise.
39872
39873 2009-07-19  Bruno Haible  <bruno@clisp.org>
39874
39875         Fix handling of closed stdin/stdout/stderr on mingw.
39876         * lib/w32spawn.h: Include unistd.h.
39877         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
39878         file descriptor with O_NOINHERIT flag.
39879         (fd_safer_noinherit): New function, based on fd-safer.c.
39880         (dup_safer_noinherit): New function, based on dup-safer.c.
39881         (undup_safer_noinherit): New function.
39882         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
39883         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
39884         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
39885         instead of fd_safer.
39886         * tests/test-pipe.c: Include <windows.h>.
39887         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
39888         result.
39889
39890         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
39891         from main.
39892         (test_pipe): Pass an extra argument for disambiguation.
39893         (main): Invoke parent_main or child_main.
39894
39895         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
39896         consistently.
39897
39898 2009-07-18  Eric Blake  <ebb9@byu.net>
39899
39900         test-pipe: fix mingw build
39901         * tests/test-pipe.c (main): Avoid fcntl on mingw.
39902
39903 2009-07-18  Bruno Haible  <bruno@clisp.org>
39904
39905         * modules/pipe-tests (Makefile.am): Fix typo.
39906
39907 2009-07-18  Eric Blake  <ebb9@byu.net>
39908
39909         error: fix mingw build
39910         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
39911         Reported by Bruno Haible.
39912
39913         error: avoid undefined use of stdout
39914         * lib/error.c (error, error_at_line): Check that fd 1 is open
39915         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
39916         is handling faults and the close_stdout module wants to report the
39917         detection of closed stdout as an error.
39918
39919 2009-07-17  Eric Blake  <ebb9@byu.net>
39920
39921         pipe: be robust in face of closed fds
39922         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
39923         should cause child to misbehave.
39924         * modules/pipe-tests: New module.
39925         * tests/test-pipe.c: New file.
39926         * tests/test-pipe.sh: New file.
39927         Reported by Akim Demaille.
39928
39929 2009-07-14  Bruno Haible  <bruno@clisp.org>
39930
39931         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
39932         Reported by anonymous kc.
39933
39934 2009-07-07  Jim Meyering  <meyering@redhat.com>
39935
39936         maint.mk: don't look for translatable strings in *.m4 or *.mk
39937         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
39938         when searching for translatable strings.
39939
39940 2009-07-05  Jim Meyering  <meyering@redhat.com>
39941
39942         remove superfluous parentheses in STREQ definition
39943         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
39944         * lib/getugroups.c (STREQ): Likewise.
39945         * lib/fnmatch.c (STREQ): Likewise.
39946         Spotted by Bruno Haible.
39947
39948 2009-07-04  Jim Meyering  <meyering@redhat.com>
39949
39950         argv-iter: new module
39951         * MODULES.html.sh: Add argv-iter.
39952         * lib/argv-iter.c, lib/argv-iter.h: New files.
39953         * modules/argv-iter: New file.
39954         * modules/argv-iter-tests: New file.
39955         * tests/test-argv-iter.c: Test it.
39956
39957 2009-07-04  Bruno Haible  <bruno@clisp.org>
39958
39959         Fix assertion.
39960         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
39961         contains more exact copies of a given entry than file2, leave the extra
39962         copies unpaired rather than aborting.
39963         Reported by Eric Blake.
39964
39965 2009-07-02  Bruno Haible  <bruno@clisp.org>
39966
39967         Speedup git-merge-changelog for git cherry-pick.
39968         * lib/git-merge-changelog.c (struct entries_mapping): New type.
39969         (entries_mapping_get): New function, extracted from compute_mapping.
39970         (entries_mapping_reverse_get): New function.
39971         (compute_mapping): Add a 'full' argument. Return the result in a
39972         'struct entries_mapping'.
39973         (main): Update. Access the mappings through entries_mapping_get.
39974         Reported by Eric Blake.
39975
39976 2009-07-02  Bruno Haible  <bruno@clisp.org>
39977
39978         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
39979         best_i.
39980
39981 2009-07-02  Bruno Haible  <bruno@clisp.org>
39982
39983         Speed up approximate search for matching ChangeLog entries.
39984         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
39985         argument. Call fstrcmp_bounded instead of fstrcmp.
39986         (compute_mapping, try_split_merged_entry, main): Update callers.
39987
39988 2009-07-02  Bruno Haible  <bruno@clisp.org>
39989
39990         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
39991
39992 2009-06-30  Bruno Haible  <bruno@clisp.org>
39993
39994         Reduce the number of uc_is_cased calls.
39995         * lib/unicase.h (casing_suffix_context_t): Add
39996         'first_char_except_ignorable' field.
39997         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
39998         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
39999         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
40000         Update initializer.
40001         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
40002         case-ignorable characters.
40003         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
40004         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
40005         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
40006         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
40007         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
40008
40009 2009-06-30  Bruno Haible  <bruno@clisp.org>
40010
40011         Tests for module 'unicase/ignorable'.
40012         * modules/unicase/ignorable-tests: New file.
40013         * tests/unicase/test-ignorable.c: New file, generated by
40014         gen-uni-tables.
40015
40016         Tests for module 'unicase/cased'.
40017         * modules/unicase/cased-tests: New file.
40018         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
40019         * tests/unicase/test-predicate-part1.h: New file, derived from
40020         tests/unictype/test-predicate-part1.h.
40021         * tests/unicase/test-predicate-part2.h: New file, same as
40022         tests/unictype/test-predicate-part2.h.
40023
40024         Fix evaluation of "Before C" condition of FINAL_SIGMA.
40025         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
40026         (output_casing_properties): New function.
40027         (main): Call it.
40028         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
40029         * lib/unicase/cased.c: Include unictype/bitmap.h.
40030         (uc_is_cased): Define through a bitmap lookup.
40031         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
40032         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
40033         (uc_is_case_ignorable): Define through a bitmap lookup.
40034         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
40035         lib/unictype/bitmap.h.
40036         (Depends-on): Add inline. Clean up.
40037         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
40038         lib/unictype/bitmap.h.
40039         (Depends-on): Add inline. Clean up.
40040         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
40041         recognition.
40042         * tests/unicase/test-u16-tolower.c (main): Likewise.
40043         * tests/unicase/test-u32-tolower.c (main): Likewise.
40044
40045 2009-06-30  Bruno Haible  <bruno@clisp.org>
40046
40047         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
40048         * lib/unicase/u16-casemap.c: Likewise.
40049         * lib/unicase/u32-casemap.c: Likewise.
40050
40051 2009-06-29  Bruno Haible  <bruno@clisp.org>
40052
40053         Define u32_casefold as a wrapper around u32_ct_casefold.
40054         * lib/unicase/u32-casefold.c: Update.
40055         * modules/unicase/u32-casefold (Depends-on): Add
40056         unicase/u32-ct-casefold, unicase/empty-prefix-context,
40057         unicase/empty-suffix-context. Clean up.
40058
40059         Define u16_casefold as a wrapper around u16_ct_casefold.
40060         * lib/unicase/u16-casefold.c: Update.
40061         * modules/unicase/u16-casefold (Depends-on): Add
40062         unicase/u16-ct-casefold, unicase/empty-prefix-context,
40063         unicase/empty-suffix-context. Clean up.
40064
40065         Define u8_casefold as a wrapper around u8_ct_casefold.
40066         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
40067         * lib/unicase/u8-casefold.c: Update.
40068         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
40069         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40070
40071         Define u32_totitle as a wrapper around u32_ct_totitle.
40072         * lib/unicase/u32-totitle.c: Update.
40073         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
40074         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40075
40076         Define u16_totitle as a wrapper around u16_ct_totitle.
40077         * lib/unicase/u16-totitle.c: Update.
40078         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
40079         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40080
40081         Define u8_totitle as a wrapper around u8_ct_totitle.
40082         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
40083         functions.
40084         (FUNC): Delegate to U_CT_TOTITLE.
40085         * lib/unicase/u8-totitle.c: Update.
40086         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
40087         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40088
40089         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
40090         invocation.
40091         * modules/unicase/u32-tolower (Depends-on): Add
40092         unicase/empty-prefix-context, unicase/empty-suffix-context.
40093
40094         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
40095         invocation.
40096         * modules/unicase/u16-tolower (Depends-on): Add
40097         unicase/empty-prefix-context, unicase/empty-suffix-context.
40098
40099         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
40100         * modules/unicase/u8-tolower (Depends-on): Add
40101         unicase/empty-prefix-context, unicase/empty-suffix-context.
40102
40103         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
40104         invocation.
40105         * modules/unicase/u32-toupper (Depends-on): Add
40106         unicase/empty-prefix-context, unicase/empty-suffix-context.
40107
40108         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
40109         invocation.
40110         * modules/unicase/u16-toupper (Depends-on): Add
40111         unicase/empty-prefix-context, unicase/empty-suffix-context.
40112
40113         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
40114         * modules/unicase/u8-toupper (Depends-on): Add
40115         unicase/empty-prefix-context, unicase/empty-suffix-context.
40116
40117         New module 'unicase/u32-ct-casefold'.
40118         * lib/unicase/u32-ct-casefold.c: New file.
40119         * modules/unicase/u32-ct-casefold: New file.
40120
40121         New module 'unicase/u16-ct-casefold'.
40122         * lib/unicase/u16-ct-casefold.c: New file.
40123         * modules/unicase/u16-ct-casefold: New file.
40124
40125         New module 'unicase/u8-ct-casefold'.
40126         * lib/unicase/u8-ct-casefold.c: New file.
40127         * lib/unicase/u-ct-casefold.h: New file, derived from
40128         lib/unicase/u-casefold.h.
40129         * modules/unicase/u8-ct-casefold: New file.
40130
40131         New module 'unicase/u32-ct-totitle'.
40132         * lib/unicase/u32-ct-totitle.c: New file.
40133         * modules/unicase/u32-ct-totitle: New file.
40134
40135         New module 'unicase/u16-ct-totitle'.
40136         * lib/unicase/u16-ct-totitle.c: New file.
40137         * modules/unicase/u16-ct-totitle: New file.
40138
40139         New module 'unicase/u8-ct-totitle'.
40140         * lib/unicase/u8-ct-totitle.c: New file.
40141         * lib/unicase/u-ct-totitle.h: New file, derived from
40142         lib/unicase/u-totitle.h.
40143         * modules/unicase/u8-ct-totitle: New file.
40144
40145         New module 'unicase/u32-ct-tolower'.
40146         * lib/unicase/u32-ct-tolower.c: New file.
40147         * modules/unicase/u32-ct-tolower: New file.
40148
40149         New module 'unicase/u16-ct-tolower'.
40150         * lib/unicase/u16-ct-tolower.c: New file.
40151         * modules/unicase/u16-ct-tolower: New file.
40152
40153         New module 'unicase/u8-ct-tolower'.
40154         * lib/unicase/u8-ct-tolower.c: New file.
40155         * modules/unicase/u8-ct-tolower: New file.
40156
40157         New module 'unicase/u32-ct-toupper'.
40158         * lib/unicase/u32-ct-toupper.c: New file.
40159         * modules/unicase/u32-ct-toupper: New file.
40160
40161         New module 'unicase/u16-ct-toupper'.
40162         * lib/unicase/u16-ct-toupper.c: New file.
40163         * modules/unicase/u16-ct-toupper: New file.
40164
40165         New module 'unicase/u8-ct-toupper'.
40166         * lib/unicase/u8-ct-toupper.c: New file.
40167         * modules/unicase/u8-ct-toupper: New file.
40168
40169         Add context arguments to u*_casemap functions.
40170         * lib/unicase/unicasemap.h: Include unicase.h.
40171         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
40172         suffix_context arguments.
40173         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
40174         functions.
40175         (FUNC): Add prefix_context and suffix_context arguments. Use
40176         uc_is_cased and uc_is_case_ignorable.
40177         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
40178         * lib/unicase/u16-casemap.c: Likewise.
40179         * lib/unicase/u32-casemap.c: Likewise.
40180         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
40181         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
40182         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
40183         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
40184         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
40185         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
40186
40187         New module 'unicase/u32-suffix-context'.
40188         * lib/unicase/u32-suffix-context.c: New file.
40189         * modules/unicase/u32-suffix-context: New file.
40190
40191         New module 'unicase/u16-suffix-context'.
40192         * lib/unicase/u16-suffix-context.c: New file.
40193         * modules/unicase/u16-suffix-context: New file.
40194
40195         New module 'unicase/u8-suffix-context'.
40196         * lib/unicase/u8-suffix-context.c: New file.
40197         * lib/unicase/u-suffix-context.h: New file.
40198         * modules/unicase/u8-suffix-context: New file.
40199
40200         New module 'unicase/empty-suffix-context'.
40201         * lib/unicase/empty-suffix-context.c: New file.
40202         * modules/unicase/empty-suffix-context: New file.
40203
40204         New module 'unicase/u32-prefix-context'.
40205         * lib/unicase/u32-prefix-context.c: New file.
40206         * modules/unicase/u32-prefix-context: New file.
40207
40208         New module 'unicase/u16-prefix-context'.
40209         * lib/unicase/u16-prefix-context.c: New file.
40210         * modules/unicase/u16-prefix-context: New file.
40211
40212         New module 'unicase/u8-prefix-context'.
40213         * lib/unicase/u8-prefix-context.c: New file.
40214         * lib/unicase/u-prefix-context.h: New file.
40215         * lib/unicase/context.h: New file.
40216         * modules/unicase/u8-prefix-context: New file.
40217
40218         New module 'unicase/empty-prefix-context'.
40219         * lib/unicase/empty-prefix-context.c: New file.
40220         * modules/unicase/empty-prefix-context: New file.
40221
40222         New module 'unicase/ignorable'.
40223         * lib/unicase/ignorable.c: New file.
40224         * modules/unicase/ignorable: New file.
40225
40226         New module 'unicase/cased'.
40227         * lib/unicase/caseprop.h: New file.
40228         * lib/unicase/cased.c: New file.
40229         * modules/unicase/cased: New file.
40230
40231         New functions for case mapping of substrings.
40232         * lib/unicase.h (casing_prefix_context_t): New type.
40233         (unicase_empty_prefix_context): New variable.
40234         (u8_casing_prefix_context, u16_casing_prefix_context,
40235         u32_casing_prefix_context, u8_casing_prefixes_context,
40236         u16_casing_prefixes_context, u32_casing_prefixes_context): New
40237         declarations.
40238         (casing_suffix_context_t): New type.
40239         (unicase_empty_suffix_context): New variable.
40240         (u8_casing_suffix_context, u16_casing_suffix_context,
40241         u32_casing_suffix_context, u8_casing_suffixes_context,
40242         u16_casing_suffixes_context, u32_casing_suffixes_context,
40243         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
40244         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
40245         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
40246         declarations.
40247
40248 2009-06-28  Jim Meyering  <meyering@redhat.com>
40249
40250         boostrap: indent only with spaces
40251         * build-aux/bootstrap: Indent only with spaces, never TABs.
40252
40253         bootstrap: split long lines
40254         * build-aux/bootstrap: Keep line length < 80.
40255
40256         bootstrap: sync from coreutils
40257         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
40258         just as autoreconf does.  Verify a list of prerequisite
40259         package-name,version-number pairs if defined in bootstrap.conf.
40260         Refer to README-prereq, if prerequisites are not satisfied.
40261
40262 2009-06-27  Eric Blake  <ebb9@byu.net>
40263
40264         tests: add test for bogus NULL definition
40265         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
40266         * tests/test-stdlib.c: Likewise.
40267         * tests/test-string.c: Likewise.
40268         * tests/test-locale.c: Likewise.
40269         * tests/test-unistd.c: Likewise.
40270         * modules/stdio-tests (Depends-on): Add verify.
40271         * modules/stdlib-tests (Depends-on): Likewise.
40272         * modules/string-tests (Depends-on): Likewise.
40273         * modules/locale-tests (Depends-on): Likewise.
40274         * modules/unistd-tests (Depends-on): Likewise.
40275
40276 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
40277
40278         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
40279         self-explaining comment.
40280         * m4/selinux-selinux-h: Update serial.
40281         (gl_LIBSELINUX): New macro, adding a warning for missing development
40282         packages to code extracted from...
40283         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
40284         Add warning for missing development packages here, too.
40285
40286 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
40287
40288         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
40289
40290 2009-06-25  Eric Blake  <ebb9@byu.net>
40291
40292         version-etc: fix regression
40293         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
40294         gcc.
40295         (version_etc): Use it, to catch bugs with trailing NULL.
40296         * lib/version-etc.c (version_etc_arn): Delete unused argument.
40297         (version_etc_va): Fix logic bug.
40298         * modules/version-etc-tests: Add test.
40299         * tests/test-version-etc.c: New file.
40300         * tests/test-version-etc.sh: Likewise.
40301
40302 2009-06-25  Sam Steingold  <sds@gnu.org>
40303
40304         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
40305         mbtowc declaration.
40306
40307 2009-06-25  Eric Blake  <ebb9@byu.net>
40308
40309         fpurge: migrate into <stdio.h>
40310         * lib/fpurge.h: Delete...
40311         * lib/stdio.in.h (fpurge): ...and declare here, instead.
40312         * lib/fpurge.c (fpurge): Change declaring header.
40313         * modules/fpurge (Files): Drop deleted file.
40314         (Depends-on): Add stdio.
40315         (configure.ac): Set witness.
40316         * modules/stdio (Makefile.am): Support fpurge macros.
40317         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
40318         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
40319         * lib/fflush.c: Update client.
40320         * tests/test-fpurge.c: Likewise.
40321         * NEWS: Mention the change.
40322
40323 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40324
40325         * lib/argp-version-etc.c (program_authors): Add const
40326         qualifier.
40327         * lib/version-etc.c: Fix typos in the comments.
40328         * modules/argp-version-etc: Depends on version-etc.
40329
40330 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40331
40332         argp-version-etc: new module.
40333
40334         * lib/argp-version-etc.c: New file.
40335         * lib/argp-version-etc.h: New file.
40336         * modules/argp-version-etc: New file.
40337         * modules/argp-version-etc-tests: New file.
40338         * tests/test-argp-version-etc.c: New test.
40339         * tests/test-argp-version-etc-1.sh: New test.
40340
40341 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40342
40343         Provide additional interfaces and documentation for version-etc
40344         module.
40345
40346         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
40347         interfaces.
40348         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
40349         prototypes.
40350
40351 2009-06-24  Bruno Haible  <bruno@clisp.org>
40352
40353         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
40354         HAVE_LIB${NAME} macro.
40355         Reported by Sam Steingold <sds@gnu.org>.
40356
40357 2009-06-23  Simon Josefsson  <simon@josefsson.org>
40358
40359         * modules/hash-tests (test_hash_LDADD): Link to libintl when
40360         needed.
40361
40362 2009-06-21  Bruno Haible  <bruno@clisp.org>
40363
40364         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
40365         work.
40366         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
40367         together with LIB${NAME}, LTLIB${NAME}.
40368         Reported by Sam Steingold <sds@gnu.org>.
40369
40370 2009-06-20  Jim Meyering  <meyering@redhat.com>
40371
40372         tests: make sc_require_test_exit_idiom more generic
40373         * top/maint.mk (Exit_witness_file): New overridable variable.
40374         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
40375         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
40376
40377 2009-06-19  Jim Meyering  <meyering@redhat.com>
40378
40379         hash: reverse order of src/dst parameters in an internal interface
40380         * lib/hash.c (transfer_entries): Reverse order of parameters to
40381         put DST before SRC.  Adjust callers.
40382
40383         tests: test-hash: avoid wholesale duplication
40384         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
40385         Instead, use a loop and add a single conditional.
40386
40387         tests: test-hash: allow seed selection via a command line argument
40388         * tests/test-hash.c (get_seed): New function.
40389         (main): Use it.
40390
40391 2009-06-19  Eric Blake  <ebb9@byu.net>
40392
40393         hash: avoid memory leak on allocation failure
40394         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
40395         failure.  Factor repeated algorithm...
40396         (transfer_entries): ...into new helper routine.
40397         (hash_delete): React to hash_rehash return value.
40398
40399         hash: reduce memory pressure in hash_rehash no-op case
40400         * lib/hash.c (next_prime): Avoid overflow.
40401         (hash_initialize): Factor bucket size computation...
40402         (compute_bucket_size): ...into new helper function.
40403         (hash_rehash): Use new function and open coding to reduce memory
40404         pressure, and avoid a memory leak in USE_OBSTACK code.
40405         Reported by Jim Meyering.
40406
40407 2009-06-18  Eric Blake  <ebb9@byu.net>
40408
40409         hash: make rotation more obvious
40410         * modules/hash (Depends-on): Add bitrotate and stdint.
40411         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
40412         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
40413         (SIZE_MAX): Rely on headers for definition.
40414         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
40415         (raw_hasher): Use rotr_sz.
40416         Suggested by Jim Meyering.
40417
40418         hash: fix memory leak in last patch
40419         * lib/hash.c (hash_rehash): Avoid memory leak.
40420
40421         hash: avoid no-op rehashing
40422         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
40423
40424         hash: provide default callback functions
40425         * lib/hash.c (raw_hasher, raw_comparator): New functions.
40426         (hash_initialize): Use them as defaults.
40427         * tests/test-hash.c (main): Test this.
40428
40429         hash: minor optimization
40430         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
40431         when possible.
40432         (hash_initialize): Document this promise.
40433         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
40434         * tests/test-hash.c (hash_compare_strings): Test this.
40435
40436 2009-06-18  Bruno Haible  <bruno@clisp.org>
40437
40438         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
40439         going to be replaced anyway.
40440
40441 2009-06-18  Bruno Haible  <bruno@clisp.org>
40442
40443         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
40444         in one place.
40445         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
40446         be replaced anyway.
40447
40448 2009-06-18  Eric Blake  <ebb9@byu.net>
40449
40450         hash: check for resize before insertion
40451         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
40452         threshold before insertion, so that a pathological hash_rehash
40453         that fills every bucket can still trigger another rehash.
40454
40455 2009-06-18  Jim Meyering  <meyering@redhat.com>
40456
40457         hash-tests: add a loop around the small tests
40458         * tests/test-hash.c (main): Repeat small tests with selected
40459         small initial table sizes.
40460
40461 2009-06-17  Eric Blake  <ebb9@byu.net>
40462
40463         hash: minor cleanups
40464         * lib/hash.h (hash_entry): Make opaque, by moving...
40465         * lib/hash.c (hash_entry): ...here.
40466         (hash_insert): Clarify restrictions on what can be inserted.
40467         (hash_get_next): Clarify when it is safe to remove an element
40468         during traversal.
40469         (check_tuning): Skip verification when tuning is known safe.
40470         (hash_initialize): Clarify restrictions on tuning.
40471
40472 2009-06-17  Jim Meyering  <jim@meyering.net>
40473         and Eric Blake  <ebb9@byu.net>
40474
40475         hash-tests: new module
40476         * modules/hash-tests: New file.
40477         * tests/test-hash.c: New file.
40478
40479 2009-06-17  Eric Blake  <ebb9@byu.net>
40480
40481         strstr-simple: document new module
40482         * MODULES.html.sh: Document new module.
40483
40484         strstr, strcasestr: replace on platforms with broken memchr
40485         * modules/strstr: Split into...
40486         * modules/strstr-simple: ...new module that does not care about
40487         performance, but does care about glibc bug.
40488         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
40489         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
40490         if platform memchr is broken, per Debian bug 521737.
40491         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
40492         memchr.
40493         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
40494         * doc/posix-functions/strstr.texi (strstr): Document the fix.
40495         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
40496         * modules/mountlist (Depends-on): Add strstr-simple.
40497         * modules/gen-uni-tables (Depends-on): Likewise.
40498         * modules/argz (Depends-on): Add strstr.
40499
40500 2009-06-17  Bruno Haible  <bruno@clisp.org>
40501
40502         * modules/posix_spawn-internal (Depends-on): Add errno.
40503
40504 2009-06-17  Bruno Haible  <bruno@clisp.org>
40505
40506         Define missing ESTALE on Interix 3.5.
40507         * lib/errno.in.h (ESTALE): Assign a value if missing.
40508         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
40509         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
40510         missing.
40511         * doc/posix-headers/errno.texi: Mention the Interix bug.
40512         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
40513
40514 2009-06-15  Eric Blake  <ebb9@byu.net>
40515
40516         memchr, memchr2: add valgrind exception
40517         * lib/memchr.valgrind: New file.
40518         * lib/memchr2.valgrind: New file.
40519         * modules/memchr (Files): Distribute valgrind file.
40520         * modules/memchr2 (Files): Likewise.
40521
40522         docs: memchr is no longer obsolete
40523         * MODULES.html.sh: Move memchr from obsolete to string.h section.
40524         * lib/string.in.h (memchr): Simplify logic.
40525
40526 2009-06-14  Jim Meyering  <meyering@redhat.com>
40527
40528         link-follow: fix the "checking..." message to not mention trailing slash
40529         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
40530         never considered trailing slashes.
40531
40532 2009-06-14  Bruno Haible  <bruno@clisp.org>
40533
40534         * m4/memchr.m4: Mention also the bug on IA-64.
40535         * doc/posix-functions/memchr.texi: Likewise.
40536
40537 2009-06-12  Eric Blake  <ebb9@byu.net>
40538
40539         memchr: detect broken x86_64 and alpha implementations
40540         * modules/memchr-tests (Depends-on): Move mmap detection...
40541         * modules/memchr (Depends-on): ...here.
40542         (configure.ac): Set indicator.
40543         * lib/string.in.h (memchr): Declare replacement.
40544         * modules/string (Makefile.am): Trigger replacement.
40545         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
40546         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
40547         bugs.
40548         * doc/posix-functions/memchr.texi (memchr): Document the bug.
40549         * modules/getpagesize (License): Relax license.
40550
40551 2009-06-11  Bruno Haible  <bruno@clisp.org>
40552
40553         * lib/idpriv.h: Add more references.
40554
40555 2009-06-08  Bruno Haible  <bruno@clisp.org>
40556
40557         Tests for module 'idpriv-droptemp'.
40558         * modules/idpriv-droptemp-tests: New file.
40559         * tests/test-idpriv-droptemp.sh: New file.
40560         * tests/test-idpriv-droptemp.su.sh: New file.
40561         * tests/test-idpriv-droptemp.c: New file.
40562
40563         New module 'idpriv-droptemp'.
40564         * lib/idpriv-droptemp.c: New file.
40565         * modules/idpriv-droptemp: New file.
40566
40567 2009-06-08  Bruno Haible  <bruno@clisp.org>
40568
40569         Tests for module 'idpriv-drop'.
40570         * modules/idpriv-drop-tests: New file.
40571         * tests/test-idpriv-drop.sh: New file.
40572         * tests/test-idpriv-drop.su.sh: New file.
40573         * tests/test-idpriv-drop.c: New file.
40574
40575         New module 'idpriv-drop'.
40576         * lib/idpriv.h: New file.
40577         * lib-idpriv-drop.c: New file.
40578         * m4/idpriv.m4: New file.
40579         * modules/idpriv-drop: New file.
40580
40581 2009-06-08  Bruno Haible  <bruno@clisp.org>
40582
40583         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
40584         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
40585         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
40586         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
40587         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
40588         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
40589         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
40590
40591 2009-06-08  Eric Blake  <ebb9@byu.net>
40592
40593         test-strstr: use memory fence, when possible
40594         * tests/test-strstr.c (main): Use memory fence, in order to be
40595         more likely to trigger Debian bug 521737.
40596         * modules/strstr-tests (Files): Pull in additional files.
40597
40598         memchr: no longer obsolete, for wider field testing
40599         * modules/memchr (Status, Notice): Delete, this module is no
40600         longer obsolete.
40601         * modules/vasnprintf (Depends-on): Add memchr.
40602
40603 2009-06-07  Jim Meyering  <meyering@redhat.com>
40604
40605         hash: declare some functions with the warn_unused_result attribute
40606         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
40607
40608 2009-06-07  Bruno Haible  <bruno@clisp.org>
40609
40610         * tests/test-alignof.c: Don't test int64_t if it does not exist.
40611         Reported by Eric Blake.
40612
40613 2009-06-06  Eric Blake  <ebb9@byu.net>
40614
40615         test-alignof: fix typo with long double
40616         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
40617         compiler error.
40618
40619 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
40620
40621         Escape non-texinfo { and }s.
40622         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
40623         markup error.
40624
40625 2009-06-04  Jim Meyering  <meyering@redhat.com>
40626
40627         gitlog-to-changelog: don't infloop on an empty commit log
40628         * build-aux/gitlog-to-changelog: Warn about an empty log message.
40629         Reported by Boris Petersen <transacid@centerim.org>.
40630
40631 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
40632
40633         version-etc: extend for packagers
40634         Add three new configure options, intended for packagers:
40635           --with-packager="packager name"
40636           --with-packager-version="packager-specific version"
40637           --with-packager-bug-reports="packager bug reporting"
40638         An example with coreutils:
40639           $ ./configure \
40640             --with-packager=Gentoo \
40641             --with-packager-bug-report=http://bugs.gentoo.org/ \
40642             --with-packager-version="patchset 1.6"
40643           $ ./src/ls --version | head -n2
40644           ls (GNU coreutils) 7.1-dirty
40645           Packaged by Gentoo (patchset 1.6)
40646         Note that the bug reporting info via --help doesn't show up because
40647         coreutils uses its own custom emit_bug_reporting_address() implementation
40648         in src/system.h.  If it didn't, it'd look like:
40649           $ ./src/ls --help | tail -n4
40650           Report bugs to <bug-coreutils@gnu.org>.
40651           Report Gentoo bugs to <http://bugs.gentoo.org/>.
40652           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
40653           General help using GNU software: <http://www.gnu.org/gethelp/>.
40654         * lib/version-etc.c: Print new information, if provided.
40655         * m4/version-etc.m4: New file.
40656         * modules/version-etc (Files): Add m4/version-etc.m4.
40657         (configure.ac): Add gl_VERSION_ETC.
40658
40659 2009-05-31  Bruno Haible  <bruno@clisp.org>
40660
40661         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
40662         and 'int64_t'.
40663         * modules/alignof-tests (Dependencies): Add stdint.
40664         Reported by Eric Blake.
40665
40666 2009-05-31  Bruno Haible  <bruno@clisp.org>
40667
40668         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
40669         restriction due to compiler bugs.
40670         Reported by Eric Blake.
40671
40672 2009-05-31  Simon Josefsson  <simon@josefsson.org>
40673             Bruno Haible  <bruno@clisp.org>
40674
40675         Fix test-alignof failure.
40676         * lib/alignof.h (alignof_slot): New macro.
40677         (alignof_type): New macro, with the same semantics as the previous
40678         'alignof'.
40679         (alignof): Alias to alignof_slot.
40680         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
40681         check that the results are usable as constant expressions.
40682
40683 2009-05-31  Bruno Haible  <bruno@clisp.org>
40684
40685         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
40686         * tests/test-memchr.c (main): Check that memchr does not read past the
40687         first occurrence of the byte.
40688         * tests/test-strstr.c (main): Update comment.
40689         Suggested by Eric Blake.
40690
40691 2009-05-30  Bruno Haible  <bruno@clisp.org>
40692
40693         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
40694         detail how to use dumpbin.
40695         Reported by David Byron <dbyron@dbyron.com>.
40696
40697 2009-06-02  Simon Josefsson  <simon@josefsson.org>
40698
40699         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
40700
40701 2009-06-02  Simon Josefsson  <simon@josefsson.org>
40702
40703         * m4/manywarnings.m4: Add GCC 4.4 warnings.
40704
40705 2009-05-28  Bruno Haible  <bruno@clisp.org>
40706
40707         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
40708         build-aux/ files.
40709
40710 2009-05-28  Simon Josefsson  <simon@josefsson.org>
40711
40712         * gnulib-tool (func_import): Transform license on build-aux/ files too.
40713
40714 2009-05-27  Simon Josefsson  <simon@josefsson.org>
40715
40716         * gnulib-tool (sed_transform_main_lib_file)
40717         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
40718         regexps.
40719
40720 2009-05-26  Simon Josefsson  <simon@josefsson.org>
40721
40722         * tests/test-strstr.c: Add another self-test.
40723         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
40724         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
40725
40726 2009-05-23  Bruno Haible  <bruno@clisp.org>
40727
40728         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
40729         change.
40730
40731 2009-05-21  Bruno Haible  <bruno@clisp.org>
40732
40733         Simplify use of mode_t varargs.
40734         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
40735         uses 'mode_t' or 'int'.
40736         * lib/openat.c (openat): Likewise.
40737         * lib/open-safer.c (open_safer): Likewise.
40738         * m4/mode_t.m4: New file.
40739         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
40740         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
40741         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
40742         * modules/open (Files): Add m4/mode_t.m4.
40743         * modules/openat (Files): Likewise.
40744         * modules/fcntl-safer (Files): Likewise.
40745         Suggested by Eric Blake.
40746
40747 2009-05-21  Pádraig Brady  <P@draigbrady.com>
40748
40749         * doc/glibc-functions/fallocate.texi: New file.
40750         * doc/gnulib.texi: Include it.
40751
40752 2009-05-21  Eric Blake  <ebb9@byu.net>
40753             Bruno Haible  <bruno@clisp.org>
40754
40755         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
40756         invocations.
40757         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
40758
40759 2009-05-21  Eric Blake  <ebb9@byu.net>
40760             Bruno Haible  <bruno@clisp.org>
40761
40762         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
40763         include_next. Fix of 2008-11-20 commit.
40764         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
40765         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
40766         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
40767         NEXT_MATH_H.
40768         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
40769         instead of NEXT_MATH_H.
40770
40771 2009-05-21  Bruno Haible  <bruno@clisp.org>
40772
40773         Avoid redefinition warnings for SIZE_MAX.
40774         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
40775         Reported by Simon Josefsson.
40776
40777 2009-05-21  Bruno Haible  <bruno@clisp.org>
40778
40779         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
40780         AC_CACHE_VAL.
40781
40782 2009-05-20  Bruno Haible  <bruno@clisp.org>
40783
40784         Make zeroptr.h work on mingw.
40785         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
40786         mprotect.
40787         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
40788         * modules/memchr2-tests (configure.ac): Likewise.
40789         * modules/memcmp-tests (configure.ac): Likewise.
40790         * modules/memmem-tests (configure.ac): Likewise.
40791         * modules/memrchr-tests (configure.ac): Likewise.
40792         Reported by Simon Josefsson.
40793
40794 2009-05-20  Simon Josefsson  <simon@josefsson.org>
40795
40796         * tests/test-glob.c: Include string.h for strcmp prototype.
40797
40798 2009-05-20  Simon Josefsson  <simon@josefsson.org>
40799
40800         * modules/getdelim (Depends-on): Add explicit stdint, although it
40801         was implicitly already pulled in via realloc-posix.
40802         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
40803
40804 2009-05-20  Simon Josefsson  <simon@josefsson.org>
40805
40806         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
40807         G. Christensen" <tgc@jupiterrise.com>.
40808         * m4/sys_socket_h.m4: Check for sa_family_t.
40809         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
40810         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
40811         * tests/test-sys_socket.c: Check that sa_family_t works.
40812
40813 2009-05-18  Eric Blake  <ebb9@byu.net>
40814
40815         maint.mk: allow gnulib_dir in VPATH build
40816         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
40817
40818 2009-05-15  Jim Meyering  <meyering@redhat.com>
40819
40820         maint.mk: Give gnulib_dir a default definition.
40821         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
40822         Thus, most packages no longer need to specify this variable in cfg.mk
40823
40824 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
40825
40826         rename.m4: fix typos that would make non-mingw cross-configure fail
40827         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
40828
40829 2009-05-13  Eric Blake  <ebb9@byu.net>
40830
40831         mmap-anon: avoid out-of-order autoconf expansion
40832         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
40833         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
40834         * modules/memchr-tests (Depends-on): Add extensions.
40835         * modules/memchr2-tests (Depends-on): Add extensions.
40836         * modules/memcmp-tests (Depends-on): Add extensions.
40837         * modules/memmem-tests (Depends-on): Add extensions.
40838         * modules/memrchr-tests (Depends-on): Add extensions.
40839
40840 2009-05-13  Bruno Haible  <bruno@clisp.org>
40841
40842         Make some tests ISO C 99 compliant.
40843         * tests/zerosize-ptr.h: New file.
40844         * tests/test-memchr.c: Include zerosize-ptr.h.
40845         (main): Use a zero-size object pointer instead of NULL.
40846         * tests/test-memchr2.c: Include zerosize-ptr.h.
40847         (main): Use a zero-size object pointer instead of NULL.
40848         * tests/test-memcmp.c: Include zerosize-ptr.h.
40849         (main): Use a zero-size object pointer instead of NULL.
40850         * tests/test-memmem.c: Include zerosize-ptr.h.
40851         (main): Use a zero-size object pointer instead of NULL.
40852         * tests/test-memrchr.c: Include zerosize-ptr.h.
40853         (main): Use a zero-size object pointer instead of NULL.
40854         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
40855         m4/mmap-anon.m4.
40856         (Depends-on): Add getpagesize.
40857         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
40858         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
40859         m4/mmap-anon.m4.
40860         (Depends-on): Add getpagesize.
40861         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
40862         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
40863         m4/mmap-anon.m4.
40864         (Depends-on): Add getpagesize.
40865         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
40866         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
40867         m4/mmap-anon.m4.
40868         (Depends-on): Add getpagesize.
40869         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
40870         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
40871         m4/mmap-anon.m4.
40872         (Depends-on): Add getpagesize.
40873         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
40874
40875 2009-05-12  Bruno Haible  <bruno@clisp.org>
40876
40877         Tests for module 'alignof'.
40878         * modules/alignof-tests: New file.
40879         * tests/test-alignof.c: New file.
40880
40881 2009-05-12  Bruno Haible  <bruno@clisp.org>
40882
40883         Fix alignof macro.
40884         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
40885         vendor compilers that are always correct.
40886
40887 2009-05-12  Bruno Haible  <bruno@clisp.org>
40888
40889         Make the MAP_ANONYMOUS detection work on HP-UX 11.
40890         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
40891         not whether its fully works.
40892
40893 2009-05-12  Bruno Haible  <bruno@clisp.org>
40894
40895         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
40896
40897 2009-05-12  Jim Meyering  <meyering@redhat.com>
40898
40899         * top/maint.mk: Adjust backslash alignment.
40900
40901 2009-05-11  Simon Josefsson  <simon@josefsson.org>
40902
40903         * top/maint.mk: Make $(srcdir)/build-aux configurable.
40904
40905 2009-05-11  Eric Blake  <ebb9@byu.net>
40906
40907         argp: avoid undefined behavior
40908         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
40909         macros.
40910
40911 2009-05-08  Simon Josefsson  <simon@josefsson.org>
40912
40913         * tests/test-vc-list-files-git.sh: Do git config of user.email and
40914         user.name to prevent git commit from complaining.
40915
40916 2009-05-10  Bruno Haible  <bruno@clisp.org>
40917
40918         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
40919         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
40920         it rewrites every file name only once.
40921         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
40922
40923 2009-05-08  Bruno Haible  <bruno@clisp.org>
40924
40925         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
40926         instead of 'max'.
40927
40928 2009-05-08  Simon Josefsson  <simon@josefsson.org>
40929
40930         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
40931         sockaddr_storage test.
40932
40933 2009-05-07  Simon Josefsson  <simon@josefsson.org>
40934
40935         * modules/sys_socket (Makefile.am): Substitute
40936         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
40937         * m4/sys_socket_h.m4: Check for sockaddr_storage.
40938         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
40939         * tests/test-sys_socket.c: Check sockaddr_storage.
40940
40941 2009-05-08  Bruno Haible  <bruno@clisp.org>
40942
40943         New module 'alignof'.
40944         * lib/alignof.h: New file.
40945         * modules/alignof: New file.
40946
40947 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
40948             Bruno Haible  <bruno@clisp.org>
40949
40950         Fix test-file-has-acl on FreeBSD.
40951         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
40952         mask is implicitly added.
40953         * tests/test-file-has-acl.c: Include <signal.h>.
40954         (main): Terminate the test after 5 seconds.
40955         * modules/acl-tests (configure.ac): Check for alarm function.
40956
40957 2009-05-04  Bruno Haible  <bruno@clisp.org>
40958
40959         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
40960         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
40961         * modules/errno (configure.ac): Drop AC_REQUIRE.
40962         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
40963         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
40964
40965 2009-05-04  Simon Josefsson  <simon@josefsson.org>
40966
40967         * modules/glob-tests: New module.
40968         * tests/test-glob.c: Add.
40969
40970 2009-05-04  Simon Josefsson  <simon@josefsson.org>
40971
40972         * modules/fnmatch-tests: New module.
40973         * tests/test-fnmatch.c: Add.
40974
40975 2009-05-04  Eric Blake  <ebb9@byu.net>
40976
40977         maint: make the new no-submodule-changes rule VPATH-safe
40978         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
40979
40980 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
40981             Bruno Haible  <bruno@clisp.org>
40982
40983         acl: Fix infinite loop on FreeBSD.
40984         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
40985         of return value from acl_get_entry.
40986         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
40987         Likewise.
40988
40989 2009-05-03  Bruno Haible  <bruno@clisp.org>
40990
40991         * lib/acl-internal.h (acl_entries): Clarify return value.
40992         * lib/acl_entries.c (acl_entries): Likewise.
40993
40994 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
40995
40996         Bug fix in acl module.
40997         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
40998
40999 2009-05-03  Bruno Haible  <bruno@clisp.org>
41000
41001         Create gperf-generated file in the source dir, not in the build dir.
41002         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
41003         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
41004         * modules/unicase/locale-language (unicase/locale-languages.h):
41005         Likewise.
41006         * modules/unicase/special-casing (unicase/special-casing-table.h):
41007         Likewise.
41008         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
41009         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
41010         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
41011         Reported by Ralf Wildenhues.
41012
41013 2009-05-03  Bruno Haible  <bruno@clisp.org>
41014
41015         * modules/fnmatch (Description, configure.ac): Taken from
41016         fnmatch-posix.
41017         * modules/fnmatch-posix: Turn into a symbolic reference to the
41018         'fnmatch' module, and deprecate.
41019         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
41020
41021 2009-05-03  Bruno Haible  <bruno@clisp.org>
41022
41023         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
41024         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
41025         Reported by Ralf Wildenhues.
41026
41027 2009-05-04  Simon Josefsson  <simon@josefsson.org>
41028
41029         * m4/fnmatch.m4: Fix fnmatch re-define.
41030
41031 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
41032
41033         priv-set: new module and tests; adapt write-any-file
41034         * lib/priv-set.c: New file.
41035         * lib/priv-set.h: New file.
41036         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
41037         * lib/write-any-file.c: Simplify by using priv-set module.
41038         * m4/priv-set.m4: New file.
41039         * modules/priv-set: New file.
41040         * modules/unlinkdir: Add dependency on priv-set module.
41041         * modules/write-any-file: Likewise.
41042
41043         Tests for module 'priv-set'.
41044         * modules/priv-set-tests: New file.
41045         * tests/test-priv-set.c: New file.
41046
41047 2009-05-03  Jim Meyering  <meyering@redhat.com>
41048             Bruno Haible  <bruno@clisp.org>
41049
41050         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
41051         use the converted UTF-8 variant of the name instead.
41052
41053 2009-05-03  Jim Meyering  <meyering@redhat.com>
41054
41055         tests: tighten some getdate tests
41056         * tests/test-getdate.c (main): Tighten tests: require equality,
41057         not just greater than.  Set TZ envvar to UTC0.
41058
41059 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
41060
41061         getdate: correctly interpret "next monday" when run on a Monday
41062         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
41063         that e.g., "next tues" (when run on a tuesday) results in a date
41064         that is one week in the future, and not today's date.
41065         I.e., add a week when the wday is the same as the current one.
41066         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
41067         and earlier by Martin Bernreuther and Jan Minář.
41068         * tests/test-getdate.c (main): Check that "next DAY" is always in
41069         the future and that "last DAY" is always in the past.
41070
41071 2009-05-02  Jim Meyering  <meyering@redhat.com>
41072
41073         build: ensure that a release build fails when a submodule is unclean
41074         * top/maint.mk (no-submodule-changes): New rule.
41075         (alpha beta major): Depend on it.
41076
41077 2009-05-02  Bruno Haible  <bruno@clisp.org>
41078
41079         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
41080         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
41081         shell variable gl_fnmatch_required to detect which variant is
41082         requested.
41083         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
41084         gl_FUNC_FNMATCH_POSIX.
41085         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
41086         exclude fnmatch-posix.
41087
41088 2009-05-02  Bruno Haible  <bruno@clisp.org>
41089
41090         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
41091         * modules/mbsrtowcs (License): Change to LGPLv2+.
41092         * modules/strnlen1 (License): Likewise.
41093         Reported by Simon Josefsson.
41094
41095 2009-05-02  Bruno Haible  <bruno@clisp.org>
41096
41097         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
41098         "cross".
41099         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
41100         gnulib-tool was called with option --source-base=lib.
41101
41102 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41103
41104         Use automake *-local hooks without commands, for extensibility.
41105         * modules/localcharset (Makefile.am): Rename install-exec-local
41106         rule to install-exec-localcharset, and make it a prerequisite of
41107         install-exec-local.  Likewise, rename the uninstall-local rule to
41108         uninstall-localcharset, and make it a prerequisite of the former.
41109
41110 2009-05-01  Bruno Haible  <bruno@clisp.org>
41111
41112         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
41113         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
41114         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
41115         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
41116         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
41117         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
41118         m4/locale-zh.m4, m4/codeset.m4.
41119
41120         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
41121         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
41122         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
41123         m4/locale-zh.m4.
41124
41125         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
41126         REPLACE_WCRTOMB if mbstate_t must be replaced.
41127         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
41128         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
41129
41130 2009-05-01  Bruno Haible  <bruno@clisp.org>
41131
41132         Avoid compiler warnings when redefining macros defined by <libintl.h>.
41133         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
41134         dngettext, dcngettext, textdomain, bindtextdomain,
41135         bind_textdomain_codeset): Undefine before redefining.
41136
41137 2009-04-30  Bruno Haible  <bruno@clisp.org>
41138
41139         Fix bug introduced on 2009-04-25.
41140         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
41141         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
41142         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
41143         is defined.
41144         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
41145         is defined.
41146         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
41147         is defined.
41148         Reported by Elbert_Pol <elbert.pol@gmail.com>.
41149
41150 2009-04-28  Bruno Haible  <bruno@clisp.org>
41151
41152         Comment tweaks.
41153         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
41154         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
41155         * lib/unicase.h (u*_casexfrm): Likewise.
41156         Reported by Paolo Bonzini.
41157
41158 2009-04-28  Bruno Haible  <bruno@clisp.org>
41159
41160         Fix a compilation error.
41161         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
41162         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
41163         Reported by Jim Meyering.
41164
41165 2009-04-27  Bruno Haible  <bruno@clisp.org>
41166
41167         New module 'libunistring'.
41168         * modules/libunistring: New file.
41169         * m4/libunistring.m4: New file.
41170         * MODULES.html.sh (Unicode string functions): Add it.
41171
41172 2009-04-27  Eric Blake  <ebb9@byu.net>
41173
41174         maint.mk: allow package-specific header to provide <config.h>
41175         * top/maint.mk (sc_require_config_h): New variable.
41176         (sc_require_config_h, sc_require_config_h_first): Use it.
41177
41178 2009-04-27  Simon Josefsson  <simon@josefsson.org>
41179
41180         * top/maint.mk (sc_avoid_if_before_free): Except
41181         useless-if-before-free script.
41182
41183 2009-04-27  Eric Blake  <ebb9@byu.net>
41184
41185         maintainer-makefile: depend on all required helper scripts
41186         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
41187         useless-if-before-free.
41188         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
41189         version, rather than assuming gnulib checkout is available.
41190         Reported by Simen Josefsson.
41191
41192 2009-04-26  Bruno Haible  <bruno@clisp.org>
41193
41194         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
41195         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
41196         "../" or "..".
41197
41198 2009-04-26  Bruno Haible  <bruno@clisp.org>
41199
41200         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
41201         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
41202         AC_LIB_HAVE_LINKFLAGS.
41203
41204 2009-04-26  Bruno Haible  <bruno@clisp.org>
41205
41206         Simplify calling convention of u*_conv_from_encoding.
41207         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
41208         u32_conv_from_encoding): Expect a resultbuf argument and return the
41209         result directly as a pointer.
41210         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
41211         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
41212         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
41213         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
41214         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
41215         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
41216         Update.
41217         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
41218         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
41219         * lib/vasnprintf.c (VASNPRINTF): Update.
41220         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
41221         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
41222         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
41223         * NEWS: Mention the change.
41224
41225 2009-04-26  Bruno Haible  <bruno@clisp.org>
41226
41227         Simplify calling convention of u*_conv_to_encoding.
41228         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
41229         u32_conv_to_encoding): Expect a resultbuf argument and return the
41230         result directly as a pointer.
41231         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
41232         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
41233         freeing scaled_offsets if mem_iconveha failed.
41234         * lib/unicase/u-casexfrm.h (FUNC): Update.
41235         * lib/uninorm/u-normxfrm.h (FUNC): Update.
41236         * lib/vasnprintf.c (VASNPRINTF): Update.
41237         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
41238         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
41239         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
41240         * NEWS: Mention the change.
41241
41242 2009-04-26  Bruno Haible  <bruno@clisp.org>
41243
41244         Avoid test failures on AIX and OSF/1.
41245         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
41246         malloc(0).
41247         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
41248         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
41249         Likewise.
41250         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
41251         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
41252         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
41253         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
41254         * doc/posix-functions/malloc.texi: Document the portability problem
41255         related to malloc(0).
41256
41257 2009-04-26  Bruno Haible  <bruno@clisp.org>
41258
41259         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
41260         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
41261         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
41262
41263 2009-04-25  Bruno Haible  <bruno@clisp.org>
41264
41265         Avoid link error when creating a namespace clean library.
41266         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
41267         as macro with arguments if already defined as an alias.
41268         * lib/signbitf.c (gl_signbitf): Don't undefine.
41269         * lib/signbitd.c (gl_signbitd): Don't undefine.
41270         * lib/signbitl.c (gl_signbitl): Don't undefine.
41271
41272 2009-04-25  Jim Meyering  <meyering@redhat.com>
41273
41274         vc-list-files: fix another quoting bug
41275         * build-aux/vc-list-files: Avoid sed backslash expansion
41276         of pathological directory names.
41277
41278 2009-04-25  Eric Blake  <ebb9@byu.net>
41279
41280         vc-list-files: fix shell quoting error
41281         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
41282         timestamp.
41283
41284 2009-04-25  Jim Meyering  <meyering@redhat.com>
41285
41286         vc-list-files: restore lost functionality with subdir argument
41287         * build-aux/vc-list-files: When given a non-"." sub-directory
41288         argument, substitute the $dir/ prefix back onto each resulting name.
41289         Otherwise, coreutils' root_tests check would fail.
41290
41291 2009-04-24  Eric Blake  <ebb9@byu.net>
41292
41293         vc-list-files: ignore git symlinks
41294         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
41295         than ls-files, to ignore git symlinks.
41296
41297         maint.mk: import improvements from m4
41298         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
41299         (move_if_change): Delete unused macro.
41300         (news-date-check, vc-diff-check): Support VPATH builds.
41301         (announcement): Likewise.  Split --bootstrap-tools list...
41302         (boostrap-tools): ...into separate list, which can be overridden
41303         in cfg.mk.
41304         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
41305         requiring dependency on useless-if-before-free module.
41306         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
41307         Support VPATH builds.
41308
41309 2009-04-24  Jim Meyering  <meyering@redhat.com>
41310
41311         maint.mk: remove coreutils-specific rules and variables
41312         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
41313         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
41314         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
41315
41316         maint.mk: remove obsolete rule
41317         * top/maint.mk (rel-check): Remove rule.
41318         (WGET, WGETFLAGS): Remove now-unused variables.
41319
41320 2009-04-24  Simon Josefsson  <simon@josefsson.org>
41321
41322         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
41323         consistency.
41324
41325         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
41326         '$(PATH_SEPARATOR)' instead of ':'.
41327
41328 2009-04-24  Simon Josefsson  <simon@josefsson.org>
41329
41330         * lib/getopt1.c (main): Use 'const' for static array.
41331
41332 2009-04-24  Simon Josefsson  <simon@josefsson.org>
41333
41334         * top/maint.mk: Sync with coreutils.
41335         * NEWS: Explain incompatibilities.
41336
41337 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41338             Bruno Haible  <bruno@clisp.org>
41339
41340         Fix cross-compilation results.
41341         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
41342         statement, as third argument of AC_TRY_RUN.
41343         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
41344         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
41345         Likewise.
41346         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
41347         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
41348         Likewise.
41349         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
41350         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
41351         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
41352
41353 2009-04-20  Bruno Haible  <bruno@clisp.org>
41354
41355         Avoid test failure on mingw.
41356         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
41357
41358 2009-04-20  Bruno Haible  <bruno@clisp.org>
41359
41360         Avoid compilation error on mingw.
41361         * modules/localename-tests (Depends-on): Add locale.
41362
41363 2009-04-19  Bruno Haible  <bruno@clisp.org>
41364
41365         Support for building a shared library on Windows platforms.
41366         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
41367         (main): Test the presence of UNINORM_NFC here.
41368         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
41369         (main): Test the presence of UNINORM_NFD here.
41370         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
41371         (main): Test the presence of UNINORM_NFKC here.
41372         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
41373         (main): Test the presence of UNINORM_NFKD here.
41374
41375 2009-04-19  Bruno Haible  <bruno@clisp.org>
41376
41377         Avoid a compiler warning.
41378         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
41379         Change type of variable 'sequence'.
41380
41381 2009-04-19  Bruno Haible  <bruno@clisp.org>
41382
41383         * modules/configmake (Makefile.am): When the contents of configmake.h
41384         does not change, arrange to preserve its modification time.
41385
41386 2009-04-17  Simon Josefsson  <simon@josefsson.org>
41387
41388         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
41389         gettext domain.
41390
41391 2009-04-16  Jim Meyering  <meyering@redhat.com>
41392
41393         useless-if-before-free: improve conversion code
41394         * build-aux/useless-if-before-free: Adjust code-in-comment to match
41395         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
41396
41397 2009-04-14  Bruno Haible  <bruno@clisp.org>
41398
41399         * modules/fcntl (Depends-on): Add extensions.
41400         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
41401
41402 2009-04-12  Ben Pfaff  <blp@gnu.org>
41403
41404         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
41405         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
41406
41407 2009-03-20  Ben Pfaff  <blp@gnu.org>
41408
41409         Make rename replace existing destinations on Windows.
41410         * m4/rename.m4: Add test for Mingw.
41411         * lib/rename.c: Add rename replacement that uses MoveFileEx with
41412         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
41413         * doc/posix-functions/rename.texi: Document.
41414
41415 2009-04-10  Bruno Haible  <bruno@clisp.org>
41416
41417         New include file "iconveh.h".
41418         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
41419         * lib/striconveh.h: Include it.
41420         (enum iconv_ilseq_handler): Remove definition.
41421         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
41422         striconveh.h.
41423         * lib/striconveha.c: Include striconveh.h.
41424         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
41425         * modules/striconveh (Files): Add lib/iconveh.h.
41426         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
41427         lib/striconveh.h.
41428
41429 2009-04-10  Bruno Haible  <bruno@clisp.org>
41430
41431         * lib/uniconv.h: Update comment.
41432
41433 2009-04-10  Bruno Haible  <bruno@clisp.org>
41434
41435         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
41436         always.
41437         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
41438         * lib/unistr/u16-mbtouc-aux.c: Likewise.
41439         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
41440         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
41441         "unistring-notinline.h", so that the function gets defined always.
41442         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
41443         * lib/unistr/u8-uctomb.c: Likewise.
41444         * lib/unistr/u16-mbtouc.c: Likewise.
41445         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
41446         * lib/unistr/u16-uctomb.c: Likewise.
41447         * lib/unistr/u32-mbtouc.c: Likewise.
41448         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
41449         * lib/unistr/u32-uctomb.c: Likewise.
41450
41451 2009-04-10  Bruno Haible  <bruno@clisp.org>
41452
41453         Mark 'utime' obsolete.
41454         * modules/utime (Status, Notice): New sections.
41455         Suggested by Jim Meyering.
41456
41457         Fix cross-compile guess for utime test.
41458         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
41459         autoconf.
41460         * doc/posix-functions/utime.texi: Give more precisions.
41461         Reported by Jan <ipif@ymail.com>.
41462
41463 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
41464
41465         filevercmp: correct today's change
41466         * lib/filevercmp.c: Also handle coreutils' test inputs.
41467         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
41468
41469         Fix regression in 'filevercmp' module. Thanks Sven Joachim
41470         for reporting it.
41471         * lib/filevercmp.c: Special handle for "", "." and "..".
41472         * tests/test-filevercmp.c: Enlarge the set suite.
41473
41474 2009-04-07  Jim Meyering  <meyering@redhat.com>
41475
41476         useless-if-before-free: show how to remove braced useless free, too
41477         * build-aux/useless-if-before-free: still only in a comment, though.
41478
41479 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
41480
41481         maint.mk: import changes to syntax-check macros from coreutils
41482         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
41483         Use them in the relevant macros.
41484
41485 2009-04-06  Bruno Haible  <bruno@clisp.org>
41486
41487         Fix unportable use of bit-fields.
41488         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
41489         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
41490         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
41491
41492 2009-04-06  Bruno Haible  <bruno@clisp.org>
41493
41494         Avoid test failures on AIX and OSF/1.
41495         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
41496         that malloc(0) = NULL.
41497         * tests/unicase/test-u8-tolower.c (check): Likewise.
41498         * tests/unicase/test-u8-totitle.c (check): Likewise.
41499         * tests/unicase/test-u8-toupper.c (check): Likewise.
41500         * tests/unicase/test-u16-casefold.c (check): Likewise.
41501         * tests/unicase/test-u16-tolower.c (check): Likewise.
41502         * tests/unicase/test-u16-totitle.c (check): Likewise.
41503         * tests/unicase/test-u16-toupper.c (check): Likewise.
41504         * tests/unicase/test-u32-casefold.c (check): Likewise.
41505         * tests/unicase/test-u32-tolower.c (check): Likewise.
41506         * tests/unicase/test-u32-totitle.c (check): Likewise.
41507         * tests/unicase/test-u32-toupper.c (check): Likewise.
41508         * tests/uninorm/test-u8-nfc.c (check): Likewise.
41509         * tests/uninorm/test-u8-nfd.c (check): Likewise.
41510         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
41511         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
41512         * tests/uninorm/test-u16-nfc.c (check): Likewise.
41513         * tests/uninorm/test-u16-nfd.c (check): Likewise.
41514         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
41515         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
41516         * tests/uninorm/test-u32-nfc.c (check): Likewise.
41517         * tests/uninorm/test-u32-nfd.c (check): Likewise.
41518         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
41519         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
41520
41521 2009-04-05  Bruno Haible  <bruno@clisp.org>
41522
41523         Work around an autoconf limitation.
41524         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
41525         comment line if it would be longer than 3 KB.
41526
41527 2009-04-05  Bruno Haible  <bruno@clisp.org>
41528
41529         Avoid test failure with libiconv-1.13.
41530         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
41531         of the expected test results.
41532
41533 2009-04-05  Bruno Haible  <bruno@clisp.org>
41534
41535         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
41536         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
41537         that it should be installed.
41538
41539 2009-04-05  Bruno Haible  <bruno@clisp.org>
41540
41541         * gnulib-tool: New option --copy-file.
41542         (func_usage): Document it.
41543         (func_dest_tmpfilename): Moved out of func_import.
41544         (func_add_file, func_update_file): New functions, extracted from
41545         func_import.
41546         (func_import): Update.
41547
41548 2009-04-05  Karl Berry  <karl@gnu.org>
41549
41550         * README: prominently mention gnulib-tool.
41551         Rearrange sections so getting the code is near the top.
41552
41553 2009-04-05  Bruno Haible  <bruno@clisp.org>
41554
41555         * lib/unicase.h: Mention u*_cmp2.
41556         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
41557         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
41558         * lib/unicase/ulc-casecmp.c: Likewise.
41559         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
41560         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
41561         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
41562         unistr/u8-cmp.
41563         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
41564         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
41565         unistr/u16-cmp.
41566         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
41567         unistr/u32-cmp.
41568
41569         * lib/uninorm.h: Mention u*_cmp2.
41570         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
41571         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
41572         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
41573         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
41574         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
41575         unistr/u8-cmp.
41576         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
41577         unistr/u16-cmp.
41578         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
41579         unistr/u32-cmp.
41580
41581         New module 'unistr/u32-cmp2'.
41582         * lib/unistr/u32-cmp2.c: New file.
41583         * modules/unistr/u32-cmp2: New file.
41584
41585         New module 'unistr/u16-cmp2'.
41586         * lib/unistr/u16-cmp2.c: New file.
41587         * modules/unistr/u16-cmp2: New file.
41588
41589         New module 'unistr/u8-cmp2'.
41590         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
41591         * lib/unistr/u8-cmp2.c: New file.
41592         * lib/unistr/u-cmp2.h: New file.
41593         * modules/unistr/u8-cmp2: New file.
41594
41595 2009-04-05  Bruno Haible  <bruno@clisp.org>
41596
41597         * lib/unictype.h (uc_property_is_valid): New macro.
41598         * tests/unictype/test-pr_byname.c (main): Use it.
41599
41600         * lib/unistr.h: Doc fixes.
41601         * lib/uniconv.h: Doc fixes.
41602         * lib/unictype.h: Doc fixes.
41603
41604 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
41605
41606         Port coreutils 7.2 to Solaris 8.
41607
41608         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
41609         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
41610         for Solaris 8.  This is a bit of a hack, as it means it's the
41611         caller's responsibility to add -lnsl if needed, but most likely it
41612         won't be needed since only getaddrinfo uses this and getaddrinfo
41613         isn't needed on Solaris 8.
41614
41615         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
41616         problem to Solaris 8 encountered with coreutils 7.2, which
41617         resulted in a message "fnmatch.c:292: warning: passing argument 4
41618         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
41619         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
41620
41621 2009-04-03  Simon Josefsson  <simon@josefsson.org>
41622
41623         * m4/ld-version-script.m4: Add FIXME comment.
41624
41625 2009-04-02  Simon Josefsson  <simon@josefsson.org>
41626
41627         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
41628         SOVERSION variable.
41629
41630 2009-04-02  Bruno Haible  <bruno@clisp.org>
41631
41632         * Makefile (info, html, dvi, pdf): Combine the rules.
41633         Suggested by Jim Meyering.
41634
41635 2009-04-01  Bruno Haible  <bruno@clisp.org>
41636
41637         * Makefile (info, html, dvi, pdf): New targets.
41638         Reported by Reuben Thomas <rrt@sc3d.org>.
41639
41640 2009-04-01  Bruno Haible  <bruno@clisp.org>
41641
41642         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
41643         can be put into PATH.
41644         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
41645
41646 2009-04-01  Bruno Haible  <bruno@clisp.org>
41647
41648         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
41649
41650 2009-04-01  Bruno Haible  <bruno@clisp.org>
41651
41652         Rename module 'visibility'.
41653         * modules/lib-symbol-visibility: Renamed from modules/visibility.
41654         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
41655         * doc/gnulib.texi: Update.
41656         * MODULES.html.sh (Misc): Update.
41657         * NEWS: Mention the change.
41658
41659 2009-04-01  Simon Josefsson  <simon@josefsson.org>
41660
41661         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
41662         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
41663         Eric Blake <ebb9@byu.net> for review.
41664         * MODULES.html.sh: Add lib-msvc-compat.
41665         * doc/gnulib.texi: Link to new section.
41666         * m4/ld-output-def.m4: New file.
41667         * doc/ld-output-def.texi: New file.
41668
41669 2009-04-01  Simon Josefsson  <simon@josefsson.org>
41670
41671         Rename ld-version-script to lib-symbol-versions.  Suggested by
41672         Bruno Haible <bruno@clisp.org>.
41673         * modules/ld-version-script: Renamed to lib-symbol-versions.
41674         * doc/ld-version-script.texi: Fix module name.
41675         * MODULES.html.sh: Add lib-symbol-versions.
41676
41677 2009-03-31  Simon Josefsson  <simon@josefsson.org>
41678
41679         * modules/u64-tests: New file.
41680         * tests/test-u64.c: New file.
41681
41682 2009-03-04  Simon Josefsson  <simon@josefsson.org>
41683
41684         * MODULES.html.sh: Mention u64.
41685         * modules/u64: New module.
41686         * modules/crypto/sha512: Depend on u64 module instead of providing
41687         u64.h.
41688
41689 2009-03-27  Eric Blake  <ebb9@byu.net>
41690
41691         test-strerror: make debugging EAI_SYSTEM easier
41692         * modules/getaddrinfo-tests (Depends-on): Add strerror.
41693         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
41694         failure was EAI_SYSTEM.
41695
41696 2009-03-25  Bruno Haible  <bruno@clisp.org>
41697
41698         Fix a problem with --enable-relocatable on Solaris 7.
41699         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
41700         since 2008-02-24.
41701
41702 2009-03-25  Eric Blake  <ebb9@byu.net>
41703
41704         test-sockets: avoid gcc warning
41705         * tests/test-sockets.c (main): Silence compiler warning.
41706
41707 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
41708
41709         New modules nproc, pthread, contributed by Glen Lenker.
41710
41711         * MODULES.html.sh: Add pthread, nproc.
41712         * lib/nproc.c: New file.
41713         * lib/nproc.h: New file.
41714         * lib/pthread.in.h: New file.
41715         * m4/pthread.m4: New file.
41716         * modules/nproc: New file.
41717         * modules/pthread: New file.
41718
41719 2009-03-24  Simon Josefsson  <simon@josefsson.org>
41720
41721         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
41722         New variable.
41723
41724 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
41725
41726         filevercmp: handle simple~ and numbered.~3~ backup suffixes
41727         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
41728         * tests/test-filevercmp.c: Add tests for backup suffixes.
41729
41730 2009-03-24  Simon Josefsson  <simon@josefsson.org>
41731
41732         * modules/stdlib (Depends-on): Add stdint, needed when defining
41733         struct random_data on, for example, HP-UX 10.20.  Reported by
41734         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41735
41736 2009-03-24  Simon Josefsson  <simon@josefsson.org>
41737
41738         * lib/readline.c (readline): Call fflush on stdout after printing
41739         prompt.
41740
41741 2009-03-20  Bruno Haible  <bruno@clisp.org>
41742
41743         Remove dependency from 'close' module to -lws2_32 on native Windows.
41744         * lib/close-hook.h: New file.
41745         * lib/close-hook.c: New file.
41746         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
41747         w32sock.h.
41748         (_gl_close_fd_maybe_socket): Remove function.
41749         (rpl_close): Invoke execute_all_close_hooks instead of
41750         _gl_close_fd_maybe_socket.
41751         * lib/sockets.c: Include close-hook.h, w32sock.h.
41752         (close_fd_maybe_socket): New function, essentially from lib/close.c.
41753         (close_sockets_hook): New variable.
41754         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
41755         (gl_sockets_cleanup): Unregister it.
41756         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
41757         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
41758         * modules/close-hook: New file.
41759         * modules/close (Files): Remove lib/w32sock.h.
41760         (Depends-on): Add close-hook.
41761         (Link): Remove section.
41762         * modules/sockets (Files): Add lib/w32sock.h.
41763         (Depends-on): Add close-hook.
41764         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
41765         invocation.
41766         * NEWS: Mention that LIB_CLOSE is gone.
41767
41768 2009-03-23  Eric Blake  <ebb9@byu.net>
41769
41770         signal-tests: test previous patch
41771         * tests/test-signal.c: New file.
41772         * modules/signal-tests: Likewise.
41773
41774         signal.h: always support 'volatile sig_atomic_t'
41775         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
41776         (gl_SIGNAL_H_DEFAULTS): Add a default.
41777         * modules/signal (Makefile.am): Substitute if needed.
41778         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
41779         users can blindly add volatile.
41780         * doc/posix-headers/signal.texi (signal.h): Document it.
41781         Reported by Matthew Woehlke.
41782
41783 2009-03-23  Jim Meyering  <meyering@redhat.com>
41784
41785         pathmax: PATH_MAX: use pathconf only when available
41786         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
41787         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
41788         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
41789         This avoids a link failure in a PSP cross-compilation environment
41790         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
41791
41792         * lib/vasnprintf.c (divide): Fix typo in comment.
41793
41794 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41795
41796         * gnulib-tool (func_filter_filelist): Fix comment.
41797
41798 2009-03-20  Bruno Haible  <bruno@clisp.org>
41799
41800         Make sockets.h self-contained.
41801         * lib/sockets.c: Include sockets.h first.
41802         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
41803
41804 2009-03-19  Eric Blake  <ebb9@byu.net>
41805
41806         doc: mention more functions added in cygwin 1.7.0
41807         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
41808         addition.
41809         * doc/posix-functions/log2f.texi: Likewise.
41810
41811 2009-03-19  Jim Meyering  <meyering@redhat.com>
41812
41813         fsusage: avoid syntax error due to statement-before-declaration
41814         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
41815         after all declarations.  Reported by Matthew Woehlke in
41816         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
41817
41818 2009-03-18  Eric Blake  <ebb9@byu.net>
41819
41820         build-aux/compile: sync from automake
41821         * build-aux/compile: New file, from automake.
41822         * config/srclist.txt: Mention build-aux/compile.
41823
41824 2009-03-17  Bruno Haible  <bruno@clisp.org>
41825
41826         * lib/git-merge-changelog.c: Fix typo in comment.
41827         Reported by Reuben Thomas <rrt@sc3d.org>.
41828
41829 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
41830
41831         * m4/regex.m4: update and improve help for
41832         --without-included-regex.
41833
41834 2009-03-17  Simon Josefsson  <simon@josefsson.org>
41835
41836         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
41837         failure on missing include files.
41838
41839 2009-03-17  Eric Blake  <ebb9@byu.net>
41840
41841         doc: mention more functions added in cygwin 1.7.0
41842         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
41843         addition.
41844         * doc/posix-functions/fwscanf.texi: Likewise.
41845         * doc/posix-functions/swprintf.texi: Likewise.
41846         * doc/posix-functions/swscanf.texi: Likewise.
41847         * doc/posix-functions/vfwprintf.texi: Likewise.
41848         * doc/posix-functions/vfwscanf.texi: Likewise.
41849         * doc/posix-functions/vswprintf.texi: Likewise.
41850         * doc/posix-functions/vswscanf.texi: Likewise.
41851         * doc/posix-functions/vwprintf.texi: Likewise.
41852         * doc/posix-functions/vwscanf.texi: Likewise.
41853         * doc/posix-functions/wcscasecmp.texi: Likewise.
41854         * doc/posix-functions/wcsdup.texi: Likewise.
41855         * doc/posix-functions/wcsftime.texi: Likewise.
41856         * doc/posix-functions/wcsncasecmp.texi: Likewise.
41857         * doc/posix-functions/wprintf.texi: Likewise.
41858         * doc/posix-functions/wscanf.texi: Likewise.
41859         * doc/glibc-functions/gethostbyname2.texi: Likewise.
41860
41861 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41862
41863         maint.mk: really add $(AM_MAKEFLAGS)
41864         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
41865         was inadvertently omitted in the last commit.
41866         Spotted by Bruno Haible.
41867
41868         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
41869         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
41870         $(AM_MAKEFLAGS)' rather than plain `make'.
41871
41872         gnulib-tool: execute $MAKE not make
41873         * gnulib-tool: Default $MAKE to 'make'.
41874         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
41875         than make.  Initialize $MAKE in the do-autobuild script.
41876
41877         gnulib-tool: use $MAKE not make in generated files
41878         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
41879         make, in generated files.  Initialize $MAKE in the do-autobuild
41880         script.
41881
41882         * top/GNUmakefile (_have-git-version-gen): Fix typo.
41883
41884         GNUmakefile: disable parallelism only for multiple, recursive targets
41885         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
41886         additions in the Makefile.
41887         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
41888         by Automake.
41889         (.NOTPARALLEL): Only disable parallel builds if multiple targets
41890         are listed on the command line and at least one of them is
41891         listed in $(ALL_RECURSIVE_TARGETS).
41892
41893 2009-03-14  Bruno Haible  <bruno@clisp.org>
41894
41895         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
41896         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
41897         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
41898         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
41899         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
41900         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
41901         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
41902         unistr/u8-uctomb.
41903         * modules/unistr/u8-strchr (Depends-on): Likewise.
41904         * modules/unistr/u8-strrchr (Depends-on): Likewise.
41905         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
41906         unistr/u16-uctomb.
41907         * modules/unistr/u16-strchr (Depends-on): Likewise.
41908         * modules/unistr/u16-strrchr (Depends-on): Likewise.
41909
41910 2009-03-12  Bruno Haible  <bruno@clisp.org>
41911
41912         Work around select() bug on Interix 3.5.
41913         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
41914         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
41915         * m4/select.m4: New file.
41916         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
41917         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
41918         * modules/select (Files): Add m4/select.m4.
41919         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
41920         * modules/nanosleep (Depends-on): Add select.
41921         * modules/poll (Depends-on): Likewise.
41922         * doc/posix-functions/select.texi: Mention the Interix bug.
41923         Reported by Markus Duft <mduft@gentoo.org>.
41924
41925         * lib/select.c: Renamed from lib/winsock-select.c.
41926         * modules/select (Files): Add lib/select.c, remove
41927         lib/winsock-select.c.
41928         (configure.ac): Update.
41929
41930 2009-03-12  Jim Meyering  <meyering@redhat.com>
41931
41932         avoid gcc warnings about unused macro definitions
41933         * lib/readtokens.c (STREQ): Remove unused definition.
41934         * lib/xmalloc.c (SIZE_MAX): Likewise.
41935         * lib/openat-die.c (N_): Likewise.
41936         * lib/mountlist.c (SIZE_MAX): Remove definition.
41937         Instead, include <stdint.h>.
41938         * lib/readutmp.c: Likewise.
41939         * modules/readutmp (Depends-on): Add stdint.
41940         * modules/mountlist (Depends-on): Add stdint.
41941         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
41942
41943 2009-03-10  Bruno Haible  <bruno@clisp.org>
41944
41945         Tests for module 'mbmemcasecoll'.
41946         * modules/mbmemcasecoll-tests: New file.
41947         * tests/test-mbmemcasecoll1.sh: New file.
41948         * tests/test-mbmemcasecoll2.sh: New file.
41949         * tests/test-mbmemcasecoll3.sh: New file.
41950         * tests/test-mbmemcasecoll.c: New file.
41951
41952         New module 'mbmemcasecoll'.
41953         * lib/mbmemcasecoll.h: New file.
41954         * lib/mbmemcasecoll.c: New file.
41955         * modules/mbmemcasecoll: New file.
41956
41957         * tests/test-mbmemcasecmp.h: New file, extracted from
41958         tests/test-mbmemcasecmp.c.
41959         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
41960         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
41961         (main): Update.
41962         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
41963
41964 2009-03-09  Bruno Haible  <bruno@clisp.org>
41965
41966         Tests for module 'mbmemcasecmp'.
41967         * modules/mbmemcasecmp-tests: New file.
41968         * tests/test-mbmemcasecmp1.sh: New file.
41969         * tests/test-mbmemcasecmp2.sh: New file.
41970         * tests/test-mbmemcasecmp3.sh: New file.
41971         * tests/test-mbmemcasecmp.c: New file.
41972
41973         New module 'mbmemcasecmp'.
41974         * lib/mbmemcasecmp.h: New file.
41975         * lib/mbmemcasecmp.c: New file.
41976         * modules/mbmemcasecmp: New file.
41977
41978 2009-03-09  Bruno Haible  <bruno@clisp.org>
41979
41980         Tests for module 'unicase/ulc-casecoll'.
41981         * modules/unicase/ulc-casecoll-tests: New file.
41982         * tests/unicase/test-ulc-casecoll1.sh: New file.
41983         * tests/unicase/test-ulc-casecoll2.sh: New file.
41984         * tests/unicase/test-ulc-casecoll.c: New file.
41985
41986         New module 'unicase/ulc-casecoll'.
41987         * lib/unicase.h (ulc_casecoll): New declaration.
41988         * lib/unicase/ulc-casecoll.c: New file.
41989         * modules/unicase/ulc-casecoll: New file.
41990
41991         New module 'unicase/ulc-casexfrm'.
41992         * lib/unicase.h (ulc_casexfrm): New declaration.
41993         * lib/unicase/ulc-casexfrm.c: New file.
41994         * modules/unicase/ulc-casexfrm: New file.
41995
41996 2009-03-09  Bruno Haible  <bruno@clisp.org>
41997
41998         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
41999         invocations.
42000
42001         * m4/mbscasecmp.m4: Remove file.
42002         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
42003         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
42004
42005         * m4/mbscasestr.m4: Remove file.
42006         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
42007         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
42008
42009         * m4/mbschr.m4: Remove file.
42010         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
42011         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
42012
42013         * m4/mbscspn.m4: Remove file.
42014         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
42015         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
42016
42017         * m4/mbslen.m4: Remove file.
42018         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
42019         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
42020
42021         * m4/mbsncasecmp.m4: Remove file.
42022         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
42023         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
42024
42025         * m4/mbsnlen.m4: Remove file.
42026         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
42027         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
42028
42029         * m4/mbspbrk.m4: Remove file.
42030         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
42031         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
42032
42033         * m4/mbspcasecmp.m4: Remove file.
42034         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
42035         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
42036
42037         * m4/mbsrchr.m4: Remove file.
42038         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
42039         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
42040
42041         * m4/mbssep.m4: Remove file.
42042         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
42043         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
42044
42045         * m4/mbsspn.m4: Remove file.
42046         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
42047         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
42048
42049         * m4/mbsstr.m4: Remove file.
42050         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
42051         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
42052
42053         * m4/mbstok_r.m4: Remove file.
42054         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
42055         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
42056
42057         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
42058
42059         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
42060         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
42061
42062         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
42063
42064 2009-03-08  Bruno Haible  <bruno@clisp.org>
42065
42066         Tests for module 'unicase/ulc-casecmp'.
42067         * modules/unicase/ulc-casecmp-tests: New file.
42068         * tests/unicase/test-ulc-casecmp1.sh: New file.
42069         * tests/unicase/test-ulc-casecmp2.sh: New file.
42070         * tests/unicase/test-ulc-casecmp.c: New file.
42071
42072         New module 'unicase/ulc-casecmp'.
42073         * lib/unicase.h (ulc_casecmp): New declaration.
42074         * lib/unicase/ulc-casecmp.c: New file.
42075         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
42076         'const SRC_UNIT *'.
42077         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
42078         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
42079         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
42080         * modules/unicase/ulc-casecmp: New file.
42081
42082         Tests for module 'unicase/u32-is-cased'.
42083         * modules/unicase/u32-is-cased-tests: New file.
42084         * tests/unicase/test-u32-is-cased.c: New file.
42085
42086         Tests for module 'unicase/u16-is-cased'.
42087         * modules/unicase/u16-is-cased-tests: New file.
42088         * tests/unicase/test-u16-is-cased.c: New file.
42089
42090         Tests for module 'unicase/u8-is-cased'.
42091         * modules/unicase/u8-is-cased-tests: New file.
42092         * tests/unicase/test-u8-is-cased.c: New file.
42093         * tests/unicase/test-is-cased.h: New file.
42094
42095         New module 'unicase/u32-is-cased'.
42096         * lib/unicase/u32-is-cased.c: New file.
42097         * modules/unicase/u32-is-cased: New file.
42098
42099         New module 'unicase/u16-is-cased'.
42100         * lib/unicase/u16-is-cased.c: New file.
42101         * modules/unicase/u16-is-cased: New file.
42102
42103         New module 'unicase/u8-is-cased'.
42104         * lib/unicase/u8-is-cased.c: New file.
42105         * lib/unicase/u-is-cased.h: New file.
42106         * modules/unicase/u8-is-cased: New file.
42107
42108         Tests for module 'unicase/u32-is-casefolded'.
42109         * modules/unicase/u32-is-casefolded-tests: New file.
42110         * tests/unicase/test-u32-is-casefolded.c: New file.
42111
42112         Tests for module 'unicase/u16-is-casefolded'.
42113         * modules/unicase/u16-is-casefolded-tests: New file.
42114         * tests/unicase/test-u16-is-casefolded.c: New file.
42115
42116         Tests for module 'unicase/u8-is-casefolded'.
42117         * modules/unicase/u8-is-casefolded-tests: New file.
42118         * tests/unicase/test-u8-is-casefolded.c: New file.
42119         * tests/unicase/test-is-casefolded.h: New file.
42120
42121         New module 'unicase/u32-is-casefolded'.
42122         * lib/unicase/u32-is-casefolded.c: New file.
42123         * modules/unicase/u32-is-casefolded: New file.
42124
42125         New module 'unicase/u16-is-casefolded'.
42126         * lib/unicase/u16-is-casefolded.c: New file.
42127         * modules/unicase/u16-is-casefolded: New file.
42128
42129         New module 'unicase/u8-is-casefolded'.
42130         * lib/unicase/u8-is-casefolded.c: New file.
42131         * modules/unicase/u8-is-casefolded: New file.
42132
42133         Tests for module 'unicase/u32-is-titlecase'.
42134         * modules/unicase/u32-is-titlecase-tests: New file.
42135         * tests/unicase/test-u32-is-titlecase.c: New file.
42136
42137         Tests for module 'unicase/u16-is-titlecase'.
42138         * modules/unicase/u16-is-titlecase-tests: New file.
42139         * tests/unicase/test-u16-is-titlecase.c: New file.
42140
42141         Tests for module 'unicase/u8-is-titlecase'.
42142         * modules/unicase/u8-is-titlecase-tests: New file.
42143         * tests/unicase/test-u8-is-titlecase.c: New file.
42144         * tests/unicase/test-is-titlecase.h: New file.
42145
42146         New module 'unicase/u32-is-titlecase'.
42147         * lib/unicase/u32-is-titlecase.c: New file.
42148         * modules/unicase/u32-is-titlecase: New file.
42149
42150         New module 'unicase/u16-is-titlecase'.
42151         * lib/unicase/u16-is-titlecase.c: New file.
42152         * modules/unicase/u16-is-titlecase: New file.
42153
42154         New module 'unicase/u8-is-titlecase'.
42155         * lib/unicase/u8-is-titlecase.c: New file.
42156         * modules/unicase/u8-is-titlecase: New file.
42157
42158         Tests for module 'unicase/u32-is-lowercase'.
42159         * modules/unicase/u32-is-lowercase-tests: New file.
42160         * tests/unicase/test-u32-is-lowercase.c: New file.
42161
42162         Tests for module 'unicase/u16-is-lowercase'.
42163         * modules/unicase/u16-is-lowercase-tests: New file.
42164         * tests/unicase/test-u16-is-lowercase.c: New file.
42165
42166         Tests for module 'unicase/u8-is-lowercase'.
42167         * modules/unicase/u8-is-lowercase-tests: New file.
42168         * tests/unicase/test-u8-is-lowercase.c: New file.
42169         * tests/unicase/test-is-lowercase.h: New file.
42170
42171         New module 'unicase/u32-is-lowercase'.
42172         * lib/unicase/u32-is-lowercase.c: New file.
42173         * modules/unicase/u32-is-lowercase: New file.
42174
42175         New module 'unicase/u16-is-lowercase'.
42176         * lib/unicase/u16-is-lowercase.c: New file.
42177         * modules/unicase/u16-is-lowercase: New file.
42178
42179         New module 'unicase/u8-is-lowercase'.
42180         * lib/unicase/u8-is-lowercase.c: New file.
42181         * modules/unicase/u8-is-lowercase: New file.
42182
42183         Tests for module 'unicase/u32-is-uppercase'.
42184         * modules/unicase/u32-is-uppercase-tests: New file.
42185         * tests/unicase/test-u32-is-uppercase.c: New file.
42186
42187         Tests for module 'unicase/u16-is-uppercase'.
42188         * modules/unicase/u16-is-uppercase-tests: New file.
42189         * tests/unicase/test-u16-is-uppercase.c: New file.
42190
42191         Tests for module 'unicase/u8-is-uppercase'.
42192         * modules/unicase/u8-is-uppercase-tests: New file.
42193         * tests/unicase/test-u8-is-uppercase.c: New file.
42194         * tests/unicase/test-is-uppercase.h: New file.
42195
42196         New module 'unicase/u32-is-uppercase'.
42197         * lib/unicase/u32-is-uppercase.c: New file.
42198         * modules/unicase/u32-is-uppercase: New file.
42199
42200         New module 'unicase/u16-is-uppercase'.
42201         * lib/unicase/u16-is-uppercase.c: New file.
42202         * modules/unicase/u16-is-uppercase: New file.
42203
42204         New module 'unicase/u8-is-uppercase'.
42205         * lib/unicase/u8-is-uppercase.c: New file.
42206         * modules/unicase/u8-is-uppercase: New file.
42207
42208         New module 'unicase/u32-is-invariant'.
42209         * lib/unicase/u32-is-invariant.c: New file.
42210         * modules/unicase/u32-is-invariant: New file.
42211
42212         New module 'unicase/u16-is-invariant'.
42213         * lib/unicase/u16-is-invariant.c: New file.
42214         * modules/unicase/u16-is-invariant: New file.
42215
42216         New module 'unicase/u8-is-invariant'.
42217         * lib/unicase/u8-is-invariant.c: New file.
42218         * lib/unicase/invariant.h: New file.
42219         * lib/unicase/u-is-invariant.h: New file.
42220         * modules/unicase/u8-is-invariant: New file.
42221
42222         Tests for module 'unicase/u32-casecoll'.
42223         * modules/unicase/u32-casecoll-tests: New file.
42224         * tests/unicase/test-u32-casecoll.c: New file.
42225
42226         Tests for module 'unicase/u16-casecoll'.
42227         * modules/unicase/u16-casecoll-tests: New file.
42228         * tests/unicase/test-u16-casecoll.c: New file.
42229
42230         Tests for module 'unicase/u8-casecoll'.
42231         * modules/unicase/u8-casecoll-tests: New file.
42232         * tests/unicase/test-u8-casecoll.c: New file.
42233
42234         New module 'unicase/u32-casecoll'.
42235         * lib/unicase/u32-casecoll.c: New file.
42236         * modules/unicase/u32-casecoll: New file.
42237
42238         New module 'unicase/u16-casecoll'.
42239         * lib/unicase/u16-casecoll.c: New file.
42240         * modules/unicase/u16-casecoll: New file.
42241
42242         New module 'unicase/u8-casecoll'.
42243         * lib/unicase/u8-casecoll.c: New file.
42244         * lib/unicase/u-casecoll.h: New file.
42245         * modules/unicase/u8-casecoll: New file.
42246
42247         New module 'unicase/u32-casexfrm'.
42248         * lib/unicase/u32-casexfrm.c: New file.
42249         * modules/unicase/u32-casexfrm: New file.
42250
42251         New module 'unicase/u16-casexfrm'.
42252         * lib/unicase/u16-casexfrm.c: New file.
42253         * modules/unicase/u16-casexfrm: New file.
42254
42255         New module 'unicase/u8-casexfrm'.
42256         * lib/unicase/u8-casexfrm.c: New file.
42257         * lib/unicase/u-casexfrm.h: New file.
42258         * modules/unicase/u8-casexfrm: New file.
42259
42260         Tests for module 'unicase/u32-casecmp'.
42261         * modules/unicase/u32-casecmp-tests: New file.
42262         * tests/unicase/test-u32-casecmp.c: New file.
42263
42264         Tests for module 'unicase/u16-casecmp'.
42265         * modules/unicase/u16-casecmp-tests: New file.
42266         * tests/unicase/test-u16-casecmp.c: New file.
42267
42268         Tests for module 'unicase/u8-casecmp'.
42269         * modules/unicase/u8-casecmp-tests: New file.
42270         * tests/unicase/test-u8-casecmp.c: New file.
42271         * tests/unicase/test-casecmp.h: New file.
42272
42273         New module 'unicase/u32-casecmp'.
42274         * lib/unicase/u32-casecmp.c: New file.
42275         * modules/unicase/u32-casecmp: New file.
42276
42277         New module 'unicase/u16-casecmp'.
42278         * lib/unicase/u16-casecmp.c: New file.
42279         * modules/unicase/u16-casecmp: New file.
42280
42281         New module 'unicase/u8-casecmp'.
42282         * lib/unicase/u8-casecmp.c: New file.
42283         * lib/unicase/u-casecmp.h: New file.
42284         * modules/unicase/u8-casecmp: New file.
42285
42286         Tests for module 'unicase/u32-casefold'.
42287         * modules/unicase/u32-casefold-tests: New file.
42288         * tests/unicase/test-u32-casefold.c: New file.
42289
42290         Tests for module 'unicase/u16-casefold'.
42291         * modules/unicase/u16-casefold-tests: New file.
42292         * tests/unicase/test-u16-casefold.c: New file.
42293
42294         Tests for module 'unicase/u8-casefold'.
42295         * modules/unicase/u8-casefold-tests: New file.
42296         * tests/unicase/test-u8-casefold.c: New file.
42297
42298         New module 'unicase/u32-casefold'.
42299         * lib/unicase/u32-casefold.c: New file.
42300         * modules/unicase/u32-casefold: New file.
42301
42302         New module 'unicase/u16-casefold'.
42303         * lib/unicase/u16-casefold.c: New file.
42304         * modules/unicase/u16-casefold: New file.
42305
42306         New module 'unicase/u8-casefold'.
42307         * lib/unicase/u8-casefold.c: New file.
42308         * lib/unicase/u-casefold.h: New file.
42309         * modules/unicase/u8-casefold: New file.
42310
42311         New module 'unicase/tocasefold'.
42312         * lib/unicase/casefold.h: New file.
42313         * lib/unicase/tocasefold.c: New file.
42314         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
42315         * modules/unicase/tocasefold: New file.
42316
42317         Tests for module 'unicase/u32-totitle'.
42318         * modules/unicase/u32-totitle-tests: New file.
42319         * tests/unicase/test-u32-totitle.c: New file.
42320
42321         Tests for module 'unicase/u16-totitle'.
42322         * modules/unicase/u16-totitle-tests: New file.
42323         * tests/unicase/test-u16-totitle.c: New file.
42324
42325         Tests for module 'unicase/u8-totitle'.
42326         * modules/unicase/u8-totitle-tests: New file.
42327         * tests/unicase/test-u8-totitle.c: New file.
42328
42329         New module 'unicase/u32-totitle'.
42330         * lib/unicase/u32-totitle.c: New file.
42331         * modules/unicase/u32-totitle: New file.
42332
42333         New module 'unicase/u16-totitle'.
42334         * lib/unicase/u16-totitle.c: New file.
42335         * modules/unicase/u16-totitle: New file.
42336
42337         New module 'unicase/u8-totitle'.
42338         * lib/unicase/u8-totitle.c: New file.
42339         * lib/unicase/u-totitle.h: New file.
42340         * modules/unicase/u8-totitle: New file.
42341
42342         Tests for module 'unicase/u32-tolower'.
42343         * modules/unicase/u32-tolower-tests: New file.
42344         * tests/unicase/test-u32-tolower.c: New file.
42345
42346         Tests for module 'unicase/u16-tolower'.
42347         * modules/unicase/u16-tolower-tests: New file.
42348         * tests/unicase/test-u16-tolower.c: New file.
42349
42350         Tests for module 'unicase/u8-tolower'.
42351         * modules/unicase/u8-tolower-tests: New file.
42352         * tests/unicase/test-u8-tolower.c: New file.
42353
42354         New module 'unicase/u32-tolower'.
42355         * lib/unicase/u32-tolower.c: New file.
42356         * modules/unicase/u32-tolower: New file.
42357
42358         New module 'unicase/u16-tolower'.
42359         * lib/unicase/u16-tolower.c: New file.
42360         * modules/unicase/u16-tolower: New file.
42361
42362         New module 'unicase/u8-tolower'.
42363         * lib/unicase/u8-tolower.c: New file.
42364         * modules/unicase/u8-tolower: New file.
42365
42366         Tests for module 'unicase/u32-toupper'.
42367         * modules/unicase/u32-toupper-tests: New file.
42368         * tests/unicase/test-u32-toupper.c: New file.
42369
42370         Tests for module 'unicase/u16-toupper'.
42371         * modules/unicase/u16-toupper-tests: New file.
42372         * tests/unicase/test-u16-toupper.c: New file.
42373
42374         Tests for module 'unicase/u8-toupper'.
42375         * modules/unicase/u8-toupper-tests: New file.
42376         * tests/unicase/test-u8-toupper.c: New file.
42377
42378         New module 'unicase/u32-toupper'.
42379         * lib/unicase/u32-toupper.c: New file.
42380         * modules/unicase/u32-toupper: New file.
42381
42382         New module 'unicase/u16-toupper'.
42383         * lib/unicase/u16-toupper.c: New file.
42384         * modules/unicase/u16-toupper: New file.
42385
42386         New module 'unicase/u8-toupper'.
42387         * lib/unicase/u8-toupper.c: New file.
42388         * modules/unicase/u8-toupper: New file.
42389
42390         New module 'unicase/u32-casemap'.
42391         * lib/unicase/u32-casemap.c: New file.
42392         * modules/unicase/u32-casemap: New file.
42393
42394         New module 'unicase/u16-casemap'.
42395         * lib/unicase/u16-casemap.c: New file.
42396         * modules/unicase/u16-casemap: New file.
42397
42398         New module 'unicase/u8-casemap'.
42399         * lib/unicase/unicasemap.h: New file.
42400         * lib/unicase/u8-casemap.c: New file.
42401         * lib/unicase/u-casemap.h: New file.
42402         * modules/unicase/u8-casemap: New file.
42403
42404         New module 'unicase/special-casing'.
42405         * lib/unicase/special-casing.h: New file.
42406         * lib/unicase/special-casing.c: New file.
42407         * lib/unicase/special-casing-table.gperf: New file, generated by
42408         gen-uni-tables.c.
42409         * modules/unicase/special-casing: New file.
42410
42411         Tests for module 'unicase/locale-language'.
42412         * modules/unicase/locale-language-tests: New file.
42413         * tests/unicase/test-locale-language.sh: New file.
42414         * tests/unicase/test-locale-language.c: New file.
42415
42416         New module 'unicase/locale-language'.
42417         * lib/unicase/locale-language.c: New file.
42418         * lib/unicase/locale-languages.gperf: New file.
42419         * modules/unicase/locale-language: New file.
42420
42421         Generate more tables for case conversion and case folding.
42422         * lib/gen-uni-tables.c (SCC_*): New enum items.
42423         (struct special_casing_rule): New type.
42424         (casing_rules, num_casing_rules, allocated_casing_rules): New
42425         variables.
42426         (add_casing_rule, fill_casing_rules): New functions.
42427         (struct casefold_rule): New type.
42428         (casefolding_rules, num_casefolding_rules,
42429         allocated_casefolding_rules): New variables.
42430         (fill_casefolding_rules): New function.
42431         (unicode_casefold): New variable.
42432         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
42433         sort_casing_rules, output_casing_rules): New functions.
42434         (main): Accept to more arguments: SpecialCasing.txt and
42435         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
42436         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
42437         Output mapping for casefolding.
42438
42439         * lib/unicase.h: Include stdbool.h, uninorm.h.
42440         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
42441         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
42442         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
42443         arguments.
42444         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
42445         resultp arguments.
42446         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
42447         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
42448         resultp arguments.
42449         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
42450         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
42451         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
42452         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
42453         declarations.
42454         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
42455
42456 2009-03-08  Bruno Haible  <bruno@clisp.org>
42457
42458         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
42459         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
42460         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
42461         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
42462
42463 2009-03-07  Bruno Haible  <bruno@clisp.org>
42464
42465         Adjust u*_normcmp, u*_normcoll API.
42466         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
42467         u16_normcoll, u32_normcoll): Change failure conventions.
42468         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
42469         errno and return -1.
42470         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
42471
42472 2009-03-07  Bruno Haible  <bruno@clisp.org>
42473
42474         Tests for module 'uninorm/u32-normcoll'.
42475         * modules/uninorm/u32-normcoll-tests: New file.
42476         * tests/uninorm/test-u32-normcoll.c: New file.
42477
42478         Tests for module 'uninorm/u16-normcoll'.
42479         * modules/uninorm/u16-normcoll-tests: New file.
42480         * tests/uninorm/test-u16-normcoll.c: New file.
42481
42482         Tests for module 'uninorm/u8-normcoll'.
42483         * modules/uninorm/u8-normcoll-tests: New file.
42484         * tests/uninorm/test-u8-normcoll.c: New file.
42485
42486 2009-03-07  Bruno Haible  <bruno@clisp.org>
42487
42488         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
42489         tests/uninorm/test-u32-normcmp.c.
42490         * tests/uninorm/test-u32-normcmp.c: Include it.
42491         (test_nonascii): New function, extracted from main. Add some more
42492         tests.
42493         (main): Invoke test_ascii and test_nonascii.
42494         * modules/uninorm/u32-normcmp-tests (Files): Add
42495         tests/uninorm/test-u32-normcmp.h.
42496         (Depends-on): Remove uninorm/u32-normcmp.
42497
42498         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
42499         tests/uninorm/test-u16-normcmp.c.
42500         * tests/uninorm/test-u16-normcmp.c: Include it.
42501         (test_nonascii): New function, extracted from main. Add some more
42502         tests.
42503         (main): Invoke test_ascii and test_nonascii.
42504         * modules/uninorm/u16-normcmp-tests (Files): Add
42505         tests/uninorm/test-u16-normcmp.h.
42506         (Depends-on): Remove uninorm/u16-normcmp.
42507
42508         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
42509         tests/uninorm/test-u8-normcmp.c.
42510         * tests/uninorm/test-u8-normcmp.c: Include it.
42511         (test_nonascii): New function, extracted from main. Add some more
42512         tests.
42513         (main): Invoke test_ascii and test_nonascii.
42514         * modules/uninorm/u8-normcmp-tests (Files): Add
42515         tests/uninorm/test-u8-normcmp.h.
42516         (Depends-on): Remove uninorm/u8-normcmp.
42517
42518 2009-03-07  Bruno Haible  <bruno@clisp.org>
42519
42520         New module 'uninorm/u32-normcoll'.
42521         * lib/uninorm/u32-normcoll.c: New file.
42522         * modules/uninorm/u32-normcoll: New file.
42523
42524         New module 'uninorm/u16-normcoll'.
42525         * lib/uninorm/u16-normcoll.c: New file.
42526         * modules/uninorm/u16-normcoll: New file.
42527
42528         New module 'uninorm/u8-normcoll'.
42529         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
42530         declarations.
42531         * lib/uninorm/u8-normcoll.c: New file.
42532         * lib/uninorm/u-normcoll.h: New file.
42533         * modules/uninorm/u8-normcoll: New file.
42534
42535         New module 'uninorm/u32-normxfrm'.
42536         * lib/uninorm/u32-normxfrm.c: New file.
42537         * modules/uninorm/u32-normxfrm: New file.
42538
42539         New module 'uninorm/u16-normxfrm'.
42540         * lib/uninorm/u16-normxfrm.c: New file.
42541         * modules/uninorm/u16-normxfrm: New file.
42542
42543         New module 'uninorm/u8-normxfrm'.
42544         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
42545         declarations.
42546         * lib/uninorm/u8-normxfrm.c: New file.
42547         * lib/uninorm/u-normxfrm.h: New file.
42548         * modules/uninorm/u8-normxfrm: New file.
42549
42550 2009-03-07  Bruno Haible  <bruno@clisp.org>
42551
42552         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
42553         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
42554         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
42555
42556 2009-03-07  Bruno Haible  <bruno@clisp.org>
42557
42558         New module 'memxfrm'.
42559         * lib/memxfrm.h: New file.
42560         * lib/memxfrm.c: New file.
42561         * modules/memxfrm: New file.
42562
42563 2009-03-07  Bruno Haible  <bruno@clisp.org>
42564
42565         New module 'memcmp2'.
42566         * lib/memcmp2.h: New file.
42567         * lib/memcmp2.c: New file.
42568         * modules/memcmp2: New file.
42569
42570 2009-03-07  Bruno Haible  <bruno@clisp.org>
42571
42572         Tests for module 'uninorm/decomposing-form'.
42573         * modules/uninorm/decomposing-form-tests: New file.
42574         * tests/uninorm/test-decomposing-form.c: New file.
42575
42576         New module 'uninorm/decomposing-form'.
42577         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
42578         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
42579         Add 'decomposing_variant' field.
42580         * lib/uninorm/decomposing-form.c: New file.
42581         * lib/uninorm/nfc.c (uninorm_nfc): Update.
42582         * lib/uninorm/nfd.c (uninorm_nfd): Update.
42583         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
42584         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
42585         * modules/uninorm/decomposing-form: New file.
42586         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
42587         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
42588
42589 2009-03-07  Bruno Haible  <bruno@clisp.org>
42590
42591         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
42592         strings.
42593
42594 2009-03-06  Bruno Haible  <bruno@clisp.org>
42595
42596         Tests for module 'uninorm/u32-normcmp'.
42597         * tests/uninorm/test-u32-normcmp.c: New file.
42598         * modules/uninorm/u32-normcmp-tests: New file.
42599
42600         Tests for module 'uninorm/u16-normcmp'.
42601         * tests/uninorm/test-u16-normcmp.c: New file.
42602         * modules/uninorm/u16-normcmp-tests: New file.
42603
42604         Tests for module 'uninorm/u8-normcmp'.
42605         * tests/uninorm/test-u8-normcmp.c: New file.
42606         * modules/uninorm/u8-normcmp-tests: New file.
42607
42608         New module 'uninorm/u32-normcmp'.
42609         * lib/uninorm/u32-normcmp.c: New file.
42610         * modules/uninorm/u32-normcmp: New file.
42611
42612         New module 'uninorm/u16-normcmp'.
42613         * lib/uninorm/u16-normcmp.c: New file.
42614         * modules/uninorm/u16-normcmp: New file.
42615
42616         New module 'uninorm/u8-normcmp'.
42617         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
42618         declarations.
42619         * lib/uninorm/u8-normcmp.c: New file.
42620         * lib/uninorm/u-normcmp.h: New file.
42621         * modules/uninorm/u8-normcmp: New file.
42622
42623 2009-03-06  Bruno Haible  <bruno@clisp.org>
42624
42625         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
42626         Reported by Eric Blake.
42627
42628 2009-03-06  Eric Blake  <ebb9@byu.net>
42629             Bruno Haible  <bruno@clisp.org>
42630
42631         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
42632         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
42633         condition.
42634         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
42635         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
42636         condition.
42637         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
42638
42639 2009-03-06  Eric Blake  <ebb9@byu.net>
42640
42641         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
42642         to avoid compiler warnings.
42643         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
42644
42645 2009-03-05  Bruno Haible  <bruno@clisp.org>
42646
42647         * tests/test-ftell.c (main): Disable test beyond end of file on
42648         FreeMiNT.
42649         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
42650
42651 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
42652
42653         * lib/filevercmp.c: Move hidden files up in ordering.
42654         * tests/test-filevercmp.c: Add tests for hidden files.
42655
42656 2009-03-04  Bruno Haible  <bruno@clisp.org>
42657
42658         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
42659         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
42660         AM_CFLAGS.
42661         Reported by Simon Josefsson.
42662
42663 2009-03-03  Bruno Haible  <bruno@clisp.org>
42664
42665         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
42666         Reported by Simon Josefsson.
42667
42668         * doc/ld-version-script.texi: Update node reference.
42669
42670 2009-03-03  Bruno Haible  <bruno@clisp.org>
42671
42672         * modules/visibility (License): Change to 'unlimited'.
42673         Suggested by Simon Josefsson.
42674
42675 2009-03-03  Jim Meyering  <meyering@redhat.com>
42676
42677         unlinkdir: cannot_unlink_dir may modify process state
42678         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
42679         it's neither thread-safe nor appropriate for use in a library.
42680
42681 2009-03-03  Eric Blake  <ebb9@byu.net>
42682
42683         test-closein: silence test under Darwin
42684         * tests/test-closein.sh: Ignore stderr from cat, since we don't
42685         care if it dies from EPIPE or EBADF.
42686
42687 2009-03-03  Bruno Haible  <bruno@clisp.org>
42688
42689         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
42690         earlier.
42691         * doc/visibility.texi: Fix @node and @section.
42692
42693 2009-03-03  Simon Josefsson  <simon@josefsson.org>
42694
42695         * doc/gnulib.texi: Link to sections for ld version script and
42696         visibility.
42697         * doc/visibility.texi: Add @node and @section.
42698         * modules/ld-version-script: New module.
42699         * m4/ld-version-script.m4: New file.
42700         * doc/ld-version-script.texi: New file.
42701
42702 2009-03-02  David Lutterkort  <lutter@redhat.com>
42703
42704         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
42705         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42706
42707 2009-03-02  Bruno Haible  <bruno@clisp.org>
42708
42709         * doc/visibility.texi: Mention libtool's -export-symbols option.
42710
42711 2009-03-02  Jim Meyering  <meyering@redhat.com>
42712
42713         announce-gen: new option: --no-print-checksums
42714         * build-aux/announce-gen (usage): Describe it.
42715         (print_checksums): Print a newline here, not in the [*] footnote.
42716         (main): Honor it.
42717
42718 2009-03-01  Bruno Haible  <bruno@clisp.org>
42719
42720         Use socklen_t in the native Windows replacements prototypes.
42721         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
42722         instead of 'int'.
42723         * lib/getsockopt.c (rpl_getsockopt): Likewise.
42724         * lib/setsockopt.c (rpl_setsockopt): Likewise.
42725         * modules/getsockopt (Depends-on): Add socklen.
42726         * modules/setsockopt (Depends-on): Add socklen.
42727
42728 2009-03-01  Bruno Haible  <bruno@clisp.org>
42729
42730         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
42731         least 4.2.
42732
42733 2009-03-01  Eric Blake  <ebb9@byu.net>
42734             Bruno Haible  <bruno@clisp.org>
42735
42736         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
42737         error messages.
42738         * lib/wait-process.c (wait_subprocess): Omit error message about
42739         deadly signal sent to the child of termsigp != NULL.
42740
42741 2009-03-01  Eric Blake  <ebb9@byu.net>
42742
42743         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
42744
42745 2009-03-01  Bruno Haible  <bruno@clisp.org>
42746
42747         Avoid a gcc warning.
42748         * tests/test-sched.c (b): Make global.
42749         Reported by Eric Blake.
42750
42751 2009-01-19  Martin Lambers  <marlam@marlam.de>
42752
42753         Provide POSIX semantics for socket timeout options on W32.
42754         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
42755         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
42756         * modules/setsockopt: Depend on sys_time module for struct timeval.
42757         * modules/getsockopt: Depend on sys_time module for struct timeval.
42758
42759 2009-03-01  Simon Josefsson  <simon@josefsson.org>
42760
42761         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
42762         __USE_GNU, for consistency with netdb.in.h.
42763         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42764
42765 2009-03-01  Bruno Haible  <bruno@clisp.org>
42766
42767         More support for FreeMiNT.
42768         * lib/fseeko.c (rpl_fseeko): Complete last commit.
42769         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42770
42771 2009-03-01  Bruno Haible  <bruno@clisp.org>
42772
42773         More support for FreeMiNT.
42774         * lib/fpurge.c (fpurge): Correct last commit.
42775         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42776
42777 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42778
42779         Fix unportable awk script in vc-list-files.
42780         * build-aux/vc-list-files: In the replacement awk script, use
42781         substr with a second argument of 1, not zero.
42782         Report by Simon Josefsson.
42783
42784 2009-02-28  Bruno Haible  <bruno@clisp.org>
42785
42786         More support for FreeMiNT.
42787         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
42788         to FreeMiNT today.
42789         * lib/fwriting.c (fwriting): Likewise.
42790         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
42791
42792 2009-02-28  Bruno Haible  <bruno@clisp.org>
42793
42794         * tests/test-freadseek.c (main): Disable test beyond end of file on
42795         FreeMiNT.
42796         * tests/test-ftello.c (main): Likewise.
42797         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
42798
42799 2009-02-28  Bruno Haible  <bruno@clisp.org>
42800
42801         Add tentative support for FreeMiNT.
42802         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
42803         * lib/fpurge.c (fpurge): Likewise.
42804         * lib/freadable.c (freadable): Likewise.
42805         * lib/freading.c (freading): Likewise.
42806         * lib/freadptr.c (freadptr): Likewise.
42807         * lib/freadseek.c (freadptrinc): Likewise.
42808         * lib/fseeko.c (rpl_fseeko): Likewise.
42809         * lib/fseterr.c (fseterr): Likewise.
42810         * lib/fwritable.c (fwritable): Likewise.
42811         * lib/fwriting.c (fwriting): Likewise.
42812         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
42813         Hourihane.
42814         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42815
42816 2009-02-28  Bruno Haible  <bruno@clisp.org>
42817
42818         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
42819         SIGCHLD.
42820         Reported by Jim Meyering.
42821
42822 2009-02-28  Bruno Haible  <bruno@clisp.org>
42823
42824         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
42825         Mention the results of these tests on various platforms.
42826         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
42827         order.
42828         * doc/posix-functions/printf.texi: Likewise.
42829         * doc/posix-functions/snprintf.texi: Likewise.
42830         * doc/posix-functions/sprintf.texi: Likewise.
42831         * doc/posix-functions/vfprintf.texi: Likewise.
42832         * doc/posix-functions/vprintf.texi: Likewise.
42833         * doc/posix-functions/vsnprintf.texi: Likewise.
42834         * doc/posix-functions/vsprintf.texi: Likewise.
42835         * doc/glibc-functions/obstack_printf.texi: Likewise.
42836         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
42837
42838 2009-02-28  Bruno Haible  <bruno@clisp.org>
42839
42840         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
42841         Reported by Loïc Minier <lool@dooz.org>.
42842
42843 2009-02-27  Bruno Haible  <bruno@clisp.org>
42844
42845         * gnulib-tool (func_import): Make the sed expression used to create the
42846         sed script for updating the .gitignore file POSIX compliant.
42847         Reported by Eric Blake.
42848
42849 2009-02-27  Bruno Haible  <bruno@clisp.org>
42850
42851         * gnulib-tool (sed): Don't alias as "sed --posix".
42852         Reported by Eric Blake.
42853
42854 2009-02-27  Bruno Haible  <bruno@clisp.org>
42855
42856         Avoid test link errors.
42857         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
42858         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
42859         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
42860         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
42861         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42862
42863 2009-02-27  Bruno Haible  <bruno@clisp.org>
42864
42865         Avoid spurious "(cached)" in configure output.
42866         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
42867         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
42868         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
42869         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
42870         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
42871         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
42872         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
42873         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
42874         Reported by Eric Blake.
42875
42876 2009-02-27  Eric Blake  <ebb9@byu.net>
42877
42878         printf: fix regression in previous patch
42879         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
42880
42881 2009-02-27  Bruno Haible  <bruno@clisp.org>
42882
42883         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
42884         value.
42885         * lib/stdint.in.h: Likewise.
42886         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
42887
42888 2009-02-27  Eric Blake  <ebb9@byu.net>
42889
42890         doc: mention more functions added in cygwin 1.7.0
42891         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
42892         addition.
42893         * doc/posix-functions/open_wmemstream.texi: Likewise.
42894         * doc/posix-functions/wcsnlen.texi: Likewise.
42895         * doc/posix-functions/wcsnrtombs.texi: Likewise.
42896         * doc/posix-functions/wcstod.texi: Likewise.
42897         * doc/posix-functions/wcstof.texi: Likewise.
42898         * doc/posix-functions/wcstoimax.texi: Likewise.
42899         * doc/posix-functions/wcstok.texi: Likewise.
42900         * doc/posix-functions/wcstoumax.texi: Likewise.
42901
42902         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
42903         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
42904         * doc/posix-functions/fprintf.texi: Update.
42905         * doc/posix-functions/printf.texi: Update.
42906         * doc/posix-functions/snprintf.texi: Update.
42907         * doc/posix-functions/sprintf.texi: Update.
42908         * doc/posix-functions/vfprintf.texi: Update.
42909         * doc/posix-functions/vprintf.texi: Update.
42910         * doc/posix-functions/vsnprintf.texi: Update.
42911         * doc/posix-functions/vsprintf.texi: Update.
42912         * doc/glibc-functions/obstack_printf.texi: Update.
42913         * doc/glibc-functions/obstack_vprintf.texi: Update.
42914
42915 2009-02-26  Eric Blake  <ebb9@byu.net>
42916
42917         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
42918         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
42919         compilation bug by using runtime conversion.
42920         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
42921         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
42922         * modules/ceill-tests (Files): Use nan.h.
42923         * modules/floorl-tests (Files): Likewise.
42924         * modules/frexpl-tests (Files): Likewise.
42925         * modules/isnanl-tests (Files): Likewise.
42926         * modules/ldexpl-tests (Files): Likewise.
42927         * modules/roundl-tests (Files): Likewise.
42928         * modules/truncl-tests (Files): Likewise.
42929         * tests/test-ceill.c (main): Use a working NaN.
42930         * tests/test-floorl.c (main): Likewise.
42931         * tests/test-frexpl.c (main): Likewise.
42932         * tests/test-isnan.c (test_long_double): Likewise.
42933         * tests/test-isnanl.h (main): Likewise.
42934         * tests/test-ldexpl.h (main): Likewise.
42935         * tests/test-roundl.h (main): Likewise.
42936         * tests/test-truncl.h (main): Likewise.
42937         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
42938
42939 2009-02-26  Eric Blake  <ebb9@byu.net>
42940             Bruno Haible  <bruno@clisp.org>
42941
42942         Work around a *printf bug with %ls on Solaris.
42943         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
42944         precision is specified, sprintf stops converting the wide string
42945         argument when the number of bytes that have been produced by this
42946         conversion equals or exceeds the precision.
42947         * doc/posix-functions/fprintf.texi: Update.
42948         * doc/posix-functions/printf.texi: Update.
42949         * doc/posix-functions/snprintf.texi: Update.
42950         * doc/posix-functions/sprintf.texi: Update.
42951         * doc/posix-functions/vfprintf.texi: Update.
42952         * doc/posix-functions/vprintf.texi: Update.
42953         * doc/posix-functions/vsnprintf.texi: Update.
42954         * doc/posix-functions/vsprintf.texi: Update.
42955         * doc/glibc-functions/obstack_printf.texi: Update.
42956         * doc/glibc-functions/obstack_vprintf.texi: Update.
42957
42958 2009-02-26  Eric Blake  <ebb9@byu.net>
42959
42960         stdlib: favor compiler check of random.h
42961         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
42962         to avoid an ObjC random.h installed by Swarm.
42963
42964 2009-02-26  Bruno Haible  <bruno@clisp.org>
42965
42966         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
42967         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
42968         Reported by Gary V. Vaughan <gary@gnu.org>.
42969
42970 2009-02-26  Bruno Haible  <bruno@clisp.org>
42971
42972         Fix *printf behaviour regarding the %ls directive.
42973         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
42974         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
42975         NEED_PRINTF_DIRECTIVE_LS.
42976         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
42977         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42978         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42979         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
42980         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
42981         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
42982         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
42983         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42984         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42985         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42986         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42987         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
42988         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42989         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42990         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42991         * doc/posix-functions/fprintf.texi: Update.
42992         * doc/posix-functions/printf.texi: Update.
42993         * doc/posix-functions/snprintf.texi: Update.
42994         * doc/posix-functions/sprintf.texi: Update.
42995         * doc/posix-functions/vfprintf.texi: Update.
42996         * doc/posix-functions/vprintf.texi: Update.
42997         * doc/posix-functions/vsnprintf.texi: Update.
42998         * doc/posix-functions/vsprintf.texi: Update.
42999         * doc/glibc-functions/obstack_printf.texi: Update.
43000         * doc/glibc-functions/obstack_vprintf.texi: Update.
43001         Reported by Eric Blake.
43002
43003 2009-02-25  Bruno Haible  <bruno@clisp.org>
43004
43005         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
43006         with known value.
43007         Reported by Gary V. Vaughan <gary@gnu.org>.
43008
43009 2009-02-25  Bruno Haible  <bruno@clisp.org>
43010
43011         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
43012         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
43013         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
43014         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
43015         Reported by Gary V. Vaughan <gary@gnu.org>.
43016
43017 2009-02-25  Bruno Haible  <bruno@clisp.org>
43018
43019         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
43020         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
43021         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
43022         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
43023         Reported by Gary V. Vaughan <gary@gnu.org>.
43024
43025 2009-02-25  Eric Blake  <ebb9@byu.net>
43026
43027         tests: skip fseek/ftell tests if ungetc is broken
43028         * m4/ungetc.m4: New file.
43029         * modules/fseek-tests: Split test, so ungetc dependency is
43030         separate from rest of test.
43031         * modules/fseeko-tests: Likewise.
43032         * modules/ftell-tests: Likewise.
43033         * modules/ftello-tests: Likewise.
43034         * tests/test-fseek.c (main): Isolate ungetc dependency.
43035         * tests/test-fseeko.c (main): Likewise.
43036         * tests/test-ftell.c (main): Likewise.
43037         * tests/test-ftello.c (main): Likewise.
43038         * tests/test-fseek2.sh: New file.
43039         * tests/test-fseeko2.sh: Likewise.
43040         * tests/test-ftell2.sh: Likewise.
43041         * tests/test-ftello2.sh: Likewise.
43042
43043 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
43044
43045         test-getaddrinfo: fix usage of skip return code 77
43046         * tests/test-gettaddrinfo.c: Return skip code 77 only
43047         for first occurance of skip (4x77 is not 77)
43048
43049 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
43050
43051         strtod: avoid C99 decl-after-statement
43052         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
43053
43054 2009-02-24  Eric Blake  <ebb9@byu.net>
43055
43056         strtod: detect HP-UX 11.31 bug
43057         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
43058         Reported by Gary V. Vaughan.
43059
43060 2009-02-23  Bruno Haible  <bruno@clisp.org>
43061
43062         Fix invalid read past end of memory block.
43063         * lib/vasnprintf.c (DCHAR_SET): Define.
43064         (local_wcslen): Define only when needed.
43065         (local_strnlen, local_wcsnlen): New functions.
43066         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
43067         directives that involve a conversion ourselves.
43068         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
43069         wcsnlen, mbrtowc, wcrtomb.
43070         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
43071         * tests/test-vasprintf-posix.c (test_function): Likewise.
43072         * tests/test-snprintf-posix.h (test_function): Likewise.
43073         * tests/test-sprintf-posix.h (test_function): Likewise.
43074         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43075
43076 2009-02-22  Bruno Haible  <bruno@clisp.org>
43077
43078         Implement new clarified decomposition of Hangul syllables.
43079         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
43080         of type LTV, return only a pairwise decomposition.
43081         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
43082         Likewise.
43083         * tests/uninorm/test-decomposition.c (main): Updated expected result.
43084         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
43085         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
43086
43087 2009-02-22  Bruno Haible  <bruno@clisp.org>
43088
43089         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
43090         zero-length results and shrink excess allocated memory.
43091         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
43092         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
43093         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
43094         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
43095         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
43096         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
43097         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
43098         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
43099         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
43100         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
43101         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
43102         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
43103
43104 2009-02-21  Bruno Haible  <bruno@clisp.org>
43105
43106         * doc/gnulib.texi: Include safe-alloc.texi earlier.
43107         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
43108         spaces after a period. Put a space between a macro name and its
43109         argument list. Trivial rewordings.
43110         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
43111         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
43112         (main): Return 0 explicitly.
43113
43114 2009-02-21  Bruno Haible  <bruno@clisp.org>
43115
43116         Tests for module 'uninorm/filter'.
43117         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
43118         * modules/uninorm/filter-tests: New file.
43119
43120         New module 'uninorm/filter'.
43121         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
43122         uninorm_filter_flush, uninorm_filter_free): New declarations.
43123         * lib/uninorm/uninorm-filter.c: New file.
43124         * modules/uninorm/filter: New file.
43125
43126 2009-02-21  Bruno Haible  <bruno@clisp.org>
43127
43128         Tests for module 'uninorm/nfkc'.
43129         * tests/uninorm/test-nfkc.c: New file.
43130         * tests/uninorm/test-u8-nfkc.c: New file.
43131         * tests/uninorm/test-u16-nfkc.c: New file.
43132         * tests/uninorm/test-u32-nfkc.c: New file.
43133         * tests/uninorm/test-u32-nfkc-big.sh: New file.
43134         * tests/uninorm/test-u32-nfkc-big.c: New file.
43135         * modules/uninorm/nfkc-tests: New file.
43136
43137         New module 'uninorm/nfkc'.
43138         * lib/uninorm/nfkc.c: New file.
43139         * modules/uninorm/nfkc: New file.
43140
43141         Tests for module 'uninorm/nfkd'.
43142         * tests/uninorm/test-nfkd.c: New file.
43143         * tests/uninorm/test-u8-nfkd.c: New file.
43144         * tests/uninorm/test-u16-nfkd.c: New file.
43145         * tests/uninorm/test-u32-nfkd.c: New file.
43146         * tests/uninorm/test-u32-nfkd-big.sh: New file.
43147         * tests/uninorm/test-u32-nfkd-big.c: New file.
43148         * modules/uninorm/nfkd-tests: New file.
43149
43150         New module 'uninorm/nfkd'.
43151         * lib/uninorm/nfkd.c: New file.
43152         * modules/uninorm/nfkd: New file.
43153
43154         Tests for module 'uninorm/nfc'.
43155         * tests/uninorm/test-nfc.c: New file.
43156         * tests/uninorm/test-u8-nfc.c: New file.
43157         * tests/uninorm/test-u16-nfc.c: New file.
43158         * tests/uninorm/test-u32-nfc.c: New file.
43159         * tests/uninorm/test-u32-nfc-big.sh: New file.
43160         * tests/uninorm/test-u32-nfc-big.c: New file.
43161         * modules/uninorm/nfc-tests: New file.
43162
43163         New module 'uninorm/nfc'.
43164         * lib/uninorm/nfc.c: New file.
43165         * modules/uninorm/nfc: New file.
43166
43167         Tests for module 'uninorm/nfd'.
43168         * tests/uninorm/test-nfd.c: New file.
43169         * tests/uninorm/test-u8-nfd.c: New file.
43170         * tests/uninorm/test-u16-nfd.c: New file.
43171         * tests/uninorm/test-u32-nfd.c: New file.
43172         * tests/uninorm/test-u32-nfd-big.sh: New file.
43173         * tests/uninorm/test-u32-nfd-big.c: New file.
43174         * tests/uninorm/test-u32-normalize-big.h: New file.
43175         * tests/uninorm/test-u32-normalize-big.c: New file.
43176         * tests/uninorm/NormalizationTest.txt: New file, created from
43177         Unicode 5.1.0 NormalizationTest.txt.
43178         * modules/uninorm/nfd-tests: New file.
43179
43180         New module 'uninorm/nfd'.
43181         * lib/uninorm/nfd.c: New file.
43182         * modules/uninorm/nfd: New file.
43183
43184         New module 'uninorm/u32-normalize'.
43185         * lib/uninorm/u32-normalize.c: New file.
43186         * modules/uninorm/u32-normalize: New file.
43187
43188         New module 'uninorm/u16-normalize'.
43189         * lib/uninorm/u16-normalize.c: New file.
43190         * modules/uninorm/u16-normalize: New file.
43191
43192         New module 'uninorm/u8-normalize'.
43193         * lib/uninorm/u8-normalize.c: New file.
43194         * lib/uninorm/normalize-internal.h: New file.
43195         * lib/uninorm/u-normalize-internal.h: New file.
43196         * modules/uninorm/u8-normalize: New file.
43197
43198         New module 'uninorm/decompose-internal'.
43199         * lib/uninorm/decompose-internal.c: New file.
43200         * modules/uninorm/decompose-internal: New file.
43201
43202         Tests for module 'uninorm/composition'.
43203         * tests/uninorm/test-composition.c: New file.
43204         * modules/uninorm/composition-tests: New file.
43205
43206         New module 'uninorm/composition'.
43207         * lib/uninorm/composition.c: New file.
43208         * lib/uninorm/composition-table.gperf: New file, generated by
43209         gen-uni-tables.
43210         * modules/uninorm/composition: New file.
43211
43212         Tests for module 'uninorm/compat-decomposition'.
43213         * tests/uninorm/test-compat-decomposition.c: New file.
43214         * modules/uninorm/compat-decomposition-tests: New file.
43215
43216         New module 'uninorm/compat-decomposition'.
43217         * lib/uninorm/decompose-internal.h: New file.
43218         * lib/uninorm/compat-decomposition.c: New file.
43219         * modules/uninorm/compat-decomposition: New file.
43220
43221         Tests for module 'uninorm/canonical-decomposition'.
43222         * tests/uninorm/test-canonical-decomposition.c: New file.
43223         * modules/uninorm/canonical-decomposition-tests: New file.
43224
43225         New module 'uninorm/canonical-decomposition'.
43226         * lib/uninorm/canonical-decomposition.c: New file.
43227         * modules/uninorm/canonical-decomposition: New file.
43228
43229         Tests for module 'uninorm/decomposition'.
43230         * tests/uninorm/test-decomposition.c: New file.
43231         * modules/uninorm/decomposition-tests: New file.
43232
43233         New module 'uninorm/decomposition'.
43234         * lib/uninorm/decomposition.c: New file.
43235         * modules/uninorm/decomposition: New file.
43236
43237         New module 'uninorm/decomposition-table'.
43238         * lib/uninorm/decomposition-table.h: New file.
43239         * lib/uninorm/decomposition-table.c: New file.
43240         * lib/uninorm/decomposition-table1.h: New file, generated by
43241         gen-uni-tables.
43242         * lib/uninorm/decomposition-table2.h: New file, generated by
43243         gen-uni-tables.
43244         * modules/uninorm/decomposition-table: New file.
43245
43246         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
43247         (UC_DECOMP_*): New enumeration items.
43248         (get_decomposition): New function.
43249         (struct decomp_table): New type.
43250         (output_decomposition, output_decomposition_tables): New functions.
43251         (unicode_composition_exclusions): New variable.
43252         (fill_composition_exclusions, debug_output_composition_tables): New
43253         functions.
43254         (main): Accept one more argument. Invoke fill_composition_exclusions.
43255         Output decomposition and composition tables.
43256
43257         New module 'uninorm/base'.
43258         * lib/uninorm.h: New file.
43259         * lib/unictype.h: Update comment.
43260         * modules/uninorm/base: New file.
43261
43262 2009-02-21  David Lutterkort  <lutter@redhat.com>
43263
43264         Tests for module 'safe-alloc'.
43265         * tests/test-safe-alloc.c: New file.
43266         * modules/safe-alloc-tests: New file.
43267
43268         New module 'safe-alloc'.
43269         * lib/safe-alloc.h: New file.
43270         * lib/safe-alloc.c: New file.
43271         * m4/safe-alloc.m4: New file.
43272         * modules/safe-alloc: New file.
43273         * doc/safe-alloc.texi: New file.
43274         * doc/gnulib.texi: Include it.
43275         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
43276         safe-alloc.
43277
43278 2009-02-18  Bruno Haible  <bruno@clisp.org>
43279
43280         Fix link error on non-glibc systems.
43281         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
43282         variable.
43283         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43284
43285 2009-02-18  Jim Meyering  <meyering@redhat.com>
43286
43287         fts: avoid used-uninitialized error due to recent change
43288         * lib/fts.c (fts_read): Guard uses of the new member,
43289         parent->fts_n_dirs_remaining, since it's not relevant for
43290         the parent of a directory specified on the command-line.
43291
43292 2009-02-17  James Youngman  <jay@gnu.org>
43293             Bruno Haible  <bruno@clisp.org>
43294
43295         * m4/include_next.m4: Reformulate comment.
43296
43297 2009-02-16  Jim Meyering  <meyering@redhat.com>
43298
43299         fts: add #if guards so that the fts_lgpl module still builds
43300         * lib/fts.c: Guard just-added hash-table-using parts with
43301         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
43302         Reported by Simon Josefsson.
43303
43304 2009-02-15  Bruno Haible  <bruno@clisp.org>
43305
43306         * modules/array-mergesort-tests: New file.
43307         * tests/test-array-mergesort.c: New file.
43308
43309         New module 'array-mergesort'.
43310         * modules/array-mergesort: New file.
43311         * lib/array-mergesort.h: New file.
43312
43313 2009-02-15  Bruno Haible  <bruno@clisp.org>
43314
43315         Fix 2009-02-07 commit.
43316         * lib/gen-uni-tables.c (output_predicate, output_category,
43317         output_combclass, output_bidi_category, output_decimal_digit,
43318         output_digit, output_numeric, output_mirror, output_scripts,
43319         output_ident_category, output_simple_mapping): Fix format directives.
43320         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
43321
43322 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
43323
43324         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
43325         fixes are available from IBM.
43326
43327 2009-02-13  Jim Meyering  <meyering@redhat.com>
43328
43329         fts: arrange not to stat non-directories in more cases
43330         This makes GNU find (when it doesn't need to stat each file)
43331         *much* more efficient at traversing reiserfs file systems.
43332         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
43333         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
43334         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
43335         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
43336         (leaf_optimization_applies): New function.
43337         (LCO_hash, LCO_compare): New helper functions.
43338         (link_count_optimize_ok): New function.
43339         (fts_stat): Initialize new member (if dir).
43340         (fts_read): Decrement parent's fts_n_dirs_remaining count if
43341         we've just stat'ed a directory.  Skip the stat call when possible.
43342         ---
43343         Note this AFS-related exchange:
43344         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
43345         and note find's pioctl call in find/fstype.c.
43346         But that is necessary only if you want to enable the
43347         optimization for AFS, and for now, I don't.
43348
43349         fts: move a function definition "up" (no semantic change)
43350         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
43351         "up" to precede upcoming use of a related function.
43352
43353 2009-02-11  Jim Meyering  <meyering@redhat.com>
43354
43355         fts: correct internal computation of nlinks (optimization-related)
43356         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
43357         whether the current entry is a directory, so don't test it.
43358
43359 2009-02-10  Bruno Haible  <bruno@clisp.org>
43360
43361         Tests for module 'uniwbrk/ulc-wordbreaks'.
43362         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
43363         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
43364         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
43365
43366         Tests for module 'uniwbrk/u32-wordbreaks'.
43367         * modules/uniwbrk/u32-wordbreaks-tests: New file.
43368         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
43369
43370         Tests for module 'uniwbrk/u16-wordbreaks'.
43371         * modules/uniwbrk/u16-wordbreaks-tests: New file.
43372         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
43373
43374         Tests for module 'uniwbrk/u8-wordbreaks'.
43375         * modules/uniwbrk/u8-wordbreaks-tests: New file.
43376         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
43377
43378 2009-02-10  Bruno Haible  <bruno@clisp.org>
43379
43380         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
43381         property.
43382         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
43383         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
43384         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
43385
43386 2009-02-10  Simon Josefsson  <simon@josefsson.org>
43387
43388         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
43389         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
43390
43391 2009-02-10  Bruno Haible  <bruno@clisp.org>
43392
43393         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
43394         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
43395         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
43396         * lib/unilbrk/u8-possible-linebreaks.c: Update.
43397         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
43398         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
43399
43400 2009-02-09  Simon Josefsson  <simon@josefsson.org>
43401
43402         * lib/sockets.h (gl_fd_to_handle): New function.
43403
43404         * tests/test-sockets.c: Call gl_fd_to_handle.
43405
43406 2009-02-09  Bruno Haible  <bruno@clisp.org>
43407
43408         * doc/havelib.texi: Document the conventions on bi-arch systems.
43409
43410 2009-02-08  Bruno Haible  <bruno@clisp.org>
43411
43412         Document the AC_LIB_LINKFLAGS macro.
43413         * doc/havelib.texi: New file, mostly written on 2005-05-24.
43414         * doc/gnulib.texi: Include it.
43415
43416 2009-02-08  Bruno Haible  <bruno@clisp.org>
43417
43418         Fix wrong order of sections, compared to TOC.
43419         * doc/gnulib.texi: Include relocatable-maint.texi after the
43420         "Regular expressions" node, not before.
43421
43422 2009-02-08  Bruno Haible  <bruno@clisp.org>
43423
43424         Tests for module 'unicase/totitle'.
43425         * modules/unicase/totitle-tests: New file.
43426
43427         Tests for module 'unicase/tolower'.
43428         * modules/unicase/tolower-tests: New file.
43429
43430         Tests for module 'unicase/toupper'.
43431         * modules/unicase/toupper-tests: New file.
43432         * tests/unicase/test-mapping-part1.h: New file.
43433         * tests/unicase/test-mapping-part2.h: New file.
43434
43435         New module 'unicase/totitle'.
43436         * modules/unicase/totitle: New file.
43437         * lib/unicase/totitle.c: New file.
43438
43439         New module 'unicase/tolower'.
43440         * modules/unicase/tolower: New file.
43441         * lib/unicase/tolower.c: New file.
43442
43443         New module 'unicase/toupper'.
43444         * modules/unicase/toupper: New file.
43445         * lib/unicase/toupper.c: New file.
43446         * lib/unicase/simple-mapping.h: New file.
43447
43448         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
43449         (mapping_table): New structure.
43450         (output_simple_mapping): New function.
43451         (main): Invoke output_simple_mapping_test and output_simple_mapping.
43452         * modules/gen-uni-tables (Description): Update.
43453         * lib/unicase/toupper.h: New file, automatically generated by
43454         gen-uni-tables.
43455         * lib/unicase/tolower.h: New file, automatically generated by
43456         gen-uni-tables.
43457         * lib/unicase/totitle.h: New file, automatically generated by
43458         gen-uni-tables.
43459         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
43460         gen-uni-tables.
43461         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
43462         gen-uni-tables.
43463         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
43464         gen-uni-tables.
43465
43466         New module 'unicase/base'.
43467         * modules/unicase/base: New file.
43468         * lib/unicase.h: New file.
43469
43470 2009-02-08  Bruno Haible  <bruno@clisp.org>
43471
43472         New module 'uniwbrk/ulc-wordbreaks'.
43473         * modules/uniwbrk/ulc-wordbreaks: New file.
43474         * lib/uniwbrk/ulc-wordbreaks.c: New file.
43475
43476         New module 'uniwbrk/u32-wordbreaks'.
43477         * modules/uniwbrk/u32-wordbreaks: New file.
43478         * lib/uniwbrk/u32-wordbreaks.c: New file.
43479
43480         New module 'uniwbrk/u16-wordbreaks'.
43481         * modules/uniwbrk/u16-wordbreaks: New file.
43482         * lib/uniwbrk/u16-wordbreaks.c: New file.
43483
43484         New module 'uniwbrk/u8-wordbreaks'.
43485         * modules/uniwbrk/u8-wordbreaks: New file.
43486         * lib/uniwbrk/u8-wordbreaks.c: New file.
43487         * lib/uniwbrk/u-wordbreaks.h: New file.
43488
43489         New module 'uniwbrk/table'.
43490         * modules/uniwbrk/table: New file.
43491         * lib/uniwbrk/wbrktable.h: New file.
43492         * lib/uniwbrk/wbrktable.c: New file.
43493
43494         New module 'uniwbrk/wordbreak-property'.
43495         * modules/uniwbrk/wordbreak-property: New file.
43496         * lib/uniwbrk/wordbreak-property.c: New file.
43497
43498         * lib/gen-uni-tables.c (WBP_*): New enum items.
43499         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
43500         (unicode_org_wbp): New variable.
43501         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
43502         New functions.
43503         (wbp_table): New structure.
43504         (output_wbp, output_wbrk_tables): New functions.
43505         (main): Accept additional argument. Invoke fill_org_wbp,
43506         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
43507         output_wbrk_tables.
43508         * modules/gen-uni-tables (Description): Update.
43509         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
43510         gen-uni-tables.
43511
43512         New module 'uniwbrk/base'.
43513         * modules/uniwbrk/base: New file.
43514         * lib/uniwbrk.h: New file.
43515
43516 2009-02-08  Bruno Haible  <bruno@clisp.org>
43517
43518         Update to Unicode 5.1.0.
43519         * lib/gen-uni-tables.c (is_property_alphabetic): Include
43520         U+2185..U+2188.
43521         (is_property_default_ignorable_code_point): Don't include characters
43522         of category Cc or Cs and not-a-characters.
43523         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
43524         U+0D79, U+109E, U+109F, U+A60C.
43525         * lib/unictype/bidi_of.h: Regenerated.
43526         * lib/unictype/blocks.h: Regenerated.
43527         * lib/unictype/categ_C.h: Regenerated.
43528         * lib/unictype/categ_Cf.h: Regenerated.
43529         * lib/unictype/categ_Cn.h: Regenerated.
43530         * lib/unictype/categ_L.h: Regenerated.
43531         * lib/unictype/categ_Ll.h: Regenerated.
43532         * lib/unictype/categ_Lm.h: Regenerated.
43533         * lib/unictype/categ_Lo.h: Regenerated.
43534         * lib/unictype/categ_Lu.h: Regenerated.
43535         * lib/unictype/categ_M.h: Regenerated.
43536         * lib/unictype/categ_Mc.h: Regenerated.
43537         * lib/unictype/categ_Me.h: Regenerated.
43538         * lib/unictype/categ_Mn.h: Regenerated.
43539         * lib/unictype/categ_N.h: Regenerated.
43540         * lib/unictype/categ_Nd.h: Regenerated.
43541         * lib/unictype/categ_Nl.h: Regenerated.
43542         * lib/unictype/categ_No.h: Regenerated.
43543         * lib/unictype/categ_P.h: Regenerated.
43544         * lib/unictype/categ_Pd.h: Regenerated.
43545         * lib/unictype/categ_Pe.h: Regenerated.
43546         * lib/unictype/categ_Pf.h: Regenerated.
43547         * lib/unictype/categ_Pi.h: Regenerated.
43548         * lib/unictype/categ_Po.h: Regenerated.
43549         * lib/unictype/categ_Ps.h: Regenerated.
43550         * lib/unictype/categ_S.h: Regenerated.
43551         * lib/unictype/categ_Sk.h: Regenerated.
43552         * lib/unictype/categ_Sm.h: Regenerated.
43553         * lib/unictype/categ_So.h: Regenerated.
43554         * lib/unictype/categ_of.h: Regenerated.
43555         * lib/unictype/combining.h: Regenerated.
43556         * lib/unictype/ctype_alnum.h: Regenerated.
43557         * lib/unictype/ctype_alpha.h: Regenerated.
43558         * lib/unictype/ctype_graph.h: Regenerated.
43559         * lib/unictype/ctype_lower.h: Regenerated.
43560         * lib/unictype/ctype_print.h: Regenerated.
43561         * lib/unictype/ctype_punct.h: Regenerated.
43562         * lib/unictype/ctype_upper.h: Regenerated.
43563         * lib/unictype/decdigit.h: Regenerated.
43564         * lib/unictype/digit.h: Regenerated.
43565         * lib/unictype/mirror.h: Regenerated.
43566         * lib/unictype/numeric.h: Regenerated.
43567         * lib/unictype/pr_alphabetic.h: Regenerated.
43568         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
43569         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
43570         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
43571         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
43572         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
43573         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
43574         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
43575         * lib/unictype/pr_combining.h: Regenerated.
43576         * lib/unictype/pr_dash.h: Regenerated.
43577         * lib/unictype/pr_decimal_digit.h: Regenerated.
43578         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
43579         * lib/unictype/pr_deprecated.h: Regenerated.
43580         * lib/unictype/pr_diacritic.h: Regenerated.
43581         * lib/unictype/pr_extender.h: Regenerated.
43582         * lib/unictype/pr_format_control.h: Regenerated.
43583         * lib/unictype/pr_grapheme_base.h: Regenerated.
43584         * lib/unictype/pr_grapheme_extend.h: Regenerated.
43585         * lib/unictype/pr_grapheme_link.h: Regenerated.
43586         * lib/unictype/pr_id_continue.h: Regenerated.
43587         * lib/unictype/pr_id_start.h: Regenerated.
43588         * lib/unictype/pr_ideographic.h: Regenerated.
43589         * lib/unictype/pr_ignorable_control.h: Regenerated.
43590         * lib/unictype/pr_lowercase.h: Regenerated.
43591         * lib/unictype/pr_math.h: Regenerated.
43592         * lib/unictype/pr_numeric.h: Regenerated.
43593         * lib/unictype/pr_other_alphabetic.h: Regenerated.
43594         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
43595         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
43596         * lib/unictype/pr_other_id_continue.h: Regenerated.
43597         * lib/unictype/pr_other_lowercase.h: Regenerated.
43598         * lib/unictype/pr_other_math.h: Regenerated.
43599         * lib/unictype/pr_punctuation.h: Regenerated.
43600         * lib/unictype/pr_sentence_terminal.h: Regenerated.
43601         * lib/unictype/pr_soft_dotted.h: Regenerated.
43602         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
43603         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
43604         * lib/unictype/pr_unified_ideograph.h: Regenerated.
43605         * lib/unictype/pr_uppercase.h: Regenerated.
43606         * lib/unictype/pr_xid_continue.h: Regenerated.
43607         * lib/unictype/pr_xid_start.h: Regenerated.
43608         * lib/unictype/pr_zero_width.h: Regenerated.
43609         * lib/unictype/scripts.h: Regenerated.
43610         * lib/unictype/scripts_byname.gperf: Regenerated.
43611         * lib/unictype/sy_java_ident.h: Regenerated.
43612         * lib/unilbrk/lbrkprop1.h: Regenerated.
43613         * lib/unilbrk/lbrkprop2.h: Regenerated.
43614         * tests/unictype/test-categ_C.c: Regenerated.
43615         * tests/unictype/test-categ_Cf.c: Regenerated.
43616         * tests/unictype/test-categ_Cn.c: Regenerated.
43617         * tests/unictype/test-categ_L.c: Regenerated.
43618         * tests/unictype/test-categ_Ll.c: Regenerated.
43619         * tests/unictype/test-categ_Lm.c: Regenerated.
43620         * tests/unictype/test-categ_Lo.c: Regenerated.
43621         * tests/unictype/test-categ_Lu.c: Regenerated.
43622         * tests/unictype/test-categ_M.c: Regenerated.
43623         * tests/unictype/test-categ_Mc.c: Regenerated.
43624         * tests/unictype/test-categ_Me.c: Regenerated.
43625         * tests/unictype/test-categ_Mn.c: Regenerated.
43626         * tests/unictype/test-categ_N.c: Regenerated.
43627         * tests/unictype/test-categ_Nd.c: Regenerated.
43628         * tests/unictype/test-categ_Nl.c: Regenerated.
43629         * tests/unictype/test-categ_No.c: Regenerated.
43630         * tests/unictype/test-categ_P.c: Regenerated.
43631         * tests/unictype/test-categ_Pd.c: Regenerated.
43632         * tests/unictype/test-categ_Pe.c: Regenerated.
43633         * tests/unictype/test-categ_Pf.c: Regenerated.
43634         * tests/unictype/test-categ_Pi.c: Regenerated.
43635         * tests/unictype/test-categ_Po.c: Regenerated.
43636         * tests/unictype/test-categ_Ps.c: Regenerated.
43637         * tests/unictype/test-categ_S.c: Regenerated.
43638         * tests/unictype/test-categ_Sk.c: Regenerated.
43639         * tests/unictype/test-categ_Sm.c: Regenerated.
43640         * tests/unictype/test-categ_So.c: Regenerated.
43641         * tests/unictype/test-ctype_alnum.c: Regenerated.
43642         * tests/unictype/test-ctype_alpha.c: Regenerated.
43643         * tests/unictype/test-ctype_graph.c: Regenerated.
43644         * tests/unictype/test-ctype_lower.c: Regenerated.
43645         * tests/unictype/test-ctype_print.c: Regenerated.
43646         * tests/unictype/test-ctype_punct.c: Regenerated.
43647         * tests/unictype/test-ctype_upper.c: Regenerated.
43648         * tests/unictype/test-decdigit.h: Regenerated.
43649         * tests/unictype/test-digit.h: Regenerated.
43650         * tests/unictype/test-numeric.h: Regenerated.
43651         * tests/unictype/test-pr_alphabetic.c: Regenerated.
43652         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
43653         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
43654         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
43655         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
43656         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
43657         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
43658         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
43659         * tests/unictype/test-pr_combining.c: Regenerated.
43660         * tests/unictype/test-pr_dash.c: Regenerated.
43661         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
43662         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
43663         * tests/unictype/test-pr_deprecated.c: Regenerated.
43664         * tests/unictype/test-pr_diacritic.c: Regenerated.
43665         * tests/unictype/test-pr_extender.c: Regenerated.
43666         * tests/unictype/test-pr_format_control.c: Regenerated.
43667         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
43668         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
43669         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
43670         * tests/unictype/test-pr_id_continue.c: Regenerated.
43671         * tests/unictype/test-pr_id_start.c: Regenerated.
43672         * tests/unictype/test-pr_ideographic.c: Regenerated.
43673         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
43674         * tests/unictype/test-pr_lowercase.c: Regenerated.
43675         * tests/unictype/test-pr_math.c: Regenerated.
43676         * tests/unictype/test-pr_numeric.c: Regenerated.
43677         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
43678         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
43679         Regenerated.
43680         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
43681         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
43682         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
43683         * tests/unictype/test-pr_other_math.c: Regenerated.
43684         * tests/unictype/test-pr_punctuation.c: Regenerated.
43685         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
43686         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
43687         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
43688         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
43689         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
43690         * tests/unictype/test-pr_uppercase.c: Regenerated.
43691         * tests/unictype/test-pr_xid_continue.c: Regenerated.
43692         * tests/unictype/test-pr_xid_start.c: Regenerated.
43693         * tests/unictype/test-pr_zero_width.c: Regenerated.
43694
43695         Update to Unicode 5.1.0.
43696         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
43697         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
43698         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
43699         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
43700         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
43701         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
43702         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
43703         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
43704         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
43705         (nonspacing_table_ind): Update.
43706         * tests/uniwidth/test-uc_width2.sh: Update expected result.
43707
43708         Update to Unicode 5.1.0.
43709         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
43710         code transform.
43711         * lib/uniname/uniname.c (unicode_character_name,
43712         unicode_name_character): Add the range 0x1Fxxx to the code transform.
43713         * lib/uniname/uninames.h: Regenerated.
43714         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
43715
43716 2009-02-07  Bruno Haible  <bruno@clisp.org>
43717
43718         Merge gen-ctype and gen-lbrk into a single program.
43719         * lib/gen-uni-tables.c: New file, incorporating
43720         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
43721         Add directory prefixes to the names of the generated files.
43722         * lib/unictype/gen-ctype.c: Remove file.
43723         * lib/unilbrk/gen-lbrk.c: Remove file.
43724         * modules/gen-uni-tables: New file.
43725         * modules/unictype/gen-ctype: Remove file.
43726         * modules/unilbrk/gen-lbrk: Remove file.
43727
43728 2009-02-07  Bruno Haible  <bruno@clisp.org>
43729
43730         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
43731
43732         New module 'unistr/u32-strcoll'.
43733         * modules/unistr/u32-strcoll: New file.
43734         * lib/unistr/u32-strcoll.c: New file.
43735
43736         New module 'unistr/u16-strcoll'.
43737         * modules/unistr/u16-strcoll: New file.
43738         * lib/unistr/u16-strcoll.c: New file.
43739
43740         New module 'unistr/u8-strcoll'.
43741         * modules/unistr/u8-strcoll: New file.
43742         * lib/unistr/u8-strcoll.c: New file.
43743         * lib/unistr/u-strcoll.h: New file.
43744
43745 2009-02-07  Bruno Haible  <bruno@clisp.org>
43746
43747         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
43748         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
43749         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
43750         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
43751         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
43752         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
43753
43754 2009-02-07  Bruno Haible  <bruno@clisp.org>
43755
43756         Make 64-bit clean.
43757         * lib/unictype/gen-ctype.c (output_predicate, output_category,
43758         output_combclass, output_bidi_category, output_decimal_digit,
43759         output_digit, output_numeric, output_mirror, output_scripts,
43760         output_ident_category): Use proper width specifier in format strings.
43761
43762 2009-02-07  Bruno Haible  <bruno@clisp.org>
43763
43764         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
43765         failure behaviour.
43766
43767 2009-02-07  Jim Meyering  <meyering@redhat.com>
43768
43769         regex: avoid compilation failure with upcoming gcc-4.4
43770         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
43771         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
43772         "... error: integer overflow in preprocessor expression".
43773
43774 2009-02-05  Ben Pfaff  <blp@gnu.org>
43775
43776         Fix link errors on Windows when close module is used.
43777         * modules/close: Add $(LIB_CLOSE) to Link section.
43778         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
43779         $(LIB_CLOSE) on Windows.
43780
43781 2009-02-05  Jim Meyering  <meyering@redhat.com>
43782
43783         still avoid unused-parameter warnings, but do it cleanly
43784         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
43785         (get_fs_usage): Cast to void instead.
43786         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
43787         (dev_from_mount_options, read_file_system_list): Cast to void.
43788         Prompted by Bruno Haible.
43789
43790 2009-02-04  Jim Meyering  <meyering@redhat.com>
43791
43792         fsusage.c: correct copyright year
43793         * lib/fsusage.c: Reflect year in which the change is pushed into
43794
43795         avoid misc. warnings
43796         * lib/fsusage.c (UNUSED_PARAM): Define.
43797         (get_fs_usage): Mark parameter "disk" as unused.
43798         * lib/getugroups.c (getgrent): Use "void" in prototype.
43799         * lib/mountlist.c: Mark unused parameters.
43800         (read_file_system_list): Declare a local with "const".
43801         * lib/nanosleep.c (getnow): Declare static.
43802         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
43803
43804         dirfd: set errno upon failure
43805         * lib/dirfd.c: Include <errno.h>.
43806         Set errno to ENOTSUP when returning -1.
43807         * modules/dirfd (Depends-on): Add errno.
43808         Suggested by John Kodis <kodis@comcast.net>.
43809
43810 2009-02-01  Bruno Haible  <bruno@clisp.org>
43811
43812         Don't assume sizeof (long) >= sizeof (void *).
43813         * lib/memcmp.c: Include stdint.h.
43814         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
43815         srcp2 to 'const byte *'.
43816         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
43817         types to uintptr_t.
43818         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
43819         * modules/memcmp (Depends-on): Add stdint.
43820         Reported by Ozkan Sezer <sezeroz@gmail.com>.
43821
43822 2009-01-30  Eric Blake  <ebb9@byu.net>
43823
43824         fix more require-before-expand issues
43825         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
43826         expand, AC_PROG_AWK.
43827         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
43828
43829 2009-01-28  Eric Blake  <ebb9@byu.net>
43830
43831         version-etc: use consistent URL formatting
43832         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
43833         Improve formatting.  Use fputs for string without %.
43834
43835 2009-01-28  Jim Meyering  <meyering@redhat.com>
43836
43837         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
43838         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
43839         "underquoted definition of NAME" from autoconf-2.59.
43840
43841 2009-01-28  Bruno Haible  <bruno@clisp.org>
43842
43843         * doc/gnulib.texi: Add "Obsolete modules" to index.
43844
43845 2009-01-28  Jim Meyering  <meyering@redhat.com>
43846
43847         useless-if-before-free: recognize more variants
43848         * build-aux/useless-if-before-free: Also recognize e.g.,
43849         if (NULL != p) free (p);
43850
43851 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
43852
43853         test-getaddrinfo: skip (don't fail) this test when there's no network
43854         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
43855         on the presumption that it means you lack network access.
43856
43857 2009-01-26  Jim Meyering  <meyering@redhat.com>
43858
43859         fflush: avoid warnings on modern systems
43860         * lib/fflush.c (rpl_fflush): Move declarations of locals,
43861         pos and result, into scopes where they're used.
43862
43863 2009-01-26  Eric Blake  <ebb9@byu.net>
43864
43865         Silence warning reintroduced by recent extensions patch.
43866         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
43867         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
43868         autoconf.
43869
43870         Backport improved autoconf semantics of AC_DEFUN_ONCE.
43871         * m4/00gnulib.m4: New file.
43872         * gnulib-tool (func_get_filelist): Always use it.
43873         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
43874         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
43875
43876 2009-01-25  Bruno Haible  <bruno@clisp.org>
43877
43878         Make test-quotearg work on MacOS X and AIX.
43879         * tests/test-quotearg.sh: New file.
43880         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
43881         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
43882         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
43883         include <libintl.h>.
43884         (fake_locale): Remove variable.
43885         (gettext, dgettext, dcgettext): Remove functions.
43886         (main): Instead of setting a fake locale, set a real locale. Call
43887         textdomain and bindtextdomain.
43888         * modules/quotearg-tests (Files): Add the new files.
43889         (Depends-on): Add gettext, setenv, unsetenv.
43890         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
43891         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
43892         Augment TESTS_ENVIRONMENT.
43893
43894 2009-01-25  Bruno Haible  <bruno@clisp.org>
43895
43896         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
43897         fr_FR.ISO8859-1 locale on MacOS X.
43898         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
43899         ja_JP.eucJP locale on MacOS X.
43900         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
43901         zh_CN.GB18030 locale on MacOS X.
43902
43903 2009-01-25  Bruno Haible  <bruno@clisp.org>
43904
43905         Avoid link errors on MacOS X 10.3.
43906         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
43907         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
43908
43909 2009-01-25  Bruno Haible  <bruno@clisp.org>
43910
43911         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
43912         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
43913         * modules/pipe (Files): Remove m4/posix_spawn.m4.
43914         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
43915         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
43916         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
43917         posix_spawnattr_init, posix_spawnattr_setsigmask,
43918         posix_spawnattr_setflags, posix_spawnattr_destroy.
43919
43920         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
43921         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
43922         * modules/execute (Files): Remove m4/posix_spawn.m4.
43923         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
43924         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
43925         posix_spawnattr_init, posix_spawnattr_setsigmask,
43926         posix_spawnattr_setflags, posix_spawnattr_destroy.
43927
43928 2009-01-25  Bruno Haible  <bruno@clisp.org>
43929
43930         * lib/glthread/threadlib.c: Include <stdlib.h>.
43931
43932 2009-01-25  Bruno Haible  <bruno@clisp.org>
43933
43934         * lib/glthread/threadlib.c (dummy): New declaration.
43935
43936 2009-01-25  Bruno Haible  <bruno@clisp.org>
43937
43938         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
43939         multibyte characters also for the GB18030 encoding. Don't crash when
43940         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
43941
43942 2009-01-25  Bruno Haible  <bruno@clisp.org>
43943
43944         Avoid redefining 'struct random_data' on OSF/1 5.1.
43945         * lib/stdlib.in.h: Include <random.h> if it exists.
43946         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
43947         HAVE_RANDOM_H. Include <random.h> when testing whether
43948         'struct random_data' exists.
43949         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
43950
43951 2009-01-25  Bruno Haible  <bruno@clisp.org>
43952
43953         Don't install charset.alias on MacOS X >= 10.3.
43954         * lib/localcharset.c (DARWIN7): New macro.
43955         (get_charset_aliases): Hardcode the result for Darwin7.
43956         * modules/localcharset (install-exec-local): Don't install
43957         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
43958
43959 2009-01-25  Bruno Haible  <bruno@clisp.org>
43960
43961         Don't install charset.alias on mingw and Cygwin.
43962         * modules/localcharset (install-exec-local): Don't install
43963         charset.alias on mingw and Cygwin, if the file does not yet exist.
43964         The result for these platforms is hardcoded in localcharset.c.
43965
43966 2009-01-25  Bruno Haible  <bruno@clisp.org>
43967
43968         Make it possible again to use AC_GNU_SOURCE together with gnulib.
43969         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
43970         before requiring AC_USE_SYSTEM_EXTENSIONS.
43971
43972 2009-01-25  Jim Meyering  <meyering@redhat.com>
43973
43974         c-strtod: avoid warnings
43975         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
43976         "assignment discards qualifiers from pointer target type" warnings.
43977
43978 2009-01-24  Bruno Haible  <bruno@clisp.org>
43979
43980         Add support for non-UTF-8 locales on MacOS X.
43981         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
43982         canonical encodings. For Darwin 7 and newer, don't map traditional
43983         encodings to UTF-8.
43984         Reported by Vincent Lefevre <vincent@vinc17.org>
43985         at <http://savannah.gnu.org/bugs/?25235>.
43986
43987 2009-01-24  Bruno Haible  <bruno@clisp.org>
43988
43989         * doc/gnulib.texi (Obsolete modules): New section.
43990         Reported by Mike Frysinger <vapier@gentoo.org>.
43991
43992 2009-01-24  Bruno Haible  <bruno@clisp.org>
43993
43994         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
43995         (%.dvi): New rule.
43996
43997 2009-01-24  Bruno Haible  <bruno@clisp.org>
43998
43999         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
44000         Reported by Eric Blake.
44001
44002 2009-01-24  Bruno Haible  <bruno@clisp.org>
44003
44004         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
44005         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
44006         Reported by Gary V. Vaughan <gary@gnu.org>.
44007
44008 2009-01-24  Bruno Haible  <bruno@clisp.org>
44009
44010         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
44011
44012 2009-01-23  Bruno Haible  <bruno@clisp.org>
44013
44014         Make c-strtod, c-strtold usable in libraries.
44015         * lib/c-strtod.c: Include string.h instead of xalloc.h.
44016         (C_STRTOD): Call strdup instead of xstrdup.
44017         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
44018         * modules/c-strtold (Depends-on): Likewise.
44019         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
44020         * NEWS: Mention the change.
44021         Reported by Michael Gold <mgold@ncf.ca>.
44022
44023 2009-01-23  Jim Meyering  <meyering@redhat.com>
44024
44025         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
44026         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
44027         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
44028
44029 2009-01-23  Simon Josefsson  <simon@josefsson.org>
44030
44031         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
44032         GNU CoreUtils.
44033         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
44034         * modules/version-etc (Description): Update.
44035
44036 2009-01-22  Bruno Haible  <bruno@clisp.org>
44037
44038         Cache the C locale object.
44039         * lib/c-strtod.c (c_locale_cache): New variable.
44040         (c_locale): New function.
44041         (C_STRTOD): Use it, and don't call freelocale.
44042         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
44043         Suggested by Paolo Bonzini.
44044
44045 2009-01-21  Bruno Haible  <bruno@clisp.org>
44046
44047         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
44048         conditions other than overflow.
44049
44050 2009-01-21  Bruno Haible  <bruno@clisp.org>
44051
44052         * lib/c-strtod.c: Include errno.h.
44053         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
44054         value from STRTOD_L and STRTOD.
44055
44056 2009-01-21  Bruno Haible  <bruno@clisp.org>
44057         and Jim Meyering  <meyering@redhat.com>
44058
44059         nanosleep: skip configure test (fail it) for apple universal builds
44060         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
44061         universal builds, assume that nanosleep does not work.
44062         * modules/nanosleep (Depends-on): Add multiarch.
44063
44064         mktime: skip configure test (fail it) for apple universal builds
44065         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
44066         universal builds, assume that mktime does not work.
44067         * modules/mktime (Depends-on): Add multiarch.
44068
44069 2009-01-21  Eric Blake  <ebb9@byu.net>
44070
44071         multiarch: avoid expand-before-require warning
44072         * modules/multiarch (configure.ac): Require, rather than expand,
44073         gl_MULTIARCH.
44074         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
44075         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
44076         enforce that all clients require it.  Partial reversion of
44077         2008-12-29 patch.
44078
44079         error: avoid expand-before-require warning
44080         * modules/errno (configure.ac): Require, rather than expand,
44081         gl_HEADER_ERRNO_H.
44082         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
44083         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
44084         enforce that all clients require it.
44085
44086         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
44087         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
44088         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
44089         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
44090
44091 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
44092
44093         Revert:
44094         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
44095
44096         regex: do not depend on obsolete modules.
44097         * modules/regex: Remove memcmp and memmove.
44098
44099 2009-01-20  Bruno Haible  <bruno@clisp.org>
44100
44101         Make the 'link' module link on Windows NT 4.
44102         * lib/link.c (_WIN32_WINNT): Don't define.
44103         (CreateHardLinkFuncType): New type.
44104         (CreateHardLinkFunc, initialized): New variables.
44105         (initialize): New function.
44106         (link): Invoke CreateHardLink indirectly through the function pointer.
44107
44108 2009-01-20  Bruno Haible  <bruno@clisp.org>
44109
44110         Fix compilation failure on mingw.
44111         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
44112
44113 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
44114
44115         * doc/c-strtod.texi: Mention a couple of restrictions.
44116
44117 2009-01-20  Jim Meyering  <meyering@redhat.com>
44118
44119         gettimeofday: move more declarations out of functions
44120         * lib/gettimeofday.c: Move extern declarations of tzset and
44121         gmtime out of containing functions.  Prompted by Bruno Haible.
44122
44123 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
44124
44125         regex: do not depend on obsolete modules.
44126         * modules/regex: Remove memcmp and memmove.
44127
44128 2009-01-19  Bruno Haible  <bruno@clisp.org>
44129
44130         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
44131         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
44132         gl_BIGENDIAN, not AC_C_BIGENDIAN.
44133         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
44134         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
44135
44136 2009-01-19  Bruno Haible  <bruno@clisp.org>
44137
44138         * tests/test-link.c: Include <errno.h>.
44139         (main): Exit with code 77 when a hard link cannot be created due to
44140         the file system.
44141         * tests/test-link.sh: Skip test when a hard link cannot be created due
44142         to the file system.
44143         Suggested by Eric Blake.
44144
44145 2009-01-19  Martin Lambers  <marlam@marlam.de>
44146
44147         * modules/link-tests: New file.
44148         * tests/test-link.sh: New file.
44149         * tests/test-link.c: New file.
44150
44151 2009-01-19  Eric Blake  <ebb9@byu.net>
44152
44153         doc: mention another function added in cygwin 1.7.0
44154         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
44155         Another new function in cygwin 1.7.
44156
44157 2009-01-19  Bruno Haible  <bruno@clisp.org>
44158
44159         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
44160         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
44161         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
44162         gl_BIGENDIAN, not AC_C_BIGENDIAN.
44163         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
44164         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
44165         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
44166         * m4/md4.m4 (gl_MD4): Likewise.
44167         * m4/md5.m4 (gl_MD5): Likewise.
44168         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
44169         * m4/sha1.m4 (gl_SHA1): Likewise.
44170         * m4/sha256.m4 (gl_SHA256): Likewise.
44171         * m4/sha512.m4 (gl_SHA512): Likewise.
44172
44173 2009-01-19  Bruno Haible  <bruno@clisp.org>
44174
44175         * modules/uniname/uniname-tests (Depends-on): Add progname.
44176         * tests/uniname/test-uninames.c: Include progname.h.
44177         (main): Call set_program_name.
44178
44179         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
44180         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
44181         (main): Call set_program_name.
44182
44183         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
44184         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
44185         (main): Call set_program_name.
44186
44187         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
44188         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
44189         (main): Call set_program_name.
44190
44191         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
44192         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
44193         (main): Call set_program_name.
44194
44195         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
44196         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
44197         (main): Call set_program_name.
44198
44199         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
44200         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
44201         (main): Call set_program_name.
44202
44203         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
44204         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
44205         (main): Call set_program_name.
44206
44207         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
44208         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
44209         (main): Call set_program_name.
44210
44211 2009-01-19  Eric Blake  <ebb9@byu.net>
44212
44213         test-unistd: test previous patch
44214         * tests/test-unistd.c: Test *_FILENO macros.
44215
44216         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
44217         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
44218         Guarantee a definition.
44219         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
44220         * modules/unistd-safer (Depends-on): Add dependency on unistd.
44221         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
44222         * lib/dup-safer.c (STDERR_FILENO): Likewise.
44223         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
44224         Likewise.
44225         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
44226         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
44227         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
44228         Likewise.
44229         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
44230         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
44231         (STDERR_FILENO): Likewise.
44232         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
44233         (STDERR_FILENO): Likewise.
44234         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
44235         (STDERR_FILENO): Likewise.
44236         Reported by Elbert Pol.
44237
44238 2009-01-19  Eric Blake  <ebb9@byu.net>
44239
44240         doc: mention more functions added in cygwin 1.7.0
44241         * doc/posix-functions/abort.texi (abort): Update wording related
44242         to cygwin.
44243         * doc/posix-functions/daylight.texi (daylight): Likewise.
44244         * doc/posix-functions/optarg.texi (optarg): Likewise.
44245         * doc/posix-functions/optarg.texi (opterr): Likewise.
44246         * doc/posix-functions/optarg.texi (optind): Likewise.
44247         * doc/posix-functions/optarg.texi (optopt): Likewise.
44248         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
44249         worked in 1.5.x, and was withdrawn in 1.7.
44250         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
44251         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
44252         cygwin versions.
44253         * doc/posix-functions/perror.texi (perror): Likewise.
44254         * doc/posix-functions/printf.texi (printf): Likewise.
44255         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
44256         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
44257         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
44258         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
44259         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
44260         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
44261         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
44262         Likewise.
44263         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
44264         Likewise.
44265         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
44266         this function.
44267         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
44268         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
44269         Likewise.
44270         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
44271         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
44272         * doc/posix-functions/confstr.texi (confstr): Likewise.
44273         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
44274         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
44275         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
44276         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
44277         * doc/posix-functions/fputws.texi (fputws): Likewise.
44278         * doc/posix-functions/fwide.texi (fwide): Likewise.
44279         * doc/posix-functions/getwc.texi (getwc): Likewise.
44280         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
44281         * doc/posix-functions/putwc.texi (putwc): Likewise.
44282         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
44283         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
44284         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
44285         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
44286         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
44287         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
44288         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
44289         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
44290         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
44291         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
44292         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
44293
44294 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
44295
44296         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
44297         * lib/ioctl.c: Include <sys/ioctl.h>.
44298
44299 2009-01-19  Simon Josefsson  <simon@josefsson.org>
44300
44301         * modules/getdate-tests (Depends-on): Add progname.
44302         * tests/test-getdate.c: Use progname module, to avoid link errors
44303         on non-glibc systems.
44304
44305 2009-01-18  Simon Josefsson  <simon@josefsson.org>
44306
44307         * modules/filenamecat-tests (Depends-on): Add progname.
44308         * modules/fstrcmp-tests (Depends-on): Likewise.
44309
44310         * tests/test-filenamecat.c: Use progname module, to avoid link
44311         errors on non-glibc systems.
44312         * tests/test-fstrcmp.c: Likewise.
44313
44314 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
44315
44316         gettimeofday: avoid warning: nested extern declaration of 'localtime'
44317         * lib/gettimeofday.c: Move extern declaration out of function.
44318
44319 2009-01-18  Bruno Haible  <bruno@clisp.org>
44320
44321         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
44322         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
44323         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
44324
44325 2009-01-18  Bruno Haible  <bruno@clisp.org>
44326
44327         * lib/strftime.c (MEMPCPY): Remove unused macro.
44328         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
44329
44330 2009-01-18  Martin Lambers  <marlam@marlam.de>
44331
44332         New module 'link'.
44333         * lib/unistd.in.h (link): New declaration.
44334         * lib/link.c: New file.
44335         * m4/link.m4: New file.
44336         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
44337         HAVE_LINK.
44338         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
44339         * modules/link: New file.
44340         * doc/posix-functions/link.texi: Mention the new module.
44341
44342 2009-01-18  Bruno Haible  <bruno@clisp.org>
44343
44344         * tests/test-avltree_list.c (main): Call set_program_name.
44345         * tests/test-avltree_oset.c (main): Likewise.
44346         * tests/test-obstack-printf.c: Include progname.h.
44347         (main): Call set_program_name.
44348         * tests/test-quotearg.c: Include progname.h.
44349         (main): Call set_program_name.
44350         * tests/test-xmemdup0.c: Include progname.h.
44351         (main): Call set_program_name.
44352
44353 2009-01-18  Bruno Haible  <bruno@clisp.org>
44354
44355         New module 'alphasort'.
44356         * lib/dirent.in.h (alphasort): New declaration.
44357         * lib/alphasort.c: New file, from glibc with modifications.
44358         * m4/alphasort.m4: New file.
44359         * modules/alphasort: New file.
44360         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
44361         HAVE_ALPHASORT.
44362         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
44363         HAVE_ALPHASORT.
44364         * doc/posix-functions/alphasort.texi: Mention the new module and the
44365         portability problems.
44366
44367 2009-01-18  Bruno Haible  <bruno@clisp.org>
44368
44369         New module 'scandir'.
44370         * lib/dirent.in.h (scandir): New declaration.
44371         * lib/scandir.c: New file, from glibc with modifications.
44372         * m4/scandir.m4: New file.
44373         * modules/scandir: New file.
44374         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
44375         HAVE_SCANDIR.
44376         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
44377         HAVE_SCANDIR.
44378         * doc/posix-functions/scandir.texi: Mention the new module and the
44379         portability problems.
44380
44381 2009-01-17  Bruno Haible  <bruno@clisp.org>
44382
44383         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
44384         Update documentation.
44385         (func_remove_suffix): Escape all dots in the suffix. Update
44386         documentation.
44387         (func_filter_filelist): Update documentation.
44388         Reported by Ralf Wildenhues.
44389
44390 2009-01-17  Bruno Haible  <bruno@clisp.org>
44391
44392         * modules/dprintf-posix-tests: New file.
44393         * tests/test-dprintf-posix.sh: New file.
44394         * tests/test-dprintf-posix.c: New file.
44395
44396         New modules 'dprintf', 'dprintf-posix'.
44397         * lib/stdio.in.h (dprintf): New declaration.
44398         * lib/dprintf.c: New file.
44399         * m4/dprintf.m4: New file.
44400         * m4/dprintf-posix.m4: New file.
44401         * modules/dprintf: New file.
44402         * modules/dprintf-posix: New file.
44403         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
44404         HAVE_DPRINTF, REPLACE_DPRINTF.
44405         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
44406         HAVE_DPRINTF, REPLACE_DPRINTF.
44407         * doc/posix-functions/dprintf.texi: Mention the new modules.
44408
44409 2009-01-17  Bruno Haible  <bruno@clisp.org>
44410
44411         * modules/vdprintf-posix-tests: New file.
44412         * tests/test-vdprintf-posix.sh: New file.
44413         * tests/test-vdprintf-posix.c: New file.
44414
44415         New modules 'vdprintf', 'vdprintf-posix'.
44416         * lib/stdio.in.h (vdprintf): New declaration.
44417         * lib/vdprintf.c: New file.
44418         * m4/vdprintf.m4: New file.
44419         * m4/vdprintf-posix.m4: New file.
44420         * modules/vdprintf: New file.
44421         * modules/vdprintf-posix: New file.
44422         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
44423         HAVE_VDPRINTF, REPLACE_VDPRINTF.
44424         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
44425         HAVE_VDPRINTF, REPLACE_VDPRINTF.
44426         * doc/posix-functions/vdprintf.texi: Mention the new modules.
44427
44428 2009-01-17  Bruno Haible  <bruno@clisp.org>
44429
44430         Fix replacement of fopen on mingw.
44431         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
44432         mingw.
44433
44434 2009-01-17  Bruno Haible  <bruno@clisp.org>
44435
44436         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
44437         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
44438
44439 2009-01-17  Bruno Haible  <bruno@clisp.org>
44440
44441         Avoid test-fflush2.sh failure on mingw.
44442         * tests/test-fflush2.c: Include binary-io.h.
44443         (main): Put standard input into binary mode.
44444         * modules/fflush-tests (Depends-on): Add binary-io.
44445
44446 2009-01-17  Bruno Haible  <bruno@clisp.org>
44447
44448         * lib/wchar.in.h: In another particular situation, include only the
44449         system's <wchar.h> file.
44450         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
44451         Reported by Albert Chin-A-Young <china@thewrittenword.com>
44452         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
44453
44454 2009-01-17  Bruno Haible  <bruno@clisp.org>
44455
44456         Support for stripping executables in --enable-relocatable.
44457         * build-aux/install-reloc: Expect one more argument, or an environment
44458         variable RELOC_STRIP_PROG. If set, strip the destination program and
44459         its wrapper.
44460         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
44461         RELOC_STRIP_PROG.
44462         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
44463         to set RELOCATABLE_STRIP.
44464         * NEWS: Mention the new Makefile requirement.
44465
44466 2009-01-17  Bruno Haible  <bruno@clisp.org>
44467
44468         * build-aux/install-reloc: Remove debugging information left over by
44469         C compiler on MacOS X.
44470
44471 2009-01-17  Bruno Haible  <bruno@clisp.org>
44472
44473         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
44474         * lib/progreloc.c (find_executable): Fix type of pointer passed to
44475         _NSGetExecutablePath.
44476
44477 2009-01-16  Jim Meyering  <meyering@redhat.com>
44478
44479         strerror: avoid warnings about discarding "const"
44480         * lib/strerror.c (rpl_strerror): Instead of returning a const
44481         string from each and every "case", use a variable, and add a single
44482         cast after the switch.
44483
44484 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
44485
44486         * lib/arpa_inet.in.h: Add extern "C" block for C++.
44487
44488 2009-01-16  Bruno Haible  <bruno@clisp.org>
44489
44490         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
44491         array initializer syntax that also works in C++ mode.
44492         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44493
44494 2009-01-16  Jim Meyering  <meyering@redhat.com>
44495
44496         poll: suppress a warning
44497         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
44498         to ignore "...unsigned expression < 0 is always false" warnings.
44499
44500 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
44501
44502         poll: remove declarations of unused variables
44503         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
44504         sockbuf and optlen.
44505
44506 2009-01-15  Bruno Haible  <bruno@clisp.org>
44507
44508         Make fflush-after-ungetc POSIX compliant on BSD systems.
44509         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
44510         (clear_ungetc_buffer): Implement also for other systems.
44511         (rpl_fflush): On glibc systems, invoke
44512         clear_ungetc_buffer_preserving_position. Otherwise, invoke
44513         clear_ungetc_buffer after fetching the stream's position, not before.
44514
44515 2009-01-15  Bruno Haible  <bruno@clisp.org>
44516
44517         Make fflush-after-ungetc POSIX compliant on glibc systems.
44518         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
44519         after ungetc.
44520         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
44521         (rpl_fflush): On glibc systems, simply call the system's fflush
44522         function after clearing the ungetc buffer.
44523         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
44524         Instead, lseek only to the end of file, then use the system's fseeko
44525         for the rest. On glibc systems, reset the EOF indicator bit.
44526
44527 2009-01-15  Jim Meyering  <meyering@redhat.com>
44528
44529         openmp.m4: revert quote-adding change, for portability to older autoconf
44530         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
44531         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
44532         Simon Josefsson noticed the problem when using autoconf-2.61.
44533
44534 2009-01-15  Bruno Haible  <bruno@clisp.org>
44535
44536         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
44537         * tests/test-fflush2.c (ASSERT): Always fail.
44538         (main): Add two tests for fflush() after ungetc(), taking into account
44539         the Austin Group's clarification.
44540         Suggested by Eric Blake.
44541
44542 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
44543
44544         mktime.m4: remove K&R-style function prototypes
44545         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
44546         for the Sun C++ compiler.
44547
44548 2009-01-14  Bruno Haible  <bruno@clisp.org>
44549
44550         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
44551         while including <wchar.h>.
44552         * lib/wchar.in.h: In two particular situations on HP-UX, include only
44553         the system's <wchar.h> file.
44554         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44555
44556 2009-01-14  Bruno Haible  <bruno@clisp.org>
44557
44558         * m4/csharp.m4: Don't mention gettext on the serial number line.
44559         * m4/csharpexec.m4: Likewise.
44560         * m4/eaccess.m4: Likewise.
44561         * m4/javaexec.m4: Likewise.
44562         * m4/sig_atomic_t.m4: Likewise.
44563         * m4/tmpdir.m4: Likewise.
44564         * m4/intldir.m4: Bump gettext version.
44565         * m4/lib-ld.m4: Likewise.
44566
44567 2009-01-14  Bruno Haible  <bruno@clisp.org>
44568
44569         * lib/progname.c (set_program_name): Add more comments.
44570         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
44571
44572 2009-01-14  Simon Josefsson  <simon@josefsson.org>
44573
44574         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
44575         were sys/stat.h does not define it.
44576
44577 2009-01-14  Jim Meyering  <meyering@redhat.com>
44578
44579         many *.m4 files: improve m4 quoting
44580         99% of this change was performed by running the following commands:
44581         git ls-files | grep '\.m4$' | xargs perl -pi \
44582           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
44583           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
44584           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
44585           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
44586         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
44587         The remainder were to add Copyright dates, increment serial numbers,
44588         undo some changes in comments, exclude m4/intl.m4, and add quotes
44589         around the "1" in ",1" where the unusual spacing prohibited the
44590         above regexps from doing the job.  For more details, see
44591         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
44592         * m4/acl.m4: Modified.
44593         * m4/afs.m4: Likewise.
44594         * m4/alloca.m4: Likewise.
44595         * m4/argp.m4: Likewise.
44596         * m4/argz.m4: Likewise.
44597         * m4/atexit.m4: Likewise.
44598         * m4/bison-i18n.m4: Likewise.
44599         * m4/bison.m4: Likewise.
44600         * m4/byteswap.m4: Likewise.
44601         * m4/c-stack.m4: Likewise.
44602         * m4/c-strtod.m4: Likewise.
44603         * m4/calloc.m4: Likewise.
44604         * m4/canonicalize-lgpl.m4: Likewise.
44605         * m4/chown.m4: Likewise.
44606         * m4/clock_time.m4: Likewise.
44607         * m4/codeset.m4: Likewise.
44608         * m4/copy-file.m4: Likewise.
44609         * m4/csharp.m4: Likewise.
44610         * m4/csharpcomp.m4: Likewise.
44611         * m4/csharpexec.m4: Likewise.
44612         * m4/d-ino.m4: Likewise.
44613         * m4/d-type.m4: Likewise.
44614         * m4/dirfd.m4: Likewise.
44615         * m4/double-slash-root.m4: Likewise.
44616         * m4/eaccess.m4: Likewise.
44617         * m4/eealloc.m4: Likewise.
44618         * m4/environ.m4: Likewise.
44619         * m4/errno_h.m4: Likewise.
44620         * m4/euidaccess.m4: Likewise.
44621         * m4/execute.m4: Likewise.
44622         * m4/fatal-signal.m4: Likewise.
44623         * m4/fchdir.m4: Likewise.
44624         * m4/fcntl_h.m4: Likewise.
44625         * m4/fileblocks.m4: Likewise.
44626         * m4/filenamecat.m4: Likewise.
44627         * m4/findprog.m4: Likewise.
44628         * m4/flexmember.m4: Likewise.
44629         * m4/fnmatch.m4: Likewise.
44630         * m4/fopen.m4: Likewise.
44631         * m4/fpending.m4: Likewise.
44632         * m4/fprintf-posix.m4: Likewise.
44633         * m4/free.m4: Likewise.
44634         * m4/frexp.m4: Likewise.
44635         * m4/frexpl.m4: Likewise.
44636         * m4/fsusage.m4: Likewise.
44637         * m4/ftruncate.m4: Likewise.
44638         * m4/gc-camellia.m4: Likewise.
44639         * m4/gc-random.m4: Likewise.
44640         * m4/gc.m4: Likewise.
44641         * m4/getaddrinfo.m4: Likewise.
44642         * m4/getcwd-abort-bug.m4: Likewise.
44643         * m4/getcwd-path-max.m4: Likewise.
44644         * m4/getdate.m4: Likewise.
44645         * m4/getdomainname.m4: Likewise.
44646         * m4/getgroups.m4: Likewise.
44647         * m4/gethostname.m4: Likewise.
44648         * m4/gethrxtime.m4: Likewise.
44649         * m4/getline.m4: Likewise.
44650         * m4/getloadavg.m4: Likewise.
44651         * m4/getndelim2.m4: Likewise.
44652         * m4/getpass.m4: Likewise.
44653         * m4/gettext.m4: Likewise.
44654         * m4/gettime.m4: Likewise.
44655         * m4/gettimeofday.m4: Likewise.
44656         * m4/gnulib-common.m4: Likewise.
44657         * m4/group-member.m4: Likewise.
44658         * m4/host-os.m4: Likewise.
44659         * m4/iconv.m4: Likewise.
44660         * m4/iconv_open.m4: Likewise.
44661         * m4/inet_ntop.m4: Likewise.
44662         * m4/inet_pton.m4: Likewise.
44663         * m4/inline.m4: Likewise.
44664         * m4/intldir.m4: Likewise.
44665         * m4/intlmacosx.m4: Likewise.
44666         * m4/intmax.m4: Likewise.
44667         * m4/intmax_t.m4: Likewise.
44668         * m4/inttypes.m4: Likewise.
44669         * m4/inttypes_h.m4: Likewise.
44670         * m4/inttypes-pri.m4: Likewise.
44671         * m4/isapipe.m4: Likewise.
44672         * m4/isnand.m4: Likewise.
44673         * m4/isnanf.m4: Likewise.
44674         * m4/isnanl.m4: Likewise.
44675         * m4/javacomp.m4: Likewise.
44676         * m4/javaexec.m4: Likewise.
44677         * m4/jm-winsz1.m4: Likewise.
44678         * m4/jm-winsz2.m4: Likewise.
44679         * m4/lchown.m4: Likewise.
44680         * m4/lcmessage.m4: Likewise.
44681         * m4/ldexpl.m4: Likewise.
44682         * m4/lib-ld.m4: Likewise.
44683         * m4/lib-link.m4: Likewise.
44684         * m4/libsigsegv.m4: Likewise.
44685         * m4/link-follow.m4: Likewise.
44686         * m4/localcharset.m4: Likewise.
44687         * m4/locale-fr.m4: Likewise.
44688         * m4/locale-ja.m4: Likewise.
44689         * m4/locale-tr.m4: Likewise.
44690         * m4/locale-zh.m4: Likewise.
44691         * m4/lock.m4: Likewise.
44692         * m4/longlong.m4: Likewise.
44693         * m4/ls-mntd-fs.m4: Likewise.
44694         * m4/lstat.m4: Likewise.
44695         * m4/malloc.m4: Likewise.
44696         * m4/mathl.m4: Likewise.
44697         * m4/mbrtowc.m4: Likewise.
44698         * m4/mbstate_t.m4: Likewise.
44699         * m4/mbswidth.m4: Likewise.
44700         * m4/memchr.m4: Likewise.
44701         * m4/memcmp.m4: Likewise.
44702         * m4/memcpy.m4: Likewise.
44703         * m4/memmem.m4: Likewise.
44704         * m4/memmove.m4: Likewise.
44705         * m4/mempcpy.m4: Likewise.
44706         * m4/memrchr.m4: Likewise.
44707         * m4/memset.m4: Likewise.
44708         * m4/minmax.m4: Likewise.
44709         * m4/mkdir-slash.m4: Likewise.
44710         * m4/mkdtemp.m4: Likewise.
44711         * m4/mktime.m4: Likewise.
44712         * m4/mmap-anon.m4: Likewise.
44713         * m4/mountlist.m4: Likewise.
44714         * m4/nanosleep.m4: Likewise.
44715         * m4/nls.m4: Likewise.
44716         * m4/nocrash.m4: Likewise.
44717         * m4/open.m4: Likewise.
44718         * m4/openat.m4: Likewise.
44719         * m4/openmp.m4: Likewise.
44720         * m4/pathmax.m4: Likewise.
44721         * m4/perl.m4: Likewise.
44722         * m4/physmem.m4: Likewise.
44723         * m4/pipe.m4: Likewise.
44724         * m4/po.m4: Likewise.
44725         * m4/poll.m4: Likewise.
44726         * m4/posixtm.m4: Likewise.
44727         * m4/posixver.m4: Likewise.
44728         * m4/printf-frexp.m4: Likewise.
44729         * m4/printf-frexpl.m4: Likewise.
44730         * m4/printf-posix.m4: Likewise.
44731         * m4/printf-posix-rpl.m4: Likewise.
44732         * m4/printf.m4: Likewise.
44733         * m4/progtest.m4: Likewise.
44734         * m4/putenv.m4: Likewise.
44735         * m4/readline.m4: Likewise.
44736         * m4/readlink.m4: Likewise.
44737         * m4/readutmp.m4: Likewise.
44738         * m4/realloc.m4: Likewise.
44739         * m4/regex.m4: Likewise.
44740         * m4/relocatable.m4: Likewise.
44741         * m4/relocatable-lib.m4: Likewise.
44742         * m4/rename-dest-slash.m4: Likewise.
44743         * m4/rename.m4: Likewise.
44744         * m4/rmdir-errno.m4: Likewise.
44745         * m4/rmdir.m4: Likewise.
44746         * m4/roundf.m4: Likewise.
44747         * m4/roundl.m4: Likewise.
44748         * m4/rpmatch.m4: Likewise.
44749         * m4/save-cwd.m4: Likewise.
44750         * m4/selinux-selinux-h.m4: Likewise.
44751         * m4/setenv.m4: Likewise.
44752         * m4/settime.m4: Likewise.
44753         * m4/sig2str.m4: Likewise.
44754         * m4/sig_atomic_t.m4: Likewise.
44755         * m4/signalblocking.m4: Likewise.
44756         * m4/signbit.m4: Likewise.
44757         * m4/sigpipe.m4: Likewise.
44758         * m4/sockets.m4: Likewise.
44759         * m4/sockpfaf.m4: Likewise.
44760         * m4/st_dm_mode.m4: Likewise.
44761         * m4/stat-time.m4: Likewise.
44762         * m4/stdbool.m4: Likewise.
44763         * m4/stdint.m4: Likewise.
44764         * m4/stdint_h.m4: Likewise.
44765         * m4/stpcpy.m4: Likewise.
44766         * m4/stpncpy.m4: Likewise.
44767         * m4/strcase.m4: Likewise.
44768         * m4/strchrnul.m4: Likewise.
44769         * m4/strcspn.m4: Likewise.
44770         * m4/strdup.m4: Likewise.
44771         * m4/strftime.m4: Likewise.
44772         * m4/strndup.m4: Likewise.
44773         * m4/strnlen.m4: Likewise.
44774         * m4/strpbrk.m4: Likewise.
44775         * m4/strptime.m4: Likewise.
44776         * m4/strsep.m4: Likewise.
44777         * m4/strtod.m4: Likewise.
44778         * m4/strtoimax.m4: Likewise.
44779         * m4/strtok_r.m4: Likewise.
44780         * m4/strtol.m4: Likewise.
44781         * m4/strtoll.m4: Likewise.
44782         * m4/strtoul.m4: Likewise.
44783         * m4/strtoull.m4: Likewise.
44784         * m4/strtoumax.m4: Likewise.
44785         * m4/strverscmp.m4: Likewise.
44786         * m4/threadlib.m4: Likewise.
44787         * m4/timegm.m4: Likewise.
44788         * m4/tm_gmtoff.m4: Likewise.
44789         * m4/tmpdir.m4: Likewise.
44790         * m4/tmpfile.m4: Likewise.
44791         * m4/tzset.m4: Likewise.
44792         * m4/uintmax_t.m4: Likewise.
44793         * m4/unlinkdir.m4: Likewise.
44794         * m4/unlocked-io.m4: Likewise.
44795         * m4/uptime.m4: Likewise.
44796         * m4/userspec.m4: Likewise.
44797         * m4/utimbuf.m4: Likewise.
44798         * m4/utime.m4: Likewise.
44799         * m4/utimes-null.m4: Likewise.
44800         * m4/utimes.m4: Likewise.
44801         * m4/vararrays.m4: Likewise.
44802         * m4/vasnprintf.m4: Likewise.
44803         * m4/vfprintf-posix.m4: Likewise.
44804         * m4/vprintf-posix.m4: Likewise.
44805         * m4/wait-process.m4: Likewise.
44806         * m4/wchar_t.m4: Likewise.
44807         * m4/wint_t.m4: Likewise.
44808         * m4/write-any-file.m4: Likewise.
44809         * m4/yield.m4: Likewise.
44810
44811 2009-01-13  Bruno Haible  <bruno@clisp.org>
44812
44813         Avoid test-copy-file.sh failures when ACL support insufficient.
44814         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
44815         TESTS_ENVIRONMENT.
44816         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
44817         Reported by Jim Meyering.
44818
44819 2009-01-13  Bruno Haible  <bruno@clisp.org>
44820
44821         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
44822         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
44823         * modules/unistdio/u8-printf-parse (Files): Likewise.
44824         * modules/unistdio/u32-printf-parse (Files): Likewise.
44825         * modules/unistdio/ulc-printf-parse (Files): Likewise.
44826
44827 2009-01-13  Simon Josefsson  <simon@josefsson.org>
44828
44829         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
44830         and m4/inttypes_h.m4 too.
44831
44832 2009-01-12  Eric Blake  <ebb9@byu.net>
44833
44834         tests: IRIX 6.2 cc can't compile -0.0 into .data
44835         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
44836         rather than at compile-time.
44837         * tests/test-floorl.c (minus_zero): Likewise.
44838         * tests/test-frexpl.c (minus_zero): Likewise.
44839         * tests/test-isnan.c (minus_zerol): Likewise.
44840         * tests/test-isnanl.h (minus_zero): Likewise.
44841         * tests/test-ldexpl.c (minus_zero): Likewise.
44842         * tests/test-roundl.c (minus_zero): Likewise.
44843         * tests/test-signbit.c (minus_zerol): Likewise.
44844         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
44845         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
44846         * tests/test-truncl.c (minus_zero): Likewise.
44847         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
44848         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
44849         Reported by Tom G. Christensen and Nelson H. F. Beebe.
44850
44851 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
44852
44853         regex: fix glibc bug 9697
44854         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
44855         handling.
44856
44857 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
44858
44859         regex: fix glibc bug 697
44860         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
44861         being NULL also if there are no backreferences.
44862
44863 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
44864
44865         regex: merge glibc changes
44866         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
44867         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
44868         re_string_skip_chars, re_string_reconstruct): Likewise.
44869         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
44870
44871 2009-01-07  Jim Meyering  <meyering@redhat.com>
44872
44873         poll: filter through cppi
44874         * lib/poll.c: Indent cpp directives to reflect nesting.
44875
44876 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
44877
44878         poll: don't return uninitialized
44879         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
44880
44881 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
44882
44883         avoid compile failure on AIX 6.1
44884         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
44885         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
44886
44887 2009-01-04  Jim Meyering  <meyering@redhat.com>
44888
44889         remove duplicate inclusion of <stdio.h>
44890         * tests/test-fprintf-posix.c: Likewise.
44891         * tests/test-printf-posix.c: Likewise.
44892         * tests/test-snprintf-posix.c: Likewise.
44893         * tests/test-sprintf-posix.c: Likewise.
44894         * tests/test-vasprintf-posix.c: Likewise.
44895         * tests/test-vfprintf-posix.c: Likewise.
44896         * tests/test-vprintf-posix.c: Likewise.
44897         * tests/test-vsnprintf-posix.c: Likewise.
44898         * tests/test-vsprintf-posix.c: Likewise.
44899
44900 2009-01-03  Jim Meyering  <meyering@redhat.com>
44901
44902         gnulib-tool: fix sed-based filtering
44903         * gnulib-tool (func_filter_filelist): Remove extra backslash
44904         in sed_fff_filter definition.
44905
44906 2009-01-02  Jim Meyering  <meyering@redhat.com>
44907
44908         strftime: avoid compilation failure on Solaris 2.6
44909         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
44910         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
44911         Don't #define mbrlen or mbsinit, since now they're guaranteed to
44912         be available.  Reported by Tom G. Christensen.  Details in
44913         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
44914
44915 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44916             Bruno Haible  <bruno@clisp.org>
44917
44918         Speed up gnulib-tool by doing more string processing through shell
44919         built-ins.
44920         * gnulib-tool (fast_func_append): New variable.
44921         (func_remove_prefix, func_remove_suffix): New functions.
44922         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
44923         (func_filter_filelist): New function.
44924         (func_get_dependencies): Use func_remove_suffix instead of sed.
44925         (func_get_automake_snippet): Use func_filter_filelist instead of a
44926         subshell and sed invocation.
44927
44928 2009-01-01  Bruno Haible  <bruno@clisp.org>
44929
44930         Fix a security bug.
44931         * gnulib-tool (func_import, import, update): Don't allow the characters
44932         '"', '$', '`', '\' in macro arguments that become part of commands that
44933         are evaluated.
44934
44935 2009-01-01  Bruno Haible  <bruno@clisp.org>
44936
44937         * gnulib-tool (func_reset_sigpipe): Add more comments.
44938
44939 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44940
44941         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
44942         func_emit_tests_Makefile_am, func_import): Abort loops early if we
44943         already know the answer.
44944
44945 2009-01-01  Jim Meyering  <meyering@redhat.com>
44946
44947         * lib/version-etc.c (version_etc_va): Update copyright year.
44948
44949 2008-12-30  Bruno Haible  <bruno@clisp.org>
44950
44951         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
44952         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
44953         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
44954
44955 2008-12-29  Eric Blake  <ebb9@byu.net>
44956
44957         multiarch: avoid autoconf AC_REQUIRE bug
44958         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
44959         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
44960         2.63 and older.
44961         Reported by Bruno Haible, and analyzed in
44962         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
44963
44964 2008-12-29  Bruno Haible  <bruno@clisp.org>
44965
44966         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
44967         files in subdirectories correctly.
44968         Reported by Ralf Wildenhues.
44969
44970 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44971
44972         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
44973         rather than 'join FILE -', for Solaris join.
44974
44975 2008-12-29  Bruno Haible  <bruno@clisp.org>
44976
44977         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
44978         quoting.
44979         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
44980         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
44981         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
44982         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
44983         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
44984         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
44985         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
44986         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
44987         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
44988         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
44989         * m4/nls.m4 (AM_NLS): Likewise.
44990         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
44991         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
44992         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
44993         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
44994         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
44995         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
44996         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
44997         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
44998         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
44999         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
45000         * m4/xsize.m4 (gl_XSIZE): Likewise.
45001         Suggested by Jim Meyering.
45002
45003 2008-11-17  Bruce Korb  <bkorb@gnu.org>
45004
45005         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
45006         * lib/parse-duration.c: use a switch instead of cascading if's.
45007
45008 2008-12-29  Eric Blake  <ebb9@byu.net>
45009
45010         wchar.h: supply WEOF on Irix 5.3
45011         * lib/wchar.in.h (wint_t): Also supply WEOF.
45012         * lib/wctype.in.h (wint_t): Likewise.
45013         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
45014         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
45015         Reported by Tom G. Christensen.
45016
45017 2008-12-26  Bruno Haible  <bruno@clisp.org>
45018
45019         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
45020         i486, i586, i686.
45021
45022 2008-12-26  Bruno Haible  <bruno@clisp.org>
45023
45024         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
45025
45026 2008-12-26  Bruno Haible  <bruno@clisp.org>
45027
45028         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
45029         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
45030         not __STDC_CONSTANT_MACROS.
45031         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
45032
45033 2008-12-25  Bruno Haible  <bruno@clisp.org>
45034
45035         Add support for universal builds to vasnprintf.
45036         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
45037         universal builds, guess no.
45038         * modules/vasnprintf-posix (Depends-on): Add multiarch.
45039         * modules/vasprintf-posix (Depends-on): Likewise.
45040         * modules/fprintf-posix (Depends-on): Likewise.
45041         * modules/vfprintf-posix (Depends-on): Likewise.
45042         * modules/snprintf-posix (Depends-on): Likewise.
45043         * modules/vsnprintf-posix (Depends-on): Likewise.
45044         * modules/sprintf-posix (Depends-on): Likewise.
45045         * modules/vsprintf-posix (Depends-on): Likewise.
45046         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
45047         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
45048         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
45049         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
45050         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
45051         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
45052         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
45053
45054         Add support for universal builds to <inttypes.h>.
45055         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
45056         _SCNu64_PREFIX): In Apple
45057         universal builds, define directly, using _LP64.
45058         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
45059         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
45060         * modules/inttypes (Depends-on): Add multiarch.
45061         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
45062
45063         Add support for universal builds to <stdint.h>.
45064         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
45065         universal builds, define directly, using _LP64.
45066         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
45067         Apple universal builds, don't test for the size and suffix of ptrdiff_t
45068         and size_t.
45069         * modules/stdint (Depends-on): Add multiarch.
45070         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
45071
45072         New module 'multiarch'.
45073         * modules/multiarch: New file.
45074         * m4/multiarch.m4: New file.
45075
45076 2008-12-25  Bruno Haible  <bruno@clisp.org>
45077
45078         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
45079
45080 2008-12-25  Bruno Haible  <bruno@clisp.org>
45081
45082         * modules/btowc (License): Relicense under LGPLv2+.
45083         * modules/mbsinit (License): Likewise.
45084         * modules/mbrtowc (License): Likewise.
45085         * modules/wcrtomb (License): Likewise.
45086         * modules/streq (License): Likewise.
45087         Reported by David Lutterkort <lutter@redhat.com>.
45088
45089 2008-12-23  Bruno Haible  <bruno@clisp.org>
45090
45091         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
45092
45093 2008-12-23  Bruno Haible  <bruno@clisp.org>
45094
45095         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
45096         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
45097         GETADDRINFO_LIB, not in LIBS.
45098         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
45099         * modules/canon-host (Link): Likewise.
45100         * NEWS: Mention the change.
45101         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
45102         GETADDRINFO_LIB.
45103
45104 2008-12-22  Bruno Haible  <bruno@clisp.org>
45105
45106         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
45107         * doc/posix-functions/iswalpha_l.texi: Likewise.
45108         * doc/posix-functions/iswblank_l.texi: Likewise.
45109         * doc/posix-functions/iswcntrl_l.texi: Likewise.
45110         * doc/posix-functions/iswctype_l.texi: Likewise.
45111         * doc/posix-functions/iswdigit_l.texi: Likewise.
45112         * doc/posix-functions/iswgraph_l.texi: Likewise.
45113         * doc/posix-functions/iswlower_l.texi: Likewise.
45114         * doc/posix-functions/iswprint_l.texi: Likewise.
45115         * doc/posix-functions/iswpunct_l.texi: Likewise.
45116         * doc/posix-functions/iswspace_l.texi: Likewise.
45117         * doc/posix-functions/iswupper_l.texi: Likewise.
45118         * doc/posix-functions/iswxdigit_l.texi: Likewise.
45119         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
45120         * doc/posix-functions/open_wmemstream.texi: Likewise.
45121         * doc/posix-functions/swscanf.texi: Likewise.
45122         * doc/posix-functions/towctrans_l.texi: Likewise.
45123         * doc/posix-functions/towlower.texi: Likewise.
45124         * doc/posix-functions/towlower_l.texi: Likewise.
45125         * doc/posix-functions/towupper.texi: Likewise.
45126         * doc/posix-functions/towupper_l.texi: Likewise.
45127         * doc/posix-functions/vfwprintf.texi: Likewise.
45128         * doc/posix-functions/vfwscanf.texi: Likewise.
45129         * doc/posix-functions/vswscanf.texi: Likewise.
45130         * doc/posix-functions/vwprintf.texi: Likewise.
45131         * doc/posix-functions/vwscanf.texi: Likewise.
45132         * doc/posix-functions/wcpcpy.texi: Likewise.
45133         * doc/posix-functions/wcpncpy.texi: Likewise.
45134         * doc/posix-functions/wcscasecmp.texi: Likewise.
45135         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
45136         * doc/posix-functions/wcscoll_l.texi: Likewise.
45137         * doc/posix-functions/wcsdup.texi: Likewise.
45138         * doc/posix-functions/wcsncasecmp.texi: Likewise.
45139         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
45140         * doc/posix-functions/wcsnlen.texi: Likewise.
45141         * doc/posix-functions/wcsnrtombs.texi: Likewise.
45142         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
45143         * doc/posix-functions/wctrans_l.texi: Likewise.
45144         * doc/posix-functions/wctype_l.texi: Likewise.
45145         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
45146         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
45147         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
45148         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
45149         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
45150         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
45151         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
45152         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
45153         * doc/glibc-functions/wcschrnul.texi: Likewise.
45154         * doc/glibc-functions/wcsftime_l.texi: Likewise.
45155         * doc/glibc-functions/wcstod_l.texi: Likewise.
45156         * doc/glibc-functions/wcstof_l.texi: Likewise.
45157         * doc/glibc-functions/wcstol_l.texi: Likewise.
45158         * doc/glibc-functions/wcstold_l.texi: Likewise.
45159         * doc/glibc-functions/wcstoll_l.texi: Likewise.
45160         * doc/glibc-functions/wcstoq.texi: Likewise.
45161         * doc/glibc-functions/wcstoul_l.texi: Likewise.
45162         * doc/glibc-functions/wcstoull_l.texi: Likewise.
45163         * doc/glibc-functions/wcstouq.texi: Likewise.
45164         * doc/glibc-functions/wmempcpy.texi: Likewise.
45165
45166 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
45167             Eric Blake  <ebb9@byu.net>
45168             Paolo Bonzini  <bonzini@gnu.org>
45169             Bruno Haible  <bruno@clisp.org>
45170
45171         Make c-stack work on Haiku.
45172         * lib/c-stack.c (SA_ONSTACK): Define fallback.
45173         (c_stack_action): Use SA_ONSTACK flag.
45174
45175 2008-12-22  Bruno Haible  <bruno@clisp.org>
45176
45177         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
45178
45179 2008-12-22  Bruno Haible  <bruno@clisp.org>
45180
45181         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
45182         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
45183         being overridden.
45184         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
45185         New macros.
45186         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
45187         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
45188         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
45189         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
45190
45191 2008-12-22  Bruno Haible  <bruno@clisp.org>
45192
45193         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
45194         from test code.
45195
45196 2008-12-22  Eric Blake  <ebb9@byu.net>
45197
45198         Avoid gcc warnings on cygwin.
45199         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
45200         Avoid unused variable.
45201         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
45202         Likewise.
45203
45204 2008-12-22  Bruno Haible  <bruno@clisp.org>
45205
45206         Remove HAVE_MBRTOWC conditionals.
45207         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
45208         (mbscasecmp): Assume mbrtowc function.
45209         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
45210         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
45211         * lib/mbschr.c: Include mbuiter.h unconditionally.
45212         (mbschr): Assume mbrtowc function.
45213         * lib/mbscspn.c: Include mbuiter.h unconditionally.
45214         (mbscspn): Assume mbrtowc function.
45215         * lib/mbslen.c: Include mbuiter.h unconditionally.
45216         (mbslen): Assume mbrtowc function.
45217         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
45218         (mbsncasecmp): Assume mbrtowc function.
45219         * lib/mbsnlen.c: Include mbiter.h unconditionally.
45220         (mbsnlen): Assume mbrtowc function.
45221         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
45222         (mbspbrk): Assume mbrtowc function.
45223         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
45224         (mbspcasecmp): Assume mbrtowc function.
45225         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
45226         (mbsrchr): Assume mbrtowc function.
45227         * lib/mbssep.c: Include mbuiter.h unconditionally.
45228         (mbssep): Assume mbrtowc function.
45229         * lib/mbsspn.c: Include mbuiter.h unconditionally.
45230         (mbsspn): Assume mbrtowc function.
45231         * lib/mbsstr.c: Include mbuiter.h unconditionally.
45232         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
45233         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
45234         (mbstok_r): Assume mbrtowc function.
45235         * lib/propername.c: Include mbuiter.h unconditionally.
45236         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
45237         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
45238         (trim2): Assume mbrtowc function.
45239         * lib/mbswidth.c (mbsinit): Remove fallback definition.
45240         (mbsnwidth): Assume mbrtowc function.
45241         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
45242         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
45243         fallback definitions.
45244         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
45245
45246 2008-12-22  Bruno Haible  <bruno@clisp.org>
45247
45248         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
45249
45250 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
45251
45252         * modules/regex: Request emulations for the mb*/wc* functions we need.
45253         * m4/regex.m4: Don't look for those functions here.
45254         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
45255
45256 2008-12-22  Bruno Haible  <bruno@clisp.org>
45257
45258         * modules/fnmatch (Depends-on): Remove duplicated dependency.
45259
45260 2008-12-21  Bruno Haible  <bruno@clisp.org>
45261
45262         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
45263         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
45264         (Include): Remove conditionalization.
45265         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
45266         (Include): Remove conditionalization.
45267         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
45268         (Include): Remove conditionalization.
45269         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
45270         * m4/mbfile.m4 (gl_MBFILE): Likewise.
45271         * NEWS: Mention the change.
45272         Reported by Alan Hourihane <alanh@fairlite.co.uk>
45273         via Sergey Poznyakoff <gray@gnu.org.ua>.
45274
45275 2008-12-21  Bruno Haible  <bruno@clisp.org>
45276
45277         * MODULES.html.sh (Extended multibyte and wide character utilities
45278         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
45279         wcrtomb, wcsrtombs.
45280         (Support for systems lacking POSIX:2008): Add accept, bind, close,
45281         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
45282         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
45283         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
45284
45285 2008-12-21  Bruno Haible  <bruno@clisp.org>
45286
45287         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
45288
45289 2008-12-21  Bruno Haible  <bruno@clisp.org>
45290
45291         * modules/wcsnrtombs-tests: New file.
45292         * tests/test-wcsnrtombs1.sh: New file.
45293         * tests/test-wcsnrtombs2.sh: New file.
45294         * tests/test-wcsnrtombs3.sh: New file.
45295         * tests/test-wcsnrtombs4.sh: New file.
45296         * tests/test-wcsnrtombs.c: New file.
45297
45298         New module 'wcsnrtombs'.
45299         * lib/wchar.in.h (wcsnrtombs): New declaration.
45300         * lib/wcsnrtombs.c: New file.
45301         * lib/wcsrtombs-state.c: New file.
45302         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
45303         (internal_state): Remove variable.
45304         * m4/wcsnrtombs.m4: New file.
45305         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
45306         compilation units.
45307         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
45308         HAVE_WCSNRTOMBS.
45309         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
45310         HAVE_WCSNRTOMBS.
45311         * modules/wcsnrtombs: New file.
45312         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
45313         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
45314
45315 2008-12-21  Bruno Haible  <bruno@clisp.org>
45316
45317         * modules/wcsrtombs-tests: New file.
45318         * tests/test-wcsrtombs1.sh: New file.
45319         * tests/test-wcsrtombs2.sh: New file.
45320         * tests/test-wcsrtombs3.sh: New file.
45321         * tests/test-wcsrtombs4.sh: New file.
45322         * tests/test-wcsrtombs.c: New file.
45323
45324         New module 'wcsrtombs'.
45325         * lib/wchar.in.h (wcsrtombs): New declaration.
45326         * lib/wcsrtombs.c: New file.
45327         * m4/wcsrtombs.m4: New file.
45328         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
45329         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
45330         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
45331         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
45332         * modules/wcsrtombs: New file.
45333         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
45334         bugs.
45335
45336 2008-12-21  Bruno Haible  <bruno@clisp.org>
45337
45338         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
45339         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
45340         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
45341         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
45342         if not correct.
45343         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
45344         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
45345         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
45346         m4/locale-zh.m4, m4/codeset.m4.
45347         * doc/posix-functions/wcrtomb.texi: Document the bug.
45348
45349 2008-12-21  Bruno Haible  <bruno@clisp.org>
45350
45351         Work around a btowc() bug on IRIX 6.5.
45352         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
45353         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
45354         REPLACE_WTOBC if not.
45355         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
45356         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
45357         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
45358
45359 2008-12-21  Bruno Haible  <bruno@clisp.org>
45360
45361         * modules/wcrtomb-tests: New file.
45362         * tests/test-wcrtomb.sh: New file.
45363         * tests/test-wcrtomb.c: New file.
45364
45365         New module 'wcrtomb'.
45366         * lib/wchar.in.h (wcrtomb): New declaration.
45367         * lib/wcrtomb.c: New file.
45368         * m4/wcrtomb.m4: New file.
45369         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
45370         HAVE_WCRTOMB.
45371         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
45372         HAVE_WCRTOMB.
45373         * modules/wcrtomb: New file.
45374         * doc/posix-functions/wcrtomb.texi: Mention the new module.
45375
45376 2008-12-21  Bruno Haible  <bruno@clisp.org>
45377
45378         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
45379         * modules/mbsrtowcs (Files): Likewise.
45380         * modules/wctob (Files): Likewise.
45381         * modules/c-strcase-tests (Files): Likewise.
45382         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
45383         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
45384         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
45385         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
45386         * modules/vasnprintf-posix-tests (Files): Likewise.
45387
45388 2008-12-21  William Pursell  <bill.pursell@gmail.com>
45389
45390         gitlog-to-changelog: pass all command-line arguments to git-log
45391         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
45392         it is sometimes convenient to filter the commits in various ways.
45393         gitlog-to-changelog only allows --since to specify a start date,
45394         but git-log itself supports many other filtering mechanisms.
45395         At the moment, I want to filter by branch name.  Rather than
45396         adding a --branch option to gitlog-to-changelog, it seems more
45397         flexible to simply pass all options directly to git-log and let
45398         git do the work.  Notice that this effectively makes --since a
45399         redundant option for gitlog-to-changelog, but removing it would
45400         require current usage to change since calls would then require
45401         an additional '--'.
45402
45403 2008-12-21  Bruno Haible  <bruno@clisp.org>
45404
45405         * modules/mbsnrtowcs-tests: New file.
45406         * tests/test-mbsnrtowcs1.sh: New file.
45407         * tests/test-mbsnrtowcs2.sh: New file.
45408         * tests/test-mbsnrtowcs3.sh: New file.
45409         * tests/test-mbsnrtowcs4.sh: New file.
45410         * tests/test-mbsnrtowcs.c: New file.
45411
45412         New module 'mbsnrtowcs'.
45413         * lib/wchar.in.h (mbsnrtowcs): New declaration.
45414         * lib/mbsnrtowcs.c: New file.
45415         * lib/mbsrtowcs-state.c: New file.
45416         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
45417         (internal_state): Remove variable.
45418         * m4/mbsnrtowcs.m4: New file.
45419         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
45420         compilation units.
45421         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
45422         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
45423         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
45424         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
45425         * modules/mbsnrtowcs: New file.
45426         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
45427         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
45428         portability problem.
45429
45430 2008-12-21  Bruno Haible  <bruno@clisp.org>
45431
45432         Work around mbsrtowcs bug.
45433         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
45434         (gl_FUNC_MBSRTOWCS): Invoke it.
45435         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
45436         m4/locale-zh.m4.
45437         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
45438
45439 2008-12-21  Bruno Haible  <bruno@clisp.org>
45440
45441         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
45442
45443 2008-12-21  Bruno Haible  <bruno@clisp.org>
45444
45445         Update doc for AIX.
45446         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
45447         16-bit wchar_t type.
45448         * doc/posix-functions/btowc.texi: Likewise.
45449         * doc/posix-functions/fgetwc.texi: Likewise.
45450         * doc/posix-functions/fgetws.texi: Likewise.
45451         * doc/posix-functions/fputwc.texi: Likewise.
45452         * doc/posix-functions/fputws.texi: Likewise.
45453         * doc/posix-functions/fwide.texi: Likewise.
45454         * doc/posix-functions/fwprintf.texi: Likewise.
45455         * doc/posix-functions/fwscanf.texi: Likewise.
45456         * doc/posix-functions/getwchar.texi: Likewise.
45457         * doc/posix-functions/getwc.texi: Likewise.
45458         * doc/posix-functions/iswalnum.texi: Likewise.
45459         * doc/posix-functions/iswalpha.texi: Likewise.
45460         * doc/posix-functions/iswblank.texi: Likewise.
45461         * doc/posix-functions/iswcntrl.texi: Likewise.
45462         * doc/posix-functions/iswctype.texi: Likewise.
45463         * doc/posix-functions/iswdigit.texi: Likewise.
45464         * doc/posix-functions/iswgraph.texi: Likewise.
45465         * doc/posix-functions/iswlower.texi: Likewise.
45466         * doc/posix-functions/iswprint.texi: Likewise.
45467         * doc/posix-functions/iswpunct.texi: Likewise.
45468         * doc/posix-functions/iswspace.texi: Likewise.
45469         * doc/posix-functions/iswupper.texi: Likewise.
45470         * doc/posix-functions/iswxdigit.texi: Likewise.
45471         * doc/posix-functions/mbrtowc.texi: Likewise.
45472         * doc/posix-functions/mbsrtowcs.texi: Likewise.
45473         * doc/posix-functions/mbstowcs.texi: Likewise.
45474         * doc/posix-functions/mbtowc.texi: Likewise.
45475         * doc/posix-functions/putwchar.texi: Likewise.
45476         * doc/posix-functions/putwc.texi: Likewise.
45477         * doc/posix-functions/swprintf.texi: Likewise.
45478         * doc/posix-functions/tolower.texi: Likewise.
45479         * doc/posix-functions/toupper.texi: Likewise.
45480         * doc/posix-functions/towctrans.texi: Likewise.
45481         * doc/posix-functions/ungetwc.texi: Likewise.
45482         * doc/posix-functions/vswprintf.texi: Likewise.
45483         * doc/posix-functions/wcrtomb.texi: Likewise.
45484         * doc/posix-functions/wcscat.texi: Likewise.
45485         * doc/posix-functions/wcschr.texi: Likewise.
45486         * doc/posix-functions/wcscmp.texi: Likewise.
45487         * doc/posix-functions/wcscoll.texi: Likewise.
45488         * doc/posix-functions/wcscpy.texi: Likewise.
45489         * doc/posix-functions/wcscspn.texi: Likewise.
45490         * doc/posix-functions/wcsftime.texi: Likewise.
45491         * doc/posix-functions/wcslen.texi: Likewise.
45492         * doc/posix-functions/wcsncat.texi: Likewise.
45493         * doc/posix-functions/wcsncmp.texi: Likewise.
45494         * doc/posix-functions/wcsncpy.texi: Likewise.
45495         * doc/posix-functions/wcspbrk.texi: Likewise.
45496         * doc/posix-functions/wcsrchr.texi: Likewise.
45497         * doc/posix-functions/wcsrtombs.texi: Likewise.
45498         * doc/posix-functions/wcsspn.texi: Likewise.
45499         * doc/posix-functions/wcsstr.texi: Likewise.
45500         * doc/posix-functions/wcstod.texi: Likewise.
45501         * doc/posix-functions/wcstof.texi: Likewise.
45502         * doc/posix-functions/wcstoimax.texi: Likewise.
45503         * doc/posix-functions/wcstok.texi: Likewise.
45504         * doc/posix-functions/wcstold.texi: Likewise.
45505         * doc/posix-functions/wcstoll.texi: Likewise.
45506         * doc/posix-functions/wcstol.texi: Likewise.
45507         * doc/posix-functions/wcstombs.texi: Likewise.
45508         * doc/posix-functions/wcstoull.texi: Likewise.
45509         * doc/posix-functions/wcstoul.texi: Likewise.
45510         * doc/posix-functions/wcstoumax.texi: Likewise.
45511         * doc/posix-functions/wcswidth.texi: Likewise.
45512         * doc/posix-functions/wcsxfrm.texi: Likewise.
45513         * doc/posix-functions/wctob.texi: Likewise.
45514         * doc/posix-functions/wctomb.texi: Likewise.
45515         * doc/posix-functions/wctrans.texi: Likewise.
45516         * doc/posix-functions/wctype.texi: Likewise.
45517         * doc/posix-functions/wcwidth.texi: Likewise.
45518         * doc/posix-functions/wmemchr.texi: Likewise.
45519         * doc/posix-functions/wmemcmp.texi: Likewise.
45520         * doc/posix-functions/wmemcpy.texi: Likewise.
45521         * doc/posix-functions/wmemmove.texi: Likewise.
45522         * doc/posix-functions/wmemset.texi: Likewise.
45523         * doc/posix-functions/wprintf.texi: Likewise.
45524         * doc/posix-functions/wscanf.texi: Likewise.
45525
45526 2008-12-21  Bruno Haible  <bruno@clisp.org>
45527
45528         Update doc for HP-UX 11.11.
45529         * doc/posix-functions/btowc.texi: Clarify that the function is missing
45530         in HP-UX version 11.00, not in all versions of HP-UX 11.
45531         * doc/posix-functions/fwide.texi: Likewise.
45532         * doc/posix-functions/fwprintf.texi: Likewise.
45533         * doc/posix-functions/fwscanf.texi: Likewise.
45534         * doc/posix-functions/inet_ntop.texi: Likewise.
45535         * doc/posix-functions/inet_pton.texi: Likewise.
45536         * doc/posix-functions/mbrlen.texi: Likewise.
45537         * doc/posix-functions/mbrtowc.texi: Likewise.
45538         * doc/posix-functions/mbsinit.texi: Likewise.
45539         * doc/posix-functions/mbsrtowcs.texi: Likewise.
45540         * doc/posix-functions/swprintf.texi: Likewise.
45541         * doc/posix-functions/swscanf.texi: Likewise.
45542         * doc/posix-functions/towctrans.texi: Likewise.
45543         * doc/posix-functions/vfwprintf.texi: Likewise.
45544         * doc/posix-functions/vswprintf.texi: Likewise.
45545         * doc/posix-functions/vwprintf.texi: Likewise.
45546         * doc/posix-functions/wcrtomb.texi: Likewise.
45547         * doc/posix-functions/wcsrtombs.texi: Likewise.
45548         * doc/posix-functions/wcsstr.texi: Likewise.
45549         * doc/posix-functions/wctob.texi: Likewise.
45550         * doc/posix-functions/wctrans.texi: Likewise.
45551         * doc/posix-functions/wmemchr.texi: Likewise.
45552         * doc/posix-functions/wmemcmp.texi: Likewise.
45553         * doc/posix-functions/wmemcpy.texi: Likewise.
45554         * doc/posix-functions/wmemmove.texi: Likewise.
45555         * doc/posix-functions/wmemset.texi: Likewise.
45556         * doc/posix-functions/wprintf.texi: Likewise.
45557         * doc/posix-functions/wscanf.texi: Likewise.
45558
45559 2008-12-21  Bruno Haible  <bruno@clisp.org>
45560
45561         Work around a portability problem.
45562         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
45563         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
45564
45565 2008-12-20  Bruno Haible  <bruno@clisp.org>
45566
45567         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
45568         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
45569         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
45570         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
45571         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
45572
45573         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
45574         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
45575         set.
45576         (GNULIB_defined_mbstate_t): New macro.
45577         (mbsinit): Redefine if REPLACE_MBSINIT is set.
45578         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
45579         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
45580         reuses the system's mbrtowc function but works around the bugs.
45581         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
45582         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
45583         macros.
45584         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
45585         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
45586         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
45587         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
45588         REPLACE_MBSINIT if mbsinit needs to be overridden.
45589         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
45590         REPLACE_MBSINIT, REPLACE_MBRTOWC.
45591         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
45592         REPLACE_MBSINIT, REPLACE_MBRTOWC.
45593         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
45594         m4/locale-zh.m4.
45595         (Depends): Add mbsinit.
45596         * modules/mbsinit (Depends): Add mbrtowc.
45597         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
45598
45599 2008-12-20  Bruno Haible  <bruno@clisp.org>
45600
45601         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
45602         so that there are no conversion errors on AIX.
45603         * tests/test-mbsrtowcs.c (main): LIkewise.
45604
45605 2008-12-20  Bruno Haible  <bruno@clisp.org>
45606
45607         Work around wctob bug on Solaris <= 9.
45608         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
45609         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
45610         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
45611         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
45612         * modules/wctob (Files): Add m4/locale-fr.m4.
45613         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
45614
45615 2008-12-20  Bruno Haible  <bruno@clisp.org>
45616
45617         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
45618         /dev/null.
45619         * tests/test-select-in.sh: Likewise.
45620         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45621
45622 2008-12-20  Bruno Haible  <bruno@clisp.org>
45623
45624         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
45625         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
45626         Cygwin 1.5.x.
45627
45628 2008-12-20  Bruno Haible  <bruno@clisp.org>
45629
45630         Ensure mbstate_t is defined on HP-UX 11.11.
45631         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
45632         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
45633         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
45634         AC_USE_SYSTEM_EXTENSIONS.
45635         * modules/fnmatch (Depends-on): Add extensions.
45636         * modules/mbrlen (Depends-on): Likewise.
45637         * modules/mbrtowc (Depends-on): Likewise.
45638         * modules/mbsinit (Depends-on): Likewise.
45639         * modules/mbsrtowcs (Depends-on): Likewise.
45640         * modules/mbswidth (Depends-on): Likewise.
45641         * modules/quotearg (Depends-on): Likewise.
45642         * modules/strftime (Depends-on): Likewise.
45643
45644 2008-12-20  Bruno Haible  <bruno@clisp.org>
45645
45646         Ensure wctob is declared on IRIX 6.5.
45647         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
45648         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
45649         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
45650         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
45651         of HAVE_WCTOB.
45652         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
45653         HAVE_WCTOB.
45654         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
45655
45656 2008-12-19  Bruno Haible  <bruno@clisp.org>
45657
45658         * modules/mbsrtowcs-tests: New file.
45659         * tests/test-mbsrtowcs1.sh: New file.
45660         * tests/test-mbsrtowcs2.sh: New file.
45661         * tests/test-mbsrtowcs3.sh: New file.
45662         * tests/test-mbsrtowcs4.sh: New file.
45663         * tests/test-mbsrtowcs.c: New file.
45664
45665         New module 'mbsrtowcs'.
45666         * lib/wchar.in.h (mbsrtowcs): New declaration.
45667         * lib/mbsrtowcs.c: New file.
45668         * m4/mbsrtowcs.m4: New file.
45669         * modules/mbsrtowcs: New file.
45670         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
45671         HAVE_MBSRTOWCS.
45672         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
45673         HAVE_MBSRTOWCS.
45674         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
45675
45676 2008-12-19  Bruno Haible  <bruno@clisp.org>
45677
45678         New module 'mbrlen'.
45679         * lib/wchar.in.h (mbrlen): New declaration.
45680         * lib/mbrlen.c: New file.
45681         * m4/mbrlen.m4: New file.
45682         * modules/mbrlen: New file.
45683         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
45684         HAVE_MBRLEN.
45685         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
45686         HAVE_MBRLEN.
45687         * doc/posix-functions/mbrlen.texi: Document the new module.
45688
45689 2008-12-19  Bruno Haible  <bruno@clisp.org>
45690
45691         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
45692         * modules/mbrtowc (Depends-on): Add verify.
45693         Suggested by Paul Eggert.
45694
45695 2008-12-18  Bruno Haible  <bruno@clisp.org>
45696
45697         * modules/mbsinit-tests: New file.
45698         * tests/test-mbsinit.sh: New file.
45699         * tests/test-mbsinit.c: New file.
45700
45701 2008-12-18  Bruno Haible  <bruno@clisp.org>
45702
45703         * modules/mbrtowc-tests: New file.
45704         * tests/test-mbrtowc1.sh: New file.
45705         * tests/test-mbrtowc2.sh: New file.
45706         * tests/test-mbrtowc3.sh: New file.
45707         * tests/test-mbrtowc4.sh: New file.
45708         * tests/test-mbrtowc.c: New file.
45709
45710         New module 'mbrtowc'.
45711         * lib/wchar.in.h (mbstate_t): Override when the system does not have
45712         mbsinit and mbrtowc.
45713         (mbrtowc): New declaration.
45714         * lib/mbrtowc.c: New file.
45715         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
45716         * modules/mbrtowc: New file.
45717         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
45718         HAVE_MBRTOWC.
45719         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
45720         HAVE_MBRTOWC.
45721         * doc/posix-functions/mbrtowc.texi: Document the new module.
45722
45723 2008-12-18  Bruno Haible  <bruno@clisp.org>
45724
45725         New module 'wctob'.
45726         * lib/wchar.in.h (wctob): New declaration.
45727         * lib/wctob.c: New file.
45728         * m4/wctob.m4: New file.
45729         * modules/wctob: New file.
45730         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
45731         HAVE_WCTOB.
45732         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
45733         * doc/posix-functions/wctob.texi: Document the new module.
45734
45735 2008-12-18  Bruno Haible  <bruno@clisp.org>
45736
45737         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
45738         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
45739
45740 2008-12-18  Simon Josefsson  <simon@josefsson.org>
45741
45742         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
45743         G. Christensen" <tgc@jupiterrise.com>.
45744
45745         * lib/flock.c: Need to include errno.h.  Reported by "Tom
45746         G. Christensen" <tgc@jupiterrise.com>.
45747
45748         * lib/flock.c: Need to include string.h.  Reported by "Tom
45749         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
45750         <ebb9@byu.net>.
45751
45752 2008-12-18  Bruno Haible  <bruno@clisp.org>
45753
45754         * m4/locale-ja.m4: New file, from GNU gettext.
45755
45756 2008-12-17  Bruno Haible  <bruno@clisp.org>
45757
45758         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
45759         Suggested by Eric Blake.
45760
45761 2008-12-17  Bruno Haible  <bruno@clisp.org>
45762
45763         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
45764
45765 2008-12-17  Bruno Haible  <bruno@clisp.org>
45766
45767         * lib/mbsinit.c: Include verify.h. Verify an assumption.
45768         * modules/mbsinit (Depends-on): Add verify.
45769         Suggested by Paul Eggert.
45770
45771 2008-12-17  Bruno Haible  <bruno@clisp.org>
45772
45773         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
45774         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
45775         gl_FUNC_MBRTOWC.
45776         * m4/mbiter.m4 (gl_MBITER): LIkewise.
45777         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
45778         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
45779         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
45780         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
45781         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
45782         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
45783         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
45784         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
45785         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
45786         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
45787         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
45788         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
45789         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
45790         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
45791         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
45792         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
45793         * modules/trim (configure.ac): Likewise.
45794
45795 2008-12-17  Bruno Haible  <bruno@clisp.org>
45796
45797         * modules/btowc-tests: New file.
45798         * tests/test-btowc1.sh: New file.
45799         * tests/test-btowc2.sh: New file.
45800         * tests/test-btowc.c: New file.
45801
45802         New module 'btowc'.
45803         * lib/wchar.in.h (btowc): New declaration.
45804         * lib/btowc.c: New file.
45805         * m4/btowc.m4: New file.
45806         * modules/btowc: New file.
45807         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
45808         HAVE_BTOWC.
45809         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
45810         * doc/posix-functions/btowc.texi: Document the new module.
45811
45812 2008-12-17  Bruno Haible  <bruno@clisp.org>
45813
45814         New module 'mbsinit'.
45815         * lib/wchar.in.h (mbsinit): New declaration.
45816         * lib/mbsinit.c: New file.
45817         * m4/mbsinit.m4: New file.
45818         * modules/mbsinit: New file.
45819         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
45820         HAVE_MBSINIT.
45821         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
45822         HAVE_MBSINIT.
45823         * doc/posix-functions/mbsinit.texi: Document the new module.
45824
45825 2008-12-16  Bruno Haible  <bruno@clisp.org>
45826
45827         * lib/unistd.in.h: Add comment.
45828         * tests/test-environ.c: Don't include <stdlib.h>.
45829
45830 2008-12-16  Bruno Haible  <bruno@clisp.org>
45831
45832         * lib/parse-duration.h (parse_duration): Document return value
45833         convention.
45834         * lib/parse-duration.c: Include specification header first. Add
45835         comments.
45836         (_): Remove macro.
45837         (parse_year_month_day, parse_hour_minute_second): Move side effects
45838         outside of strchr call.
45839         (parse_non_iso8601): Move side effects outside of isspace call.
45840         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
45841         call.
45842
45843 2008-12-16  Bruno Haible  <bruno@clisp.org>
45844
45845         * tests/test-parse-duration.sh: Produce no output when the test
45846         succeeds.
45847
45848 2008-12-16  Bruno Haible  <bruno@clisp.org>
45849
45850         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
45851         expressions.
45852
45853 2008-12-15  Bruno Haible  <bruno@clisp.org>
45854
45855         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
45856         * doc/glibc-functions/flistxattr.texi: Likewise.
45857         * doc/glibc-functions/fopencookie.texi: Likewise.
45858         * doc/glibc-functions/fremovexattr.texi: Likewise.
45859         * doc/glibc-functions/fsetxattr.texi: Likewise.
45860         * doc/glibc-functions/getxattr.texi: Likewise.
45861         * doc/glibc-functions/lgetxattr.texi: Likewise.
45862         * doc/glibc-functions/listxattr.texi: Likewise.
45863         * doc/glibc-functions/llistxattr.texi: Likewise.
45864         * doc/glibc-functions/lremovexattr.texi: Likewise.
45865         * doc/glibc-functions/lsetxattr.texi: Likewise.
45866         * doc/glibc-functions/removexattr.texi: Likewise.
45867         * doc/glibc-functions/setxattr.texi: Likewise.
45868         * doc/posix-functions/open_memstream.texi: Likewise.
45869
45870 2008-12-15  Eric Blake  <ebb9@byu.net>
45871
45872         Update doc for cygwin 1.7.
45873         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
45874         functions.
45875         * doc/posix-functions/fchmodat.texi: Likewise.
45876         * doc/posix-functions/fchownat.texi: Likewise.
45877         * doc/posix-functions/fdopendir.texi: Likewise.
45878         * doc/posix-functions/fmemopen.texi: Likewise.
45879         * doc/posix-functions/freeaddrinfo.texi: Likewise.
45880         * doc/posix-functions/fstatat.texi: Likewise.
45881         * doc/posix-functions/futimens.texi: Likewise.
45882         * doc/posix-functions/gai_strerror.texi: Likewise.
45883         * doc/posix-functions/getaddrinfo.texi: Likewise.
45884         * doc/posix-functions/getnameinfo.texi: Likewise.
45885         * doc/posix-functions/if_freenameindex.texi: Likewise.
45886         * doc/posix-functions/if_indextoname.texi: Likewise.
45887         * doc/posix-functions/if_nameindex.texi: Likewise.
45888         * doc/posix-functions/if_nametoindex.texi: Likewise.
45889         * doc/posix-functions/insque.texi: Likewise.
45890         * doc/posix-functions/linkat.texi: Likewise.
45891         * doc/posix-functions/llrint.texi: Likewise.
45892         * doc/posix-functions/llrintf.texi: Likewise.
45893         * doc/posix-functions/llrintl.texi: Likewise.
45894         * doc/posix-functions/lockf.texi: Likewise.
45895         * doc/posix-functions/lrintl.texi: Likewise.
45896         * doc/posix-functions/mkdirat.texi: Likewise.
45897         * doc/posix-functions/mkfifoat.texi: Likewise.
45898         * doc/posix-functions/mknodat.texi: Likewise.
45899         * doc/posix-functions/mq_close.texi: Likewise.
45900         * doc/posix-functions/mq_getattr.texi: Likewise.
45901         * doc/posix-functions/mq_notify.texi: Likewise.
45902         * doc/posix-functions/mq_open.texi: Likewise.
45903         * doc/posix-functions/mq_receive.texi: Likewise.
45904         * doc/posix-functions/mq_send.texi: Likewise.
45905         * doc/posix-functions/mq_setattr.texi: Likewise.
45906         * doc/posix-functions/mq_timedreceive.texi: Likewise.
45907         * doc/posix-functions/mq_timedsend.texi: Likewise.
45908         * doc/posix-functions/mq_unlink.texi: Likewise.
45909         * doc/posix-functions/open_memstream.texi: Likewise.
45910         * doc/posix-functions/openat.texi: Likewise.
45911         * doc/posix-functions/posix_fadvise.texi: Likewise.
45912         * doc/posix-functions/posix_fallocate.texi: Likewise.
45913         * doc/posix-functions/posix_madvise.texi: Likewise.
45914         * doc/posix-functions/posix_memalign.texi: Likewise.
45915         * doc/posix-functions/posix_openpt.texi: Likewise.
45916         * doc/posix-functions/readlinkat.texi: Likewise.
45917         * doc/posix-functions/remque.texi: Likewise.
45918         * doc/posix-functions/renameat.texi: Likewise.
45919         * doc/posix-functions/rintl.texi: Likewise.
45920         * doc/posix-functions/sem_unlink.texi: Likewise.
45921         * doc/posix-functions/shm_open.texi: Likewise.
45922         * doc/posix-functions/shm_unlink.texi: Likewise.
45923         * doc/posix-functions/signgam.texi: Likewise.
45924         * doc/posix-functions/sigset.texi: Likewise.
45925         * doc/posix-functions/stpcpy.texi: Likewise.
45926         * doc/posix-functions/stpncpy.texi: Likewise.
45927         * doc/posix-functions/strerror.texi: Likewise.
45928         * doc/posix-functions/strtod.texi: Likewise.
45929         * doc/posix-functions/symlinkat.texi: Likewise.
45930         * doc/posix-functions/unlinkat.texi: Likewise.
45931         * doc/posix-functions/utimensat.texi: Likewise.
45932         * doc/glibc-functions/bindresvport.texi: Likewise.
45933         * doc/glibc-functions/dn_expand.texi: Likewise.
45934         * doc/glibc-functions/exp10.texi: Likewise.
45935         * doc/glibc-functions/exp10f.texi: Likewise.
45936         * doc/glibc-functions/fgetxattr.texi: Likewise.
45937         * doc/glibc-functions/flistxattr.texi: Likewise.
45938         * doc/glibc-functions/fopencookie.texi: Likewise.
45939         * doc/glibc-functions/freeifaddrs.texi: Likewise.
45940         * doc/glibc-functions/fremovexattr.texi: Likewise.
45941         * doc/glibc-functions/fsetxattr.texi: Likewise.
45942         * doc/glibc-functions/getifaddrs.texi: Likewise.
45943         * doc/glibc-functions/getxattr.texi: Likewise.
45944         * doc/glibc-functions/lgetxattr.texi: Likewise.
45945         * doc/glibc-functions/listxattr.texi: Likewise.
45946         * doc/glibc-functions/llistxattr.texi: Likewise.
45947         * doc/glibc-functions/lremovexattr.texi: Likewise.
45948         * doc/glibc-functions/lsetxattr.texi: Likewise.
45949         * doc/glibc-functions/pow10.texi: Likewise.
45950         * doc/glibc-functions/pow10f.texi: Likewise.
45951         * doc/glibc-functions/rcmd_af.texi: Likewise.
45952         * doc/glibc-functions/removexattr.texi: Likewise.
45953         * doc/glibc-functions/res_init.texi: Likewise.
45954         * doc/glibc-functions/res_mkquery.texi: Likewise.
45955         * doc/glibc-functions/res_query.texi: Likewise.
45956         * doc/glibc-functions/res_querydomain.texi: Likewise.
45957         * doc/glibc-functions/res_send.texi: Likewise.
45958         * doc/glibc-functions/rresvport_af.texi: Likewise.
45959         * doc/glibc-functions/setxattr.texi: Likewise.
45960         * doc/glibc-functions/strcasestr.texi: Likewise.
45961
45962 2008-12-15  Bruno Haible  <bruno@clisp.org>
45963
45964         Fix compilation error on OSF/1 4.0.
45965         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
45966         <sys/time.h>, simply delegate to the system header.
45967         Reported by Daniel Richard G. <oss@teragram.com>.
45968
45969 2008-12-15  Bruno Haible  <bruno@clisp.org>
45970
45971         * doc/posix-functions/openat.texi: Mention the 'openat' module.
45972         * doc/posix-functions/fchmodat.texi: Likewise.
45973         * doc/posix-functions/fchownat.texi: Likewise.
45974         * doc/posix-functions/fdopendir.texi: Likewise.
45975         * doc/posix-functions/fstatat.texi: Likewise.
45976         * doc/posix-functions/mkdirat.texi: Likewise.
45977         * doc/posix-functions/unlinkat.texi: Likewise.
45978
45979 2008-12-14  Bruno Haible  <bruno@clisp.org>
45980
45981         Update doc for POSIX:2008.
45982         * doc/posix-functions/faccessat.texi: New file.
45983         * doc/posix-functions/fchmodat.texi: New file.
45984         * doc/posix-functions/fchownat.texi: New file.
45985         * doc/posix-functions/fdopendir.texi: New file.
45986         * doc/posix-functions/fstatat.texi: New file.
45987         * doc/posix-functions/futimens.texi: New file.
45988         * doc/posix-functions/linkat.texi: New file.
45989         * doc/posix-functions/mkdirat.texi: New file.
45990         * doc/posix-functions/mkfifoat.texi: New file.
45991         * doc/posix-functions/mknodat.texi: New file.
45992         * doc/posix-functions/open_wmemstream.texi: New file.
45993         * doc/posix-functions/openat.texi: New file.
45994         * doc/posix-functions/psiginfo.texi: New file.
45995         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
45996         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
45997         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
45998         * doc/posix-functions/readlinkat.texi: New file.
45999         * doc/posix-functions/renameat.texi: New file.
46000         * doc/posix-functions/strerror_l.texi: New file.
46001         * doc/posix-functions/symlinkat.texi: New file.
46002         * doc/posix-functions/unlinkat.texi: New file.
46003         * doc/posix-functions/utimensat.texi: New file.
46004         * doc/gnulib.texi (Function Substitutes): Add these subsections.
46005
46006 2008-12-14  Bruno Haible  <bruno@clisp.org>
46007
46008         Update doc for POSIX:2008.
46009         * doc/posix-functions/alphasort.texi: Renamed from
46010         doc/glibc-functions/alphasort.texi.
46011         * doc/posix-functions/dirfd.texi: Renamed from
46012         doc/glibc-functions/dirfd.texi.
46013         * doc/posix-functions/dprintf.texi: Renamed from
46014         doc/glibc-functions/dprintf.texi.
46015         * doc/posix-functions/duplocale.texi: Renamed from
46016         doc/glibc-functions/duplocale.texi.
46017         * doc/posix-functions/fexecve.texi: Renamed from
46018         doc/glibc-functions/fexecve.texi.
46019         * doc/posix-functions/fmemopen.texi: Renamed from
46020         doc/glibc-functions/fmemopen.texi.
46021         * doc/posix-functions/freelocale.texi: Renamed from
46022         doc/glibc-functions/freelocale.texi.
46023         * doc/posix-functions/getdate_err.texi: Renamed from
46024         doc/glibc-functions/getdate_err.texi.
46025         * doc/posix-functions/isalnum_l.texi: Renamed from
46026         doc/glibc-functions/isalnum_l.texi.
46027         * doc/posix-functions/isalpha_l.texi: Renamed from
46028         doc/glibc-functions/isalpha_l.texi.
46029         * doc/posix-functions/isblank_l.texi: Renamed from
46030         doc/glibc-functions/isblank_l.texi.
46031         * doc/posix-functions/iscntrl_l.texi: Renamed from
46032         doc/glibc-functions/iscntrl_l.texi.
46033         * doc/posix-functions/isdigit_l.texi: Renamed from
46034         doc/glibc-functions/isdigit_l.texi.
46035         * doc/posix-functions/isgraph_l.texi: Renamed from
46036         doc/glibc-functions/isgraph_l.texi.
46037         * doc/posix-functions/islower_l.texi: Renamed from
46038         doc/glibc-functions/islower_l.texi.
46039         * doc/posix-functions/isprint_l.texi: Renamed from
46040         doc/glibc-functions/isprint_l.texi.
46041         * doc/posix-functions/ispunct_l.texi: Renamed from
46042         doc/glibc-functions/ispunct_l.texi.
46043         * doc/posix-functions/isspace_l.texi: Renamed from
46044         doc/glibc-functions/isspace_l.texi.
46045         * doc/posix-functions/isupper_l.texi: Renamed from
46046         doc/glibc-functions/isupper_l.texi.
46047         * doc/posix-functions/iswalnum_l.texi: Renamed from
46048         doc/glibc-functions/iswalnum_l.texi.
46049         * doc/posix-functions/iswalpha_l.texi: Renamed from
46050         doc/glibc-functions/iswalpha_l.texi.
46051         * doc/posix-functions/iswblank_l.texi: Renamed from
46052         doc/glibc-functions/iswblank_l.texi.
46053         * doc/posix-functions/iswcntrl_l.texi: Renamed from
46054         doc/glibc-functions/iswcntrl_l.texi.
46055         * doc/posix-functions/iswctype_l.texi: Renamed from
46056         doc/glibc-functions/iswctype_l.texi.
46057         * doc/posix-functions/iswdigit_l.texi: Renamed from
46058         doc/glibc-functions/iswdigit_l.texi.
46059         * doc/posix-functions/iswgraph_l.texi: Renamed from
46060         doc/glibc-functions/iswgraph_l.texi.
46061         * doc/posix-functions/iswlower_l.texi: Renamed from
46062         doc/glibc-functions/iswlower_l.texi.
46063         * doc/posix-functions/iswprint_l.texi: Renamed from
46064         doc/glibc-functions/iswprint_l.texi.
46065         * doc/posix-functions/iswpunct_l.texi: Renamed from
46066         doc/glibc-functions/iswpunct_l.texi.
46067         * doc/posix-functions/iswspace_l.texi: Renamed from
46068         doc/glibc-functions/iswspace_l.texi.
46069         * doc/posix-functions/iswupper_l.texi: Renamed from
46070         doc/glibc-functions/iswupper_l.texi.
46071         * doc/posix-functions/iswxdigit_l.texi: Renamed from
46072         doc/glibc-functions/iswxdigit_l.texi.
46073         * doc/posix-functions/isxdigit_l.texi: Renamed from
46074         doc/glibc-functions/isxdigit_l.texi.
46075         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
46076         doc/glibc-functions/mbsnrtowcs.texi.
46077         * doc/posix-functions/mkdtemp.texi: Renamed from
46078         doc/glibc-functions/mkdtemp.texi.
46079         * doc/posix-functions/newlocale.texi: Renamed from
46080         doc/glibc-functions/newlocale.texi.
46081         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
46082         doc/glibc-functions/nl_langinfo_l.texi.
46083         * doc/posix-functions/open_memstream.texi: Renamed from
46084         doc/glibc-functions/open_memstream.texi.
46085         * doc/posix-functions/opterr.texi: Renamed from
46086         doc/glibc-functions/opterr.texi.
46087         * doc/posix-functions/optind.texi: Renamed from
46088         doc/glibc-functions/optind.texi.
46089         * doc/posix-functions/optopt.texi: Renamed from
46090         doc/glibc-functions/optopt.texi.
46091         * doc/posix-functions/psignal.texi: Renamed from
46092         doc/glibc-functions/psignal.texi.
46093         * doc/posix-functions/scandir.texi: Renamed from
46094         doc/glibc-functions/scandir.texi.
46095         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
46096         doc/glibc-functions/sched_get_priority_min.texi.
46097         * doc/posix-functions/signgam.texi: Renamed from
46098         doc/glibc-functions/signgam.texi.
46099         * doc/posix-functions/stpcpy.texi: Renamed from
46100         doc/glibc-functions/stpcpy.texi.
46101         * doc/posix-functions/stpncpy.texi: Renamed from
46102         doc/glibc-functions/stpncpy.texi.
46103         * doc/posix-functions/strcasecmp_l.texi: Renamed from
46104         doc/glibc-functions/strcasecmp_l.texi.
46105         * doc/posix-functions/strcoll_l.texi: Renamed from
46106         doc/glibc-functions/strcoll_l.texi.
46107         * doc/posix-functions/strfmon_l.texi: Renamed from
46108         doc/glibc-functions/strfmon_l.texi.
46109         * doc/posix-functions/strftime_l.texi: Renamed from
46110         doc/glibc-functions/strftime_l.texi.
46111         * doc/posix-functions/strncasecmp_l.texi: Renamed from
46112         doc/glibc-functions/strncasecmp_l.texi.
46113         * doc/posix-functions/strndup.texi: Renamed from
46114         doc/glibc-functions/strndup.texi.
46115         * doc/posix-functions/strnlen.texi: Renamed from
46116         doc/glibc-functions/strnlen.texi.
46117         * doc/posix-functions/strsignal.texi: Renamed from
46118         doc/glibc-functions/strsignal.texi.
46119         * doc/posix-functions/strxfrm_l.texi: Renamed from
46120         doc/glibc-functions/strxfrm_l.texi.
46121         * doc/posix-functions/timer_gettime.texi: Renamed from
46122         doc/glibc-functions/timer_gettime.texi.
46123         * doc/posix-functions/tolower_l.texi: Renamed from
46124         doc/glibc-functions/tolower_l.texi.
46125         * doc/posix-functions/toupper_l.texi: Renamed from
46126         doc/glibc-functions/toupper_l.texi.
46127         * doc/posix-functions/towctrans_l.texi: Renamed from
46128         doc/glibc-functions/towctrans_l.texi.
46129         * doc/posix-functions/towlower_l.texi: Renamed from
46130         doc/glibc-functions/towlower_l.texi.
46131         * doc/posix-functions/towupper_l.texi: Renamed from
46132         doc/glibc-functions/towupper_l.texi.
46133         * doc/posix-functions/uselocale.texi: Renamed from
46134         doc/glibc-functions/uselocale.texi.
46135         * doc/posix-functions/vdprintf.texi: Renamed from
46136         doc/glibc-functions/vdprintf.texi.
46137         * doc/posix-functions/wcpcpy.texi:
46138         Renamed from doc/glibc-functions/wcpcpy.texi.
46139         * doc/posix-functions/wcpncpy.texi: Renamed from
46140         doc/glibc-functions/wcpncpy.texi.
46141         * doc/posix-functions/wcscasecmp.texi: Renamed from
46142         doc/glibc-functions/wcscasecmp.texi.
46143         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
46144         doc/glibc-functions/wcscasecmp_l.texi.
46145         * doc/posix-functions/wcscoll_l.texi: Renamed from
46146         doc/glibc-functions/wcscoll_l.texi.
46147         * doc/posix-functions/wcsdup.texi: Renamed from
46148         doc/glibc-functions/wcsdup.texi.
46149         * doc/posix-functions/wcsncasecmp.texi: Renamed from
46150         doc/glibc-functions/wcsncasecmp.texi.
46151         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
46152         doc/glibc-functions/wcsncasecmp_l.texi.
46153         * doc/posix-functions/wcsnlen.texi: Renamed from
46154         doc/glibc-functions/wcsnlen.texi.
46155         * doc/posix-functions/wcsnrtombs.texi: Renamed from
46156         doc/glibc-functions/wcsnrtombs.texi.
46157         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
46158         doc/glibc-functions/wcsxfrm_l.texi.
46159         * doc/posix-functions/wctrans_l.texi: Renamed from
46160         doc/glibc-functions/wctrans_l.texi.
46161         * doc/posix-functions/wctype_l.texi: Renamed from
46162         doc/glibc-functions/wctype_l.texi.
46163         * doc/gnulib.texi (Function Substitutes): Add these subsections.
46164         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
46165         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
46166         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
46167         these subsections.
46168         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
46169         Remove sections.
46170
46171 2008-12-14  Bruno Haible  <bruno@clisp.org>
46172
46173         Update doc for POSIX:2008.
46174         * doc/posix-functions/*.texi: Update URL of POSIX specification.
46175
46176 2008-12-14  Bruno Haible  <bruno@clisp.org>
46177
46178         Update doc for POSIX:2008.
46179         * doc/pastposix-functions/bcmp.texi: Renamed from
46180         doc/posix-functions/bcmp.texi.
46181         * doc/pastposix-functions/bcopy.texi: Renamed from
46182         doc/posix-functions/bcopy.texi.
46183         * doc/pastposix-functions/bsd_signal.texi: Renamed from
46184         doc/posix-functions/bsd_signal.texi.
46185         * doc/pastposix-functions/bzero.texi: Renamed from
46186         doc/posix-functions/bzero.texi.
46187         * doc/pastposix-functions/ecvt.texi: Renamed from
46188         doc/posix-functions/ecvt.texi.
46189         * doc/pastposix-functions/fcvt.texi: Renamed from
46190         doc/posix-functions/fcvt.texi.
46191         * doc/pastposix-functions/ftime.texi: Renamed from
46192         doc/posix-functions/ftime.texi.
46193         * doc/pastposix-functions/gcvt.texi: Renamed from
46194         doc/posix-functions/gcvt.texi.
46195         * doc/pastposix-functions/getcontext.texi: Renamed from
46196         doc/posix-functions/getcontext.texi.
46197         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
46198         doc/posix-functions/gethostbyaddr.texi.
46199         * doc/pastposix-functions/gethostbyname.texi: Renamed from
46200         doc/posix-functions/gethostbyname.texi.
46201         * doc/pastposix-functions/getwd.texi: Renamed from
46202         doc/posix-functions/getwd.texi.
46203         * doc/pastposix-functions/h_errno.texi: Renamed from
46204         doc/posix-functions/h_errno.texi.
46205         * doc/pastposix-functions/index.texi: Renamed from
46206         doc/posix-functions/index.texi.
46207         * doc/pastposix-functions/makecontext.texi: Renamed from
46208         doc/posix-functions/makecontext.texi.
46209         * doc/pastposix-functions/mktemp.texi: Renamed from
46210         doc/posix-functions/mktemp.texi.
46211         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
46212         doc/posix-functions/pthread_attr_getstackaddr.texi.
46213         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
46214         doc/posix-functions/pthread_attr_setstackaddr.texi.
46215         * doc/pastposix-functions/rindex.texi: Renamed from
46216         doc/posix-functions/rindex.texi.
46217         * doc/pastposix-functions/scalb.texi: Renamed from
46218         doc/posix-functions/scalb.texi.
46219         * doc/pastposix-functions/setcontext.texi: Renamed from
46220         doc/posix-functions/setcontext.texi.
46221         * doc/pastposix-functions/swapcontext.texi: Renamed from
46222         doc/posix-functions/swapcontext.texi.
46223         * doc/pastposix-functions/ualarm.texi: Renamed from
46224         doc/posix-functions/ualarm.texi.
46225         * doc/pastposix-functions/usleep.texi: Renamed from
46226         doc/posix-functions/usleep.texi.
46227         * doc/pastposix-functions/vfork.texi: Renamed from
46228         doc/posix-functions/vfork.texi.
46229         * doc/pastposix-functions/wcswcs.texi: Renamed from
46230         doc/posix-functions/wcswcs.texi.
46231         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
46232         (Function Substitutes): Update.
46233
46234 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46235
46236         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
46237         m4/strerror.m4.
46238
46239 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46240             Bruno Haible  <bruno@clisp.org>
46241
46242         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
46243
46244 2008-12-13  Bruno Haible  <bruno@clisp.org>
46245
46246         * modules/strtoull (Depends-on): Remove unistd.
46247
46248 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46249
46250         * modules/strtoull (Depends-on): Add stdlib.
46251
46252 2008-12-11  Simon Josefsson  <simon@josefsson.org>
46253
46254         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
46255
46256 2008-12-10  Jim Meyering  <meyering@redhat.com>
46257
46258         gl_ASSERT: don't say assertions are disabled when they're not
46259         * m4/assert.m4 (gl_ASSERT): Do not make configure report
46260         "checking whether to enable assertions... no", when they are in
46261         fact enabled.  This is solely a bug in the output of configure.
46262         In spite of saying "no", NDEBUG was not defined in that case.
46263         Also, as noted by Eric Blake, leave assertions enabled upon
46264         --enable-assert=INVALID.
46265
46266 2008-12-10  Bruno Haible  <bruno@clisp.org>
46267
46268         Change MODULES.html to refer to POSIX:2008 where possible.
46269         * MODULES.html.sh (POSIX2008_URL): New variable.
46270         (posix_headers): Remove sys/timeb, ucontext.
46271         (posix2001_headers): New variable.
46272         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
46273         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
46274         index, makecontext, mktemp, pthread_attr_getstackaddr,
46275         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
46276         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
46277         (posix2001_functions): New variable.
46278         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
46279         otherwise.
46280
46281 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46282
46283         add missing include to parse-duration.c
46284         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
46285         * modules/parse-duration (Depends-on): Add xalloc.
46286
46287         fix sed script reading maint.mk
46288         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
46289         (syntax-check-rules): Use it.
46290
46291 2008-12-09  Bruno Haible  <bruno@clisp.org>
46292
46293         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
46294         MacOS X 10.4/PowerPC.
46295         Reported by Simon Josefsson.
46296
46297 2008-12-08  Jim Meyering  <meyering@redhat.com>
46298
46299         work around mingw's lack of some S_IF definitions
46300         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
46301         Reported by Simon Josefsson.
46302
46303 2008-12-08  Bruno Haible  <bruno@clisp.org>
46304
46305         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
46306         applied to variables. Needed on MacOS X 10.4/PowerPC.
46307         Reported by Simon Josefsson.
46308
46309 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
46310         and Eric Blake  <ebb9@byu.net>
46311
46312         assert: honor --enable-assert
46313         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
46314         order to honor --enable-assert, rather than treating it as a
46315         synonym for --disable-assert.
46316
46317 2008-12-08  Jim Meyering  <meyering@redhat.com>
46318
46319         * lib/posixtm.c: Remove now-useless declaration of mktime.
46320
46321         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
46322
46323 2008-12-07  Bruno Haible  <bruno@clisp.org>
46324
46325         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
46326         test_once): Mark functions as static.
46327         * tests/test-tls.c (test_tls): Likewise.
46328
46329 2008-12-07  Bruno Haible  <bruno@clisp.org>
46330
46331         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
46332         iconv_register_autodetect.
46333
46334 2008-12-07  Jim Meyering  <meyering@redhat.com>
46335
46336         posixtm.c: avoid a warning
46337         * lib/posixtm.c (posixtime): Don't initialize tm0.
46338         It's no longer needed to placate gcc4's -Wuninitialized,
46339         and the attempt to placate would elicit a new warning.
46340
46341         unicodeio.c: mark unused parameters
46342         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
46343         (fallback_failure_callback): Likewise.
46344
46345 2008-12-07  Bruno Haible  <bruno@clisp.org>
46346
46347         * gnulib-tool (func_create_testdir): When building the tests
46348         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
46349         Reported by Simon Josefsson.
46350
46351 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46352
46353         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
46354
46355 2008-12-06  Bruno Haible  <bruno@clisp.org>
46356
46357         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
46358         Suggested by Eric Blake.
46359
46360 2008-12-06  Bruno Haible  <bruno@clisp.org>
46361
46362         Fix a c-stack test failure on MacOS X.
46363         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
46364         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
46365         handler for SIGBUS as well.
46366         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
46367         install a signal handler for SIGBUS as well.
46368         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
46369
46370 2008-12-06  Bruno Haible  <bruno@clisp.org>
46371
46372         Advocacy documentation.
46373         * doc/gnulib-intro.texi (Benefits): New section.
46374         * doc/gnulib.texi: Update.
46375
46376 2008-12-06  Bruno Haible  <bruno@clisp.org>
46377
46378         Document the 'manywarnings' module.
46379         * doc/manywarnings.texi: New file.
46380         * doc/gnulib.texi: Include it.
46381
46382 2008-12-05  Eric Blake  <ebb9@byu.net>
46383
46384         tests: silence some gcc warnings
46385         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
46386         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
46387         type mismatches.
46388
46389 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46390             Bruno Haible  <bruno@clisp.org>
46391
46392         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
46393
46394 2008-11-29  Jim Meyering  <meyering@redhat.com>
46395
46396         unicodeio.c: mark unused parameters
46397         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
46398         (fallback_failure_callback): Likewise.
46399
46400         fts: fix a thinko
46401         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
46402         (set_stat_type): Return S_IF*-valued "type" directly.
46403         Prompted by James Youngman's spotting a related bug.
46404         Confirmed by further testing through find.
46405
46406         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
46407         * lib/fts.c (D_TYPE): Define.
46408         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
46409         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
46410         (s_ifmt_shift_bits): New function.
46411         (set_stat_type): New function.
46412         (fts_build): When not calling fts_stat, call set_stat_type
46413         to propagate dirent.d_type info to fts_read caller.
46414         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
46415         fts_statp->st_mode type information may be valid.
46416
46417 2008-11-28  Simon Josefsson  <simon@josefsson.org>
46418
46419         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
46420         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
46421         <sds@gnu.org>.
46422
46423 2008-11-20  Bruno Haible  <bruno@clisp.org>
46424
46425         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
46426         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
46427         INCLUDE_NEXT.
46428         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
46429         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
46430         * modules/math (Makefile.am): Substitute
46431         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
46432         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46433
46434 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
46435             Bruno Haible  <bruno@clisp.org>
46436
46437         * lib/stdint.in.h: Define all type macros so that their expansion is
46438         a single typedef'ed token. Fixes a compilation failure in Boost which
46439         does "using ::int8_t;".
46440
46441 2008-11-18  Simon Josefsson  <simon@josefsson.org>
46442
46443         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
46444         gl_MANYWARN_ALL_GCC.
46445         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
46446         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
46447         * modules/manywarnings: New file.
46448         * MODULES.html.sh: Mention manywarnings module.
46449
46450 2008-11-18  Bruno Haible  <bruno@clisp.org>
46451
46452         * doc/gnulib-tool.texi (Unit tests): New section.
46453
46454 2008-11-18  Simon Josefsson  <simon@josefsson.org>
46455
46456         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
46457         paths like 'lib/po/foo.po'.
46458
46459 2008-11-17  Simon Josefsson  <simon@josefsson.org>
46460
46461         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
46462         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
46463
46464 2008-11-17  Simon Josefsson  <simon@josefsson.org>
46465
46466         * m4/warnings.m4: Use CPPFLAGS to really check whether the
46467         parameter works.
46468
46469 2008-11-17  Simon Josefsson  <simon@josefsson.org>
46470
46471         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
46472
46473 2008-11-17  Bruce Korb  <bkorb@gnu.org>
46474
46475         * modules/parse-duration-tests: New file.
46476         * tests/test-parse-duration.sh: New file.
46477         * tests/test-parse-duration.c: New file.
46478
46479         New module 'parse-duration'.
46480         * lib/parse-duration.h: New file.
46481         * lib/parse-duration.c: New file.
46482         * modules/parse-duration: New file.
46483
46484 2008-11-17  Bruno Haible  <bruno@clisp.org>
46485
46486         * tests/test-select-out.sh: Comment out the first pipe test.
46487         Reported by Simon Josefsson.
46488
46489 2008-11-17  Bruno Haible  <bruno@clisp.org>
46490
46491         * modules/getaddrinfo (Depends-on): Add servent, hostent.
46492         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
46493         gl_HOSTENT.
46494
46495 2008-11-17  Bruno Haible  <bruno@clisp.org>
46496
46497         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
46498         -lnetwork and -lnet. Needed for Haiku and BeOS.
46499
46500 2008-11-16  Bruno Haible  <bruno@clisp.org>
46501
46502         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
46503
46504 2008-11-16  Bruno Haible  <bruno@clisp.org>
46505
46506         Avoid test failure on Haiku.
46507         * tests/test-fsync.c: Include <errno.h>.
46508         (main): Don't require that fsync (0) fails.
46509
46510 2008-11-15  Bruno Haible  <bruno@clisp.org>
46511
46512         New module 'hostent'.
46513         * modules/hostent: New file.
46514         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
46515
46516 2008-11-15  Bruno Haible  <bruno@clisp.org>
46517
46518         New module 'servent'.
46519         * modules/servent: New file.
46520         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
46521
46522 2008-11-15  Bruno Haible  <bruno@clisp.org>
46523
46524         Avoid generating same test program with two different rules.
46525         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
46526         test-frexp to test-frexp-nolibm.
46527         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
46528         test-frexpl to test-frexpl-nolibm.
46529
46530 2008-11-15  Bruno Haible  <bruno@clisp.org>
46531
46532         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
46533         $(FREXPL_LIBM).
46534
46535 2008-11-15  Bruno Haible  <bruno@clisp.org>
46536
46537         * lib/netdb.in.h: Activate the definitions also when the system's
46538         <netdb.h> has 'struct addrinfo'.
46539         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
46540         EAI_OVERFLOW or AI_NUMERICSERV.
46541         * doc/posix-headers/netdb.texi: Document the problem.
46542
46543 2008-11-15  Bruno Haible  <bruno@clisp.org>
46544
46545         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
46546
46547         Make the 'sched' module work on platforms where <sched.h> exists but
46548         is incomplete (such as Haiku).
46549         * lib/sched.in.h; Include the system's <sched.h> if it exists.
46550         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
46551         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
46552         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
46553         HAVE_STRUCT_SCHED_PARAM.
46554         * modules/sched (Depends-on): Add include_next.
46555         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
46556         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
46557         * doc/posix-headers/sched.texi: Document the issue.
46558
46559 2008-11-13  Jim Meyering  <meyering@redhat.com>
46560
46561         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
46562         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
46563         test would fail due to the difference in the Report bugs to ...
46564         line.  The expected address is empty, "<>", while the actual
46565         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
46566
46567 2008-11-12  Bruno Haible  <bruno@clisp.org>
46568
46569         lstat: don't compile lstat.c on systems lacking lstat
46570         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
46571         which don't have lstat; this is handled by lib/sys_stat.in.h already.
46572         Reported by Daniel P. Berrange via Jim Meyering.
46573
46574 2008-11-12  Jim Meyering  <meyering@redhat.com>
46575
46576         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
46577
46578 2008-11-12  Simon Josefsson  <simon@josefsson.org>
46579
46580         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
46581         instead.
46582
46583 2008-11-12  Bruno Haible  <bruno@clisp.org>
46584
46585         * lib/unicodeio.c: Include unistr.h.
46586         (utf8_wctomb): Remove function.
46587         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
46588
46589 2008-11-12  Simon Josefsson  <simon@josefsson.org>
46590
46591         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
46592         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
46593         <bruno@clisp.org>.
46594         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
46595
46596 2008-11-12  Simon Josefsson  <simon@josefsson.org>
46597
46598         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
46599         * doc/gnulib.texi: Add section for warnings.
46600
46601 2008-11-11  Bruno Haible  <bruno@clisp.org>
46602
46603         * lib/sockets.h: Add a comment.
46604
46605 2008-11-11  Karl Berry  <karl@gnu.org>
46606
46607         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
46608
46609 2008-11-11  Eric Blake  <ebb9@byu.net>
46610
46611         fdl.texi: avoid git symlinks
46612         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
46613
46614 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
46615
46616         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
46617
46618 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
46619
46620         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
46621         (gl_WARN_ADD): Substitute $2 if literal.
46622
46623 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
46624
46625         * m4/warning.m4: Remove.
46626
46627 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
46628
46629         * m4/warnings.m4: Almost complete rewrite. :-)
46630
46631 2008-11-10  Simon Josefsson  <simon@josefsson.org>
46632
46633         * modules/warnings: New module.
46634         * m4/warnings.m4: New file.
46635         * MODULES.html.sh: Mention warnings module.
46636         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
46637         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46638
46639 2008-11-10  Eric Blake  <ebb9@byu.net>
46640
46641         fdl.texi: make a symlink to the latest version
46642         * doc/standards.texi: Revert today's earlier change.
46643         * doc/fdl-1.2.texi: Rename from old fdl.texi...
46644         * doc/fdl.texi: ...and replace this with a symlink to the newer
46645         fdl-1.3.texi.
46646
46647 2008-11-10  Bruno Haible  <bruno@clisp.org>
46648
46649         * tests/test-select-fd.c (main): Accept the result file name as fourth
46650         argument.
46651         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
46652         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
46653
46654 2008-11-10  Bruno Haible  <bruno@clisp.org>
46655
46656         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
46657         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
46658         as autoconf-substituted macros.
46659         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
46660         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
46661         gl_NETDB_H_DEFAULTS. Set these variables.
46662         * modules/netdb (Makefile.am): Substitute these variables.
46663
46664 2008-11-10  Eric Blake  <ebb9@byu.net>
46665
46666         standards.texi: include correct file for FDL 1.3
46667         * doc/standards.texi (GNU Free Documentation License): Change
46668         include file to pull in FDL 1.3, not 1.2.
46669
46670         fdl.texi: revert accidental change to license
46671         * doc/fdl.texi: This is FDL 1.2, not 1.3.
46672
46673 2008-11-10  Bruno Haible  <bruno@clisp.org>
46674
46675         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
46676         cross-compiling guesses also when the native compile gives no result.
46677
46678 2008-11-10  Bruno Haible  <bruno@clisp.org>
46679
46680         * lib/spawni.c (__spawni): Force variable into the stack.
46681
46682 2008-11-10  Bruno Haible  <bruno@clisp.org>
46683
46684         Add support for Haiku.
46685         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
46686         glibc and BeOS, but also on Haiku.
46687         * lib/fpurge.c (fpurge): Likewise.
46688         * lib/freadable.c (freadable): Likewise.
46689         * lib/freadahead.c (freadahead): Likewise.
46690         * lib/freading.c (freading): Likewise.
46691         * lib/freadptr.c (freadptr): Likewise.
46692         * lib/freadseek.c (freadptrinc): Likewise.
46693         * lib/fseeko.c (rpl_fseeko): Likewise.
46694         * lib/fseterr.c (fseterr): Likewise.
46695         * lib/fwritable.c (fwritable): Likewise.
46696         * lib/fwriting.c (fwriting): Likewise.
46697         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
46698
46699 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
46700
46701         * lib/config.charset: Treat Haiku like BeOS.
46702
46703 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
46704
46705         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
46706         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
46707
46708 2008-11-08  Bruno Haible  <bruno@clisp.org>
46709
46710         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
46711         AC_CACHE_CHECK.
46712
46713 2008-11-08  Bruno Haible  <bruno@clisp.org>
46714
46715         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
46716
46717 2008-11-08  Bruno Haible  <bruno@clisp.org>
46718
46719         * tests/test-select-fd.c: New file.
46720         * tests/test-select-in.sh: New file.
46721         * tests/test-select-out.sh: New file.
46722         * tests/test-select-stdin.c: New file.
46723         * modules/select-tests (Files): Add the new files.
46724         (Depends-on): Add gettimeofday.
46725         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
46726         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
46727         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
46728
46729 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
46730             Bruno Haible  <bruno@clisp.org>
46731
46732         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
46733
46734 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
46735
46736         * build-aux/pmccabe2html: Added support for C++ source files.
46737
46738 2008-11-05  Ben Pfaff  <blp@gnu.org>
46739
46740         Fix lib/close.c build on Windows.
46741         * modules/close (Files): Add lib/w32sock.h.
46742
46743 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
46744
46745         Accept Bison's NEWS format.
46746         * build-aux/announce-gen (print_news_deltas): Tweak
46747         $re_prefix.
46748
46749 2008-11-04  Bruno Haible  <bruno@clisp.org>
46750
46751         * modules/random_r (Maintainer): Add glibc.
46752
46753 2008-11-04  Simon Josefsson  <simon@josefsson.org>
46754
46755         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
46756         by karl@freefriends.org (Karl Berry).
46757         * doc/alloca.texi: Likewise.
46758         * doc/c-ctype.texi: Likewise.
46759         * doc/c-strcase.texi: Likewise.
46760         * doc/c-strcaseeq.texi: Likewise.
46761         * doc/c-strcasestr.texi: Likewise.
46762         * doc/c-strstr.texi: Likewise.
46763         * doc/c-strtod.texi: Likewise.
46764         * doc/c-strtold.texi: Likewise.
46765         * doc/ctime.texi: Likewise.
46766         * doc/error.texi: Likewise.
46767         * doc/fdl.texi: Likewise.
46768         * doc/gcd.texi: Likewise.
46769         * doc/getdate.texi: Likewise.
46770         * doc/gnulib-intro.texi: Likewise.
46771         * doc/gnulib-tool.texi: Likewise.
46772         * doc/gnulib.texi: Likewise.
46773         * doc/inet_ntoa.texi: Likewise.
46774         * doc/maintain.texi: Likewise.
46775         * doc/make-stds.texi: Likewise.
46776         * doc/quote.texi: Likewise.
46777         * doc/regexprops-generic.texi: Likewise.
46778         * doc/standards.texi: Likewise.
46779         * doc/verify.texi: Likewise.
46780         * doc/visibility.texi: Likewise.
46781         * doc/gnulib.texi (GNU Free Documentation License): Include
46782         fdl-1.3.texi instead of fdl.texi.
46783
46784 2008-11-04  Simon Josefsson  <simon@josefsson.org>
46785
46786         * doc/fdl-1.3.texi: New file, from
46787         <http://www.gnu.org/licenses/fdl-1.3.texi>.
46788         * modules/fdl-1.3: Add.
46789         * MODULES.html.sh: Add fdl-1.3.
46790
46791 2008-11-03  Bruno Haible  <bruno@clisp.org>
46792
46793         Make determination of absolute name of header file work with AIX xlc.
46794         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
46795         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
46796         preprocessing.
46797         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
46798         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
46799
46800 2008-11-03  Simon Josefsson  <simon@josefsson.org>
46801
46802         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
46803         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
46804         <ludo@gnu.org>.
46805
46806 2008-11-02  Bruno Haible  <bruno@clisp.org>
46807
46808         Mark 'strpbrk' obsolete.
46809         * modules/strpbrk (Status, Notice): New sections.
46810         * modules/strtok_r (Depends-on): Add strpbrk.
46811
46812 2008-11-02  Bruno Haible  <bruno@clisp.org>
46813
46814         Mark 'strdup' obsolete.
46815         * modules/strdup (Status, Notice): New sections.
46816         * modules/findprog (Depends-on): Add strdup.
46817         * modules/getaddrinfo (Depends-on): Likewise.
46818         * modules/localename (Depends-on): Likewise.
46819         * modules/relocatable-lib (Depends-on): Likewise.
46820         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
46821         * modules/relocatable-prog (Depends-on): Likewise.
46822         * modules/trim (Depends-on): Likewise.
46823         * modules/unictype/gen-ctype (Depends-on): Likewise.
46824         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
46825
46826 2008-11-02  Bruno Haible  <bruno@clisp.org>
46827
46828         Mark 'strcspn' obsolete.
46829         * modules/strcspn (Status, Notice): New sections.
46830
46831 2008-11-02  Bruno Haible  <bruno@clisp.org>
46832
46833         Mark 'rmdir' obsolete.
46834         * modules/rmdir (Status, Notice): New sections.
46835         * modules/clean-temp (Depends-on): Add rmdir.
46836         * modules/openat (Depends-on): Likewise.
46837
46838 2008-11-02  Bruno Haible  <bruno@clisp.org>
46839
46840         Mark 'raise' obsolete.
46841         * modules/raise (Status, Notice): New sections.
46842         (Include): Specify <signal.h>.
46843         * modules/stdio (Depends-on): Add raise.
46844         * modules/write (Depends-on): Likewise.
46845
46846 2008-11-02  Bruno Haible  <bruno@clisp.org>
46847
46848         Mark 'memset' obsolete.
46849         * modules/memset (Status, Notice): New sections.
46850
46851 2008-11-02  Bruno Haible  <bruno@clisp.org>
46852
46853         Mark 'memmove' obsolete.
46854         * modules/memmove (Status, Notice): New sections.
46855         * modules/argp (Depends-on): Add memmove.
46856         * modules/argz (Depends-on): Likewise.
46857         * modules/canonicalize (Depends-on): Likewise.
46858         * modules/canonicalize-lgpl (Depends-on): Likewise.
46859         * modules/fts (Depends-on): Likewise.
46860         * modules/getcwd (Depends-on): Likewise.
46861         * modules/human (Depends-on): Likewise.
46862         * modules/regex (Depends-on): Likewise.
46863         * modules/striconveh (Depends-on): Likewise.
46864         * modules/trim (Depends-on): Likewise.
46865         * modules/unistr/u8-move (Depends-on): Likewise.
46866         * modules/unistr/u16-move (Depends-on): Likewise.
46867         * modules/unistr/u32-move (Depends-on): Likewise.
46868
46869 2008-11-02  Bruno Haible  <bruno@clisp.org>
46870
46871         Mark 'memcpy' obsolete.
46872         * modules/memcpy (Status, Notice): New sections.
46873
46874 2008-11-02  Bruno Haible  <bruno@clisp.org>
46875
46876         Mark 'memcmp' obsolete.
46877         * modules/memcmp (Status, Notice): New sections.
46878         * modules/argmatch (Depends-on): Add memchr.
46879         * modules/backupfile (Depends-on): Likewise.
46880         * modules/c-strcasestr (Depends-on): Likewise.
46881         * modules/crypto/des (Depends-on): Likewise.
46882         * modules/csharpcomp (Depends-on): Likewise.
46883         * modules/fnmatch (Depends-on): Likewise.
46884         * modules/git-merge-changelog (Depends-on): Likewise.
46885         * modules/isnand (Depends-on): Likewise.
46886         * modules/isnand-nolibm (Depends-on): Likewise.
46887         * modules/isnanf (Depends-on): Likewise.
46888         * modules/isnanf-nolibm (Depends-on): Likewise.
46889         * modules/isnanl (Depends-on): Likewise.
46890         * modules/isnanl-nolibm (Depends-on): Likewise.
46891         * modules/mbchar (Depends-on): Likewise.
46892         * modules/memcoll (Depends-on): Likewise.
46893         * modules/quotearg (Depends-on): Likewise.
46894         * modules/regex (Depends-on): Likewise.
46895         * modules/relocatable-prog (Depends-on): Likewise.
46896         * modules/same (Depends-on): Likewise.
46897         * modules/signbit (Depends-on): Likewise.
46898         * modules/strcasestr-simple (Depends-on): Likewise.
46899         * modules/unictype/gen-ctype (Depends-on): Likewise.
46900         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
46901         * modules/uniname/uniname (Depends-on): Likewise.
46902         * modules/unistr/u8-cmp (Depends-on): Likewise.
46903
46904 2008-11-02  Bruno Haible  <bruno@clisp.org>
46905
46906         Mark 'memchr' obsolete.
46907         * modules/memchr (Status, Notice): New sections.
46908         * modules/argp (Depends-on): Add memchr.
46909         * modules/base64 (Depends-on): Likewise.
46910         * modules/c-strcasestr (Depends-on): Likewise.
46911         * modules/chdir-long (Depends-on): Likewise.
46912         * modules/fnmatch (Depends-on): Likewise.
46913         * modules/getsubopt (Depends-on): Likewise.
46914         * modules/git-merge-changelog (Depends-on): Likewise.
46915         * modules/glob (Depends-on): Likewise.
46916         * modules/strcasestr-simple (Depends-on): Likewise.
46917         * modules/strnlen (Depends-on): Likewise.
46918
46919 2008-11-02  Bruno Haible  <bruno@clisp.org>
46920
46921         Mark 'atexit' obsolete.
46922         * modules/atexit (Status, Notice): New sections.
46923         * modules/chdir-long (Depends-on): Add atexit.
46924         * modules/wait-process (Depends-on): Likewise.
46925
46926 2008-11-02  Bruno Haible  <bruno@clisp.org>
46927
46928         * gnulib-tool: New option --with-obsolete.
46929         (func_usage): Document it.
46930         (func_modules_transitive_closure): Drop obsolete dependencies if
46931         incobsolete is not true.
46932         (func_import): Read and save the incobsolete variable to the cache.
46933
46934 2008-11-02  Bruno Haible  <bruno@clisp.org>
46935
46936         * modules/TEMPLATE-EXTENDED: New field 'Status'.
46937         * gnulib-tool: New option --extract-status.
46938         (func_usage): Document it.
46939         (sed_extract_prog): Recognize it.
46940         (func_get_status): New function.
46941
46942 2008-10-30  Simon Josefsson  <simon@josefsson.org>
46943
46944         * modules/sockets (License): Change from LGPL to LGPLv2+.
46945
46946 2008-10-28  Simon Josefsson  <simon@josefsson.org>
46947
46948         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
46949
46950 2008-10-28  Simon Josefsson  <simon@josefsson.org>
46951
46952         * MODULES.html.sh (Support for systems lacking POSIX:2001):
46953         Mention times and sys_times.
46954         * modules/sys_times, modules/sys_times-tests: New modules.
46955         * modules/times, modules/times-tests: Likewise
46956         * m4/sys_times_h.m4: New file.
46957         * lib/sys_times.in.h: Likewise
46958         * lib/times.c: Likewise.
46959         * tests/test-sys_times.c: Likewise.
46960         * tests/test-times.c: Likewise.
46961         * doc/posix-headers/sys_times.texi: Update.
46962         * doc/posix-functions/times.texi: Update.
46963
46964 2008-10-28  Jim Meyering  <meyering@redhat.com>
46965
46966         * modules/tempname (Depends-on): Add lstat.
46967
46968         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
46969
46970 2008-10-28  Simon Josefsson  <simon@josefsson.org>
46971
46972         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
46973         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
46974         using idiom used elsewhere in gnulib.
46975
46976 2008-10-27  Jim Meyering  <meyering@redhat.com>
46977
46978         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
46979
46980 2008-10-27  Simon Josefsson  <simon@josefsson.org>
46981
46982         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
46983         TESTS_ENVIRONMENT, for shell scripts that needs to call built
46984         programs.
46985         * tests/test-argp-2.sh: Use $EXEEXT when needed.
46986
46987 2008-10-27  Simon Josefsson  <simon@josefsson.org>
46988
46989         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
46990
46991 2008-10-27  Bruno Haible  <bruno@clisp.org>
46992
46993         * tests/test-lstat.c: Include <stdio.h>.
46994
46995 2008-10-27  Simon Josefsson  <simon@josefsson.org>
46996
46997         * modules/lstat-tests: New module.
46998         * tests/test-lstat.c: New file.
46999
47000 2008-10-26  Jim Meyering  <meyering@redhat.com>
47001
47002         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
47003
47004 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47005             Bruno Haible  <bruno@clisp.org>
47006
47007         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
47008         * modules/configmake (Include): Add a note that the include must come
47009         after all system headers.
47010         * lib/javaversion.c: Include configmake.h after all other includes.
47011
47012 2008-10-26  Bruno Haible  <bruno@clisp.org>
47013
47014         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
47015         HAVE_STRUCT_RANDOM_DATA to 1.
47016         (gl_STDLIB_H): Simplify.
47017
47018 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47019
47020         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
47021         substitute HAVE_STRUCT_RANDOM_DATA.
47022         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
47023         random_data.
47024         * modules/stdlib (Makefile.am): Substitute
47025         HAVE_STRUCT_RANDOM_DATA.
47026
47027 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47028
47029         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
47030         * doc/gnulib-intro.texi (Copyright): Likewise.
47031
47032 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47033
47034         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
47035         findings.
47036
47037 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
47038             Bruno Haible  <bruno@clisp.org>
47039
47040         * lib/unistd.in.h: Include <winsock2.h>.
47041         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
47042         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
47043         Provide dummy declarations.
47044         (gethostname): Override.
47045         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
47046         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
47047         gl_PREREQ_SYS_H_WINSOCK2.
47048         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
47049         * doc/posix-functions/gethostname.texi: More details.
47050
47051 2008-10-25  Bruno Haible  <bruno@clisp.org>
47052
47053         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
47054         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
47055         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
47056
47057         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
47058         here ...
47059         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
47060         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
47061         gl_UNISTD_H_DEFAULTS.
47062
47063 2008-10-25  Eric Blake  <ebb9@byu.net>
47064
47065         signbit: avoid spurious compiler failure
47066         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
47067         declarations inside function.
47068
47069 2008-10-24  Simon Josefsson  <simon@josefsson.org>
47070             Bruno Haible  <bruno@clisp.org>
47071
47072         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
47073         * modules/random_r (Depends-on): Add stdint.
47074
47075 2008-10-24  Bruno Haible  <bruno@clisp.org>
47076
47077         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
47078         Eggert.
47079         * modules/strerror (License): Likewise.
47080
47081 2008-10-24  Jim Meyering  <meyering@redhat.com>
47082
47083         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
47084         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
47085
47086 2008-10-24  Eric Blake  <ebb9@byu.net>
47087
47088         getgroups: fix compilation when getgroups is available
47089         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
47090         but with <config.h> override of getgroups disabled.
47091
47092 2008-10-24  Simon Josefsson  <simon@josefsson.org>
47093
47094         * doc/gnulib.texi (Header files): Add note about C++ problems.
47095         Explained by Bruno Haible <bruno@clisp.org>.
47096
47097 2008-10-23  Bruno Haible  <bruno@clisp.org>
47098
47099         Define a dummy SA_NODEFER macro on Interix.
47100         * lib/signal.in.h (SA_NODEFER): Define fallback.
47101         Reported by Aleksey Cheusov <cheusov@tut.by> via
47102         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
47103
47104 2008-10-23  Bruno Haible  <bruno@clisp.org>
47105
47106         * modules/freadahead (License): Change to LGPLv2+.
47107         Suggested by Simon Josefsson.
47108
47109 2008-10-23  Jim Meyering  <meyering@redhat.com>
47110
47111         random_r: new module
47112         * modules/random_r: New file.
47113         * m4/random_r.m4: New file.
47114         * lib/random_r.c: New file, from glibc.
47115         * modules/random_r-tests: New file.
47116         * tests/test-random_r.c: New file.
47117         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
47118          Declare.
47119         (RAND_MAX): Define.
47120         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
47121         * modules/stdlib: Substitute them, too.
47122         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
47123         * doc/glibc-functions/initstate_r.texi: Mention the new module.
47124         * doc/glibc-functions/random_r.texi: Likewise.
47125         * doc/glibc-functions/setstate_r.texi: Likewise.
47126         * doc/glibc-functions/srandom_r.texi: Likewise.
47127         * config/srclist.txt: Mention it.
47128
47129 2008-10-23  David Lutterkort  <lutter@redhat.com>
47130
47131         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
47132         link requirement
47133
47134 2008-10-23  Jim Meyering  <meyering@redhat.com>
47135
47136         selinux-h: mark parameters of stub functions as intentionally unused
47137         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
47138         * lib/se-context.in.h: Likewise.
47139
47140 2008-10-22  Simon Josefsson  <simon@josefsson.org>
47141
47142         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
47143
47144 2008-10-22  Simon Josefsson  <simon@josefsson.org>
47145
47146         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
47147
47148 2008-10-22  Eric Blake  <ebb9@byu.net>
47149
47150         glthread/thread: avoid compiler warning
47151         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
47152         Add unreachable abort to silence compiler.
47153
47154 2008-10-22  Eric Blake  <ebb9@byu.net>
47155
47156         netdb: also supply struct addrinfo for cygwin 1.5.x
47157         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
47158         older cygwin.
47159         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
47160         cygwin.
47161         * doc/posix-headers/netdb.texi (netdb.h): Document this.
47162
47163 2008-10-22  Bruno Haible  <bruno@clisp.org>
47164
47165         * users.txt: Update entry about pspp.
47166
47167 2008-10-21  Bruno Haible  <bruno@clisp.org>
47168
47169         Simplification.
47170         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
47171         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
47172
47173         Simplification.
47174         * lib/ioctl.c (ioctl): Don't undefine.
47175         * lib/socket.c (socket): Don't undefine.
47176
47177         Remove unused module indicator macros.
47178         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
47179         GNULIB_$1 as a C macro.
47180
47181         * doc/posix-functions/close.texi: Undo last change.
47182         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
47183         Windows platforms.
47184
47185 2008-10-21  Bruno Haible  <bruno@clisp.org>
47186
47187         Add gethostname() declaration to <unistd.h>.
47188         * lib/unistd.in.h (gethostname): New declaration.
47189         * lib/gethostname.c: Include <unistd.h>.
47190         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
47191         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
47192         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
47193         and HAVE_GETHOSTNAME.
47194         * modules/gethostname (Depends-on): Add unistd.
47195         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47196         (Include): Specify <unistd.h>.
47197         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
47198         HAVE_GETHOSTNAME.
47199         * tests/test-gethostname.c: Include <unistd.h> first.
47200
47201 2008-10-21  Bruno Haible  <bruno@clisp.org>
47202
47203         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
47204         * modules/select-tests (Depends-on): Likewise.
47205         Reported by Simon Josefsson.
47206
47207 2008-10-21  Simon Josefsson  <simon@josefsson.org>
47208
47209         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
47210         * lib/accept.c: New file, based on winsock.c.
47211         * lib/bind.c: New file, based on winsock.c.
47212         * lib/connect.c: New file, based on winsock.c.
47213         * lib/getpeername.c: New file, based on winsock.c.
47214         * lib/getsockname.c: New file, based on winsock.c.
47215         * lib/getsockopt.c: New file, based on winsock.c.
47216         * lib/ioctl.c: New file, based on winsock.c.
47217         * lib/listen.c: New file, based on winsock.c.
47218         * lib/recv.c: New file, based on winsock.c.
47219         * lib/recvfrom.c: New file, based on winsock.c.
47220         * lib/send.c: New file, based on winsock.c.
47221         * lib/sendto.c: New file, based on winsock.c.
47222         * lib/setsockopt.c: New file, based on winsock.c.
47223         * lib/shutdown.c: New file, based on winsock.c.
47224         * lib/socket.c: New file, based on winsock.c.
47225         * lib/w32sock.h: New file, based on winsock.c.
47226         * lib/winsock.c: Remove file.
47227         * modules/accept: Likewise.
47228         * modules/bind: Likewise.
47229         * modules/connect: Likewise.
47230         * modules/getpeername: Likewise.
47231         * modules/getsockname: Likewise.
47232         * modules/getsockopt: Likewise.
47233         * modules/ioctl: Likewise.
47234         * modules/listen: Likewise.
47235         * modules/recv: Likewise.
47236         * modules/recvfrom: Likewise.
47237         * modules/send: Likewise.
47238         * modules/sendto: Likewise.
47239         * modules/setsockopt: Likewise.
47240         * modules/shutdown: Likewise.
47241         * modules/socket: Use socket.c instead of winsock.c.
47242         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
47243         * doc/posix-functions/accept.texi: Doc fix.
47244         * doc/posix-functions/bind.texi: Doc fix.
47245         * doc/posix-functions/close.texi: Doc fix.
47246         * doc/posix-functions/connect.texi: Doc fix.
47247         * doc/posix-functions/getpeername.texi: Doc fix.
47248         * doc/posix-functions/getsockname.texi: Doc fix.
47249         * doc/posix-functions/getsockopt.texi: Doc fix.
47250         * doc/posix-functions/ioctl.texi: Doc fix.
47251         * doc/posix-functions/listen.texi: Doc fix.
47252         * doc/posix-functions/recv.texi: Doc fix.
47253         * doc/posix-functions/recvfrom.texi: Doc fix.
47254         * doc/posix-functions/send.texi: Doc fix.
47255         * doc/posix-functions/sendto.texi: Doc fix.
47256         * doc/posix-functions/setsockopt.texi: Doc fix.
47257         * doc/posix-functions/shutdown.texi: Doc fix.
47258         * doc/posix-functions/socket.texi: Doc fix.
47259
47260 2008-10-20  Bruno Haible  <bruno@clisp.org>
47261
47262         Take into account the role of SIGABRT_COMPAT on Windows 2008.
47263         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
47264         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
47265         as an alias for SIGABRT.
47266         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
47267         (sigaction): Map it to SIGABRT.
47268         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
47269
47270 2008-10-20  Bruno Haible  <bruno@clisp.org>
47271
47272         * lib/fts.c: Don't include lstat.h.
47273         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
47274
47275         Move the lstat() declaration to <sys/stat.h>.
47276         * lib/lstat.h: Remove file.
47277         * lib/sys_stat.in.h: Add special invocation convention.
47278         (lstat): New declaration.
47279         * lib/lstat.c (orig_lstat): New function.
47280         (rpl_lstat): Use orig_lstat instead of lstat.
47281         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
47282         AC_C_INLINE. Set REPLACE_LSTAT.
47283         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
47284         and REPLACE_LSTAT.
47285         * modules/lstat (Files): Remove lib/lstat.h.
47286         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
47287         (Include): Specify <sys/stat.h> instead of lstat.h.
47288         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
47289         REPLACE_LSTAT.
47290         * NEWS: Mention the change.
47291
47292 2008-10-20  Bruno Haible  <bruno@clisp.org>
47293
47294         * modules/posix_spawn-tests: New file.
47295         * tests/test-posix_spawn3.c: New file.
47296
47297 2008-10-20  Bruno Haible  <bruno@clisp.org>
47298
47299         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
47300         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
47301         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
47302         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
47303         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
47304
47305 2008-10-20  Bruno Haible  <bruno@clisp.org>
47306
47307         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
47308         of posix_spawn on AIX 5.3.
47309
47310 2008-10-20  Bruno Haible  <bruno@clisp.org>
47311
47312         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
47313
47314 2008-10-20  Bruno Haible  <bruno@clisp.org>
47315
47316         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
47317         of AC_LANG_PROGRAM.
47318
47319 2008-10-20  Simon Josefsson  <simon@josefsson.org>
47320
47321         * lib/netdb.in.h: Don't define GNU specific constants until they
47322         are supported or needed.  Reported by Bruno Haible
47323         <bruno@clisp.org>.
47324
47325 2008-10-20  Simon Josefsson  <simon@josefsson.org>
47326
47327         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
47328
47329 2008-10-20  Simon Josefsson  <simon@josefsson.org>
47330
47331         * lib/getaddrinfo.h: Remove file.
47332         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
47333         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
47334         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
47335         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
47336         * modules/netdb: Substitute GNULIB_GETADDRINFO.
47337         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
47338         * tests/test-getaddrinfo.c: Likewise.
47339         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
47340         * NEWS: Mention change.
47341
47342 2008-10-19  Bruno Haible  <bruno@clisp.org>
47343
47344         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
47345
47346 2008-10-19  Bruno Haible  <bruno@clisp.org>
47347
47348         * lib/wait-process.c: Include simply <sys/wait.h>.
47349         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
47350         WIFSTOPPED): Remove fallback definitions.
47351         * modules/wait-process (Depends-on): Add sys_wait.
47352
47353         New module 'sys_wait'.
47354         * modules/sys_wait: New file.
47355         * lib/sys_wait.in.h: New file, partially copied from
47356         lib/wait-process.c.
47357         * m4/sys_wait_h.m4: New file.
47358         * doc/posix-headers/sys_wait.texi: Mention the new module.
47359
47360 2008-10-19  Bruno Haible  <bruno@clisp.org>
47361
47362         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
47363
47364 2008-10-19  Bruno Haible  <bruno@clisp.org>
47365
47366         Assume that waitpid() fills an 'int' status, not a 'union wait'.
47367         * lib/wait-process.c (WAIT_T): Remove type.
47368         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
47369         (wait_subprocess): Update.
47370
47371 2008-10-19  Bruno Haible  <bruno@clisp.org>
47372
47373         New module 'atoll'.
47374         * modules/atoll: New file.
47375         * lib/stdlib.in.h (atoll): New declaration.
47376         * lib/atoll.c: New file, from glibc with modifications.
47377         * m4/atoll.m4: New file.
47378         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
47379         HAVE_ATOLL.
47380         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
47381         * doc/posix-functions/atoll.texi: Mention the new module.
47382
47383 2008-10-19  Bruno Haible  <bruno@clisp.org>
47384
47385         Add strtoull() declaration to <stdlib.h>.
47386         * lib/stdlib.in.h (strtoull): New declaration.
47387         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
47388         Set HAVE_STRTOULL.
47389         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
47390         HAVE_STRTOULL.
47391         * modules/strtoull (Depends-on): Add stdlib.
47392         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47393         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
47394         HAVE_STRTOULL.
47395
47396 2008-10-19  Bruno Haible  <bruno@clisp.org>
47397
47398         Add strtoll() declaration to <stdlib.h>.
47399         * lib/stdlib.in.h (strtoll): New declaration.
47400         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
47401         Set HAVE_STRTOLL.
47402         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
47403         HAVE_STRTOLL.
47404         * modules/strtoll (Depends-on): Add stdlib.
47405         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47406         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
47407
47408 2008-10-19  Bruno Haible  <bruno@clisp.org>
47409
47410         * modules/bcopy (Depends-on): Add strings.
47411         (Include): Specify <strings.h>.
47412
47413 2008-10-19  Bruno Haible  <bruno@clisp.org>
47414
47415         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
47416
47417 2008-10-19  Bruno Haible  <bruno@clisp.org>
47418
47419         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
47420         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
47421         mingw.
47422
47423 2008-10-19  Bruno Haible  <bruno@clisp.org>
47424
47425         * lib/atanl.c: Don't include isnanl.h.
47426         * lib/cosl.c: Likewise.
47427         * lib/ldexpl.c: Likewise.
47428         * lib/logl.c: Likewise.
47429         * lib/sinl.c: Likewise.
47430         * lib/sqrtl.c: Likewise.
47431         * lib/tanl.c: Likewise.
47432
47433         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
47434         * lib/isnanf.h: Remove file.
47435         * lib/isnand.h: Remove file.
47436         * lib/isnanl.h: Remove file.
47437         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
47438         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
47439         macros.
47440         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
47441         HAVE_ISNANF, don't define it as a C macro.
47442         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
47443         HAVE_ISNAND, don't define it as a C macro.
47444         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
47445         HAVE_ISNANL, don't define it as a C macro.
47446         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
47447         HAVE_ISNAN[FDL].
47448         * modules/isnanf (Files): Remove lib/isnanf.h.
47449         (Depends-on): Add math.
47450         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
47451         (Include): Specify <math.h> instead of isnanf.h.
47452         * modules/isnand (Files): Remove lib/isnand.h.
47453         (Depends-on): Add math.
47454         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
47455         (Include): Specify <math.h> instead of isnand.h.
47456         * modules/isnanl (Files): Remove lib/isnanl.h.
47457         (Depends-on): Add math.
47458         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
47459         (Include): Specify <math.h> instead of isnanl.h.
47460         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
47461         HAVE_ISNAN[FDL].
47462         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
47463         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
47464         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
47465         * NEWS: Mention the change.
47466
47467 2008-10-18  Bruno Haible  <bruno@clisp.org>
47468
47469         Add getusershell(), setusershell(), endusershell() declarations to
47470         <unistd.h>.
47471         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
47472         declarations.
47473         * lib/getusershell.c: Include unistd.h.
47474         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
47475         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
47476         HAVE_GETUSERSHELL.
47477         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
47478         and HAVE_GETUSERSHELL.
47479         * modules/getusershell (Depends-on): Add unistd, extensions.
47480         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47481         (Include): Specify <unistd.h>.
47482         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
47483         HAVE_GETUSERSHELL.
47484
47485 2008-10-18  Bruno Haible  <bruno@clisp.org>
47486
47487         Add a getloadavg() declaration to <stdlib.h>.
47488         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
47489         getloadavg declaration.
47490         (getloadavg): New declaration.
47491         * lib/getloadavg.c: Include <stdlib.h> first.
47492         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
47493         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
47494         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
47495         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
47496         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
47497         * modules/getloadavg (Depends-on): Add stdlib, extensions.
47498         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47499         (Include): Specify <stdlib.h>.
47500         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
47501         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
47502
47503 2008-10-18  Bruno Haible  <bruno@clisp.org>
47504
47505         * lib/dirchownmod.c: Don't include lchmod.h.
47506
47507         Move the lchmod() declaration to <sys/stat.h>.
47508         * lib/lchmod.h: Remove file.
47509         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
47510         (lchmod): New declaration, moved here from lib/lchown.h.
47511         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
47512         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
47513         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
47514         and HAVE_LCHMOD.
47515         * modules/lchmod (Files): Remove lib/lchmod.h.
47516         (Depends-on): Add sys_stat, extensions.
47517         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
47518         (Include): Specify <sys/stat.h> instead of lchmod.h.
47519         * modules/sys_stat (Depends-on): Add link-warning.
47520         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
47521         definition of GL_LINK_WARNING.
47522         * NEWS: Mention the change.
47523
47524 2008-10-18  Bruno Haible  <bruno@clisp.org>
47525
47526         * lib/fchdir.c: Don't include dirfd.h.
47527         * lib/fts.c: Likewise.
47528         * lib/getcwd.c: Likewise.
47529         * lib/glob.c: Likewise.
47530
47531         Move the dirfd() declaration to <dirent.h>.
47532         * lib/dirfd.h: Remove file.
47533         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
47534         (dirfd): New declaration.
47535         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
47536         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
47537         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
47538         HAVE_DECL_DIRFD.
47539         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
47540         HAVE_DECL_DIRFD.
47541         * modules/dirfd (Files): Remove lib/dirfd.h.
47542         (Depends-on): Add dirent, extensions.
47543         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
47544         (Include): Specify <dirent.h> instead of dirfd.h.
47545         * modules/dirent (Depends-on): Add link-warning.
47546         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
47547         definition of GL_LINK_WARNING.
47548         * NEWS: Mention the change.
47549
47550 2008-10-18  Bruno Haible  <bruno@clisp.org>
47551
47552         Move the euidaccess() declaration to <unistd.h>.
47553         * lib/euidaccess.h: Remove file.
47554         * lib/unistd.in.h (euidaccess): New declaration.
47555         * lib/euidaccess.c: Don't include euidaccess.h.
47556         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
47557         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
47558         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
47559         and HAVE_EUIDACCESS.
47560         * modules/euidaccess (Files): Remove lib/euidaccess.h.
47561         (Depends-on): Add unistd.
47562         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47563         (Include): Specify <unistd.h> instead of euidaccess.h.
47564         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
47565         HAVE_EUIDACCESS.
47566         * NEWS: Mention the change.
47567
47568 2008-10-18  Bruno Haible  <bruno@clisp.org>
47569
47570         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
47571
47572         Move the getdomainname() declaration to <unistd.h>.
47573         * lib/getdomainname.h: Remove file.
47574         * lib/unistd.in.h (getdomainname): New declaration.
47575         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
47576         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
47577         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
47578         HAVE_GETDOMAINNAME.
47579         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47580         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
47581         * modules/getdomainname (Files): Remove lib/getdomainname.h.
47582         (Depends-on): Add unistd, extensions.
47583         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47584         (Includes): Specify <unistd.h> instead of getdomainname.h.
47585         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
47586         HAVE_GETDOMAINNAME.
47587         * NEWS: Mention the change.
47588
47589 2008-10-18  Bruno Haible  <bruno@clisp.org>
47590
47591         * modules/dirent: New file.
47592         * m4/dirent_h.m4: New file.
47593         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
47594         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
47595         * modules/fchdir (Files): Remove lib/dirent.in.h.
47596         (Depends-on): Add dirent.
47597         (Makefile.am): Move rules to modules/dirent.
47598         * doc/posix-headers/dirent.texi: Mention the new module.
47599
47600 2008-10-18  Bruno Haible  <bruno@clisp.org>
47601
47602         Avoid -Wunused-parameter warnings in public gnulib header files.
47603         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
47604         macro.
47605         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
47606
47607 2008-10-18  Bruno Haible  <bruno@clisp.org>
47608
47609         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
47610         * doc/glibc-functions/error.texi: Mention the module 'error'.
47611         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
47612         * doc/glibc-functions/getdomainname.texi: Mention the module
47613         'getdomainname'.
47614         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
47615         * doc/glibc-functions/getpagesize.texi: Mention the module
47616         'getpagesize'.
47617         * doc/glibc-functions/getusershell.texi: Mention the module
47618         'getusershell'.
47619         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
47620         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
47621         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
47622         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
47623         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
47624         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
47625         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
47626         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
47627         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
47628         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
47629         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
47630         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
47631         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
47632         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
47633
47634 2008-10-17  Bruno Haible  <bruno@clisp.org>
47635
47636         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
47637         HP-UX and IRIX, use -0.0L.
47638         * tests/test-ceill.c (minus_zero): Likewise.
47639         * tests/test-floorl.c (minus_zero): Likewise.
47640         * tests/test-frexpl.c (minus_zero): Likewise.
47641         * tests/test-isnan.c (minus_zerol): Likewise.
47642         * tests/test-isnanl.h (minus_zero): Likewise.
47643         * tests/test-ldexpl.c (minus_zero): Likewise.
47644         * tests/test-roundl.c (minus_zero): Likewise.
47645         * tests/test-signbit.c (minus_zerol): Likewise.
47646         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
47647         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
47648         * tests/test-truncl.c (minus_zero): Likewise.
47649         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
47650         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
47651         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
47652         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
47653
47654 2008-10-17  Bruno Haible  <bruno@clisp.org>
47655
47656         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
47657         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
47658         that it gets activated only for gcc >= 3.0.
47659         * lib/dirent.in.h: Likewise.
47660         * lib/errno.in.h: Likewise.
47661         * lib/fcntl.in.h: Likewise.
47662         * lib/float.in.h: Likewise.
47663         * lib/iconv.in.h: Likewise.
47664         * lib/inttypes.in.h: Likewise.
47665         * lib/locale.in.h: Likewise.
47666         * lib/math.in.h: Likewise.
47667         * lib/netdb.in.h: Likewise.
47668         * lib/netinet_in.in.h: Likewise.
47669         * lib/search.in.h: Likewise.
47670         * lib/signal.in.h: Likewise.
47671         * lib/spawn.in.h: Likewise.
47672         * lib/stdarg.in.h: Likewise.
47673         * lib/stdint.in.h: Likewise.
47674         * lib/stdio.in.h: Likewise.
47675         * lib/stdlib.in.h: Likewise.
47676         * lib/string.in.h: Likewise.
47677         * lib/strings.in.h: Likewise.
47678         * lib/sys_file.in.h: Likewise.
47679         * lib/sys_ioctl.in.h: Likewise.
47680         * lib/sys_select.in.h: Likewise.
47681         * lib/sys_socket.in.h: Likewise.
47682         * lib/sys_stat.in.h: Likewise.
47683         * lib/sys_time.in.h: Likewise.
47684         * lib/sysexits.in.h: Likewise.
47685         * lib/time.in.h: Likewise.
47686         * lib/unistd.in.h: Likewise.
47687         * lib/wchar.in.h: Likewise.
47688         * lib/wctype.in.h: Likewise.
47689         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
47690
47691 2008-10-17  Jim Meyering  <meyering@redhat.com>
47692
47693         ignore-value: don't depend on inline module
47694         * modules/ignore-value (Depends-on): Remove 'inline'.
47695         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
47696         Suggestion from Bruno Haible.
47697
47698 2008-10-17  Bruno Haible  <bruno@clisp.org>
47699
47700         New implementation of condition variables for Win32.
47701         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
47702         (gl_linked_waitqueue_t): New type.
47703         (gl_cond_t): Use it.
47704         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
47705         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
47706         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
47707         (glthread_cond_init_func, glthread_cond_wait_func,
47708         glthread_cond_timedwait_func, glthread_cond_signal_func,
47709         glthread_cond_broadcast_func, glthread_cond_destroy_func):
47710         Reimplemented on the basis of gl_linked_waitqueue_t.
47711         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
47712         gl_waitqueue_t.
47713         (gl_rwlock_t): Update.
47714         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
47715
47716 2008-10-17  Simon Josefsson  <simon@josefsson.org>
47717
47718         * modules/recvfrom (Depends-on): Add dependency on getpeername.
47719         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
47720
47721 2008-10-17  Jim Meyering  <meyering@redhat.com>
47722
47723         ignore-value: new module
47724         * modules/ignore-value: New file.
47725         * lib/ignore-value.h: New file.
47726         * MODULES.html.sh (Compiler warning management): New section,
47727         just for this module.  More to come.
47728
47729 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
47730
47731         open-safer.c: avoid 'signed and unsigned in conditional...' warning
47732         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
47733         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
47734
47735 2008-10-16  Jim Meyering  <meyering@redhat.com>
47736
47737         openat-die.c: avoid 'no previous prototype' warning
47738         * lib/openat-die.c: Include "openat.h".
47739         Reported by Reuben Thomas <rrt@sc3d.org>.
47740
47741 2008-10-16  Simon Josefsson  <simon@josefsson.org>
47742
47743         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
47744         * lib/netdb.in.h: Fix typo.
47745         Reported by Bruno Haible  <bruno@clisp.org>
47746
47747         * lib/netdb.in.h: Include sys/socket.h for platforms without
47748         netdb.h, to get structures like hostent on MinGW.
47749         * modules/netdb (Depends-on): Add sys_socket.
47750
47751 2008-10-15  Simon Josefsson  <simon@josefsson.org>
47752
47753         * modules/netdb, modules/netdb-tests: New file.
47754         * m4/netdb_h.m4: New file.
47755         * lib/netdb.in.h: Add, currently just an empty file pending
47756         definitions.
47757         * tests/test-netdb.c: New file.
47758         * doc/posix-headers/netdb.texi: Mention that we replace it if
47759         needed.
47760         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47761         netdb.
47762
47763 2008-10-15  Simon Josefsson  <simon@josefsson.org>
47764
47765         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
47766         with code.
47767
47768 2008-10-13  Bruno Haible  <bruno@clisp.org>
47769
47770         * lib/glthread/cond.c (glthread_cond_wait_func,
47771         glthread_cond_timedwait_func): Add a comment.
47772
47773 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
47774
47775         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
47776         * tests/test-select.c: Likewise,
47777
47778 2008-10-13  Bruno Haible  <bruno@clisp.org>
47779
47780         * lib/glthread/cond.c (glthread_cond_wait_func,
47781         glthread_cond_timedwait_func): Fix variable name.
47782         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
47783
47784 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
47785
47786         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
47787         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
47788         struct sockaddr.sa_len.
47789         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
47790
47791 2008-10-13  Simon Josefsson  <simon@josefsson.org>
47792
47793         * build-aux/pmccabe2html: Add css and css_url parameters.
47794
47795 2008-10-12  Bruno Haible  <bruno@clisp.org>
47796
47797         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
47798         calling aclx_get.
47799         Reported by Rainer Tammer <tammer@tammer.net>.
47800
47801 2008-10-12  Bruno Haible  <bruno@clisp.org>
47802
47803         Use msvcrt aware primitives for creation/termination of Win32 threads.
47804         * lib/glthread/thread.c: Include <process.h>.
47805         (glthread_create_func): Use _beginthreadex instead of CreateThread.
47806         (wrapper_func): Update signature.
47807         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
47808
47809 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
47810             Bruno Haible  <bruno@clisp.org>
47811
47812         Provide a Win32 implementation of the 'cond' module.
47813         * lib/glthread/cond.h [USE_WIN32]: New implementation.
47814         * lib/glthread/cond.c (glthread_cond_init_func,
47815         glthread_cond_wait_func, glthread_cond_timedwait_func,
47816         glthread_cond_signal_func, glthread_cond_broadcast_func,
47817         glthread_cond_destroy_func) [USE_WIN32]: New functions.
47818         * modules/cond (Dependencies): Add gettimeofday.
47819
47820 2008-10-11  Bruno Haible  <bruno@clisp.org>
47821
47822         Make sleep work on older versions of mingw.
47823         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
47824         only whether it exists.
47825         * doc/posix-functions/sleep.texi: Mention the problem with older
47826         versions of mingw.
47827
47828 2008-10-11  Bruno Haible  <bruno@clisp.org>
47829
47830         New module 'shutdown'.
47831         * modules/shutdown: New file.
47832         * lib/sys_socket.in.h (shutdown): New declaration.
47833         * lib/winsock.c (shutdown): New function.
47834         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
47835         GNULIB_SHUTDOWN.
47836         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
47837         * doc/posix-functions/shutdown.texi: Document the new module.
47838
47839 2008-10-11  Jim Meyering  <meyering@redhat.com>
47840
47841         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
47842
47843 2008-10-11  Bruno Haible  <bruno@clisp.org>
47844
47845         New module 'fclose'.
47846         * modules/fclose: New file.
47847         * lib/stdio.in.h (fclose): New declaration.
47848         * lib/fclose.c: New file.
47849         * m4/fclose.m4: New file.
47850         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
47851         REPLACE_FCLOSE.
47852         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
47853         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
47854         REPLACE_FCLOSE.
47855         * modules/close (Depends-on): fclose.
47856         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
47857
47858 2008-10-11  Bruno Haible  <bruno@clisp.org>
47859
47860         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
47861         set errno and don't call _close.
47862
47863 2008-10-10  Bruno Haible  <bruno@clisp.org>
47864
47865         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
47866         ACL, not afterwards. Fixes test failure on Cygwin.
47867
47868 2008-10-09  Ben Pfaff  <blp@gnu.org>
47869
47870         * build-aux/announce-gen: Fix gnulib version related part of usage
47871         message.  Die with a useful error message if no tarballs are
47872         found.
47873
47874 2008-10-10  Jim Meyering  <meyering@redhat.com>
47875
47876         bootstrap: use git's --depth=N option only if it's supported
47877         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
47878         recognize the --depth option.  Reported by Pádraig Brady.
47879
47880 2008-10-09  Bruno Haible  <bruno@clisp.org>
47881
47882         New module 'ioctl'.
47883         * modules/ioctl: New file.
47884         * lib/sys_socket.in.h (ioctl): Remove declaration.
47885         * lib/winsock.c: Include <sys/ioctl.h>.
47886         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
47887         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
47888         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
47889         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
47890         * doc/posix-functions/ioctl.texi: Mention the new module.
47891
47892 2008-10-09  Bruno Haible  <bruno@clisp.org>
47893
47894         New module 'sys_ioctl'.
47895         * lib/sys_ioctl.in.h: New file.
47896         * m4/sys_ioctl_h.m4: New file.
47897         * modules/sys_ioctl: New file.
47898         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
47899
47900 2008-10-09  Bruno Haible  <bruno@clisp.org>
47901
47902         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
47903         * lib/winsock.c: Include <stdarg.h>.
47904         (rpl_ioctl): Change to second argument 'int' and then varargs.
47905
47906 2008-10-09  Bruno Haible  <bruno@clisp.org>
47907
47908         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
47909         when the sys_socket module is present and the system has <winsock2.h>.
47910
47911 2008-10-09  Bruno Haible  <bruno@clisp.org>
47912
47913         * doc/posix-functions/close.texi: Mention module 'close' instead of
47914         module 'sys_socket'.
47915
47916 2008-10-09  Bruno Haible  <bruno@clisp.org>
47917
47918         * doc/glibc-headers/sys_ioctl.texi: New file.
47919         * doc/gnulib.texi: Include it.
47920
47921 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
47922             Bruno Haible  <bruno@clisp.org>
47923
47924         Combine the two replacements of 'close'.
47925         * lib/sys_socket.in.h (close): Define to a reminder to include
47926         <unistd.h>.
47927         (_gl_close_fd_maybe_socket): New declaration.
47928         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
47929         * lib/winsock.c (close): Remove undefinition.
47930         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
47931         needed for the gnulib module 'close'.
47932         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
47933         define to an error symbol or to a warning, if suitable.
47934         * lib/close.c: Include <sys/socket.h>.
47935         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
47936         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
47937         UNISTD_H_HAVE_WINSOCK2_H.
47938         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
47939         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47940         UNISTD_H_HAVE_WINSOCK2_H.
47941         * modules/sys_socket (Files): Add m4/unistd_h.m4.
47942         (configure.ac): Set a module indicator.
47943         (Makefile.am): Substitute GNULIB_CLOSE.
47944         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
47945         * modules/poll-tests (Depends-on): Add close.
47946         * modules/select-tests (Depends-on): Likewise.
47947
47948 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
47949             Bruno Haible  <bruno@clisp.org>
47950
47951         New module 'close'.
47952         * modules/close: New file.
47953         * lib/unistd.in.h (close): Move declaration out of the
47954         FCHDIR_REPLACEMENT scope.
47955         (_gl_unregister_fd): New declaration.
47956         * lib/close.c: New file.
47957         * lib/fchdir.c (rpl_close): Remove function.
47958         * m4/close.m4: New file.
47959         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
47960         close.
47961         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
47962         REPLACE_CLOSE.
47963         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
47964         REPLACE_CLOSE.
47965         * modules/fchdir (Depends-on): Add close.
47966
47967 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
47968             Bruno Haible  <bruno@clisp.org>
47969
47970         * lib/fcntl.in.h (open): Simplify conditionals.
47971         (_gl_register_fd): New declaration.
47972         * lib/fchdir.c (rpl_open): Remove function.
47973         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
47974         also.
47975         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
47976         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
47977         open.
47978
47979 2008-10-09  Jim Meyering  <meyering@redhat.com>
47980
47981         GNUmakefile: use the more name-space-friendly "_version"
47982         * top/GNUmakefile (_dummy): Update.
47983         (_version): Rename from "version".
47984
47985 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
47986             Bruno Haible  <bruno@clisp.org>
47987
47988         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
47989         rpl_close.
47990         (_gl_register_fd): New function, extracted from rpl_open.
47991         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
47992         (rpl_open, rpl_opendir): Use _gl_register_fd.
47993
47994 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
47995
47996         Fix organization of 'open' replacement.
47997         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
47998         (gl_FUNC_OPEN): Use it.
47999         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
48000
48001 2008-10-08  Bruno Haible  <bruno@clisp.org>
48002
48003         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
48004
48005 2008-10-08  Simon Josefsson  <simon@josefsson.org>
48006
48007         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
48008         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
48009         listen).
48010
48011 2008-10-08  Eric Blake  <ebb9@byu.net>
48012
48013         GNUmakefile: add 'make version' target
48014         * top/GNUmakefile (_curr-ver): Split version update rules...
48015         (version): ...into a target.
48016
48017 2008-10-07  Bruno Haible  <bruno@clisp.org>
48018
48019         Use a more portable replacement expression for -0.0L.
48020         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
48021         instead of -0.0L. Fix m4 quotation.
48022
48023         * tests/test-signbit.c: Include <float.h>.
48024         (minus_zero): New variable.
48025         (test_signbitl): Use minus_zero instead of -zero.
48026         * modules/signbit-tests (Depends-on): Add float.
48027
48028         * tests/test-ceill.c: Include <float.h>.
48029         (zero): Remove variable.
48030         (minus_zero): New variable.
48031         (main): Use minus_zero instead of -zero.
48032         * modules/ceill-tests (Depends-on): Add float.
48033
48034         * tests/test-floorl.c: Include <float.h>.
48035         (zero): Remove variable.
48036         (minus_zero): New variable.
48037         (main): Use minus_zero instead of -zero.
48038         * modules/floorl-tests (Depends-on): Add float.
48039
48040         * tests/test-roundl.c: Include <float.h>.
48041         (zero): Remove variable.
48042         (minus_zero): New variable.
48043         (main): Use minus_zero instead of -zero.
48044         * modules/roundl-tests (Depends-on): Add float.
48045
48046         * tests/test-truncl.c: Include <float.h>.
48047         (zero): Remove variable.
48048         (minus_zero): New variable.
48049         (main): Use minus_zero instead of -zero.
48050         * modules/truncl-tests (Depends-on): Add float.
48051
48052         * tests/test-frexpl.c (zero): Remove variable.
48053         (minus_zero): New variable.
48054         (main): Use minus_zero instead of -zero.
48055         * modules/frexpl-tests (Depends-on): Add float.
48056
48057         * tests/test-isnan.c (zerol): Remove variable.
48058         (minus_zerol): New variable.
48059         (test_long_double): Use minus_zerol instead of -zerol.
48060         * modules/isnan-tests (Depends-on): Add float.
48061
48062         * tests/test-isnanl.h (zero): Remove variable.
48063         (minus_zero): New variable.
48064         (main): Use minus_zero instead of -zero.
48065         * modules/isnanl-nolibm-tests (Depends-on): Add float.
48066         * modules/isnanl-tests (Depends-on): Add float.
48067
48068         * tests/test-ldexpl.c (zero): Remove variable.
48069         (minus_zero): New variable.
48070         (main): Use minus_zero instead of -zero.
48071         * modules/ldexpl-tests (Depends-on): Add float.
48072
48073         * tests/test-snprintf-posix.h (zerol): Remove variable.
48074         (minus_zerol): New variable.
48075         (test_function): Use minus_zerol instead of -zerol.
48076         * modules/snprintf-posix-tests (Depends-on): Add float.
48077         * modules/vsnprintf-posix-tests (Depends-on): Add float.
48078
48079         * tests/test-sprintf-posix.h (zerol): Remove variable.
48080         (minus_zerol): New variable.
48081         (test_function): Use minus_zerol instead of -zerol.
48082         * modules/sprintf-posix-tests (Depends-on): Add float.
48083         * modules/vsprintf-posix-tests (Depends-on): Add float.
48084
48085         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
48086         (minus_zerol): New variable.
48087         (test_function): Use minus_zerol instead of -zerol.
48088         * modules/vasnprintf-posix-tests (Depends-on): Add float.
48089
48090         * tests/test-vasprintf-posix.c (zerol): Remove variable.
48091         (minus_zerol): New variable.
48092         (test_function): Use minus_zerol instead of -zerol.
48093         * modules/vasprintf-posix-tests (Depends-on): Add float.
48094
48095 2008-10-07  Simon Josefsson  <simon@josefsson.org>
48096
48097         * MODULES.html.sh (Support for building documentation): Mention
48098         pmccabe2html.  Sort entries.
48099
48100         Add pmccabe2html module, from gnupdf.
48101         * build-aux/pmccabe.css: New file.
48102         * build-aux/pmccabe2html: New file.
48103         * m4/pmccabe2html.m4: New file.
48104         * modules/pmccabe2html: New file.
48105
48106 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
48107
48108         flock: new module
48109         * MODULES.html.sh: Add to list of modules.
48110         * lib/flock.c: flock implementation for Windows and Unix systems
48111         which have fcntl.
48112         * doc/glibc-functions/flock.texi: Update documentation.
48113         * lib/sys_file.in.h: <sys/file.h> header file.
48114         * m4/flock.m4: M4 macros.
48115         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
48116         * modules/flock: flock module.
48117         * modules/flock-tests: flock tests module.
48118         * modules/sys_file: sys/file.h module.
48119         * tests/test-flock.c: test suite for flock.
48120
48121 2008-10-06  Jim Meyering  <meyering@redhat.com>
48122
48123         bootstrap: check for LT_INIT more portably still ;-)
48124         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
48125         Spotted by Bruno Haible.
48126
48127 2008-10-06  Eric Blake  <ebb9@byu.net>
48128
48129         test-signbit: avoid tripping Irix cc bug on -0.0L
48130         * tests/test-signbit.c (minus_zerol): Delete, and replace with
48131         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
48132         entire testsuite consistent and avoids an Irix 6.2 bug.
48133
48134 2008-10-05  Bruno Haible  <bruno@clisp.org>
48135             Jim Meyering  <jim@meyering.net>
48136
48137         Add an option for ignoring EPIPE during close_stdout.
48138         * lib/closeout.h: Include <stdbool.h>.
48139         (close_stdout_set_ignore_EPIPE): New declaration.
48140         * lib/closeout.c: Include <stdbool.h>.
48141         (ignore_EPIPE): New variable.
48142         (close_stdout_set_ignore_EPIPE): New function.
48143         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
48144         * lib/close-stream.c (close_stream): Mention the possible EPIPE
48145         failure.
48146         * modules/closeout (Depends-on): Add stdbool.
48147
48148 2008-10-05  Bruno Haible  <bruno@clisp.org>
48149
48150         * modules/accept: New file.
48151         * modules/bind: New file.
48152         * modules/connect: New file.
48153         * modules/getpeername: New file.
48154         * modules/getsockname: New file.
48155         * modules/getsockopt: New file.
48156         * modules/listen: New file.
48157         * modules/recv: New file.
48158         * modules/recvfrom: New file.
48159         * modules/send: New file.
48160         * modules/sendto: New file.
48161         * modules/setsockopt: New file.
48162         * modules/socket: New file.
48163         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
48164         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
48165         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
48166         the particular module is requested. Add a link warning when the
48167         particular module is not requested.
48168         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
48169         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
48170         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
48171         the particular module is requested.
48172         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
48173         gl_SYS_SOCKET_H_DEFAULTS): New macros.
48174         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
48175         * modules/sys_socket (Depends-on): Add link-warning.
48176         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
48177         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
48178         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
48179         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
48180         GL_LINK_WARNING.
48181         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
48182         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
48183         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
48184         * doc/posix-functions/getpeername.texi: Mention the new module
48185         'getpeername'.
48186         * doc/posix-functions/getsockname.texi: Mention the new module
48187         'getsockname'.
48188         * doc/posix-functions/getsockopt.texi: Mention the new module
48189         'getsockopt'.
48190         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
48191         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
48192         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
48193         * doc/posix-functions/send.texi: Mention the new module 'send'.
48194         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
48195         * doc/posix-functions/setsockopt.texi: Mention the new module
48196         'setsockopt'.
48197         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
48198         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
48199         listen, connect, accept.
48200         * modules/select-tests (Depends-on): Likewise.
48201
48202 2008-10-05  Bruno Haible  <bruno@clisp.org>
48203
48204         * lib/winsock.c (strerror): Remove unused #undef.
48205         (rpl_close): Remove unused local variable.
48206
48207         * modules/sys_socket (Depends-on); Add errno.
48208
48209 2008-10-05  Bruno Haible  <bruno@clisp.org>
48210
48211         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
48212         (select): Add a link warning when the 'select' module is not used.
48213         * modules/sys_select (Depends-on): Add link-warning.
48214         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
48215         Suggested by Paolo Bonzini.
48216
48217 2008-10-05  Jim Meyering  <meyering@redhat.com>
48218
48219         bootstrap: check for LT_INIT more portably
48220         * build-aux/bootstrap: Avoid using grep -E, since it's not
48221         portable enough.  Suggestion from Bruno Haible.
48222
48223 2008-10-05  Bruno Haible  <bruno@clisp.org>
48224
48225         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
48226         as being fixed by gnulib.
48227
48228 2008-10-05  Bruno Haible  <bruno@clisp.org>
48229
48230         * modules/select-tests: New file, mostly copied from
48231         modules/sys_select-tests.
48232         * tests/test-select.c: New file, mostly copied from
48233         tests/test-sys_select.c.
48234         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
48235         * modules/sys_select-tests (Depends-on): Remove all dependencies.
48236         (Makefile.am): Remove test_sys_select_LDADD.
48237
48238         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
48239         to an undefined symbol, for an error message.
48240         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
48241         (gl_SYS_SELECT_H_DEFAULTS): New macro.
48242         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
48243         winsock-select.c here.
48244         * modules/sys_select (Files): Remove lib/winsock-select.c.
48245         (Depends-on): Remove alloca.
48246         (Makefile.am): Substitute GNULIB_SELECT.
48247         * modules/select: New file.
48248         * doc/posix-functions/select.texi: Update.
48249
48250 2008-10-05  Bruno Haible  <bruno@clisp.org>
48251
48252         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
48253         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
48254         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
48255         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
48256         getdtablesize.
48257         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
48258         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
48259
48260 2008-10-05  Bruno Haible  <bruno@clisp.org>
48261
48262         * modules/getdtablesize-tests: New file.
48263         * tests/test-getdtablesize.c: New file.
48264
48265         New module 'getdtablesize'.
48266         * lib/unistd.in.h (getdtablesize): New declaration.
48267         * lib/getdtablesize.c: New file.
48268         * m4/getdtablesize.m4: New file.
48269         * modules/getdtablesize: New file.
48270         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48271         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
48272         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
48273         HAVE_GETDTABLESIZE.
48274         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
48275
48276 2008-10-05  Bruno Haible  <bruno@clisp.org>
48277
48278         * modules/sched (Makefile.am): Fix typo.
48279         Reported by Simon Josefsson.
48280
48281 2008-10-05  Jim Meyering  <meyering@redhat.com>
48282
48283         bootstrap: check for LT_INIT, too
48284         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
48285         are deprecated.  Suggestion from Ralf Wildenhues.
48286
48287 2008-10-05  Bruno Haible  <bruno@clisp.org>
48288
48289         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
48290         overriding them by ours.
48291         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
48292
48293 2008-10-05  Jim Meyering  <meyering@redhat.com>
48294
48295         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
48296         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
48297         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
48298
48299 2008-10-04  Bruno Haible  <bruno@clisp.org>
48300
48301         * modules/dup2 (License): Change to LGPLv2+.
48302         * modules/sleep (License): Likewise.
48303         * modules/perror (License): Likewise.
48304         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
48305         Blake.
48306         * modules/signal (License): Likewise.
48307         * modules/sigprocmask (License): Likewise.
48308         * modules/raise (License): Change to LGPLv2+, with approval by Jim
48309         Meyering.
48310
48311 2008-10-04  Bruno Haible  <bruno@clisp.org>
48312
48313         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
48314         Reported by Rainer Tammer <tammer@tammer.net>.
48315
48316 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
48317             Bruno Haible  <bruno@clisp.org>
48318
48319         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
48320         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
48321         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
48322
48323 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
48324
48325         filevercmp: new module
48326         * lib/filevercmp.h: New function filevercmp comparing version strings.
48327         * lib/filevercmp.c: Implementation of filevercmp function.
48328         * modules/filevercmp: Module metadata.
48329         * tests/test-filevercmp.c: Unit test for new module.
48330         * modules/filevercmp-tests: Unit test metadata.
48331         * MODULES.html.sh: Add filevercmp module.
48332
48333 2008-10-03  Bruno Haible  <bruno@clisp.org>
48334
48335         * lib/c-ctype.h: Add comment.
48336         Reported by Jim Meyering.
48337
48338 2008-10-02  Bruno Haible  <bruno@clisp.org>
48339
48340         * modules/posix_spawn-internal (Depends-on): Add 'open'.
48341
48342 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
48343
48344         * build-aux/bootstrap: Allow renaming bootstrap, and change the
48345         name of bootstrap.conf accordingly.
48346
48347 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
48348
48349         * build-aux/bootstrap: Install git-merge-changelog configuration
48350         items into .gitconfig if needed.
48351
48352 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
48353
48354         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
48355         git repository, and initialize/update it accordingly.
48356
48357 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
48358
48359         * modules/fsync-tests: New file.
48360         * tests/test-fsync.c: New file.
48361
48362         New module 'fsync'.
48363         * lib/fsync.c: New file.
48364         * m4/fsync.m4: New file.
48365         * modules/fsync: New file.
48366         * lib/unistd.in.h (fsync): New declaration.
48367         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
48368         GNULIB_FSYNC and HAVE_FSYNC.
48369         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
48370         * MODULES.html.sh (posix_functions): Add fsync.
48371         * doc/posix-functions/fsync.texi: Mention the new module.
48372
48373 2008-10-02  Jim Meyering  <meyering@redhat.com>
48374
48375         fts.c: sync with similar code from coreutils' remove.c
48376         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
48377         Guard also with "#if defined __linux__", since for now at least,
48378         this code is Linux-kernel-specific.
48379
48380 2008-10-02  Jim Meyering  <meyering@redhat.com>
48381
48382         fts: bug fixes
48383         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
48384         Include <sys/vfs.h>, not <sys/statfs.h>.
48385
48386         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
48387         Include <sys/vfs.h>, not <sys/statfs.h>.
48388
48389 2008-10-01  Bruno Haible  <bruno@clisp.org>
48390
48391         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
48392         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
48393         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
48394         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
48395         * doc/posix-functions/posix_spawnp.texi: Likewise.
48396         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
48397         whether posix_spawn actually works.
48398         * m4/pipe.m4 (gl_PIPE): Likewise.
48399         * modules/execute (Files): Add m4/posix_spawn.m4.
48400         * modules/pipe (Files): Add m4/posix_spawn.m4.
48401         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
48402
48403 2008-10-01  Jim Meyering  <meyering@redhat.com>
48404
48405         remove trailing spaces
48406         * NEWS: Likewise.
48407         * lib/poll.c (poll): Likewise.
48408         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
48409         * lib/winsock.c (rpl_close): Likewise.
48410         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
48411         * modules/yield: Likewise.
48412         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
48413         * tests/test-sys_select.c (connect_to_socket): Likewise.
48414
48415         fts.c: adjust a new interface to be more generally useful
48416         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
48417         (fts_build): Adjust caller.
48418
48419 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48420
48421         * modules/cond-tests: New file.
48422         * tests/test-cond.c: New file.
48423
48424 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48425             Bruno Haible  <bruno@clisp.org>
48426
48427         * modules/cond (Dependencies): Add errno, time.
48428         * lib/glthread/cond.h: Include <time.h>.
48429         (gl_cond_define, gl_cond_define_initialized): Use the same definition
48430         across platforms.
48431
48432 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48433             Bruno Haible  <bruno@clisp.org>
48434
48435         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
48436
48437 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48438             Bruno Haible  <bruno@clisp.org>
48439
48440         * modules/tls-tests (Depends-on): Add thread, yield.
48441         (configure.ac): Remove all checks.
48442         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
48443         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
48444         gl_thread_self): Remove definitions. Include glthread/thread.h and
48445         glthread/yield.h instead.
48446         (test_tls): Pass an additional NULL argument to gl_thread_join.
48447
48448 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48449             Bruno Haible  <bruno@clisp.org>
48450
48451         * modules/lock-tests (Depends-on): Add thread, yield.
48452         (configure.ac): Remove all checks.
48453         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
48454         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
48455         gl_thread_self): Remove definitions. Include glthread/thread.h and
48456         glthread/yield.h instead.
48457         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
48458         additional NULL argument to gl_thread_join.
48459
48460 2008-09-30  Bruno Haible  <bruno@clisp.org>
48461
48462         Fix the Win32 implementation of the 'thread' module.
48463         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
48464         pointer type.
48465         (gl_thread_self): Invoke gl_thread_self_func.
48466         (gl_thread_self_func): New declaration.
48467         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
48468         (do_init_self_key, init_self_key): New functions.
48469         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
48470         Remove some fields.
48471         (running_threads, running_lock): Remove variables.
48472         (get_current_thread_handle): New function.
48473         (gl_thread_self_func, wrapper_func, glthread_create_func,
48474         glthread_join_func, gl_thread_exit_func): Largely rewritten and
48475         simplified.
48476
48477 2008-09-30  Bruno Haible  <bruno@clisp.org>
48478
48479         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
48480         files.
48481
48482 2008-09-30  Jim Meyering  <meyering@redhat.com>
48483
48484         fts.m4: correct the test for statfs.f_type
48485         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
48486         when checking for statfs.f_type.
48487
48488 2008-09-15  Simon Josefsson  <simon@josefsson.org>
48489
48490         tests: avoid some compiler warnings
48491         * tests/test-memchr.c (main): Pass NULL indirectly.
48492         * tests/test-getdate.c (main): Remove unused variable 'ret'.
48493
48494 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
48495
48496         getdate.y: disallow countable dayshifts like "4 yesterday ago"
48497         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
48498         exactly specified dayshifts.
48499         (dayshift): New rule.
48500         (rel): Add dayshift.
48501         (relative_time_table) [tomorrow, yesterday, today, now]:
48502         Use tDAY_SHIFT in place of tDAY_UNIT.
48503         * tests/test-getdate.c: Add tests for now-disallowed countable
48504         dayshifts, e.g., "4 yesterday ago".
48505
48506 2008-09-29  Bruno Haible  <bruno@clisp.org>
48507
48508         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
48509         * tests/test-posix_spawn1.in.sh: Renamed from
48510         tests/test-posix_spawn.in.sh.
48511         * tests/test-posix_spawn2.c: New file.
48512         * tests/test-posix_spawn2.in.sh: New file.
48513         * modules/posix_spawnp-tests (Files): Update.
48514         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
48515
48516 2008-09-29  Bruno Haible  <bruno@clisp.org>
48517
48518         Propagate effects of putenv/setenv/unsetenv to child processes.
48519         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
48520         * lib/pipe.c (create_pipe): Likewise.
48521
48522 2008-09-29  Bruno Haible  <bruno@clisp.org>
48523
48524         Enable use of shell scripts as executables in mingw.
48525         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
48526         run the program as a shell script.
48527         * lib/pipe.c (create_pipe): Likewise.
48528         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
48529         resulting array.
48530
48531 2008-09-29  Eric Blake  <ebb9@byu.net>
48532
48533         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
48534
48535 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
48536
48537         * doc/posix-functions/accept.texi: Update mingw problems.
48538         * doc/posix-functions/bind.texi: Update mingw problems.
48539         * doc/posix-functions/close.texi: Update mingw problems.
48540         * doc/posix-functions/connect.texi: Update mingw problems.
48541         * doc/posix-functions/getpeername.texi: Update mingw problems.
48542         * doc/posix-functions/getsockname.texi: Update mingw problems.
48543         * doc/posix-functions/getsockopt.texi: Update mingw problems.
48544         * doc/posix-functions/ioctl.texi: Update mingw problems.
48545         * doc/posix-functions/listen.texi: Update mingw problems.
48546         * doc/posix-functions/recv.texi: Update mingw problems.
48547         * doc/posix-functions/recvfrom.texi: Update mingw problems.
48548         * doc/posix-functions/select.texi: Update mingw problems.
48549         * doc/posix-functions/send.texi: Update mingw problems.
48550         * doc/posix-functions/sendto.texi: Update mingw problems.
48551         * doc/posix-functions/setsockopt.texi: Update mingw problems.
48552         * doc/posix-functions/socket.texi: Update mingw problems.
48553
48554 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
48555             Bruno Haible  <bruno@clisp.org>
48556
48557         * lib/sys_select.in.h: Include sys/time.h.
48558         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
48559         * modules/sys_select: Depend on sys_time.
48560         * tests/test-sys_select.c: Test that sys/select.h defines struct
48561         timeval fully.
48562
48563 2008-09-29  Bruno Haible  <bruno@clisp.org>
48564
48565         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
48566         * lib/sys_select.in.h: Likewise.
48567
48568 2008-09-29  Bruno Haible  <bruno@clisp.org>
48569
48570         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
48571
48572 2008-09-29  Bruno Haible  <bruno@clisp.org>
48573
48574         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
48575         Set LIBSOCKET instead of augmenting LIBS.
48576         * modules/sockets (Link): New section.
48577         * modules/sockets-tests (test_sockets_LDADD): New variable.
48578         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
48579         * modules/poll-tests (test_poll_LDADD): New variable.
48580         * NEWS: Document the change.
48581
48582 2008-09-29  Bruno Haible  <bruno@clisp.org>
48583
48584         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
48585         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
48586         ARPA_INET_H directly.
48587         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
48588
48589 2008-09-28  Bruno Haible  <bruno@clisp.org>
48590
48591         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
48592         from gl_HEADER_SYS_SOCKET.
48593         (gl_HEADER_SYS_SOCKET): Invoke it.
48594         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
48595
48596 2008-09-28  Bruno Haible  <bruno@clisp.org>
48597
48598         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
48599         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
48600         Needed on OSF/1 4.0.
48601
48602 2008-09-28  Bruno Haible  <bruno@clisp.org>
48603
48604         Override open more carefully.
48605         * lib/open.c (orig_open): New function.
48606         (rpl_open): Use orig_open instead of open.
48607         * lib/fcntl.in.h: Add special invocation convention.
48608         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
48609         (gl_FUNC_OPEN): Invoke it.
48610
48611         Override freopen more carefully.
48612         * lib/freopen.c (orig_freopen): New function.
48613         (rpl_freopen): Use orig_freopen instead of freopen.
48614         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
48615         (gl_FUNC_FREOPEN): Invoke it.
48616
48617         Override fopen more carefully.
48618         * lib/fopen.c (orig_fopen): New function.
48619         (rpl_fopen): Use orig_fopen instead of fopen.
48620         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
48621         (gl_FUNC_FOPEN): Invoke it.
48622         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
48623
48624 2008-09-28  Bruno Haible  <bruno@clisp.org>
48625
48626         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
48627         SIGPIPE.
48628
48629 2008-09-28  Bruno Haible  <bruno@clisp.org>
48630
48631         * tests/test-sigaction.c (handler, main): Disable the check whether
48632         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
48633         glibc systems with LinuxThreads.
48634
48635 2008-09-28  Bruno Haible  <bruno@clisp.org>
48636
48637         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
48638
48639         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
48640         with AIX xlc.
48641         * lib/fcntl.in.h (open): Likewise.
48642         Reported by Rainer Tammer <tammer@tammer.net>.
48643
48644 2008-09-28  Bruno Haible  <bruno@clisp.org>
48645
48646         * modules/posix_spawnp-tests: New file.
48647         * tests/test-posix_spawn.c: New file.
48648         * tests/test-posix_spawn.in.sh: New file.
48649
48650         New module 'posix_spawnp'.
48651         * modules/posix_spawnp: New file.
48652         * lib/spawnp.c: New file, from GNU libc with modifications.
48653         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
48654
48655         New module 'posix_spawn'.
48656         * modules/posix_spawn: New file.
48657         * lib/spawn.c: New file, from GNU libc with modifications.
48658         * doc/posix-functions/posix_spawn.texi: Mention the new module.
48659
48660         New module 'posix_spawnattr_destroy'.
48661         * modules/posix_spawnattr_destroy: New file.
48662         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
48663         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
48664         module.
48665
48666         New module 'posix_spawnattr_setsigmask'.
48667         * modules/posix_spawnattr_setsigmask: New file.
48668         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
48669         modifications.
48670         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
48671         new module.
48672
48673         New module 'posix_spawnattr_getsigmask'.
48674         * modules/posix_spawnattr_getsigmask: New file.
48675         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
48676         modifications.
48677         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
48678         new module.
48679
48680         New module 'posix_spawnattr_setsigdefault'.
48681         * modules/posix_spawnattr_setsigdefault: New file.
48682         * lib/spawnattr_setdefault.c: New file, from GNU libc with
48683         modifications.
48684         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
48685         new module.
48686
48687         New module 'posix_spawnattr_getsigdefault'.
48688         * modules/posix_spawnattr_getsigdefault: New file.
48689         * lib/spawnattr_getdefault.c: New file, from GNU libc with
48690         modifications.
48691         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
48692         new module.
48693
48694         New module 'posix_spawnattr_setschedpolicy'.
48695         * modules/posix_spawnattr_setschedpolicy: New file.
48696         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
48697         modifications.
48698         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
48699         new module.
48700
48701         New module 'posix_spawnattr_getschedpolicy'.
48702         * modules/posix_spawnattr_getschedpolicy: New file.
48703         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
48704         modifications.
48705         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
48706         new module.
48707
48708         New module 'posix_spawnattr_setschedparam'.
48709         * modules/posix_spawnattr_setschedparam: New file.
48710         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
48711         modifications.
48712         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
48713         new module.
48714
48715         New module 'posix_spawnattr_getschedparam'.
48716         * modules/posix_spawnattr_getschedparam: New file.
48717         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
48718         modifications.
48719         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
48720         new module.
48721
48722         New module 'posix_spawnattr_setpgroup'.
48723         * modules/posix_spawnattr_setpgroup: New file.
48724         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
48725         modifications.
48726         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
48727         module.
48728
48729         New module 'posix_spawnattr_getpgroup'.
48730         * modules/posix_spawnattr_getpgroup: New file.
48731         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
48732         modifications.
48733         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
48734         module.
48735
48736         New module 'posix_spawnattr_setflags'.
48737         * modules/posix_spawnattr_setflags: New file.
48738         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
48739         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
48740         module.
48741
48742         New module 'posix_spawnattr_getflags'.
48743         * modules/posix_spawnattr_getflags: New file.
48744         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
48745         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
48746         module.
48747
48748         New module 'posix_spawnattr_init'.
48749         * modules/posix_spawnattr_init: New file.
48750         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
48751         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
48752         module.
48753
48754         New module 'posix_spawn_file_actions_destroy'.
48755         * modules/posix_spawn_file_actions_destroy: New file.
48756         * lib/spawn_faction_destroy.c: New file, from GNU libc with
48757         modifications.
48758         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
48759         the new module.
48760
48761         New module 'posix_spawn_file_actions_addopen'.
48762         * modules/posix_spawn_file_actions_addopen: New file.
48763         * lib/spawn_faction_addopen.c: New file, from GNU libc with
48764         modifications.
48765         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
48766         the new module.
48767
48768         New module 'posix_spawn_file_actions_adddup2'.
48769         * modules/posix_spawn_file_actions_adddup2: New file.
48770         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
48771         modifications.
48772         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
48773         the new module.
48774
48775         New module 'posix_spawn_file_actions_addclose'.
48776         * modules/posix_spawn_file_actions_addclose: New file.
48777         * lib/spawn_faction_addclose.c: New file, from GNU libc with
48778         modifications.
48779         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
48780         the new module.
48781
48782         New module 'posix_spawn_file_actions_init'.
48783         * modules/posix_spawn_file_actions_init: New file.
48784         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
48785         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
48786         new module.
48787
48788         New module 'posix_spawn-internal'.
48789         * modules/posix_spawn-internal: New file.
48790         * lib/spawn_int.h: New file, from GNU libc with modifications.
48791         * lib/spawni.c: New file, from GNU libc with modifications.
48792         * m4/posix_spawn.m4: New file.
48793
48794         New module 'spawn'.
48795         * modules/spawn: New file.
48796         * lib/spawn.in.h: New file, from GNU libc with modifications.
48797         * m4/spawn_h.m4: New file.
48798         * doc/posix-headers/spawn.texi: Mention the new module.
48799
48800 2008-09-28  Bruno Haible  <bruno@clisp.org>
48801
48802         * modules/sched-tests: New file.
48803         * tests/test-sched.c: New file.
48804
48805         New module 'sched'.
48806         * modules/sched: New file.
48807         * lib/sched.in.h: New file.
48808         * m4/sched_h.m4: New file.
48809         * doc/posix-headers/sched.texi: Mention the new module.
48810
48811 2008-09-27  Eric Blake  <ebb9@byu.net>
48812
48813         Fix previous patch, and tweak references to $0.
48814         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
48815         (func_version, func_gnulib_dir): Don't call this program
48816         gnulib-tool.
48817         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
48818         with using $0 in function.
48819         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
48820         (func_fatal_error): Reuse the name the user invoked us with.
48821
48822 2008-09-27  Bruno Haible  <bruno@clisp.org>
48823
48824         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
48825         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
48826         (gl_ICONV_H): Not here.
48827         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
48828         instead of assigning ICONV_H directly.
48829
48830         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
48831         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
48832         WCHAR_H directly.
48833
48834 2008-09-27  Bruno Haible  <bruno@clisp.org>
48835
48836         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
48837         * modules/arpa_inet (Depends-on): Add link-warning.
48838         (Makefile.am): Insert the definition of GL_LINK-WARNING.
48839         * modules/unistd (Makefile.am): Likewise.
48840
48841 2008-09-26  Bruno Haible  <bruno@clisp.org>
48842
48843         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
48844         variables.
48845         (func_version): Essentially copied from gnulib-tool.
48846         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
48847         func_readlink): Copied from gnulib-tool.
48848
48849 2008-09-26  Bruno Haible  <bruno@clisp.org>
48850
48851         * gnulib-tool (func_version): Change directory to $gnulib_dir before
48852         invoking git-version-gen.
48853
48854 2008-09-26  Bruno Haible  <bruno@clisp.org>
48855
48856         * posix-modules: Update to directory names changed on 2008-01-19.
48857         Remove commas in output before splitting into words. No more need to
48858         avoid 'ftruncate' since 2007-02-19.
48859
48860 2008-09-26  Bruno Haible  <bruno@clisp.org>
48861
48862         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
48863
48864 2008-09-26  Bruno Haible  <bruno@clisp.org>
48865
48866         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
48867         * modules/fwriteerror (Depends-on): Add errno.
48868
48869 2008-09-26  Bruno Haible  <bruno@clisp.org>
48870
48871         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
48872         * tests/test-vc-list-files-cvs.sh: Likewise.
48873
48874 2008-09-26  Bruno Haible  <bruno@clisp.org>
48875
48876         * doc/posix-headers/sys_resource.texi: Reorder items.
48877
48878 2008-09-26  Jim Meyering  <meyering@redhat.com>
48879
48880         fts: tweak inode comparison function
48881         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
48882         inode numbers, as documented.
48883
48884         fts: sort dirent entries on inode number before traversing
48885         This avoids a quadratic, seek-related performance penalty when
48886         operating on a directory containing many entries (measurable at 10k;
48887         3.5 hours at 2 million entries with a cold cache) on certain types
48888         of file systems, including ext3 and ext4, but not tmpfs.
48889         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
48890         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
48891         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
48892         (fs_handles_readdir_ordered_dirents_efficiently): New function.
48893         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
48894         (fts_build): Set the stat.st_ino member from D_INO.
48895         If it is likely to be useful, sort dirent entries on inode number.
48896
48897         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
48898         and the struct statfs.f_type member.
48899         * modules/fts (Depends-on): Add d-ino.
48900
48901 2008-09-26  Bruno Haible  <bruno@clisp.org>
48902
48903         * modules/sigpipe-die (Depends-on): Add sigpipe.
48904
48905         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
48906         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
48907         and GNULIB_STDIO_H_SIGPIPE are set.
48908         * lib/stdio-write.c: New file.
48909         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
48910         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
48911         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
48912         REPLACE_STDIO_WRITE_FUNCS.
48913         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
48914         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
48915         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
48916         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
48917         * modules/stdio (Files): Add lib/stdio-write.c.
48918         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
48919         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
48920         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
48921         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
48922         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
48923         REPLACE_FPRINTF_POSIX.
48924         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
48925         REPLACE_PRINTF_POSIX.
48926         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
48927         REPLACE_VFPRINTF_POSIX.
48928         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
48929         REPLACE_VPRINTF_POSIX.
48930         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
48931         SIGPIPE issue.
48932         * doc/posix-functions/fputc.texi: Likewise.
48933         * doc/posix-functions/fputs.texi: Likewise.
48934         * doc/posix-functions/fwrite.texi: Likewise.
48935         * doc/posix-functions/printf.texi: Likewise.
48936         * doc/posix-functions/putc.texi: Likewise.
48937         * doc/posix-functions/putchar.texi: Likewise.
48938         * doc/posix-functions/puts.texi: Likewise.
48939         * doc/posix-functions/vfprintf.texi: Likewise.
48940         * doc/posix-functions/vprintf.texi: Likewise.
48941
48942         * modules/safe-write (Depends-on): Add write.
48943
48944         * modules/sigpipe-tests: New file.
48945         * tests/test-sigpipe.c: New file.
48946         * tests/test-sigpipe.sh: New file.
48947
48948         * modules/write: New file.
48949         * lib/unistd.in.h: Include <sys/types.h>.
48950         (write): New declaration.
48951         * lib/write.c: New file.
48952         * m4/write.m4: New file.
48953         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48954         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
48955         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
48956         GNULIB_WRITE, REPLACE_WRITE.
48957         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
48958         and the SIGPIPE issue.
48959
48960         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
48961         (raise): New declaration.
48962         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
48963         (ext_signal): New function.
48964         (rpl_raise): New function.
48965         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
48966         GNULIB_SIGNAL_H_SIGPIPE.
48967         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
48968         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
48969
48970         * modules/sigpipe: New file.
48971         * m4/sigpipe.m4: New file.
48972
48973 2008-09-25  Derek Price  <derek@ximbiot.com>
48974             Bruno Haible  <bruno@clisp.org>
48975
48976         * gnulib-tool (func_import): Report all license incompatibilities, not
48977         just the first one.
48978
48979 2008-09-25  Bruno Haible  <bruno@clisp.org>
48980
48981         * gnulib-tool (func_import): When computing the edits, consider not
48982         only the Makefile.ams that exist but also those that will be generated.
48983
48984 2008-09-25  Simon Josefsson  <simon@josefsson.org>
48985
48986         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
48987         fixes gnulib-tool --test warning about duplicate dependency.
48988
48989 2008-09-25  Bruno Haible  <bruno@clisp.org>
48990
48991         * gnulib-tool: Don't ask the user to perform edits in the generated
48992         Makefile.ams.
48993         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
48994         apply to the Makefile.am being generated.
48995         (func_emit_tests_Makefile_am): Execute edits that apply to the
48996         Makefile.am being generated.
48997         (func_import): Setup list of Makefile.am edits before emitting the
48998         Makefile.ams, not at the end.
48999         (func_create_testdir): Update.
49000         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49001
49002 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49003
49004         * gnulib-tool (func_import): Store the --tests-base option in the
49005         comment in gnulib-cache.m4.
49006
49007 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
49008
49009         * NEWS: Document increased portability that sys_select now provides.
49010
49011         * lib/sys_select.in.h: Install select wrapper.
49012         * lib/sys_socket.in.h: Use more descriptive name when there is no
49013         select wrapper.
49014         * lib/winsock-select.c: New.
49015         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
49016         Require gl_HEADER_SYS_SOCKET.
49017         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
49018         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
49019         * tests/test-sys_select.c: Add functional tests.
49020
49021 2008-09-24  Eric Blake  <ebb9@byu.net>
49022
49023         open, fopen: close fd leak in last patch
49024         * lib/open.c (rpl_open): Close fd before returning error.
49025         * lib/fopen.c (rpl_fopen): Close fd before returning error.
49026         * doc/posix-functions/open.texi (open): Document that Irix also
49027         has the bug.
49028         * doc/posix-functions/fopen.texi (fopen): Likewise.
49029         Reported by Paolo Bonzini.
49030
49031 2008-09-24  Bruno Haible  <bruno@clisp.org>
49032
49033         Ensure that a filename ending in a slash cannot be used to access a
49034         non-directory.
49035         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
49036         to check whether it's really a directory.
49037         * lib/fopen.c: Include fcntl.h, unistd.h.
49038         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
49039         and fdopen().
49040         * modules/fopen (Depends-on): Add unistd.
49041         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
49042         * tests/test-fopen.c (main): Likewise.
49043         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
49044         * doc/posix-functions/fopen.texi: Likewise.
49045         Reported by Eric Blake.
49046
49047 2008-09-23  Eric Blake  <ebb9@byu.net>
49048
49049         c-stack: avoid compiler optimizations when provoking overflow
49050         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
49051         recursion harder to optimize, to ensure a stack overflow occurs.
49052         * tests/test-c-stack.c (recurse): Likewise.
49053         Borrowed from libsigsegv.
49054
49055         c-stack: work around Irix sigaltstack bug
49056         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
49057         whether sigaltstack uses wrong end of stack_t (copied in part from
49058         libsigsegv).
49059         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
49060         Irix bug, without requiring an over-allocation.
49061         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
49062         bug.
49063
49064         fopen: document mingw bug on directories
49065         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
49066         not allowing a stream visiting a directory, even though reading
49067         from such a stream is not portable.
49068
49069 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
49070
49071         * lib/poll.c: Rewrite.
49072         * modules/poll: Depend on alloca.
49073
49074 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
49075
49076         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
49077         instead define prototypes for a full set of wrappers.  Ensure
49078         that Cygwin does not use the compatibility code, which is only
49079         for MinGW.
49080         * lib/winsock.c: New.
49081         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
49082         * modules/sys_socket: Add lib/winsock.c.
49083
49084         * modules/poll-tests: Add errno and perror.
49085         * tests/test-poll.c: Use ioctl, not ioctlsocket.
49086
49087 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
49088
49089         * tests/test-poll.c: Downgrade minimum needed Winsock version.
49090
49091 2008-09-23  Bruno Haible  <bruno@clisp.org>
49092
49093         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
49094         * doc/glibc-functions/*: Likewise.
49095
49096 2008-09-23  Simon Josefsson  <simon@josefsson.org>
49097
49098         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
49099         success.
49100
49101 2008-09-22  Eric Blake  <ebb9@byu.net>
49102             Bruno Haible  <bruno@clisp.org>
49103
49104         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
49105         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
49106         supply %A but mishandle pseudo-NaN.
49107         Reported by Simon Josefsson.
49108
49109 2008-09-21  Bruno Haible  <bruno@clisp.org>
49110
49111         * tests/test-lock.c (main): Tweak skip message.
49112         * tests/test-tls.c (main): Likewise.
49113
49114 2008-09-21  Bruno Haible  <bruno@clisp.org>
49115
49116         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
49117         whether 'struct sigaction' has sa_sigaction here...
49118         (gl_PREREQ_SIG_HANDLER_H): ... not here.
49119         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
49120
49121 2008-09-21  Bruno Haible  <bruno@clisp.org>
49122
49123         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
49124         section.
49125         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
49126         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
49127         the new section.
49128         (Support for obsolete systems lacking POSIX:2001): New section.
49129         (String handling <string.h>): Move strdup to the new section.
49130         Suggested by Simon Josefsson and Paolo Bonzini.
49131
49132 2008-09-21  Bruno Haible  <bruno@clisp.org>
49133
49134         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
49135         exponents in %e and %g results on 'long double'. Needed for mingw's
49136         improved *printf functions.
49137         * tests/test-vasprintf-posix.c (test_function): Likewise.
49138         * tests/test-snprintf-posix.h (test_function): Likewise.
49139         * tests/test-sprintf-posix.h (test_function): Likewise.
49140         Reported by Eric Blake.
49141
49142 2008-09-21  Bruno Haible  <bruno@clisp.org>
49143
49144         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
49145         * tests/test-sprintf-posix.h (test_function): Likewise.
49146
49147 2008-09-21  Bruno Haible  <bruno@clisp.org>
49148
49149         * modules/getpass (Depends-on): Add strdup-posix.
49150
49151         New module 'strdup-posix'.
49152         * modules/strdup-posix: New file.
49153         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
49154         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
49155         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
49156         REPLACE_STRDUP.
49157         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
49158         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
49159         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49160         strdup-posix.
49161
49162         * modules/strdup (Depends-on): Remove malloc-posix.
49163
49164 2008-09-20  Bruno Haible  <bruno@clisp.org>
49165
49166         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
49167         Wildenhues.
49168
49169 2008-09-20  Bruno Haible  <bruno@clisp.org>
49170
49171         Ensure that wint_t gets defined on IRIX 5.3.
49172         * lib/wchar.in.h (wint_t): Define if not defined by the system.
49173         * lib/wctype.in.h (wint_t): Likewise.
49174         (__wctype_wint_t): Remove type.
49175         (isw*): Use wint_t instead of __wctype_wint_t.
49176         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
49177         * modules/wchar (Files): Add m4/wint_t.m4.
49178         (Makefile.am): Substitute HAVE_WINT_T.
49179         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
49180         * tests/test-wctype.c: Check that wint_t is defined.
49181         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
49182         * doc/posix-headers/wctype.texi: Likewise.
49183         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49184
49185 2008-09-18  Bruno Haible  <bruno@clisp.org>
49186
49187         * gnulib-tool (func_exit): Update comment.
49188
49189 2008-09-18  Simon Josefsson  <simon@josefsson.org>
49190
49191         * modules/getaddrinfo (Depends-on): Remove strdup, this module
49192         assumes strdup exists and does not depend on strdup to return
49193         ENOMEM on out of memory conditions.
49194
49195 2008-09-18  Bruno Haible  <bruno@clisp.org>
49196
49197         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
49198         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
49199         digits for the exponent.
49200
49201 2008-09-18  Jim Meyering  <meyering@redhat.com>
49202             Bruno Haible  <bruno@clisp.org>
49203
49204         * lib/vasnprintf.c (decimal_point_char): Define also if
49205         NEED_PRINTF_INFINITE_LONG_DOUBLE.
49206
49207 2008-09-16  Bruno Haible  <bruno@clisp.org>
49208         and Eric Blake  <ebb9@byu.net>
49209
49210         vasnprintf: support Irix 5.3
49211         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
49212         that mishandle long double infinity.
49213         Reported by Tom G. Christensen.
49214
49215 2008-09-16  Bruno Haible  <bruno@clisp.org>
49216
49217         * doc/glibc-functions/scandir.texi: Mention the function is missing on
49218         Solaris 9.
49219         * doc/glibc-functions/alphasort.texi: Likewise.
49220         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
49221
49222 2008-09-16  Jim Meyering  <meyering@redhat.com>
49223
49224         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
49225         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
49226         a umask modification leak out of a subshell.  Otherwise, the
49227         opensolaris /bin/sh would be accepted and thus cause unwarranted
49228         failures in the coreutils test suite.
49229
49230 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
49231
49232         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
49233         to succeed.
49234
49235 2008-09-16  Jim Meyering  <meyering@redhat.com>
49236
49237         avoid spurious test failure when library is built without ACL support
49238         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
49239         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
49240         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
49241         * tests/test-copy-acl.sh: Likewise.
49242
49243 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49244
49245         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
49246         based on character occurrence counts.
49247
49248 2008-09-15  Eric Blake  <ebb9@byu.net>
49249
49250         tests: avoid some compiler warnings
49251         * tests/test-memchr.c (main): Pass NULL indirectly.
49252         * tests/test-closein.c (main): Avoid unused variable.
49253
49254 2008-09-15  Bruno Haible  <bruno@clisp.org>
49255
49256         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
49257         are missing on OpenBSD 4.0 individually.
49258         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49259
49260 2008-09-15  Bruno Haible  <bruno@clisp.org>
49261
49262         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
49263         * doc/posix-functions/strerror.texi: Mention also Cygwin.
49264         * doc/posix-functions/perror.texi: Likewise.
49265         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
49266         is missing.
49267         Reported by Eric Blake.
49268
49269         * lib/errno.in.h: Use replacement values >= 2000.
49270         Reported by Eric Blake.
49271
49272 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49273
49274         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
49275         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
49276         limit.
49277         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
49278         compareseq was aborted.
49279
49280 2008-09-14  Bruno Haible  <bruno@clisp.org>
49281
49282         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
49283         yvec_edit_count.
49284         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
49285         (fstrcmp_bounded): Simplify result computation accordingly.
49286
49287 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49288
49289         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
49290         (fstrcmp): Define in terms of fstrcmp_bounded.
49291         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
49292         lower_bound argument.
49293         Return quickly if the result is certainly < lower_bound.
49294         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
49295
49296 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49297
49298         * lib/diffseq.h (EARLY_ABORT): New macro.
49299         (compareseq): Change return type to bool. Return true when EARLY_ABORT
49300         evaluates to true.
49301
49302 2008-09-14  Bruno Haible  <bruno@clisp.org>
49303
49304         * modules/perror-tests: New file.
49305         * tests/test-perror.sh: New file.
49306         * tests/test-perror.c: New file.
49307
49308         New module 'perror'.
49309         * lib/stdio.in.h (perror): New declaration.
49310         * lib/perror.c: New file.
49311         * m4/perror.m4: New file.
49312         * modules/perror: New file.
49313         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
49314         * doc/posix-functions/perror.texi: Mention the perror module.
49315         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
49316         REPLACE_PERROR.
49317         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
49318         REPLACE_PERROR.
49319
49320 2008-09-14  Bruno Haible  <bruno@clisp.org>
49321
49322         * modules/stdio (Makefile.am): Reorder to match the order in
49323         lib/stdio.in.h.
49324         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
49325
49326 2008-09-13  Bruno Haible  <bruno@clisp.org>
49327
49328         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
49329
49330 2008-09-13  Bruno Haible  <bruno@clisp.org>
49331
49332         Extend strerror to cover the added errno values.
49333         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
49334         (rpl_strerror): Provide error messages for the added errno values and
49335         for the WSA* values.
49336         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
49337         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
49338         strerror.
49339         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
49340         * modules/strerror (Depends-on): Add errno.
49341         * doc/posix-functions/strerror.texi: Document the change.
49342         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
49343         and EOVERFLOW.
49344
49345 2008-09-13  Bruno Haible  <bruno@clisp.org>
49346
49347         * modules/EOVERFLOW: Remove file.
49348         * m4/eoverflow.m4: Remove file.
49349         * modules/EOVERFLOW-tests: Remove file.
49350         * tests/test-EOVERFLOW.c: Remove file.
49351         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
49352         * modules/ftell (Depends-on): Likewise.
49353         * modules/getdelim (Depends-on): Likewise.
49354         * modules/getugroups (Depends-on): Likewise.
49355         * modules/poll (Depends-on): Likewise.
49356         * modules/snprintf (Depends-on): Likewise.
49357         * modules/sprintf-posix (Depends-on): Likewise.
49358         * modules/vasnprintf (Depends-on): Likewise.
49359         * modules/vasprintf (Depends-on): Likewise.
49360         * modules/vfprintf-posix (Depends-on): Likewise.
49361         * modules/vsnprintf (Depends-on): Likewise.
49362         * modules/vsprintf-posix (Depends-on): Likewise.
49363         * modules/xvasprintf (Depends-on): Likewise.
49364         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
49365         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
49366         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
49367         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
49368         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
49369         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
49370         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
49371         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
49372         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
49373         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
49374         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
49375         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
49376         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
49377         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
49378         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
49379         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
49380         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
49381         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
49382         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
49383         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
49384         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
49385         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
49386         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
49387         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
49388         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
49389         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
49390         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
49391         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
49392         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
49393         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
49394         * MODULES.html.sh: Remove EOVERFLOW.
49395         * NEWS: Mention the change.
49396
49397 2008-09-13  Bruno Haible  <bruno@clisp.org>
49398
49399         * modules/errno-tests: New file.
49400         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
49401
49402         * lib/errno.in.h: New file.
49403         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
49404         * modules/errno: New file.
49405         * doc/posix-headers/errno.texi: Update documentation.
49406         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
49407
49408 2008-09-13  Bruno Haible  <bruno@clisp.org>
49409
49410         * tests/test-poll.c: Use #if for native Windows, rather than testing
49411         __MSVCRT__.
49412
49413 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49414             Bruno Haible  <bruno@clisp.org>
49415
49416         * lib/glob.c: Don't include <pwd.h> on native Windows.
49417         (WINDOWS32): New macro.
49418         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
49419
49420 2008-09-13  Bruno Haible  <bruno@clisp.org>
49421
49422         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
49423         (ETIMEDOUT): Remove macro.
49424         (glthread_cond_timedwait_multithreaded): New declaration.
49425         (glthread_cond_timedwait): Use it.
49426         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
49427         (glthread_cond_timedwait_multithreaded): New function.
49428
49429 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
49430
49431         * modules/poll-tests: Do not check for io.h.
49432         * tests/test-poll.c: Check for __MSVCRT__ instead.
49433
49434 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
49435
49436         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
49437         * modules/poll-tests: Add inet_pton, stdbool, sockets.
49438         * tests/test-poll.c: Use them.  Use _pipe on Windows.
49439
49440 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
49441
49442         * modules/poll-tests: New.
49443         * tests/test-poll.c: New.
49444
49445 2008-09-12  Eric Blake  <ebb9@byu.net>
49446
49447         frexp: test for NetBSD failure on -0.0
49448         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
49449         not all, bugs from NetBSD 3.0 have been fixed.
49450         * doc/posix-functions/frexp.texi (frexp): Document bug.
49451         Reported by Thomas Klausner.
49452
49453         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
49454         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
49455         literal -0.0.
49456         Reported by Jonathan C. Patschke <jp@centtech.com>.
49457
49458 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49459
49460         * lib/glthread/cond.h: Use dummy implementation also if
49461         USE_WIN32_THREADS.
49462
49463 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49464
49465         * modules/fnmatch-posix (License): Change to LGPLv2+.
49466         * modules/fnmatch-gnu (License): Likewise.
49467
49468 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49469
49470         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
49471
49472 2008-09-11  Jim Meyering  <meyering@redhat.com>
49473
49474         * users.txt: Add gtk-vnc.
49475
49476 2008-09-08  Simon Josefsson  <simon@josefsson.org>
49477
49478         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
49479         rotate amounts.
49480
49481         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
49482         required for 16-bit and 8-bit rotates.
49483         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
49484         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
49485         UINT8_MAX instead of hard-coded constants.
49486         Suggested by Paul Eggert.
49487
49488 2008-09-07  Bruno Haible  <bruno@clisp.org>
49489
49490         * tests/test-striconveh.c (main): Check behaviour when converting from
49491         UTF-7.
49492
49493         Make striconveh work better with stateful encodings.
49494         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
49495         that iconv does not increment the inptr when returning -1/EINVAL.
49496
49497 2008-09-07  Bruno Haible  <bruno@clisp.org>
49498
49499         * build-aux/config.rpath: Update according to libtool-2.2.6.
49500         * build-aux/config.libpath: Likewise.
49501
49502 2008-09-06  Bruno Haible  <bruno@clisp.org>
49503
49504         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
49505         * lib/freadptr.c (freadptr): Likewise.
49506         * lib/freadseek.c (freadptrinc): Likewise.
49507         Reported by Simon Josefsson.
49508
49509 2008-09-06  Bruno Haible  <bruno@clisp.org>
49510
49511         * modules/freadptr (License): Change to LGPLv2+.
49512         * modules/freadseek (License): Likewise.
49513         Suggested by Eric Blake.
49514
49515         * modules/memchr2 (License): Change to LGPLv2+.
49516         Approved by Eric Blake.
49517
49518 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49519             Bruno Haible  <bruno@clisp.org>
49520
49521         Make gnulib-tool work with native 'sed' on AIX.
49522         * gnulib-tool (sed_noop): New variable.
49523         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
49524         func_add_or_update, func_create_testdir): Use it to initialize sed
49525         script variables.
49526         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49527
49528 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
49529             Bruno Haible  <bruno@clisp.org>
49530
49531         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
49532         also works after #include directives.
49533
49534 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
49535
49536         getdate.y: reject an out-of-range timezone value
49537         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
49538         the range [-24...+24].  When specified with only one or two digits,
49539         * tests/test-getdate.c: Tests for the fix.
49540         * doc/getdate.texi: Document this change.
49541
49542 2008-09-03  Bruno Haible  <bruno@clisp.org>
49543
49544         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
49545
49546 2008-09-02  Simon Josefsson  <simon@josefsson.org>
49547
49548         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
49549         <bruce.korb@gmail.com> with ideas from Ben Pfaff
49550         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
49551         Blake <ebb9@byu.net>.
49552
49553         * tests/test-bitrotate.c: Add more test vectors.
49554
49555 2008-09-02  Eric Blake  <ebb9@byu.net>
49556
49557         vasnprintf-posix: handle large precision via %.*d
49558         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
49559         when handling it ourselves.
49560         * tests/test-vasnprintf-posix.c (test_function): Add test.
49561         * tests/test-snprintf-posix.h (test_function): Likewise.
49562         * tests/test-sprintf-posix.h (test_function): Likewise.
49563         * tests/test-vasprintf-posix.c (test_function): Likewise.
49564         Reported by Alain Guibert.
49565
49566 2008-09-01  Eric Blake  <ebb9@byu.net>
49567
49568         c-stack: make configure-time check more robust
49569         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
49570         successful sigaction call.
49571         Reported by Tom G. Christensen.
49572
49573 2008-09-01  Bruno Haible  <bruno@clisp.org>
49574
49575         New module 'findprog-lgpl'.
49576         * modules/findprog-lgpl: New file.
49577         * lib/findprog-lgpl.c: New file.
49578         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
49579         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
49580         to decide whether to use strdup or xstrdup, concatenated_filename or
49581         xconcatenated_filename.
49582
49583 2008-09-01  Bruno Haible  <bruno@clisp.org>
49584
49585         Split module 'concat-filename' into 'concat-filename' (LGPL) and
49586         'xconcat-filename' (GPL).
49587         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
49588         (License): Change to LGPLv2+.
49589         * modules/xconcat-filename: New file.
49590         * lib/concat-filename.h (concatenated_filename): Change specification.
49591         (xconcatenated_filename): New declaration.
49592         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
49593         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
49594         memory situations.
49595         * lib/xconcat-filename.c: New file.
49596         * NEWS: Mention the change.
49597         * lib/findprog.c: Include concat-filename.h, not filename.h.
49598         (find_in_path): Use xconcatenated_filename instead of
49599         concatenated_filename.
49600         * lib/javacomp.c: Include concat-filename.h, not filename.h.
49601         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
49602         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
49603         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
49604         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
49605         instead of concatenated_filename.
49606         * lib/javaexec.c: Include concat-filename.h, not filename.h.
49607         (execute_java_class): Use xconcatenated_filename instead of
49608         concatenated_filename.
49609         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
49610         * modules/javacomp (Depends-on): Likewise.
49611         * modules/javaexec (Depends-on): Likewise.
49612
49613 2008-09-01  Bruno Haible  <bruno@clisp.org>
49614
49615         Split module 'filename' into 'filename' and 'concat-filename'.
49616         * modules/filename: Keep only lib/filename.h.
49617         (License): Change to LGPLv2+.
49618         * modules/concat-filename: New file, extracted from modules/filename.
49619         * lib/filename.h (concatenated_filename): Remove declaration.
49620         * lib/concat-filename.h: New file, extracted from lib/filename.h.
49621         * lib/concat-filename.c: Include concat-filename.h.
49622         * NEWS: Mention the change.
49623
49624 2008-09-01  Simon Josefsson  <simon@josefsson.org>
49625
49626         * lib/bitrotate.h (rotl8, rotr8): Add.
49627
49628         * modules/bitrotate (configure.ac): Need
49629         AC_REQUIRE([AC_C_INLINE]).
49630         (Description): Mention stdint.h.  Reported by Bruno Haible
49631         <bruno@clisp.org>.
49632
49633         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
49634         Paolo Bonzini <bonzini@gnu.org>.
49635
49636 2008-08-31  Bruno Haible  <bruno@clisp.org>
49637
49638         Assume Solaris specific bi-arch conventions on Solaris systems.
49639         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
49640         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
49641         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
49642         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
49643         like acl_libdirstem.
49644         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
49645         acl_libdirstem.
49646         * NEWS: Mention the change.
49647         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
49648
49649 2008-08-31  Jim Meyering  <meyering@redhat.com>
49650
49651         * lib/strftime.h: Add comments describing the two added arguments.
49652
49653         remove duplicate #include directives
49654         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
49655         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
49656
49657 2008-08-31  Bruno Haible  <bruno@clisp.org>
49658
49659         New module 'sigpipe-die'.
49660         * modules/sigpipe-die: New file.
49661         * lib/sigpipe-die.h: New file.
49662         * lib/sigpipe-die.c: New file.
49663         * MODULES.html.sh (Signal handling): Add sigpipe-die.
49664
49665 2008-08-31  Bruno Haible  <bruno@clisp.org>
49666
49667         Don't override previously installed signal handlers.
49668         * lib/fatal-signal.c (saved_sigactions): New variable.
49669         (uninstall_handlers): Reset the signal to the saved handler, not
49670         to SIG_DFL (except when ignored).
49671         (install_handlers): Save the previous handlers.
49672
49673 2008-08-30  Bruno Haible  <bruno@clisp.org>
49674
49675         * gnulib-tool (func_reset_sigpipe): New function.
49676         (func_get_automake_snippet, func_modules_transitive_closure,
49677         func_import): Invoke it before a join command that reads from stdin,
49678         to avoid "echo: write error: Broken pipe" error messages on stderr.
49679         Reported by Sam Steingold <sds@gnu.org>.
49680
49681 2008-08-30  Bruno Haible  <bruno@clisp.org>
49682
49683         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
49684         Code copied from m4/open.m4.
49685         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
49686         access and the filename ends in a slash. Code copied from lib/open.c.
49687         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
49688         * tests/test-fopen.c (main): Check against bug with trailing slash.
49689
49690 2008-08-29  Bruno Haible  <bruno@clisp.org>
49691
49692         Avoid some "gcc -pedantic" warnings.
49693         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
49694         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
49695         * lib/dirent.in.h: Likewise.
49696         * lib/fcntl.in.h: Likewise.
49697         * lib/float.in.h: Likewise.
49698         * lib/iconv.in.h: Likewise.
49699         * lib/inttypes.in.h: Likewise.
49700         * lib/locale.in.h: Likewise.
49701         * lib/math.in.h: Likewise.
49702         * lib/netinet_in.in.h: Likewise.
49703         * lib/search.in.h: Likewise.
49704         * lib/signal.in.h: Likewise.
49705         * lib/stdarg.in.h: Likewise.
49706         * lib/stdint.in.h: Likewise.
49707         * lib/stdio.in.h: Likewise.
49708         * lib/stdlib.in.h: Likewise.
49709         * lib/string.in.h: Likewise.
49710         * lib/strings.in.h: Likewise.
49711         * lib/sys_select.in.h: Likewise.
49712         * lib/sys_socket.in.h: Likewise.
49713         * lib/sys_stat.in.h: Likewise.
49714         * lib/sys_time.in.h: Likewise.
49715         * lib/sysexits.in.h: Likewise.
49716         * lib/time.in.h: Likewise.
49717         * lib/unistd.in.h: Likewise.
49718         * lib/wchar.in.h: Likewise.
49719         * lib/wctype.in.h: Likewise.
49720         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
49721         * modules/fchdir (Makefile.am): Likewise.
49722         * modules/fcntl (Makefile.am): Likewise.
49723         * modules/float (Makefile.am): Likewise.
49724         * modules/iconv_open (Makefile.am): Likewise.
49725         * modules/inttypes (Makefile.am): Likewise.
49726         * modules/locale (Makefile.am): Likewise.
49727         * modules/math (Makefile.am): Likewise.
49728         * modules/netinet_in (Makefile.am): Likewise.
49729         * modules/search (Makefile.am): Likewise.
49730         * modules/signal (Makefile.am): Likewise.
49731         * modules/stdarg (Makefile.am): Likewise.
49732         * modules/stdint (Makefile.am): Likewise.
49733         * modules/stdio (Makefile.am): Likewise.
49734         * modules/stdlib (Makefile.am): Likewise.
49735         * modules/string (Makefile.am): Likewise.
49736         * modules/strings (Makefile.am): Likewise.
49737         * modules/sys_select (Makefile.am): Likewise.
49738         * modules/sys_socket (Makefile.am): Likewise.
49739         * modules/sys_stat (Makefile.am): Likewise.
49740         * modules/sys_time (Makefile.am): Likewise.
49741         * modules/sysexits (Makefile.am): Likewise.
49742         * modules/time (Makefile.am): Likewise.
49743         * modules/unistd (Makefile.am): Likewise.
49744         * modules/wchar (Makefile.am): Likewise.
49745         * modules/wctype (Makefile.am): Likewise.
49746         Reported by Reuben Thomas <rrt@sc3d.org>.
49747
49748 2008-08-29  Bruno Haible  <bruno@clisp.org>
49749
49750         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
49751         any more.
49752
49753 2008-08-29  Simon Josefsson  <simon@josefsson.org>
49754
49755         * MODULES.html.sh (Misc): Add bitrotate.
49756
49757         * modules/bitrotate: New file.
49758
49759         * lib/bitrotate.h: New file.
49760
49761         * modules/bitrotate-tests: New file.
49762
49763         * tests/test-bitrotate.c: New file.
49764
49765         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
49766         on the bitrotate module.
49767
49768         * lib/arctwo.c: Use new bitrotate module.
49769
49770 2008-08-29  Jim Meyering  <meyering@redhat.com>
49771
49772         bootstrap: merge changes from coreutils
49773         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
49774         of copied files.  Remove a kludge, now that this is fixed.
49775         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
49776         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
49777         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
49778
49779 2008-08-29  Bruno Haible  <bruno@clisp.org>
49780
49781         * MODULES.html.sh: Remove --cvs-urls option.
49782
49783 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
49784
49785         maint.mk: adjust to file name change
49786         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
49787
49788 2008-08-28  Jim Meyering  <meyering@redhat.com>
49789
49790         * modules/getndelim2 (License): Relicense to LGPLv2+.
49791         Approved by Richard Stallman for the version of 1995, and by
49792         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
49793
49794 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
49795
49796         * lib/getdelim.c (flockfile, funlockfile): Make all of them
49797         dummy if one is not available.  Do not touch them if
49798         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
49799         (getc_maybe_unlocked): New.
49800         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
49801
49802 2008-08-26  Eric Blake  <ebb9@byu.net>
49803
49804         doc/INSTALL: resync from autoconf
49805         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
49806         (INSTALL_PRELUDE): Delete; this is done more efficiently by
49807         moving...
49808         * install.texi [!autoconf]: ...here.  Resync from autoconf.
49809         * INSTALL: Regenerate.
49810         * INSTALL.ISO: New file.
49811         * INSTALL.UTF-8: Likewise.
49812
49813 2008-08-26  Jim Meyering  <meyering@redhat.com>
49814
49815         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
49816         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
49817         these definitions conditional, so that they may be overridden, too.
49818
49819 2008-08-26  Bruno Haible  <bruno@clisp.org>
49820
49821         Generate INSTALL file variants with prettier quotes.
49822         * doc/Makefile (INSTALL_PRELUDE): New macro.
49823         (INSTALL): Use it.
49824         (INSTALL.ISO, INSTALL.UTF-8): New rules.
49825
49826 2008-08-26  Bruno Haible  <bruno@clisp.org>
49827
49828         Run makeinfo in an English locale.
49829         * doc/Makefile (MAKEINFO): New variable.
49830
49831 2008-08-26  Bruno Haible  <bruno@clisp.org>
49832
49833         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
49834         Suggested by Eric Blake.
49835
49836 2008-08-25  Bruno Haible  <bruno@clisp.org>
49837
49838         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
49839
49840 2008-08-25  Eric Blake  <ebb9@byu.net>
49841
49842         c-stack: test that stack overflow can be caught
49843         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
49844         that platform allows handling stack overflow; at least OS/2 EMX
49845         has sigaltstack, but crashes before transferring control to
49846         handler on stack overflow.
49847         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
49848         check for HAVE_STACK_OVERFLOW_HANDLING.
49849         Reported by Elbert Pol.
49850
49851 2008-08-25  Bruno Haible  <bruno@clisp.org>
49852
49853         * doc/posix-functions/strftime.texi: Fix description of strftime
49854         module.
49855
49856 2008-08-24  Bruno Haible  <bruno@clisp.org>
49857
49858         * tests/uniwidth/test-uc_width2.c: New file.
49859         * tests/uniwidth/test-uc_width2.sh: New file.
49860         * modules/uniwidth/width-tests (Files): Add the new files.
49861         (TESTS): Add uniwidth/test-uc_width2.sh.
49862         (TESTS_ENVIRONMENT): New variable.
49863         (check_PROGRAMS): Add test-uc_width2.
49864         (test_uc_width2_SOURCES): New variable.
49865
49866         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
49867         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
49868         not 0x00AB.
49869         Reported by Alexander V. Lukyanov <lav@netis.ru>.
49870
49871 2008-08-22  Eric Blake  <ebb9@byu.net>
49872
49873         test-lock, test-tls: mention why a test is skipped
49874         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
49875         skipped.
49876         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
49877
49878         count-one-bits: relax license
49879         * modules/count-one-bits (License): Relicense to LGPLv2+.
49880         Suggested by Ludovic Courtès, approved by Ben Pfaff.
49881
49882 2008-08-22  Andreas Schwab  <schwab@suse.de>
49883
49884         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
49885         Remove spurious space in assignment.
49886
49887 2008-08-21  Simon Josefsson  <simon@josefsson.org>
49888
49889         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
49890         Paul Eggert <eggert@CS.UCLA.EDU>.
49891
49892 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
49893
49894         * modules/gettext: Add m4/threadlib.m4.
49895
49896 2008-08-19  Eric Blake  <ebb9@byu.net>
49897
49898         test-c-stack: fix compilation failure on FreeBSD 5.0
49899         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
49900         headers before <sys/resource.h>.
49901         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
49902         the bug.
49903         Reported by Nelson H. F. Beebe.
49904
49905         strverscmp: migrate from "strverscmp.h" to <string.h>
49906         * modules/string (Makefile.am): Add new hooks.
49907         * modules/strverscmp (Files): Remove strverscmp.h.
49908         (Depends-on): Add string.
49909         (configure.ac): Add indicator.
49910         (Include): Mention new header.
49911         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
49912         defaults.
49913         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
49914         results.
49915         * lib/strverscmp.h: Delete.
49916         * lib/string.in.h (strverscmp): Provide declaration, when needed.
49917         * tests/test-strverscmp.c (includes): Adjust client.
49918         * lib/check-version.c (includes): Likewise.
49919         * NEWS: Document the change.
49920
49921         strverscmp: add unit test
49922         * modules/strverscmp-tests: New file.
49923         * tests/test-strverscmp.c: Likewise.
49924
49925 2008-08-19  Simon Josefsson  <simon@josefsson.org>
49926
49927         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
49928         regarding Windows crypto stuff, from Mono.
49929
49930 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
49931
49932         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
49933         if present, for intel RND.  Return error on failures.
49934
49935 2008-08-18  Ben Pfaff  <blp@gnu.org>
49936
49937         gitlog-to-changelog: give better diagnostic for failed pipe-open
49938         * build-aux/gitlog-to-changelog: Improve error message: suggest
49939         that the version of Git may be too old.
49940
49941 2008-08-18  Simon Josefsson  <simon@josefsson.org>
49942
49943         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
49944         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
49945
49946 2008-08-18  Bruno Haible  <bruno@clisp.org>
49947
49948         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
49949         pthread_in_use().
49950
49951 2008-08-18  Bruno Haible  <bruno@clisp.org>
49952
49953         * lib/glthread/threadlib.c: Include <pthread.h>.
49954
49955 2008-08-18  Bruno Haible  <bruno@clisp.org>
49956
49957         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
49958         glthread_recursive_lock_* macros.
49959         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
49960         Fix syntax error.
49961
49962 2008-08-18  Bruno Haible  <bruno@clisp.org>
49963
49964         * lib/glthread/thread.c: Avoid forcing a context switch right after
49965         thread creation.
49966
49967 2008-08-17  Bruno Haible  <bruno@clisp.org>
49968
49969         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
49970         * lib/glthread/thread.h: Provide Win32 specific implementation.
49971         * modules/thread (Files): Add lib/glthread/thread.c.
49972         (Depends-on): Add lock.
49973         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
49974
49975 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49976
49977         New module 'yield'.
49978         * modules/yield: New file.
49979         * lib/glthread/yield.h: New file.
49980         * m4/yield.m4: New file.
49981         * MODULES.html.sh (Multithreading): Add yield.
49982
49983 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49984
49985         New module 'thread'.
49986         * modules/thread: New file.
49987         * lib/glthread/thread.h: New file.
49988         * m4/thread.m4: New file.
49989         * MODULES.html.sh (Multithreading): Add thread.
49990
49991 2008-08-17  Bruno Haible  <bruno@clisp.org>
49992
49993         * lib/glthread/lock.h: Include <stdlib.h> always.
49994         * lib/glthread/tls.h: Likewise.
49995         * lib/glthread/cond.h: Likewise.
49996
49997 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49998
49999         New module 'cond'.
50000         * modules/cond: New file.
50001         * lib/glthread/cond.h: New file.
50002         * lib/glthread/cond.c: New file.
50003         * m4/cond.m4: New file.
50004         * MODULES.html.sh (Multithreading): Add cond.
50005
50006 2008-08-16  Eric Blake  <ebb9@byu.net>
50007
50008         c-stack: fix regression on Irix 5.3 from 2008-06-21
50009         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
50010         sa_sigaction...
50011         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
50012         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
50013         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
50014         * modules/signal (Makefile.am): Use the value.
50015         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
50016         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
50017         * doc/posix-headers/signal.texi (signal.h): Document this
50018         portability issue.
50019         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
50020         Reported by Tom G. Christensen.
50021
50022 2008-08-17  Bruno Haible  <bruno@clisp.org>
50023
50024         New module 'threadlib'.
50025         * modules/threadlib: New file.
50026         * lib/glthread/threadlib.c: New file, extracted from
50027         lib/glthread/lock.c.
50028         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
50029         functions.
50030         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
50031         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
50032         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
50033         macros.
50034         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
50035         (gl_DISABLE_THREADS): Remove macro.
50036         * modules/lock (Files): Remove build-aux/config.rpath.
50037         (Depends-on): Remove havelib. Add threadlib.
50038         (configure.ac-early): Remove section.
50039         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
50040         * modules/tls (Depends-on): Remove lock. Add threadlib.
50041         (Link): New section, copied from threadlib.
50042         * MODULES.html.sh (Multithreading): Add threadlib.
50043
50044 2008-08-14  Bruno Haible  <bruno@clisp.org>
50045
50046         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
50047         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
50048         glthread_rwlock_unlock, glthread_rwlock_destroy,
50049         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
50050         glthread_recursive_lock_destroy): Define as macros always.
50051         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
50052         glthread_lock_lock.
50053         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
50054         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
50055         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
50056         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
50057         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
50058         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
50059         (glthread_recursive_lock_lock_func): Renamed from
50060         glthread_recursive_lock_lock.
50061         (glthread_recursive_lock_unlock_func): Renamed from
50062         glthread_recursive_lock_unlock.
50063         (glthread_recursive_lock_destroy_func): Renamed from
50064         glthread_recursive_lock_destroy.
50065
50066 2008-08-14  Bruno Haible  <bruno@clisp.org>
50067
50068         * lib/glthread/lock.h: Renamed from lib/lock.h.
50069         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
50070         * lib/glthread/tls.h: Renamed from lib/tls.h.
50071         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
50072         * lib/fstrcmp.c: Update includes.
50073         * lib/strsignal.c: Update includes.
50074         * modules/lock (Files, Makefile.am): Update.
50075         (Include): Change to "glthread/lock.h".
50076         * modules/tls (Files, Makefile.am): Update.
50077         (Include): Change to "glthread/tls.h".
50078         * tests/test-lock.c: Update includes.
50079         * tests/test-tls.c: Update includes.
50080         * NEWS: Mention the renamed header files.
50081
50082 2008-08-11  Jim Meyering  <meyering@redhat.com>
50083
50084         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
50085
50086 2008-08-11  Eric Blake  <ebb9@byu.net>
50087
50088         test-c-stack: avoid C99-ism
50089         * tests/test-c-stack.c (main): Fix whitespace, move declaration
50090         before statement.
50091         Reported by Alain Guibert.
50092
50093 2008-08-10  Jim Meyering  <meyering@redhat.com>
50094
50095         ensure that return value of uinttostr et al are not ignored
50096         * lib/inttostr.h (__GNUC_PREREQ): Define.
50097         (__attribute_warn_unused_result__): Define.
50098         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
50099
50100 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
50101
50102         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
50103         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
50104
50105 2008-08-07  Jim Meyering  <meyering@redhat.com>
50106
50107         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
50108
50109         * modules/mkstemp (License): Relicense under LGPLv2+.
50110         * modules/tempname (License): Likewise.
50111
50112 2008-08-06  Bruno Haible  <bruno@clisp.org>
50113
50114         * lib/poll.c (poll): Further micro-optimization.
50115
50116 2008-08-06  Jim Meyering  <meyering@redhat.com>
50117
50118         inet_pton.c: use locale-independent tolower
50119         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
50120         (inet_pton6): Use c_tolower rather than tolower.
50121         * modules/inet_pton (Depends-on): Add c-ctype.
50122
50123 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
50124
50125         * lib/poll.c (poll): Avoid division when timeout is 0, cache
50126         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
50127
50128 2008-08-06  Jim Meyering  <meyering@redhat.com>
50129
50130         * modules/inet_pton (License): Relicense under LGPLv2+.
50131
50132 2008-08-03  Bruno Haible  <bruno@clisp.org>
50133
50134         Additional non-aborting API for lock and tls.
50135         * lib/lock.h: Include <errno.h>.
50136         (glthread_lock_init): New macro/function.
50137         (gl_lock_init): Define as wrapper around glthread_lock_init.
50138         (glthread_lock_lock): New macro/function.
50139         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
50140         (glthread_lock_unlock): New macro/function.
50141         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
50142         (glthread_lock_destroy): New macro/function.
50143         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
50144         (glthread_rwlock_init): New macro/function.
50145         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
50146         (glthread_rwlock_rdlock): New macro/function.
50147         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
50148         (glthread_rwlock_wrlock): New macro/function.
50149         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
50150         (glthread_rwlock_unlock): New macro/function.
50151         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
50152         (glthread_rwlock_destroy): New macro/function.
50153         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
50154         (glthread_recursive_lock_init): New macro/function.
50155         (gl_recursive_lock_init): Define as wrapper around
50156         glthread_recursive_lock_init.
50157         (glthread_recursive_lock_lock): New macro/function.
50158         (gl_recursive_lock_lock): Define as wrapper around
50159         glthread_recursive_lock_lock.
50160         (glthread_recursive_lock_unlock): New macro/function.
50161         (gl_recursive_lock_unlock): Define as wrapper around
50162         glthread_recursive_lock_unlock.
50163         (glthread_recursive_lock_destroy): New macro/function.
50164         (gl_recursive_lock_destroy): Define as wrapper around
50165         glthread_recursive_lock_destroy.
50166         (glthread_once): New macro/function.
50167         (gl_once): Define as wrapper around glthread_once.
50168         Update function declarations.
50169         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
50170         glthread_rwlock_init. Return error code.
50171         (glthread_rwlock_rdlock_multithreaded): Renamed from
50172         glthread_rwlock_rdlock. Return error code.
50173         (glthread_rwlock_wrlock_multithreaded): Renamed from
50174         glthread_rwlock_wrlock. Return error code.
50175         (glthread_rwlock_unlock_multithreaded): Renamed from
50176         glthread_rwlock_unlock. Return error code.
50177         (glthread_rwlock_destroy_multithreaded): Renamed from
50178         glthread_rwlock_destroy. Return error code.
50179         (glthread_recursive_lock_init_multithreaded): Renamed from
50180         glthread_recursive_lock_init. Return error code.
50181         (glthread_recursive_lock_lock_multithreaded): Renamed from
50182         glthread_recursive_lock_lock. Return error code.
50183         (glthread_recursive_lock_unlock_multithreaded): Renamed from
50184         glthread_recursive_lock_unlock. Return error code.
50185         (glthread_recursive_lock_destroy_multithreaded): Renamed from
50186         glthread_recursive_lock_destroy. Return error code.
50187         (glthread_once_call): Make static.
50188         (glthread_once_multithreaded): Renamed from glthread_once.
50189         * lib/tls.h: Include <errno.h>.
50190         (glthread_tls_key_init): New macro/function.
50191         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
50192         (glthread_tls_set): New macro/function.
50193         (gl_tls_set): Define as wrapper around glthread_tls_set.
50194         (glthread_tls_key_destroy): New macro/function.
50195         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
50196         Update function declarations.
50197         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
50198         glthread_tls_get.
50199         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
50200
50201 2008-08-04  Eric Blake  <ebb9@byu.net>
50202
50203         gnumakefile: use space, not TAB, outside of targets
50204         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
50205
50206 2008-08-02  Jim Meyering  <meyering@redhat.com>
50207
50208         getdate.y: avoid locale-dependent date parsing failure
50209         In Turkish locales, getdate would fail to recognize keywords
50210         containing a lowercase "i".  The solution is not to rely on
50211         locale-sensitive case-conversion.
50212         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
50213         (lookup_word): Use c_toupper in place of toupper.
50214         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
50215         Reported by Vefa Bicakci <bicave@superonline.com> in
50216         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
50217         * modules/getdate (Depends-on): Add c-ctype.
50218
50219 2008-08-02  Bruno Haible  <bruno@clisp.org>
50220
50221         * gnulib-tool (func_import): When updating or creating a .gitignore
50222         file, prepend each added line with a slash, and ignore leading slashes
50223         from the existing lines.
50224         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
50225
50226 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50227
50228         Portability fix for GNU make 3.79.1.
50229         * top/GNUmakefile: Avoid 'else COND', which older GNU make
50230         versions do not understand.
50231
50232 2008-08-01  Bruno Haible  <bruno@clisp.org>
50233
50234         Work around bug of HP-UX 10.20 cc with -0.0 literal.
50235         * tests/test-isnanf.h (zero): New variable.
50236         (main): Avoid literal -0.0f.
50237         * tests/test-isnand.h (zero): New variable.
50238         (main): Avoid literal -0.0.
50239         * tests/test-isnanl.h (zero): New variable.
50240         (main): Avoid literal -0.0L.
50241         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
50242         (test_float, test_double, test_long_double): Avoid literals -0.0f,
50243         -0.0, -0.0L.
50244         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
50245         (test_signbitd): Avoid literal -0.0.
50246         (test_signbitl): Avoid literal -0.0L.
50247         * tests/test-ceilf1.c (zero): New variable.
50248         (main): Avoid literal -0.0f.
50249         * tests/test-ceill.c (zero): New variable.
50250         (main): Avoid literal -0.0L.
50251         * tests/test-floorf1.c (zero): New variable.
50252         (main): Avoid literal -0.0f.
50253         * tests/test-floorl.c (zero): New variable.
50254         (main): Avoid literal -0.0L.
50255         * tests/test-roundf1.c (zero): New variable.
50256         (main): Avoid literal -0.0f.
50257         * tests/test-round1.c (zero): New variable.
50258         (main): Avoid literal -0.0.
50259         * tests/test-roundl.c (zero): New variable.
50260         (main): Avoid literal -0.0L.
50261         * tests/test-truncf1.c (zero): New variable.
50262         (main): Avoid literal -0.0f.
50263         * tests/test-trunc1.c (zero): New variable.
50264         (main): Avoid literal -0.0.
50265         * tests/test-truncl.c (zero): New variable.
50266         (main): Avoid literal -0.0L.
50267         * tests/test-frexp.c (zero): New variable.
50268         (main): Avoid literal -0.0.
50269         * tests/test-frexpl.c (zero): New variable.
50270         (main): Avoid literal -0.0L.
50271         * tests/test-ldexpl.c (zero): New variable.
50272         (main): Avoid literal -0.0L.
50273         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
50274         (zerod, zerol): New variables.
50275         (test_function): Avoid literals -0.0, -0.0L.
50276         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
50277         (zerod, zerol): New variables.
50278         (test_function): Avoid literals -0.0, -0.0L.
50279         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
50280         (zerod, zerol): New variables.
50281         (test_function): Avoid literals -0.0, -0.0L.
50282         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
50283         (zerod, zerol): New variables.
50284         (test_function): Avoid literals -0.0, -0.0L.
50285         * tests/test-strtod.c (zero): New variable.
50286         (main): Avoid literal -0.0.
50287         Reported by Jonathan C. Patschke <jp@centtech.com>.
50288
50289 2008-07-31  Jim Meyering  <meyering@redhat.com>
50290
50291         sha256.h: correct definition of SHA224_DIGEST_SIZE
50292         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
50293         Reported by Paulie Pena IV <paulie4@gmail.com>.
50294         Define as 224 / 8, rather than as a literal.
50295         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
50296         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
50297         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
50298
50299 2008-07-31  Bruno Haible  <bruno@clisp.org>
50300
50301         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
50302         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
50303         Reported by Jonathan Patschke <jp@centtech.com>.
50304
50305 2008-07-31  Bruno Haible  <bruno@clisp.org>
50306
50307         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
50308         Reported by Paolo Bonzini <bonzini@gnu.org>.
50309
50310 2008-07-30  Eric Blake  <ebb9@byu.net>
50311
50312         test-strtod: allow compilation without -lm
50313         * tests/test-strtod.c (main): Avoid link dependence on fabs.
50314         Reported by Dennis Clarke <blastwave@gmail.com>.
50315
50316 2008-07-28  Jim Meyering  <meyering@redhat.com>
50317
50318         bootstrap: work also when there are no .po files in po/
50319         * build-aux/bootstrap (update_po_files): Complete the change
50320         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
50321
50322 2008-07-27  Jim Meyering  <meyering@redhat.com>
50323
50324         * users.txt: Add zile.
50325
50326 2008-07-26  Ben Pfaff  <blp@gnu.org>
50327
50328         Add missing dependencies on new m4/exponent[fdl].m4 files.
50329         * modules/isnanf-nolibm: Add m4/exponentf.m4.
50330         * modules/isnand-nolibm: Add m4/exponentd.m4.
50331         * modules/isnanl-nolibm: Add m4/exponentl.m4.
50332         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
50333         m4/isnan[fdl].m4, because the macros actually used moved.
50334         Reported by Jim Meyering.
50335
50336 2008-07-14  Ben Pfaff  <blp@gnu.org>
50337
50338         Add isinf module.
50339         * lib/isinf.c: New file.
50340         * lib/math.in.h: Define isinf macro if we have decided to replace
50341         it.
50342         * m4/isinf.m4: New file.
50343         * m4/math_h.m4: Initialize and substitute variables for isinf
50344         module.
50345         * modules/isinf: New file.
50346         * modules/isinf-tests: New file.
50347         * modules/math: Add substitutions for new module.
50348         * tests/test-isinf.c: New file.
50349         * doc/posix-functions/isinf.texi: Mention new module.
50350         * MODULES.html.sh: Mention new module.
50351
50352 2008-07-14  Ben Pfaff  <blp@gnu.org>
50353
50354         Factor out some macros for use by additional modules.
50355         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
50356         exponentf.m4.
50357         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
50358         exponentd.m4.
50359         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
50360         file exponentl.m4.
50361         * m4/exponentf.m4: New file.
50362         * m4/exponentd.m4: New file.
50363         * m4/exponentl.m4: New file.
50364         * modules/isnanf: Use new file m4/exponentf.m4.
50365         * modules/isnand: Use new file m4/exponentd.m4.
50366         * modules/isnanl: Use new file m4/exponentl.m4.
50367
50368 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
50369
50370         mktime.c: normalize tp->tm_isdst value to -1/0/1.
50371         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
50372         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
50373         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
50374
50375         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
50376         readlink on platforms without PATH_MAX.
50377
50378 2008-07-21  Eric Blake  <ebb9@byu.net>
50379
50380         Warn, not fail, on stale version.
50381         * top/GNUmakefile (_curr-ver): Tone down previous patch.
50382
50383         Don't allow installation with stale devel version number.
50384         * top/GNUmakefile (_is-install-target): New macro.
50385         (_curr-ver): Forbid installation with stale version number.
50386
50387 2008-07-20  Bruno Haible  <bruno@clisp.org>
50388
50389         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
50390         TESTS_ENVIRONMENT.
50391         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
50392
50393 2008-07-20  Bruno Haible  <bruno@clisp.org>
50394
50395         * lib/c-stack.h (c_stack_action): Add documentation.
50396         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
50397
50398 2008-07-20  Bruno Haible  <bruno@clisp.org>
50399
50400         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
50401         * modules/readlink (License): Likewise.
50402
50403 2008-07-17  Eric Blake  <ebb9@byu.net>
50404
50405         * modules/c-stack (Link): Fix typo.
50406
50407         Make c-stack use libsigsegv, when available.
50408         * modules/c-stack (Depends-on): Add libsigsegv.
50409         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
50410         needed.
50411         * lib/c-stack.c (SIGSTKSZ): Define fallback.
50412         (segv_handler, overflow_handler, c_stack_action)
50413         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
50414         implementation when libsigsegv is available, but only when using
50415         the library is necessary.
50416         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
50417         comment, explaining why XSI check fails on Linux.
50418         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
50419         * tests/test-c-stack2.sh: Tweak skip message.
50420         * NEWS: Document new link-time requirements.
50421
50422 2008-07-16  Eric Blake  <ebb9@byu.net>
50423
50424         c-stack: Expose false positives when not using libsigsegv.
50425         * modules/c-stack-tests (Files): Expand test.
50426         * tests/test-c-stack.c (main): Add means to conditionally trigger
50427         non-overflow SIGSEGV.
50428         * tests/test-c-stack2.sh: New file.
50429
50430 2008-07-14  Bruno Haible  <bruno@clisp.org>
50431
50432         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
50433         Reported by Eric Blake.
50434
50435 2008-07-14  Sam Steingold  <sds@gnu.org>
50436             Bruno Haible  <bruno@clisp.org>
50437
50438         New module libsigsegv.
50439         * modules/libsigsegv: New file.
50440         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
50441         modifications.
50442         * MODULES.html.sh (Signal handling): New section.
50443
50444 2008-07-14  Bruno Haible  <bruno@clisp.org>
50445
50446         * modules/unictype/ctype-* (Description): Add the word "function".
50447         Improves the resulting doc in MODULES.html.
50448
50449 2008-07-12  Ben Pfaff  <blp@gnu.org>
50450
50451         Add longlong module.
50452         * modules/longlong: New file.
50453
50454 2008-07-12  Bruno Haible  <bruno@clisp.org>
50455
50456         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
50457         to empty.
50458
50459 2008-07-10  Ben Pfaff  <blp@gnu.org>
50460
50461         Add isnan module.
50462         * doc/posix-functions/isnan.texi: Mention new module.
50463         * lib/math.in.h: Define isnan macro if we have decided to replace
50464         it.
50465         * m4/isnan.m4: New file.
50466         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
50467         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
50468         also.
50469         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
50470         redundancy.
50471         * m4/math_h.m4: Initialize and substitute variables for isnan
50472         module.
50473         * modules/isnan: New file.
50474         * modules/isnan-tests: New file.
50475         * modules/math: Add substitutions for new module.
50476         * tests/test-isnan.c: New file.
50477         * MODULES.html.sh: Mention new module.
50478
50479 2008-07-10  Ben Pfaff  <blp@gnu.org>
50480
50481         Add isnanf module.
50482         * lib/isnanf.m4: New file.
50483         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
50484         (gl_HAVE_ISNANF_IN_LIBM): New macro.
50485         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
50486         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
50487         * modules/isnanf: New file.
50488         * modules/isnanf-tests: New file.
50489         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
50490         files.
50491         * tests/test-isnanf-nolibm.c: factored most of its contents into
50492         new file tests/test-isnanf.h.
50493         * tests/test-isnanf.h: New file.
50494         * tests/test-isnanf.c: New file.
50495         * MODULES.html.sh: Mention new module.
50496         * doc/glibc-functions/isnanf.texi: Mention new module.
50497
50498 2008-07-10  Ben Pfaff  <blp@gnu.org>
50499
50500         Add isnand module.
50501         * lib/isnand.h: New file.
50502         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
50503         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
50504         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
50505         functionality also.
50506         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
50507         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
50508         (gl_HAVE_ISNAND_IN_LIBM): New macro.
50509         * modules/isnand: New file.
50510         * modules/isnand-tests: New file.
50511         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
50512         files.
50513         * tests/test-isnand-nolibm.c: factored most of its contents into
50514         new file tests/test-isnand.h.
50515         * tests/test-isnand.h: New file.
50516         * tests/test-isnand.c: New file.
50517         * MODULES.html.sh: Mention new module.
50518
50519 2008-07-10  Ben Pfaff  <blp@gnu.org>
50520
50521         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
50522         * lib/isnand.h: Rename lib/isnand-nolibm.h.
50523         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
50524         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
50525         * modules/isnanf-nolibm: Update references to renamed files.
50526         * modules/isnand-nolibm: Likewise.
50527         * modules/isnanf-nolibm-tests: Likewise.
50528         * modules/isnand-nolibm-tests: Likewise.
50529         * lib/frexp.c: Likewise.
50530         * lib/isfinite.c: Likewise.
50531         * lib/signbitd.c: Likewise.
50532         * lib/signbitf.c: Likewise.
50533         * lib/vasnprintf.c: Likewise.
50534         * tests/test-ceilf1.c: Likewise.
50535         * tests/test-ceilf2.c: Likewise.
50536         * tests/test-floorf1.c: Likewise.
50537         * tests/test-floorf2.c: Likewise.
50538         * tests/test-frexp.c: Likewise.
50539         * tests/test-round1.c: Likewise.
50540         * tests/test-round2.c: Likewise.
50541         * tests/test-roundf1.c: Likewise.
50542         * tests/test-strtod.c: Likewise.
50543         * tests/test-trunc1.c: Likewise.
50544         * tests/test-trunc2.c: Likewise.
50545         * tests/test-truncf1.c: Likewise.
50546         * tests/test-truncf2.c: Likewise.
50547         * NEWS: Mention the renamed header files.
50548
50549 2008-07-11  Jim Meyering  <meyering@redhat.com>
50550
50551         vc-list-files: make the last-resort awk code more portable
50552         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
50553         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
50554         does not support it.
50555
50556 2008-07-10  Eric Blake  <ebb9@byu.net>
50557
50558         Work with tar's bootstrap.
50559         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
50560         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
50561         an m4 comment.
50562
50563 2008-07-09  Jim Meyering  <meyering@redhat.com>
50564
50565         posix-shell.m4: fix typo that made this test malfunction
50566         * m4/posix-shell.m4: Remove capitalization in variable name.
50567
50568 2008-07-08  Bruno Haible  <bruno@clisp.org>
50569
50570         * m4/onceonly.m4: Update comments.
50571         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50572
50573 2008-07-04  Jim Meyering  <meyering@redhat.com>
50574
50575         * users.txt: Add vc-dwim.
50576         (bison, coreutils): Use the gitweb URL.
50577
50578 2008-07-03  Jim Meyering  <meyering@redhat.com>
50579
50580         * users.txt: Add libffcall.  From Sam Steingold.
50581
50582 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
50583
50584         getdate.y: do not ignore TZ with relative day, month or year offset
50585         * lib/getdate.y (get_date): Move the tz-handling block to follow the
50586         relative-date-handling, since otherwise, the latter would clobber the
50587         sole output (an updated Start value) of the tz-handling block.
50588         * tests/test-getdate.c: Tests for the fix
50589
50590 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50591
50592         Recognize 'foo_LIBRARIES += libgnu.a'.
50593         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
50594         makefile snippet has already specified an installation location,
50595         also using '+='.
50596
50597 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
50598
50599         getdate.y: factor out common actions
50600         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
50601         Use them in place of open-coded actions.
50602
50603 2008-07-01  Simon Josefsson  <simon@josefsson.org>
50604
50605         Add self-test for getdate module.
50606         * modules/getdate-tests: New file.
50607         * tests/test-getdate.c: New file.
50608
50609 2008-06-29  Bruno Haible  <bruno@clisp.org>
50610
50611         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
50612         .gitignore.
50613         Reported by Sylvain Beucler <beuc@beuc.net>.
50614
50615 2008-06-29  Bruno Haible  <bruno@clisp.org>
50616
50617         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
50618         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
50619
50620 2008-06-29  Bruno Haible  <bruno@clisp.org>
50621
50622         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
50623         EXTRA_DIST.
50624         Reported by Sylvain Beucler <beuc@beuc.net>.
50625
50626 2008-06-26  Jim Meyering  <meyering@redhat.com>
50627
50628         make several modules depend on the "open" module
50629         This provides slightly increased consistency when opening-for-write
50630         the name of a non-directory spelled with a trailing slash.
50631         * modules/chdir-safer: Likewise.
50632         * modules/chown: Likewise.
50633         * modules/clean-temp: Likewise.
50634         * modules/copy-file: Likewise.
50635         * modules/fchdir: Likewise.
50636         * modules/fcntl-safer: Likewise.
50637         * modules/pipe: Likewise.
50638         * modules/utime: Likewise.
50639         Prompted by Eric Blake and Bruno Haible.
50640
50641 2008-06-24  Andreas Schwab  <schwab@suse.de>
50642
50643         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
50644         literals can be used as initializers for global variables.
50645
50646 2008-06-23  Eric Blake  <ebb9@byu.net>
50647
50648         Make gnulib-cache.m4 easier to diff.
50649         * gnulib-tool (func_import): Allow newlines when reading cached
50650         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
50651
50652 2008-06-23  Bruno Haible  <bruno@clisp.org>
50653
50654         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
50655         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
50656         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
50657         m4/signalblocking.m4.
50658         (gl_PREREQ_SIGACTION): Don't invoke it.
50659         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
50660         gl_PREREQ_SIG_HANDLER_H.
50661         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
50662         Don't check for sigaction here.
50663
50664 2008-06-23  Bruno Haible  <bruno@clisp.org>
50665
50666         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
50667         (install_handlers): Don't set the SA_RESETHAND flag.
50668
50669 2008-06-23  Bruno Haible  <bruno@clisp.org>
50670
50671         * m4/sigaction.m4: Comment fixes.
50672         * lib/signal.in.h: Likewise.
50673
50674 2008-06-23  Eric Blake  <ebb9@byu.net>
50675
50676         Fix typo.
50677         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
50678
50679         Avoid SA_ namespace.
50680         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
50681         Reported by Ralf Wildenhues.
50682
50683         Avoid test failure due to SA_RESTORER.
50684         * tests/test-sigaction.c (SA_MASK): New macro.
50685         (main): Avoid failing due to extension flags being set.
50686         Reported by Jim Meyering.
50687
50688         Revert use of sig-handler.h in sigprocmask.c.
50689         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
50690         it requires the existence of struct sigaction.
50691         * lib/sigprocmask.c (handler_t): Restore typedef.
50692         (rpl_signal, old_handlers): Use local type.
50693
50694 2008-06-22  Bruno Haible  <bruno@clisp.org>
50695
50696         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
50697         conditionally.
50698         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50699
50700 2008-06-22  Bruno Haible  <bruno@clisp.org>
50701
50702         * doc/posix-functions/siginterrupt.texi: Move note.
50703
50704         * lib/signal.in.h (SA_RESTART): New macro.
50705         * lib/sigaction.c: Update comment.
50706
50707         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
50708
50709         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
50710         (gl_PREREQ_SIGPROCMASK): Invoke it.
50711         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
50712
50713         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
50714
50715         * lib/sigprocmask.c: Update a comment.
50716
50717 2008-06-21  Eric Blake  <ebb9@byu.net>
50718
50719         Use sigaction module rather than signal().
50720         * modules/c-stack (Depends-on): Add sigaction.
50721         * modules/fatal-signal (Depends-on): Likewise.
50722         * modules/nanosleep (Depends-on): Likewise.
50723         * modules/sigprocmask (Files): Add sig-handler.h.
50724         * modules/sigaction (Files): Likewise.
50725         * lib/sig-handler.h (get_handler): New file, suggested by Paul
50726         Eggert.
50727         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
50728         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
50729         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
50730         (init_fatal_signals): Likewise.
50731         * lib/nanosleep.c (rpl_nanosleep): Likewise.
50732         (siginterrupt): Delete fallback.
50733         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
50734         instead.
50735         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
50736         siginterrupt.
50737
50738         New module sigaction, for mingw.
50739         * modules/sigaction: New module...
50740         * modules/sigaction-tests: ...and its test.
50741         * m4/sigaction.m4: New file.
50742         * lib/sigaction.c: Likewise.
50743         * tests/test-sigaction.c: Likewise.
50744         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
50745         * modules/signal (Makefile.am): Likewise.
50746         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
50747         needed.
50748         * doc/posix-headers/signal.texi (signal.h): Mention provided
50749         types.
50750         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
50751         that sigaction is preferable.
50752         * doc/posix-functions/sigaction.texi (sigaction): Mention new
50753         module.
50754         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50755         sigaction.
50756
50757         Improve robustness of sigprocmask by overriding signal.
50758         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
50759         is in use.
50760         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
50761         (SIGKILL, SIGSTOP): Provide fallbacks.
50762         (rpl_signal): Implement.
50763         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
50764         signal can be called inside handlers.
50765
50766         Fix nanosleep module on mingw.
50767         * modules/nanosleep (Depends-on): Add sys_select.
50768         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
50769
50770         Fix licensing of sigprocmask.
50771         * modules/raise (License): Relicense as LGPL.
50772
50773 2008-06-21  Bruno Haible  <bruno@clisp.org>
50774
50775         * lib/propername.c (proper_name_utf8): Don't use the transliterated
50776         result if it contains question marks.
50777         Reported by Michael Geng <linux@michaelgeng.de>.
50778
50779 2008-06-19  Bruno Haible  <bruno@clisp.org>
50780
50781         Fix CVS-ism.
50782         * doc/gnulib.texi: Include updated-stamp.texi.
50783         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
50784         (updated-stamp.texi): New rule.
50785         (gnulib.info): Depend on it.
50786         * doc/.gitignore: Add updated-stamp.texi.
50787         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
50788
50789 2008-06-19  Bruno Haible  <bruno@clisp.org>
50790
50791         * doc/Makefile (gnulib.info): Update and simplify dependencies.
50792         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
50793
50794 2008-06-19  Eric Blake  <ebb9@byu.net>
50795
50796         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
50797         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
50798         Reported by Stepan Kasal.
50799
50800 2008-06-18  Bruno Haible  <bruno@clisp.org>
50801
50802         * lib/fatal-signal.c (init_fatal_signals): Add comment.
50803         Reported by Eric Blake.
50804
50805 2008-06-18  Eric Blake  <ebb9@byu.net>
50806
50807         Work around cygwin 1.5.25 strsignal bug.
50808         * tests/test-strsignal.c: Allow for const char *.
50809         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
50810
50811 2008-06-18  Simon Josefsson  <simon@josefsson.org>
50812
50813         * users.txt: Update URL to article and add author/date
50814         information.
50815
50816 2008-06-17  Bruno Haible  <bruno@clisp.org>
50817
50818         New macro gl_DISABLE_THREADS.
50819         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
50820         if the user did not pass --enable-threads or --disable-threads option.
50821         (gl_DISABLE_THREADS): New macro.
50822         Reported by Eric Blake <ebb9@byu.net>.
50823
50824 2008-06-17  Bruno Haible  <bruno@clisp.org>
50825
50826         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
50827         when the macro ignores it.
50828         Based on a patch by Eric Blake <ebb9@byu.net>.
50829
50830 2008-06-17  Bruno Haible  <bruno@clisp.org>
50831
50832         * modules/tls (License): Change to LGPLv2+.
50833         Reported by Eric Blake.
50834
50835 2008-06-17  Eric Blake  <ebb9@byu.net>
50836
50837         Simplify c-stack prerequisites.
50838         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
50839         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
50840         no longer requires <ucontext.h> to exist.  Optimize setrlimit
50841         check.
50842         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
50843         <sys/resource.h>.
50844
50845         Move c-stack test into testsuite.
50846         * modules/c-stack-tests: New file.
50847         * lib/c-stack.c [DEBUG]: Move test program...
50848         * tests/test-c-stack.c: ...into this new file.  Skip rather than
50849         fail test if sigaltstack is lacking.
50850         * tests/test-c-stack.sh: New driver file.
50851
50852 2008-06-16  Eric Blake  <ebb9@byu.net>
50853
50854         Use raise module consistently.
50855         * modules/fatal-signal (Depends-on): Add raise.
50856         * modules/sigprocmask (Depends-on): Likewise.
50857         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
50858         * lib/sigprocmask.c (sigprocmask): Likewise.
50859         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
50860         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
50861
50862         Fix compliance bug in sigpending.
50863         * lib/sigprocmask.c (sigpending): Return pending array via
50864         parameter, not return value.
50865
50866 2008-06-14  Eric Blake  <ebb9@byu.net>
50867
50868         Improve obstack-printf test code.
50869         * tests/test-obstack-printf.c (test_function): Fix comment, and
50870         simplify usage of obstack_* in macros.  Add a test for coverage.
50871         Reported by Bruno Haible.
50872
50873 2008-06-14  Bruno Haible  <bruno@clisp.org>
50874
50875         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
50876         array size as a constant, not as a const variable.
50877         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
50878         AC_USE_SYSTEM_EXTENSIONS.
50879         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
50880         Test whether the obstack_printf function actually exists.
50881         * modules/obstack-printf (Depends-on): Add extensions.
50882         (Include): Remove obstack.h.
50883         * modules/obstack-printf-posix (Depends-on): Add extensions.
50884         (Include): Remove obstack.h.
50885
50886 2008-06-13  Eric Blake  <ebb9@byu.net>
50887
50888         Add obstack-printf and obstack-printf-posix modules.
50889         * modules/obstack-printf: New file.
50890         * modules/obstack-printf-posix: Likewise.
50891         * MODULES.html.sh (Misc): Mention them.
50892         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
50893         Likewise.
50894         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
50895         Likewise.
50896         * modules/stdio (Makefile.am): Accomodate new modules.
50897         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
50898         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
50899         Declare.
50900         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
50901         functions.
50902         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
50903         (gl_REPLACE_OBSTACK_PRINTF): New macros
50904         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
50905         * tests/test-obstack-printf.c: New file.
50906         * modules/obstack-printf-tests: Likewise.
50907         * modules/obstack-printf-posix-tests: Likewise.
50908
50909 2008-06-11  Bruno Haible  <bruno@clisp.org>
50910
50911         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
50912         * lib/open.c: Include errno.h.
50913         (open): Fail when attempting to write to a file that has a trailing
50914         slash.
50915         * tests/test-open.c (main): Test against trailing slash bug.
50916         * doc/posix-functions/open.texi: Mention the trailing slash bug.
50917
50918 2008-06-10  Bruno Haible  <bruno@clisp.org>
50919
50920         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
50921         for $? to work inside the trap command, with various /bin/sh-s.
50922         * tests/test-vc-list-files-cvs.sh: Likewise.
50923
50924 2008-06-10  Bruno Haible  <bruno@clisp.org>
50925
50926         * lib/acl-internal.h: Don't include gettext.h here.
50927         * lib/set-mode-acl.c: Include gettext.h here.
50928         * lib/copy-acl.c: Likewise.
50929
50930 2008-06-10  Bruno Haible  <bruno@clisp.org>
50931
50932         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
50933         * lib/wait-process.c (wait_subprocess): Likewise.
50934         * lib/execute.h (execute): Add termsigp argument.
50935         * lib/execute.c (execute): Likewise.
50936         * lib/csharpcomp.c (compile_csharp_using_pnet,
50937         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
50938         * lib/csharpexec.c (execute_csharp_using_pnet,
50939         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
50940         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
50941         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
50942         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
50943         is_jikes_present): Update.
50944         * lib/javaexec.c (execute_java_class): Update.
50945         * lib/javaversion.c (execute_and_read_line): Update.
50946         * NEWS: Document the changes.
50947         Reported by Eric Blake.
50948
50949 2008-06-10  Eric Blake  <ebb9@byu.net>
50950
50951         Add missing include.
50952         * tests/test-strstr.c (includes): Add <signal.h>.
50953         * tests/test-strcasestr.c (includes): Likewise.
50954         * tests/test-memmem.c (includes): Likewise.
50955
50956 2008-06-10  Bruno Haible  <bruno@clisp.org>
50957
50958         * lib/wait-process.c (wait_subprocess): Add an assertion.
50959
50960 2008-06-10  Bruno Haible  <bruno@clisp.org>
50961
50962         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
50963
50964 2008-06-10  Bruno Haible  <bruno@clisp.org>
50965
50966         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
50967         using alarm().
50968         * tests/test-strcasestr.c (main): Likewise.
50969         * tests/test-strstr.c (main): Likewise.
50970
50971 2008-06-09  Bruno Haible  <bruno@clisp.org>
50972
50973         Work around the Solaris 10 ACE ACLs ABI change.
50974         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
50975         declare if ACL_NO_TRIVIAL is present.
50976         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
50977         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
50978         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
50979         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
50980         define if ACL_NO_TRIVIAL is present.
50981         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
50982         and use the current ABI.
50983         (file_has_acl): Use same #if condition as elsewhere.
50984         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
50985         in use, and use the current ABI.
50986         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
50987         Reported by Jim Meyering.
50988
50989 2008-06-09  Eric Blake  <ebb9@byu.net>
50990
50991         Work around environments that (stupidly) ignore SIGALRM.
50992         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
50993         before using alarm().
50994         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
50995         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
50996         Reported by Ian Beckwith <ianb@erislabs.net>.
50997
50998         Produce autobuild blurb earlier in log.
50999         * modules/autobuild (configure.ac-early): Move AB_INIT here.
51000
51001 2008-06-09  Jim Meyering  <meyering@redhat.com>
51002         and OndÅ™ej Vašík  <ovasik@redhat.com>
51003
51004         utimens.c: correct kernel bug work-around
51005         OndÅ™ej Vašík found that the invalid return value of 280 indicates
51006         failure, not success, and the kernel bug we're trying to work
51007         around affects not just the utimensat call, but also the fallback
51008         futimens call.
51009         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
51010         not success.
51011         [HAVE_FUTIMENS]: Use the same work-around, here.
51012
51013 2008-06-09  Jim Meyering  <meyering@redhat.com>
51014
51015         add more guards around definition of ACE_-related code
51016         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
51017         ALLOW and ACE_OWNER are also defined.
51018
51019 2008-06-08  Bruno Haible  <bruno@clisp.org>
51020
51021         * lib/acl-internal.h: Add me as co-author.
51022         * lib/file-has-acl.c: Likewise.
51023         * lib/set-mode-acl.c: Likewise.
51024         * lib/copy-acl.c: Likewise.
51025
51026 2008-06-08  Bruno Haible  <bruno@clisp.org>
51027
51028         Add support for AIX ACLs.
51029         * lib/acl-internal.h (acl_nontrivial): New declaration.
51030         * lib/file-has-acl.c (acl_nontrivial): New function.
51031         (file_has_acl): Add implementation using AIX 4 ACL API.
51032         * lib/set-mode-acl.c (qset_acl): Likewise.
51033         * lib/copy-acl.c (qcopy_acl): Likewise.
51034
51035 2008-06-08  Bruno Haible  <bruno@clisp.org>
51036
51037         Add support for HP-UX ACLs.
51038         * lib/acl-internal.h (acl_nontrivial): New declaration.
51039         * lib/file-has-acl.c (acl_nontrivial): New function.
51040         (file_has_acl): Add implementation using HP-UX 11 ACL API.
51041         * lib/set-mode-acl.c (qset_acl): Likewise.
51042         * lib/copy-acl.c (qcopy_acl): Likewise.
51043
51044 2008-06-08  Bruno Haible  <bruno@clisp.org>
51045
51046         Add support for Cygwin ACLs.
51047         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
51048         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
51049         the chmod_or_fchmod call.
51050         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
51051
51052 2008-06-08  Bruno Haible  <bruno@clisp.org>
51053
51054         Fix bug with setuid modes in Solaris 10+ code.
51055         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
51056         succeeded, when the mode contains some special bits.
51057
51058 2008-06-08  Bruno Haible  <bruno@clisp.org>
51059
51060         Add support for Solaris 7..10 ACLs.
51061         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
51062         declarations.
51063         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
51064         functions.
51065         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
51066         * lib/set-mode-acl.c (qset_acl): Likewise.
51067         * lib/copy-acl.c (qcopy_acl): Likewise.
51068
51069 2008-06-08  Bruno Haible  <bruno@clisp.org>
51070
51071         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
51072         declaration.
51073         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
51074         (acl_access_nontrivial): Remove MacOS X case.
51075         (file_has_acl): Use acl_extended_nontrivial.
51076         * lib/copy-acl.c (qcopy_acl): Likewise.
51077
51078 2008-06-08  Bruno Haible  <bruno@clisp.org>
51079
51080         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
51081
51082 2008-06-08  Jim Meyering  <meyering@redhat.com>
51083
51084         * modules/acl (Maintainer): Add Bruno Haible.
51085
51086 2008-06-07  Bruno Haible  <bruno@clisp.org>
51087
51088         Improve support for Tru64 ACLs.
51089         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
51090         ACL on OSF/1.
51091
51092 2008-06-07  Bruno Haible  <bruno@clisp.org>
51093
51094         Add support for MacOS X ACLs.
51095         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
51096         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
51097         * lib/set-mode-acl.c (qset_acl): Likewise.
51098         * lib/copy-acl.c (qcopy_acl): Likewise.
51099
51100 2008-06-07  Bruno Haible  <bruno@clisp.org>
51101
51102         Fix memory leak introduced on 2008-05-22.
51103         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
51104         use.
51105
51106 2008-06-07  Bruno Haible  <bruno@clisp.org>
51107
51108         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
51109         to construct an empty ACL.
51110
51111 2008-06-07  Bruno Haible  <bruno@clisp.org>
51112
51113         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
51114         precisely.
51115         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
51116
51117 2008-06-07  Bruno Haible  <bruno@clisp.org>
51118
51119         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
51120         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
51121
51122 2008-06-07  Bruno Haible  <bruno@clisp.org>
51123
51124         * doc/posix-functions/_setjmp.texi: Explain the use of this function
51125         regardless of POSIX.
51126         * doc/posix-functions/_longjmp.texi: Likewise.
51127         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
51128         SystemV platform in this case.
51129
51130 2008-06-06  Eric Blake  <ebb9@byu.net>
51131
51132         Document abort() bugs.
51133         * doc/posix-functions/abort.texi (abort): Mention anomalies.
51134
51135         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
51136         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
51137         sigsetjmp.
51138         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
51139         siglongjmp, but only as a macro.
51140         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
51141         is obsolete.
51142         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
51143
51144         Tweak documentation to cover cygwin argz bugs.
51145         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
51146         argz bug fix; no code change needed since no cygwin releases
51147         occurred between the last fix and the bug being tested.
51148         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
51149         module and recently fixed cygwin bugs.
51150         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
51151         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
51152         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
51153         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
51154         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
51155         Likewise.
51156         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
51157         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
51158         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
51159         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
51160         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
51161         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
51162         Likewise.
51163
51164         Avoid gcc warning on cygwin.
51165         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
51166         !ACL_NO_TRIVIAL]: Avoid unused variable.
51167
51168 2008-06-05  Eric Blake  <ebb9@byu.net>
51169
51170         Be tolerant of UNKNOWN version in gnulib-tool test dir.
51171         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
51172         git-version-gen fails to come up with a version.
51173         Reported by Simon Josefsson.
51174
51175 2008-06-05  Jim Meyering  <meyering@redhat.com>
51176             Paul Eggert  <eggert@cs.ucla.edu>
51177
51178         utimens.c: work around a probable Linux kernel bug
51179         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
51180         appears to be a kernel bug that causes utimensat to return 280
51181         instead of 0, indicating success.
51182
51183 2008-06-04  Bruno Haible  <bruno@clisp.org>
51184
51185         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
51186         2008-06-01 commit.
51187
51188 2008-06-04  Bruno Haible  <bruno@clisp.org>
51189
51190         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
51191         * lib/file-has-acl.c (acl_access_nontrivial): New function.
51192         (file_has_acl): Use it. Save errno afterwards.
51193         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
51194
51195 2008-06-03  Bruno Haible  <bruno@clisp.org>
51196
51197         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
51198         draft code. Simplify #ifs.
51199         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
51200         Put Solaris code after POSIX-draft code. Fix comments regarding
51201         Solaris 10, HP-UX. Mention Cygwin.
51202         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
51203
51204 2008-06-03  Eric Blake  <ebb9@byu.net>
51205
51206         Provide fallback for older kernels.
51207         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
51208         Provide runtime fallback if kernel lacks support.
51209         Reported by Mike Frysinger.
51210
51211 2008-06-02  Bruno Haible  <bruno@clisp.org>
51212
51213         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
51214         it exists.
51215
51216 2008-06-02  Bruno Haible  <bruno@clisp.org>
51217
51218         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
51219         * lib/copy-acl.c (qcopy_acl): Update comment.
51220
51221 2008-06-02  Bruno Haible  <bruno@clisp.org>
51222
51223         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
51224         like ACL APIs.
51225
51226 2008-06-02  Bruno Haible  <bruno@clisp.org>
51227
51228         * tests/test-file-has-acl.sh: Use different code for Cygwin.
51229         * tests/test-set-mode-acl.sh: Likewise.
51230         * tests/test-copy-acl.sh: Likewise.
51231         * tests/test-copy-file.sh: Likewise.
51232
51233 2008-06-02  Bruno Haible  <bruno@clisp.org>
51234
51235         * tests/test-file-has-acl.sh: Remove unused code.
51236
51237 2008-06-01  Bruno Haible  <bruno@clisp.org>
51238
51239         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
51240         (copy_acl): Just a wrapper around qcopy_acl that emits the error
51241         messages.
51242         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
51243
51244 2008-06-01  Bruno Haible  <bruno@clisp.org>
51245
51246         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
51247         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
51248         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
51249         APIs.
51250         * modules/acl-tests (configure.ac): Remove tests now contained in
51251         m4/acl.m4.
51252
51253 2008-06-02  Jim Meyering  <meyering@redhat.com>
51254
51255         announce-gen: use a better key-server host name
51256         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
51257         it may be more consistently reliable.  Suggested by Werner Koch
51258         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
51259
51260 2008-06-01  Bruno Haible  <bruno@clisp.org>
51261
51262         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
51263         Reported by Voroskoi Andras <voroskoi@gmail.com>.
51264
51265 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
51266
51267         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
51268
51269 2008-06-01  Bruno Haible  <bruno@clisp.org>
51270
51271         New ACL tests.
51272         * tests/test-file-has-acl.sh: New file.
51273         * tests/test-file-has-acl.c: New file.
51274         * tests/test-set-mode-acl.sh: New file.
51275         * tests/test-set-mode-acl.c: New file.
51276         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
51277         * tests/test-copy-acl.c: New file.
51278         * modules/acl-tests: New file, based on modules/copy-file-tests.
51279         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
51280         (Depends-on): Add acl-tests.
51281         (configure.ac): Remove checks.
51282         (Makefile.am): Don't create test-sameacls program here any more.
51283
51284 2008-06-01  Bruno Haible  <bruno@clisp.org>
51285
51286         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
51287         * tests/test-sameacls.c: Include progname.h.
51288         (main): Invoke set_program_name. Portability fixes for MacOS X,
51289         Solaris, HP-UX.
51290
51291 2008-06-01  Bruno Haible  <bruno@clisp.org>
51292
51293         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
51294         function.
51295         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
51296
51297 2008-06-01  Bruno Haible  <bruno@clisp.org>
51298
51299         * modules/rpmatch (Depends-on): Add strdup.
51300
51301 2008-06-01  Bruno Haible  <bruno@clisp.org>
51302
51303         * lib/pipe.c: Include unistd-safer.h.
51304         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
51305         * modules/pipe (Depends-on): Add unistd-safer.
51306
51307 2008-05-30  Simon Josefsson  <simon@josefsson.org>
51308
51309         * modules/autobuild (configure.ac): Call AB_INIT.
51310
51311 2008-05-30  Simon Josefsson  <simon@josefsson.org>
51312
51313         * tests/test-getaddrinfo.c: Don't print debug messages by default.
51314         Suggested by Bruno Haible <bruno@clisp.org>.
51315
51316 2008-05-30  Simon Josefsson  <simon@josefsson.org>
51317
51318         * tests/test-base64.c: Cast size_t to unsigned long when invoking
51319         printf.  Use %lu instead of %d.  Reported by Bruno Haible
51320         <bruno@clisp.org>.
51321
51322 2008-05-29  Eric Blake  <ebb9@byu.net>
51323
51324         Prefer new POSIX 200x interfaces over futimesat.
51325         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
51326         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
51327         when available.
51328         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
51329
51330 2008-05-28  Bruno Haible  <bruno@clisp.org>
51331
51332         * modules/stpcpy (License): Change to LGPLv2+.
51333         Requested by David Lutterkort <dlutter@redhat.com>.
51334
51335 2008-05-27  Bruno Haible  <bruno@clisp.org>
51336
51337         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
51338         current mingw.
51339         Reported by Jose E. Marchesi <jemarch@gnu.org>.
51340
51341 2008-05-27  Bruno Haible  <bruno@clisp.org>
51342
51343         * modules/iconv_open (Link): New section, from module 'iconv'.
51344         * modules/striconv (Link): Likewise.
51345         * modules/striconveh (Link): Likewise.
51346         * modules/xstriconv (Link): Likewise.
51347         * modules/unicodeio (Link): Likewise.
51348         * modules/propername (Link): Likewise.
51349         Reported by Jim Meyering.
51350
51351 2008-05-26  Jim Meyering  <meyering@redhat.com>
51352
51353         sha256: do not artificially restrict buffer length to be < 2^32
51354         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
51355         uint32_t to size_t.
51356         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
51357         to match.
51358
51359         avoid unaligned access errors, e.g., on sparc
51360         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
51361         direct access through a possibly-unaligned uint64* pointer.
51362         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
51363         direct access through a possibly-unaligned uint32* pointer.
51364         Prompted by this patch from Tom "spot" Callaway:
51365         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
51366
51367         sha512.c: fix typo in comment
51368         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
51369
51370 2008-05-25  Bruno Haible  <bruno@clisp.org>
51371
51372         * lib/set-mode-acl.c: Renamed from lib/acl.c.
51373         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
51374         (Makefile.am): Update lib_SOURCES.
51375
51376 2008-05-25  Bruno Haible  <bruno@clisp.org>
51377
51378         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
51379
51380 2008-05-25  Jim Meyering  <meyering@redhat.com>
51381
51382         useless-if-before-free: freed expr may have white-space differences
51383         * build-aux/useless-if-before-free: Recognize cases in which the
51384         freed expression differs from the tested one in embedded white
51385         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
51386         $1 was used, so we can't make any regexp shy.  Improved tests now
51387         detect this.
51388
51389         useless-if-before-free: accept white space in the expression.
51390         * build-aux/useless-if-before-free: For now, any white space
51391         in the expression must be identical in the free argument.
51392
51393         useless-if-before-free: efficiency tweak
51394         * build-aux/useless-if-before-free: Make the expression-matching
51395         regexp "shy".
51396         Make the *outer* regexp shy, not the expr-matching one.
51397
51398         update code-in-comment to accept cast of free arg
51399         * build-aux/useless-if-before-free: Update regexp.
51400
51401 2008-05-25  Bruno Haible  <bruno@clisp.org>
51402
51403         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
51404         * modules/copy-file-tests (Files, Makefile.am): Update.
51405         * tests/test-copy-file.c (func_test_copy): Update.
51406
51407 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
51408
51409         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
51410
51411 2008-05-23  Bruno Haible  <bruno@clisp.org>
51412
51413         Improve support for ACLs on OSF/1.
51414         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
51415         Remove fallback for unknown flavors of ACLs.
51416
51417 2008-05-22  Bruno Haible  <bruno@clisp.org>
51418
51419         Add support for ACLs on OSF/1.
51420         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
51421         replacements.
51422         (acl_free_text): New macro fallback.
51423         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
51424         acl_free.
51425         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
51426         acl_free_text function. Require AC_C_INLINE.
51427
51428 2008-05-22  Bruno Haible  <bruno@clisp.org>
51429
51430         Make copy_acl work on MacOS X 10.5.
51431         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
51432         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
51433         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
51434         If MODE_INSIDE_ACL, don't assume that every system has the same text
51435         representation for ACLs as FreeBSD.
51436         * lib/copy-acl.c (copy_acl): Add support for platforms with
51437         !MODE_INSIDE_ACL.
51438         * lib/file-has-acl.c (file_has_acl): Likewise.
51439         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
51440         FreeBSD, MacOS X, or IRIX, respectively.
51441
51442 2008-05-22  Bruno Haible  <bruno@clisp.org>
51443
51444         * lib/acl.h: Don't include <sys/acl.h>.
51445         (GETACLCNT): Move fallback to lib/acl-internal.h.
51446         * lib/acl-internal.h: Include <sys/acl.h> here.
51447         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
51448
51449 2008-05-22  Bruno Haible  <bruno@clisp.org>
51450
51451         Split off copy_acl function to separate file.
51452         * lib/copy-acl.c: New file, extracted from lib/acl.c.
51453         * lib/acl.c (copy_acl): Moved function to separate file.
51454         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
51455         * modules/acl (Files): Add lib/copy-acl.c.
51456         (Makefiles.am): Augment lib_SOURCES.
51457
51458 2008-05-22  Bruno Haible  <bruno@clisp.org>
51459
51460         * modules/copy-file-tests: New file.
51461         * tests/test-copy-file.sh: New file.
51462         * tests/test-copy-file.c: New file.
51463         * tests/test-copy-file-sameacls.c: New file.
51464
51465 2008-05-22  Eric Blake  <ebb9@byu.net>
51466
51467         Avoid gcc warning.
51468         * tests/test-memcmp.c (main): Pass NULL indirectly.
51469
51470 2008-05-21  Bruno Haible  <bruno@clisp.org>
51471
51472         Add reference doc about ACLs.
51473         * doc/acl-resources.txt: New file.
51474         * doc/acl-cygwin.txt: New file.
51475
51476 2008-05-21  Bruno Haible  <bruno@clisp.org>
51477
51478         Avoid one more warning from gcc.
51479         * lib/vasnprintf.c (IF_LINT): Update comments.
51480         (VASNPRINTF): Use it also for the 'prefix' array initializer.
51481
51482 2008-05-21  Jim Meyering  <meyering@redhat.com>
51483
51484         avoid a warning from gcc
51485         * lib/vasnprintf.c (IF_LINT): Define.
51486         (scale10_round_decimal_long_double):
51487         Use it to avoid a "may be used uninitialized" warning.
51488         (scale10_round_decimal_double): Likewise.
51489
51490 2008-05-21  Simon Josefsson  <simon@josefsson.org>
51491
51492         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
51493         declared.
51494
51495 2008-05-20  Bruno Haible  <bruno@clisp.org>
51496
51497         * tests/test-memcmp.c (main): Test also the sign of the result. Test
51498         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
51499
51500 2008-05-20  Simon Josefsson  <simon@josefsson.org>
51501
51502         * modules/memcmp-tests: New file.
51503         * tests/test-memcmp.c: New file.
51504
51505 2008-05-19  Bruno Haible  <bruno@clisp.org>
51506
51507         * modules/propername (Notice, configure.ac): Put quoted "..." into
51508         --keyword option.
51509         * lib/propername.h: Update comments accordingly.
51510         Reported by Eric Blake.
51511
51512 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
51513
51514         * modules/getpass-gnu (Depends-on): Add fseeko.
51515
51516 2008-05-19  Simon Josefsson  <simon@josefsson.org>
51517
51518         * modules/base64-tests: New file.
51519
51520 2008-05-19  Bo Borgerson <gigabo@gmail.com>
51521
51522         * lib/base64.c (base64_decode_ctx): If a decode context structure
51523         was passed in use it to ignore newlines.  If a context structure
51524         was _not_ passed in, continue to treat newlines as garbage (this
51525         is the historical behavior).  Formerly base64_decode.
51526         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
51527         takes a decode context structure.
51528         * lib/base64.h (base64_decode): Macro for four-argument calls.
51529         (base64_decode_alloc): Likewise.
51530         * lib/base64.c (base64_decode_ctx): If a decode context structure
51531         was passed in use it to ignore newlines.  If a context structure
51532         was _not_ passed in, continue to treat newlines as garbage (this
51533         is the historical behavior).  Formerly base64_decode.
51534         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
51535         takes a decode context structure.
51536         * lib/base64.h (base64_decode): Macro for four-argument calls.
51537         (base64_decode_alloc): Likewise.
51538
51539 2008-05-19  Jim Meyering  <meyering@redhat.com>
51540
51541         avoid a warning from gcc
51542         * lib/trim.c (IF_LINT): Define.
51543         (trim2): Use it to avoid a "may be used uninitialized" warning.
51544
51545         Fix doc typo.
51546         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
51547
51548 2008-05-19  Bruno Haible  <bruno@clisp.org>
51549
51550         * doc/glibc-functions/getpass.texi: Document limits of other
51551         implementations.
51552
51553 2008-05-19  Simon Josefsson  <simon@josefsson.org>
51554             Bruno Haible <bruno@clisp.org>
51555
51556         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
51557
51558 2008-05-18  Bruno Haible  <bruno@clisp.org>
51559
51560         * modules/propername: New file, from GNU gettext.
51561         * lib/propername.h: New file, from GNU gettext.
51562         * lib/propername.c: New file, from GNU gettext.
51563         * MODULES.html.sh (Internationalization functions): Add propername.
51564
51565 2008-05-16  Jim Meyering  <meyering@redhat.com>
51566             Bruno Haible  <bruno@clisp.org>
51567
51568         Avoid some warnings from "gcc -Wshadow".
51569         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
51570
51571 2008-05-15  Eric Blake  <ebb9@byu.net>
51572
51573         Extend previous patch to cygwin 1.7.0.
51574         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
51575         fast implementation in cygwin >= 1.7.0.
51576         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
51577         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
51578
51579 2008-05-15  Bruno Haible  <bruno@clisp.org>
51580
51581         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
51582         implementation in glibc >= 2.9.
51583         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
51584         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
51585
51586 2008-05-15  Bruno Haible  <bruno@clisp.org>
51587
51588         * MODULES.html.sh (Internationalization functions): Remove linebreak.
51589         (Unicode string functions): Add unilbrk/*.
51590         Reported by Karl Berry.
51591
51592 2008-05-15  Eric Blake  <ebb9@byu.net>
51593
51594         Fix violation of <stdbool.h> replacement in regex.
51595         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
51596         * lib/regexec.c (re_search_internal): Likewise.
51597         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
51598
51599 2008-05-15  Jim Meyering  <meyering@redhat.com>
51600
51601         avoid distracting test output when git or cvs is not found
51602         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
51603         * tests/test-vc-list-files-git.sh: Likewise.
51604
51605 2008-05-15  Eric Blake  <ebb9@byu.net>
51606
51607         Glibc finally accepted the memmem speedup code, bugzilla #5514.
51608         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
51609         glibc version.
51610         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
51611         * doc/posix-functions/strstr.texi (strstr): Likewise.
51612         * lib/str-two-way.h (MAX): Sychronize with glibc.
51613
51614 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
51615
51616         * lib/regcomp.c (optimize_utf8): Add a note on why we test
51617         opr.ctx_type.
51618         (calc_first): Initialize constraint field.
51619         (duplicate_node_closure): Use it instead of special casing ANCHORS.
51620         Fix grammar.
51621         (duplicate_node): Merge constraint field for all node types.
51622         (calc_eclosure_iter): Look at constraint field for all node types.
51623         * lib/regex_internal.c (create_cd_newstate): Don't look at
51624         opr.ctx_type.
51625
51626 2008-05-14  Bruno Haible  <bruno@clisp.org>
51627
51628         Help GCC to do better code generation.
51629         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
51630         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
51631         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
51632         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
51633         Declare with attribute 'malloc' if supported.
51634
51635 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
51636
51637         use "echo STR|wc -c" rather than unportable "expr length STR"
51638         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
51639         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
51640
51641 2008-05-14  Jim Meyering  <meyering@redhat.com>
51642
51643         use dd ibs=$n count=1 ... rather than less-portable head -c$n
51644         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
51645         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
51646         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
51647         via Collin Lasse.
51648
51649 2008-05-14  Eric Blake  <ebb9@byu.net>
51650
51651         Avoid quadratic growth in gl_LIBSOURCES.
51652         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
51653         Suggested by Bruno Haible.
51654
51655         Test xmemdup0.
51656         * modules/xmemdup0-tests: New file.
51657         * tests/test-xmemdup0.c: Likewise.
51658
51659 2008-05-13  Eric Blake  <ebb9@byu.net>
51660
51661         Split xmemdup0 into its own module.
51662         * modules/xmemdup0: New file.
51663         * lib/xmemdup0.h: Likewise.
51664         * lib/xmemdup0.c: Likewise.
51665         * MODULES.html.sh (Memory management functions): Add xmemdup0.
51666         * lib/xalloc.h (xmemdup0): Remove.
51667         * lib/xmalloc.c (xmemdup0): Likewise.
51668
51669 2008-05-13  Eric Blake  <ebb9@byu.net>
51670             Bruno Haible  <bruno@clisp.org>
51671
51672         Reduce number of forks required during autoconf.
51673         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
51674         and gl_LIBSOURCES_DIR.
51675         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
51676         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
51677         m4_syscmd per file.
51678         <m4_foreach_w>: Move...
51679         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
51680
51681 2008-05-13  Eric Blake  <ebb9@byu.net>
51682
51683         * gnulib-tool: Fix various comment typos.
51684
51685 2008-05-12  Bruno Haible  <bruno@clisp.org>
51686
51687         Tailor the linebreaking algorithm.
51688         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
51689
51690 2008-05-12  Bruno Haible  <bruno@clisp.org>
51691
51692         Update to Unicode 5.0.0.
51693         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
51694         LBP_JV, LBP_JT. Redistribute values.
51695         (unilbrk_table): Change size.
51696         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
51697         Unicode TR#14 rev. 22.
51698         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
51699         LBP_JV, LBP_JT. Redistribute values.
51700         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
51701         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
51702         Update.
51703         * lib/unilbrk/lbrkprop1.h: Regenerated.
51704         * lib/unilbrk/lbrkprop2.h: Regenerated.
51705         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
51706         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
51707         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
51708         Likewise.
51709         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
51710         Likewise.
51711         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
51712         result.
51713         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
51714         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
51715         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
51716         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
51717         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
51718         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
51719
51720 2008-05-11  Bruno Haible  <bruno@clisp.org>
51721
51722         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
51723
51724 2008-05-11  Bruno Haible  <bruno@clisp.org>
51725
51726         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
51727         * modules/unilbrk/gen-lbrk: New file.
51728
51729 2008-05-11  Bruno Haible  <bruno@clisp.org>
51730
51731         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
51732         * m4/sha512.m4 (gl_SHA512): Likewise.
51733
51734 2008-05-11  Jim Meyering  <meyering@redhat.com>
51735
51736         New modules: crypto/sha256, crypto/sha512 (from coreutils)
51737         * modules/crypto/sha256: New file.
51738         * modules/crypto/sha512: Likewise.
51739         * lib/sha256.c: Likewise.
51740         * lib/sha256.h: Likewise.
51741         * lib/sha512.c: Likewise.
51742         * lib/sha512.h: Likewise.
51743         * lib/u64.h: Likewise.
51744         * m4/sha256.m4: Likewise.
51745         * m4/sha512.m4: Likewise.
51746         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
51747
51748 2008-05-10  Bruno Haible  <bruno@clisp.org>
51749
51750         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
51751         (Input/Output <stdio.h>): Add xprintf.
51752         (Signal handling <signal.h>): Add strsignal.
51753         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
51754         (Core language properties): Add func.
51755         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
51756         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
51757         strings.
51758         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
51759         (Input/output): New section.
51760         (File system functions): Add openat-die, stat-macros.
51761         (Networking functions): Add sockets.
51762         (Unicode string functions): Add unictype/*.
51763         (Support for building libraries and executables): Add gperf.
51764         (Support for building documentation): Add agpl-3.0.
51765         (Misc): Add nocrash.
51766
51767 2008-05-10  Bruno Haible  <bruno@clisp.org>
51768
51769         * modules/unictype/gen-ctype: New file.
51770
51771 2008-05-10  Jim Meyering  <meyering@redhat.com>
51772
51773         Make chdir-safer.c more efficient on a system with no symlinks.
51774         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
51775         also if ELOOP is zero.  Suggested by Bruno Haible.
51776
51777         Make chdir-safer.c slightly safer.
51778         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
51779         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
51780
51781         Avoid compile failure on systems without ELOOP (like mingw).
51782         * lib/chdir-safer.c (ELOOP): Define if not already defined.
51783         Reported by Bruno Haible.
51784
51785 2008-05-10  Bruno Haible  <bruno@clisp.org>
51786
51787         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
51788         (is_utf8_encoding): Use a case-insensitive comparison.
51789         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
51790         streq.
51791
51792 2008-05-10  Bruno Haible  <bruno@clisp.org>
51793
51794         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
51795         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
51796         * lib/unilbrk/ulc-common.h (iconv_string_length,
51797         iconv_string_keeping_offsets): Remove declarations.
51798         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
51799         Don't include <iconv.h>, streq.h, xsize.h.
51800         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
51801         conversion.
51802         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
51803         <iconv.h>, streq.h, xsize.h.
51804         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
51805         conversion.
51806         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
51807         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
51808         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
51809         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
51810
51811 2008-05-10  Bruno Haible  <bruno@clisp.org>
51812
51813         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
51814         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
51815
51816         * modules/unilbrk/u32-width-linebreaks-tests: New file.
51817         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
51818
51819         * modules/unilbrk/u16-width-linebreaks-tests: New file.
51820         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
51821
51822         * modules/unilbrk/u8-width-linebreaks-tests: New file.
51823         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
51824
51825         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
51826         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
51827
51828         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
51829         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
51830
51831         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
51832         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
51833
51834         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
51835         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
51836
51837 2008-05-10  Bruno Haible  <bruno@clisp.org>
51838
51839         Split up 'linebreak' module.
51840         * lib/unilbrk.h: New file, based on lib/linebreak.h.
51841         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
51842         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
51843         modifications.
51844         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
51845         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
51846         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
51847         lib/linebreak.c.
51848         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
51849         lib/linebreak.c.
51850         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
51851         lib/linebreak.c.
51852         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
51853         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
51854         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
51855         lib/linebreak.c.
51856         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
51857         lib/linebreak.c.
51858         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
51859         lib/linebreak.c.
51860         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
51861         lib/linebreak.c.
51862         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
51863         lib/linebreak.c.
51864         * modules/unilbrk/base: New file.
51865         * modules/unilbrk/tables: New file.
51866         * modules/unilbrk/u8-possible-linebreaks: New file.
51867         * modules/unilbrk/u16-possible-linebreaks: New file.
51868         * modules/unilbrk/u32-possible-linebreaks: New file.
51869         * modules/unilbrk/ulc-common: New file.
51870         * modules/unilbrk/ulc-possible-linebreaks: New file.
51871         * modules/unilbrk/u8-width-linebreaks: New file.
51872         * modules/unilbrk/u16-width-linebreaks: New file.
51873         * modules/unilbrk/u32-width-linebreaks: New file.
51874         * modules/unilbrk/ulc-width-linebreaks: New file.
51875         * lib/linebreak.h: Remove file.
51876         * lib/linebreak.c: Remove file.
51877         * m4/linebreak.m4: Remove file.
51878         * modules/linebreak: Remove file.
51879         * NEWS: Mention the changes.
51880
51881 2008-05-09  Eric Blake  <ebb9@byu.net>
51882
51883         Add xmemdup0.
51884         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
51885         implementation.
51886         * lib/xmalloc.c (xmemdup0): New C implementation.
51887
51888 2008-05-08  Bruno Haible  <bruno@clisp.org>
51889
51890         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
51891
51892 2008-05-07  Eric Blake  <ebb9@byu.net>
51893
51894         Support cross-compilation of <wctype.h>.
51895         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
51896         AC_CACHE_CHECK.
51897
51898 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
51899
51900         * build-aux/vc-list-files: Add support for bzr.
51901
51902 2008-05-03  Jim Meyering  <meyering@redhat.com>
51903
51904         avoid failed assertion with tight malloc
51905         * tests/test-getndelim2.c: Correct an off-by-one assertion.
51906
51907 2008-05-03  Simon Josefsson  <simon@josefsson.org>
51908
51909         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
51910         are needed from arpa/inet.h.
51911         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
51912         Reported by Bruno Haible.
51913
51914 2008-05-02  Jim Meyering  <meyering@redhat.com>
51915
51916         avoid compilation error on FreeBSD 6
51917         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
51918
51919 2008-05-01  Jim Meyering  <meyering@redhat.com>
51920
51921         useless-if-before-free: correct --help's exit status description
51922         * build-aux/useless-if-before-free (usage): Like grep, exit 0
51923         for one or more matches, etc.  Reported by Bruno Haible.
51924
51925         vc-list-files: make the stand-alone gnulib test work
51926         * modules/vc-list-files-tests (configure.ac):
51927         Define and AC_SUBST abs_aux_dir.
51928         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
51929         $(abs_top_srcdir) to each script and having each of them
51930         duplicate the work of setting PATH, set PATH here, using
51931         the new variable, abs_aux_dir instead.
51932         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
51933         * tests/test-vc-list-files-git.sh: Likewise.
51934         Reported by Bruno Haible.
51935
51936 2008-05-01  Bruno Haible  <bruno@clisp.org>
51937
51938         * lib/getndelim2.c (getndelim2): Fix newsize computation during
51939         reallocation. Rename 'done' to 'found_delimiter'.
51940
51941 2008-05-01  Jim Meyering  <meyering@redhat.com>
51942
51943         vc-list-files: accommodate /bin/sh like the one from Solaris 10
51944         * build-aux/vc-list-files: Use `...`, not $(...).
51945
51946 2008-04-30  Jim Meyering  <meyering@redhat.com>
51947
51948         add tests for vc-list-files
51949         * modules/vc-list-files-tests: New module.
51950         * tests/test-vc-list-files-cvs.sh: New file.
51951         * tests/test-vc-list-files-git.sh: New file.
51952
51953         avoid a warning from gcc
51954         * lib/getndelim2.c (IF_LINT): Define.
51955         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
51956
51957         vc-list-files: work properly with build-aux/cvsu, too
51958         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
51959         to all cvs-based clauses.
51960
51961         vc-list-files: work properly in the CVS+awk case, too
51962         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
51963
51964         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
51965         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
51966         take more than one file argument, so .  Add quotes, just in case $dir
51967         ever contains a shell meta-character.  Prompted by Soren Hansen in
51968         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
51969
51970 2008-04-29  Eric Blake  <ebb9@byu.net>
51971
51972         Optimize getndelim2 to use block operations when possible.
51973         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
51974         freadseek, and memchr2.
51975         * lib/getndelim2.c (getndelim2): Use them for block reads.
51976
51977 2008-04-29  Bruno Haible  <bruno@clisp.org>
51978
51979         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
51980         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
51981         * modules/inet_ntop (Depends-on): Add extensions.
51982         * modules/inet_pton (Depends-on): Likewise.
51983         Reported by Simon Josefsson.
51984
51985 2008-04-29  Jim Meyering  <meyering@redhat.com>
51986
51987         When the is more than one match in a block, match all of them.
51988         * build-aux/useless-if-before-free: Iterate through each block
51989         until there are no more matches.
51990
51991         Fix broken useless-if-before-free script.
51992         * build-aux/useless-if-before-free: Fix typo: missing "?" after
51993         the expression to match cast of argument to free-like function.
51994
51995 2008-04-29  Eric Blake  <ebb9@byu.net>
51996
51997         Use new header.
51998         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
51999
52000 2008-04-29  Jim Meyering  <meyering@redhat.com>
52001
52002         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
52003         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
52004         by gnulib to exist and to declare e.g., inet_ntop.
52005         Don't include "inet_ntop.h", now removed.
52006
52007         * m4/arpa_inet_h.m4: Remove trailing blanks.
52008
52009 2008-04-29  Eric Blake  <ebb9@byu.net>
52010
52011         Silence valgrind on safe reads beyond potential array bounds.
52012         * lib/rawmemchr.valgrind: New file.
52013         * lib/strchrnul.valgrind: Likewise.
52014         * modules/rawmemchr (Files): Distribute new file.
52015         * modules/strchrnul (Files): Likewise.
52016         Suggested by Bruno Haible.
52017
52018 2008-04-29  Bruno Haible  <bruno@clisp.org>
52019
52020         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
52021         (inet_ntop, inet_pton): Change portability warning's wording.
52022         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
52023         Invoke gl_CHECK_NEXT_HEADERS.
52024         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
52025         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
52026         set ARPA_INET_H.
52027         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
52028         * modules/arpa_inet (Description): No longer only for systems that
52029         lack it.
52030         (Depends-on): Add include_next.
52031         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
52032         HAVE_ARPA_INET_H.
52033
52034 2008-04-29  Jim Meyering  <meyering@redhat.com>
52035
52036         * modules/mkdir (License): Re-license as LGPLv2+.
52037
52038 2008-04-29  Bruno Haible  <bruno@clisp.org>
52039
52040         * modules/rawmemchr (Maintainer): Set to Eric.
52041         * modules/strchrnul (Maintainer): Likewise.
52042
52043 2008-04-29  Simon Josefsson  <simon@josefsson.org>
52044
52045         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
52046         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
52047
52048         * modules/arpa_inet (arpa/inet.h): Use them.
52049
52050 2008-04-28  Eric Blake  <ebb9@byu.net>
52051
52052         Test getndelim2.
52053         * modules/getndelim2-tests: New file.
52054         * tests/test-getndelim2.c: Likewise.
52055         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
52056         stream.
52057         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
52058
52059         * MODULES.html.sh: Document new module.
52060
52061 2008-04-20  Bruno Haible  <bruno@clisp.org>
52062
52063         * lib/c-stack.c (die): Use raise.
52064         * modules/c-stack (Depends-on): Add raise.
52065
52066 2008-04-28  Bruno Haible  <bruno@clisp.org>
52067
52068         Expect rpmatch to be declared.
52069         * lib/yesno.c (rpmatch): Remove declaration.
52070
52071         Declare rpmatch.
52072         * lib/stdlib.in.h (rpmatch): New declaration.
52073         * lib/rpmatch.c: Include <stdlib.h> first.
52074         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
52075         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
52076         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
52077         HAVE_RPMATCH.
52078         * modules/rpmatch (Depends-on): Add stdlib, extensions.
52079         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52080         (Include): Set to <stdlib.h>.
52081         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
52082         HAVE_RPMATCH.
52083         * NEWS: Document the change.
52084
52085 2008-04-28  Bruno Haible  <bruno@clisp.org>
52086
52087         Change rpmatch to use nl_langinfo when appropriate.
52088         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
52089         (N_): New macro.
52090         (localized_pattern): New function/macro.
52091         (try): Remove match, nomatch arguments. Copy the pattern into safe
52092         memory before caching it.
52093         (rpmatch): Use localized_pattern. Add translator comments.
52094         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
52095         Suggested by Eric Blake.
52096         * modules/rpmatch (Depends-on): Add stdbool.
52097
52098 2008-04-28  Eric Blake  <ebb9@byu.net>
52099
52100         Add rawmemchr module, matching glibc.
52101         * modules/string (Makefile.am): New indicator.
52102         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
52103         * lib/string.in.h (rawmemchr): Declare when appropriate.
52104         * modules/rawmemchr: New file.
52105         * m4/rawmemchr.m4: Likewise.
52106         * lib/rawmemchr.c: Likewise.
52107         * modules/rawmemchr-tests: Likewise.
52108         * tests/test-rawmemchr.c: Likewise.
52109         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
52110         module.
52111         * modules/strchrnul (Depends-on): Add rawmemchr.
52112         * lib/strchrnul.c (strchrnul): Optimize a corner case.
52113
52114         Whitespace cleanup.
52115         * tests/test-strchrnul.c: Reindent.
52116         * lib/strchrnul.c: Likewise.
52117
52118         Optimize and test strchrnul.
52119         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
52120         * modules/strchrnul-tests: New file.
52121         * tests/test-strchrnul.c: Likewise.
52122
52123         Remove intprops dependency.
52124         * modules/memchr (Depends-on): Remove intprops.
52125         * modules/memrchr (Depends-on): Likewise.
52126         * modules/memchr2 (Depends-on): Likewise.
52127         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
52128         * lib/memrchr.c (__memrchr): Likewise.
52129         * lib/memrchr2.c (memchr2): Likewise.
52130         Reported by Simon Josefsson.
52131
52132 2008-04-28  Simon Josefsson  <simon@josefsson.org>
52133
52134         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
52135         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52136
52137 2008-04-28  Simon Josefsson  <simon@josefsson.org>
52138
52139         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
52140
52141         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
52142
52143         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
52144
52145         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
52146         declarations.
52147         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
52148
52149         * m4/inet_pton.m4: Don't check for header files.
52150
52151         * m4/inet_ntop.m4: Don't check for header files.
52152
52153 2008-04-28  Simon Josefsson  <simon@josefsson.org>
52154
52155         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
52156         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
52157         trigger for cygwin).
52158         Reported by Bruno Haible  <bruno@clisp.org>.
52159
52160 2008-04-28  Bruno Haible  <bruno@clisp.org>
52161
52162         * doc/posix-functions/strdup.texi: Mention mingw problem.
52163
52164 2008-04-27  Bruno Haible  <bruno@clisp.org>
52165
52166         * modules/stat-time-tests (Depends-on): Add sleep.
52167         * tests/test-stat-time.c (force_unlink): New function.
52168         (cleanup): Use it.
52169         (test_mtime): Remove the ctime related tests.
52170         (test_ctime): New function, containing the ctime related tests.
52171         (main): Call test_ctime, except on native Windows platforms.
52172
52173 2008-04-27  Bruno Haible  <bruno@clisp.org>
52174
52175         * lib/rpmatch.c (rpmatch): Add some comments.
52176         Reported by James Youngman <jay@gnu.org>.
52177
52178 2008-04-27  Bruno Haible  <bruno@clisp.org>
52179
52180         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
52181         quiet NaNs.
52182
52183 2008-04-27  Bruno Haible  <bruno@clisp.org>
52184
52185         Make test-yesno.sh work on mingw.
52186         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
52187         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
52188         (main): Set stdin to binary mode.
52189         * modules/yesno-tests (Depends-on): Add binary-io.
52190
52191 2008-04-27  Bruno Haible  <bruno@clisp.org>
52192
52193         Fix 'isfinite' on x86, x86_64, ia64 platforms.
52194         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
52195         argument that lie outside the IEEE 854 domain.
52196         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
52197         (gl_ISFINITE): Use it.
52198         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
52199
52200 2008-04-27  Bruno Haible  <bruno@clisp.org>
52201
52202         Allow local renaming in config.h.
52203         * lib/memrchr.c (memrchr): Don't undefine outside libc.
52204
52205 2008-04-27  Bruno Haible  <bruno@clisp.org>
52206
52207         * lib/memchr.c (__memchr): Change type of 'i'.
52208         * lib/memchr2.c (memchr2): Likewise.
52209
52210 2008-04-26  Eric Blake  <ebb9@byu.net>
52211         and Bruno Haible  <bruno@clisp.org>
52212
52213         Optimize and test memrchr.
52214         * modules/memrchr (Depends-on): Add intprops.
52215         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
52216         * modules/memrchr-tests: New file.
52217         * tests/test-memrchr.c: New file.
52218
52219 2008-04-26  Bruno Haible  <bruno@clisp.org>
52220
52221         Add tentative support for DragonFly BSD.
52222         * lib/stdio-impl.h: Add macros for DragonFly BSD.
52223         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
52224         fp.
52225         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
52226         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
52227         * lib/fpurge.c (fpurge): Likewise.
52228         * lib/freadable.c (freaadable): Likewise.
52229         * lib/freadahead.c (freadahead): Likewise.
52230         * lib/freading.c (freading): Likewise.
52231         * lib/freadptr.c (freadptr): Likewise.
52232         * lib/freadseek.c (freadptrinc): Likewise.
52233         * lib/fseeko.c (fseeko): Likewise.
52234         * lib/fseterr.c (fseterr): Likewise.
52235         * lib/fwritable.c (fwritable): Likewise.
52236         * lib/fwriting.c (fwriting): Likewise.
52237
52238 2008-04-26  Bruno Haible  <bruno@clisp.org>
52239
52240         * lib/stdio-impl.h: New file.
52241         * lib/fbufmode.c: Include stdio-impl.h.
52242         (fbufmode): Use fp_, remove redundant #defines.
52243         * lib/fflush.c: Include stdio-impl.h.
52244         (clear_ungetc_buffer): Remove redundant #defines.
52245         * lib/fpurge.c: Include stdio-impl.h.
52246         (fpurge): Remove redundant #defines.
52247         * lib/freadable.c: Include stdio-impl.h.
52248         (freadable): Remove redundant #defines.
52249         * lib/freadahead.c: Include stdio-impl.h.
52250         (freadahead): Remove redundant #defines.
52251         * lib/freading.c: Include stdio-impl.h.
52252         (freading): Remove redundant #defines.
52253         * lib/freadptr.c: Include stdio-impl.h.
52254         (freadptr): Remove redundant #defines.
52255         * lib/freadseek.c: Include stdio-impl.h.
52256         (freadptrinc): Remove redundant #defines.
52257         * lib/fseeko.c: Include stdio-impl.h.
52258         (rpl_fseeko): Remove redundant #defines.
52259         * lib/fseterr.c: Include stdio-impl.h.
52260         (fseterr): Remove redundant #defines.
52261         * lib/fwritable.c: Include stdio-impl.h.
52262         (fwritable: Remove redundant #defines.
52263         * lib/fwriting.c: Include stdio-impl.h.
52264         (fwriting): Remove redundant #defines.
52265         * modules/fbufmode (Files): Add lib/stdio-impl.h.
52266         * modules/fflush (Files): Likewise.
52267         * modules/fpurge (Files): Likewise.
52268         * modules/freadable (Files): Likewise.
52269         * modules/freadahead (Files): Likewise.
52270         * modules/freading (Files): Likewise.
52271         * modules/freadptr (Files): Likewise.
52272         * modules/freadseek (Files): Likewise.
52273         * modules/fseeko (Files): Likewise.
52274         * modules/fseterr (Files): Likewise.
52275         * modules/fwritable (Files): Likewise.
52276         * modules/fwriting (Files): Likewise.
52277
52278 2008-04-26  Bruno Haible  <bruno@clisp.org>
52279
52280         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
52281         restore_seek_optimization, update_fpos_cache): New functions, extracted
52282         from rpl_fflush.
52283         (rpl_fflush): Use them.
52284         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
52285         (gl_REPLACE_FFLUSH): Use it.
52286
52287 2008-04-26  Bruno Haible  <bruno@clisp.org>
52288
52289         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
52290         on Solaris.
52291         * tests/test-xstrtoimax.sh: Likewise.
52292         * tests/test-xstrtoumax.sh: Likewise.
52293         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52294
52295 2008-04-26  Bruno Haible  <bruno@clisp.org>
52296
52297         * modules/memchr-tests: New file.
52298         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
52299
52300 2008-04-26  Eric Blake  <ebb9@byu.net>
52301             Bruno Haible  <bruno@clisp.org>
52302
52303         * lib/memchr.c: Include intprops.h.
52304         (__memchr): Optimize parallel detection of matching bytes. Rename local
52305         variables. Add explanatory comments.
52306
52307 2008-04-26  Bruno Haible  <bruno@clisp.org>
52308
52309         Fix module 'memchr', broken since 2000-10-28.
52310         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
52311
52312 2008-04-26  Bruno Haible  <bruno@clisp.org>
52313
52314         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
52315         comments.
52316
52317 2008-04-25  Eric Blake  <ebb9@byu.net>
52318
52319         Use native fstatat on cygwin 1.7.0.
52320         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
52321         first.
52322
52323 2008-04-23  Eric Blake  <ebb9@byu.net>
52324
52325         Improve memchr2 performance.
52326         * lib/memchr2.c (memchr2): Further optimize parallel detection of
52327         NUL bytes.
52328         * modules/memchr2 (Depends-on): Use intprops.h.
52329
52330 2008-04-23  Simon Josefsson  <simon@josefsson.org>
52331
52332         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
52333         an inline function instead of a CPP macro.  Patch by Ben Pfaff
52334         <blp@cs.stanford.edu>.
52335
52336 2008-04-23  Simon Josefsson  <simon@josefsson.org>
52337
52338         * lib/arpa_inet.in.h: New file.
52339
52340         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
52341         (Makefile.am): Sed in substitute header file.
52342
52343         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
52344         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
52345
52346         * modules/inet_ntop (configure.ac): Use
52347         gl_ARPA_INET_MODULE_INDICATOR.
52348
52349         * modules/inet_pton (configure.ac): Use
52350         gl_ARPA_INET_MODULE_INDICATOR.
52351
52352 2008-04-22  Jim Meyering  <meyering@redhat.com>
52353
52354         * modules/verify (License): Re-license as LGPLv2+.
52355
52356 2008-04-22  Simon Josefsson  <simon@josefsson.org>
52357
52358         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
52359         parameter to void* as per POSIX standard (MinGW uses char*).
52360
52361 2008-04-21  Bruno Haible  <bruno@clisp.org>
52362
52363         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
52364         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
52365         Define to replacements if REPLACE_ISWCNTRL is 1.
52366         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
52367         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
52368         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
52369         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
52370         what it fixes.
52371         * doc/posix-functions/iswalpha.texi: Likewise.
52372         * doc/posix-functions/iswblank.texi: Likewise.
52373         * doc/posix-functions/iswcntrl.texi: Likewise.
52374         * doc/posix-functions/iswdigit.texi: Likewise.
52375         * doc/posix-functions/iswgraph.texi: Likewise.
52376         * doc/posix-functions/iswlower.texi: Likewise.
52377         * doc/posix-functions/iswprint.texi: Likewise.
52378         * doc/posix-functions/iswpunct.texi: Likewise.
52379         * doc/posix-functions/iswspace.texi: Likewise.
52380         * doc/posix-functions/iswupper.texi: Likewise.
52381         * doc/posix-functions/iswxdigit.texi: Likewise.
52382         Reported by Alain Guibert.
52383
52384 2008-04-21  Bruno Haible  <bruno@clisp.org>
52385
52386         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
52387         Patch by Alain Guibert.
52388
52389 2008-04-21  Bruno Haible  <bruno@clisp.org>
52390
52391         Fix test failures on mingw.
52392         * tests/test-xstrtol.c (print_no_progname): New function.
52393         (main): Install it in error_print_progname hook.
52394         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
52395         * tests/test-xstrtoimax.sh: Likewise.
52396         * tests/test-xstrtoumax.sh: Likewise.
52397
52398 2008-04-21  Bruno Haible  <bruno@clisp.org>
52399
52400         Fix test failure on mingw.
52401         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
52402
52403 2008-04-21  Bruno Haible  <bruno@clisp.org>
52404
52405         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
52406         Actually assign a value.
52407
52408 2008-04-20  Bruno Haible  <bruno@clisp.org>
52409
52410         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
52411         take 2.
52412         * lib/canonicalize.c (canonicalize_file_name): Elide if the
52413         'canonicalize-lgpl' module is also used.
52414         * lib/canonicalize-lgpl.c: Undo last change.
52415         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
52416
52417 2008-04-20  Bruno Haible  <bruno@clisp.org>
52418
52419         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
52420         config.h. Provide _mkdir based fallback for mingw.
52421         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
52422         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
52423         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
52424         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
52425         rather than defining mkdir in config.h.
52426         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
52427         (gl_SYS_STAT_H_DEFAULTS): New macro.
52428         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
52429         HAVE_IO_H any more.
52430         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
52431         HAVE_DECL_MKDIR and HAVE_IO_H.
52432
52433 2008-04-20  Bruno Haible  <bruno@clisp.org>
52434
52435         * lib/isapipe.c: Port to native Windows platforms.
52436
52437 2008-04-20  Bruno Haible  <bruno@clisp.org>
52438
52439         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
52440
52441 2008-04-21  Eric Blake  <ebb9@byu.net>
52442
52443         Work around preprocessors that don't handle UINTMAX_MAX.
52444         * lib/memchr2.c (memchr2): Avoid embedded #if.
52445         Reported by Alain Guibert, fix suggested by Bruno Haible.
52446
52447 2008-04-21  Simon Josefsson  <simon@josefsson.org>
52448
52449         * doc/posix-functions/strftime.texi (strftime): Explain better
52450         Windows incompatibility.  Suggested by Micah Cowan
52451         <micah@cowan.name>.
52452
52453 2008-04-20  Bruno Haible  <bruno@clisp.org>
52454
52455         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
52456         unistr/u8-mblen.
52457
52458 2008-04-20  Bruno Haible  <bruno@clisp.org>
52459
52460         Fix test failure on platforms with non-GNU iconv.
52461         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
52462         (U_TO_U8): Use it, rather than u16_to_u8.
52463         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
52464         units at the end of the input string.
52465         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
52466
52467 2008-04-20  Bruno Haible  <bruno@clisp.org>
52468
52469         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
52470         when the resulting length is 0.
52471         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
52472
52473 2008-04-20  Bruno Haible  <bruno@clisp.org>
52474
52475         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
52476         works.
52477         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
52478
52479 2008-04-20  Bruno Haible  <bruno@clisp.org>
52480
52481         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
52482         * modules/tsearch-tests (configure.ac): Test for initstate function.
52483
52484 2008-04-20  Bruno Haible  <bruno@clisp.org>
52485
52486         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
52487         for nlink_t if missing.
52488         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
52489
52490 2008-04-19  Bruno Haible  <bruno@clisp.org>
52491
52492         Work around snprintf bug on Linux libc5.
52493         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
52494         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
52495         gl_SNPRINTF_SIZE1.
52496         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52497         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
52498         that test failed.
52499         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
52500         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
52501         * modules/snprintf (Files): Add m4/printf.m4.
52502         * modules/vsnprintf (Files): Likewise.
52503         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
52504         * doc/posix-functions/vsnprintf.texi: Likewise.
52505
52506 2008-04-19  Bruno Haible  <bruno@clisp.org>
52507
52508         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
52509         from 0.0058 to less than 10^-7.
52510
52511 2008-04-19  Bruno Haible  <bruno@clisp.org>
52512
52513         Fix rounding when a precision is given.
52514         * lib/vasnprintf.c (is_borderline): New function.
52515         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
52516         9...9x.
52517         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
52518         %e, %g.
52519         * tests/test-vasprintf-posix.c (test_function): Likewise.
52520         * tests/test-snprintf-posix.h (test_function): Likewise.
52521         * tests/test-sprintf-posix.h (test_function): Likewise.
52522         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
52523         * tests/test-printf-posix.h (test_function): Likewise.
52524         * tests/test-printf-posix.output: Update.
52525         Reported by John Darrington <john@darrington.wattle.id.au> via
52526         Ben Pfaff <blp@cs.stanford.edu>.
52527
52528 2008-04-18  Simon Josefsson  <simon@josefsson.org>
52529
52530         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
52531         Suggested by Bruno Haible <bruno@clisp.org>.
52532
52533 2008-04-17  Bruno Haible  <bruno@clisp.org>
52534
52535         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
52536         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
52537         implementation.
52538         Patch by Bruce Merry <bmerry@gmail.com>.
52539
52540 2008-04-17  Simon Josefsson  <simon@josefsson.org>
52541
52542         * doc/posix-functions/strftime.texi (strftime): Mention that %e
52543         doesn't work under Windows.
52544
52545 2008-04-16  Bruno Haible  <bruno@clisp.org>
52546
52547         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
52548         New macros.
52549         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
52550         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
52551         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
52552         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
52553         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
52554         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
52555         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
52556         macros.
52557         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
52558         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
52559         Northern Sotho, Uighur.
52560
52561 2008-04-16  Bruno Haible  <bruno@clisp.org>
52562
52563         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
52564         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
52565         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
52566         Reported by Daniel Bergström <daniel@octocode.com>.
52567
52568 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
52569             Bruno Haible  <bruno@clisp.org>
52570
52571         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
52572         function.
52573         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
52574         New functions, mostly extracted from gl_locale_name_default.
52575         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
52576
52577 2008-04-16  Eric Blake  <ebb9@byu.net>
52578
52579         Adjust strtod detection to catch glibc 2.7 bug.
52580         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
52581         Reported by John Gatewood Ham.
52582
52583 2008-04-16  Bruno Haible  <bruno@clisp.org>
52584
52585         Add tentative support for Linux libc5.
52586         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
52587         * lib/fpurge.c (fpurge): Likewise.
52588         * lib/freadable.c (freadable): Likewise.
52589         * lib/freadahead.c (freadahead): Likewise.
52590         * lib/freading.c (freading): Likewise.
52591         * lib/freadptr.c (freadptr): Likewise.
52592         * lib/freadseek.c (freadptrinc): Likewise.
52593         * lib/fseeko.c (rpl_fseeko): Likewise.
52594         * lib/fseterr.c (fseterr): Likewise.
52595         * lib/fwritable.c (fwritable): Likewise.
52596         * lib/fwriting.c (fwriting): Likewise.
52597         Reported by Alain Guibert <alguibert+bts@free.fr>.
52598
52599 2008-04-15  Bruno Haible  <bruno@clisp.org>
52600
52601         * modules/mathl (configure.ac): Define module indicator.
52602
52603 2008-04-15  Bruno Haible  <bruno@clisp.org>
52604
52605         * lib/logl.c (logl): Remove unused variables.
52606
52607 2008-04-15  Bruno Haible  <bruno@clisp.org>
52608
52609         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
52610         fails.
52611
52612 2008-04-15  Bruno Haible  <bruno@clisp.org>
52613
52614         * lib/trim.c (trim2): Fix argument of isspace() macro.
52615
52616 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
52617
52618         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
52619         to 0.
52620         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
52621
52622 2008-04-14  Bruno Haible  <bruno@clisp.org>
52623
52624         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
52625         AC_LANG_PROGRAM argument.
52626         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
52627         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
52628         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
52629         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
52630         * m4/math_h.m4 (gl_MATH_H): Likewise.
52631         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
52632         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
52633         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
52634         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
52635         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
52636         * m4/regex.m4 (gl_REGEX): Likewise.
52637         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
52638         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
52639         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52640         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
52641         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
52642         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
52643         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
52644         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
52645
52646 2008-04-14  Jim Meyering  <meyering@redhat.com>
52647
52648         test-strtod: fix typos: s/abs/fabs/
52649         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
52650
52651 2008-04-13  Bruno Haible  <bruno@clisp.org>
52652
52653         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
52654         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
52655         module is also used and while not building the reloc-wrapper.
52656
52657 2008-04-13  Bruno Haible  <bruno@clisp.org>
52658
52659         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
52660
52661 2008-04-13  Bruno Haible  <bruno@clisp.org>
52662
52663         Fix AIX compilation failure introduced on 2008-04-02.
52664         * tests/test-frexp.c (exp): Undefine before redefining.
52665         * tests/test-frexpl.c (exp): Likewise.
52666
52667 2008-04-13  Bruno Haible  <bruno@clisp.org>
52668
52669         Work around a HP-UX stdio bug.
52670         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
52671         * tests/test-ftello.c (main): Likewise.
52672         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
52673         * doc/posix-functions/ftello.texi: Likewise.
52674
52675 2008-04-13  Bruno Haible  <bruno@clisp.org>
52676
52677         Make test-signbit pass on HP-UX/hppa.
52678         * tests/test-signbit.c (minus_zerol): New variable.
52679         (test_signbitl): Use it.
52680
52681 2008-04-13  Bruno Haible  <bruno@clisp.org>
52682
52683         Make truncl work on OSF/1 4.0.
52684         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
52685         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
52686         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
52687         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
52688         HAVE_DECL_TRUNCL.
52689         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
52690         HAVE_DECL_TRUNCL.
52691         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
52692
52693 2008-04-13  Bruno Haible  <bruno@clisp.org>
52694
52695         * lib/unictype.h: Remove trailing comma from enumeration definitions.
52696
52697 2008-04-13  Bruno Haible  <bruno@clisp.org>
52698
52699         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
52700         expression, so as to avoid HP-UX 11 cc compiler bug.
52701
52702 2008-04-13  Bruno Haible  <bruno@clisp.org>
52703
52704         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
52705
52706 2008-04-13  Bruno Haible  <bruno@clisp.org>
52707
52708         * lib/git-merge-changelog.c: Remove empty declaration outside of
52709         functions.
52710
52711 2008-04-13  Bruno Haible  <bruno@clisp.org>
52712
52713         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
52714
52715 2008-04-13  Bruno Haible  <bruno@clisp.org>
52716
52717         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
52718         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
52719         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
52720         also if it exists but lacks definitions of the SHUT_* macros.
52721         * modules/sys_socket (Description): Update.
52722         Reported by Elbert Pol <e.pol@chello.nl>.
52723
52724 2008-04-13  Bruno Haible  <bruno@clisp.org>
52725
52726         * lib/localcharset.c (OS2): Don't redefine if already defined.
52727         Reported by Elbert Pol <e.pol@chello.nl>.
52728
52729 2008-04-13  Bruno Haible  <bruno@clisp.org>
52730
52731         * lib/binary-io.h [__EMX__]: Include <io.h>.
52732         Reported by Elbert Pol <e.pol@chello.nl>.
52733
52734 2008-04-12  Bruno Haible  <bruno@clisp.org>
52735
52736         * lib/fpucw.h: Enable the definitions also for x86_64.
52737         Needed for NetBSD/x86_64.
52738         Reported by Thomas Klausner <tk@giga.or.at>.
52739
52740 2008-04-12  Bruno Haible  <bruno@clisp.org>
52741
52742         * tests/test-strtod.c: Include isnand.h.
52743         (main): Use isnand instead of isnan.
52744         Reported by Jim Meyering.
52745
52746 2008-04-12  Bruno Haible  <bruno@clisp.org>
52747
52748         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
52749         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
52750
52751 2008-04-12  Jim Meyering  <meyering@redhat.com>
52752
52753         * m4/math_h.m4 (gl_MATH_H): Fix typos.
52754
52755 2008-04-12  Bruno Haible  <bruno@clisp.org>
52756
52757         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
52758         Reported by Elbert Pol <e.pol@chello.nl>.
52759
52760 2008-04-12  Eric Blake  <ebb9@byu.net>
52761
52762         Work around Solaris 10 math.h bug.
52763         * m4/math_h.m4 (gl_MATH_H): Check for bug.
52764         (gl_MATH_H_DEFAULTS): Set up default.
52765         * modules/math (Makefile.am): Replace new indicators.
52766         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
52767         * tests/test-math.c (main): Test this.
52768         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
52769         * doc/posix-headers/math.texi (math.h): Mention bug.
52770         Reported by Nelson H. F. Beebe and Jim Meyering.
52771
52772 2008-04-11  Bruno Haible  <bruno@clisp.org>
52773
52774         Adapt to future versions of Apple GCC.
52775         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
52776         Reported by Peter O'Gorman <peter@pogma.com>.
52777
52778 2008-04-11  Bruno Haible  <bruno@clisp.org>
52779
52780         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
52781
52782 2008-04-11  Bruno Haible  <bruno@clisp.org>
52783
52784         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
52785
52786         * modules/getaddrinfo-tests (Makefile.am): Define
52787         test_getaddrinfo_LDADD.
52788
52789 2008-04-11  Bruno Haible  <bruno@clisp.org>
52790
52791         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
52792         (init): Fix syntax error.
52793         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
52794         is declared.
52795
52796 2008-04-11  Bruno Haible  <bruno@clisp.org>
52797
52798         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
52799         * modules/glob (Depends-on): Add stdbool.
52800
52801 2008-04-11  Bruno Haible  <bruno@clisp.org>
52802
52803         * lib/trim.c: Include <string.h>.
52804
52805 2008-04-11  Eric Blake  <ebb9@byu.net>
52806
52807         Avoid compile failure on OS/2.
52808         * lib/regex_internal.h (internal_function): Disable optimization
52809         on OS/2 (__EMX__), where it caused compiler error.
52810         Reported by Elbert Pol.
52811
52812 2008-04-11  Bruno Haible  <bruno@clisp.org>
52813
52814         Flush the standard error stream before aborting. Needed on mingw.
52815         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
52816         * tests/test-array_list.c (ASSERT): Likewise.
52817         * tests/test-array_oset.c (ASSERT): Likewise.
52818         * tests/test-avltree_list.c (ASSERT): Likewise.
52819         * tests/test-avltree_oset.c (ASSERT): Likewise.
52820         * tests/test-avltreehash_list.c (ASSERT): Likewise.
52821         * tests/test-binary-io.c (ASSERT): Likewise.
52822         * tests/test-byteswap.c (ASSERT): Likewise.
52823         * tests/test-c-ctype.c (ASSERT): Likewise.
52824         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
52825         * tests/test-c-strcasestr.c (ASSERT): Likewise.
52826         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
52827         * tests/test-c-strstr.c (ASSERT): Likewise.
52828         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
52829         * tests/test-canonicalize.c (ASSERT): Likewise.
52830         * tests/test-carray_list.c (ASSERT): Likewise.
52831         * tests/test-ceilf1.c (ASSERT): Likewise.
52832         * tests/test-ceilf2.c (ASSERT): Likewise.
52833         * tests/test-ceill.c (ASSERT): Likewise.
52834         * tests/test-count-one-bits.c (ASSERT): Likewise.
52835         * tests/test-fbufmode.c (ASSERT): Likewise.
52836         * tests/test-fflush2.c (ASSERT): Likewise.
52837         * tests/test-floorf1.c (ASSERT): Likewise.
52838         * tests/test-floorf2.c (ASSERT): Likewise.
52839         * tests/test-floorl.c (ASSERT): Likewise.
52840         * tests/test-fopen.c (ASSERT): Likewise.
52841         * tests/test-fpending.c (ASSERT): Likewise.
52842         * tests/test-fprintf-posix.c (ASSERT): Likewise.
52843         * tests/test-fpurge.c (ASSERT): Likewise.
52844         * tests/test-freadable.c (ASSERT): Likewise.
52845         * tests/test-freadahead.c (ASSERT): Likewise.
52846         * tests/test-freading.c (ASSERT): Likewise.
52847         * tests/test-freadptr.c (ASSERT): Likewise.
52848         * tests/test-freadptr2.c (ASSERT): Likewise.
52849         * tests/test-freadseek.c (ASSERT): Likewise.
52850         * tests/test-freopen.c (ASSERT): Likewise.
52851         * tests/test-frexp.c (ASSERT): Likewise.
52852         * tests/test-frexpl.c (ASSERT): Likewise.
52853         * tests/test-fseek.c (ASSERT): Likewise.
52854         * tests/test-fseeko.c (ASSERT): Likewise.
52855         * tests/test-fstrcmp.c (ASSERT): Likewise.
52856         * tests/test-ftell.c (ASSERT): Likewise.
52857         * tests/test-ftello.c (ASSERT): Likewise.
52858         * tests/test-func.c (ASSERT): Likewise.
52859         * tests/test-fwritable.c (ASSERT): Likewise.
52860         * tests/test-fwriting.c (ASSERT): Likewise.
52861         * tests/test-getdelim.c (ASSERT): Likewise.
52862         * tests/test-getline.c (ASSERT): Likewise.
52863         * tests/test-i-ring.c (ASSERT): Likewise.
52864         * tests/test-iconv-utf.c (ASSERT): Likewise.
52865         * tests/test-iconv.c (ASSERT): Likewise.
52866         * tests/test-isfinite.c (ASSERT): Likewise.
52867         * tests/test-isnand.c (ASSERT): Likewise.
52868         * tests/test-isnanf.c (ASSERT): Likewise.
52869         * tests/test-isnanl.h (ASSERT): Likewise.
52870         * tests/test-ldexpl.c (ASSERT): Likewise.
52871         * tests/test-linked_list.c (ASSERT): Likewise.
52872         * tests/test-linkedhash_list.c (ASSERT): Likewise.
52873         * tests/test-localename.c (ASSERT): Likewise.
52874         * tests/test-lseek.c (ASSERT): Likewise.
52875         * tests/test-mbscasecmp.c (ASSERT): Likewise.
52876         * tests/test-mbscasestr1.c (ASSERT): Likewise.
52877         * tests/test-mbscasestr2.c (ASSERT): Likewise.
52878         * tests/test-mbscasestr3.c (ASSERT): Likewise.
52879         * tests/test-mbscasestr4.c (ASSERT): Likewise.
52880         * tests/test-mbschr.c (ASSERT): Likewise.
52881         * tests/test-mbscspn.c (ASSERT): Likewise.
52882         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
52883         * tests/test-mbspbrk.c (ASSERT): Likewise.
52884         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
52885         * tests/test-mbsrchr.c (ASSERT): Likewise.
52886         * tests/test-mbsspn.c (ASSERT): Likewise.
52887         * tests/test-mbsstr1.c (ASSERT): Likewise.
52888         * tests/test-mbsstr2.c (ASSERT): Likewise.
52889         * tests/test-mbsstr3.c (ASSERT): Likewise.
52890         * tests/test-memchr2.c (ASSERT): Likewise.
52891         * tests/test-memmem.c (ASSERT): Likewise.
52892         * tests/test-open.c (ASSERT): Likewise.
52893         * tests/test-printf-frexp.c (ASSERT): Likewise.
52894         * tests/test-printf-frexpl.c (ASSERT): Likewise.
52895         * tests/test-printf-posix.c (ASSERT): Likewise.
52896         * tests/test-quotearg.c (ASSERT): Likewise.
52897         * tests/test-rbtree_list.c (ASSERT): Likewise.
52898         * tests/test-rbtree_oset.c (ASSERT): Likewise.
52899         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
52900         * tests/test-round1.c (ASSERT): Likewise.
52901         * tests/test-roundf1.c (ASSERT): Likewise.
52902         * tests/test-roundl.c (ASSERT): Likewise.
52903         * tests/test-signbit.c (ASSERT): Likewise.
52904         * tests/test-sleep.c (ASSERT): Likewise.
52905         * tests/test-snprintf-posix.c (ASSERT): Likewise.
52906         * tests/test-snprintf.c (ASSERT): Likewise.
52907         * tests/test-sprintf-posix.c (ASSERT): Likewise.
52908         * tests/test-stat-time.c (ASSERT): Likewise.
52909         * tests/test-strcasestr.c (ASSERT): Likewise.
52910         * tests/test-strerror.c (ASSERT): Likewise.
52911         * tests/test-striconv.c (ASSERT): Likewise.
52912         * tests/test-striconveh.c (ASSERT): Likewise.
52913         * tests/test-striconveha.c (ASSERT): Likewise.
52914         * tests/test-strsignal.c (ASSERT): Likewise.
52915         * tests/test-strstr.c (ASSERT): Likewise.
52916         * tests/test-strtod.c (ASSERT): Likewise.
52917         * tests/test-trunc1.c (ASSERT): Likewise.
52918         * tests/test-trunc2.c (ASSERT): Likewise.
52919         * tests/test-truncf1.c (ASSERT): Likewise.
52920         * tests/test-truncf2.c (ASSERT): Likewise.
52921         * tests/test-truncl.c (ASSERT): Likewise.
52922         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
52923         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
52924         * tests/test-vasnprintf.c (ASSERT): Likewise.
52925         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
52926         * tests/test-vasprintf.c (ASSERT): Likewise.
52927         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
52928         * tests/test-vprintf-posix.c (ASSERT): Likewise.
52929         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
52930         * tests/test-vsnprintf.c (ASSERT): Likewise.
52931         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
52932         * tests/test-wcwidth.c (ASSERT): Likewise.
52933         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
52934         * tests/test-xprintf-posix.c (ASSERT): Likewise.
52935         * tests/test-xvasprintf.c (ASSERT): Likewise.
52936         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
52937         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
52938         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
52939         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
52940         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
52941         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
52942         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
52943         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
52944         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
52945         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
52946         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
52947         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
52948         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
52949         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
52950         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
52951         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
52952         * tests/unictype/test-block_list.c (ASSERT): Likewise.
52953         * tests/unictype/test-block_of.c (ASSERT): Likewise.
52954         * tests/unictype/test-block_test.c (ASSERT): Likewise.
52955         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
52956         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
52957         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
52958         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
52959         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
52960         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
52961         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
52962         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
52963         * tests/unictype/test-combining.c (ASSERT): Likewise.
52964         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
52965         * tests/unictype/test-digit.c (ASSERT): Likewise.
52966         * tests/unictype/test-mirror.c (ASSERT): Likewise.
52967         * tests/unictype/test-numeric.c (ASSERT): Likewise.
52968         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
52969         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
52970         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
52971         * tests/unictype/test-scripts.c (ASSERT): Likewise.
52972         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
52973         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
52974         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
52975         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
52976         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
52977         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
52978         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
52979         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
52980         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
52981         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
52982         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
52983         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
52984         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
52985         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
52986         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
52987         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
52988         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
52989         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
52990         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
52991         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
52992         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
52993         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
52994         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
52995         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
52996         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
52997         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
52998         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
52999         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
53000         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
53001         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
53002         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
53003         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
53004         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
53005         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
53006         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
53007         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
53008         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
53009         Reported by Eric Blake.
53010
53011 2008-04-11  Bruno Haible  <bruno@clisp.org>
53012
53013         * lib/wchar.in.h: Tweak comment.
53014
53015 2008-04-11  Bruno Haible  <bruno@clisp.org>
53016
53017         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
53018         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
53019         gl_COMMON.
53020         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
53021
53022 2008-04-11  Bruno Haible  <bruno@clisp.org>
53023
53024         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
53025
53026 2008-04-11  Simon Josefsson  <simon@josefsson.org>
53027
53028         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
53029         of attempting to use non-existing /dev/*random.  Based on patch
53030         from Adam Strzelecki <ono@java.pl> in
53031         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
53032
53033 2008-04-08  Bruno Haible  <bruno@clisp.org>
53034
53035         Add tentative support for emx+gcc.
53036         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
53037         * lib/fpurge.c (fpurge): Likewise.
53038         * lib/freadable.c (freadable): Likewise.
53039         * lib/freadahead.c (freadahead): Likewise.
53040         * lib/freading.c (freading): Likewise.
53041         * lib/freadptr.c (freadptr): Likewise.
53042         * lib/freadseek.c (freadptrinc): Likewise.
53043         * lib/fseeko.c (rpl_fseeko): Likewise.
53044         * lib/fseterr.c (fseterr): Likewise.
53045         * lib/fwritable.c (fwritable): Likewise.
53046         * lib/fwriting.c (fwriting): Likewise.
53047         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
53048
53049 2008-04-09  Eric Blake  <ebb9@byu.net>
53050
53051         Avoid some autoconf warnings.
53052         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
53053         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
53054         * m4/afs.m4 (gl_AFS): Likewise.
53055         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
53056         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
53057         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
53058         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
53059         (gl_INTEGER_TYPE_SUFFIX): Likewise.
53060         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
53061         (AC_CHECK_DECLS_ONCE): Likewise.
53062         Rename file...
53063         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
53064         gnulib-tool requires autoconf 2.59 or better.
53065         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
53066
53067 2008-04-08  Eric Blake  <ebb9@byu.net>
53068
53069         Use 'git describe --match' if present (added in git 1.5.5).
53070         * build-aux/git-version-gen: Limit result to tags that match 'v*'
53071         if possible.
53072
53073 2008-04-08  Bruno Haible  <bruno@clisp.org>
53074
53075         Add tentative support for OpenServer.
53076         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
53077         _ptr, _cnt.
53078         * lib/fpurge.c (fpurge): Likewise.
53079         * lib/freadable.c (freadable): Likewise.
53080         * lib/freadahead.c (freadahead): Likewise.
53081         * lib/freading.c (freading): Likewise.
53082         * lib/freadptr.c (freadptr): Likewise.
53083         * lib/freadseek.c (freadptrinc): Likewise.
53084         * lib/fseeko.c (rpl_fseeko): Likewise.
53085         * lib/fseterr.c (fseterr): Likewise.
53086         * lib/fwritable.c (fwritable): Likewise.
53087         * lib/fwriting.c (fwriting): Likewise.
53088         Reported by Roger Cornelius <rac@tenzing.org> and
53089         Brian K. White <brian@aljex.com>.
53090
53091 2008-04-06  Jim Meyering  <meyering@redhat.com>
53092
53093         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
53094
53095 2008-04-06  Bruno Haible  <bruno@clisp.org>
53096
53097         Avoid possible error with non-ASCII bytes in UTF-8 locales.
53098         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
53099         * tests/test-printf-posix.sh: Likewise.
53100         * tests/test-vfprintf-posix.sh: Likewise.
53101         * tests/test-vprintf-posix.sh: Likewise.
53102         * tests/test-xprintf-posix.sh: Likewise.
53103
53104 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53105
53106         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
53107         hide error from 'ls', needed on OS/2.
53108         Report by Elbert Pol <elbert.pol@gmail.com>.
53109
53110 2008-04-04  Eric Blake  <ebb9@byu.net>
53111
53112         Make test-fseeko.c failures meaningful.
53113         * tests/test-fseeko.c: Print line number on failure.
53114         * tests/test-fseek.c: Likewise.
53115         Reported by Nelson H. F. Beebe.
53116
53117         Improve strtod bug detection check.
53118         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
53119         required for Solaris 10.
53120         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
53121
53122 2008-04-04  Bruno Haible  <bruno@clisp.org>
53123
53124         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
53125         by m4/setenv.m4.
53126
53127 2008-04-03  Eric Blake  <ebb9@byu.net>
53128
53129         Ensure sane .version contents.
53130         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
53131         version string.
53132         * build-aux/git-version-gen: Improve documentation.
53133
53134         Make GNU make output nicer.
53135         * top/GNUmakefile [!_have-Makefile]: Add dependency on
53136         MAKECMDGOALS to enforce message for all command line targets.  Set
53137         srcdir for use in maint.mk.
53138
53139         Another maintainer tweak.
53140         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
53141         a target that regenerates version.
53142
53143 2008-04-03  Jim Meyering  <meyering@redhat.com>
53144
53145         vc-list-files: don't cause coreutils "make po-check" failure
53146         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
53147
53148 2008-04-03  Eric Blake  <ebb9@byu.net>
53149
53150         Allow VPATH usage of vc-list-files.
53151         * build-aux/vc-list-files (scriptversion): Add timestamp.
53152         (options): Add --help, --version, -C.
53153         (CVS): Support installed cvsu.
53154
53155 2008-04-02  Bruno Haible  <bruno@clisp.org>
53156
53157         Avoid some "statement with no effect" warnings from gcc.
53158         * tests/test-wctype.c (main): Explicitly ignore unused values.
53159         Reported by Jim Meyering.
53160
53161 2008-04-02  Jim Meyering  <meyering@redhat.com>
53162
53163         Avoid some warnings from "gcc -Wshadow".
53164         * tests/test-frexp.c (exp): Define to a different identifier.
53165         * tests/test-frexpl.c (exp): Likewise.
53166
53167 2008-04-03  Jim Meyering  <meyering@redhat.com>
53168
53169         bootstrap: remove dangling *.[ch] symlinks from lib
53170         * build-aux/bootstrap [dangling symlink removal]: Move find's
53171         -depth option to precede all others, to avoid a warning.
53172         Remove *.[ch] files too, and from "$source_base" (usually lib/).
53173
53174 2008-04-02  Bruno Haible  <bruno@clisp.org>
53175
53176         Avoid some warnings from "gcc -Wshadow".
53177         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
53178         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
53179         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
53180         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
53181         Reported by Jim Meyering.
53182
53183 2008-04-01  Bruno Haible  <bruno@clisp.org>
53184
53185         Fix test to work on IRIX 6.5 with cc.
53186         * tests/test-math.c (numeric_equal): New function.
53187         (main): Use it.
53188
53189 2008-04-01  Bruno Haible  <bruno@clisp.org>
53190
53191         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
53192
53193 2008-04-01  Bruno Haible  <bruno@clisp.org>
53194
53195         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
53196         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53197         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
53198         (Depends-on): Remove math.
53199
53200         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
53201         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53202         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
53203         (Depends-on): Remove math.
53204
53205         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
53206         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53207         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
53208         (Depends-on): Remove math.
53209         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
53210         (Depends-on): Remove math.
53211
53212         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
53213         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53214         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
53215         (Depends-on): Remove math.
53216         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
53217         (Depends-on): Remove math.
53218
53219         * tests/test-round1.c: Include nan.h.
53220         (main): Use NaNd instead of NAN.
53221         * modules/round-tests (Files): Add tests/nan.h.
53222
53223         * tests/test-trunc1.c: Include nan.h.
53224         (main): Use NaNd instead of NAN.
53225         * modules/trunc-tests (Files): Add tests/nan.h.
53226
53227         * tests/test-roundf1.c: Include nan.h.
53228         (main): Use NaNf instead of NAN.
53229         * modules/roundf-tests (Files): Add tests/nan.h.
53230
53231         * tests/test-truncf1.c: Include nan.h.
53232         (main): Use NaNf instead of NAN.
53233         * modules/truncf-tests (Files): Add tests/nan.h.
53234
53235         * tests/test-ceilf1.c: Include nan.h.
53236         (main): Use NaNf instead of NAN.
53237         * modules/ceilf-tests (Files): Add tests/nan.h.
53238
53239         * tests/test-floorf1.c: Include nan.h.
53240         (main): Use NaNf instead of NAN.
53241         * modules/floorf-tests (Files): Add tests/nan.h.
53242
53243         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
53244         (main): Use NaNf instead of NAN.
53245         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
53246
53247         * tests/test-isnand.c: Include nan.h instead of <math.h>.
53248         (main): Use NaNd instead of NAN.
53249         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
53250
53251         * tests/test-frexp.c: Include nan.h.
53252         (main): Use NaNd instead of NAN.
53253         * modules/frexp-tests (Files): Add tests/nan.h.
53254
53255         * lib/isnan.c: Don't include <math.h>.
53256         (FUNC): Don't use NAN macro.
53257         * modules/isnand-nolibm (Depends-on): Remove math.
53258         * modules/isnanf-nolibm (Depends-on): Remove math.
53259         * modules/isnanl (Depends-on): Remove math.
53260         * modules/isnanl-nolibm (Depends-on): Remove math.
53261
53262         * tests/nan.h: New file.
53263
53264 2008-04-01  Eric Blake  <ebb9@byu.net>
53265
53266         Fix typos.
53267         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
53268         values to be the right type.
53269
53270         For now, cater to gnulib strtod inaccuracies.
53271         * tests/test-strtod.c (main): Allow 1-ulp error on expected
53272         fractional results.  While not as nice from a QoI perspective, it
53273         is a quicker patch than correctly implementing decimal to binary
53274         rounding.
53275
53276 2008-03-31  Eric Blake  <ebb9@byu.net>
53277
53278         Guarantee a definition of NAN.
53279         * lib/math.in.h (NAN): Define if missing.
53280         * tests/test-math.c (main): Test it.
53281         * doc/posix-headers/math.texi (math.h): Document this.
53282         * lib/isnan.c (rpl_isnand): Use it.
53283         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
53284         * tests/test-floorf1.c (NaN): Likewise.
53285         * tests/test-frexp.c (NaN): Likewise.
53286         * tests/test-isnand.c (NaN): Likewise.
53287         * tests/test-isnanf.c (NaN): Likewise.
53288         * tests/test-round1.c (NaN): Likewise.
53289         * tests/test-roundf1.c (NaN): Likewise.
53290         * tests/test-snprintf-posix.h (NaN): Likewise.
53291         * tests/test-sprintf-posix.h (NaN): Likewise.
53292         * tests/test-trunc1.c (NaN): Likewise.
53293         * tests/test-truncf1.c (NaN): Likewise.
53294         * tests/test-vasnprintf-posix.c (NaN): Likewise.
53295         * tests/test-vasprintf-posix.c (NaN): Likewise.
53296         * modules/isnand-nolibm (Depends-on): Add math.
53297         * modules/isnanf-nolibm (Depends-on): Likewise.
53298         * modules/isnanl (Depends-on): Likewise.
53299         * modules/isnanl-nolibm (Depends-on): Likewise.
53300         * modules/snprintf-posix-tests (Depends-on): Likewise.
53301         * modules/sprintf-posix-tests (Depends-on): Likewise.
53302         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
53303         * modules/vsprintf-posix-tests (Depends-on): Likewise.
53304         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
53305         * modules/vasprintf-posix-tests (Depends-on): Likewise.
53306
53307 2008-03-31  Bruno Haible  <bruno@clisp.org>
53308
53309         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
53310         * doc/posix-functions/strtod.texi: Likewise.
53311
53312 2008-03-31  Bruno Haible  <bruno@clisp.org>
53313
53314         * tests/test-strtod.c (main): Don't use C99 syntax.
53315
53316 2008-03-31  Bruno Haible  <bruno@clisp.org>
53317
53318         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
53319         Reported by Eric Blake.
53320
53321 2008-03-31  Jim Meyering  <meyering@redhat.com>
53322
53323         Don't compare actual signbit return values.
53324         * tests/test-strtod.c (main): Rather, compare only their
53325         zero/non-zero nature.
53326
53327 2008-03-31  Eric Blake  <ebb9@byu.net>
53328
53329         More strtod documentation.
53330         * doc/posix-functions/strtod.texi (strtod): Interpret more test
53331         failures as distinct bugs.
53332
53333 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
53334
53335         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
53336         Problem reported by Erik Benada in
53337         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
53338
53339 2008-03-30  Bruno Haible  <bruno@clisp.org>
53340
53341         * tests/test-strtod.c: Add comments about which assertion fails on which
53342         platform.
53343         * doc/posix-functions/strtod.texi: Add info about many more platforms.
53344
53345 2008-03-30  Eric Blake  <ebb9@byu.net>
53346
53347         Test signbit behavior on zeros.
53348         * tests/test-signbit.c (test_signbitf): Add tests for zero.
53349         (test_signbitd, test_signbitl): Likewise.
53350
53351         More strtod touchups.
53352         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
53353         sign of negative underflow, for now.  Use .5, not .1.
53354         * doc/posix-functions/strtod.texi (strtod): Mention these
53355         limitations.
53356         Reported by Jim Meyering.
53357
53358 2008-03-30  Bruno Haible  <bruno@clisp.org>
53359
53360         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
53361         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
53362
53363 2008-03-30  Bruno Haible  <bruno@clisp.org>
53364
53365         Avoid failure when attempting to return empty iconv results on some
53366         platforms.
53367         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
53368         allocation, don't report ENOMEM when the resulting string is empty.
53369
53370 2008-03-30  Bruno Haible  <bruno@clisp.org>
53371
53372         Fix buffer overrun.
53373         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
53374         Don't consider the width for tmp_length. Check count against tmp_length
53375         before doing the padding. Ensure enough allocation during padding.
53376
53377 2008-03-30  Eric Blake  <ebb9@byu.net>
53378
53379         strtod touchups.
53380         * lib/strtod.c (strtod): Avoid compiler warnings.
53381         Reported by Jim Meyering.
53382
53383 2008-03-30  Bruno Haible  <bruno@clisp.org>
53384
53385         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
53386         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
53387         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
53388         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
53389         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
53390         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
53391         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
53392         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
53393
53394         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
53395         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
53396         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
53397         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
53398         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
53399         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
53400         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
53401         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
53402
53403         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
53404         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
53405         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
53406         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
53407         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
53408         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
53409         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
53410         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
53411
53412         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
53413         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
53414
53415         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
53416         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
53417
53418         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
53419         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
53420
53421         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
53422         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
53423         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
53424
53425         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
53426         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
53427         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
53428
53429         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
53430         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
53431         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
53432
53433         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
53434         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
53435         * modules/vasprintf (Depends-on): Add EOVERFLOW.
53436
53437         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
53438         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
53439         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
53440         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
53441         (Depends-on): Add EOVERFLOW.
53442         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
53443         (Depends-on): Add EOVERFLOW.
53444         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
53445         (Depends-on): Add EOVERFLOW.
53446         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
53447         (Depends-on): Add EOVERFLOW.
53448         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
53449         (Depends-on): Add EOVERFLOW.
53450         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
53451         (Depends-on): Add EOVERFLOW.
53452         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
53453         (Depends-on): Add EOVERFLOW.
53454         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
53455         (Depends-on): Add EOVERFLOW.
53456
53457         * lib/sprintf.c (EOVERFLOW): Remove fallback.
53458         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
53459         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
53460
53461         * lib/snprintf.c (EOVERFLOW): Remove fallback.
53462         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
53463         * modules/snprintf (Depends-on): Add EOVERFLOW.
53464
53465         * lib/poll.c (EOVERFLOW): Remove fallback.
53466         * modules/poll (Depends-on): Add EOVERFLOW.
53467
53468         * lib/getugroups.c (EOVERFLOW): Remove fallback.
53469         * modules/getugroups (Depends-on): Add EOVERFLOW.
53470
53471         * lib/getdelim.c (EOVERFLOW): Remove fallback.
53472         * modules/getdelim (Depends-on): Add EOVERFLOW.
53473
53474         * lib/ftell.c (EOVERFLOW): Remove fallback.
53475         * modules/ftell (Depends-on): Add EOVERFLOW.
53476
53477         * lib/fprintf.c (EOVERFLOW): Remove fallback.
53478         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
53479         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
53480
53481         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
53482
53483         * modules/EOVERFLOW-tests: New file.
53484         * tests/test-EOVERFLOW.c: New file.
53485
53486         * modules/EOVERFLOW: New file.
53487         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
53488
53489 2008-03-30  Bruno Haible  <bruno@clisp.org>
53490
53491         Fix bug introduced on 2007-06-10.
53492         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
53493         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
53494
53495 2008-03-30  Bruno Haible  <bruno@clisp.org>
53496
53497         Improve freadseek's efficiency after ungetc.
53498         * lib/freadseek.c: Include freadahead.h.
53499         (freadptrinc): New function, extracted from freadseek.
53500         (freadseek): Use it in a loop. Use freadahead to determine the number
53501         of loop iterations.
53502         * modules/freadseek (Depends-on): Add freadahead.
53503         (configure.ac): Require AC_C_INLINE.
53504
53505 2008-03-30  Bruno Haible  <bruno@clisp.org>
53506
53507         * lib/freadseek.c (freadseek): Don't ignore the return value of
53508         freadptr.
53509
53510 2008-03-29  Eric Blake  <ebb9@byu.net>
53511
53512         Add hex float support.
53513         * modules/strtod (Depends-on): Add c-ctype.
53514         (Link): Mention POW_LIB.
53515         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
53516         whitespace between 'e' and exponent.
53517         * tests/test-strtod.c (main): Enable hex float tests.
53518         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
53519         now provides.
53520
53521         Document various strtod bugs, with some fixes.
53522         * doc/posix-functions/strtod.texi (strtod): Document bugs with
53523         "-0x", "inf", "nan", and hex constants.
53524         * doc/posix-functions/atof.texi (atof): Likewise.
53525         * modules/stdlib (Makefile.am): Support strtod.
53526         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
53527         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
53528         detect additional strtod bugs.
53529         * lib/stdlib.in.h (rpl_strtod): Add declarations.
53530         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
53531         bool where appropriate.  Parse 'inf' and 'nan'.
53532         * tests/test-strtod.c: New file.
53533         * modules/strtod (Depends-on): Add stdbool, stdlib.
53534         (configure.ac): Turn on module indicator.
53535         * modules/strtod-tests: New module.
53536
53537 2008-03-29  Eric Blake  <ebb9@byu.net>
53538
53539         Fix ftell on mingw.
53540         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
53541         * modules/ftell-tests (Depends-on): Add binary-io.
53542         * modules/ftello-tests (Depends-on): Likewise.
53543         * tests/test-ftell.c (main): Enhance test to cover behavior after
53544         ungetc.  Enforce binary mode.
53545         * tests/test-ftello.c (main): Likewise.
53546
53547         Pass test-freadseek on cygwin.
53548         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
53549         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
53550         ungetc buffer.
53551
53552         * tests/test-fflush2.c (main): Fix typo.
53553
53554 2008-03-29  Bruno Haible  <bruno@clisp.org>
53555
53556         * tests/test-fflush2.c (main): Temporarily disable the contents of
53557         this test.
53558         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
53559         Reported by Eric Blake.
53560
53561 2008-03-28  Simon Josefsson  <simon@josefsson.org>
53562
53563         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
53564         (GC_SHA224_DIGEST_SIZE): Add.
53565
53566         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
53567         (gc_hash_digest_length): Likewise.
53568         (gc_hash_buffer): Likewise.
53569
53570 2008-03-25  Bruno Haible  <bruno@clisp.org>
53571
53572         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
53573         detail which gettext release to use.
53574         Reported by Simon Josefsson.
53575
53576 2008-03-26  Jim Meyering  <meyering@redhat.com>
53577
53578         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
53579         * modules/gnumakefile (clean-GNUmakefile): Also, use
53580         test ... && ... || : syntax rather than if-then ... fi.
53581
53582         gnumakefile: Don't double-quote-expand $(VPATH) value.
53583         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
53584
53585 2008-03-24  Eric Blake  <ebb9@byu.net>
53586
53587         Alter GNUmakefile to install into top directory.
53588         * modules/maintainer-makefile: Split, and add dependency...
53589         * modules/gnumakefile: to this new module.
53590         * build-aux/GNUmakefile: Move...
53591         * top/GNUmakefile: ...here.
53592         * build-aux/maint.mk: Move...
53593         * top/maint.mk: ...here.
53594         * MODULES.html.sh (Support for maintaining...): Document new
53595         module.
53596
53597 2008-03-23  Bruno Haible  <bruno@clisp.org>
53598
53599         * gnulib-tool: New options --vc-files, --no-vc-files.
53600         (func_usage): Document them.
53601         (vc_files): New variable.
53602         (func_import): Consider vc_files.
53603         (func_create_testdir): Set vc_files to empty.
53604         Suggested by Jim Meyering and Karl Berry.
53605
53606 2008-03-23  Bruno Haible  <bruno@clisp.org>
53607
53608         Fix regex compilation error on HP-UX 11.
53609         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
53610         * modules/regex (Files): Add m4/mbstate_t.m4.
53611         Reported by Ton Voon <ton.voon@altinity.com>.
53612
53613 2008-03-23  Bruno Haible  <bruno@clisp.org>
53614
53615         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
53616
53617 2008-03-23  Eric Blake  <ebb9@byu.net>
53618             Bruno Haible  <bruno@clisp.org>
53619
53620         Install files from top/ in the destination directory.
53621         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
53622         augmentation also for the files from top/.
53623         (func_import, func_create_testdir): Rewrite file names:
53624         top/filename -> filename.
53625
53626 2008-03-23  Bruno Haible  <bruno@clisp.org>
53627
53628         Tweak "gnulib --version" output.
53629         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
53630
53631 2008-03-23  Bruno Haible  <bruno@clisp.org>
53632
53633         Tweak "gnulib --version" output.
53634         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
53635         rather than contents of ChangeLog, when possible.
53636
53637 2008-03-21  Eric Blake  <ebb9@byu.net>
53638
53639         More --version tweaks.
53640         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
53641         date of last ChangeLog entry.
53642
53643 2008-03-21  Jim Meyering  <meyering@redhat.com>
53644
53645         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
53646
53647 2008-03-20  Eric Blake  <ebb9@byu.net>
53648
53649         VPATH fix.
53650         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
53651
53652 2008-03-20  Simon Josefsson  <simon@josefsson.org>
53653
53654         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
53655         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
53656
53657 2008-03-20  Eric Blake  <ebb9@byu.net>
53658
53659         Sync GNUmakefile with coreutils.
53660         * build-aux/GNUmakefile (have-Makefile): Rename...
53661         (_have-Makefile): ...to this, for namespace consideration.
53662         (GNUmakefile.cfg): Include, if present.
53663         (_autoreconf): Define a default.
53664         (_is-dist-target): New rule for rebuilds to pick up intra-release
53665         version.
53666         (maint-cfg.mk): Rename...
53667         (cfg.mk): ...to this.
53668
53669 2008-03-18  Jim Meyering  <meyering@redhat.com>
53670
53671         New script and module: mktempd
53672         * MODULES.html.sh (maint+release support): Add mktempd.
53673         * build-aux/mktempd: New file.
53674         * modules/mktempd: New file.
53675
53676 2008-03-15  Jim Meyering  <meyering@redhat.com>
53677
53678         Undo last change.
53679         * lib/sha1.c, lib/md5.c: 63 != ~63.
53680         Reported by Andreas Schwab.
53681
53682         sha1.c, md5.c: Hoist a redundant expression.
53683         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
53684         "ctx->buflen" only once, before calling *_process_block.
53685         * lib/md5.c (md5_process_bytes): Likewise.
53686
53687 2008-03-14  Eric Blake  <ebb9@byu.net>
53688
53689         Bump copyright year in files generated by gnulib-tool.
53690         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
53691         gnulib-tool, rather than hard-coding it.
53692
53693         Fix 'gnulib-tool --version' output to work with git.
53694         * gnulib-tool (func_gnulib_dir): New function, extracted from...
53695         (startup): ...here.
53696         (func_version): Use it to invoke git-version-gen, rather than
53697         relying on CVS keyword expansion.  Modernize wording.
53698         (cvsdatestamp, last_checkin_date, version): Kill unused
53699         variables.
53700
53701 2008-03-12  Jim Meyering  <meyering@redhat.com>
53702
53703         Recognize optional cast of the argument to free.
53704         * build-aux/useless-if-before-free: Update regexps.
53705
53706         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
53707
53708 2008-03-11  Bruno Haible  <bruno@clisp.org>
53709
53710         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
53711         by a single package.
53712         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
53713         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
53714         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
53715         Reported by Sam Steingold <sds@gnu.org>.
53716
53717 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
53718
53719         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
53720         repositories.
53721
53722 2008-03-11  Bruno Haible  <bruno@clisp.org>
53723
53724         Avoid conflicts between local macro definitions.
53725         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
53726         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
53727
53728 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
53729             Bruno Haible  <bruno@clisp.org>
53730
53731         Make va_copy work with some version of xlc on AIX 5.1.
53732         * lib/stdarg.in.h: New file.
53733         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
53734         On AIX, use a <stdarg.h> file substitute.
53735         * modules/stdarg (Files): Add lib/stdarg.in.h.
53736         (Depends-on): Add include_next.
53737         (Makefile.am): Build a stdarg.h substitute if requested.
53738         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
53739
53740 2008-03-10  Bruno Haible  <bruno@clisp.org>
53741
53742         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
53743         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
53744         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
53745
53746 2008-03-10  Bruno Haible  <bruno@clisp.org>
53747
53748         * modules/stdlib (Depends-on): Add include_next, remove
53749         absolute-header.
53750
53751 2008-03-09  Bruno Haible  <bruno@clisp.org>
53752
53753         * lib/freadahead.h (freadahead): Document more precisely.
53754         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
53755         the sum of both buffer sizes.
53756         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
53757         * NEWS: Document the change.
53758
53759 2008-03-09  Bruno Haible  <bruno@clisp.org>
53760
53761         Extend freadptr to return also the buffer size.
53762         * lib/freadptr.h (freadptr): Add sizep argument.
53763         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
53764         (freadptr): Add sizep argument. Determine buffer size like freadahead
53765         does.
53766         * tests/test-freadptr.c: Don't include freadahead.h.
53767         (main): Adapt for new calling convention of freadptr.
53768         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
53769         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
53770         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
53771         tests/test-freadptr2.sh.
53772         (Depends): Remove freadahead.
53773         (TESTS): Add test-freadptr2.sh.
53774         (check_PROGRAMS): Add test-freadptr2.
53775
53776 2008-03-09  Bruno Haible  <bruno@clisp.org>
53777
53778         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
53779         Report and solution by Simon Josefsson.
53780
53781 2008-03-06  Bruno Haible  <bruno@clisp.org>
53782
53783         Make fflush after ungetc work on BSD platforms.
53784         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
53785         * tests/test-fflush2.c: New file.
53786         * tests/test-fflush2.sh: New file.
53787         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
53788         tests/test-fflush2.c.
53789         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
53790         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
53791
53792 2008-03-06  Eric Blake  <ebb9@byu.net>
53793
53794         Likewise for ftello.
53795         * modules/ftello (Dependencies): Add extensions.
53796         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
53797
53798 2008-03-06  Bruno Haible  <bruno@clisp.org>
53799
53800         * modules/fseeko (Dependencies): Add extensions.
53801         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
53802         Needed on glibc systems.
53803
53804 2008-03-06  Bruno Haible  <bruno@clisp.org>
53805
53806         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
53807         email address.
53808         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
53809
53810 2008-03-06  Bruno Haible  <bruno@clisp.org>
53811
53812         * users.txt: Add libgnupdf.
53813
53814 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
53815
53816         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
53817         (Header File Substitutes, Function Substitutes,
53818         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
53819         (Build robot for gnulib): Fix typo.
53820
53821 2008-03-06  Bruno Haible  <bruno@clisp.org>
53822
53823         * doc/gnulib-tool.texi (VCS Issues): Small updates.
53824         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
53825
53826 2008-03-06  Bruno Haible  <bruno@clisp.org>
53827
53828         * doc/func.texi: New file, extracted from doc/gnulib.texi.
53829         * doc/gnulib.texi: Include it.
53830
53831 2008-03-06  Simon Josefsson  <simon@josefsson.org>
53832
53833         * modules/func (License): Change license to unlimited; there was
53834         no LGPL parts in the module anyway.
53835
53836 2008-03-06  Simon Josefsson  <simon@josefsson.org>
53837
53838         * modules/__func__: Renamed to modules/func.
53839         * modules/__func__-tests: Renamed to modules/func-tests.
53840         * tests/test-__func__.c: Renamed to tests/test-func.c.
53841         * m4/__func__.m4: Renamed to m4/func.m4.
53842         * doc/gnulib.texi (__func__): Section renamed to func.
53843         Suggested by Eric Blake <ebb9@byu.net>.
53844
53845 2008-03-06  Simon Josefsson  <simon@josefsson.org>
53846
53847         * doc/gnulib.texi (__func__): Use C99 terminology when talking
53848         about __func__.  Make example self-contained.  Suggested by Eric
53849         Blake <ebb9@byu.net>.
53850
53851         * tests/test-__func__.c (main): Avoid extraneous () around __func.
53852         Suggested by Eric Blake <ebb9@byu.net>.
53853
53854 2008-03-06  Simon Josefsson  <simon@josefsson.org>
53855
53856         * modules/__func__: New file.
53857         * modules/__func__-tests: New file.
53858         * tests/test-__func__.c: New file.
53859         * m4/__func__.m4: New file.
53860         * doc/gnulib.texi (__func__): Document __func__ module.
53861
53862 2008-03-05  Simon Josefsson  <simon@josefsson.org>
53863
53864         * modules/byteswap (License): Re-license as LGPLv2+.
53865
53866 2008-03-05  Simon Josefsson  <simon@josefsson.org>
53867
53868         * doc/Makefile: Add pdf target.
53869
53870 2008-03-05  Simon Josefsson  <simon@josefsson.org>
53871
53872         * modules/inline (License): Use 'unlimited', since there are only
53873         *.m4 files in this module.
53874
53875 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
53876             Bruno Haible  <bruno@clisp.org>
53877
53878         Add support for HP C 7.1 on OpenVMS 8.3.
53879         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
53880
53881 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
53882
53883         Update VMS specifics.
53884         * lib/getopt.c [VMS]: Remove include of unixlib.h.
53885
53886 2008-03-02  Jim Meyering  <meyering@redhat.com>
53887
53888         Remove the last dependency on the "free" module.
53889         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
53890         Reported by Bob Proulx.
53891
53892         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
53893
53894         Remove useless "if" tests before free.  Deprecate "free" module.
53895         * doc/posix-functions/free.texi: Mention that this
53896         module is no longer useful.
53897         * modules/free (Notice): Say this module is obsolete.
53898         * modules/readutmp (Depends-on): Remove free.
53899         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
53900         * lib/putenv.c (putenv): Likewise.
53901         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
53902         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
53903         * tests/test-c-strcasestr.c (main): Likewise.
53904         * tests/test-c-strstr.c (main): Likewise.
53905         * tests/test-mbscasestr1.c (main): Likewise.
53906         * tests/test-mbscasestr2.c (main): Likewise.
53907         * tests/test-mbsstr1.c (main): Likewise.
53908         * tests/test-mbsstr2.c (main): Likewise.
53909         * tests/test-memmem.c (main): Likewise.
53910         * tests/test-strcasestr.c (main): Likewise.
53911         * tests/test-striconv.c (main): Likewise.
53912         * tests/test-striconveh.c (main): Likewise.
53913         * tests/test-striconveha.c (main): Likewise.
53914         * tests/test-strstr.c (main): Likewise.
53915
53916         * build-aux/git-version-gen: Adjust a comment and the Usage string.
53917
53918         bootstrap: sync from coreutils again
53919         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
53920
53921 2008-03-01  Jim Meyering  <meyering@redhat.com>
53922
53923         bootstrap: sync from coreutils
53924         * build-aux/bootstrap (update_po_files): Copy a .po file into place
53925         also when the target doesn't exist.
53926
53927 2008-03-01  Eric Blake  <ebb9@byu.net>
53928
53929         Fix bugs in last patch.
53930         * lib/memchr2.c (memchr2): Fix typo.
53931         * tests/test-memchr2.c: Test previous bug, and don't use GNU
53932         extension.
53933         Reported by Bruce Korb.
53934
53935         New module 'memchr2'.
53936         * modules/memchr2: New file.
53937         * modules/memchr2-tests: Likewise.
53938         * lib/memchr2.h: Likewise.
53939         * lib/memchr2.c: Likewise, based on memchr.c.
53940         * tests/test-memchr2.c: New test.
53941         * MODULES.html.sh (String handling): Add memchr2.
53942
53943 2008-02-29  Bruno Haible  <bruno@clisp.org>
53944
53945         * modules/freadseek-tests: New file.
53946         * tests/test-freadseek.sh: New file.
53947         * tests/test-freadseek.c: New file.
53948
53949         New module 'freadseek'.
53950         * modules/freadseek: New file.
53951         * lib/freadseek.h: New file.
53952         * lib/freadseek.c: New file.
53953         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
53954
53955 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
53956
53957         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
53958         wydawca.
53959
53960         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
53961         program_invocation_name and program_invocation_short_name are
53962         present.
53963
53964 2008-02-28  Bruno Haible  <bruno@clisp.org>
53965
53966         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
53967         * tests/test-freadptr.sh: Also test non-seekable stdin.
53968
53969 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
53970
53971         * build-aux/bootstrap (source_base, m4_base)
53972         (doc_base, tests_base): New variables.
53973         (gnulib_tool_options): Do not hardcode base directories, use
53974         the above variables instead.
53975
53976 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
53977
53978         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
53979
53980 2008-02-28  Bruno Haible  <bruno@clisp.org>
53981
53982         * modules/freadptr-tests: New file.
53983         * tests/test-freadptr.sh: New file.
53984         * tests/test-freadptr.c: New file.
53985
53986         New module 'freadptr'.
53987         * modules/freadptr: New file.
53988         * lib/freadptr.h: New file.
53989         * lib/freadptr.c: New file.
53990         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
53991
53992 2008-02-26  Karl Berry  <karl@freefriends.org>
53993
53994         Sync from Libtool:
53995         * libltdl/argz.c (argz_add, argz_count): New functions.
53996         * libltdl/argz.in.h: Declare them.
53997         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
53998
53999 2008-02-22  Bruno Haible  <bruno@clisp.org>
54000
54001         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
54002         is a pointer type.  Needed for HP-UX 10.
54003         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
54004         * doc/posix-functions/gmtime_r.texi: Likewise.
54005         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
54006
54007 2008-02-24  Bruno Haible  <bruno@clisp.org>
54008
54009         * modules/environ-tests: New file.
54010         * tests/test-environ.c: New file.
54011
54012         New module 'environ'.
54013         * modules/environ: New file.
54014         * lib/unistd.in.h (environ): New declaration.
54015         * m4/environ.m4: New file.
54016         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
54017         after use.
54018         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
54019         HAVE_DECL_ENVIRON.
54020         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
54021         HAVE_DECL_ENVIRON.
54022         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
54023         wrong claim that 'environ' is missing on some systems.
54024         * modules/execute (Depends-on): Add environ.
54025         * lib/execute.c (environ): Remove fallback declaration.
54026         * modules/pipe (Depends-on): Add environ.
54027         * lib/pipe.c (environ): Remove fallback declaration.
54028         * modules/setenv (Depends-on): Add environ.
54029         * lib/setenv.c (environ): Remove fallback declaration.
54030         * modules/unsetenv (Depends-on): Add environ.
54031         * lib/unsetenv.c (environ): Remove fallback declaration.
54032         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
54033         m4/environ.m4.
54034         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
54035         (gl_PREREQ_UNSETENV): Likewise.
54036
54037 2008-02-24  Bruno Haible  <bruno@clisp.org>
54038
54039         * doc/posix-functions/environ.texi: Document the MacOS X problem.
54040
54041 2008-02-20  Bob Proulx  <bob@proulx.com>
54042
54043         Enable use of older two part flavor 'git describe'.
54044         * build-aux/git-version-gen: If using the older two part flavor of
54045         git version then recreate the third part now present in the
54046         newer three part flavor of git describe.
54047
54048 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
54049
54050         * lib/fts.c (fts_build): Typo correction to comment.
54051
54052 2008-02-17  Bruno Haible  <bruno@clisp.org>
54053
54054         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
54055         generating no-op conflicts.
54056
54057 2008-02-17  Bruno Haible  <bruno@clisp.org>
54058
54059         Speed up by 10%.
54060         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
54061         result_entries, rather than an index-based loop.
54062
54063 2008-02-17  Bruno Haible  <bruno@clisp.org>
54064
54065         Speed up by 25%.
54066         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
54067         'hashcode_cached'.
54068         (entry_create): New function.
54069         (entry_hashcode): Use the cached hashcode if possible.
54070         (read_changelog_file, try_split_merged_entry): Use entry_create.
54071
54072 2008-02-17  Bruno Haible  <bruno@clisp.org>
54073
54074         Speed up from O(n^2) to O(n) for long ChangeLog files.
54075         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
54076         (read_changelog_file): Change implementation of entries_reversed list
54077         to rbtreehash.
54078         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
54079
54080 2008-02-17  Bruno Haible  <bruno@clisp.org>
54081
54082         New option --split-merged-entry.
54083         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
54084         (find_paragraph_end, try_split_merged_entry): New functions.
54085         (long_options): Add option --split-merged-entry.
54086         (usage): Document option --split-merged-entry.
54087         (main): Implement option --split-merged-entry.
54088         Reported by Eric Blake.
54089
54090 2008-02-17  Bruno Haible  <bruno@clisp.org>
54091
54092         * lib/git-merge-changelog.c: Include c-strstr.h.
54093         (main): Support the "git pull --rebase" situation.
54094         * modules/git-merge-changelog (Depends-on): Add c-strstr.
54095         Reported by Eric Blake.
54096
54097 2008-02-16  Eric Blake  <ebb9@byu.net>
54098
54099         Avoid doubling \ in common case of "c-maybe" quoting style.
54100         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
54101         eliding outer quotes.
54102         * lib/quotearg.h: Document this.
54103         * tests/test-quotearg.c (result_strings, inputs, results_g)
54104         (flag_results, locale_results): Test it by adding a new string to
54105         each test group.
54106         (compare_strings): Test new string.
54107
54108 2008-02-13  Eric Blake  <ebb9@byu.net>
54109
54110         Avoid trigraph quoting in default output.
54111         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
54112         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
54113         unless explicitly requested.
54114         * tests/test-quotearg.c (flag_results, main): Add additional tests.
54115
54116 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
54117
54118         Don't rely on signed integer overflowing to negative value.
54119         * lib/getugroups.c (getugroups): Include <limits.h>.
54120         Instead, compare against INT_MAX, and increment only if the test passes.
54121
54122 2008-02-13  Jim Meyering  <meyering@redhat.com>
54123         and Eric Blake  <ebb9@byu.net>
54124
54125         Avoid shadowing warning and compile errors on Linux.
54126         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
54127         forwarding macros on Linux.
54128         (dcgettext): Define a stub, for Linux.
54129         (results_g, main): Avoid warnings.
54130
54131 2008-02-12  Eric Blake  <ebb9@byu.net>
54132
54133         Silence warning in last patch.
54134         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
54135
54136         Quotearg part 4: add tests, fix c-maybe colon quoting.
54137         * lib/quotearg.h: Improve documentation.
54138         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
54139         escapes when adding outer quotes.  When quoting trigraphs, use
54140         valid C notation.  When quoting NUL, omit extra characters if next
54141         character is not digit.  Alter prototype.
54142         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
54143         callers.
54144         * modules/quotearg-tests: New module.
54145         * tests/test-quotearg.c: New test.
54146
54147 2008-02-07  Eric Blake  <ebb9@byu.net>
54148
54149         Quotearg part 3: add flag to control outer quote elision.
54150         * lib/quotearg.h (c_maybe_quoting_style): New style.
54151         (enum quoting_flags): Better documentation of flags.
54152         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
54153         c-maybe style.
54154         (quotearg_buffer_restyled): Handle new flag to elide outer
54155         quotes.
54156
54157         Quotearg part 2: add flag that can control NUL elision.
54158         * lib/quotearg.h (set_quoting_flags): New prototype.
54159         * lib/quotearg.c (struct quoting_options): Add flag field.
54160         (set_quoting_flags): New function.
54161         (quotearg_buffer_restyled): Add flags parameter.
54162         (quotearg_alloc_mem): Set the flag if length cannot be returned.
54163         (quotearg_n_options): Set the flag, since length cannot be
54164         returned.
54165         (quoting_options_from_style): Default flags correctly.
54166
54167         Quotearg part 1: more wrappers, restore quotearg_char state.
54168         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
54169         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
54170         (quotearg_colon_mem): New wrappers.
54171         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
54172         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
54173         functions.
54174         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
54175         (quotearg_colon_mem): New functions.
54176
54177 2008-02-11  Bruno Haible  <bruno@clisp.org>
54178
54179         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
54180         library in the current directory: it does not work with parallel make.
54181         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54182
54183 2008-02-11  Bruno Haible  <bruno@clisp.org>
54184
54185         * .gitattributes: New file.
54186
54187 2008-02-11  Jim Meyering  <meyering@redhat.com>
54188
54189         useless-if-before-free: Fix reversed exit values.
54190         * build-aux/useless-if-before-free: Use correct values
54191         for EXIT_MATCH and EXIT_NO_MATCH.
54192
54193         * build-aux/useless-if-before-free: Close stdout carefully.
54194
54195 2008-02-10  Bruno Haible  <bruno@clisp.org>
54196
54197         New module 'git-merge-changelog'.
54198         * modules/git-merge-changelog: New file.
54199         * lib/git-merge-changelog.c: New file.
54200
54201 2008-02-10  Jim Meyering  <meyering@redhat.com>
54202
54203         useless-if-before-free: New option: --list (-l).
54204
54205         useless-if-before-free: Don't exit immediately upon open failure.
54206         * build-aux/useless-if-before-free: Exit 2 for errors.
54207         Upon failure to open a file, don't exit immediately.
54208         Rather, just warn and continue with any remaining files.
54209
54210 2008-02-10  Bruno Haible  <bruno@clisp.org>
54211
54212         New abstract list operation 'node_set_value'.
54213         * lib/gl_list.h (gl_list_node_set_value): New function.
54214         (struct gl_list_implementation): New field node_set_value.
54215         * lib/gl_list.c (gl_list_node_set_value): New function.
54216         * lib/gl_array_list.c (gl_array_node_set_value): New function.
54217         (gl_array_list_implementation): Update.
54218         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
54219         (gl_carray_list_implementation): Update.
54220         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
54221         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
54222         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
54223         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
54224         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
54225         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
54226         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
54227         Update.
54228         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
54229         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
54230         (gl_sublist_list_implementation): Update.
54231
54232 2008-02-10  Bruno Haible  <bruno@clisp.org>
54233
54234         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
54235         Needed when ELEMENT is #defined to 'some_type *'.
54236
54237 2008-02-10  Jim Meyering  <meyering@redhat.com>
54238
54239         New script and module: useless-if-before-free
54240         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
54241         * build-aux/useless-if-before-free: New file.
54242         * modules/useless-if-before-free: New file.
54243
54244         * build-aux/gitlog-to-changelog: Use committer date, not author date.
54245
54246         xstrtol_error: Fix typo.
54247         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
54248         s/exit_failure/exit_status/.
54249
54250 2008-02-09  Jim Meyering  <meyering@redhat.com>
54251
54252         New script and module: gitlog-to-changelog
54253         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
54254         * modules/gitlog-to-changelog: New file.
54255         * build-aux/gitlog-to-changelog: New file.
54256
54257 2008-02-08  Jim Meyering  <meyering@redhat.com>
54258
54259         Avoid two "parameter unused" warnings.
54260         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
54261         Mark "st" as used.
54262
54263         Use "git COMMAND", not "git-COMMAND".
54264         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
54265         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
54266         * build-aux/git-version-gen: Use "git status", not "git-status".
54267
54268 2008-02-07  Bruno Haible  <bruno@clisp.org>
54269
54270         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
54271         Avoids a crash on Windows Vista.
54272         Reported by Adam Strzelecki <ono@java.pl> via
54273         Simon Josefsson <simon@josefsson.org>.
54274
54275 2008-02-06  Bruno Haible  <bruno@clisp.org>
54276
54277         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
54278         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
54279         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
54280         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
54281         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
54282         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54283         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
54284         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
54285         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54286         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54287         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54288         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54289         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54290         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54291         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54292         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
54293         left-adjust flag.
54294         * tests/test-snprintf-posix.h (test_function): Likewise.
54295         * tests/test-sprintf-posix.h (test_function): Likewise.
54296         * tests/test-vasprintf-posix.c (test_function): Likewise.
54297         * doc/posix-functions/fprintf.texi: Update.
54298         * doc/posix-functions/printf.texi: Update.
54299         * doc/posix-functions/snprintf.texi: Update.
54300         * doc/posix-functions/sprintf.texi: Update.
54301         * doc/posix-functions/vfprintf.texi: Update.
54302         * doc/posix-functions/vprintf.texi: Update.
54303         * doc/posix-functions/vsnprintf.texi: Update.
54304         * doc/posix-functions/vsprintf.texi: Update.
54305         Reported by Peter Fales <psfales@alcatel-lucent.com>.
54306
54307 2008-02-06  Bruno Haible  <bruno@clisp.org>
54308
54309         Fix bug introduced on 2008-01-26.
54310         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
54311
54312 2008-02-06  Bruno Haible  <bruno@clisp.org>
54313
54314         Fix bug introduced on 2007-06-10.
54315         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
54316         !NEED_PRINTF_FLAG_ZERO.
54317
54318 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
54319
54320         getloadavg: use libperfstat on AIX5
54321         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
54322
54323 2008-02-03  Bruno Haible  <bruno@clisp.org>
54324
54325         * lib/diffseq.h: Add comments about required #includes.
54326         Reported by Michael Biggs <gnulib@doubleplum.net>.
54327
54328 2008-02-01  Bruno Haible  <bruno@clisp.org>
54329
54330         * users.txt: Add gnuit.
54331
54332 2008-01-31  Bruno Haible  <bruno@clisp.org>
54333
54334         * lib/md4.c (set_uint32): Mark as inline.
54335         * lib/md5.c (set_uint32): Likewise.
54336         * lib/sha1.c (set_uint32): Likewise.
54337         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
54338         * m4/md5.m4 (gl_MD5): Likewise.
54339         * m4/sha1.m4 (gl_SHA1): Likewise.
54340
54341 2008-01-31  Jim Meyering  <meyering@redhat.com>
54342
54343         Use "sizeof VAR", rather than a literal "4".
54344         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
54345         * lib/md4.c (md4_read_ctx): Likewise.
54346         * lib/sha1.c (sha1_read_ctx): Likewise.
54347
54348 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54349
54350         * tests/test-sha1.c: New file, based on test-md5.c.
54351
54352         * modules/crypto/sha1-tests: New file.
54353
54354 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54355
54356         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
54357
54358 2008-01-31  Jim Meyering  <meyering@redhat.com>
54359
54360         Prefer "sizeof v" over the equivalent "4".
54361         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
54362         * lib/md5.c (set_uint32): Likewise.
54363         * lib/sha1.c (set_uint32): Likewise.
54364
54365 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54366
54367         * lib/sha1.c (set_uint32): Mark function as static.
54368
54369 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54370
54371         md2: clarify comments to say that alignment is not required.
54372         * lib/md2.h: Remove warning about alignment in comment.
54373         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
54374         never been required.
54375
54376 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54377
54378         md4: adapt alignment constraint fix from sha1.
54379         * lib/md4.c (set_uint32): New function, from sha1.c
54380         (md4_read_ctx): Use it.
54381         (md4_finish_ctx): Doc fix.
54382         * lib/md4.h: Doc fix.
54383
54384 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54385
54386         md5: adapt alignment constraint fix from sha1.
54387         * lib/md5.c (set_uint32): New function, from sha1.c
54388         (md5_read_ctx): Use it.
54389         (md5_finish_ctx): Doc fix.
54390         * lib/md5.h: Doc fix.
54391
54392 2008-01-30  Peter Palfrader  <weasel@debian.org>
54393
54394         sha1: remove the result buffer alignment constraint
54395         * lib/sha1.c (set_uint32): New function.
54396         (sha1_read_ctx): Rewrite to remove the result buffer alignment
54397         constraint.
54398         (sha1_finish_ctx): Remove comment warning about alignment constraint.
54399         * lib/sha1.h: Likewise.
54400
54401 2008-01-30  Andreas Schwab  <schwab@suse.de>
54402             Bruno Haible  <bruno@clisp.org>
54403
54404         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
54405         correct definition of LDBL_MIN_EXP.
54406
54407 2008-01-30  Karl Berry  <karl@gnu.org>
54408
54409         * config/srclist-update: try to preserve x bit on updates.
54410         * config/srclistvars.sh: update for karl.
54411
54412 2008-01-29  Jim Meyering  <meyering@redhat.com>
54413
54414         vasnprintf.c: Avoid warning about unused label
54415         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
54416         "overflow" label definition and associated code with the
54417         same cpp condition that guards the sole use of that label.
54418
54419 2008-01-26  Bruno Haible  <bruno@clisp.org>
54420
54421         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
54422         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
54423         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
54424         * lib/isnanl-nolibm.h (isnanl): Likewise.
54425         Reported by Paul Eggert <eggert@cs.ucla.edu>.
54426
54427 2008-01-26  Bruno Haible  <bruno@clisp.org>
54428
54429         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
54430         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
54431
54432 2008-01-26  Bruno Haible  <bruno@clisp.org>
54433
54434         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
54435         GCC >= 4.0 built-in.
54436         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
54437
54438 2008-01-26  Bruno Haible  <bruno@clisp.org>
54439
54440         Rename isnan, applicable to 'double' only, to isnand.
54441         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
54442         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
54443         (configure.ac): Update.
54444         (Include): Replace "isnan.h" with "isnand.h".
54445         * m4/isnand.m4: Renamed from m4/isnan.m4.
54446         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
54447         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
54448         instead of isnan.c.
54449         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
54450         instead of HAVE_ISNAN_IN_LIBC.
54451         (isnand): Renamed from isnan.
54452         * lib/isnand.c: New file.
54453         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
54454         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
54455         (Makefile.am): Update.
54456         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
54457         Include isnand.h instead of isnan.h.
54458         (main): Test isnand instead of isnan.
54459         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
54460         isnan-nolibm.
54461         * modules/frexp (Depends-on): Likewise.
54462         * modules/frexp-tests (Depends-on): Likewise.
54463         * modules/frexp-nolibm (Depends-on): Likewise.
54464         * modules/frexp-nolibm-tests (Depends-on): Likewise.
54465         * modules/isfinite (Depends-on): Likewise.
54466         * modules/round-tests (Depends-on): Likewise.
54467         * modules/signbit (Depends-on): Likewise.
54468         * modules/signbit-tests (Depends-on): Likewise.
54469         * modules/snprintf-posix (Depends-on): Likewise.
54470         * modules/sprintf-posix (Depends-on): Likewise.
54471         * modules/trunc-tests (Depends-on): Likewise.
54472         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
54473         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
54474         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
54475         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
54476         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
54477         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
54478         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
54479         * modules/vasnprintf-posix (Depends-on): Likewise.
54480         * modules/vasprintf-posix (Depends-on): Likewise.
54481         * modules/vfprintf-posix (Depends-on): Likewise.
54482         * modules/vsnprintf-posix (Depends-on): Likewise.
54483         * modules/vsprintf-posix (Depends-on): Likewise.
54484         * lib/frexp.c: Include isnand.h instead of isnan.h.
54485         (ISNAN): Set to isnand instead of isnan.
54486         * lib/isfinite.c: Include isnand.h instead of isnan.h.
54487         (gl_isfinited): Use isnand instead of isnan.
54488         * lib/signbitd.c: Include isnand.h instead of isnan.h.
54489         (gl_signbitd): Use isnand instead of isnan.
54490         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
54491         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
54492         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
54493         (main): Use isnand instead of isnan.
54494         * tests/test-round1.c: Include isnand.h.
54495         (main): Use isnand instead of isnan.
54496         * tests/test-round2.c: Include isnand.h instead of isnan.h.
54497         (ISNAN): Set to isnand instead of isnan.
54498         * tests/test-trunc1.c: Include isnand.h.
54499         (main): Use isnand instead of isnan.
54500         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
54501         (equal): Use isnand instead of isnan.
54502         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
54503         isnand-nolibm.
54504         * NEWS: Mention the change.
54505
54506 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
54507             Bruno Haible  <bruno@clisp.org>
54508
54509         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
54510         the GCC builtins for signbits are present and set
54511         REPLACE_SIGNBIT_USING_GCC if so.
54512         * lib/math.in.h (signbit): Define using GCC builtins if
54513         REPLACE_SIGNBIT_USING_GCC is set.
54514         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
54515         REPLACE_SIGNBIT_USING_GCC.
54516         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
54517
54518 2008-01-25  Jim Meyering  <meyering@redhat.com>
54519
54520         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
54521         * lib/poll.c: Include <config.h>, not "config.h".
54522         * tests/test-getaddrinfo.c: Likewise.
54523
54524 2008-01-25  Simon Josefsson  <simon@josefsson.org>
54525
54526         * modules/sockets-tests: New file.
54527
54528 2008-01-24  Simon Josefsson  <simon@josefsson.org>
54529
54530         * modules/sockets: New module, can be used to call WSA_Startup and
54531         WSA_Cleanup when needed.
54532
54533         * lib/sockets.h, lib/sockets.c: New files.
54534
54535         * m4/sockets.m4: New file.
54536
54537         * tests/test-sockets.c: New file.
54538
54539 2008-01-19  Bruno Haible  <bruno@clisp.org>
54540
54541         * doc/posix-headers: Renamed from doc/headers.
54542         * doc/posix-functions: Renamed from doc/functions.
54543         * doc/gnulib.texi: Update.
54544
54545 2008-01-19  Bruno Haible  <bruno@clisp.org>
54546
54547         * doc/glibc-functions/strcasestr.texi: Include contents of
54548         doc/functions/strcasestr.texi, fixing the list of platforms.
54549         * doc/functions/strcasestr.texi: Remove file.
54550
54551 2008-01-19  Bruno Haible  <bruno@clisp.org>
54552
54553         * doc/glibc-functions/memmem.texi: Include contents of
54554         doc/functions/memmem.texi.
54555         * doc/functions/memmem.texi: Remove file.
54556
54557 2008-01-18  Bruno Haible  <bruno@clisp.org>
54558
54559         * doc/glibc-functions/*.texi: New files.
54560         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
54561         to use the new files.
54562
54563 2008-01-17  Bruno Haible  <bruno@clisp.org>
54564
54565         * tests/test-gethostname.c (main): Fix printf statement.
54566
54567 2008-01-17  Simon Josefsson  <simon@josefsson.org>
54568
54569         * modules/gethostname-tests: New file.
54570
54571         * tests/test-gethostname.c: New file.
54572
54573 2008-01-17  Simon Josefsson  <simon@josefsson.org>
54574
54575         * lib/gethostname.c: Include string.h unconditionally, strncpy is
54576         used by the UNAME case.  Reported by Bruno Haible
54577         <bruno@clisp.org>.
54578
54579 2008-01-17  Eric Blake  <ebb9@byu.net>
54580
54581         Convert c-strcasestr to be more efficient.
54582         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
54583         (Depends-on): Add c-strcase, remove malloca, strnlen.
54584         * tests/test-c-strcasestr.c (main): Enhance test.
54585         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
54586
54587 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
54588
54589         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
54590         Use it in creating po/Makevars.
54591
54592 2008-01-15  Simon Josefsson  <simon@josefsson.org>
54593
54594         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
54595         Applications that requires it should initialize libgcrypt
54596         manually.
54597
54598 2008-01-16  Simon Josefsson  <simon@josefsson.org>
54599
54600         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
54601
54602 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
54603
54604         Fix problem with getdate on mingw32 reported by Simon Josefsson
54605         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
54606         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
54607         tzname", when deciding whether to declare tzname.
54608         * lib/strftime.c (tzname): Likewise.
54609
54610 2008-01-15  Bruno Haible  <bruno@clisp.org>
54611
54612         Work around a MacOS X 10.5 bug in frexpl().
54613         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
54614         * doc/functions/frexpl.texi: Document the bug.
54615         Reported by Elias Pipping <pipping@gentoo.org>.
54616
54617 2008-01-14  Eric Blake  <ebb9@byu.net>
54618
54619         Touch up previous patch.
54620         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
54621         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
54622
54623         Convert strcasestr module to use Two-Way algorithm.
54624         * modules/strcasestr-simple: New module, based on the old
54625         strcasestr, but with Two-Way rather than KMP.
54626         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
54627         * lib/string.in.h (rpl_strcasestr): Declare.
54628         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
54629         performance.
54630         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
54631         * modules/string (Makefile.am): Support strcasestr.
54632         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
54633         * modules/strcasestr-tests (Depends-on): Check for alarm.
54634         * tests/test-strcasestr.c: Augment test.
54635         * lib/str-two-way.h: Clean up stray macro.
54636         * NEWS: Document new module.
54637         * MODULES.html.sh (string handling): Likewise.
54638         * doc/functions/strcasestr.texi: New file.
54639         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
54640         here, since it is not a POSIX function.
54641
54642 2008-01-14  Colin Watson  <cjwatson@debian.org>
54643             Bruno Haible  <bruno@clisp.org>
54644
54645         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
54646         works fine; if not, set REPLACE_STRSIGNAL.
54647         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
54648         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54649         REPLACE_STRSIGNAL.
54650         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
54651         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
54652         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
54653
54654 2008-01-14  Bruno Haible  <bruno@clisp.org>
54655
54656         * modules/strsignal (Include): Change to <string.h>.
54657
54658 2008-01-14  Colin Watson  <cjwatson@debian.org>
54659
54660         * modules/argp (Notice): Add a notice recommending to change
54661         XGETTEXT_OPTIONS.
54662         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
54663
54664 2008-01-13  Colin Watson  <cjwatson@debian.org>
54665
54666         * modules/strsignal-tests: New file.
54667         * tests/test-strsignal.c: New file.
54668
54669         * lib/strsignal.c: New file, from glibc with modifications.
54670         * lib/siglist.h: New file, from glibc with modifications.
54671         * lib/string.in.h (strsignal): New declaration.
54672         * m4/strsignal.m4: New file.
54673         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54674         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
54675         * modules/strsignal: New file.
54676         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
54677         HAVE_DECL_STRSIGNAL.
54678
54679 2008-01-13  Bruno Haible  <bruno@clisp.org>
54680
54681         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
54682         locale encoding is not ASCII. Needed for OpenBSD 4.0.
54683         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
54684         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
54685
54686 2008-01-13  Bruno Haible  <bruno@clisp.org>
54687
54688         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
54689         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
54690         * lib/argp.h (__attribute__): Likewise.
54691         * lib/c-stack.c (__attribute__): Likewise.
54692         * lib/error.h (__attribute__): Likewise.
54693         * lib/fts.c (__attribute__): Likewise.
54694         * lib/openat.h (__attribute__): Likewise.
54695         * lib/stdio.in.h (__attribute__): Likewise.
54696         * lib/string.in.h (__attribute__): Likewise.
54697         * lib/utimens.c (__attribute__): Likewise.
54698         * lib/vasnprintf.h (__attribute__): Likewise.
54699         * lib/xalloc.h (__attribute__): Likewise.
54700         * lib/xprintf.h (__attribute__): Likewise.
54701         * lib/xstrtol.h (__attribute__): Likewise.
54702         * lib/xvasprintf.h (__attribute__): Likewise.
54703
54704 2008-01-12  Bruno Haible  <bruno@clisp.org>
54705
54706         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
54707         * doc/glibc-headers/a.out.texi: New file.
54708         * doc/glibc-headers/aliases.texi: New file.
54709         * doc/glibc-headers/alloca.texi: New file.
54710         * doc/glibc-headers/ar.texi: New file.
54711         * doc/glibc-headers/argp.texi: New file.
54712         * doc/glibc-headers/argz.texi: New file.
54713         * doc/glibc-headers/byteswap.texi: New file.
54714         * doc/glibc-headers/crypt.texi: New file.
54715         * doc/glibc-headers/endian.texi: New file.
54716         * doc/glibc-headers/envz.texi: New file.
54717         * doc/glibc-headers/err.texi: New file.
54718         * doc/glibc-headers/error.texi: New file.
54719         * doc/glibc-headers/execinfo.texi: New file.
54720         * doc/glibc-headers/fpu_control.texi: New file.
54721         * doc/glibc-headers/fstab.texi: New file.
54722         * doc/glibc-headers/fts.texi: New file.
54723         * doc/glibc-headers/getopt.texi: New file.
54724         * doc/glibc-headers/ieee754.texi: New file.
54725         * doc/glibc-headers/ifaddrs.texi: New file.
54726         * doc/glibc-headers/libintl.texi: New file.
54727         * doc/glibc-headers/mcheck.texi: New file.
54728         * doc/glibc-headers/mntent.texi: New file.
54729         * doc/glibc-headers/obstack.texi: New file.
54730         * doc/glibc-headers/paths.texi: New file.
54731         * doc/glibc-headers/printf.texi: New file.
54732         * doc/glibc-headers/pty.texi: New file.
54733         * doc/glibc-headers/resolv.texi: New file.
54734         * doc/glibc-headers/shadow.texi: New file.
54735         * doc/glibc-headers/sysexits.texi: New file.
54736         * doc/glibc-headers/ttyent.texi: New file.
54737
54738 2008-01-12  Jim Meyering  <meyering@redhat.com>
54739
54740         announce-gen: emit Gnulib's git-based version string.
54741         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
54742         New option --gnulib-version=V, where V is expected to be
54743         the output of running git describe in the gnulib directory.
54744         (get_tool_versions): Request feedback on xdelta.  I suspect it's
54745         not useful, and plan to stop publishing an xdelta file with each
54746         coreutils release.
54747
54748         * build-aux/announce-gen: Also check for lzma-compressed files.
54749
54750 2008-01-11  Bruno Haible  <bruno@clisp.org>
54751
54752         * tests/test-memmem.c (main): Increase maximum allowed time.
54753         * tests/test-strstr.c (main): Likewise.
54754
54755 2008-01-11  Bruno Haible  <bruno@clisp.org>
54756
54757         * doc/functions/memmem.texi: Add more precisions about platforms.
54758         * doc/functions/strstr.texi: Likewise.
54759
54760 2008-01-10  Eric Blake  <ebb9@byu.net>
54761
54762         * m4/strstr.m4: Delete cruft from copy-n-paste.
54763         Reported by Bruno Haible.
54764
54765 2008-01-10  Bruno Haible  <bruno@clisp.org>
54766
54767         Make c-strstr rely on strstr.
54768         * lib/c-strstr.c: Don't include str-kmp.h.
54769         (c_strstr): Define in terms of strstr.
54770         * modules/c-strstr (Files): Remove lib/str-kmp.h.
54771         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
54772
54773 2008-01-10  Bruno Haible  <bruno@clisp.org>
54774
54775         * doc/gnulib.texi (String Functions in C Locale): New section.
54776         * doc/c-ctype.texi: New file.
54777         * doc/c-strcase.texi: New file.
54778         * doc/c-strcaseeq.texi: New file.
54779         * doc/c-strcasestr.texi: New file.
54780         * doc/c-strstr.texi: New file.
54781         * doc/c-strtod.texi: New file.
54782         * doc/c-strtold.texi: New file.
54783
54784 2008-01-10  Eric Blake  <ebb9@byu.net>
54785
54786         * lib/relocatable.h: Fix a comment.
54787
54788 2008-01-10  Eric Blake  <ebb9@byu.net>
54789
54790         Share two-way algorithm.
54791         * lib/str-two-way.h: New file, merged from...
54792         * lib/memmem.c: ...here...
54793         * lib/strstr.c: ...and here.
54794         * modules/memmem (Files): Use it.
54795         * modules/strstr (Files): Likewise.
54796
54797         Avoid quadratic strstr implementations.
54798         * lib/strstr.c: New file.
54799         * m4/strstr.m4: Likewise.
54800         * modules/strstr: Likewise.
54801         * modules/strstr-tests: Likewise.
54802         * tests/test-strstr.c: Likewise.
54803         * lib/string.in.h (rpl_strstr): Declare.
54804         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
54805         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
54806         * modules/string (Makefile.am): Likewise.
54807         * MODULES.html.sh (string handling): Mention new module.
54808         * doc/functions/strstr.texi (strstr): Document the bug.
54809
54810 2008-01-10  Bruno Haible  <bruno@clisp.org>
54811
54812         * lib/relocatable.h (relocate): State whether result is freshly
54813         allocated or not.
54814         * lib/relocatable.c (relocate): Return a freshly allocated string
54815         instead of a pointer to a privately held string.
54816         Reported by Sylvain Beucler <beuc@gnu.org>.
54817
54818 2008-01-10  Colin Watson  <cjwatson@debian.org>
54819
54820         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
54821         s/S_ISNLK/S_ISLNK/.
54822
54823 2008-01-09  Bruno Haible  <bruno@clisp.org>
54824
54825         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
54826         and other files.
54827         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
54828         if it's only a guess.
54829         * modules/memmem: Simplify by depending on memmem-simple.
54830
54831 2008-01-09  Bruno Haible  <bruno@clisp.org>
54832
54833         Work around OpenBSD 4.0 tdelete() bug.
54834         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
54835         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
54836         macros and don't redefine the enum values.
54837         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
54838         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
54839         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
54840
54841 2008-01-09  Bruno Haible  <bruno@clisp.org>
54842
54843         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
54844         (main): Don't perform the tests if setlocale did not install a UTF-8
54845         locale. Needed on OpenBSD 4.0.
54846         * modules/wcwidth-tests (Depends-on): Add localcharset.
54847
54848 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
54849
54850         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
54851         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
54852         * NEWS: announce this.
54853         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
54854
54855 2008-01-09  Simon Josefsson  <simon@josefsson.org>
54856         and Eric Blake  <ebb9@byu.net>
54857
54858         Add memmem-simple module.
54859         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
54860         (gl_FUNC_MEMMEM): Separate performance from presence checks.
54861         * modules/memmem-simple: New file.
54862         * modules/memmem (Description): Tweak.
54863         * MODULES.html.sh (string handling): Mention new module.
54864         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
54865         addressed by memmem-simple.
54866         * NEWS: Document the difference.
54867
54868 2008-01-09  Eric Blake  <ebb9@byu.net>
54869
54870         Give gcc some memmem optimization hints.
54871         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
54872         (strcasestr): Declare as pure.
54873         * modules/memmem (Maintainer): Claim my implementation.
54874
54875 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54876
54877         Support AIX 6.1 and higher.
54878         * build-aux/config.libpath: Likewise.
54879         * build-aux/config.rpath: Likewise.
54880
54881 2008-01-08  Jim Meyering  <meyering@redhat.com>
54882             Bruno Haible  <bruno@clisp.org>
54883
54884         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
54885         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
54886         Reported by Peter Fales in
54887         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
54888
54889 2008-01-08  Bruno Haible  <bruno@clisp.org>
54890
54891         * modules/unictype/category-of (Depends-on): Add
54892         unictype/category-none.
54893         * modules/unictype/category-and-tests (Depends-on): Add
54894         unictype/category-{L,N,Lu,Nd}.
54895         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
54896         * modules/unictype/category-or-tests (Depends-on): Add
54897         unictype/category-{L,N}.
54898         * modules/unictype/category-name-tests (Depends-on): Add
54899         unictype/category-{Z,Nl}.
54900         Reported by Simon Josefsson.
54901
54902 2008-01-08  Bruno Haible  <bruno@clisp.org>
54903
54904         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
54905         convention better.
54906         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
54907         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
54908         Reported by Peter Miller <millerp@canb.auug.org.au>.
54909
54910 2008-01-08  Eric Blake  <ebb9@byu.net>
54911
54912         Rewrite memmem to guarantee linear complexity without malloc.
54913         * lib/memmem.c (memmem): Use Two-Way rather than
54914         Knuth-Morris-Pratt, to allow O(1) space usage.
54915         (critical_factorization, two_way_short_needle)
54916         (two_way_long_needle): New functions.
54917         (knuth_morris_pratt): Delete.
54918         * modules/memmem (Depends-on): No longer need malloca or stdbool.
54919         Add stdint.
54920         * tests/test-memmem.c (main): Add tests for periodic needle and
54921         sublinear performance.
54922         * doc/functions/memmem.texi (memmem): Document other deficiencies
54923         in cygwin and older glibc.
54924
54925 2008-01-08  Bruno Haible  <bruno@clisp.org>
54926
54927         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
54928         augmentation.
54929
54930 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
54931
54932         Add a configure time option: --disable-acl.
54933         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
54934         AC_ARG_ENABLE(acl).
54935
54936 2008-01-06  Simon Josefsson  <simon@josefsson.org>
54937
54938         * tests/test-localename.c: Don't include obsolete "setenv.h".
54939
54940         * modules/localename-tests (Depends-on): Need unsetenv.
54941
54942 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54943
54944         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
54945
54946 2008-01-06  Colin Watson  <cjwatson@debian.org>
54947
54948         * users.txt: Add man-db.
54949
54950 2008-01-07  Bruno Haible  <bruno@clisp.org>
54951
54952         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
54953         previous section name.
54954
54955 2008-01-07  Bruno Haible  <bruno@clisp.org>
54956
54957         * lib/progname.c (set_program_name): Don't strip off a leading
54958         "lt-" prefix outside a .libs directory.
54959         Suggested by Paul Eggert.
54960
54961 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
54962             Bruno Haible  <bruno@clisp.org>
54963
54964         Improve memory cleanup in 'relocatable' module.
54965         * lib/relocatable.h (compute_curr_prefix): Change return type to
54966         'char *'.
54967         * lib/relocatable.c (compute_curr_prefix): Change return type to
54968         'char *'. Free curr_installdir after use.
54969         (relocate): Free curr_prefix_better after use.
54970         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
54971
54972 2008-01-01  Bruno Haible  <bruno@clisp.org>
54973
54974         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
54975         failure on older glibc systems.
54976         Reported by Peter Fales <psfales@alcatel-lucent.com>.
54977
54978 2008-01-05  Eric Blake  <ebb9@byu.net>
54979
54980         Avoid quadratic system memmem.
54981         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
54982         Reported by Ralf Wildenhues.
54983
54984         Fix memmem test for mingw.
54985         * modules/memmem-tests (configure.ac): Check for alarm.
54986         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
54987         it.
54988         * doc/functions/memmem.texi: New file.
54989         * doc/gnulib.texi (Function Substitutes): Add memmem.
54990         Reported by Bruno Haible.
54991
54992 2008-01-04  Bruno Haible  <bruno@clisp.org>
54993
54994         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
54995         Require gl_HEADER_STRINGS_H_DEFAULTS, not
54996         gl_HEADER_STRING_H_DEFAULTS.
54997
54998 2008-01-04  Eric Blake  <ebb9@byu.net>
54999
55000         Shorten duration of memmem test.
55001         * tests/test-memmem.c (main): Use alarm to declare failure if test
55002         is taking too long.
55003         Reported by Ralf Wildenhues.
55004
55005 2007-12-21  Simon Josefsson  <simon@josefsson.org>
55006
55007         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
55008         string, needed by strerror.
55009
55010 2008-01-03  Colin Watson  <cjwatson@debian.org>
55011             Bruno Haible  <bruno@clisp.org>
55012
55013         * doc/gnulib-tool.texi (Localization): New section.
55014
55015 2008-01-02  Bruno Haible  <bruno@clisp.org>
55016
55017         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
55018         variables to 'unsigned char *' type.
55019         Reported by Paul Eggert.
55020
55021 2008-01-02  Jim Meyering  <jim@meyering.net>
55022
55023         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
55024
55025 2007-12-31  Jim Meyering  <jim@meyering.net>
55026
55027         Avoid use of private FTS type name.
55028         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
55029
55030 2007-12-30  Karl Berry  <karl@gnu.org>
55031
55032         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
55033         work around defect in Texinfo and/or the standalone Info browser.
55034
55035 2007-12-30  Bruno Haible  <bruno@clisp.org>
55036
55037         Unify 5 copies of the KMP code.
55038         * lib/str-kmp.h: New file.
55039         * lib/c-strcasestr.c: Include str-kmp.h.
55040         (knuth_morris_pratt): Remove function.
55041         (c_strcasestr): Update.
55042         * lib/c-strstr.c: Include str-kmp.h.
55043         (knuth_morris_pratt): Remove function.
55044         (c_strcasestr): Update.
55045         * lib/mbscasestr.c: Include str-kmp.h.
55046         (knuth_morris_pratt_unibyte): Remove function.
55047         * lib/mbsstr.c: Include str-kmp.h.
55048         (knuth_morris_pratt_unibyte): Remove function.
55049         * lib/strcasestr.c: Include str-kmp.h.
55050         (knuth_morris_pratt): Remove function.
55051         (strcasestr): Update.
55052         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
55053         * modules/c-strstr (Files): Likewise.
55054         * modules/mbscasestr (Files): Likewise.
55055         * modules/mbsstr (Files): Likewise.
55056         * modules/strcasestr (Files): Likewise.
55057         Suggested by Paul Eggert.
55058
55059 2007-12-30  Bruno Haible  <bruno@clisp.org>
55060
55061         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
55062         defined.
55063
55064 2007-12-30  Bruno Haible  <bruno@clisp.org>
55065
55066         * lib/xmalloca.h: Include xalloc.h.
55067         (xnmalloca): New macro.
55068
55069 2007-12-30  Bruno Haible  <bruno@clisp.org>
55070
55071         * lib/malloca.h (nmalloca): New macro.
55072         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
55073         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
55074         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
55075         knuth_morris_pratt_multibyte): Likewise.
55076         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
55077         knuth_morris_pratt_multibyte): Likewise.
55078         * lib/memmem.c (knuth_morris_pratt): Likewise.
55079         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
55080
55081 2007-12-25  Bruno Haible  <bruno@clisp.org>
55082
55083         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
55084         * lib/glob.c: Don't include openat.h.
55085         (link_exists2_p): Add back the code that deals with the
55086         !GLOB_ALTDIRFUNC case.
55087         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
55088         let it do the filename concatenation.
55089         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
55090         * modules/glob (Depends-on): Remove openat.
55091
55092 2007-12-31  Bruno Haible  <bruno@clisp.org>
55093
55094         * modules/dirfd (License): Change to LGPLv2+.
55095         Approved by Jim Meyering.
55096
55097 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
55098
55099         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
55100         when multiplying M by sizeof (size_t).
55101
55102 2007-12-10  Martin Lambers  <marlam@marlam.de>
55103
55104         Override getpagesize on mingw.
55105         * lib/getpagesize.c: New file.
55106         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
55107         * modules/getpagesize (Files): Add lib/getpagesize.c.
55108         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
55109         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55110         REPLACE_GETPAGESIZE.
55111         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
55112
55113 2007-12-25  Bruno Haible  <bruno@clisp.org>
55114
55115         * modules/localcharset (Notice): New field.
55116         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
55117         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
55118
55119 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
55120             Bruno Haible  <bruno@clisp.org>
55121
55122         Avoid using the syntax symbol() in formatted documentation.
55123         * MODULES.html.sh (func_module): When replacing symbol() with a
55124         hyperlink, remove the parentheses. Show an error if some remain.
55125         Recognize and render the '...' syntax.
55126         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
55127         Rework. Add paragraph about GCC's inlining.
55128         * doc/alloca.texi: Likewise.
55129         * doc/error.texi: Remove parentheses from symbol reference.
55130         * doc/gnulib-intro.texi: Likewise.
55131         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
55132         * modules/fnmatch (Description): Reword to say "the ... function".
55133         * modules/full-read (Description): Likewise.
55134         * modules/full-write (Description): Likewise.
55135         * modules/safe-read (Description): Likewise.
55136         * modules/safe-write (Description): Likewise.
55137         * modules/strchrnul (Description): Likewise.
55138         * modules/trim (Description): Likewise.
55139         * modules/error (Description): Remove parentheses from symbol
55140         references.
55141         * modules/verror (Description): Likewise.
55142         Reported by Karl Berry.
55143
55144 2007-12-25  Bruno Haible  <bruno@clisp.org>
55145
55146         Fixup after 2007-10-16 commit.
55147         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
55148
55149 2007-12-24  Bruno Haible  <bruno@clisp.org>
55150
55151         Make --enable-relocatable work with DESTDIR.
55152         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
55153         to compute installdir from destprog.
55154         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
55155         also set the RELOC_DESTDIR variable.
55156         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
55157
55158 2007-12-24  Bruno Haible  <bruno@clisp.org>
55159
55160         Fix link error due to xalloc_die().
55161         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
55162         of xreadlink.
55163         * lib/relocwrapper.c: Update comments.
55164         * build-aux/install-reloc: Remove xreadlink.c from file list.
55165         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
55166         xreadlink.c.
55167         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
55168
55169 2007-12-24  Bruno Haible  <bruno@clisp.org>
55170
55171         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
55172         * lib/setenv.h: Remove file.
55173         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
55174         lib/setenv.h.
55175         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
55176         (Depends-on): Add stdlib.
55177         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
55178         gl_FUNC_UNSETENV.
55179         (Include): Replace setenv.h with <stdlib.h>.
55180         * modules/unsetenv: New file.
55181         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
55182         * lib/unsetenv.c: Include <stdlib.h> first.
55183         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
55184         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
55185         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
55186         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
55187         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
55188         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
55189         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
55190         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
55191         * doc/functions/unsetenv.texi: Update.
55192         * modules/xsetenv (Depends-on): Add unsetenv.
55193         * modules/getdate (Depends-on): Likewise.
55194         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
55195         * lib/xsetenv.c: Don't include setenv.h.
55196         * lib/getdate.y: Likewise.
55197         * lib/relocwrapper.c: Likewise.
55198         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
55199         (Depends-on): Add stdlib.
55200         * NEWS: Mention the changes.
55201         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
55202
55203 2007-12-23  Bruno Haible  <bruno@clisp.org>
55204
55205         * lib/memmem.c (memmem): Use lowercase variable names. Tab
55206         indentation.
55207
55208 2007-12-23  Bruno Haible  <bruno@clisp.org>
55209
55210         * lib/c-strcasestr.c: Add more comments.
55211         * lib/c-strstr.c: Likewise.
55212         * lib/mbscasestr.c: Likewise.
55213         * lib/mbsstr.c: Likewise.
55214         * lib/strcasestr.c: Likewise.
55215         * lib/memmem.c: Likewise.
55216
55217 2007-12-23  Bruno Haible  <bruno@clisp.org>
55218
55219         * tests/test-memmem.c: Include <string.h> first.
55220
55221 2007-12-22  Bruno Haible  <bruno@clisp.org>
55222
55223         * gnulib-tool (func_create_testdir): Change $auxdir while generating
55224         the contents of $testsbase.
55225         Reported by Ralf Wildenhues.
55226
55227 2007-12-22  Bruno Haible  <bruno@clisp.org>
55228
55229         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
55230         two variables local_ldadd_before, local_ldadd_last.
55231
55232 2007-12-20  Eric Blake  <ebb9@byu.net>
55233
55234         Work around circular library issue when cross-compiling.
55235         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
55236         that progname.o does not need to pull in rpl_memcmp.
55237
55238 2007-12-19  Eric Blake  <ebb9@byu.net>
55239
55240         Fix memmem to avoid O(n^2) worst-case complexity.
55241         * lib/memmem.c (knuth_morris_pratt): New function.
55242         (memmem): Use it if first few naive iterations fail.
55243         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
55244         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
55245         * modules/memchr (License): Likewise.
55246         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
55247         malloca.
55248         * tests/test-memmem.c: Rewrite, borrowing ideas from
55249         test-mbsstr1.c; the old version wouldn't even compile!
55250         * modules/memmem-tests: New file.
55251         * lib/string.in.h (rpl_memmem): Add declaration.
55252         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
55253         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
55254         REPLACE_MEMMEM.
55255
55256 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
55257
55258         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
55259         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
55260         before any system include files, and undef after them all.  This
55261         should fix a problem on VMS reported by John E. Malmberg in
55262         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
55263
55264 2007-12-17  Eric Blake  <ebb9@byu.net>
55265
55266         Revert addition of verify, for BSD/OS.
55267         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
55268         can't handle large files, for the sake of obsolete platforms.
55269         * modules/fseeko (Depends-on): Remove verify.
55270         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
55271         * doc/functions/ftello.texi (ftello): Likewise.
55272         * doc/functions/fgetpos.texi (fgetpos): Likewise.
55273         Reported by Larry Jones.
55274
55275 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
55276
55277         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
55278         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
55279
55280 2007-12-17  Jim Meyering  <meyering@redhat.com>
55281
55282         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
55283         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
55284         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
55285         * modules/getcwd (Depends-on): Add openat.
55286         Reported by Petr Salinger.
55287
55288 2007-12-17  Bruno Haible  <bruno@clisp.org>
55289
55290         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
55291         avoid a segmentation fault of the configure test on x86_64 systems.
55292
55293 2007-12-15  Jim Meyering  <meyering@redhat.com>
55294
55295         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
55296
55297 2007-12-13  Eric Blake  <ebb9@byu.net>
55298
55299         Another fseek test.
55300         * tests/test-fseek.c (main): Also test ungetc handling.
55301         * tests/test-fseeko.c (main): Likewise.
55302         * modules/fseeko (Depends-on): Add verify.
55303         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
55304         large.
55305         Reported by Larry Jones.
55306
55307         Fix fseeko on mingw.
55308         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
55309         seek.
55310
55311         Beef up fseek tests.
55312         * tests/test-fseek.c (main): Also test eof handling.
55313         * tests/test-fseeko.c (main): Likewise.
55314         Reported by Larry Jones.
55315
55316 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
55317
55318         Fix fseeko on BSD-based platforms.
55319         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
55320         successful seek.
55321
55322 2007-12-12  Eric Blake  <ebb9@byu.net>
55323
55324         Allow circular dependency of separate libtests.a
55325         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
55326         when use_libtests.
55327
55328 2007-12-11  Eric Blake  <ebb9@byu.net>
55329
55330         Fix bug with -0.0L in previous patch.
55331         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
55332         * tests/test-isnan.c (main): Also test on zeroes.
55333         * tests/test-isnanf.c (main): Likewise.
55334         * tests/test-isnanl.h (main): Likewise.
55335
55336         Detect pseudo-denormals on x86 even when cross-compiling.
55337         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
55338         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
55339         invalid bit patterns that happen to satisfy ==.
55340
55341         Avoid link failures with separate libtests.a.
55342         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
55343         last, to satisfy circular dependencies.
55344
55345 2007-12-11  Eric Blake  <ebb9@byu.net>
55346         and Bruno Haible  <bruno@clisp.org>
55347
55348         Fix OpenBSD 4.0 <float.h> handling of long double.
55349         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
55350         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
55351         * doc/headers/float.texi (float.h): Document OpenBSD bug.
55352
55353 2007-12-11  Jim Meyering  <meyering@redhat.com>
55354
55355         * users.txt: Add libvirt.
55356
55357         Support versions of autoconf prior to 2.59c.
55358         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
55359         if it is not already defined.
55360
55361 2007-12-09  Bruno Haible  <bruno@clisp.org>
55362
55363         Let 'gnulib-tool --import' collect sources needed for the tests in
55364         tests/ rather than in lib/.
55365         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
55366         argument. If true, add rules to generate libtests.a, and put libtests.a
55367         into $(LDADD). Consider source files in subdirectories and set
55368         uses_subdirs.
55369         (func_emit_initmacro_start, func_emit_initmacro_end,
55370         func_emit_initmacro_done): Pass all arguments explicitly.
55371         (func_import): Determine two module lists main_modules,
55372         testsrelated_modules. Determine use_libtests. Determine two variables
55373         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
55374         instead of just sed_transform_lib_file. Determine two variables
55375         main_files and testsrelated_files. Compute 'files' as the union of
55376         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
55377         func_add_or_update. In the generated gnulib-comp.m4, collect the
55378         object files for tests/ in different variables than those for lib/.
55379         Substitute LIBTESTS_LIBDEPS.
55380         (func_create_testdir): Combine the uses_subdirs results from
55381         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
55382
55383 2007-12-09  Bruno Haible  <bruno@clisp.org>
55384
55385         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
55386         the build-aux directory.
55387
55388 2007-12-09  Bruno Haible  <bruno@clisp.org>
55389
55390         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
55391         introduced on 2006-09-09.
55392
55393 2007-12-07  Jim Meyering  <meyering@redhat.com>
55394
55395         Let these macros work also with autoconf-2.59.
55396         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
55397         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
55398         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
55399
55400 2007-12-06  Jim Meyering  <meyering@redhat.com>
55401
55402         Avoid a configure-time syntax error in gl_FUNC_ACL.
55403         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
55404         function in each branch, before testing the cache variable.
55405
55406 2007-12-04  Eric Blake  <ebb9@byu.net>
55407
55408         Make scripts executable.
55409         * build-aux/config.guess: Add execute permissions.
55410         * build-aux/config.sub: Likewise.
55411         * build-aux/gendocs.sh: Likewise.
55412
55413         Fix frexp on mingw.
55414         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
55415         cross-compiling.
55416         * doc/functions/frexp.texi (frexp): Document the bug.
55417
55418         Make cygwin fseeko check more reliable.
55419         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
55420         version numbers, rather than unrelated feature check.
55421         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
55422         * doc/functions/ftello.texi (ftello): Likewise.
55423         Reported by Bruno Haible.
55424
55425         * m4/strerror.m4: Bump version number.
55426
55427 2007-12-03  Bruno Haible  <bruno@clisp.org>
55428
55429         * doc/functions/mprotect.texi: Mention the mingw problem.
55430
55431 2007-12-03  Eric Blake  <ebb9@byu.net>
55432
55433         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
55434         REPLACE_STRERROR is initialized before this macro.
55435
55436 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
55437
55438         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
55439         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
55440         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
55441         put -lsec in even for programs other than 'ls'.  This fixes a problem
55442         for gettext reported by Bruno Haible in
55443         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
55444         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
55445         Add support for Solaris 10.  This isn't efficient, but should get the
55446         job done for now.
55447
55448 2007-12-03  James Youngman  <jay@gnu.org>
55449
55450         * doc/regexprops-generic.texi: change "an close-group" to "a
55451         close-group" and "illegal" to "not allowed".
55452
55453 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55454
55455         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
55456         pr_byname.h. Needed for the rare case when the maintainer has done
55457         "make maintainer-clean" in the source directory and then attempts a
55458         build outside the source directory.
55459         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
55460         scripts_byname.h.
55461
55462 2007-12-02  Martin Lambers <marlam@marlam.de>
55463             Bruno Haible  <bruno@clisp.org>
55464
55465         * lib/getpagesize.h: Remove file.
55466         * lib/unistd.in.h: Include declaration of getpagesize here.
55467         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
55468         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
55469         HAVE_SYS_PARAM_H.
55470         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
55471         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
55472         * modules/getpagesize (Files): Remove lib/getpagesize.h.
55473         (Depends-on): Add unistd.
55474         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55475         (Include): Use <unistd.h> instead of getpagesize.h.
55476         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
55477         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
55478         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
55479         gl_GETPAGESIZE invocation, already handled by module dependency.
55480         * lib/pagealign_alloc.c: Don't include getpagesize.h.
55481
55482 2007-12-02  Bruno Haible  <bruno@clisp.org>
55483
55484         * modules/strings-tests: New file.
55485         * tests/test-strings.c: New file.
55486
55487         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
55488         * lib/strings.in.h: New file.
55489         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
55490         * m4/strings_h.m4: New file.
55491         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
55492         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
55493         * modules/strings: New file.
55494         * modules/string (Makefile.am): Update.
55495         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
55496         Reported by Karl Berry.
55497
55498 2007-12-01  Eric Blake  <ebb9@byu.net>
55499
55500         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
55501         accomodate fix in cygwin 1.5.25.
55502
55503 2007-12-01  Jim Meyering  <meyering@redhat.com>
55504
55505         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
55506         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
55507         that would inhibit utf8-optimization of a regexp containing line-
55508         or buffer-anchors, e.g., `^', `$'.
55509
55510 2007-11-30  Bruno Haible  <bruno@clisp.org>
55511
55512         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
55513         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
55514         glthread_recursive_lock_init.
55515         * lib/lock.c (glthread_recursive_lock_init)
55516         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
55517         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55518
55519 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
55520
55521         New function qset_acl, like set_acl but with syscall semantics.
55522         * lib/acl.h (qset_acl): New decl.
55523         * lib/acl.c (qset_acl): New function.
55524         (set_acl): Use new function.  Use more-consistent diagnostics.
55525
55526 2007-11-28  Jim Meyering  <meyering@redhat.com>
55527
55528         * modules/physmem (License): Change from GPL to LGPLv2+.
55529
55530 2007-11-26  Bruno Haible  <bruno@clisp.org>
55531
55532         * lib/vasnprintf.c (decode_long_double): Don't abort if the
55533         'long double' type has excess precision.
55534         Reported by Jim Meyering in
55535         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
55536
55537 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55538
55539         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
55540         Sync from <http://gnu.org/licenses>.
55541         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
55542         with license text from same location.
55543         * doc/maintain.texi, doc/standards.texi:  Sync from
55544         <http://savannah.gnu.org/projects/gnustandards>.
55545
55546 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
55547         and Jim Meyering  <meyering@redhat.com>
55548
55549         Adjust getdate' grammar to accept a slightly more regular language.
55550         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
55551         Before, the former was rejected.
55552         * lib/getdate.y (digits_to_date_time): New function, factored
55553         out of ...
55554         (number): ...here.  Just call digits_to_date_time.
55555         (hybrid): New non-terminal to handle an <unsigned number,
55556         signed relative offset> sequence consistently.
55557
55558 2007-11-18  Jim Meyering  <meyering@redhat.com>
55559
55560         Pull my changes from coreutils:
55561         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
55562         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
55563         use of $gnulib_tool_option_extras, so that it's separated from the
55564         preceding argument.
55565
55566         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
55567         * build-aux/bootstrap (cp_mark_as_generated): Create any required
55568         parent destination directories before copying a file into place.
55569
55570 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
55571
55572         bootstrap: work also with 4-argument variant of AC_INIT
55573         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
55574
55575 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55576
55577         Port test-getaddrinfo to Solaris.
55578         Problem reported by Bruno Haible in
55579         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
55580         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
55581         explanation of setting 'hints'.
55582         Don't reject an implementation merely because it returns EAI_SERVICE.
55583         (EAI_SERVICE): Define to 0 if not defined.
55584
55585 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
55586
55587         The license of gnu-make and posix-shell is now "GPLed build tool".
55588         * modules/gnu-make (License): Likewise.
55589         * modules/posix-shell (License): Likewise.
55590
55591         New module posix-shell, for determining a POSIX shell
55592         or perhaps something that is close enough to a POSIX shell.
55593         * m4/posix-shell.m4: New file.
55594         * modules/posix-shell: New file.
55595
55596         * MODULES.html.sh: Mention new module.
55597
55598         New module gnu-make, for determining whether we're using GNU Make.
55599         * m4/gnu-make.m4: New file.
55600         * modules/gnu-make: New file.
55601         * MODULES.html.sh: Mention new module.
55602
55603 2007-11-14  Jim Meyering  <meyering@redhat.com>
55604
55605         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
55606         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
55607         use this macro to create a function _definition_.
55608         Remove useless "#undef ARGMATCH_DIE".
55609
55610 2007-11-14  Bruno Haible  <bruno@clisp.org>
55611
55612         * lib/config.charset: Update for OpenBSD 4.1.
55613         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
55614
55615 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
55616
55617         Document 64-bit #if problems in stdint.texi.
55618         * doc/headers/stdint.texi (stdint.h): Mention problems with
55619         64-bit-#if, and how to work around them.
55620
55621         Don't insist on 'long long int' support in the preprocessor.  It
55622         breaks too many things.  For example, PRIdMAX still uses a 'long
55623         long int' format with the latest Sun compiler, even though
55624         HAVE_LONG_LONG_INT isn't defined due to that compiler's
55625         preprocessor problem.  This causes the latest coreutils to dump
55626         core on Solaris 10 sparc with the Sun C compiler.
55627         Instead, fix the 2007-10-16 problem in a different way, by evaluating
55628         the troublesome expressions at configure-time, not at #if-time.
55629         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
55630         preprocessor.
55631         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
55632         compile-time C checks, done at 'configure'-time.
55633         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
55634         * modules/inttypes (Makefile): Substitute the new symbols that
55635         gl_INTTYPES_H now generates.
55636         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
55637
55638 2007-11-12  Bruno Haible  <bruno@clisp.org>
55639
55640         Tests for Unicode character classification functions.
55641
55642         * modules/unictype/bidicategory-byname-tests: New file.
55643         * modules/unictype/bidicategory-name-tests: New file.
55644         * modules/unictype/bidicategory-of-tests: New file.
55645         * modules/unictype/bidicategory-test-tests: New file.
55646         * modules/unictype/block-list-tests: New file.
55647         * modules/unictype/block-of-tests: New file.
55648         * modules/unictype/block-test-tests: New file.
55649         * modules/unictype/category-C-tests: New file.
55650         * modules/unictype/category-Cc-tests: New file.
55651         * modules/unictype/category-Cf-tests: New file.
55652         * modules/unictype/category-Cn-tests: New file.
55653         * modules/unictype/category-Co-tests: New file.
55654         * modules/unictype/category-Cs-tests: New file.
55655         * modules/unictype/category-L-tests: New file.
55656         * modules/unictype/category-Ll-tests: New file.
55657         * modules/unictype/category-Lm-tests: New file.
55658         * modules/unictype/category-Lo-tests: New file.
55659         * modules/unictype/category-Lt-tests: New file.
55660         * modules/unictype/category-Lu-tests: New file.
55661         * modules/unictype/category-M-tests: New file.
55662         * modules/unictype/category-Mc-tests: New file.
55663         * modules/unictype/category-Me-tests: New file.
55664         * modules/unictype/category-Mn-tests: New file.
55665         * modules/unictype/category-N-tests: New file.
55666         * modules/unictype/category-Nd-tests: New file.
55667         * modules/unictype/category-Nl-tests: New file.
55668         * modules/unictype/category-No-tests: New file.
55669         * modules/unictype/category-P-tests: New file.
55670         * modules/unictype/category-Pc-tests: New file.
55671         * modules/unictype/category-Pd-tests: New file.
55672         * modules/unictype/category-Pe-tests: New file.
55673         * modules/unictype/category-Pf-tests: New file.
55674         * modules/unictype/category-Pi-tests: New file.
55675         * modules/unictype/category-Po-tests: New file.
55676         * modules/unictype/category-Ps-tests: New file.
55677         * modules/unictype/category-S-tests: New file.
55678         * modules/unictype/category-Sc-tests: New file.
55679         * modules/unictype/category-Sk-tests: New file.
55680         * modules/unictype/category-Sm-tests: New file.
55681         * modules/unictype/category-So-tests: New file.
55682         * modules/unictype/category-Z-tests: New file.
55683         * modules/unictype/category-Zl-tests: New file.
55684         * modules/unictype/category-Zp-tests: New file.
55685         * modules/unictype/category-Zs-tests: New file.
55686         * modules/unictype/category-and-not-tests: New file.
55687         * modules/unictype/category-and-tests: New file.
55688         * modules/unictype/category-byname-tests: New file.
55689         * modules/unictype/category-name-tests: New file.
55690         * modules/unictype/category-none-tests: New file.
55691         * modules/unictype/category-of-tests: New file.
55692         * modules/unictype/category-or-tests: New file.
55693         * modules/unictype/category-test-withtable-tests: New file.
55694         * modules/unictype/combining-class-tests: New file.
55695         * modules/unictype/ctype-alnum-tests: New file.
55696         * modules/unictype/ctype-alpha-tests: New file.
55697         * modules/unictype/ctype-blank-tests: New file.
55698         * modules/unictype/ctype-cntrl-tests: New file.
55699         * modules/unictype/ctype-digit-tests: New file.
55700         * modules/unictype/ctype-graph-tests: New file.
55701         * modules/unictype/ctype-lower-tests: New file.
55702         * modules/unictype/ctype-print-tests: New file.
55703         * modules/unictype/ctype-punct-tests: New file.
55704         * modules/unictype/ctype-space-tests: New file.
55705         * modules/unictype/ctype-upper-tests: New file.
55706         * modules/unictype/ctype-xdigit-tests: New file.
55707         * modules/unictype/decimal-digit-tests: New file.
55708         * modules/unictype/digit-tests: New file.
55709         * modules/unictype/mirror-tests: New file.
55710         * modules/unictype/numeric-tests: New file.
55711         * modules/unictype/property-alphabetic-tests: New file.
55712         * modules/unictype/property-ascii-hex-digit-tests: New file.
55713         * modules/unictype/property-bidi-arabic-digit-tests: New file.
55714         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
55715         * modules/unictype/property-bidi-block-separator-tests: New file.
55716         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
55717         * modules/unictype/property-bidi-common-separator-tests: New file.
55718         * modules/unictype/property-bidi-control-tests: New file.
55719         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
55720         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
55721         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
55722         * modules/unictype/property-bidi-european-digit-tests: New file.
55723         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
55724         * modules/unictype/property-bidi-left-to-right-tests: New file.
55725         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
55726         * modules/unictype/property-bidi-other-neutral-tests: New file.
55727         * modules/unictype/property-bidi-pdf-tests: New file.
55728         * modules/unictype/property-bidi-segment-separator-tests: New file.
55729         * modules/unictype/property-bidi-whitespace-tests: New file.
55730         * modules/unictype/property-byname-tests: New file.
55731         * modules/unictype/property-combining-tests: New file.
55732         * modules/unictype/property-composite-tests: New file.
55733         * modules/unictype/property-currency-symbol-tests: New file.
55734         * modules/unictype/property-dash-tests: New file.
55735         * modules/unictype/property-decimal-digit-tests: New file.
55736         * modules/unictype/property-default-ignorable-code-point-tests: New file.
55737         * modules/unictype/property-deprecated-tests: New file.
55738         * modules/unictype/property-diacritic-tests: New file.
55739         * modules/unictype/property-extender-tests: New file.
55740         * modules/unictype/property-format-control-tests: New file.
55741         * modules/unictype/property-grapheme-base-tests: New file.
55742         * modules/unictype/property-grapheme-extend-tests: New file.
55743         * modules/unictype/property-grapheme-link-tests: New file.
55744         * modules/unictype/property-hex-digit-tests: New file.
55745         * modules/unictype/property-hyphen-tests: New file.
55746         * modules/unictype/property-id-continue-tests: New file.
55747         * modules/unictype/property-id-start-tests: New file.
55748         * modules/unictype/property-ideographic-tests: New file.
55749         * modules/unictype/property-ids-binary-operator-tests: New file.
55750         * modules/unictype/property-ids-trinary-operator-tests: New file.
55751         * modules/unictype/property-ignorable-control-tests: New file.
55752         * modules/unictype/property-iso-control-tests: New file.
55753         * modules/unictype/property-join-control-tests: New file.
55754         * modules/unictype/property-left-of-pair-tests: New file.
55755         * modules/unictype/property-line-separator-tests: New file.
55756         * modules/unictype/property-logical-order-exception-tests: New file.
55757         * modules/unictype/property-lowercase-tests: New file.
55758         * modules/unictype/property-math-tests: New file.
55759         * modules/unictype/property-non-break-tests: New file.
55760         * modules/unictype/property-not-a-character-tests: New file.
55761         * modules/unictype/property-numeric-tests: New file.
55762         * modules/unictype/property-other-alphabetic-tests: New file.
55763         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
55764         * modules/unictype/property-other-grapheme-extend-tests: New file.
55765         * modules/unictype/property-other-id-continue-tests: New file.
55766         * modules/unictype/property-other-id-start-tests: New file.
55767         * modules/unictype/property-other-lowercase-tests: New file.
55768         * modules/unictype/property-other-math-tests: New file.
55769         * modules/unictype/property-other-uppercase-tests: New file.
55770         * modules/unictype/property-paired-punctuation-tests: New file.
55771         * modules/unictype/property-paragraph-separator-tests: New file.
55772         * modules/unictype/property-pattern-syntax-tests: New file.
55773         * modules/unictype/property-pattern-white-space-tests: New file.
55774         * modules/unictype/property-private-use-tests: New file.
55775         * modules/unictype/property-punctuation-tests: New file.
55776         * modules/unictype/property-quotation-mark-tests: New file.
55777         * modules/unictype/property-radical-tests: New file.
55778         * modules/unictype/property-sentence-terminal-tests: New file.
55779         * modules/unictype/property-soft-dotted-tests: New file.
55780         * modules/unictype/property-space-tests: New file.
55781         * modules/unictype/property-terminal-punctuation-tests: New file.
55782         * modules/unictype/property-test-tests: New file.
55783         * modules/unictype/property-titlecase-tests: New file.
55784         * modules/unictype/property-unassigned-code-value-tests: New file.
55785         * modules/unictype/property-unified-ideograph-tests: New file.
55786         * modules/unictype/property-uppercase-tests: New file.
55787         * modules/unictype/property-variation-selector-tests: New file.
55788         * modules/unictype/property-white-space-tests: New file.
55789         * modules/unictype/property-xid-continue-tests: New file.
55790         * modules/unictype/property-xid-start-tests: New file.
55791         * modules/unictype/property-zero-width-tests: New file.
55792         * modules/unictype/scripts-tests: New file.
55793         * modules/unictype/syntax-c-ident-tests: New file.
55794         * modules/unictype/syntax-c-whitespace-tests: New file.
55795         * modules/unictype/syntax-java-ident-tests: New file.
55796         * modules/unictype/syntax-java-whitespace-tests: New file.
55797         * tests/unictype/test-bidi_byname.c: New file.
55798         * tests/unictype/test-bidi_name.c: New file.
55799         * tests/unictype/test-bidi_of.c: New file.
55800         * tests/unictype/test-bidi_test.c: New file.
55801         * tests/unictype/test-block_list.c: New file.
55802         * tests/unictype/test-block_of.c: New file.
55803         * tests/unictype/test-block_test.c: New file.
55804         * tests/unictype/test-categ_and.c: New file.
55805         * tests/unictype/test-categ_and_not.c: New file.
55806         * tests/unictype/test-categ_byname.c: New file.
55807         * tests/unictype/test-categ_name.c: New file.
55808         * tests/unictype/test-categ_none.c: New file.
55809         * tests/unictype/test-categ_of.c: New file.
55810         * tests/unictype/test-categ_or.c: New file.
55811         * tests/unictype/test-categ_test_withtable.c: New file.
55812         * tests/unictype/test-combining.c: New file.
55813         * tests/unictype/test-decdigit.c: New file.
55814         * tests/unictype/test-digit.c: New file.
55815         * tests/unictype/test-mirror.c: New file.
55816         * tests/unictype/test-numeric.c: New file.
55817         * tests/unictype/test-pr_byname.c: New file.
55818         * tests/unictype/test-pr_test.c: New file.
55819         * tests/unictype/test-predicate-part1.h: New file.
55820         * tests/unictype/test-predicate-part2.h: New file.
55821         * tests/unictype/test-scripts.c: New file.
55822         * tests/unictype/test-sy_c_ident.c: New file.
55823         * tests/unictype/test-sy_java_ident.c: New file.
55824
55825         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
55826         for Unicode 5.0.0.
55827         * tests/unictype/test-categ_Cc.c: Likewise.
55828         * tests/unictype/test-categ_Cf.c: Likewise.
55829         * tests/unictype/test-categ_Cn.c: Likewise.
55830         * tests/unictype/test-categ_Co.c: Likewise.
55831         * tests/unictype/test-categ_Cs.c: Likewise.
55832         * tests/unictype/test-categ_L.c: Likewise.
55833         * tests/unictype/test-categ_Ll.c: Likewise.
55834         * tests/unictype/test-categ_Lm.c: Likewise.
55835         * tests/unictype/test-categ_Lo.c: Likewise.
55836         * tests/unictype/test-categ_Lt.c: Likewise.
55837         * tests/unictype/test-categ_Lu.c: Likewise.
55838         * tests/unictype/test-categ_M.c: Likewise.
55839         * tests/unictype/test-categ_Mc.c: Likewise.
55840         * tests/unictype/test-categ_Me.c: Likewise.
55841         * tests/unictype/test-categ_Mn.c: Likewise.
55842         * tests/unictype/test-categ_N.c: Likewise.
55843         * tests/unictype/test-categ_Nd.c: Likewise.
55844         * tests/unictype/test-categ_Nl.c: Likewise.
55845         * tests/unictype/test-categ_No.c: Likewise.
55846         * tests/unictype/test-categ_P.c: Likewise.
55847         * tests/unictype/test-categ_Pc.c: Likewise.
55848         * tests/unictype/test-categ_Pd.c: Likewise.
55849         * tests/unictype/test-categ_Pe.c: Likewise.
55850         * tests/unictype/test-categ_Pf.c: Likewise.
55851         * tests/unictype/test-categ_Pi.c: Likewise.
55852         * tests/unictype/test-categ_Po.c: Likewise.
55853         * tests/unictype/test-categ_Ps.c: Likewise.
55854         * tests/unictype/test-categ_S.c: Likewise.
55855         * tests/unictype/test-categ_Sc.c: Likewise.
55856         * tests/unictype/test-categ_Sk.c: Likewise.
55857         * tests/unictype/test-categ_Sm.c: Likewise.
55858         * tests/unictype/test-categ_So.c: Likewise.
55859         * tests/unictype/test-categ_Z.c: Likewise.
55860         * tests/unictype/test-categ_Zl.c: Likewise.
55861         * tests/unictype/test-categ_Zp.c: Likewise.
55862         * tests/unictype/test-categ_Zs.c: Likewise.
55863         * tests/unictype/test-ctype_alnum.c: Likewise.
55864         * tests/unictype/test-ctype_alpha.c: Likewise.
55865         * tests/unictype/test-ctype_blank.c: Likewise.
55866         * tests/unictype/test-ctype_cntrl.c: Likewise.
55867         * tests/unictype/test-ctype_digit.c: Likewise.
55868         * tests/unictype/test-ctype_graph.c: Likewise.
55869         * tests/unictype/test-ctype_lower.c: Likewise.
55870         * tests/unictype/test-ctype_print.c: Likewise.
55871         * tests/unictype/test-ctype_punct.c: Likewise.
55872         * tests/unictype/test-ctype_space.c: Likewise.
55873         * tests/unictype/test-ctype_upper.c: Likewise.
55874         * tests/unictype/test-ctype_xdigit.c: Likewise.
55875         * tests/unictype/test-decdigit.h: Likewise.
55876         * tests/unictype/test-digit.h: Likewise.
55877         * tests/unictype/test-numeric.h: Likewise.
55878         * tests/unictype/test-pr_alphabetic.c: Likewise.
55879         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
55880         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
55881         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
55882         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
55883         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
55884         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
55885         * tests/unictype/test-pr_bidi_control.c: Likewise.
55886         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
55887         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
55888         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
55889         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
55890         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
55891         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
55892         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
55893         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
55894         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
55895         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
55896         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
55897         * tests/unictype/test-pr_combining.c: Likewise.
55898         * tests/unictype/test-pr_composite.c: Likewise.
55899         * tests/unictype/test-pr_currency_symbol.c: Likewise.
55900         * tests/unictype/test-pr_dash.c: Likewise.
55901         * tests/unictype/test-pr_decimal_digit.c: Likewise.
55902         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
55903         * tests/unictype/test-pr_deprecated.c: Likewise.
55904         * tests/unictype/test-pr_diacritic.c: Likewise.
55905         * tests/unictype/test-pr_extender.c: Likewise.
55906         * tests/unictype/test-pr_format_control.c: Likewise.
55907         * tests/unictype/test-pr_grapheme_base.c: Likewise.
55908         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
55909         * tests/unictype/test-pr_grapheme_link.c: Likewise.
55910         * tests/unictype/test-pr_hex_digit.c: Likewise.
55911         * tests/unictype/test-pr_hyphen.c: Likewise.
55912         * tests/unictype/test-pr_id_continue.c: Likewise.
55913         * tests/unictype/test-pr_id_start.c: Likewise.
55914         * tests/unictype/test-pr_ideographic.c: Likewise.
55915         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
55916         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
55917         * tests/unictype/test-pr_ignorable_control.c: Likewise.
55918         * tests/unictype/test-pr_iso_control.c: Likewise.
55919         * tests/unictype/test-pr_join_control.c: Likewise.
55920         * tests/unictype/test-pr_left_of_pair.c: Likewise.
55921         * tests/unictype/test-pr_line_separator.c: Likewise.
55922         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
55923         * tests/unictype/test-pr_lowercase.c: Likewise.
55924         * tests/unictype/test-pr_math.c: Likewise.
55925         * tests/unictype/test-pr_non_break.c: Likewise.
55926         * tests/unictype/test-pr_not_a_character.c: Likewise.
55927         * tests/unictype/test-pr_numeric.c: Likewise.
55928         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
55929         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
55930         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
55931         * tests/unictype/test-pr_other_id_continue.c: Likewise.
55932         * tests/unictype/test-pr_other_id_start.c: Likewise.
55933         * tests/unictype/test-pr_other_lowercase.c: Likewise.
55934         * tests/unictype/test-pr_other_math.c: Likewise.
55935         * tests/unictype/test-pr_other_uppercase.c: Likewise.
55936         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
55937         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
55938         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
55939         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
55940         * tests/unictype/test-pr_private_use.c: Likewise.
55941         * tests/unictype/test-pr_punctuation.c: Likewise.
55942         * tests/unictype/test-pr_quotation_mark.c: Likewise.
55943         * tests/unictype/test-pr_radical.c: Likewise.
55944         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
55945         * tests/unictype/test-pr_soft_dotted.c: Likewise.
55946         * tests/unictype/test-pr_space.c: Likewise.
55947         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
55948         * tests/unictype/test-pr_titlecase.c: Likewise.
55949         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
55950         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
55951         * tests/unictype/test-pr_uppercase.c: Likewise.
55952         * tests/unictype/test-pr_variation_selector.c: Likewise.
55953         * tests/unictype/test-pr_white_space.c: Likewise.
55954         * tests/unictype/test-pr_xid_continue.c: Likewise.
55955         * tests/unictype/test-pr_xid_start.c: Likewise.
55956         * tests/unictype/test-pr_zero_width.c: Likewise.
55957         * tests/unictype/test-sy_c_whitespace.c: Likewise.
55958         * tests/unictype/test-sy_java_whitespace.c: Likewise.
55959
55960 2007-11-12  Bruno Haible  <bruno@clisp.org>
55961
55962         Unicode character classification functions.
55963         * lib/unictype.h: New file.
55964         * modules/unictype/base: New file.
55965         * modules/unictype/category-L: New file.
55966         * modules/unictype/category-Lu: New file.
55967         * modules/unictype/category-Ll: New file.
55968         * modules/unictype/category-Lt: New file.
55969         * modules/unictype/category-Lm: New file.
55970         * modules/unictype/category-Lo: New file.
55971         * modules/unictype/category-M: New file.
55972         * modules/unictype/category-Mn: New file.
55973         * modules/unictype/category-Mc: New file.
55974         * modules/unictype/category-Me: New file.
55975         * modules/unictype/category-N: New file.
55976         * modules/unictype/category-Nd: New file.
55977         * modules/unictype/category-Nl: New file.
55978         * modules/unictype/category-No: New file.
55979         * modules/unictype/category-P: New file.
55980         * modules/unictype/category-Pc: New file.
55981         * modules/unictype/category-Pd: New file.
55982         * modules/unictype/category-Ps: New file.
55983         * modules/unictype/category-Pe: New file.
55984         * modules/unictype/category-Pi: New file.
55985         * modules/unictype/category-Pf: New file.
55986         * modules/unictype/category-Po: New file.
55987         * modules/unictype/category-S: New file.
55988         * modules/unictype/category-Sm: New file.
55989         * modules/unictype/category-Sc: New file.
55990         * modules/unictype/category-Sk: New file.
55991         * modules/unictype/category-So: New file.
55992         * modules/unictype/category-Z: New file.
55993         * modules/unictype/category-Zs: New file.
55994         * modules/unictype/category-Zl: New file.
55995         * modules/unictype/category-Zp: New file.
55996         * modules/unictype/category-C: New file.
55997         * modules/unictype/category-Cc: New file.
55998         * modules/unictype/category-Cf: New file.
55999         * modules/unictype/category-Cs: New file.
56000         * modules/unictype/category-Co: New file.
56001         * modules/unictype/category-Cn: New file.
56002         * modules/unictype/category-or: New file.
56003         * modules/unictype/category-of: New file.
56004         * modules/unictype/category-test: New file.
56005         * modules/unictype/category-test-withtable: New file.
56006         * modules/unictype/category-byname: New file.
56007         * modules/unictype/category-none: New file.
56008         * modules/unictype/category-and: New file.
56009         * modules/unictype/category-and-not: New file.
56010         * modules/unictype/category-name: New file.
56011         * modules/unictype/combining-class: New file.
56012         * modules/unictype/category-all: New file.
56013         * modules/unictype/bidicategory-all: New file.
56014         * modules/unictype/bidicategory-byname: New file.
56015         * modules/unictype/bidicategory-name: New file.
56016         * modules/unictype/bidicategory-of: New file.
56017         * modules/unictype/bidicategory-test: New file.
56018         * modules/unictype/decimal-digit: New file.
56019         * modules/unictype/digit: New file.
56020         * modules/unictype/numeric: New file.
56021         * modules/unictype/mirror: New file.
56022         * modules/unictype/property-white-space: New file.
56023         * modules/unictype/property-alphabetic: New file.
56024         * modules/unictype/property-other-alphabetic: New file.
56025         * modules/unictype/property-not-a-character: New file.
56026         * modules/unictype/property-default-ignorable-code-point: New file.
56027         * modules/unictype/property-other-default-ignorable-code-point: New
56028         file.
56029         * modules/unictype/property-deprecated: New file.
56030         * modules/unictype/property-logical-order-exception: New file.
56031         * modules/unictype/property-variation-selector: New file.
56032         * modules/unictype/property-private-use: New file.
56033         * modules/unictype/property-unassigned-code-value: New file.
56034         * modules/unictype/property-uppercase: New file.
56035         * modules/unictype/property-other-uppercase: New file.
56036         * modules/unictype/property-lowercase: New file.
56037         * modules/unictype/property-other-lowercase: New file.
56038         * modules/unictype/property-titlecase: New file.
56039         * modules/unictype/property-soft-dotted: New file.
56040         * modules/unictype/property-id-start: New file.
56041         * modules/unictype/property-other-id-start: New file.
56042         * modules/unictype/property-id-continue: New file.
56043         * modules/unictype/property-other-id-continue: New file.
56044         * modules/unictype/property-xid-start: New file.
56045         * modules/unictype/property-xid-continue: New file.
56046         * modules/unictype/property-pattern-white-space: New file.
56047         * modules/unictype/property-pattern-syntax: New file.
56048         * modules/unictype/property-join-control: New file.
56049         * modules/unictype/property-grapheme-base: New file.
56050         * modules/unictype/property-grapheme-extend: New file.
56051         * modules/unictype/property-other-grapheme-extend: New file.
56052         * modules/unictype/property-grapheme-link: New file.
56053         * modules/unictype/property-bidi-control: New file.
56054         * modules/unictype/property-bidi-left-to-right: New file.
56055         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
56056         * modules/unictype/property-bidi-arabic-right-to-left: New file.
56057         * modules/unictype/property-bidi-european-digit: New file.
56058         * modules/unictype/property-bidi-eur-num-separator: New file.
56059         * modules/unictype/property-bidi-eur-num-terminator: New file.
56060         * modules/unictype/property-bidi-arabic-digit: New file.
56061         * modules/unictype/property-bidi-common-separator: New file.
56062         * modules/unictype/property-bidi-block-separator: New file.
56063         * modules/unictype/property-bidi-segment-separator: New file.
56064         * modules/unictype/property-bidi-whitespace: New file.
56065         * modules/unictype/property-bidi-non-spacing-mark: New file.
56066         * modules/unictype/property-bidi-boundary-neutral: New file.
56067         * modules/unictype/property-bidi-pdf: New file.
56068         * modules/unictype/property-bidi-embedding-or-override: New file.
56069         * modules/unictype/property-bidi-other-neutral: New file.
56070         * modules/unictype/property-hex-digit: New file.
56071         * modules/unictype/property-ascii-hex-digit: New file.
56072         * modules/unictype/property-ideographic: New file.
56073         * modules/unictype/property-unified-ideograph: New file.
56074         * modules/unictype/property-radical: New file.
56075         * modules/unictype/property-ids-binary-operator: New file.
56076         * modules/unictype/property-ids-trinary-operator: New file.
56077         * modules/unictype/property-zero-width: New file.
56078         * modules/unictype/property-space: New file.
56079         * modules/unictype/property-non-break: New file.
56080         * modules/unictype/property-iso-control: New file.
56081         * modules/unictype/property-format-control: New file.
56082         * modules/unictype/property-dash: New file.
56083         * modules/unictype/property-hyphen: New file.
56084         * modules/unictype/property-punctuation: New file.
56085         * modules/unictype/property-line-separator: New file.
56086         * modules/unictype/property-paragraph-separator: New file.
56087         * modules/unictype/property-quotation-mark: New file.
56088         * modules/unictype/property-sentence-terminal: New file.
56089         * modules/unictype/property-terminal-punctuation: New file.
56090         * modules/unictype/property-currency-symbol: New file.
56091         * modules/unictype/property-math: New file.
56092         * modules/unictype/property-other-math: New file.
56093         * modules/unictype/property-paired-punctuation: New file.
56094         * modules/unictype/property-left-of-pair: New file.
56095         * modules/unictype/property-combining: New file.
56096         * modules/unictype/property-composite: New file.
56097         * modules/unictype/property-decimal-digit: New file.
56098         * modules/unictype/property-numeric: New file.
56099         * modules/unictype/property-diacritic: New file.
56100         * modules/unictype/property-extender: New file.
56101         * modules/unictype/property-ignorable-control: New file.
56102         * modules/unictype/property-test: New file.
56103         * modules/unictype/property-byname: New file.
56104         * modules/unictype/property-all: New file.
56105         * modules/unictype/scripts: New file.
56106         * modules/unictype/scripts-all: New file.
56107         * modules/unictype/block-of: New file.
56108         * modules/unictype/block-test: New file.
56109         * modules/unictype/block-list: New file.
56110         * modules/unictype/block-all: New file.
56111         * modules/unictype/syntax-c-whitespace: New file.
56112         * modules/unictype/syntax-java-whitespace: New file.
56113         * modules/unictype/syntax-c-ident: New file.
56114         * modules/unictype/syntax-java-ident: New file.
56115         * modules/unictype/ctype-alnum: New file.
56116         * modules/unictype/ctype-alpha: New file.
56117         * modules/unictype/ctype-cntrl: New file.
56118         * modules/unictype/ctype-digit: New file.
56119         * modules/unictype/ctype-graph: New file.
56120         * modules/unictype/ctype-lower: New file.
56121         * modules/unictype/ctype-print: New file.
56122         * modules/unictype/ctype-punct: New file.
56123         * modules/unictype/ctype-space: New file.
56124         * modules/unictype/ctype-upper: New file.
56125         * modules/unictype/ctype-xdigit: New file.
56126         * modules/unictype/ctype-blank: New file.
56127         * lib/unictype/bidi_byname.c: New file.
56128         * lib/unictype/bidi_name.c: New file.
56129         * lib/unictype/bidi_of.c: New file.
56130         * lib/unictype/bidi_test.c: New file.
56131         * lib/unictype/bitmap.h: New file.
56132         * lib/unictype/block_test.c: New file.
56133         * lib/unictype/blocks.c: New file.
56134         * lib/unictype/categ_C.c: New file.
56135         * lib/unictype/categ_Cc.c: New file.
56136         * lib/unictype/categ_Cf.c: New file.
56137         * lib/unictype/categ_Cn.c: New file.
56138         * lib/unictype/categ_Co.c: New file.
56139         * lib/unictype/categ_Cs.c: New file.
56140         * lib/unictype/categ_L.c: New file.
56141         * lib/unictype/categ_Ll.c: New file.
56142         * lib/unictype/categ_Lm.c: New file.
56143         * lib/unictype/categ_Lo.c: New file.
56144         * lib/unictype/categ_Lt.c: New file.
56145         * lib/unictype/categ_Lu.c: New file.
56146         * lib/unictype/categ_M.c: New file.
56147         * lib/unictype/categ_Mc.c: New file.
56148         * lib/unictype/categ_Me.c: New file.
56149         * lib/unictype/categ_Mn.c: New file.
56150         * lib/unictype/categ_N.c: New file.
56151         * lib/unictype/categ_Nd.c: New file.
56152         * lib/unictype/categ_Nl.c: New file.
56153         * lib/unictype/categ_No.c: New file.
56154         * lib/unictype/categ_P.c: New file.
56155         * lib/unictype/categ_Pc.c: New file.
56156         * lib/unictype/categ_Pd.c: New file.
56157         * lib/unictype/categ_Pe.c: New file.
56158         * lib/unictype/categ_Pf.c: New file.
56159         * lib/unictype/categ_Pi.c: New file.
56160         * lib/unictype/categ_Po.c: New file.
56161         * lib/unictype/categ_Ps.c: New file.
56162         * lib/unictype/categ_S.c: New file.
56163         * lib/unictype/categ_Sc.c: New file.
56164         * lib/unictype/categ_Sk.c: New file.
56165         * lib/unictype/categ_Sm.c: New file.
56166         * lib/unictype/categ_So.c: New file.
56167         * lib/unictype/categ_Z.c: New file.
56168         * lib/unictype/categ_Zl.c: New file.
56169         * lib/unictype/categ_Zp.c: New file.
56170         * lib/unictype/categ_Zs.c: New file.
56171         * lib/unictype/categ_and.c: New file.
56172         * lib/unictype/categ_and_not.c: New file.
56173         * lib/unictype/categ_byname.c: New file.
56174         * lib/unictype/categ_name.c: New file.
56175         * lib/unictype/categ_none.c: New file.
56176         * lib/unictype/categ_of.c: New file.
56177         * lib/unictype/categ_or.c: New file.
56178         * lib/unictype/categ_test.c: New file.
56179         * lib/unictype/combining.c: New file.
56180         * lib/unictype/ctype_alnum.c: New file.
56181         * lib/unictype/ctype_alpha.c: New file.
56182         * lib/unictype/ctype_blank.c: New file.
56183         * lib/unictype/ctype_cntrl.c: New file.
56184         * lib/unictype/ctype_digit.c: New file.
56185         * lib/unictype/ctype_graph.c: New file.
56186         * lib/unictype/ctype_lower.c: New file.
56187         * lib/unictype/ctype_print.c: New file.
56188         * lib/unictype/ctype_punct.c: New file.
56189         * lib/unictype/ctype_space.c: New file.
56190         * lib/unictype/ctype_upper.c: New file.
56191         * lib/unictype/ctype_xdigit.c: New file.
56192         * lib/unictype/decdigit.c: New file.
56193         * lib/unictype/digit.c: New file.
56194         * lib/unictype/identsyntaxmap.h: New file.
56195         * lib/unictype/mirror.c: New file.
56196         * lib/unictype/numeric.c: New file.
56197         * lib/unictype/pr_alphabetic.c: New file.
56198         * lib/unictype/pr_ascii_hex_digit.c: New file.
56199         * lib/unictype/pr_bidi_arabic_digit.c: New file.
56200         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
56201         * lib/unictype/pr_bidi_block_separator.c: New file.
56202         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
56203         * lib/unictype/pr_bidi_common_separator.c: New file.
56204         * lib/unictype/pr_bidi_control.c: New file.
56205         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
56206         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
56207         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
56208         * lib/unictype/pr_bidi_european_digit.c: New file.
56209         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
56210         * lib/unictype/pr_bidi_left_to_right.c: New file.
56211         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
56212         * lib/unictype/pr_bidi_other_neutral.c: New file.
56213         * lib/unictype/pr_bidi_pdf.c: New file.
56214         * lib/unictype/pr_bidi_segment_separator.c: New file.
56215         * lib/unictype/pr_bidi_whitespace.c: New file.
56216         * lib/unictype/pr_byname.c: New file.
56217         * lib/unictype/pr_byname.gperf: New file.
56218         * lib/unictype/pr_combining.c: New file.
56219         * lib/unictype/pr_composite.c: New file.
56220         * lib/unictype/pr_currency_symbol.c: New file.
56221         * lib/unictype/pr_dash.c: New file.
56222         * lib/unictype/pr_decimal_digit.c: New file.
56223         * lib/unictype/pr_default_ignorable_code_point.c: New file.
56224         * lib/unictype/pr_deprecated.c: New file.
56225         * lib/unictype/pr_diacritic.c: New file.
56226         * lib/unictype/pr_extender.c: New file.
56227         * lib/unictype/pr_format_control.c: New file.
56228         * lib/unictype/pr_grapheme_base.c: New file.
56229         * lib/unictype/pr_grapheme_extend.c: New file.
56230         * lib/unictype/pr_grapheme_link.c: New file.
56231         * lib/unictype/pr_hex_digit.c: New file.
56232         * lib/unictype/pr_hyphen.c: New file.
56233         * lib/unictype/pr_id_continue.c: New file.
56234         * lib/unictype/pr_id_start.c: New file.
56235         * lib/unictype/pr_ideographic.c: New file.
56236         * lib/unictype/pr_ids_binary_operator.c: New file.
56237         * lib/unictype/pr_ids_trinary_operator.c: New file.
56238         * lib/unictype/pr_ignorable_control.c: New file.
56239         * lib/unictype/pr_iso_control.c: New file.
56240         * lib/unictype/pr_join_control.c: New file.
56241         * lib/unictype/pr_left_of_pair.c: New file.
56242         * lib/unictype/pr_line_separator.c: New file.
56243         * lib/unictype/pr_logical_order_exception.c: New file.
56244         * lib/unictype/pr_lowercase.c: New file.
56245         * lib/unictype/pr_math.c: New file.
56246         * lib/unictype/pr_non_break.c: New file.
56247         * lib/unictype/pr_not_a_character.c: New file.
56248         * lib/unictype/pr_numeric.c: New file.
56249         * lib/unictype/pr_other_alphabetic.c: New file.
56250         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
56251         * lib/unictype/pr_other_grapheme_extend.c: New file.
56252         * lib/unictype/pr_other_id_continue.c: New file.
56253         * lib/unictype/pr_other_id_start.c: New file.
56254         * lib/unictype/pr_other_lowercase.c: New file.
56255         * lib/unictype/pr_other_math.c: New file.
56256         * lib/unictype/pr_other_uppercase.c: New file.
56257         * lib/unictype/pr_paired_punctuation.c: New file.
56258         * lib/unictype/pr_paragraph_separator.c: New file.
56259         * lib/unictype/pr_pattern_syntax.c: New file.
56260         * lib/unictype/pr_pattern_white_space.c: New file.
56261         * lib/unictype/pr_private_use.c: New file.
56262         * lib/unictype/pr_punctuation.c: New file.
56263         * lib/unictype/pr_quotation_mark.c: New file.
56264         * lib/unictype/pr_radical.c: New file.
56265         * lib/unictype/pr_sentence_terminal.c: New file.
56266         * lib/unictype/pr_soft_dotted.c: New file.
56267         * lib/unictype/pr_space.c: New file.
56268         * lib/unictype/pr_terminal_punctuation.c: New file.
56269         * lib/unictype/pr_test.c: New file.
56270         * lib/unictype/pr_titlecase.c: New file.
56271         * lib/unictype/pr_unassigned_code_value.c: New file.
56272         * lib/unictype/pr_unified_ideograph.c: New file.
56273         * lib/unictype/pr_uppercase.c: New file.
56274         * lib/unictype/pr_variation_selector.c: New file.
56275         * lib/unictype/pr_white_space.c: New file.
56276         * lib/unictype/pr_xid_continue.c: New file.
56277         * lib/unictype/pr_xid_start.c: New file.
56278         * lib/unictype/pr_zero_width.c: New file.
56279         * lib/unictype/scripts.c: New file.
56280         * lib/unictype/sy_c_ident.c: New file.
56281         * lib/unictype/sy_c_whitespace.c: New file.
56282         * lib/unictype/sy_java_ident.c: New file.
56283         * lib/unictype/sy_java_whitespace.c: New file.
56284
56285         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
56286         Unicode 5.0.0.
56287         * lib/unictype/blocks.h: Likewise.
56288         * lib/unictype/categ_C.h: Likewise.
56289         * lib/unictype/categ_Cc.h: Likewise.
56290         * lib/unictype/categ_Cf.h: Likewise.
56291         * lib/unictype/categ_Cn.h: Likewise.
56292         * lib/unictype/categ_Co.h: Likewise.
56293         * lib/unictype/categ_Cs.h: Likewise.
56294         * lib/unictype/categ_L.h: Likewise.
56295         * lib/unictype/categ_Ll.h: Likewise.
56296         * lib/unictype/categ_Lm.h: Likewise.
56297         * lib/unictype/categ_Lo.h: Likewise.
56298         * lib/unictype/categ_Lt.h: Likewise.
56299         * lib/unictype/categ_Lu.h: Likewise.
56300         * lib/unictype/categ_M.h: Likewise.
56301         * lib/unictype/categ_Mc.h: Likewise.
56302         * lib/unictype/categ_Me.h: Likewise.
56303         * lib/unictype/categ_Mn.h: Likewise.
56304         * lib/unictype/categ_N.h: Likewise.
56305         * lib/unictype/categ_Nd.h: Likewise.
56306         * lib/unictype/categ_Nl.h: Likewise.
56307         * lib/unictype/categ_No.h: Likewise.
56308         * lib/unictype/categ_P.h: Likewise.
56309         * lib/unictype/categ_Pc.h: Likewise.
56310         * lib/unictype/categ_Pd.h: Likewise.
56311         * lib/unictype/categ_Pe.h: Likewise.
56312         * lib/unictype/categ_Pf.h: Likewise.
56313         * lib/unictype/categ_Pi.h: Likewise.
56314         * lib/unictype/categ_Po.h: Likewise.
56315         * lib/unictype/categ_Ps.h: Likewise.
56316         * lib/unictype/categ_S.h: Likewise.
56317         * lib/unictype/categ_Sc.h: Likewise.
56318         * lib/unictype/categ_Sk.h: Likewise.
56319         * lib/unictype/categ_Sm.h: Likewise.
56320         * lib/unictype/categ_So.h: Likewise.
56321         * lib/unictype/categ_Z.h: Likewise.
56322         * lib/unictype/categ_Zl.h: Likewise.
56323         * lib/unictype/categ_Zp.h: Likewise.
56324         * lib/unictype/categ_Zs.h: Likewise.
56325         * lib/unictype/categ_of.h: Likewise.
56326         * lib/unictype/combining.h: Likewise.
56327         * lib/unictype/ctype_alnum.h: Likewise.
56328         * lib/unictype/ctype_alpha.h: Likewise.
56329         * lib/unictype/ctype_blank.h: Likewise.
56330         * lib/unictype/ctype_cntrl.h: Likewise.
56331         * lib/unictype/ctype_digit.h: Likewise.
56332         * lib/unictype/ctype_graph.h: Likewise.
56333         * lib/unictype/ctype_lower.h: Likewise.
56334         * lib/unictype/ctype_print.h: Likewise.
56335         * lib/unictype/ctype_punct.h: Likewise.
56336         * lib/unictype/ctype_space.h: Likewise.
56337         * lib/unictype/ctype_upper.h: Likewise.
56338         * lib/unictype/ctype_xdigit.h: Likewise.
56339         * lib/unictype/decdigit.h: Likewise.
56340         * lib/unictype/digit.h: Likewise.
56341         * lib/unictype/mirror.h: Likewise.
56342         * lib/unictype/numeric.h: Likewise.
56343         * lib/unictype/pr_alphabetic.h: Likewise.
56344         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
56345         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
56346         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
56347         * lib/unictype/pr_bidi_block_separator.h: Likewise.
56348         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
56349         * lib/unictype/pr_bidi_common_separator.h: Likewise.
56350         * lib/unictype/pr_bidi_control.h: Likewise.
56351         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
56352         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
56353         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
56354         * lib/unictype/pr_bidi_european_digit.h: Likewise.
56355         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
56356         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
56357         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
56358         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
56359         * lib/unictype/pr_bidi_pdf.h: Likewise.
56360         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
56361         * lib/unictype/pr_bidi_whitespace.h: Likewise.
56362         * lib/unictype/pr_combining.h: Likewise.
56363         * lib/unictype/pr_composite.h: Likewise.
56364         * lib/unictype/pr_currency_symbol.h: Likewise.
56365         * lib/unictype/pr_dash.h: Likewise.
56366         * lib/unictype/pr_decimal_digit.h: Likewise.
56367         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
56368         * lib/unictype/pr_deprecated.h: Likewise.
56369         * lib/unictype/pr_diacritic.h: Likewise.
56370         * lib/unictype/pr_extender.h: Likewise.
56371         * lib/unictype/pr_format_control.h: Likewise.
56372         * lib/unictype/pr_grapheme_base.h: Likewise.
56373         * lib/unictype/pr_grapheme_extend.h: Likewise.
56374         * lib/unictype/pr_grapheme_link.h: Likewise.
56375         * lib/unictype/pr_hex_digit.h: Likewise.
56376         * lib/unictype/pr_hyphen.h: Likewise.
56377         * lib/unictype/pr_id_continue.h: Likewise.
56378         * lib/unictype/pr_id_start.h: Likewise.
56379         * lib/unictype/pr_ideographic.h: Likewise.
56380         * lib/unictype/pr_ids_binary_operator.h: Likewise.
56381         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
56382         * lib/unictype/pr_ignorable_control.h: Likewise.
56383         * lib/unictype/pr_iso_control.h: Likewise.
56384         * lib/unictype/pr_join_control.h: Likewise.
56385         * lib/unictype/pr_left_of_pair.h: Likewise.
56386         * lib/unictype/pr_line_separator.h: Likewise.
56387         * lib/unictype/pr_logical_order_exception.h: Likewise.
56388         * lib/unictype/pr_lowercase.h: Likewise.
56389         * lib/unictype/pr_math.h: Likewise.
56390         * lib/unictype/pr_non_break.h: Likewise.
56391         * lib/unictype/pr_not_a_character.h: Likewise.
56392         * lib/unictype/pr_numeric.h: Likewise.
56393         * lib/unictype/pr_other_alphabetic.h: Likewise.
56394         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
56395         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
56396         * lib/unictype/pr_other_id_continue.h: Likewise.
56397         * lib/unictype/pr_other_id_start.h: Likewise.
56398         * lib/unictype/pr_other_lowercase.h: Likewise.
56399         * lib/unictype/pr_other_math.h: Likewise.
56400         * lib/unictype/pr_other_uppercase.h: Likewise.
56401         * lib/unictype/pr_paired_punctuation.h: Likewise.
56402         * lib/unictype/pr_paragraph_separator.h: Likewise.
56403         * lib/unictype/pr_pattern_syntax.h: Likewise.
56404         * lib/unictype/pr_pattern_white_space.h: Likewise.
56405         * lib/unictype/pr_private_use.h: Likewise.
56406         * lib/unictype/pr_punctuation.h: Likewise.
56407         * lib/unictype/pr_quotation_mark.h: Likewise.
56408         * lib/unictype/pr_radical.h: Likewise.
56409         * lib/unictype/pr_sentence_terminal.h: Likewise.
56410         * lib/unictype/pr_soft_dotted.h: Likewise.
56411         * lib/unictype/pr_space.h: Likewise.
56412         * lib/unictype/pr_terminal_punctuation.h: Likewise.
56413         * lib/unictype/pr_titlecase.h: Likewise.
56414         * lib/unictype/pr_unassigned_code_value.h: Likewise.
56415         * lib/unictype/pr_unified_ideograph.h: Likewise.
56416         * lib/unictype/pr_uppercase.h: Likewise.
56417         * lib/unictype/pr_variation_selector.h: Likewise.
56418         * lib/unictype/pr_white_space.h: Likewise.
56419         * lib/unictype/pr_xid_continue.h: Likewise.
56420         * lib/unictype/pr_xid_start.h: Likewise.
56421         * lib/unictype/pr_zero_width.h: Likewise.
56422         * lib/unictype/scripts.h: Likewise.
56423         * lib/unictype/scripts_byname.gperf: Likewise.
56424         * lib/unictype/sy_c_ident.h: Likewise.
56425         * lib/unictype/sy_c_whitespace.h: Likewise.
56426         * lib/unictype/sy_java_ident.h: Likewise.
56427         * lib/unictype/sy_java_whitespace.h: Likewise.
56428
56429         * lib/unictype/Makefile: New file.
56430         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
56431         glibc.
56432         * lib/unictype/3level.h: New file, copied from glibc.
56433         * lib/unictype/3levelbit.h: New file.
56434
56435 2007-11-11  Bruno Haible  <bruno@clisp.org>
56436
56437         * modules/gperf: New file.
56438         * modules/iconv_open (Depends-on): Add it.
56439         (Makefile.am): Remove the GPERF definition.
56440
56441 2007-11-11  Bruno Haible  <bruno@clisp.org>
56442
56443         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
56444         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
56445
56446 2007-11-11  Bruno Haible  <bruno@clisp.org>
56447
56448         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
56449         (usage): Remove function.
56450
56451 2007-11-11  Bruno Haible  <bruno@clisp.org>
56452
56453         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
56454         gl_FUNC_CEILF_LIBS.
56455         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
56456         gl_FUNC_CEIL_LIBS.
56457         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
56458         gl_FUNC_CEILL_LIBS.
56459         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
56460         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
56461         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
56462
56463 2007-11-11  Bruno Haible  <bruno@clisp.org>
56464
56465         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
56466         roundf were declared but do not exist on functions.
56467         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
56468         roundl were declared but do not exist on functions.
56469         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
56470         HAVE_FLOORL_AND_CEILL, respectively.
56471         Needed for Sun C on Solaris 10.
56472
56473 2007-11-11  Bruno Haible  <bruno@clisp.org>
56474
56475         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
56476         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
56477         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
56478         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
56479         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
56480         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
56481         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
56482         HAVE_DECL_ROUNDF.
56483         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
56484         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
56485         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
56486         of HAVE_DECL_ROUND*.
56487         * modules/math (Makefile.am): Update.
56488
56489 2007-11-10  Bruno Haible  <bruno@clisp.org>
56490
56491         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
56492         ptrdiff_t as m4/intl.m4.
56493
56494 2007-11-10  Jim Meyering  <meyering@redhat.com>
56495
56496         Avoid link failure for the argmatch test.
56497         * tests/test-argmatch.c (usage): Define function to avoid a link
56498         failure: argmatch_die requires a usage function.
56499
56500 2007-11-09  Bruno Haible  <bruno@clisp.org>
56501
56502         * doc/functions/snprintf.texi: Mention BeOS deficiency.
56503         * doc/functions/vsnprintf.texi: Likewise.
56504         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
56505         with a size argument < 2.
56506
56507 2007-11-09  Bruno Haible  <bruno@clisp.org>
56508
56509         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
56510         buffer. Fixes an inefficiency introduced on 2007-11-03.
56511
56512 2007-11-09  Bruno Haible  <bruno@clisp.org>
56513
56514         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
56515         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
56516
56517 2007-11-08  Jim Meyering  <meyering@redhat.com>
56518
56519         Change cache variable name prefix "jm_" to "gl_" everywhere.
56520         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
56521         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
56522         * m4/uptime.m4: s/gl_/jm_/
56523
56524 2007-11-07  Bruno Haible  <bruno@clisp.org>
56525
56526         Update to GNU gettext 0.17.
56527         * m4/intl.m4: Update to GNU gettext 0.17.
56528         * m4/po.m4: Likewise.
56529         * modules/gettext (Files): Remove m4/ulonglong.m4.
56530         (configure.ac): Require gettext infrastructure from version 0.17.
56531
56532 2007-11-06  Bruno Haible  <bruno@clisp.org>
56533
56534         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
56535         symbolic values are not defined in a public header.
56536         * lib/freadable.c (freadable) [QNX]: Likewise.
56537         * lib/freadahead.c (freadahead) [QNX]: Likewise.
56538         * lib/freading.c (freading) [QNX]: Likewise.
56539         * lib/fseterr.c (fseterr) [QNX]: Likewise.
56540         * lib/fwritable.c (fwritable) [QNX]: Likewise.
56541         * lib/fwriting.c (fwriting) [QNX]: Likewise.
56542         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
56543         Reported by Alain Magloire.
56544
56545         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
56546
56547 2007-11-05  Bruno Haible  <bruno@clisp.org>
56548
56549         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
56550         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
56551         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
56552         Reported by Eric Blake.
56553
56554 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56555             Bruno Haible  <bruno@clisp.org>
56556
56557         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
56558         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
56559         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
56560         (malloc): Undefine also before including <stdlib.h>.
56561         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
56562         Needed on OSF/1 4.0.
56563
56564 2007-11-05  Jim Meyering  <meyering@redhat.com>
56565
56566         git-version-gen: sync from coreutils.
56567         * build-aux/git-version-gen: Add comments.
56568         Change the first '-' to '.' in the snapshot version string,
56569         e.g., 6.9-377-08144 -> 6.9.377-08144
56570         Remove first parameter.
56571         Don't declare a version "-dirty" merely because a time
56572         stamp has changed.
56573
56574 2007-11-04  Bruno Haible  <bruno@clisp.org>
56575
56576         * lib/lock.h: Protect all macro definitions containing an 'if'
56577         statement through a "do { ... } while (0)".
56578         * lib/tls.h: Likewise.
56579
56580 2007-11-04  Bruno Haible  <bruno@clisp.org>
56581
56582         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
56583
56584 2007-11-04  Bruno Haible  <bruno@clisp.org>
56585
56586         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
56587         * modules/fprintf-posix (Depends-on): Add nocrash.
56588         * modules/snprintf-posix (Depends-on): Likewise.
56589         * modules/sprintf-posix (Depends-on): Likewise.
56590         * modules/vasnprintf-posix (Depends-on): Likewise.
56591         * modules/vasprintf-posix (Depends-on): Likewise.
56592         * modules/vfprintf-posix (Depends-on): Likewise.
56593         * modules/vsnprintf-posix (Depends-on): Likewise.
56594         * modules/vsprintf-posix (Depends-on): Likewise.
56595         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56596         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56597         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56598         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56599         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56600         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56601         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56602
56603 2007-11-04  Bruno Haible  <bruno@clisp.org>
56604
56605         * modules/nocrash: New file.
56606         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
56607         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
56608
56609 2007-11-04  Bruno Haible  <bruno@clisp.org>
56610
56611         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
56612         precision handling.
56613         * tests/test-vasprintf-posix.c (test_function): Likewise.
56614         * tests/test-snprintf-posix.h (test_function): Likewise.
56615         * tests/test-sprintf-posix.h (test_function): Likewise.
56616
56617         Fix *printf behaviour for large precisions on mingw and BeOS.
56618         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
56619         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
56620         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
56621         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
56622         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56623         gl_PRINTF_PRECISION and test its result. Invoke
56624         gl_PREREQ_VASNPRINTF_PRECISION.
56625         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56626         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56627         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56628         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56629         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56630         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56631         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56632         * doc/functions/fprintf.texi: Update.
56633         * doc/functions/printf.texi: Update.
56634         * doc/functions/snprintf.texi: Update.
56635         * doc/functions/sprintf.texi: Update.
56636         * doc/functions/vfprintf.texi: Update.
56637         * doc/functions/vprintf.texi: Update.
56638         * doc/functions/vsnprintf.texi: Update.
56639         * doc/functions/vsprintf.texi: Update.
56640
56641 2007-11-04  Bruno Haible  <bruno@clisp.org>
56642
56643         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
56644
56645 2007-11-04  Bruno Haible  <bruno@clisp.org>
56646
56647         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
56648         Reported by Sylvain Beucler <beuc@gnu.org>.
56649
56650 2007-11-03  Bruno Haible  <bruno@clisp.org>
56651
56652         * tests/test-fprintf-posix2.sh: New file.
56653         * tests/test-fprintf-posix2.c: New file.
56654         * modules/fprintf-posix-tests (Files): Add them.
56655         (TESTS): Add test-fprintf-posix2.sh.
56656         (configure.ac): Check for getrlimit and setrlimit.
56657         (check_PROGRAMS): Add test-fprintf-posix2.
56658
56659         * tests/test-printf-posix2.sh: New file.
56660         * tests/test-printf-posix2.c: New file.
56661         * modules/printf-posix-tests (Files): Add them.
56662         (TESTS): Add test-printf-posix2.sh.
56663         (configure.ac): Check for getrlimit and setrlimit.
56664         (check_PROGRAMS): Add test-printf-posix2.
56665
56666         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
56667         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
56668         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
56669         (decode_double): New function, copied from decode_long_double.
56670         (scale10_round_decimal_decoded): New function, extracted from
56671         scale10_round_decimal_long_double.
56672         (scale10_round_decimal_long_double): Use it.
56673         (scale10_round_decimal_double): New function.
56674         (floorlog10): New function.
56675         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
56676         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
56677         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
56678         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56679         gl_PRINTF_ENOMEM and test its result. Invoke
56680         gl_PREREQ_VASNPRINTF_ENOMEM.
56681         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56682         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56683         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56684         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56685         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56686         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56687         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56688         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
56689         * modules/snprintf-posix (Depends-on): Likewise.
56690         * modules/sprintf-posix (Depends-on): Likewise.
56691         * modules/vasnprintf-posix (Depends-on): Likewise.
56692         * modules/vasprintf-posix (Depends-on): Likewise.
56693         * modules/vfprintf-posix (Depends-on): Likewise.
56694         * modules/vsnprintf-posix (Depends-on): Likewise.
56695         * modules/vsprintf-posix (Depends-on): Likewise.
56696         * doc/functions/fprintf.texi: Update.
56697         * doc/functions/printf.texi: Update.
56698         * doc/functions/snprintf.texi: Update.
56699         * doc/functions/sprintf.texi: Update.
56700         * doc/functions/vfprintf.texi: Update.
56701         * doc/functions/vprintf.texi: Update.
56702         * doc/functions/vsnprintf.texi: Update.
56703         * doc/functions/vsprintf.texi: Update.
56704
56705 2007-11-03  Bruno Haible  <bruno@clisp.org>
56706
56707         * modules/frexp-nolibm-tests: New file.
56708
56709         * modules/frexp-nolibm: New file.
56710         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
56711
56712 2007-11-03  Bruno Haible  <bruno@clisp.org>
56713
56714         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
56715         value is C99 compliant.
56716         Needed for OSF/1 5.1.
56717
56718 2007-11-03  Bruno Haible  <bruno@clisp.org>
56719
56720         Fix out-of-memory handling of vasnprintf.
56721         * lib/printf-parse.c: Include <errno.h>.
56722         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
56723         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
56724         is already set.
56725
56726 2007-11-02  Eric Blake  <ebb9@byu.net>
56727
56728         Fix tests on cygwin.
56729         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
56730
56731 2007-11-01  Bruno Haible  <bruno@clisp.org>
56732
56733         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
56734         warning.
56735         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
56736         needed for POSIX compatibility.
56737
56738 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
56739
56740         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
56741         for compatibility with GNU.
56742
56743 2007-11-01  Bruno Haible  <bruno@clisp.org>
56744
56745         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
56746         (putenv): Renamed from rpl_putenv. Change argument type from
56747         'const char *' to 'char *'.
56748         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
56749         of defining putenv in config.h, just set REPLACE_PUTENV.
56750         * modules/putenv (Depends-on): Add stdlib.
56751         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
56752         (Include): Use <stdlib.h>.
56753         * lib/stdlib.in.h (putenv): New declaration.
56754         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
56755         REPLACE_PUTENV.
56756         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
56757         REPLACE_PUTENV.
56758         Needed for MacOS X 10.5.0.
56759         Reported by Peter O'Gorman <peter@pogma.com>.
56760
56761 2007-11-01  Jim Meyering  <meyering@redhat.com>
56762
56763         Treat an empty date string exactly like "0".
56764         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
56765         if the remaining date string (to be parsed) is empty, use "0".
56766         Reported by Mischa Molhoek and discussed in this thread:
56767         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
56768
56769 2007-10-31  Bruno Haible  <bruno@clisp.org>
56770
56771         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
56772         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
56773         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
56774         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
56775         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
56776         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
56777
56778 2007-10-31  Bruno Haible  <bruno@clisp.org>
56779
56780         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
56781         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
56782         (AC_TYPE_LONG_LONG_INT): Use it.
56783         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
56784         it as well.
56785         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
56786         to m4/longlong.m4.
56787         * modules/stdint (Files): Remove m4/ulonglong.m4.
56788         * modules/strtoull (Files): Use m4/longlong.m4 instead of
56789         m4/ulonglong.m4.
56790         * modules/strtoumax (Files): Likewise.
56791
56792 2007-10-30  Bruno Haible  <bruno@clisp.org>
56793
56794         * modules/xvasprintf-posix: New file.
56795         Suggested by Eric Blake.
56796
56797 2007-10-30  Bruno Haible  <bruno@clisp.org>
56798
56799         * modules/xprintf-posix-tests: New file.
56800         * tests/test-xprintf-posix.sh: New file.
56801         * tests/test-xprintf-posix.c: New file.
56802         * tests/test-xfprintf-posix.c: New file.
56803
56804         * modules/xprintf-posix: New file.
56805
56806 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56807
56808         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
56809         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
56810         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
56811
56812 2007-10-29  Bruno Haible  <bruno@clisp.org>
56813
56814         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
56815         contain the special marker '_cv_'.
56816         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
56817         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
56818         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
56819         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
56820         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
56821         Reported by Ralf Wildenhues.
56822
56823 2007-10-29  Bruno Haible  <bruno@clisp.org>
56824
56825         * gnulib-tool (func_import): When --lgpl is not specified, set
56826         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
56827         GPLv3.
56828         Reported by Simon Josefsson.
56829
56830 2007-10-28  Bruno Haible  <bruno@clisp.org>
56831
56832         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
56833         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
56834         HAVE_DECL_ISFINITE.
56835         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
56836         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
56837         HAVE_DECL_ISFINITE.
56838
56839 2007-10-28  Bruno Haible  <bruno@clisp.org>
56840
56841         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
56842         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
56843
56844 2007-10-28  Bruno Haible  <bruno@clisp.org>
56845
56846         Fix link errors with Sun C 5.0 on Solaris 10.
56847         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
56848         function is declared but not present in the compiler's libm.
56849         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
56850         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
56851         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
56852         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
56853         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
56854         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
56855         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
56856         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
56857         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
56858         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
56859         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
56860         HAVE_DECL_FLOORL.
56861
56862 2007-10-28  Bruno Haible  <bruno@clisp.org>
56863
56864         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
56865         gl_FUNC_FLOORL. Cache the result.
56866         (gl_FUNC_FLOORL): Use it.
56867         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
56868         gl_FUNC_CEILL. Cache the result.
56869         (gl_FUNC_CEILL): Use it.
56870
56871         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
56872         gl_FUNC_FLOOR. Cache the result.
56873         (gl_FUNC_FLOOR): Use it.
56874         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
56875         gl_FUNC_CEIL. Cache the result.
56876         (gl_FUNC_CEIL): Use it.
56877
56878         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
56879         gl_FUNC_FLOORF. Cache the result.
56880         (gl_FUNC_FLOORF): Use it.
56881         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
56882         gl_FUNC_CEILF. Cache the result.
56883         (gl_FUNC_CEILF): Use it.
56884
56885 2007-10-28  Bruno Haible  <bruno@clisp.org>
56886
56887         * gnulib-tool: Allow specifying the LGPL version number through
56888         --lgpl=2 or --lgpl=3.
56889         (func_usage): Document --lgpl with argument.
56890         Handle --lgpl=... arguments.
56891         (func_import): Recognize also gl_LGPL calls with an argument. When
56892         --lgpl=2 is used and the module's license is just LGPL, report an
56893         error. Set sed_transform_lib_file according to the lgpl variable. In
56894         the generated files, use --lgpl or gl_LGPL invocations with argument,
56895         if necessary.
56896         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
56897         an LGPv2+ license.
56898         * doc/gnulib-tool.texi (Modified imports): Update explanation of
56899         gl_LGPL macro.
56900
56901 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56902             Bruno Haible  <bruno@clisp.org>
56903
56904         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
56905         (u16_uctomb_aux): Likewise.
56906         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
56907         !HAVE_INLINE.
56908         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
56909
56910 2007-10-28  Bruno Haible  <bruno@clisp.org>
56911
56912         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
56913         Invoke AM_GETTEXT_OPTION if it exists.
56914         * modules/vasprintf: Likewise.
56915         * modules/verror: Likewise.
56916         * modules/xprintf: Likewise.
56917         * modules/xvasprintf: Likewise.
56918
56919 2007-10-27  Ben Pfaff  <blp@gnu.org>
56920
56921         * lib/math.in.h: Define isfinite macro and prototypes for
56922         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
56923         implementations.
56924         * m4/math_h.m4: New substitutions for isfinite module.
56925         * lib/isfinite.c: New file.
56926         * m4/isfinite.m4: New file.
56927         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
56928         * modules/isfinite: New file.
56929         * modules/isfinite-tests: New file.
56930         * tests/tests-isfinite.c: New file.
56931         * doc/functions/isfinite.texi: Mention isfinite module.
56932         * MODULES.html.sh: Mention new module.
56933
56934 2007-10-27  Ben Pfaff  <blp@gnu.org>
56935
56936         Ralf Wildenhues reported that Tru64 4.0D declares the round
56937         functions but does not have definitions.
56938         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
56939         cannot be found in any library, set the output variable to
56940         "missing" instead of "".
56941         * m4/round.m4: Also use our substitute if we cannot find round in
56942         any library, even if it is declared.
56943         * m4/roundf.m4: Likewise for roundf.
56944         * m4/roundl.m4: Likewise for roundl.
56945         * lib/math.in.h: Undefine roundf, round, roundl before defining
56946         their replacements, to allow for hypothetical systems where these
56947         may be defined as macros but not available in libraries.
56948
56949 2007-10-27  Bruno Haible  <bruno@clisp.org>
56950
56951         * doc/gnulib.texi: Invoke @firstparagraphindent.
56952         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
56953         changes in gnulib.
56954         (Source changes): New section.
56955
56956 2007-10-26  Bruno Haible  <bruno@clisp.org>
56957
56958         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
56959         borrowed from autoconf.
56960
56961 2007-10-26  Bruno Haible  <bruno@clisp.org>
56962
56963         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
56964         strerror returned the empty string. Needed on HP-UX 11.00.
56965
56966 2007-10-24  Micah Cowan  <micah@cowan.name>
56967
56968         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
56969         * build-aux/bootstrap: Remove support for now-unnecessary option,
56970         --cvs-user, and envvars CVS_USER, CVS_RSH.
56971
56972 2007-10-24  Jim Meyering  <meyering@redhat.com>
56973
56974         Avoid diagnostics from sha1sum when there is no cached checksum.
56975         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
56976         if the po.s1 file hasn't been created yet.
56977
56978         * build-aux/bootstrap: Sync from coreutils:
56979         2007-10-24  Jim Meyering  <meyering@redhat.com>
56980         Get gnulib from the git repository, not from an obsolete cvs one.
56981         * build-aux/bootstrap: Suggestion from Micah Cowan.
56982         2007-10-04  Jim Meyering  <jim@meyering.net>
56983         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
56984         (update_po_files): Work also when there are no .po files in po/.
56985
56986 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
56987
56988         * README: Append ".git" to git and cg examples.
56989         Problem reported by Benoit Sigoure.
56990
56991 2007-10-23  Micah Cowan  <micah@cowan.name>
56992
56993         * users.txt: Add wget.
56994
56995 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56996
56997         Fix linking of some unistdio tests on FreeBSD.
56998         * modules/unistdio/u16-vsnprintf-tests
56999         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
57000         * modules/unistdio/u16-vsprintf-tests
57001         (test_u16_vsnprintf1_LDADD): Likewise.
57002         * modules/unistdio/u32-vsnprintf-tests
57003         (test_u32_vsnprintf1_LDADD): Likewise.
57004         * modules/unistdio/u32-vsprintf-tests
57005         (test_u32_vsprintf1_LDADD): Likewise.
57006         * modules/unistdio/u8-vsnprintf-tests
57007         (test_u8_vsnprintf1_LDADD): Likewise.
57008         * modules/unistdio/u8-vsprintf-tests
57009         (test_u8_vsprintf1_LDADD): Likewise.
57010         * modules/unistdio/ulc-vsnprintf-tests
57011         (test_ulc_vsnprintf1_LDADD): Likewise.
57012         * modules/unistdio/ulc-vsprintf-tests
57013         (test_ulc_vsprintf1_LDADD): Likewise.
57014
57015         Fix linking of some uniconv tests on FreeBSD.
57016         * modules/uniconv/u16-conv-from-enc-tests
57017         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
57018         * modules/uniconv/u16-conv-to-enc-tests
57019         (test_u16_conv_to_enc_LDADD): Likewise.
57020         * modules/uniconv/u16-strconv-from-enc-tests
57021         (test_u16_strconv_from_enc_LDADD): Likewise.
57022         * modules/uniconv/u16-strconv-to-enc-tests
57023         (test_u16_strconv_to_enc_LDADD): Likewise.
57024         * modules/uniconv/u32-conv-from-enc-tests
57025         (test_u32_conv_from_enc_LDADD): Likewise.
57026         * modules/uniconv/u32-conv-to-enc-tests
57027         (test_u32_conv_to_enc_LDADD): Likewise.
57028         * modules/uniconv/u32-strconv-from-enc-tests
57029         (test_u32_strconv_from_enc_LDADD): Likewise.
57030         * modules/uniconv/u32-strconv-to-enc-tests
57031         (test_u32_strconv_to_enc_LDADD): Likewise.
57032         * modules/uniconv/u8-conv-from-enc-tests
57033         (test_u8_conv_from_enc_LDADD): Likewise.
57034         * modules/uniconv/u8-conv-to-enc-tests
57035         (test_u8_conv_to_enc_LDADD): Likewise.
57036         * modules/uniconv/u8-strconv-from-enc-tests
57037         (test_u8_strconv_from_enc_LDADD): Likewise.
57038         * modules/uniconv/u8-strconv-to-enc-tests
57039         (test_u8_strconv_to_enc_LDADD): Likewise.
57040
57041 2007-10-22  Bruno Haible  <bruno@clisp.org>
57042
57043         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
57044         size.
57045
57046 2007-10-22  Eric Blake  <ebb9@byu.net>
57047
57048         Tweak x*printf documentation.
57049         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
57050         variable name and comments.
57051         Suggested by Bruno Haible.
57052
57053 2007-10-22  Bruno Haible  <bruno@clisp.org>
57054
57055         * lib/acl.c (copy_acl): Fix file name in comment.
57056
57057 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
57058
57059         Fix Tru64 problem with stdbool.h.
57060         * lib/stdbool.in.h (false, true):
57061         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
57062         Don't declare as an enum in this situation; it runs afoul of Tru64.
57063         Problem reported by Steven M. Schweda in
57064         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
57065
57066 2007-10-22  Eric Blake  <ebb9@byu.net>
57067
57068         Also wrap vf?printf.
57069         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
57070         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
57071         (xvprintf, xvfprintf): New functions.
57072
57073 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57074
57075         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
57076         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
57077
57078         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
57079         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
57080
57081 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
57082
57083         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
57084         by Bruno Haible.
57085
57086 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57087
57088         * lib/getloadavg.c
57089         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
57090         Undef `sys' after including sys/table.h, for Tru64 4.0D.
57091
57092         * tests/test-i-ring.c: Work for C89.
57093
57094 2007-10-22  Bruno Haible  <bruno@clisp.org>
57095
57096         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
57097         -1u, in preprocessor expression, so that we don't test for the bug
57098         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
57099         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
57100
57101 2007-10-22  Eric Blake  <ebb9@byu.net>
57102
57103         * tests/test-yesno.sh: Silence stderr during test.
57104
57105 2007-10-22  Simon Josefsson  <simon@josefsson.org>
57106
57107         * modules/crypto/gc-camellia: New file.
57108
57109         * m4/gc-camellia.m4: New file.
57110
57111         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
57112
57113         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
57114
57115 2007-10-22  Simon Josefsson  <simon@josefsson.org>
57116
57117         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
57118         --help to stdout.  Reported by sms@antinode.org (Steven
57119         M. Schweda).
57120
57121 2007-10-22  Simon Josefsson  <simon@josefsson.org>
57122
57123         * users.txt: Fix link to libksba.
57124
57125 2007-10-21  Ben Pfaff  <blp@gnu.org>
57126
57127         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
57128         round.c roundf implementation that depends on floorf and ceilf to
57129         be tested unconditionally.
57130
57131 2007-10-21  Ben Pfaff  <blp@gnu.org>
57132
57133         * m4/check-libm-func.m4: Removed.
57134         * m4/check-math-lib.m4: New file.
57135         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
57136         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
57137         definition and lack of AC_LIBOBJ([roundf]).
57138         * m4/roundl.m4: Ditto, and similarly for roundl.
57139         * modules/round: Reference new m4 file.
57140         * modules/roundf: Ditto.
57141         * modules/roundl: Ditto.
57142         * tests/test-round2.c (main): Use ROUND instead of round.
57143         Bug report from Bruno Haible.
57144
57145 2007-10-21  Bruno Haible  <bruno@clisp.org>
57146
57147         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
57148         context.
57149
57150 2007-10-21  Bruno Haible  <bruno@clisp.org>
57151
57152         * tests/test-wcwidth.c (main): Allow negative result for some control
57153         characters.
57154
57155         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
57156         Needed on OSF/1 5.1.
57157
57158 2007-10-21  Bruno Haible  <bruno@clisp.org>
57159
57160         * tests/test-floorf1.c: Include isnanf.h.
57161         (main): Use isnanf() instead of isnan().
57162         * tests/test-ceilf1.c: Include isnanf.h.
57163         (main): Use isnanf() instead of isnan().
57164         * tests/test-truncf1.c: Include isnanf.h.
57165         (main): Use isnanf() instead of isnan().
57166         * tests/test-roundf1.c: Include isnanf.h.
57167         (main): Use isnanf() instead of isnan().
57168
57169 2007-10-21  Eric Blake  <ebb9@byu.net>
57170
57171         * users.txt: Update URL for m4.
57172
57173 2007-10-21  Bruno Haible  <bruno@clisp.org>
57174
57175         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
57176
57177 2007-10-21  Bruno Haible  <bruno@clisp.org>
57178
57179         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
57180         Git's management files if the CVS files are not present.
57181
57182 2007-10-20  Bruno Haible  <bruno@clisp.org>
57183
57184         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
57185         gcc-3.4.x.
57186
57187 2007-10-20  Ben Pfaff  <blp@gnu.org>
57188
57189         * lib/math.in.h: Declare round, roundf, roundl if we are providing
57190         implementations.
57191         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
57192         * lib/round.c: New file.
57193         * lib/roundf.c: New file.
57194         * lib/roundl.c: New file.
57195         * m4/round.m4: New file.
57196         * m4/roundf.m4: New file.
57197         * m4/roundl.m4: New file.
57198         * m4/check-libm-func-m4: New file.
57199         * modules/math: Replace round, roundf, roundl related @VARS@ in
57200         math.in.h.
57201         * modules/round: New file.
57202         * modules/round-tests: New file.
57203         * modules/roundf: New file.
57204         * modules/roundf-tests: New file.
57205         * modules/roundl: New file.
57206         * modules/roundl-tests: New file.
57207         * tests/test-round1.c: New file.
57208         * tests/test-round2.c: New file.
57209         * tests/test-roundf1.c: New file.
57210         * tests/test-roundf2.c: New file.
57211         * tests/test-roundl.c: New file.
57212         * doc/functions/round.texi: Mention round module.
57213         * doc/functions/roundf.texi: Mention roundf module.
57214         * doc/functions/roundl.texi: Mention roundl module.
57215         * MODULES.html.sh: Mention new modules.
57216         Thanks to Bruno Haible for suggestions.
57217
57218 2007-10-20  Jim Meyering  <meyering@redhat.com>
57219
57220         * lib/xprintf.c: Include <config.h> unconditionally.
57221
57222         Change xprintf's license to GPL.
57223         * modules/xprintf (License): s/LGPL/GPL/, since this module
57224         depends on modules (exit and exitfail) which are GPL.
57225         Suggestion from Bruno Haible.
57226
57227         xprintf fixes.
57228         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
57229         Use a clearer diagnostic.
57230         Patch from Bruno Haible.
57231
57232 2007-10-20  Bruno Haible  <bruno@clisp.org>
57233
57234         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
57235         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
57236         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57237
57238 2007-10-20  Bruno Haible  <bruno@clisp.org>
57239
57240         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
57241         precision in the comparison result > x - 1 or similar.
57242         * tests/test-ceilf2.c (correct_result_p): Likewise.
57243         * tests/test-truncf2.c (correct_result_p): Likewise.
57244         * tests/test-trunc2.c (correct_result_p): Likewise.
57245         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57246
57247 2007-10-20  Bruno Haible  <bruno@clisp.org>
57248
57249         * modules/ceil: New file.
57250         * m4/ceil.m4: New file.
57251         * doc/functions/ceil.texi: Mention the 'ceil' module.
57252
57253 2007-10-20  Bruno Haible  <bruno@clisp.org>
57254
57255         * modules/floor: New file.
57256         * m4/floor.m4: New file.
57257         * doc/functions/floor.texi: Mention the 'floor' module.
57258
57259 2007-10-20  Bruno Haible  <bruno@clisp.org>
57260
57261         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
57262         of %a.
57263         * modules/floorf-tests (Depends-on): Likewise.
57264         * modules/truncf-tests (Depends-on): Likewise.
57265         * modules/trunc-tests (Depends-on): Likewise.
57266         Reported by Ben Pfaff.
57267
57268 2007-10-19  Jim Meyering  <meyering@redhat.com>
57269
57270         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
57271         Don't bother testing specific errno values.  Just test ferror.
57272
57273         New module: xprintf
57274         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
57275
57276 2007-10-19  Bruno Haible  <bruno@clisp.org>
57277
57278         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
57279         syntax.
57280         * modules/javaexec (Makefile.am): Likewise.
57281         * modules/relocatable-prog (Makefile.am): Likewise.
57282         Suggested by Jim Meyering.
57283
57284 2007-10-18  Bruno Haible  <bruno@clisp.org>
57285
57286         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
57287         Reported by Jim Meyering.
57288
57289 2007-10-18  Eric Blake  <ebb9@byu.net>
57290
57291         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
57292
57293 2007-10-18  Bruno Haible  <bruno@clisp.org>
57294
57295         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
57296         the format string into writable memory. Needed in Fortify conditions.
57297
57298 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
57299             Bruno Haible  <bruno@clisp.org>
57300
57301         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
57302         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
57303         * modules/trim (Depends-on): Add mbchar.
57304         (configure.ac): Add gl_FUNC_MBRTOWC.
57305         (Makefile.am): Augment lib_SOURCES.
57306
57307 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
57308
57309         Modify glob.c to use fstatat and dirfd, to simplify it.
57310         Suggested by Eric Blake.
57311         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
57312         Don't include <stdbool.h>; not used.
57313         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
57314         (link_exists_p): Simplify implementation, since we can now assume
57315         dirfd and fstatat.
57316         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
57317
57318 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57319
57320         * gnulib-tool (func_get_dependencies): Fix sed script to
57321         match only tests.
57322
57323 2007-10-17  Bruno Haible  <bruno@clisp.org>
57324
57325         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
57326         allow locale names without encoding suffix.
57327         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
57328         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
57329
57330 2007-10-16  Bruno Haible  <bruno@clisp.org>
57331
57332         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
57333         * lib/getgroups.c (getgroups): Likewise.
57334         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
57335
57336 2007-10-16  Bruno Haible  <bruno@clisp.org>
57337
57338         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
57339         * modules/malloc-posix (License): Likewise.
57340         * modules/realloc-posix (License): Likewise.
57341         * modules/calloc-posix (License): Likewise.
57342         * modules/intprops (License): Change from GPL to LGPL, with
57343         Paul Eggert's approval.
57344
57345 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
57346
57347         Merge glibc changes into lib/glob.c.
57348
57349         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
57350         2007-10-15 04:59:03 UTC.  Here are the changes:
57351
57352         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
57353
57354         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
57355
57356         * lib/glob.c: Add some branch prediction throughout.
57357
57358         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
57359
57360         [BZ #5103]
57361         * lib/glob.c (glob): Recognize patterns starting \/.
57362
57363         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
57364
57365         [BZ #3996]
57366         * lib/glob.c (attribute_hidden): Define if not defined.
57367         (glob): Unescape dirname, filename or username when needed and not
57368         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
57369         is NULL.  Handle unescaped [ in pattern without closing ].
57370         Don't pass GLOB_CHECK down to recursive glob for directories.
57371         (__glob_pattern_type): New function.
57372         (__glob_pattern_p): Implement using __glob_pattern_type.
57373         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
57374         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
57375         Remove unreachable code.
57376
57377         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
57378
57379         * lib/glob.c (glob_in_dir): Add some comments and asserts to
57380         explain why there are no leaks.
57381
57382         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
57383
57384         [BZ #3253]
57385         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
57386         time, rather allocate increasingly bigger arrays of pointers, if
57387         possible with alloca, if too large with malloc.
57388
57389 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
57390
57391         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
57392         Problem reported by H.Merijn Brand in
57393         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
57394         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
57395         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
57396
57397 2007-10-15  Bruno Haible  <bruno@clisp.org>
57398
57399         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
57400         with explicit rpl_ prefix.
57401         * lib/fopen.c (fopen): Likewise.
57402         * lib/freopen.c (freopen): Likewise.
57403         * lib/iconv.c (iconv): Likewise.
57404         * lib/iconv_close.c (iconv_close): Likewise.
57405
57406 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57407
57408         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
57409
57410 2007-10-15  Bruno Haible  <bruno@clisp.org>
57411
57412         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
57413         <stddef.h> instead of <stdlib.h> since we only need NULL.
57414         Reported by Ben Pfaff <blp@cs.stanford.edu>.
57415
57416 2007-10-15  Bruno Haible  <bruno@clisp.org>
57417
57418         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
57419         Replace paragraph talking about LIBOBJS.
57420         Reported by Colin Watson <cjwatson@debian.org>.
57421
57422 2007-10-15  Bruno Haible  <bruno@clisp.org>
57423
57424         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
57425         <stdlib.h> before using NULL.
57426
57427 2007-10-15  Simon Josefsson  <simon@josefsson.org>
57428
57429         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
57430         Reported by Albert Chin <china@thewrittenword.com>.
57431
57432 2007-10-14  Bruno Haible  <bruno@clisp.org>
57433
57434         * modules/iconv_open-utf-tests: New file.
57435         * tests/test-iconv-utf.c: New file.
57436
57437         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
57438         * modules/iconv_open-utf: New file.
57439         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
57440         (iconv, iconv_close): New declarations.
57441         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
57442         be defined.
57443         (iconv_open): Add special handling of conversion between UTF-8 and
57444         UTF-{16,32}{BE,LE}.
57445         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
57446         * lib/iconv_close.c: New file.
57447         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
57448         gl_FUNC_ICONV_OPEN.
57449         (gl_FUNC_ICONV_OPEN): Use it.
57450         (gl_FUNC_ICONV_OPEN_UTF): New macro.
57451         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
57452         and REPLACE_ICONV_UTF.
57453         * modules/iconv_open (Depends-on): Add c-strcase.
57454         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
57455         ICONV_CONST.
57456         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
57457
57458 2007-10-13  Albert Chin  <china@thewrittenword.com>
57459             Bruno Haible  <bruno@clisp.org>
57460
57461         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
57462         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
57463
57464 2007-10-13  Bruno Haible  <bruno@clisp.org>
57465
57466         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
57467         defined, use the ISO C99 inline semantics.
57468         * lib/argp.h (ARGP_EI): Likewise.
57469
57470 2007-10-13  Bruno Haible  <bruno@clisp.org>
57471
57472         Handle 'inline' change in gcc 4.3.0.
57473         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
57474         argp_fmtstream_write, argp_fmtstream_set_lmargin,
57475         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
57476         argp_fmtstream_point): Disable 'extern' declaration if the function
57477         definition is going to be provided inline.
57478         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
57479         semantics, not the ISO C99 inline semantics.
57480         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
57481         'extern' declaration if the function definition is going to be provided
57482         inline.
57483         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
57484         the GNU C inline semantics, not the ISO C99 inline semantics. With
57485         GCC 4.2, avoid a warning.
57486
57487 2007-10-13  Bruno Haible  <bruno@clisp.org>
57488
57489         * lib/freading.h (freading): Enable the use of __freading for
57490         glibc >= 2.7.
57491         * lib/freading.c (freading): Likewise.
57492
57493 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
57494
57495         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
57496         "warning: C99 inline functions are not supported; using GNU89".
57497
57498 2007-10-12  Bruno Haible  <bruno@clisp.org>
57499
57500         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
57501         of 2.
57502         * tests/test-ceilf2.c: New file.
57503         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
57504
57505         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
57506         * modules/ceilf-tests: Update.
57507
57508 2007-10-12  Bruno Haible  <bruno@clisp.org>
57509
57510         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
57511         of 2.
57512         * tests/test-floorf2.c: New file.
57513         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
57514
57515         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
57516         * modules/floorf-tests: Update.
57517
57518 2007-10-12  Bruno Haible  <bruno@clisp.org>
57519
57520         * tests/test-trunc2.c: New file.
57521         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
57522
57523         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
57524         * modules/trunc-tests: Update.
57525
57526 2007-10-12  Bruno Haible  <bruno@clisp.org>
57527
57528         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
57529         of 2.
57530         * tests/test-truncf2.c: New file.
57531         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
57532
57533         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
57534         * modules/truncf-tests: Update.
57535
57536 2007-10-11  Eric Blake  <ebb9@byu.net>
57537
57538         Don't claim strerror is broken on Interix.
57539         * doc/functions/strerror.texi (strerror): Known broken systems are
57540         now Solaris 8, and not Interix.
57541         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
57542         Interix on cross-compile.
57543         Reported by Martin Koeppe in
57544         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
57545
57546 2007-10-11  Bruno Haible  <bruno@clisp.org>
57547
57548         * modules/i-ring-tests: New file.
57549         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
57550         instead of assert.
57551
57552 2007-10-11  Bruno Haible  <bruno@clisp.org>
57553
57554         * modules/filenamecat-tests: New file.
57555         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
57556         * lib/filenamecat.c: Remove test code.
57557
57558 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
57559
57560         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
57561
57562         * lib/strerror.c: Include <string.h> always, to test interface,
57563         and to remove the need for the dummy.
57564         Include intprops.h to compute width instead of doing it ourselves
57565         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
57566         (strerror): Define it to return NULL if there's no system strerror.
57567         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
57568         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
57569         ancient pre-strerror Unix systems well any more.  Saying "unknown
57570         system error" is enough.
57571         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
57572         simpler strerror.c implementation.
57573         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
57574         Simplify the tests to reflect the simpler strerror implementation.
57575         * modules/strerror (Depends-on): Add intprops.
57576
57577 2007-10-09  Eric Blake  <ebb9@byu.net>
57578
57579         Silence test-fpending.
57580         * modules/fpending-tests (Files): Add wrapper script.
57581         * tests/test-fpending.sh: New file.
57582
57583 2007-10-09  Bruno Haible  <bruno@clisp.org>
57584
57585         * MODULES.html.sh (func_module): Don't create a hyperlink for
57586         function names like 'printf_frexp'.
57587         (Misc): Add crc, memxor.
57588         (Characteristics of floating types): New section.
57589         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
57590         isnanf-nolibm, signbit, trunc, truncf, truncl.
57591         (Enhancements for ISO C 99 functions): New subsection Input/output.
57592         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
57593         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
57594         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
57595         (Compatibility checks for POSIX:2001 functions): Add clock-time.
57596         (Enhancements for POSIX:2001 functions): Add chdir-long.
57597         (File system functions): Add areadlink, chdir-safer, read-file.
57598         Remove cycle-check.
57599         (File system as inode set): New section.
57600         (Date and time): Add gethrxtime.
57601         (Multithreading): Add openmp.
57602         (Internationalization functions): Add localename.
57603         (Unicode string functions): Add unistr/u*-mbsnlen.
57604         (Support for maintaining and releasing projects): Add git-version-gen.
57605         (Lone files): Remove directories.
57606
57607 2007-10-08  Ben Pfaff  <blp@gnu.org>
57608
57609         * lib/xmalloca.h: Fix typo in comment.
57610
57611 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
57612
57613         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
57614         when avoiding problems with integer overflow.  Use a portable test
57615         instead.
57616
57617 2007-10-08  Simon Josefsson  <simon@josefsson.org>
57618
57619         * modules/dummy (License): Change to LGPLv2+.
57620         * modules/float (License): Likewise
57621         * modules/realloc (License): Likewise
57622         * modules/stdlib (License): Likewise
57623
57624 2007-10-07  Bruno Haible  <bruno@clisp.org>
57625
57626         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
57627         * floor.c (TWO_MANT_DIG): Likewise.
57628         * ceil.c (TWO_MANT_DIG): Likewise.
57629         Reported by Ben Pfaff.
57630
57631 2007-10-07  Bruno Haible  <bruno@clisp.org>
57632
57633         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
57634         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
57635         * lib/frexp.c (FUNC): Likewise.
57636         * lib/printf-frexp.h (printf_frexp): Likewise.
57637         * lib/printf-frexpl.h (printf_frexpl): Likewise.
57638         * lib/printf-frexp.c (FUNC): Likewise.
57639         Suggested by Jim Meyering.
57640
57641 2007-10-07  Jim Meyering  <meyering@redhat.com>
57642
57643         Make xnanosleep's integer overflow test more robust.
57644         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
57645         so that gcc-4.3.0 doesn't optimize away this test for overflow.
57646
57647 2007-10-07  Bruno Haible  <bruno@clisp.org>
57648
57649         * NEWS: Mention the license change.
57650
57651         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
57652         abbreviations in the modules files.
57653
57654         Change copyright notice from GPLv2+ to GPLv3+.
57655         * README: Change copyright notice.
57656         * MODULES.html.sh: Likewise.
57657         * build-aux/bootstrap.conf: Likewise.
57658         * build-aux/config.libpath: Likewise.
57659         * build-aux/csharpcomp.sh.in: Likewise.
57660         * build-aux/csharpexec.sh.in: Likewise.
57661         * build-aux/install-reloc: Likewise.
57662         * build-aux/javacomp.sh.in: Likewise.
57663         * build-aux/javaexec.sh.in: Likewise.
57664         * build-aux/ldd.sh.in: Likewise.
57665         * build-aux/reloc-ldflags: Likewise.
57666         * build-aux/relocatable.sh.in: Likewise.
57667         * build-aux/x-to-1.in: Likewise.
57668         * check-module: Likewise.
57669         * config/srclistvars.sh: Likewise.
57670         * gnulib-tool: Likewise.
57671         * lib/acl-internal.h: Likewise.
57672         * lib/acl.c: Likewise.
57673         * lib/acl.h: Likewise.
57674         * lib/acl_entries.c: Likewise.
57675         * lib/areadlink-with-size.c: Likewise.
57676         * lib/areadlink.c: Likewise.
57677         * lib/areadlink.h: Likewise.
57678         * lib/argmatch.c: Likewise.
57679         * lib/argmatch.h: Likewise.
57680         * lib/argp-ba.c: Likewise.
57681         * lib/argp-eexst.c: Likewise.
57682         * lib/argp-fmtstream.c: Likewise.
57683         * lib/argp-fmtstream.h: Likewise.
57684         * lib/argp-fs-xinl.c: Likewise.
57685         * lib/argp-help.c: Likewise.
57686         * lib/argp-namefrob.h: Likewise.
57687         * lib/argp-parse.c: Likewise.
57688         * lib/argp-pin.c: Likewise.
57689         * lib/argp-pv.c: Likewise.
57690         * lib/argp-pvh.c: Likewise.
57691         * lib/argp-xinl.c: Likewise.
57692         * lib/argp.h: Likewise.
57693         * lib/at-func.c: Likewise.
57694         * lib/atanl.c: Likewise.
57695         * lib/backupfile.c: Likewise.
57696         * lib/backupfile.h: Likewise.
57697         * lib/basename.c: Likewise.
57698         * lib/binary-io.h: Likewise.
57699         * lib/byteswap.in.h: Likewise.
57700         * lib/c-stack.c: Likewise.
57701         * lib/c-stack.h: Likewise.
57702         * lib/c-strcasestr.c: Likewise.
57703         * lib/c-strcasestr.h: Likewise.
57704         * lib/c-strstr.c: Likewise.
57705         * lib/c-strstr.h: Likewise.
57706         * lib/c-strtod.c: Likewise.
57707         * lib/calloc.c: Likewise.
57708         * lib/canon-host.c: Likewise.
57709         * lib/canon-host.h: Likewise.
57710         * lib/canonicalize-lgpl.c: Likewise.
57711         * lib/canonicalize.c: Likewise.
57712         * lib/canonicalize.h: Likewise.
57713         * lib/ceil.c: Likewise.
57714         * lib/ceilf.c: Likewise.
57715         * lib/ceill.c: Likewise.
57716         * lib/chdir-long.c: Likewise.
57717         * lib/chdir-long.h: Likewise.
57718         * lib/chdir-safer.c: Likewise.
57719         * lib/chdir-safer.h: Likewise.
57720         * lib/chown.c: Likewise.
57721         * lib/classpath.c: Likewise.
57722         * lib/classpath.h: Likewise.
57723         * lib/clean-temp.c: Likewise.
57724         * lib/clean-temp.h: Likewise.
57725         * lib/cloexec.c: Likewise.
57726         * lib/close-stream.c: Likewise.
57727         * lib/closein.c: Likewise.
57728         * lib/closein.h: Likewise.
57729         * lib/closeout.c: Likewise.
57730         * lib/closeout.h: Likewise.
57731         * lib/concat-filename.c: Likewise.
57732         * lib/copy-file.c: Likewise.
57733         * lib/copy-file.h: Likewise.
57734         * lib/count-one-bits.h: Likewise.
57735         * lib/crc.c: Likewise.
57736         * lib/crc.h: Likewise.
57737         * lib/creat-safer.c: Likewise.
57738         * lib/csharpcomp.c: Likewise.
57739         * lib/csharpcomp.h: Likewise.
57740         * lib/csharpexec.c: Likewise.
57741         * lib/csharpexec.h: Likewise.
57742         * lib/cycle-check.c: Likewise.
57743         * lib/cycle-check.h: Likewise.
57744         * lib/diacrit.c: Likewise.
57745         * lib/diacrit.h: Likewise.
57746         * lib/diffseq.h: Likewise.
57747         * lib/dirchownmod.c: Likewise.
57748         * lib/dirent.in.h: Likewise.
57749         * lib/dirfd.c: Likewise.
57750         * lib/dirfd.h: Likewise.
57751         * lib/dirname.c: Likewise.
57752         * lib/dirname.h: Likewise.
57753         * lib/dummy.c: Likewise.
57754         * lib/dup-safer.c: Likewise.
57755         * lib/dup2.c: Likewise.
57756         * lib/eealloc.h: Likewise.
57757         * lib/error.c: Likewise.
57758         * lib/error.h: Likewise.
57759         * lib/euidaccess.c: Likewise.
57760         * lib/exclude.c: Likewise.
57761         * lib/exclude.h: Likewise.
57762         * lib/execute.c: Likewise.
57763         * lib/execute.h: Likewise.
57764         * lib/exitfail.c: Likewise.
57765         * lib/exitfail.h: Likewise.
57766         * lib/expl.c: Likewise.
57767         * lib/fatal-signal.c: Likewise.
57768         * lib/fatal-signal.h: Likewise.
57769         * lib/fbufmode.c: Likewise.
57770         * lib/fbufmode.h: Likewise.
57771         * lib/fchdir.c: Likewise.
57772         * lib/fchmodat.c: Likewise.
57773         * lib/fchownat.c: Likewise.
57774         * lib/fcntl--.h: Likewise.
57775         * lib/fcntl-safer.h: Likewise.
57776         * lib/fcntl.in.h: Likewise.
57777         * lib/fd-safer.c: Likewise.
57778         * lib/fflush.c: Likewise.
57779         * lib/file-has-acl.c: Likewise.
57780         * lib/file-set.c: Likewise.
57781         * lib/file-type.c: Likewise.
57782         * lib/file-type.h: Likewise.
57783         * lib/fileblocks.c: Likewise.
57784         * lib/filemode.c: Likewise.
57785         * lib/filemode.h: Likewise.
57786         * lib/filename.h: Likewise.
57787         * lib/filenamecat.c: Likewise.
57788         * lib/filenamecat.h: Likewise.
57789         * lib/findprog.c: Likewise.
57790         * lib/findprog.h: Likewise.
57791         * lib/float.in.h: Likewise.
57792         * lib/floor.c: Likewise.
57793         * lib/floorf.c: Likewise.
57794         * lib/floorl.c: Likewise.
57795         * lib/fopen-safer.c: Likewise.
57796         * lib/fopen.c: Likewise.
57797         * lib/fpending.c: Likewise.
57798         * lib/fpending.h: Likewise.
57799         * lib/fprintf.c: Likewise.
57800         * lib/fprintftime.h: Likewise.
57801         * lib/fpucw.h: Likewise.
57802         * lib/fpurge.c: Likewise.
57803         * lib/fpurge.h: Likewise.
57804         * lib/freadable.c: Likewise.
57805         * lib/freadable.h: Likewise.
57806         * lib/freadahead.c: Likewise.
57807         * lib/freadahead.h: Likewise.
57808         * lib/freading.c: Likewise.
57809         * lib/freading.h: Likewise.
57810         * lib/free.c: Likewise.
57811         * lib/freopen.c: Likewise.
57812         * lib/frexp.c: Likewise.
57813         * lib/frexpl.c: Likewise.
57814         * lib/fseek.c: Likewise.
57815         * lib/fseterr.c: Likewise.
57816         * lib/fseterr.h: Likewise.
57817         * lib/fstatat.c: Likewise.
57818         * lib/fstrcmp.c: Likewise.
57819         * lib/fstrcmp.h: Likewise.
57820         * lib/fsusage.c: Likewise.
57821         * lib/fsusage.h: Likewise.
57822         * lib/ftell.c: Likewise.
57823         * lib/ftello.c: Likewise.
57824         * lib/fts-cycle.c: Likewise.
57825         * lib/fts.c: Likewise.
57826         * lib/fts_.h: Likewise.
57827         * lib/full-read.c: Likewise.
57828         * lib/full-read.h: Likewise.
57829         * lib/full-write.c: Likewise.
57830         * lib/full-write.h: Likewise.
57831         * lib/fwritable.c: Likewise.
57832         * lib/fwritable.h: Likewise.
57833         * lib/fwriteerror.c: Likewise.
57834         * lib/fwriteerror.h: Likewise.
57835         * lib/fwriting.c: Likewise.
57836         * lib/fwriting.h: Likewise.
57837         * lib/gcd.c: Likewise.
57838         * lib/gcd.h: Likewise.
57839         * lib/getcwd.c: Likewise.
57840         * lib/getdate.h: Likewise.
57841         * lib/getdate.y: Likewise.
57842         * lib/getdomainname.c: Likewise.
57843         * lib/getdomainname.h: Likewise.
57844         * lib/getgroups.c: Likewise.
57845         * lib/gethostname.c: Likewise.
57846         * lib/gethrxtime.c: Likewise.
57847         * lib/gethrxtime.h: Likewise.
57848         * lib/getloadavg.c: Likewise.
57849         * lib/getndelim2.c: Likewise.
57850         * lib/getndelim2.h: Likewise.
57851         * lib/getnline.c: Likewise.
57852         * lib/getnline.h: Likewise.
57853         * lib/getopt.c: Likewise.
57854         * lib/getopt.in.h: Likewise.
57855         * lib/getopt1.c: Likewise.
57856         * lib/getopt_int.h: Likewise.
57857         * lib/getpagesize.h: Likewise.
57858         * lib/getsubopt.c: Likewise.
57859         * lib/gettime.c: Likewise.
57860         * lib/getugroups.c: Likewise.
57861         * lib/getugroups.h: Likewise.
57862         * lib/getusershell.c: Likewise.
57863         * lib/gl_anyavltree_list1.h: Likewise.
57864         * lib/gl_anyavltree_list2.h: Likewise.
57865         * lib/gl_anyhash_list1.h: Likewise.
57866         * lib/gl_anyhash_list2.h: Likewise.
57867         * lib/gl_anylinked_list1.h: Likewise.
57868         * lib/gl_anylinked_list2.h: Likewise.
57869         * lib/gl_anyrbtree_list1.h: Likewise.
57870         * lib/gl_anyrbtree_list2.h: Likewise.
57871         * lib/gl_anytree_list1.h: Likewise.
57872         * lib/gl_anytree_list2.h: Likewise.
57873         * lib/gl_anytree_oset.h: Likewise.
57874         * lib/gl_anytreehash_list1.h: Likewise.
57875         * lib/gl_anytreehash_list2.h: Likewise.
57876         * lib/gl_array_list.c: Likewise.
57877         * lib/gl_array_list.h: Likewise.
57878         * lib/gl_array_oset.c: Likewise.
57879         * lib/gl_array_oset.h: Likewise.
57880         * lib/gl_avltree_list.c: Likewise.
57881         * lib/gl_avltree_list.h: Likewise.
57882         * lib/gl_avltree_oset.c: Likewise.
57883         * lib/gl_avltree_oset.h: Likewise.
57884         * lib/gl_avltreehash_list.c: Likewise.
57885         * lib/gl_avltreehash_list.h: Likewise.
57886         * lib/gl_carray_list.c: Likewise.
57887         * lib/gl_carray_list.h: Likewise.
57888         * lib/gl_linked_list.c: Likewise.
57889         * lib/gl_linked_list.h: Likewise.
57890         * lib/gl_linkedhash_list.c: Likewise.
57891         * lib/gl_linkedhash_list.h: Likewise.
57892         * lib/gl_list.c: Likewise.
57893         * lib/gl_list.h: Likewise.
57894         * lib/gl_oset.c: Likewise.
57895         * lib/gl_oset.h: Likewise.
57896         * lib/gl_rbtree_list.c: Likewise.
57897         * lib/gl_rbtree_list.h: Likewise.
57898         * lib/gl_rbtree_oset.c: Likewise.
57899         * lib/gl_rbtree_oset.h: Likewise.
57900         * lib/gl_rbtreehash_list.c: Likewise.
57901         * lib/gl_rbtreehash_list.h: Likewise.
57902         * lib/gl_sublist.c: Likewise.
57903         * lib/gl_sublist.h: Likewise.
57904         * lib/group-member.c: Likewise.
57905         * lib/group-member.h: Likewise.
57906         * lib/hard-locale.c: Likewise.
57907         * lib/hard-locale.h: Likewise.
57908         * lib/hash-pjw.c: Likewise.
57909         * lib/hash-pjw.h: Likewise.
57910         * lib/hash-triple.c: Likewise.
57911         * lib/hash.c: Likewise.
57912         * lib/hash.h: Likewise.
57913         * lib/human.c: Likewise.
57914         * lib/human.h: Likewise.
57915         * lib/i-ring.c: Likewise.
57916         * lib/i-ring.h: Likewise.
57917         * lib/idcache.c: Likewise.
57918         * lib/imaxabs.c: Likewise.
57919         * lib/imaxdiv.c: Likewise.
57920         * lib/inet_pton.c: Likewise.
57921         * lib/inet_pton.h: Likewise.
57922         * lib/intprops.h: Likewise.
57923         * lib/inttostr.c: Likewise.
57924         * lib/inttostr.h: Likewise.
57925         * lib/inttypes.in.h: Likewise.
57926         * lib/isapipe.c: Likewise.
57927         * lib/isdir.c: Likewise.
57928         * lib/isnan.c: Likewise.
57929         * lib/isnan.h: Likewise.
57930         * lib/isnanf.c: Likewise.
57931         * lib/isnanf.h: Likewise.
57932         * lib/isnanl-nolibm.h: Likewise.
57933         * lib/isnanl.c: Likewise.
57934         * lib/isnanl.h: Likewise.
57935         * lib/javacomp.c: Likewise.
57936         * lib/javacomp.h: Likewise.
57937         * lib/javaexec.c: Likewise.
57938         * lib/javaexec.h: Likewise.
57939         * lib/javaversion.c: Likewise.
57940         * lib/javaversion.h: Likewise.
57941         * lib/javaversion.java: Likewise.
57942         * lib/lbrkprop.h: Likewise.
57943         * lib/lchmod.h: Likewise.
57944         * lib/lchown.c: Likewise.
57945         * lib/ldexpl.c: Likewise.
57946         * lib/linebreak.c: Likewise.
57947         * lib/linebreak.h: Likewise.
57948         * lib/linebuffer.c: Likewise.
57949         * lib/linebuffer.h: Likewise.
57950         * lib/locale.in.h: Likewise.
57951         * lib/logl.c: Likewise.
57952         * lib/long-options.c: Likewise.
57953         * lib/long-options.h: Likewise.
57954         * lib/lstat.c: Likewise.
57955         * lib/lstat.h: Likewise.
57956         * lib/math.in.h: Likewise.
57957         * lib/mbchar.c: Likewise.
57958         * lib/mbchar.h: Likewise.
57959         * lib/mbfile.h: Likewise.
57960         * lib/mbiter.h: Likewise.
57961         * lib/mbscasecmp.c: Likewise.
57962         * lib/mbscasestr.c: Likewise.
57963         * lib/mbschr.c: Likewise.
57964         * lib/mbscspn.c: Likewise.
57965         * lib/mbslen.c: Likewise.
57966         * lib/mbsncasecmp.c: Likewise.
57967         * lib/mbsnlen.c: Likewise.
57968         * lib/mbspbrk.c: Likewise.
57969         * lib/mbspcasecmp.c: Likewise.
57970         * lib/mbsrchr.c: Likewise.
57971         * lib/mbssep.c: Likewise.
57972         * lib/mbsspn.c: Likewise.
57973         * lib/mbsstr.c: Likewise.
57974         * lib/mbstok_r.c: Likewise.
57975         * lib/mbswidth.c: Likewise.
57976         * lib/mbswidth.h: Likewise.
57977         * lib/mbuiter.h: Likewise.
57978         * lib/memcasecmp.c: Likewise.
57979         * lib/memcasecmp.h: Likewise.
57980         * lib/memchr.c: Likewise.
57981         * lib/memcmp.c: Likewise.
57982         * lib/memcoll.c: Likewise.
57983         * lib/memcoll.h: Likewise.
57984         * lib/memcpy.c: Likewise.
57985         * lib/memrchr.c: Likewise.
57986         * lib/mkancesdirs.c: Likewise.
57987         * lib/mkdir-p.c: Likewise.
57988         * lib/mkdir-p.h: Likewise.
57989         * lib/mkdir.c: Likewise.
57990         * lib/mkdirat.c: Likewise.
57991         * lib/mkdtemp.c: Likewise.
57992         * lib/mkstemp-safer.c: Likewise.
57993         * lib/mkstemp.c: Likewise.
57994         * lib/modechange.c: Likewise.
57995         * lib/modechange.h: Likewise.
57996         * lib/mountlist.c: Likewise.
57997         * lib/mountlist.h: Likewise.
57998         * lib/mpsort.c: Likewise.
57999         * lib/nanosleep.c: Likewise.
58000         * lib/obstack.c: Likewise.
58001         * lib/obstack.h: Likewise.
58002         * lib/open-safer.c: Likewise.
58003         * lib/open.c: Likewise.
58004         * lib/openat-die.c: Likewise.
58005         * lib/openat-priv.h: Likewise.
58006         * lib/openat-proc.c: Likewise.
58007         * lib/openat.c: Likewise.
58008         * lib/openat.h: Likewise.
58009         * lib/pagealign_alloc.c: Likewise.
58010         * lib/pagealign_alloc.h: Likewise.
58011         * lib/physmem.c: Likewise.
58012         * lib/physmem.h: Likewise.
58013         * lib/pipe-safer.c: Likewise.
58014         * lib/pipe.c: Likewise.
58015         * lib/pipe.h: Likewise.
58016         * lib/posixtm.c: Likewise.
58017         * lib/posixtm.h: Likewise.
58018         * lib/posixver.c: Likewise.
58019         * lib/printf-frexp.c: Likewise.
58020         * lib/printf-frexp.h: Likewise.
58021         * lib/printf-frexpl.c: Likewise.
58022         * lib/printf-frexpl.h: Likewise.
58023         * lib/printf.c: Likewise.
58024         * lib/progname.c: Likewise.
58025         * lib/progname.h: Likewise.
58026         * lib/progreloc.c: Likewise.
58027         * lib/putenv.c: Likewise.
58028         * lib/quote.c: Likewise.
58029         * lib/quote.h: Likewise.
58030         * lib/quotearg.c: Likewise.
58031         * lib/quotearg.h: Likewise.
58032         * lib/raise.c: Likewise.
58033         * lib/readline.c: Likewise.
58034         * lib/readline.h: Likewise.
58035         * lib/readlink.c: Likewise.
58036         * lib/readtokens.c: Likewise.
58037         * lib/readtokens.h: Likewise.
58038         * lib/readtokens0.c: Likewise.
58039         * lib/readtokens0.h: Likewise.
58040         * lib/readutmp.c: Likewise.
58041         * lib/readutmp.h: Likewise.
58042         * lib/realloc.c: Likewise.
58043         * lib/relocwrapper.c: Likewise.
58044         * lib/rename-dest-slash.c: Likewise.
58045         * lib/rename.c: Likewise.
58046         * lib/rmdir.c: Likewise.
58047         * lib/rpmatch.c: Likewise.
58048         * lib/safe-read.c: Likewise.
58049         * lib/safe-read.h: Likewise.
58050         * lib/safe-write.c: Likewise.
58051         * lib/safe-write.h: Likewise.
58052         * lib/same-inode.h: Likewise.
58053         * lib/same.c: Likewise.
58054         * lib/same.h: Likewise.
58055         * lib/save-cwd.c: Likewise.
58056         * lib/save-cwd.h: Likewise.
58057         * lib/savedir.c: Likewise.
58058         * lib/savedir.h: Likewise.
58059         * lib/savewd.c: Likewise.
58060         * lib/savewd.h: Likewise.
58061         * lib/search.in.h: Likewise.
58062         * lib/setenv.c: Likewise.
58063         * lib/setenv.h: Likewise.
58064         * lib/settime.c: Likewise.
58065         * lib/sh-quote.c: Likewise.
58066         * lib/sh-quote.h: Likewise.
58067         * lib/sig2str.c: Likewise.
58068         * lib/sig2str.h: Likewise.
58069         * lib/signal.in.h: Likewise.
58070         * lib/signbitd.c: Likewise.
58071         * lib/signbitf.c: Likewise.
58072         * lib/signbitl.c: Likewise.
58073         * lib/sigprocmask.c: Likewise.
58074         * lib/sincosl.c: Likewise.
58075         * lib/sleep.c: Likewise.
58076         * lib/sprintf.c: Likewise.
58077         * lib/sqrtl.c: Likewise.
58078         * lib/stat-time.h: Likewise.
58079         * lib/stdio--.h: Likewise.
58080         * lib/stdio-safer.h: Likewise.
58081         * lib/stdlib--.h: Likewise.
58082         * lib/stdlib-safer.h: Likewise.
58083         * lib/stdlib.in.h: Likewise.
58084         * lib/stpcpy.c: Likewise.
58085         * lib/stpncpy.c: Likewise.
58086         * lib/strchrnul.c: Likewise.
58087         * lib/strcspn.c: Likewise.
58088         * lib/strerror.c: Likewise.
58089         * lib/strftime.c: Likewise.
58090         * lib/strftime.h: Likewise.
58091         * lib/striconveh.c: Likewise.
58092         * lib/striconveh.h: Likewise.
58093         * lib/striconveha.c: Likewise.
58094         * lib/striconveha.h: Likewise.
58095         * lib/stripslash.c: Likewise.
58096         * lib/strnlen1.c: Likewise.
58097         * lib/strnlen1.h: Likewise.
58098         * lib/strtod.c: Likewise.
58099         * lib/strtoimax.c: Likewise.
58100         * lib/strtok_r.c: Likewise.
58101         * lib/strtol.c: Likewise.
58102         * lib/strtoll.c: Likewise.
58103         * lib/strtoul.c: Likewise.
58104         * lib/strtoull.c: Likewise.
58105         * lib/sysexits.in.h: Likewise.
58106         * lib/tempname.c: Likewise.
58107         * lib/tempname.h: Likewise.
58108         * lib/timespec.h: Likewise.
58109         * lib/tls.c: Likewise.
58110         * lib/tls.h: Likewise.
58111         * lib/tmpdir.c: Likewise.
58112         * lib/tmpdir.h: Likewise.
58113         * lib/tmpfile-safer.c: Likewise.
58114         * lib/tmpfile.c: Likewise.
58115         * lib/trigl.c: Likewise.
58116         * lib/trigl.h: Likewise.
58117         * lib/trim.c: Likewise.
58118         * lib/trim.h: Likewise.
58119         * lib/trunc.c: Likewise.
58120         * lib/truncf.c: Likewise.
58121         * lib/truncl.c: Likewise.
58122         * lib/tsearch.c: Likewise.
58123         * lib/unicodeio.c: Likewise.
58124         * lib/unicodeio.h: Likewise.
58125         * lib/unistd--.h: Likewise.
58126         * lib/unistd-safer.h: Likewise.
58127         * lib/unistdio/ulc-fprintf.c: Likewise.
58128         * lib/unistdio/ulc-vfprintf.c: Likewise.
58129         * lib/unlinkdir.c: Likewise.
58130         * lib/unlinkdir.h: Likewise.
58131         * lib/unlocked-io.h: Likewise.
58132         * lib/unsetenv.c: Likewise.
58133         * lib/userspec.c: Likewise.
58134         * lib/utime.c: Likewise.
58135         * lib/utimecmp.c: Likewise.
58136         * lib/utimecmp.h: Likewise.
58137         * lib/utimens.c: Likewise.
58138         * lib/verify.h: Likewise.
58139         * lib/verror.c: Likewise.
58140         * lib/verror.h: Likewise.
58141         * lib/version-etc-fsf.c: Likewise.
58142         * lib/version-etc.c: Likewise.
58143         * lib/version-etc.h: Likewise.
58144         * lib/vfprintf.c: Likewise.
58145         * lib/vprintf.c: Likewise.
58146         * lib/vsprintf.c: Likewise.
58147         * lib/w32spawn.h: Likewise.
58148         * lib/wait-process.c: Likewise.
58149         * lib/wait-process.h: Likewise.
58150         * lib/wcwidth.c: Likewise.
58151         * lib/write-any-file.c: Likewise.
58152         * lib/xalloc-die.c: Likewise.
58153         * lib/xalloc.h: Likewise.
58154         * lib/xasprintf.c: Likewise.
58155         * lib/xgetcwd.c: Likewise.
58156         * lib/xgetcwd.h: Likewise.
58157         * lib/xgetdomainname.c: Likewise.
58158         * lib/xgetdomainname.h: Likewise.
58159         * lib/xgethostname.c: Likewise.
58160         * lib/xmalloc.c: Likewise.
58161         * lib/xmalloca.c: Likewise.
58162         * lib/xmalloca.h: Likewise.
58163         * lib/xmemcoll.c: Likewise.
58164         * lib/xnanosleep.c: Likewise.
58165         * lib/xreadlink.c: Likewise.
58166         * lib/xreadlink.h: Likewise.
58167         * lib/xsetenv.c: Likewise.
58168         * lib/xsetenv.h: Likewise.
58169         * lib/xstriconv.c: Likewise.
58170         * lib/xstriconv.h: Likewise.
58171         * lib/xstrndup.c: Likewise.
58172         * lib/xstrndup.h: Likewise.
58173         * lib/xstrtod.c: Likewise.
58174         * lib/xstrtod.h: Likewise.
58175         * lib/xstrtol-error.c: Likewise.
58176         * lib/xstrtol.c: Likewise.
58177         * lib/xstrtol.h: Likewise.
58178         * lib/xtime.h: Likewise.
58179         * lib/xvasprintf.c: Likewise.
58180         * lib/xvasprintf.h: Likewise.
58181         * lib/yesno.c: Likewise.
58182         * lib/yesno.h: Likewise.
58183         * posix-modules: Likewise.
58184         * tests/test-alloca-opt.c: Likewise.
58185         * tests/test-arcfour.c: Likewise.
58186         * tests/test-arctwo.c: Likewise.
58187         * tests/test-argmatch.c: Likewise.
58188         * tests/test-argp-2.sh: Likewise.
58189         * tests/test-argp.c: Likewise.
58190         * tests/test-arpa_inet.c: Likewise.
58191         * tests/test-array_list.c: Likewise.
58192         * tests/test-array_oset.c: Likewise.
58193         * tests/test-atexit.c: Likewise.
58194         * tests/test-avltree_list.c: Likewise.
58195         * tests/test-avltree_oset.c: Likewise.
58196         * tests/test-avltreehash_list.c: Likewise.
58197         * tests/test-base64.c: Likewise.
58198         * tests/test-binary-io.c: Likewise.
58199         * tests/test-byteswap.c: Likewise.
58200         * tests/test-c-ctype.c: Likewise.
58201         * tests/test-c-strcasecmp.c: Likewise.
58202         * tests/test-c-strcasestr.c: Likewise.
58203         * tests/test-c-strncasecmp.c: Likewise.
58204         * tests/test-c-strstr.c: Likewise.
58205         * tests/test-canonicalize-lgpl.c: Likewise.
58206         * tests/test-canonicalize.c: Likewise.
58207         * tests/test-carray_list.c: Likewise.
58208         * tests/test-ceilf.c: Likewise.
58209         * tests/test-ceill.c: Likewise.
58210         * tests/test-count-one-bits.c: Likewise.
58211         * tests/test-crc.c: Likewise.
58212         * tests/test-dirname.c: Likewise.
58213         * tests/test-fbufmode.c: Likewise.
58214         * tests/test-fcntl.c: Likewise.
58215         * tests/test-fflush.c: Likewise.
58216         * tests/test-floorf.c: Likewise.
58217         * tests/test-floorl.c: Likewise.
58218         * tests/test-fopen.c: Likewise.
58219         * tests/test-fprintf-posix.c: Likewise.
58220         * tests/test-fprintf-posix.h: Likewise.
58221         * tests/test-fpurge.c: Likewise.
58222         * tests/test-freadable.c: Likewise.
58223         * tests/test-freadahead.c: Likewise.
58224         * tests/test-freading.c: Likewise.
58225         * tests/test-freopen.c: Likewise.
58226         * tests/test-frexp.c: Likewise.
58227         * tests/test-frexpl.c: Likewise.
58228         * tests/test-fseek.c: Likewise.
58229         * tests/test-fseeko.c: Likewise.
58230         * tests/test-fseterr.c: Likewise.
58231         * tests/test-fstrcmp.c: Likewise.
58232         * tests/test-ftell.c: Likewise.
58233         * tests/test-ftello.c: Likewise.
58234         * tests/test-fwritable.c: Likewise.
58235         * tests/test-fwriting.c: Likewise.
58236         * tests/test-getaddrinfo.c: Likewise.
58237         * tests/test-getpass.c: Likewise.
58238         * tests/test-gettimeofday.c: Likewise.
58239         * tests/test-hmac-md5.c: Likewise.
58240         * tests/test-hmac-sha1.c: Likewise.
58241         * tests/test-iconv.c: Likewise.
58242         * tests/test-iconvme.c: Likewise.
58243         * tests/test-inttypes.c: Likewise.
58244         * tests/test-isnan.c: Likewise.
58245         * tests/test-isnanf.c: Likewise.
58246         * tests/test-isnanl-nolibm.c: Likewise.
58247         * tests/test-isnanl.c: Likewise.
58248         * tests/test-isnanl.h: Likewise.
58249         * tests/test-ldexpl.c: Likewise.
58250         * tests/test-linked_list.c: Likewise.
58251         * tests/test-linkedhash_list.c: Likewise.
58252         * tests/test-locale.c: Likewise.
58253         * tests/test-localename.c: Likewise.
58254         * tests/test-lock.c: Likewise.
58255         * tests/test-lseek.c: Likewise.
58256         * tests/test-malloca.c: Likewise.
58257         * tests/test-math.c: Likewise.
58258         * tests/test-mbscasecmp.c: Likewise.
58259         * tests/test-mbscasestr1.c: Likewise.
58260         * tests/test-mbscasestr2.c: Likewise.
58261         * tests/test-mbscasestr3.c: Likewise.
58262         * tests/test-mbscasestr4.c: Likewise.
58263         * tests/test-mbschr.c: Likewise.
58264         * tests/test-mbscspn.c: Likewise.
58265         * tests/test-mbsncasecmp.c: Likewise.
58266         * tests/test-mbspbrk.c: Likewise.
58267         * tests/test-mbspcasecmp.c: Likewise.
58268         * tests/test-mbsrchr.c: Likewise.
58269         * tests/test-mbsspn.c: Likewise.
58270         * tests/test-mbsstr1.c: Likewise.
58271         * tests/test-mbsstr2.c: Likewise.
58272         * tests/test-mbsstr3.c: Likewise.
58273         * tests/test-md5.c: Likewise.
58274         * tests/test-memmem.c: Likewise.
58275         * tests/test-netinet_in.c: Likewise.
58276         * tests/test-open.c: Likewise.
58277         * tests/test-printf-frexp.c: Likewise.
58278         * tests/test-printf-frexpl.c: Likewise.
58279         * tests/test-printf-posix.c: Likewise.
58280         * tests/test-printf-posix.h: Likewise.
58281         * tests/test-rbtree_list.c: Likewise.
58282         * tests/test-rbtree_oset.c: Likewise.
58283         * tests/test-rbtreehash_list.c: Likewise.
58284         * tests/test-read-file.c: Likewise.
58285         * tests/test-rijndael.c: Likewise.
58286         * tests/test-search.c: Likewise.
58287         * tests/test-signbit.c: Likewise.
58288         * tests/test-sleep.c: Likewise.
58289         * tests/test-snprintf-posix.c: Likewise.
58290         * tests/test-snprintf-posix.h: Likewise.
58291         * tests/test-snprintf.c: Likewise.
58292         * tests/test-sprintf-posix.c: Likewise.
58293         * tests/test-sprintf-posix.h: Likewise.
58294         * tests/test-stat-time.c: Likewise.
58295         * tests/test-stdbool.c: Likewise.
58296         * tests/test-stdint.c: Likewise.
58297         * tests/test-stdio.c: Likewise.
58298         * tests/test-stdlib.c: Likewise.
58299         * tests/test-stpncpy.c: Likewise.
58300         * tests/test-strcasestr.c: Likewise.
58301         * tests/test-striconv.c: Likewise.
58302         * tests/test-striconveh.c: Likewise.
58303         * tests/test-striconveha.c: Likewise.
58304         * tests/test-string.c: Likewise.
58305         * tests/test-sys_select.c: Likewise.
58306         * tests/test-sys_socket.c: Likewise.
58307         * tests/test-sys_stat.c: Likewise.
58308         * tests/test-sys_time.c: Likewise.
58309         * tests/test-sysexits.c: Likewise.
58310         * tests/test-time.c: Likewise.
58311         * tests/test-tls.c: Likewise.
58312         * tests/test-trunc.c: Likewise.
58313         * tests/test-truncf.c: Likewise.
58314         * tests/test-truncl.c: Likewise.
58315         * tests/test-unistd.c: Likewise.
58316         * tests/test-vasnprintf-posix.c: Likewise.
58317         * tests/test-vasnprintf-posix2.c: Likewise.
58318         * tests/test-vasnprintf.c: Likewise.
58319         * tests/test-vasprintf-posix.c: Likewise.
58320         * tests/test-vasprintf.c: Likewise.
58321         * tests/test-verify.c: Likewise.
58322         * tests/test-vfprintf-posix.c: Likewise.
58323         * tests/test-vprintf-posix.c: Likewise.
58324         * tests/test-vsnprintf-posix.c: Likewise.
58325         * tests/test-vsnprintf.c: Likewise.
58326         * tests/test-vsprintf-posix.c: Likewise.
58327         * tests/test-wchar.c: Likewise.
58328         * tests/test-wctype.c: Likewise.
58329         * tests/test-wcwidth.c: Likewise.
58330         * tests/test-xstrtol.c: Likewise.
58331         * tests/test-xvasprintf.c: Likewise.
58332         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
58333         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
58334         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58335         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58336         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58337         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
58338         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58339         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58340         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
58341         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
58342         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
58343         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
58344         * tests/uniname/test-uninames.c: Likewise.
58345         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
58346         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
58347         * tests/unistdio/test-u16-printf1.h: Likewise.
58348         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
58349         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
58350         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
58351         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
58352         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
58353         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
58354         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
58355         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
58356         * tests/unistdio/test-u32-printf1.h: Likewise.
58357         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
58358         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
58359         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
58360         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
58361         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
58362         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
58363         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
58364         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
58365         * tests/unistdio/test-u8-printf1.h: Likewise.
58366         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
58367         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
58368         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
58369         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
58370         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
58371         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
58372         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
58373         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
58374         * tests/unistdio/test-ulc-printf1.h: Likewise.
58375         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
58376         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
58377         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
58378         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
58379         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
58380         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
58381         * tests/uniwidth/test-u16-strwidth.c: Likewise.
58382         * tests/uniwidth/test-u16-width.c: Likewise.
58383         * tests/uniwidth/test-u32-strwidth.c: Likewise.
58384         * tests/uniwidth/test-u32-width.c: Likewise.
58385         * tests/uniwidth/test-u8-strwidth.c: Likewise.
58386         * tests/uniwidth/test-u8-width.c: Likewise.
58387         * tests/uniwidth/test-uc_width.c: Likewise.
58388         * config/srclist-update: Likewise.
58389         (fixlicense): Update to GPLv3+.
58390
58391         Change copyright notice from LGPLv2.1+ to LGPLv3+.
58392         * tests/test-tsearch.c: Change copyright notice.
58393
58394         Change copyright notice from LGPLv2.0+ to LGPLv3+.
58395         * lib/c-strcaseeq.h: Change copyright notice.
58396         * lib/streq.h: Likewise.
58397         * lib/uniconv.h: Likewise.
58398         * lib/uniconv/u-conv-from-enc.h: Likewise.
58399         * lib/uniconv/u-conv-to-enc.h: Likewise.
58400         * lib/uniconv/u-strconv-from-enc.h: Likewise.
58401         * lib/uniconv/u-strconv-to-enc.h: Likewise.
58402         * lib/uniconv/u16-conv-from-enc.c: Likewise.
58403         * lib/uniconv/u16-conv-to-enc.c: Likewise.
58404         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
58405         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
58406         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
58407         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
58408         * lib/uniconv/u32-conv-from-enc.c: Likewise.
58409         * lib/uniconv/u32-conv-to-enc.c: Likewise.
58410         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
58411         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
58412         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
58413         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
58414         * lib/uniconv/u8-conv-from-enc.c: Likewise.
58415         * lib/uniconv/u8-conv-to-enc.c: Likewise.
58416         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
58417         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
58418         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
58419         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
58420         * lib/uniname.h: Likewise.
58421         * lib/uniname/uniname.c: Likewise.
58422         * lib/unistdio.h: Likewise.
58423         * lib/unistdio/u-asnprintf.h: Likewise.
58424         * lib/unistdio/u-asprintf.h: Likewise.
58425         * lib/unistdio/u-printf-args.c: Likewise.
58426         * lib/unistdio/u-printf-args.h: Likewise.
58427         * lib/unistdio/u-printf-parse.h: Likewise.
58428         * lib/unistdio/u-snprintf.h: Likewise.
58429         * lib/unistdio/u-sprintf.h: Likewise.
58430         * lib/unistdio/u-vasprintf.h: Likewise.
58431         * lib/unistdio/u-vsnprintf.h: Likewise.
58432         * lib/unistdio/u-vsprintf.h: Likewise.
58433         * lib/unistdio/u16-asnprintf.c: Likewise.
58434         * lib/unistdio/u16-asprintf.c: Likewise.
58435         * lib/unistdio/u16-printf-parse.c: Likewise.
58436         * lib/unistdio/u16-snprintf.c: Likewise.
58437         * lib/unistdio/u16-sprintf.c: Likewise.
58438         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
58439         * lib/unistdio/u16-u16-asprintf.c: Likewise.
58440         * lib/unistdio/u16-u16-snprintf.c: Likewise.
58441         * lib/unistdio/u16-u16-sprintf.c: Likewise.
58442         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
58443         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
58444         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
58445         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
58446         * lib/unistdio/u16-vasnprintf.c: Likewise.
58447         * lib/unistdio/u16-vasprintf.c: Likewise.
58448         * lib/unistdio/u16-vsnprintf.c: Likewise.
58449         * lib/unistdio/u16-vsprintf.c: Likewise.
58450         * lib/unistdio/u32-asnprintf.c: Likewise.
58451         * lib/unistdio/u32-asprintf.c: Likewise.
58452         * lib/unistdio/u32-printf-parse.c: Likewise.
58453         * lib/unistdio/u32-snprintf.c: Likewise.
58454         * lib/unistdio/u32-sprintf.c: Likewise.
58455         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
58456         * lib/unistdio/u32-u32-asprintf.c: Likewise.
58457         * lib/unistdio/u32-u32-snprintf.c: Likewise.
58458         * lib/unistdio/u32-u32-sprintf.c: Likewise.
58459         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
58460         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
58461         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
58462         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
58463         * lib/unistdio/u32-vasnprintf.c: Likewise.
58464         * lib/unistdio/u32-vasprintf.c: Likewise.
58465         * lib/unistdio/u32-vsnprintf.c: Likewise.
58466         * lib/unistdio/u32-vsprintf.c: Likewise.
58467         * lib/unistdio/u8-asnprintf.c: Likewise.
58468         * lib/unistdio/u8-asprintf.c: Likewise.
58469         * lib/unistdio/u8-printf-parse.c: Likewise.
58470         * lib/unistdio/u8-snprintf.c: Likewise.
58471         * lib/unistdio/u8-sprintf.c: Likewise.
58472         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
58473         * lib/unistdio/u8-u8-asprintf.c: Likewise.
58474         * lib/unistdio/u8-u8-snprintf.c: Likewise.
58475         * lib/unistdio/u8-u8-sprintf.c: Likewise.
58476         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
58477         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
58478         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
58479         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
58480         * lib/unistdio/u8-vasnprintf.c: Likewise.
58481         * lib/unistdio/u8-vasprintf.c: Likewise.
58482         * lib/unistdio/u8-vsnprintf.c: Likewise.
58483         * lib/unistdio/u8-vsprintf.c: Likewise.
58484         * lib/unistdio/ulc-asnprintf.c: Likewise.
58485         * lib/unistdio/ulc-asprintf.c: Likewise.
58486         * lib/unistdio/ulc-printf-parse.c: Likewise.
58487         * lib/unistdio/ulc-snprintf.c: Likewise.
58488         * lib/unistdio/ulc-sprintf.c: Likewise.
58489         * lib/unistdio/ulc-vasnprintf.c: Likewise.
58490         * lib/unistdio/ulc-vasprintf.c: Likewise.
58491         * lib/unistdio/ulc-vsnprintf.c: Likewise.
58492         * lib/unistdio/ulc-vsprintf.c: Likewise.
58493         * lib/unistr.h: Likewise.
58494         * lib/unistr/u-cpy-alloc.h: Likewise.
58495         * lib/unistr/u-cpy.h: Likewise.
58496         * lib/unistr/u-endswith.h: Likewise.
58497         * lib/unistr/u-move.h: Likewise.
58498         * lib/unistr/u-set.h: Likewise.
58499         * lib/unistr/u-startswith.h: Likewise.
58500         * lib/unistr/u-stpcpy.h: Likewise.
58501         * lib/unistr/u-stpncpy.h: Likewise.
58502         * lib/unistr/u-strcat.h: Likewise.
58503         * lib/unistr/u-strcpy.h: Likewise.
58504         * lib/unistr/u-strcspn.h: Likewise.
58505         * lib/unistr/u-strdup.h: Likewise.
58506         * lib/unistr/u-strlen.h: Likewise.
58507         * lib/unistr/u-strncat.h: Likewise.
58508         * lib/unistr/u-strncpy.h: Likewise.
58509         * lib/unistr/u-strnlen.h: Likewise.
58510         * lib/unistr/u-strpbrk.h: Likewise.
58511         * lib/unistr/u-strspn.h: Likewise.
58512         * lib/unistr/u-strstr.h: Likewise.
58513         * lib/unistr/u-strtok.h: Likewise.
58514         * lib/unistr/u16-check.c: Likewise.
58515         * lib/unistr/u16-chr.c: Likewise.
58516         * lib/unistr/u16-cmp.c: Likewise.
58517         * lib/unistr/u16-cpy-alloc.c: Likewise.
58518         * lib/unistr/u16-cpy.c: Likewise.
58519         * lib/unistr/u16-endswith.c: Likewise.
58520         * lib/unistr/u16-mblen.c: Likewise.
58521         * lib/unistr/u16-mbsnlen.c: Likewise.
58522         * lib/unistr/u16-mbtouc-aux.c: Likewise.
58523         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
58524         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
58525         * lib/unistr/u16-mbtouc.c: Likewise.
58526         * lib/unistr/u16-mbtoucr.c: Likewise.
58527         * lib/unistr/u16-move.c: Likewise.
58528         * lib/unistr/u16-next.c: Likewise.
58529         * lib/unistr/u16-prev.c: Likewise.
58530         * lib/unistr/u16-set.c: Likewise.
58531         * lib/unistr/u16-startswith.c: Likewise.
58532         * lib/unistr/u16-stpcpy.c: Likewise.
58533         * lib/unistr/u16-stpncpy.c: Likewise.
58534         * lib/unistr/u16-strcat.c: Likewise.
58535         * lib/unistr/u16-strchr.c: Likewise.
58536         * lib/unistr/u16-strcmp.c: Likewise.
58537         * lib/unistr/u16-strcpy.c: Likewise.
58538         * lib/unistr/u16-strcspn.c: Likewise.
58539         * lib/unistr/u16-strdup.c: Likewise.
58540         * lib/unistr/u16-strlen.c: Likewise.
58541         * lib/unistr/u16-strmblen.c: Likewise.
58542         * lib/unistr/u16-strmbtouc.c: Likewise.
58543         * lib/unistr/u16-strncat.c: Likewise.
58544         * lib/unistr/u16-strncmp.c: Likewise.
58545         * lib/unistr/u16-strncpy.c: Likewise.
58546         * lib/unistr/u16-strnlen.c: Likewise.
58547         * lib/unistr/u16-strpbrk.c: Likewise.
58548         * lib/unistr/u16-strrchr.c: Likewise.
58549         * lib/unistr/u16-strspn.c: Likewise.
58550         * lib/unistr/u16-strstr.c: Likewise.
58551         * lib/unistr/u16-strtok.c: Likewise.
58552         * lib/unistr/u16-to-u32.c: Likewise.
58553         * lib/unistr/u16-to-u8.c: Likewise.
58554         * lib/unistr/u16-uctomb-aux.c: Likewise.
58555         * lib/unistr/u16-uctomb.c: Likewise.
58556         * lib/unistr/u32-check.c: Likewise.
58557         * lib/unistr/u32-chr.c: Likewise.
58558         * lib/unistr/u32-cmp.c: Likewise.
58559         * lib/unistr/u32-cpy-alloc.c: Likewise.
58560         * lib/unistr/u32-cpy.c: Likewise.
58561         * lib/unistr/u32-endswith.c: Likewise.
58562         * lib/unistr/u32-mblen.c: Likewise.
58563         * lib/unistr/u32-mbsnlen.c: Likewise.
58564         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
58565         * lib/unistr/u32-mbtouc.c: Likewise.
58566         * lib/unistr/u32-mbtoucr.c: Likewise.
58567         * lib/unistr/u32-move.c: Likewise.
58568         * lib/unistr/u32-next.c: Likewise.
58569         * lib/unistr/u32-prev.c: Likewise.
58570         * lib/unistr/u32-set.c: Likewise.
58571         * lib/unistr/u32-startswith.c: Likewise.
58572         * lib/unistr/u32-stpcpy.c: Likewise.
58573         * lib/unistr/u32-stpncpy.c: Likewise.
58574         * lib/unistr/u32-strcat.c: Likewise.
58575         * lib/unistr/u32-strchr.c: Likewise.
58576         * lib/unistr/u32-strcmp.c: Likewise.
58577         * lib/unistr/u32-strcpy.c: Likewise.
58578         * lib/unistr/u32-strcspn.c: Likewise.
58579         * lib/unistr/u32-strdup.c: Likewise.
58580         * lib/unistr/u32-strlen.c: Likewise.
58581         * lib/unistr/u32-strmblen.c: Likewise.
58582         * lib/unistr/u32-strmbtouc.c: Likewise.
58583         * lib/unistr/u32-strncat.c: Likewise.
58584         * lib/unistr/u32-strncmp.c: Likewise.
58585         * lib/unistr/u32-strncpy.c: Likewise.
58586         * lib/unistr/u32-strnlen.c: Likewise.
58587         * lib/unistr/u32-strpbrk.c: Likewise.
58588         * lib/unistr/u32-strrchr.c: Likewise.
58589         * lib/unistr/u32-strspn.c: Likewise.
58590         * lib/unistr/u32-strstr.c: Likewise.
58591         * lib/unistr/u32-strtok.c: Likewise.
58592         * lib/unistr/u32-to-u16.c: Likewise.
58593         * lib/unistr/u32-to-u8.c: Likewise.
58594         * lib/unistr/u32-uctomb.c: Likewise.
58595         * lib/unistr/u8-check.c: Likewise.
58596         * lib/unistr/u8-chr.c: Likewise.
58597         * lib/unistr/u8-cmp.c: Likewise.
58598         * lib/unistr/u8-cpy-alloc.c: Likewise.
58599         * lib/unistr/u8-cpy.c: Likewise.
58600         * lib/unistr/u8-endswith.c: Likewise.
58601         * lib/unistr/u8-mblen.c: Likewise.
58602         * lib/unistr/u8-mbsnlen.c: Likewise.
58603         * lib/unistr/u8-mbtouc-aux.c: Likewise.
58604         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
58605         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
58606         * lib/unistr/u8-mbtouc.c: Likewise.
58607         * lib/unistr/u8-mbtoucr.c: Likewise.
58608         * lib/unistr/u8-move.c: Likewise.
58609         * lib/unistr/u8-next.c: Likewise.
58610         * lib/unistr/u8-prev.c: Likewise.
58611         * lib/unistr/u8-set.c: Likewise.
58612         * lib/unistr/u8-startswith.c: Likewise.
58613         * lib/unistr/u8-stpcpy.c: Likewise.
58614         * lib/unistr/u8-stpncpy.c: Likewise.
58615         * lib/unistr/u8-strcat.c: Likewise.
58616         * lib/unistr/u8-strchr.c: Likewise.
58617         * lib/unistr/u8-strcmp.c: Likewise.
58618         * lib/unistr/u8-strcpy.c: Likewise.
58619         * lib/unistr/u8-strcspn.c: Likewise.
58620         * lib/unistr/u8-strdup.c: Likewise.
58621         * lib/unistr/u8-strlen.c: Likewise.
58622         * lib/unistr/u8-strmblen.c: Likewise.
58623         * lib/unistr/u8-strmbtouc.c: Likewise.
58624         * lib/unistr/u8-strncat.c: Likewise.
58625         * lib/unistr/u8-strncmp.c: Likewise.
58626         * lib/unistr/u8-strncpy.c: Likewise.
58627         * lib/unistr/u8-strnlen.c: Likewise.
58628         * lib/unistr/u8-strpbrk.c: Likewise.
58629         * lib/unistr/u8-strrchr.c: Likewise.
58630         * lib/unistr/u8-strspn.c: Likewise.
58631         * lib/unistr/u8-strstr.c: Likewise.
58632         * lib/unistr/u8-strtok.c: Likewise.
58633         * lib/unistr/u8-to-u16.c: Likewise.
58634         * lib/unistr/u8-to-u32.c: Likewise.
58635         * lib/unistr/u8-uctomb-aux.c: Likewise.
58636         * lib/unistr/u8-uctomb.c: Likewise.
58637         * lib/unitypes.h: Likewise.
58638         * lib/uniwidth.h: Likewise.
58639         * lib/uniwidth/cjk.h: Likewise.
58640         * lib/uniwidth/u16-strwidth.c: Likewise.
58641         * lib/uniwidth/u16-width.c: Likewise.
58642         * lib/uniwidth/u32-strwidth.c: Likewise.
58643         * lib/uniwidth/u32-width.c: Likewise.
58644         * lib/uniwidth/u8-strwidth.c: Likewise.
58645         * lib/uniwidth/u8-width.c: Likewise.
58646         * lib/uniwidth/width.c: Likewise.
58647
58648 2007-10-07  Bruno Haible  <bruno@clisp.org>
58649
58650         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
58651         The file is still under LGPL (see modules/inttypes).
58652
58653 2007-10-06  Bruno Haible  <bruno@clisp.org>
58654
58655         * modules/trunc (Dependencies): Add 'extensions'.
58656         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
58657         Reported by Ben Pfaff <blp@gnu.org>.
58658
58659 2007-10-06  Bruno Haible  <bruno@clisp.org>
58660
58661         * modules/freopen-tests: New file.
58662         * tests/test-freopen.c: New file.
58663
58664         * modules/fopen-tests: New file.
58665         * tests/test-fopen.c: New file.
58666
58667         * modules/fopen: New file.
58668         * lib/fopen.c: New file.
58669         * m4/fopen.m4: New file.
58670         * modules/freopen: New file.
58671         * lib/freopen.c: New file.
58672         * m4/freopen.m4: New file.
58673         * lib/stdio.in.h (fopen, freopen): New declarations.
58674         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
58675         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
58676         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
58677         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
58678         * doc/functions/fopen.texi: Mention the 'fopen' module.
58679         * doc/functions/freopen.texi: Mention the 'freopen' module.
58680
58681 2007-10-06  Bruno Haible  <bruno@clisp.org>
58682
58683         * modules/open-tests: New file.
58684         * tests/test-open.c: New file.
58685
58686         * modules/open: New file.
58687         * lib/open.c: New file.
58688         * m4/open.m4: New file.
58689         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
58690         lib/open.c does.
58691         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
58692         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
58693         macros.
58694         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
58695         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
58696         REPLACE_OPEN.
58697         * doc/functions/open.texi: Mention the 'open' module.
58698
58699 2007-10-04  Bruno Haible  <bruno@clisp.org>
58700
58701         * modules/ceill-tests: New file.
58702         * tests/test-ceill.c: New file.
58703
58704         * modules/ceill: New file.
58705         * lib/ceill.c: Replace entire file.
58706         * m4/ceill.m4: New file.
58707         * lib/math.in.h (ceill): Replace declaration.
58708         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
58709         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
58710         * doc/functions/ceill.texi: Mention the 'ceill' module.
58711         * modules/mathl (Files): Remove lib/ceill.c.
58712         (Depends-on): Add ceill.
58713
58714 2007-10-04  Bruno Haible  <bruno@clisp.org>
58715
58716         * modules/ceilf-tests: New file.
58717         * tests/test-ceilf.c: New file.
58718
58719         * modules/ceilf: New file.
58720         * lib/ceil.c: New file.
58721         * lib/ceilf.c: New file.
58722         * m4/ceilf.m4: New file.
58723         * lib/math.in.h (ceilf): New declaration.
58724         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
58725         HAVE_DECL_CEILF.
58726         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
58727         HAVE_DECL_CEILF.
58728         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
58729
58730 2007-10-04  Bruno Haible  <bruno@clisp.org>
58731
58732         * modules/floorl-tests: New file.
58733         * tests/test-floorl.c: New file.
58734
58735         * modules/floorl: New file.
58736         * lib/floorl.c: Replace entire file.
58737         * m4/floorl.m4: New file.
58738         * lib/math.in.h (floorl): Replace declaration.
58739         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
58740         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
58741         * doc/functions/floorl.texi: Mention the 'floorl' module.
58742         * modules/mathl (Files): Remove lib/floorl.c.
58743         (Depends-on): Add floorl.
58744
58745 2007-10-04  Bruno Haible  <bruno@clisp.org>
58746
58747         * modules/floorf-tests: New file.
58748         * tests/test-floorf.c: New file.
58749
58750         * modules/floorf: New file.
58751         * lib/floor.c: New file.
58752         * lib/floorf.c: New file.
58753         * m4/floorf.m4: New file.
58754         * lib/math.in.h (floorf): New declaration.
58755         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
58756         HAVE_DECL_FLOORF.
58757         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
58758         HAVE_DECL_FLOORF.
58759         * doc/functions/floorf.texi: Mention the 'floorf' module.
58760
58761 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
58762             Bruno Haible  <bruno@clisp.org>
58763
58764         Advertise for the Git server instead of the CVS server.
58765         * doc/gnulib-intro.texi (Steady Development): Mention the Git
58766         repository instead of the CVS one.
58767         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
58768         about all VCS systems generically.
58769         * doc/gnulib.texi (Introduction): Capitalize `Git'.
58770
58771 2007-10-04  Bruno Haible  <bruno@clisp.org>
58772
58773         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
58774         means.
58775         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
58776
58777 2007-10-04  Bruno Haible  <bruno@clisp.org>
58778
58779         * modules/truncl-tests: New file.
58780         * tests/test-truncl.c: New file.
58781
58782         * modules/truncl: New file.
58783         * lib/truncl.c: New file.
58784         * m4/truncl.m4: New file.
58785         * lib/math.in.h (truncl): New declaration.
58786         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
58787         HAVE_DECL_TRUNCL.
58788         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
58789         HAVE_DECL_TRUNCL.
58790         * doc/functions/truncl.texi: Mention the 'truncl' module.
58791
58792 2007-10-04  Bruno Haible  <bruno@clisp.org>
58793
58794         * modules/truncf-tests: New file.
58795         * tests/test-truncf.c: New file.
58796
58797         * modules/truncf: New file.
58798         * lib/trunc.c: Make paramerizable through USE_* macros.
58799         * lib/truncf.c: New file.
58800         * m4/truncf.m4: New file.
58801         * lib/math.in.h (truncf): New declaration.
58802         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
58803         HAVE_DECL_TRUNCF.
58804         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
58805         HAVE_DECL_TRUNCF.
58806         * doc/functions/truncf.texi: Mention the 'truncf' module.
58807
58808 2007-10-03  Bruno Haible  <bruno@clisp.org>
58809
58810         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
58811         augmentation also for tests modules.
58812         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
58813         * modules/atexit-tests (Makefile.am): Likewise.
58814         * modules/binary-io-tests (Makefile.am): Likewise.
58815         * modules/c-strcase-tests (Makefile.am): Likewise.
58816         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
58817         * modules/canonicalize-tests (Makefile.am): Likewise.
58818         * modules/closein-tests (Makefile.am): Likewise.
58819         * modules/fprintf-posix-tests (Makefile.am): Likewise.
58820         * modules/freadahead-tests (Makefile.am): Likewise.
58821         * modules/fseek-tests (Makefile.am): Likewise.
58822         * modules/fseeko-tests (Makefile.am): Likewise.
58823         * modules/ftell-tests (Makefile.am): Likewise.
58824         * modules/ftello-tests (Makefile.am): Likewise.
58825         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
58826         * modules/isnanl-tests (Makefile.am): Likewise.
58827         * modules/lseek-tests (Makefile.am): Likewise.
58828         * modules/mbscasecmp-tests (Makefile.am): Likewise.
58829         * modules/mbscasestr-tests (Makefile.am): Likewise.
58830         * modules/mbschr-tests (Makefile.am): Likewise.
58831         * modules/mbscspn-tests (Makefile.am): Likewise.
58832         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
58833         * modules/mbspbrk-tests (Makefile.am): Likewise.
58834         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
58835         * modules/mbsrchr-tests (Makefile.am): Likewise.
58836         * modules/mbsspn-tests (Makefile.am): Likewise.
58837         * modules/mbsstr-tests (Makefile.am): Likewise.
58838         * modules/printf-posix-tests (Makefile.am): Likewise.
58839         * modules/snprintf-posix-tests (Makefile.am): Likewise.
58840         * modules/sprintf-posix-tests (Makefile.am): Likewise.
58841         * modules/tsearch-tests (Makefile.am): Likewise.
58842         * modules/uniname/uniname-tests (Makefile.am): Likewise.
58843         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
58844         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
58845         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
58846         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
58847         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
58848         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
58849         * modules/vprintf-posix-tests (Makefile.am): Likewise.
58850         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
58851         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
58852         * modules/xstrtoimax-tests (Makefile.am): Likewise.
58853         * modules/xstrtol-tests (Makefile.am): Likewise.
58854         * modules/xstrtoumax-tests (Makefile.am): Likewise.
58855         * modules/yesno-tests (Makefile.am): Likewise.
58856
58857 2007-10-03  Bruno Haible  <bruno@clisp.org>
58858
58859         * modules/trunc-tests: New file.
58860         * tests/test-trunc.c: New file.
58861
58862         * modules/trunc: New file.
58863         * lib/trunc.c: New file.
58864         * m4/trunc.m4: New file.
58865         * lib/math.in.h (trunc): New declaration.
58866         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
58867         HAVE_DECL_TRUNC.
58868         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
58869         HAVE_DECL_TRUNC.
58870         * doc/functions/trunc.texi: Mention the 'trunc' module.
58871
58872 2007-10-03  Bruno Haible  <bruno@clisp.org>
58873
58874         * tests/test-fpending.c: New file, mostly copied
58875         from coreutils/lib/t-fpending.c.
58876         * modules/fpending-tests: New file.
58877
58878 2007-10-03  Bruno Haible  <bruno@clisp.org>
58879
58880         Port the stdio extensions to QNX (untested).
58881         * lib/fseterr.c (fseterr): Add support for QNX.
58882         * lib/fbufmode.c (fbufmode): Likewise.
58883         * lib/freadable.c (freadable): Likewise.
58884         * lib/fwritable.c (fwritable): Likewise.
58885         * lib/freading.c (freading): Likewise.
58886         * lib/fwriting.c (fwriting): Likewise.
58887         * lib/freadahead.c (freadahed): Likewise.
58888         * lib/fpurge.c (fpurge): Likewise.
58889         * lib/fseeko.c (rpl_fseeko): Likewise.
58890
58891 2007-10-03  Bruno Haible  <bruno@clisp.org>
58892             Jim Meyering  <jim@meyering.net>
58893             Eric Blake  <ebb9@byu.net>
58894
58895         * doc/relocatable.texi: Use @command instead of @program.
58896
58897 2007-10-02  Jim Meyering  <jim@meyering.net>
58898
58899         Perform one more "_.h" -> ".in.h" substitution.
58900         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
58901         instead of unistd_.h here, too.
58902
58903 2007-10-01  Bruno Haible  <bruno@clisp.org>
58904
58905         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
58906         Needed for the alloca-opt module.
58907
58908 2007-09-30  Bruno Haible  <bruno@clisp.org>
58909
58910         * lib/alloca.in.h: Renamed from lib/alloca_.h.
58911         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
58912         alloca_.h.
58913         * lib/argz.in.h: Renamed from lib/argz_.h.
58914         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
58915         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
58916         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
58917         byteswap_.h.
58918         * lib/dirent.in.h: Renamed from lib/dirent_.h.
58919         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
58920         dirent_.h.
58921         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
58922         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
58923         fcntl_.h.
58924         * lib/float.in.h: Renamed from lib/float_.h.
58925         * modules/float (Files, Makefile.am): Use float.in.h instead of
58926         float_.h.
58927         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
58928         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
58929         fnmatch_.h.
58930         * lib/getopt.in.h: Renamed from lib/getopt_.h.
58931         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
58932         getopt_.h.
58933         * lib/glob.in.h: Renamed from lib/glob_.h.
58934         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
58935         * lib/iconv.in.h: Renamed from lib/iconv_.h.
58936         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
58937         iconv_.h.
58938         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
58939         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
58940         inttypes_.h.
58941         * lib/locale.in.h: Renamed from lib/locale_.h.
58942         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
58943         locale_.h.
58944         * lib/math.in.h: Renamed from lib/math_.h.
58945         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
58946         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
58947         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
58948         of netinet_in_.h. Add dependency.
58949         * lib/poll.in.h: Renamed from lib/poll_.h.
58950         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
58951         * lib/search.in.h: Renamed from lib/search_.h.
58952         * modules/search (Files, Makefile.am): Use search.in.h instead of
58953         search_.h.
58954         * lib/signal.in.h: Renamed from lib/signal_.h.
58955         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
58956         _signal.h.
58957         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
58958         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
58959         stdbool_.h.
58960         * lib/stdint.in.h: Renamed from lib/stdint_.h.
58961         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
58962         stdint_.h.
58963         * lib/stdio.in.h: Renamed from lib/stdio_.h.
58964         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
58965         stdio_.h.
58966         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
58967         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
58968         stdlib_.h.
58969         * lib/string.in.h: Renamed from lib/string_.h.
58970         * modules/string (Files, Makefile.am): Use string.in.h instead of
58971         string_.h.
58972         * doc/gnulib-tool.texi (Initial import): Update.
58973         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
58974         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
58975         of sys_select_.h. Add dependency.
58976         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
58977         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
58978         of sys_socket_.h.
58979         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
58980         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
58981         sys_stat_.h.
58982         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
58983         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
58984         sys_time_.h.
58985         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
58986         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
58987         sysexits_.h.
58988         * lib/time.in.h: Renamed from lib/time_.h.
58989         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
58990         * lib/unistd.in.h: Renamed from lib/unistd_.h.
58991         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
58992         unistd_.h.
58993         * lib/wchar.in.h: Renamed from lib/wchar_.h.
58994         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
58995         wchar_.h.
58996         * lib/wctype.in.h: Renamed from lib/wctype_.h.
58997         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
58998         wctype_.h.
58999         * build-aux/bootstrap (slurp): Update.
59000         * lib/.cppi-disable: Update.
59001
59002 2007-09-30  Bruno Haible  <bruno@clisp.org>
59003
59004         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
59005         Needed on BeOS.
59006
59007 2007-09-30  Bruno Haible  <bruno@clisp.org>
59008
59009         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
59010
59011 2007-09-29  Bruno Haible  <bruno@clisp.org>
59012
59013         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
59014
59015 2007-09-29  Bruno Haible  <bruno@clisp.org>
59016
59017         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
59018         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
59019         * build-aux/install-reloc: Compile also areadlink.c.
59020         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
59021
59022 2007-09-29  Bruno Haible  <bruno@clisp.org>
59023
59024         * gnulib-tool (func_emit_initmacro_done): Indentation.
59025
59026 2007-09-29  Bruno Haible  <bruno@clisp.org>
59027
59028         * README: Add CVS checkout update instructions.
59029         Info from Bob Proulx <bob@proulx.com>.
59030
59031 2007-09-28  Eric Blake  <ebb9@byu.net>
59032
59033         Provide move-if-change.
59034         * build-aux/move-if-change: New file, based on best practice
59035         rather than any canonical upstream location.
59036
59037 2007-09-28  Jim Meyering  <jim@meyering.net>
59038
59039         Fix canonicalize loop-detection corner case.
59040         Do not attempt to stat the symlink values stored via seen_triple.
59041         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
59042         on linux-2.6.18, (but not 2.6.22).
59043         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
59044         triple_compare.  The former compares dev,ino,filename, while the latter
59045         would actually stat dirname(filename) when dev and ino were equal.
59046         * lib/hash-triple.c: Install <string.h>.
59047         (STREQ): Define.
59048         (triple_compare_ino_str): New function.
59049         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
59050
59051 2007-09-28  Eric Blake  <ebb9@byu.net>
59052
59053         Enforce that AC_REPLACE_FUNCS files exist.
59054         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
59055         override check for typos.
59056
59057         Fix test-closein on Solaris 10.
59058         * tests/test-closein.c (main): Don't assume stdin can be inherited
59059         closed on all systems.
59060         * tests/test-closein.sh: Likewise.
59061         Reported by Piotr Tarnowski.
59062
59063 2007-09-28  Jim Meyering  <jim@meyering.net>
59064
59065         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
59066
59067 2007-09-27  Jim Meyering  <jim@meyering.net>
59068
59069         canonicalize: Avoid a false-positive cycle failure.
59070         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
59071         Sort.  Remove cycle-check.
59072         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
59073         not cycle-check.h.
59074         (seen_triple): New function.
59075         (canonicalize_filename_mode): Use it instead of cycle-check.
59076         * tests/test-canonicalize.c: Add a test for this bug.
59077         * tests/test-canonicalize.sh: Set up and run the test.
59078
59079         New module, file-set, from coreutils.
59080         * modules/file-set: Define it.
59081         * lib/file-set.c, lib/file-set.h: Implement.
59082
59083         New module, hash-triple, from coreutils.
59084         * modules/hash-triple: Define it.
59085         * lib/hash-triple.c, lib/hash-triple.h: Implement.
59086
59087 2007-09-25  Eric Blake  <ebb9@byu.net>
59088
59089         Fix strerror on Interix.
59090         * lib/string_.h (strerror): Declare replacement.
59091         * doc/functions/strerror.texi (strerror): Document the Interix
59092         shortcoming.
59093         * modules/string (Makefile.am): Support new hooks.
59094         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
59095         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
59096         gl_FUNC_STRERROR_SEPARATE.
59097         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
59098         * lib/strerror.c (rpl_strerror): Provide replacement.
59099         * modules/strerror (Depends-on): Add string.
59100         (configure.ac): Detect use of module.
59101         * tests/test-strerror.c: New file.
59102         * modules/strerror-tests: New test module.
59103         * modules/argp (Depends-on): Add strerror.
59104         * modules/error (Depends-on): Likewise.
59105         Reported by Martin Koeppe.
59106
59107 2007-09-24  Bruno Haible  <bruno@clisp.org>
59108
59109         * README: Update git instructions.
59110
59111 2007-09-24  Eric Blake  <ebb9@byu.net>
59112
59113         Revert fpending breakage from 2007-09-08.
59114         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
59115         __fpending.c.
59116
59117 2007-09-24  Jim Meyering  <jim@meyering.net>
59118
59119         filenamecat.c: Add a test.
59120         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
59121         showing how the function works when DIR is the empty string.
59122
59123 2007-09-21  Simon Josefsson  <simon@josefsson.org>
59124
59125         * tests/test-canonicalize.sh: Turn on executable bit.
59126
59127 2007-09-19  Eric Blake  <ebb9@byu.net>
59128
59129         * README: Update CVS instructions.
59130
59131 2007-09-18  Bruno Haible  <bruno@clisp.org>
59132
59133         * modules/areadlink: New file.
59134         * lib/areadlink.h (areadlink): New declaration.
59135         * lib/areadlink.c: New file, based on lib/xreadlink.c.
59136
59137 2007-09-17  Jim Meyering  <jim@meyering.net>
59138
59139         * lib/savewd.c (ESTALE) [!defined]: Define.
59140         Reported to be required on Interix by Martin Koeppe.
59141
59142 2007-09-17  Bruno Haible  <bruno@clisp.org>
59143
59144         * gnulib-tool (func_version): Use $version.
59145
59146 2007-09-16  Bruno Haible  <bruno@clisp.org>
59147
59148         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
59149         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
59150         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
59151         Reported by Greg Schafer <gschafer@zip.com.au>.
59152
59153 2007-09-15  Bruno Haible  <bruno@clisp.org>
59154
59155         * gnulib-tool (sed): Try a little harder to make bash understand the
59156         alias.
59157         Reported by Bruce Korb <bruce.korb@gmail.com>.
59158
59159 2007-09-13  Eric Blake  <ebb9@byu.net>
59160
59161         * ChangeLog: Remove conflict markers.
59162
59163 2007-09-13  Simon Josefsson  <simon@josefsson.org>
59164
59165         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
59166         Reported by Bruno Haible <bruno@clisp.org>.
59167
59168 2007-09-12  Bruno Haible  <bruno@clisp.org>
59169
59170         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
59171         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
59172         is not defined.
59173
59174 2007-09-12  Eric Blake  <ebb9@byu.net>
59175
59176         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
59177         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
59178         Autoconf definition.
59179         * modules/euidaccess (Depends-on): Add extensions, for
59180         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
59181         * modules/fnmatch (Depends-on): Likewise.
59182         * modules/getaddrinfo (Depends-on): Likewise.
59183         * modules/getdelim (Depends-on): Likewise.
59184         * modules/getline (Depends-on): Likewise.
59185         * modules/getsubopt (Depends-on): Likewise.
59186         * modules/gettext (Depends-on): Likewise.
59187         * modules/group-member (Depends-on): Likewise.
59188         * modules/mbchar (Depends-on): Likewise.
59189         * modules/memmem (Depends-on): Likewise.
59190         * modules/mempcpy (Depends-on): Likewise.
59191         * modules/memrchr (Depends-on): Likewise.
59192         * modules/pagealign_alloc (Depends-on): Likewise.
59193         * modules/readutmp (Depends-on): Likewise.
59194         * modules/stpcpy (Depends-on): Likewise.
59195         * modules/stpncpy (Depends-on): Likewise.
59196         * modules/strchrnul (Depends-on): Likewise.
59197         * modules/strndup (Depends-on): Likewise.
59198         * modules/strsep (Depends-on): Likewise.
59199         * modules/strverscmp (Depends-on): Likewise.
59200         * modules/vasprintf (Depends-on): Likewise.
59201         * modules/wcwidth (Depends-on): Likewise.
59202         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
59203         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
59204         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
59205         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
59206         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
59207         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
59208         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
59209         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
59210         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
59211         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
59212         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
59213         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
59214         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
59215         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
59216         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
59217         * m4/readutmp.m4 (gl_READUTMP): Likewise.
59218         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
59219         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
59220         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
59221         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
59222         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
59223         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
59224         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
59225         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
59226         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
59227         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
59228         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
59229         so that lock.m4 can be used in gettext without extensions module.
59230
59231 2007-09-11  Bruno Haible  <bruno@clisp.org>
59232
59233         * m4/isc-posix.m4: Remove file.
59234         Suggested by Eric Blake.
59235
59236 2007-09-11  Eric Blake  <ebb9@byu.net>
59237
59238         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
59239
59240 2007-09-10  Bruno Haible  <bruno@clisp.org>
59241
59242         * posix-modules: Fix typo in error message.
59243         Reported by Matt <mkraai@beckman.com>.
59244
59245 2007-09-09  Bruno Haible  <bruno@clisp.org>
59246
59247         * doc/functions/getdelim.texi: Update list of platforms lacking the
59248         function.
59249         * doc/functions/getline.texi: Likewise.
59250
59251 2007-09-09  Jim Meyering  <jim@meyering.net>
59252
59253         * lib/hash.c (hash_initialize): Detect calloc failure.
59254         Reported by Bruno Haible.
59255
59256 2007-09-09  Bruno Haible  <bruno@clisp.org>
59257
59258         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
59259         malloc or realloc fails.
59260
59261 2007-09-09  Bruno Haible  <bruno@clisp.org>
59262
59263         * modules/getcwd (Depends-on): Add malloc-posix.
59264         * modules/glob (Depends-on): Likewise.
59265         * modules/putenv (Depends-on): Likewise.
59266         * modules/strdup (Depends-on): Likewise.
59267         * modules/getdelim (Depends-on): Add realloc-posix.
59268         * modules/read-file (Depends-on): Likewise.
59269
59270 2007-09-09  Bruno Haible  <bruno@clisp.org>
59271
59272         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
59273         (gl_FUNC_MALLOC_POSIX): Require it.
59274         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
59275         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
59276         * modules/realloc (Files): Add m4/malloc.m4.
59277         * modules/calloc (Files): Likewise.
59278
59279 2007-09-09  Bruno Haible  <bruno@clisp.org>
59280
59281         * modules/malloc-posix: New file.
59282         * modules/malloc (Depends-on): Add malloc-posix.
59283         * lib/malloc.c: Include errno.h.
59284         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
59285         and a POSIX-compatible malloc into a single function. Set ENOMEM
59286         when returning NULL.
59287         * m4/malloc.m4: New file.
59288         * doc/functions/malloc.texi: Mention the malloc-posix module.
59289         * lib/stdlib_.h (malloc): New declaration.
59290         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
59291         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
59292         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
59293         and HAVE_MALLOC_POSIX.
59294
59295 2007-09-09  Bruno Haible  <bruno@clisp.org>
59296
59297         * modules/realloc-posix: New file.
59298         * modules/realloc (Depends-on): Add realloc-posix.
59299         * lib/realloc.c: Include errno.h.
59300         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
59301         and a POSIX-compatible realloc into a single function. Set ENOMEM
59302         when returning NULL.
59303         * m4/realloc.m4: New file.
59304         * doc/functions/realloc.texi: Mention the realloc-posix module.
59305         * lib/stdlib_.h (realloc): New declaration.
59306         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
59307         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
59308         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
59309         and HAVE_REALLOC_POSIX.
59310
59311 2007-09-09  Bruno Haible  <bruno@clisp.org>
59312
59313         * modules/calloc-posix: New file.
59314         * modules/calloc (Depends-on): Add calloc-posix.
59315         * lib/calloc.c: Include errno.h.
59316         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
59317         and a POSIX-compatible calloc into a single function. Set ENOMEM
59318         when returning NULL.
59319         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
59320         * doc/functions/calloc.texi: Mention the calloc-posix module.
59321         * lib/stdlib_.h (calloc): New declaration.
59322         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
59323         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
59324         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
59325         and HAVE_CALLOC_POSIX.
59326
59327 2007-09-09  Bruno Haible  <bruno@clisp.org>
59328
59329         Allow for modules to show an arbitrary notice.
59330         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
59331         * gnulib-tool: New option --extract-notice.
59332         (func_usage): Document it.
59333         (sed_extract_prog): Update.
59334         (func_get_notice): New function.
59335         (func_modules_notice): New function.
59336         (func_import, func_create_testdir): Invoke it.
59337         Suggested by Jim Meyering.
59338
59339 2007-09-09  Bruno Haible  <bruno@clisp.org>
59340
59341         * gnulib-tool: New options --verbose, --quiet.
59342         (func_usage): Document them.
59343         (verbose): New variable.
59344         (func_execute_command): New function.
59345         (func_import): Don't show the module list and the file list if
59346         $verbose < 0.
59347         (func_create_testdir): Likewise. Use func_execute_command.
59348         (func_create_megatestdir): Use func_execute_command.
59349
59350 2007-09-08  Bruno Haible  <bruno@clisp.org>
59351
59352         * gnulib-tool (func_import): Prefer rsync over wget when available,
59353         for fetching the PO files.
59354
59355 2007-09-08  Bruno Haible  <bruno@clisp.org>
59356
59357         * posix-modules: New file. Portions copied from gnulib-tool.
59358         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
59359
59360 2007-09-08  Jim Meyering  <jim@meyering.net>
59361
59362         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
59363         * lib/fpending.h: Rename from __fpending.h.
59364         * lib/fpending.c: Rename from __fpending.c.
59365         Include "fpending.h", not "__fpending.h".
59366         * lib/__fpending.h, lib/__fpending.c: Remove files.
59367         * modules/fpending (Files): Reflect new file names.
59368         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
59369
59370 2007-09-08  Bruno Haible  <bruno@clisp.org>
59371
59372         * m4/inttypes-h.m4: Remove stub file.
59373
59374 2007-09-07  Simon Josefsson  <simon@josefsson.org>
59375
59376         * doc/headers/stdint.texi: Discuss #include_next issue.
59377
59378 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
59379
59380         * build-aux/bootstrap: Remove obsolete comment about wget --help.
59381
59382 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59383
59384         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
59385         in variable name.
59386
59387 2007-09-03  Jim Meyering  <jim@meyering.net>
59388
59389         New module: git-version-gen.
59390         * modules/git-version-gen: New file.
59391
59392         Import changes from coreutils for bootstrap script.
59393
59394         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
59395
59396         bootstrap: uses rsync to download the .po files
59397         * build-aux/bootstrap (po_download_command_format): New global.
59398         (download_po_files): Use rsync.
59399         (update_po_files): Don't remove .po files after download,
59400         so future rsync runs can take advantage of the copies.
59401
59402         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
59403
59404         Solve the unnecessary-.po-file-regeneration problem once and for all.
59405         * build-aux/bootstrap (download_po_files): New function, renamed from
59406         get_translations.  Now, downloads, but doesn't update LINGUAS.
59407         (update_po_files): New function.
59408
59409         bootstrap: Ignore more.
59410         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
59411         uniwidth to e.g., lib/.gitignore.
59412         (slurp): Handle the sys_stat_.h -> sys mapping, too.
59413
59414         * build-aux/bootstrap: New setting: vc_ignore.
59415         (insert_sorted_if_absent): Create $file if absent.
59416         Adapt to new, possibly empty, list: $vc_ignore.
59417
59418         bootstrap: generate more ignorable names
59419         * build-aux/bootstrap (slurp): When generating ignorable names,
59420         also map .sin to .sed, .gperf to .c, and .y to .c.
59421
59422 2007-09-03  Jim Meyering  <jim@meyering.net>
59423
59424         * build-aux/git-version-gen: New file, from coreutils.  For details, see
59425         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
59426
59427 2007-09-02  Bruno Haible  <bruno@clisp.org>
59428
59429         Fix mis-recognition of 'mcs' on QNX 6.
59430         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
59431         output contains the string "Mono".
59432         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
59433         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
59434
59435 2007-09-01  Bruno Haible  <bruno@clisp.org>
59436
59437         Fix collision between uniwidth/* and linebreak modules.
59438         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
59439         u32_width): Remove declarations.
59440         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
59441         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
59442         streq3, streq2, streq1, streq0): Remove functions.
59443         (STREQ): Remove macro.
59444         (is_cjk_encoding): Remove function.
59445         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
59446         (uc_width, u8_width, u16_width, u32_width): Remove functions.
59447         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
59448         * NEWS: Document the change.
59449
59450 2007-09-01  Bruno Haible  <bruno@clisp.org>
59451
59452         * lib/streq.h: Add double-inclusion guard.
59453
59454 2007-09-01  Karl Berry  <karl@gnu.org>
59455
59456         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
59457
59458 2007-08-28  Jim Meyering  <jim@meyering.net>
59459
59460         Rename mreadlink_with_size to areadlink_with_size.
59461         * NEWS: Document the change.
59462         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
59463         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
59464         * lib/mreadlink.h: Rename this to...
59465         * lib/areadlink.h: ...this.
59466         * modules/mreadlink-with-size: Rename this to...
59467         * modules/areadlink-with-size: ...this.
59468         * lib/canonicalize.c: Reflect the renaming.
59469         * modules/canonicalize: Likewise.
59470
59471 2007-08-26  Bruno Haible  <bruno@clisp.org>
59472
59473         * gnulib-tool (func_import): When deciding which files to remove,
59474         consider also dangling symbolic links.
59475         Reported by Eric Blake.
59476
59477 2007-08-26  Bruno Haible  <bruno@clisp.org>
59478
59479         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
59480
59481 2007-08-23  Simon Josefsson  <simon@josefsson.org>
59482
59483         * lib/readline.c: Don't include getline.h, the prototype is now
59484         found in stdio.h.
59485
59486 2007-08-23  Jim Meyering  <jim@meyering.net>
59487
59488         Getdelim touchup.
59489         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
59490         around the funlockfile call, since funlockfile never sets errno.
59491         Don't set errno upon failed realloc.
59492
59493 2007-08-22  Eric Blake  <ebb9@byu.net>
59494
59495         Getline touchups.
59496         * lib/getdelim.c (getdelim): Revert regression that required *n to
59497         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
59498         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
59499         getdelim, rather than whether implementation is missing.
59500         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
59501         * lib/stdio_.h (getline): Also declare if replacement is
59502         required.
59503         * doc/functions/getdelim.texi: New file.
59504         * doc/functions/getline.texi: Likewise.
59505         * doc/gnulib.texi (Function Substitutes): Add new files.
59506         Reported by Bruno Haible.
59507
59508 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
59509
59510         * users.txt: Add Guile.
59511
59512 2007-08-22  Eric Blake  <ebb9@byu.net>
59513
59514         * tests/test-getdelim.c (main): Use remove, not unlink.
59515         * tests/test-getline.c (main): Likewise.
59516
59517         Move getline and getdelim into stdio.h, per POSIX 200x.
59518         * modules/getline (Files): Remove getline.h.
59519         (Depends-on): Add stdio.
59520         (configure.ac): Add module indicator.
59521         * modules/getdelim (Files): Remove getdelim.h.
59522         (Depends-on): Add stdio.
59523         (configure.ac): Add module indicator.
59524         * modules/stdio (Makefile.am): Work with new indicators.
59525         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
59526         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
59527         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
59528         * lib/getdelim.h: Delete.
59529         * lib/getline.h: Delete.
59530         * lib/stdio_.h (getdelim, getline): Declare.
59531         * modules/getdelim-tests: New module.
59532         * modules/getline-tests: Likewise.
59533         * tests/test-getdelim.c: New file.
59534         * tests/test-getline.c: Likewise.
59535         * NEWS: Document the change.
59536         * lib/getline.c: Update choice of header.
59537         * lib/csharpcomp.c: Likewise.
59538         * lib/getpass.c: Likewise.
59539         * lib/javacomp.c: Likewise.
59540         * lib/javaversion.c: Likewise.
59541         * lib/yesno.c: Likewise.
59542         * lib/getdelim.c: Likewise.
59543         (getdelim): Set errno on failure, and avoid memory leak.
59544
59545 2007-08-19  Bruno Haible  <bruno@clisp.org>
59546
59547         * modules/closein (Depends-on): Add freadahead.
59548         * lib/closein.c: Include freadahead.h.
59549         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
59550         is zero.
59551
59552 2007-08-19  Bruno Haible  <bruno@clisp.org>
59553
59554         * modules/freadahead-tests: New file.
59555         * tests/test-freadahead.sh: New file.
59556         * tests/test-freadahead.c: New file.
59557
59558         * modules/freadahead: New file.
59559         * lib/freadahead.h: New file.
59560         * lib/freadahead.c: New file.
59561         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
59562         fbufmode, fpurge, freadable, fwritable.
59563
59564 2007-08-19  Eric Blake  <ebb9@byu.net>
59565
59566         Test yesno in combination with closein.
59567         * lib/yesno.c (yesno): Document use of stdin.
59568         * modules/yesno-tests (Files): New module.
59569         * tests/test-yesno.c (main): New file.
59570         * tests/test-yesno.sh: Likewise.
59571
59572 2007-08-19  Bruno Haible  <bruno@clisp.org>
59573
59574         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
59575         * lib/fseeko.c (rpl_fseeko): Likewise.
59576         * lib/fseterr.c (fseterr): Likewise.
59577
59578 2007-08-19  Bruno Haible  <bruno@clisp.org>
59579
59580         * tests/test-lseek.c (main): Disable a test for BeOS.
59581         * doc/functions/lseek.texi: Document the BeOS bug.
59582
59583 2007-08-19  Bruno Haible  <bruno@clisp.org>
59584             Eric Blake  <ebb9@byu.net>
59585
59586         * lib/lseek.c: Include <sys/stat.h>.
59587         (rpl_lseek): Add workaround code also for Unix platforms.
59588         Needed for BeOS.
59589         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
59590         * doc/functions/lseek.texi: Document BeOS definiency.
59591
59592 2007-08-18  Bruno Haible  <bruno@clisp.org>
59593
59594         * modules/fstrcmp-tests: New file.
59595         * tests/test-fstrcmp.c: New file.
59596
59597 2007-08-18  Bruno Haible  <bruno@clisp.org>
59598
59599         * modules/fstrcmp: New file, from GNU gettext with modifications.
59600         * lib/fstrcmp.h: New file, from GNU gettext.
59601         * lib/fstrcmp.c: New file, from GNU gettext.
59602         * MODULES.html.sh (String handling): Add fstrcmp.
59603
59604 2007-08-18  Bruno Haible  <bruno@clisp.org>
59605
59606         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
59607         'bool'.
59608         (diag, compareseq): Remove const from the ctxt argument.
59609         (USE_HEURISTIC): Undefine at the end.
59610
59611 2007-08-18  Jim Meyering  <jim@meyering.net>
59612
59613         New file: lib/idcache.h
59614         * NEWS: Mention the addition.
59615         * modules/idcache (Files): Add lib/idcache.h
59616         * lib/idcache.c: Include "idcache.h".
59617         Don't include <sys/types.h>.
59618         Add a FIXME comment.
59619         Move file-scoped "static" declarations to the top.
59620         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
59621
59622 2007-08-17  Bruno Haible  <bruno@clisp.org>
59623         and Paul Eggert  <eggert@cs.ucla.edu>
59624
59625         * MODULES.html.sh: Add diffseq.
59626         * modules/diffseq: New file.
59627         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
59628         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
59629
59630 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59631
59632         Import changes from coreutils for bootstrap script.
59633
59634         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
59635
59636         * build-aux/bootstrap (slurp): Work even in environments where
59637         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
59638         current code does not slurp files whose names start with ".", and
59639         this looks like it might be a troublesome area.
59640
59641         2007-07-11  Jim Meyering  <jim@meyering.net>
59642
59643         If there's a GPL vN copyright comment, require that N == 3.
59644
59645         2007-07-08  Jim Meyering  <jim@meyering.net>
59646
59647         Run the coreutils-specific code only if tests/Makefile.am.in exists.
59648         * build-aux/bootstrap (mam_template): Move definition out of loop.
59649
59650         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
59651
59652         * build-aux/bootstrap (symlink_to_dir): Rename function from
59653         symlink_to_gnulib.  Add a directory parameter.  Update all
59654         callers.
59655         (cp_mark_as_generated): Also check for -- and link to -- files in
59656         gl/.
59657
59658         2007-07-08  Jim Meyering  <jim@meyering.net>
59659
59660         Adapt to deeper hierarchy in gnulib.
59661         * build-aux/bootstrap (symlink_to_dir): If the destination
59662         directory doesn't exist, create it. This is required at least for
59663         "lib/uniwidth/cjk.h".
59664
59665         2007-05-15  Jim Meyering  <jim@meyering.net>
59666
59667         * build-aux/bootstrap: Now that generated Makefile.am files
59668         are no longer under version control, they must be created at
59669         bootstrap time.
59670
59671 2007-08-14  Ben Pfaff  <blp@gnu.org>
59672
59673         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
59674
59675 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59676
59677         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
59678         given the changes below.
59679         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
59680         even on hosts that have padding bits beyond the supported 64.
59681
59682 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
59683
59684         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
59685         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
59686         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
59687         depends on it.
59688         (xstrtol_error): Remove.
59689         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
59690         but with a different signature.
59691         (ATTRIBUTE_NORETURN, __attribute__): New macros.
59692         * lib/xstrtol-error.c: Include exitfail.h.
59693         (xstrtol_fatal): New function, with a different signature from the
59694         old xstrtol_error, so that the caller need not worry about passing
59695         in an exit status, or about storage management of the option argument.
59696         (xstrtol_error): Now a static function.  Redo signature to
59697         implement xstrtol_fatal.  Output the correct number of hyphens in
59698         front of the option so that the caller need not worry about
59699         storage management.
59700         (N_): New macro.
59701         (_): Remove; not used now.
59702         * modules/xstrtol: Depend on getopt.
59703         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
59704         of old STRTOL_FATAL_ERROR macro.
59705         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
59706         of test program.
59707         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
59708         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
59709
59710 2007-08-08  Eric Blake  <ebb9@byu.net>
59711
59712         * lib/xstrtol-error.c: Add missing include.
59713
59714         Move xstrtol messages into gnulib domain, when --pobase is used.
59715         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
59716         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
59717         * modules/xstrtol (Files): Distribute new file.
59718         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
59719         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
59720         * tests/test-xstrtol.c: ...into new file.
59721         * tests/test-xstrtoul.c: Also test xstrtoul.
59722         * tests/test-xstrtoimax.c: Also test xstrtoimax.
59723         * tests/test-xstrtoumax.c: Also test xstrtoumax.
59724         * tests/test-xstrtol.sh: Drive the tests.
59725         * tests/test-xstrtoimax.sh: Likewise.
59726         * tests/test-xstrtoumax.sh: Likewise.
59727         * modules/xstrtol-tests: New module.
59728         * modules/xstrtoimax-tests: Likewise.
59729         * modules/xstrtoumax-tests: Likewise.
59730
59731 2007-08-08  Jim Meyering  <jim@meyering.net>
59732
59733         New function: mfile_name_concat.
59734         * lib/filenamecat.c (mfile_name_concat): New function, just like
59735         file_name_concat, but return NULL upon failure rather than exiting
59736         with a diagnostic.
59737         * lib/filenamecat.h: Declare it.
59738
59739 2007-08-07  Bruno Haible  <bruno@clisp.org>
59740
59741         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
59742         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
59743         warning from gcc.
59744         Reported by Eric Blake.
59745
59746 2007-08-07  Simon Josefsson  <simon@josefsson.org>
59747
59748         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
59749         * modules/crypto/arcfour (License): Likewise.
59750         * modules/crypto/des-tests (License): Likewise.
59751         * modules/crypto/gc-arctwo-tests (License): Likewise.
59752         * modules/crypto/gc-des-tests (License): Likewise.
59753         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
59754         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
59755         * modules/crypto/gc-md2-tests (License): Likewise.
59756         * modules/crypto/gc-md4-tests (License): Likewise.
59757         * modules/crypto/gc-md5-tests (License): Likewise.
59758         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
59759         * modules/crypto/gc-rijndael-tests (License): Likewise.
59760         * modules/crypto/gc-sha1-tests (License): Likewise.
59761         * modules/crypto/gc-tests (License): Likewise.
59762         * modules/crypto/hmac-md5 (License): Likewise.
59763         * modules/crypto/hmac-sha1 (License): Likewise.
59764         * modules/crypto/md2-tests (License): Likewise.
59765         * modules/crypto/md4-tests (License): Likewise.
59766         * modules/crypto/md5 (License): Likewise.
59767         * modules/crypto/rijndael (License): Likewise.
59768         * modules/crypto/sha1 (License): Likewise.
59769         * modules/memxor (License): Likewise.
59770
59771 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
59772         and Bruno Haible  <bruno@clisp.org>
59773
59774         * NEWS: Describe interface changes to human, xstrtol.
59775         * lib/human.h: Include <xstrtol.h>.
59776         (human_options): Return enum strtol_error, not int.  Remove
59777         bool arg; take int * instead.
59778         * lib/human.c: Don't include "gettext.h".
59779         (_): Remove; no longer used.
59780         Don't include <xstrtol.h>, since human.h does it.
59781         (human_options): Adjust to abovementioned interface changes.
59782         Do not report error to stderr; that's now the caller's
59783         responsibility.
59784         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
59785         interface change.
59786         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
59787         Str, Argument_type_string.  All uses changed.  Put " argument"
59788         in diagnostics to make them clearer.  Change wording of suffix
59789         message for clarity.
59790         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
59791         Argument_type_string.
59792         (STRTOL_FATAL_WARN): Remove; no longer used.
59793         * modules/human (Depends-on): Remove gettext-h.
59794
59795 2007-08-06  Simon Josefsson  <simon@josefsson.org>
59796
59797         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
59798
59799 2007-07-31  Bruno Haible  <bruno@clisp.org>
59800
59801         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
59802         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
59803         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
59804
59805 2007-07-31  Bruno Haible  <bruno@clisp.org>
59806
59807         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
59808         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
59809
59810 2007-07-30  Bruno Haible  <bruno@clisp.org>
59811
59812         * modules/base64 (License): Use the synonymous term "LGPLv2+".
59813         * modules/c-ctype (License): Likewise.
59814         * modules/c-strcase (License): Likewise.
59815         * modules/check-version (License): Likewise.
59816         * modules/iconv (License): Likewise.
59817         * modules/iconv_open (License): Likewise.
59818         * modules/read-file (License): Likewise.
59819         * modules/striconv (License): Likewise.
59820         * modules/strverscmp (License): Likewise.
59821         * modules/vasprintf (License): Likewise.
59822         * modules/crypto/des (License): Likewise.
59823         * modules/crypto/gc (License): Likewise.
59824         * modules/crypto/gc-arcfour (License): Likewise.
59825         * modules/crypto/gc-arctwo (License): Likewise.
59826         * modules/crypto/gc-des (License): Likewise.
59827         * modules/crypto/gc-hmac-md5 (License): Likewise.
59828         * modules/crypto/gc-hmac-sha1 (License): Likewise.
59829         * modules/crypto/gc-md2 (License): Likewise.
59830         * modules/crypto/gc-md4 (License): Likewise.
59831         * modules/crypto/gc-md5 (License): Likewise.
59832         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
59833         * modules/crypto/gc-random (License): Likewise.
59834         * modules/crypto/gc-rijndael (License): Likewise.
59835         * modules/crypto/gc-sha1 (License): Likewise.
59836         * modules/crypto/md2 (License): Likewise.
59837         * modules/crypto/md4 (License): Likewise.
59838
59839 2007-07-30  Jim Meyering  <jim@meyering.net>
59840
59841         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
59842         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
59843         it has valid stat data.  This bug would cause du not to count the
59844         sizes of inaccessible directories.
59845         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
59846         in <http://bugzilla.redhat.com/250077>.
59847
59848 2007-07-25  Peter O'Gorman  <peter@pogma.com>
59849             Bruno Haible  <bruno@clisp.org>
59850
59851         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
59852         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
59853         #include_next, gives a diagnostic about it, but reports no error in
59854         the exit code.
59855         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
59856
59857 2007-07-24  Ben Pfaff  <blp@gnu.org>
59858
59859         Improve name: "count-one-bits" is better than "popcount".
59860         * MODULES.html.sh: Update name.
59861         * lib/popcount.h: Renamed lib/count-one-bits.h.
59862         (popcount): Renamed count_one_bits.
59863         (popcountl): Renamed count_one_bits_l.
59864         (popcountll): Renamed count_one_bits_ll.
59865         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
59866         * modules/popcount: Renamed module/count-one-bits.
59867         * modules/popcount-tests: Renamed module/count-one-bits-tests.
59868         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
59869
59870 2007-07-23  Ben Pfaff  <blp@gnu.org>
59871
59872         * lib/popcount.h (popcount32): Reduce size of constants, to allow
59873         better code generation, and add U to large constants to avoid
59874         warnings, in non-GCC case.
59875         Suggested by Bruno Haible.
59876
59877 2007-07-23  Ben Pfaff  <blp@gnu.org>
59878
59879         * lib/popcount.h: Use verify_true instead of if...abort.
59880         * modules/popcount: Depend on verify module.
59881         Suggested by Jim Meyering.
59882
59883 2007-07-23  Bruno Haible  <bruno@clisp.org>
59884
59885         * gnulib-tool (func_import): Create a .cvsignore file also when the
59886         directory is not yet in CVS but the toplevel directory is. When
59887         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
59888         Reported by Karl Berry.
59889
59890 2007-07-22  Ben Pfaff  <blp@gnu.org>
59891
59892         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
59893         case.
59894         Suggested by Eric Blake.
59895
59896 2007-07-22  Ben Pfaff  <blp@gnu.org>
59897
59898         New module: popcount.
59899         * MODULES.html.sh: Add popcount.
59900         * modules/popcount: New file.
59901         * modules/popcount-tests: New file.
59902         * tests/test-popcount.c: New file.
59903         * lib/popcount.h: New file.
59904         * m4/popcount.m4: New file.
59905
59906 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
59907
59908         * build-aux/announce-gen: Update to GPLv3.
59909
59910         * build-aux/config.guess: Update from config.
59911
59912 2007-07-21  Bruno Haible  <bruno@clisp.org>
59913
59914         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
59915         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
59916
59917 2007-07-20  Jim Meyering  <jim@meyering.net>
59918
59919         * check-module: Diagnose a self-dependency.
59920
59921 2007-07-19  Bruno Haible  <bruno@clisp.org>
59922
59923         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
59924         empty.
59925         Reported by Eric Blake.
59926
59927 2007-07-18  Bruno Haible  <bruno@clisp.org>
59928
59929         * gnulib-tool: New options --po-base, --po-domain.
59930         (func_usage): Document them.
59931         (pobase, po_domain): New variables.
59932         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
59933         DEFAULT_TEXT_DOMAIN.
59934         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
59935         (func_import): Consider pobase and po_domain. Create a po/ directory.
59936         (func_create_testdir): Set pobase and po_domain to empty.
59937         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
59938         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
59939
59940 2007-07-18  Bruno Haible  <bruno@clisp.org>
59941
59942         * gnulib-tool (func_get_automake_snippet): Synthesize also an
59943         EXTRA_DIST augmentation for files in build-aux/.
59944
59945 2007-07-16  Bruno Haible  <bruno@clisp.org>
59946
59947         * modules/lseek (License): Use the synonymous term "LGPLv2+".
59948         * modules/getdelim (License): Likewise.
59949
59950 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59951
59952         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
59953         * modules/d-type (License): Likewise.
59954         * modules/extensions (License): Likewise.
59955         * modules/fnmatch (License): Likewise.
59956         * modules/fseeko (License): Likewise.
59957         * modules/getaddrinfo (License): Likewise.
59958         * modules/getline (License): Likewise.
59959         * modules/getlogin_r (License): Likewise.
59960         * modules/getpass (License): Likewise.
59961         * modules/gettimeofday (License): Likewise.
59962         * modules/glob (License): Likewise.
59963         * modules/inet_ntop (License): Likewise.
59964         * modules/malloc (License): Likewise.
59965         * modules/malloca (License): Likewise.
59966         * modules/memmem (License): Likewise.
59967         * modules/mempcpy (License): Likewise.
59968         * modules/memset (License): Likewise.
59969         * modules/minmax (License): Likewise.
59970         * modules/mktime (License): Likewise.
59971         * modules/netinet_in (License): Likewise.
59972         * modules/pathmax (License): Likewise.
59973         * modules/poll (License): Likewise.
59974         * modules/regex (License): Likewise.
59975         * modules/snprintf (License): Likewise.
59976         * modules/stdbool (License): Likewise.
59977         * modules/stdint (License): Likewise.
59978         * modules/stdio (License): Likewise.
59979         * modules/strcase (License): Likewise.
59980         * modules/strcasestr (License): Likewise.
59981         * modules/strdup (License): Likewise.
59982         * modules/string (License): Likewise.
59983         * modules/strndup (License): Likewise.
59984         * modules/strnlen (License): Likewise.
59985         * modules/strpbrk (License): Likewise.
59986         * modules/strptime (License): Likewise.
59987         * modules/strsep (License): Likewise.
59988         * modules/sys_select (License): Likewise.
59989         * modules/sys_socket (License): Likewise.
59990         * modules/sys_stat (License): Likewise.
59991         * modules/sys_time (License): Likewise.
59992         * modules/time (License): Likewise.
59993         * modules/time_r (License): Likewise.
59994         * modules/timegm (License): Likewise.
59995         * modules/unistd (License): Likewise.
59996         * modules/vsnprintf (License): Likewise.
59997         * modules/wctype (License): Likewise.
59998
59999 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60000
60001         * modules/argz (License): LGPLv2+.
60002
60003 2007-07-15  Karl Berry  <karl@gnu.org>
60004
60005         * doc/gnulib.texi: revise node structure per new fdl.texi.
60006
60007 2007-07-14  Bruno Haible  <bruno@clisp.org>
60008
60009         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
60010         the output file.
60011         * lib/uniname/uninames.h: Regenerated.
60012
60013 2007-07-14  Karl Berry  <karl@gnu.org>
60014
60015         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
60016         omitting sectioning and index commands.
60017
60018 2007-07-13  Bruno Haible  <bruno@clisp.org>
60019
60020         New gnulib-tool option --more-symlinks.
60021         * gnulib-tool (func_usage): Document --more-symlinks.
60022         (do_copyrights): New variable.
60023         Recognize option --more-symlinks.
60024         (func_import): Don't add a copyright notice transform to
60025         sed_transform_lib_file if do_copyrights is empty.
60026
60027 2007-07-13  Bruno Haible  <bruno@clisp.org>
60028
60029         * lib/vasnprintf.c (decimal_point_char): Define also if
60030         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
60031         && !NEED_PRINTF_DIRECTIVE_A.
60032         Reported by Clemens Koller <clemens.koller@anagramm.de> via
60033         Gary V. Vaughan <gary@gnu.org>.
60034
60035 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
60036
60037         * lib/inttypes_.h: Undo previous change, since it was fixed
60038         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
60039
60040 2007-07-13  Bruno Haible  <bruno@clisp.org>
60041
60042         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
60043         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
60044
60045 2007-07-13  Jim Meyering  <jim@meyering.net>
60046
60047         df: Don't fail for Tru64's "file-on-file mount".
60048         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
60049         so we fall through and use statfs instead.  Details here:
60050         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
60051         Reported by Albert Chin.
60052
60053 2007-07-13  Bruno Haible  <bruno@clisp.org>
60054
60055         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
60056         * modules/configmake (License): Likewise.
60057         * modules/gettext (License): Likewise.
60058         * modules/gettext-h (License): Likewise.
60059         * modules/include_next (License): Likewise.
60060         * modules/link-warning (License): Likewise.
60061         * modules/localcharset (License): Likewise.
60062         * modules/localename (License): Likewise.
60063         * modules/lock (License): Likewise.
60064         * modules/relocatable-lib-lgpl (License): Likewise.
60065         * modules/size_max (License): Likewise.
60066         * modules/vasnprintf (License): Likewise.
60067         * modules/wchar (License): Likewise.
60068         * modules/xsize (License): Likewise.
60069
60070 2007-07-13  Bruno Haible  <bruno@clisp.org>
60071
60072         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
60073         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
60074
60075 2007-07-12  Bruno Haible  <bruno@clisp.org>
60076
60077         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
60078         in the modules files.
60079
60080 2007-07-11  Karl Berry  <karl@gnu.org>
60081
60082         * MODULES.html.sh (func_module): use
60083          sed -e '\|^'"${includefile}"'$|d'
60084          instead of /.../d, to avoid errors on $includefile's containing /.
60085
60086 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
60087
60088         * gnulib-tool (func_import): Avoid duplication of --avoid
60089         statements
60090         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
60091         names to `_' in variable names.
60092
60093 2007-07-10  Eric Blake  <ebb9@byu.net>
60094
60095         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
60096         * NEWS: Document this change.
60097
60098 2007-07-08  Bruno Haible  <bruno@clisp.org>
60099
60100         Update to Unicode 5.0.
60101         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
60102         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
60103         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
60104         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
60105         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
60106         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
60107         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
60108         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
60109         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
60110         U+10A3F, U+1D242..U+1D244.
60111         (nonspacing_table_ind): Update.
60112         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
60113         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
60114
60115 2007-07-08  Bruno Haible  <bruno@clisp.org>
60116
60117         Update to Unicode 5.0.
60118         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
60119         code transform. Extend the name index field of unicode_name_to_code and
60120         unicode_code_to_name from 16 to 24 bits.
60121         * lib/uniname/uniname.c (unicode_character_name,
60122         unicode_name_character): Add the range 0x12xxx to the code transform.
60123         * lib/uniname/uninames.h: Regenerated.
60124         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
60125
60126 2007-07-07  Bruno Haible  <bruno@clisp.org>
60127
60128         * modules/wcwidth-tests: New file.
60129         * tests/test-wcwidth.c: New file.
60130
60131         Work around MacOS X wcwidth() bug.
60132         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
60133         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
60134         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
60135         original wcwidth in non-UTF-8 locales.
60136         * modules/wcwidth (Depends-on): Add localcharset, streq,
60137         uniwidth/width.
60138         * doc/functions/wcwidth.texi: Update.
60139
60140 2007-07-07  Bruno Haible  <bruno@clisp.org>
60141
60142         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
60143         (wcwidth): New declaration.
60144         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
60145         macros.
60146         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
60147         here. Prepare for creating <wchar.h> unconditionally.
60148         * modules/wchar (Depends-on): Add link-warning.
60149         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
60150         REPLACE_WCWIDTH, and GL_LINK_WARNING.
60151         * lib/wcwidth.h: Remove file.
60152         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
60153         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
60154         * modules/wcwidth (Files): Remove lib/wcwidth.h.
60155         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
60156         (Include): Replace wcwidth.h with <wchar.h>.
60157         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
60158         * lib/mbchar.h: Don't include wcwidth.h.
60159         * lib/mbswidth.c: Likewise.
60160         * NEWS: Mention the change.
60161
60162 2007-07-07  Bruno Haible  <bruno@clisp.org>
60163
60164         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
60165         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
60166         definition with an external declaration.
60167         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
60168         defined as a function. Remove AC_C_INLINE requirement.
60169         * modules/wcwidth (Files): Add lib/wcwidth.c.
60170         (Makefile.am): Remove redundant statement.
60171
60172 2007-07-07  Bruno Haible  <bruno@clisp.org>
60173
60174         * MODULES.html.sh (Unicode string functions): Add the new modules.
60175
60176         * tests/uniwidth/test-u32-strwidth.c: New file.
60177         * modules/uniwidth/u32-strwidth-tests: New file.
60178
60179         * lib/uniwidth/u32-strwidth.c: New file.
60180         * modules/uniwidth/u32-strwidth: New file.
60181
60182         * tests/uniwidth/test-u16-strwidth.c: New file.
60183         * modules/uniwidth/u16-strwidth-tests: New file.
60184
60185         * lib/uniwidth/u16-strwidth.c: New file.
60186         * modules/uniwidth/u16-strwidth: New file.
60187
60188         * tests/uniwidth/test-u8-strwidth.c: New file.
60189         * modules/uniwidth/u8-strwidth-tests: New file.
60190
60191         * lib/uniwidth/u8-strwidth.c: New file.
60192         * modules/uniwidth/u8-strwidth: New file.
60193
60194         * tests/uniwidth/test-u32-width.c: New file.
60195         * modules/uniwidth/u32-width-tests: New file.
60196
60197         * lib/uniwidth/u32-width.c: New file.
60198         * modules/uniwidth/u32-width: New file.
60199
60200         * tests/uniwidth/test-u16-width.c: New file.
60201         * modules/uniwidth/u16-width-tests: New file.
60202
60203         * lib/uniwidth/u16-width.c: New file.
60204         * modules/uniwidth/u16-width: New file.
60205
60206         * tests/uniwidth/test-u8-width.c: New file.
60207         * modules/uniwidth/u8-width-tests: New file.
60208
60209         * lib/uniwidth/u8-width.c: New file.
60210         * modules/uniwidth/u8-width: New file.
60211
60212         * tests/uniwidth/test-uc_width.c: New file.
60213         * modules/uniwidth/width-tests: New file.
60214
60215         * lib/uniwidth/width.c: New file, from GNU libiconv.
60216         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
60217         * modules/uniwidth/width: New file.
60218
60219         * lib/uniwidth.h: New file, from GNU libiconv.
60220         * modules/uniwidth/base: New file.
60221
60222 2007-07-07  Bruno Haible  <bruno@clisp.org>
60223
60224         * lib/uniname.h: New file, from GNU gettext.
60225         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
60226         * lib/uniname/uninames.h: New file, from GNU gettext.
60227         * lib/uniname/uniname.c: New file, from GNU gettext.
60228         * tests/uniname/test-uninames.sh: New file.
60229         * tests/uniname/test-uninames.c: New file, from GNU gettext.
60230         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
60231         * modules/uniname/base: New file.
60232         * modules/uniname/uniname: New file.
60233         * modules/uniname/uniname-tests: New file.
60234         * MODULES.html.sh (Unicode string functions): Add the new modules.
60235
60236 2007-07-06  Bruno Haible  <bruno@clisp.org>
60237
60238         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
60239
60240 2007-07-06  Bruno Haible  <bruno@clisp.org>
60241
60242         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
60243         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
60244         includes <cygwin/sys_time.h> which includes <sys/select.h> which
60245         include <sys/time.h>.
60246         Reported by Eric Blake.
60247
60248 2007-07-06  Eric Blake  <ebb9@byu.net>
60249
60250         Fix testing canonicalize on cygwin.
60251         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
60252         Revert patch from 2007-06-19.
60253         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
60254         canonicalize module is also in use.
60255         * tests/test-canonicalize.c: New file.
60256         * tests/test-canonicalize.sh: Likewise.
60257         * modules/canonicalize-tests: Likewise.
60258
60259 2007-07-06  Jim Meyering  <jim@meyering.net>
60260
60261         * lib/getugroups.c (getugroups): Detect getgrent failure.
60262         Adjust comment to reflect reality: this function may return -1.
60263
60264 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
60265
60266         * build-aux/bootstrap (TP_URL,get_translations): Update to use
60267         the new TP address.
60268         (usage): Fix typo
60269         (gnulib_mk): New variable.
60270
60271 2007-07-05  Jim Meyering  <jim@meyering.net>
60272
60273         Don't let endgrent clobber errno, no matter how improbable.
60274         * lib/getugroups.c (getugroups): Save and restore errno around
60275         endgrent call.
60276
60277         Close the group DB even when failing with 2^31 or more members.
60278         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
60279
60280 2007-07-04  Jim Meyering  <jim@meyering.net>
60281
60282         * lib/getugroups.h: New file.
60283         * lib/getugroups.c: Include "getugroups.h".
60284         Remove uses of "register" keyword.
60285         Move local variable, "cp", down into scope where used.
60286         Give "username" parameter the "const" attribute.
60287         * modules/getugroups (Files): Add lib/getugroups.h
60288
60289 2007-07-04  Karl Berry  <karl@gnu.org>
60290
60291         * MODULES.html.sh (func_all_modules): Complete rename of
60292         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
60293
60294 2007-07-02  Bruno Haible  <bruno@clisp.org>
60295
60296         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
60297         mode, when inttypes.h comes from gnulib.
60298         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
60299
60300 2007-07-02  Simon Josefsson  <simon@josefsson.org>
60301
60302         * NEWS: Mention lgpl module name change.
60303
60304         * modules/lgpl-2.1: Renamed from lgpl.
60305
60306         * NEWS: Mention gpl module name change.
60307
60308         * modules/gpl-3.0: New file, based on gpl-2.0.
60309
60310         * modules/gpl-2.0: Renamed from gpl.
60311
60312         * modules/gpl: Fix filename, doc/gpl.texi is now found at
60313         doc/gpl-2.0.texi.
60314
60315 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
60316
60317         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
60318         #define __STDC_LIMIT_MACROS temporarily while including
60319         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
60320         Problem reported by Joel E. Denny in
60321         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
60322
60323 2007-07-01  Bruno Haible  <bruno@clisp.org>
60324
60325         * lib/unistdio.h: New file.
60326         * lib/unistdio/u-asnprintf.h: New file.
60327         * lib/unistdio/u-asprintf.h: New file.
60328         * lib/unistdio/u-printf-args.c: New file.
60329         * lib/unistdio/u-printf-args.h: New file.
60330         * lib/unistdio/u-printf-parse.h: New file.
60331         * lib/unistdio/u-snprintf.h: New file.
60332         * lib/unistdio/u-sprintf.h: New file.
60333         * lib/unistdio/u-vasprintf.h: New file.
60334         * lib/unistdio/u-vsnprintf.h: New file.
60335         * lib/unistdio/u-vsprintf.h: New file.
60336         * lib/unistdio/ulc-asnprintf.c: New file.
60337         * lib/unistdio/ulc-asprintf.c: New file.
60338         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
60339         * lib/unistdio/ulc-printf-parse.c: New file.
60340         * lib/unistdio/ulc-snprintf.c: New file.
60341         * lib/unistdio/ulc-sprintf.c: New file.
60342         * lib/unistdio/ulc-vasnprintf.c: New file.
60343         * lib/unistdio/ulc-vasprintf.c: New file.
60344         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
60345         * lib/unistdio/ulc-vsnprintf.c: New file.
60346         * lib/unistdio/ulc-vsprintf.c: New file.
60347         * lib/unistdio/u8-asnprintf.c: New file.
60348         * lib/unistdio/u8-asprintf.c: New file.
60349         * lib/unistdio/u8-printf-parse.c: New file.
60350         * lib/unistdio/u8-snprintf.c: New file.
60351         * lib/unistdio/u8-sprintf.c: New file.
60352         * lib/unistdio/u8-vasnprintf.c: New file.
60353         * lib/unistdio/u8-vasprintf.c: New file.
60354         * lib/unistdio/u8-vsnprintf.c: New file.
60355         * lib/unistdio/u8-vsprintf.c: New file.
60356         * lib/unistdio/u8-u8-asnprintf.c: New file.
60357         * lib/unistdio/u8-u8-asprintf.c: New file.
60358         * lib/unistdio/u8-u8-snprintf.c: New file.
60359         * lib/unistdio/u8-u8-sprintf.c: New file.
60360         * lib/unistdio/u8-u8-vasnprintf.c: New file.
60361         * lib/unistdio/u8-u8-vasprintf.c: New file.
60362         * lib/unistdio/u8-u8-vsnprintf.c: New file.
60363         * lib/unistdio/u8-u8-vsprintf.c: New file.
60364         * lib/unistdio/u16-asnprintf.c: New file.
60365         * lib/unistdio/u16-asprintf.c: New file.
60366         * lib/unistdio/u16-printf-parse.c: New file.
60367         * lib/unistdio/u16-snprintf.c: New file.
60368         * lib/unistdio/u16-sprintf.c: New file.
60369         * lib/unistdio/u16-vasnprintf.c: New file.
60370         * lib/unistdio/u16-vasprintf.c: New file.
60371         * lib/unistdio/u16-vsnprintf.c: New file.
60372         * lib/unistdio/u16-vsprintf.c: New file.
60373         * lib/unistdio/u16-u16-asnprintf.c: New file.
60374         * lib/unistdio/u16-u16-asprintf.c: New file.
60375         * lib/unistdio/u16-u16-snprintf.c: New file.
60376         * lib/unistdio/u16-u16-sprintf.c: New file.
60377         * lib/unistdio/u16-u16-vasnprintf.c: New file.
60378         * lib/unistdio/u16-u16-vasprintf.c: New file.
60379         * lib/unistdio/u16-u16-vsnprintf.c: New file.
60380         * lib/unistdio/u16-u16-vsprintf.c: New file.
60381         * lib/unistdio/u32-asnprintf.c: New file.
60382         * lib/unistdio/u32-asprintf.c: New file.
60383         * lib/unistdio/u32-printf-parse.c: New file.
60384         * lib/unistdio/u32-snprintf.c: New file.
60385         * lib/unistdio/u32-sprintf.c: New file.
60386         * lib/unistdio/u32-vasnprintf.c: New file.
60387         * lib/unistdio/u32-vasprintf.c: New file.
60388         * lib/unistdio/u32-vsnprintf.c: New file.
60389         * lib/unistdio/u32-vsprintf.c: New file.
60390         * lib/unistdio/u32-u32-asnprintf.c: New file.
60391         * lib/unistdio/u32-u32-asprintf.c: New file.
60392         * lib/unistdio/u32-u32-snprintf.c: New file.
60393         * lib/unistdio/u32-u32-sprintf.c: New file.
60394         * lib/unistdio/u32-u32-vasnprintf.c: New file.
60395         * lib/unistdio/u32-u32-vasprintf.c: New file.
60396         * lib/unistdio/u32-u32-vsnprintf.c: New file.
60397         * lib/unistdio/u32-u32-vsprintf.c: New file.
60398         * tests/unistdio/test-ulc-asnprintf1.c: New file.
60399         * tests/unistdio/test-ulc-asnprintf1.h: New file.
60400         * tests/unistdio/test-ulc-printf1.h: New file.
60401         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
60402         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
60403         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
60404         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
60405         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
60406         * tests/unistdio/test-ulc-vasprintf1.c: New file.
60407         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
60408         * tests/unistdio/test-ulc-vsprintf1.c: New file.
60409         * tests/unistdio/test-u8-asnprintf1.c: New file.
60410         * tests/unistdio/test-u8-asnprintf1.h: New file.
60411         * tests/unistdio/test-u8-printf1.h: New file.
60412         * tests/unistdio/test-u8-vasnprintf1.c: New file.
60413         * tests/unistdio/test-u8-vasnprintf2.c: New file.
60414         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
60415         * tests/unistdio/test-u8-vasnprintf3.c: New file.
60416         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
60417         * tests/unistdio/test-u8-vasprintf1.c: New file.
60418         * tests/unistdio/test-u8-vsnprintf1.c: New file.
60419         * tests/unistdio/test-u8-vsprintf1.c: New file.
60420         * tests/unistdio/test-u16-asnprintf1.c: New file.
60421         * tests/unistdio/test-u16-asnprintf1.h: New file.
60422         * tests/unistdio/test-u16-printf1.h: New file.
60423         * tests/unistdio/test-u16-vasnprintf1.c: New file.
60424         * tests/unistdio/test-u16-vasnprintf2.c: New file.
60425         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
60426         * tests/unistdio/test-u16-vasnprintf3.c: New file.
60427         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
60428         * tests/unistdio/test-u16-vasprintf1.c: New file.
60429         * tests/unistdio/test-u16-vsnprintf1.c: New file.
60430         * tests/unistdio/test-u16-vsprintf1.c: New file.
60431         * tests/unistdio/test-u32-asnprintf1.c: New file.
60432         * tests/unistdio/test-u32-asnprintf1.h: New file.
60433         * tests/unistdio/test-u32-printf1.h: New file.
60434         * tests/unistdio/test-u32-vasnprintf1.c: New file.
60435         * tests/unistdio/test-u32-vasnprintf2.c: New file.
60436         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
60437         * tests/unistdio/test-u32-vasnprintf3.c: New file.
60438         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
60439         * tests/unistdio/test-u32-vasprintf1.c: New file.
60440         * tests/unistdio/test-u32-vsnprintf1.c: New file.
60441         * tests/unistdio/test-u32-vsprintf1.c: New file.
60442         * modules/unistdio/base: New file.
60443         * modules/unistdio/u-printf-args: New file.
60444         * modules/unistdio/ulc-asnprintf: New file.
60445         * modules/unistdio/ulc-asprintf: New file.
60446         * modules/unistdio/ulc-fprintf: New file.
60447         * modules/unistdio/ulc-printf-parse: New file.
60448         * modules/unistdio/ulc-snprintf: New file.
60449         * modules/unistdio/ulc-sprintf: New file.
60450         * modules/unistdio/ulc-vasnprintf: New file.
60451         * modules/unistdio/ulc-vasprintf: New file.
60452         * modules/unistdio/ulc-vfprintf: New file.
60453         * modules/unistdio/ulc-vsnprintf: New file.
60454         * modules/unistdio/ulc-vsprintf: New file.
60455         * modules/unistdio/u8-asnprintf: New file.
60456         * modules/unistdio/u8-asprintf: New file.
60457         * modules/unistdio/u8-printf-parse: New file.
60458         * modules/unistdio/u8-snprintf: New file.
60459         * modules/unistdio/u8-sprintf: New file.
60460         * modules/unistdio/u8-vasnprintf: New file.
60461         * modules/unistdio/u8-vasprintf: New file.
60462         * modules/unistdio/u8-vsnprintf: New file.
60463         * modules/unistdio/u8-vsprintf: New file.
60464         * modules/unistdio/u8-u8-asnprintf: New file.
60465         * modules/unistdio/u8-u8-asprintf: New file.
60466         * modules/unistdio/u8-u8-snprintf: New file.
60467         * modules/unistdio/u8-u8-sprintf: New file.
60468         * modules/unistdio/u8-u8-vasnprintf: New file.
60469         * modules/unistdio/u8-u8-vasprintf: New file.
60470         * modules/unistdio/u8-u8-vsnprintf: New file.
60471         * modules/unistdio/u8-u8-vsprintf: New file.
60472         * modules/unistdio/u16-asnprintf: New file.
60473         * modules/unistdio/u16-asprintf: New file.
60474         * modules/unistdio/u16-printf-parse: New file.
60475         * modules/unistdio/u16-snprintf: New file.
60476         * modules/unistdio/u16-sprintf: New file.
60477         * modules/unistdio/u16-vasnprintf: New file.
60478         * modules/unistdio/u16-vasprintf: New file.
60479         * modules/unistdio/u16-vsnprintf: New file.
60480         * modules/unistdio/u16-vsprintf: New file.
60481         * modules/unistdio/u16-u16-asnprintf: New file.
60482         * modules/unistdio/u16-u16-asprintf: New file.
60483         * modules/unistdio/u16-u16-snprintf: New file.
60484         * modules/unistdio/u16-u16-sprintf: New file.
60485         * modules/unistdio/u16-u16-vasnprintf: New file.
60486         * modules/unistdio/u16-u16-vasprintf: New file.
60487         * modules/unistdio/u16-u16-vsnprintf: New file.
60488         * modules/unistdio/u16-u16-vsprintf: New file.
60489         * modules/unistdio/u32-asnprintf: New file.
60490         * modules/unistdio/u32-asprintf: New file.
60491         * modules/unistdio/u32-printf-parse: New file.
60492         * modules/unistdio/u32-snprintf: New file.
60493         * modules/unistdio/u32-sprintf: New file.
60494         * modules/unistdio/u32-vasnprintf: New file.
60495         * modules/unistdio/u32-vasprintf: New file.
60496         * modules/unistdio/u32-vsnprintf: New file.
60497         * modules/unistdio/u32-vsprintf: New file.
60498         * modules/unistdio/u32-u32-asnprintf: New file.
60499         * modules/unistdio/u32-u32-asprintf: New file.
60500         * modules/unistdio/u32-u32-snprintf: New file.
60501         * modules/unistdio/u32-u32-sprintf: New file.
60502         * modules/unistdio/u32-u32-vasnprintf: New file.
60503         * modules/unistdio/u32-u32-vasprintf: New file.
60504         * modules/unistdio/u32-u32-vsnprintf: New file.
60505         * modules/unistdio/u32-u32-vsprintf: New file.
60506         * modules/unistdio/ulc-asnprintf-tests: New file.
60507         * modules/unistdio/ulc-vasnprintf-tests: New file.
60508         * modules/unistdio/ulc-vasprintf-tests: New file.
60509         * modules/unistdio/ulc-vsnprintf-tests: New file.
60510         * modules/unistdio/ulc-vsprintf-tests: New file.
60511         * modules/unistdio/u8-asnprintf-tests: New file.
60512         * modules/unistdio/u8-vasnprintf-tests: New file.
60513         * modules/unistdio/u8-vasprintf-tests: New file.
60514         * modules/unistdio/u8-vsnprintf-tests: New file.
60515         * modules/unistdio/u8-vsprintf-tests: New file.
60516         * modules/unistdio/u16-asnprintf-tests: New file.
60517         * modules/unistdio/u16-vasnprintf-tests: New file.
60518         * modules/unistdio/u16-vasprintf-tests: New file.
60519         * modules/unistdio/u16-vsnprintf-tests: New file.
60520         * modules/unistdio/u16-vsprintf-tests: New file.
60521         * modules/unistdio/u32-asnprintf-tests: New file.
60522         * modules/unistdio/u32-vasnprintf-tests: New file.
60523         * modules/unistdio/u32-vasprintf-tests: New file.
60524         * modules/unistdio/u32-vsnprintf-tests: New file.
60525         * modules/unistdio/u32-vsprintf-tests: New file.
60526         * MODULES.html.sh (Unicode string functions): Add the new modules.
60527
60528 2007-07-01  Bruno Haible  <bruno@clisp.org>
60529
60530         * lib/sprintf.c (sprintf): Limit the available length estimation,
60531         to avoid address wraparound.
60532         * lib/vsprintf.c (vsprintf): Likewise.
60533         * modules/sprintf-posix (Dependencies): Add stdint.
60534         * modules/vsprintf-posix (Dependencies): Likewise.
60535
60536 2007-07-01  Bruno Haible  <bruno@clisp.org>
60537
60538         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
60539         Windows PATH as well. Conservative double-quoting. Comments.
60540
60541 2007-07-01  Bruno Haible  <bruno@clisp.org>
60542             Eric Blake  <ebb9@byu.net>
60543             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60544
60545         * gnulib-tool (self_abspathname): Fix algorithm to cope with
60546         empty components in $PATH, denoting '.'.
60547
60548 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60549
60550         * gnulib-tool: Fix indentation.
60551         (func_create_megatestdir): Likewise.
60552         Report by Bruno Haible.
60553
60554 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60555
60556         Sync from Automake.
60557         * build-aux/gnupload: Fix shell portability issues with for loops.
60558         Report by Karl Berry.
60559
60560 2007-06-29  Simon Josefsson  <simon@josefsson.org>
60561
60562         * build-aux/maint.mk (POURL): Use translationproject.org.
60563
60564 2007-06-27  Simon Josefsson  <simon@josefsson.org>
60565             Bruno Haible  <bruno@clisp.org>
60566
60567         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
60568         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
60569         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
60570         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
60571         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
60572
60573 2007-06-27  Bruno Haible  <bruno@clisp.org>
60574
60575         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
60576         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
60577
60578 2007-06-26  Karl Berry  <karl@gnu.org>
60579
60580         * MODULES.html.sh: remove xreadlink-with-size.
60581
60582 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
60583
60584         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
60585         method that I hope also handles the double-include problem noted
60586         by Bruno Haible in
60587         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
60588
60589 2007-06-23  Bruno Haible  <bruno@clisp.org>
60590
60591         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60592         Don't let the 'mostlyclean' target fail if the last subdirectory could
60593         not be removed.
60594         Reported by Karl Berry.
60595
60596 2007-06-23  Bruno Haible  <bruno@clisp.org>
60597
60598         * gnulib-tool (echo): Add a speedier workaround for ksh.
60599         * tests/test-echo.sh: Likewise.
60600
60601 2007-06-23  Bruno Haible  <bruno@clisp.org>
60602
60603         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
60604         * tests/test-echo.sh: Likewise.
60605
60606 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60607
60608         * gnulib-tool (IFS): Initialize early, so we don't set it to
60609         empty later.
60610         (self_abspathname): Rewrite algorithm to set it, reindent.
60611         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
60612         (func_create_megatestdir): Merge some sed scripts.
60613
60614 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
60615
60616         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
60617         exposed by Sun Studio 11 cc on Solaris 8.
60618
60619 2007-06-22  Bruno Haible  <bruno@clisp.org>
60620
60621         * gnulib-tool (echo): Ensure the echo primitive does not interpret
60622         backslashes.
60623         * tests/test-echo.sh: New file.
60624
60625 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60626
60627         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
60628         simplify `sed_replace_build_aux' scripts, they are portable but
60629         echoing them with `echo' is not.
60630         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
60631
60632 2007-06-21  Karl Berry  <karl@gnu.org>
60633
60634         * config/srclist.txt: guess we can't handle the licenses via
60635         srclist at the moment.
60636
60637 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
60638
60639         * MODULES.html.sh: Add include_next.
60640         * modules/include_next: New file.
60641
60642 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
60643
60644         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
60645         INCLUDE_NEXT.
60646         (gl_CHECK_NEXT_HEADERS): New macro.
60647         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
60648         the obsolescent gl_ABSOLUTE_HEADER.
60649         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
60650         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
60651         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
60652         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
60653         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
60654         * m4/math_h.m4 (gl_MATH_H): Likewise.
60655         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
60656         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
60657         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
60658         * m4/stdint.m4 (gl_STDINT_H): Likewise.
60659         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
60660         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
60661         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
60662         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60663         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
60664         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
60665         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
60666         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
60667         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
60668         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
60669         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
60670         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
60671         * m4/inttypes.m4 (gl_INTTYPES_H): Define
60672         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
60673         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
60674         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
60675         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
60676         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
60677         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
60678         * lib/float_.h: Likewise.
60679         * lib/inttypes_.h: Likewise.
60680         * lib/math_.h: Likewise.
60681         * lib/search_.h: Likewise.
60682         * lib/signal_.h: Likewise.
60683         * lib/stdint_.h: Likewise.
60684         * lib/stdio_.h: Likewise.
60685         * lib/stdlib_.h: Likewise.
60686         * lib/string_.h: Likewise.
60687         * lib/sys_stat_.h: Likewise.
60688         * lib/sys_time_.h: Likewise.
60689         * lib/time_.h: Likewise.
60690         * lib/unistd_.h: Likewise.
60691         * lib/wchar_.h: Likewise.
60692         * lib/wctype_.h: Likewise.
60693         * lib/dirent_.h: Likewise.
60694         * lib/iconv_.h: Likewise.
60695         * lib/locale_.h: Likewise.
60696         * lib/netinet_in_.h: Likewise.
60697         * lib/sys_select_.h: Likewise.
60698         * lib/sys_socket_.h: Likewise.
60699         * lib/sysexits_.h: Likewise.
60700         * modules/fcntl (Depends-on): Depend on include_next, not
60701         absolute_header.
60702         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
60703         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
60704         * modules/fchdir: Likewise.
60705         * modules/float: Likewise.
60706         * modules/iconv_open: Likewise.
60707         * modules/inttypes: Likewise.
60708         * modules/locale: Likewise.
60709         * modules/math: Likewise.
60710         * modules/netinet_in: Likewise.
60711         * modules/search: Likewise.
60712         * modules/signal: Likewise.
60713         * modules/stdint: Likewise.
60714         * modules/stdio: Likewise.
60715         * modules/stdlib: Likewise.
60716         * modules/string: Likewise.
60717         * modules/sys_select: Likewise.
60718         * modules/sys_socket: Likewise.
60719         * modules/sys_stat: Likewise.
60720         * modules/sys_time: Likewise.
60721         * modules/sysexits: Likewise.
60722         * modules/time: Likewise.
60723         * modules/unistd: Likewise.
60724         * modules/wchar: Likewise.
60725         * modules/wctype: Likewise.
60726         * modules/sys_stat: Change maintainer to "all".
60727         * modules/unistd: Likewise.
60728
60729 2007-06-20  Karl Berry  <karl@gnu.org>
60730
60731         * config/srclist.txt: track www changes in license files.
60732
60733 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
60734
60735         * build-aux/bootstrap: Remove stray dot.
60736         Make sure build_aux settings are honored when linking
60737         gnulib_extra_files.
60738
60739 2007-06-19  Eric Blake  <ebb9@byu.net>
60740
60741         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
60742         Allow compilation on cygwin.
60743
60744 2007-06-19  Jim Meyering  <jim@meyering.net>
60745
60746         xreadlink-with-size: Remove module.  No longer used.
60747         Ex-callers now use xreadlink or mreadlink-with-size.
60748         * modules/xreadlink-with-size: Remove module.
60749         * lib/xreadlink-with-size.c: Remove file.
60750         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
60751         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
60752         just before the function definition *is* accurate.
60753
60754         Eliminate one way canonicalize_filename_mode could exit.
60755         * lib/canonicalize.c (canonicalize_filename_mode):
60756         Use mreadlink_with_size, not xreadlink_with_size.
60757
60758 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
60759
60760         Detect porting problems to FreeBSD/arm, which has time_t wider than
60761         long int.  Original problem reported for GNU diff by Xin Li in
60762         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
60763         * modules/getdate (Depends-on): Add intprops, verify.
60764         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
60765         is an integer type no wider than long int.
60766
60767 2007-06-18  Jim Meyering  <jim@meyering.net>
60768
60769         New module: mreadlink-with-size.
60770         * MODULES.html.sh: Add mreadlink-with-size.
60771         * modules/mreadlink-with-size: New module
60772         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
60773         not xreadlink-with-size.
60774         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
60775
60776 2007-06-16  Bruno Haible  <bruno@clisp.org>
60777
60778         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
60779         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
60780         Reported by Gary V. Vaughan <gary@gnu.org>.
60781
60782 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
60783
60784         Revamp lchown so that it lives in unistd.h where it belongs.
60785         * lib/lchown.h: Remove.
60786         * lib/dirchownmod.c: Don't include lib/lchown.h.
60787         * lib/fchownat.c: Likewise.
60788         * lib/openat.c: Likewise.
60789         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
60790         does not follow symlinks.
60791         (EOPNOTSUPP): Define if not defined.
60792         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
60793         is defined to 0.
60794         (lchown): New decl.
60795         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
60796         Do not check for lchown decl.
60797         Set REPLACE_LCHOWN.
60798         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
60799         REPLACE_LCHOWN.
60800         * modules/chown: Make it clear it follows symlinks.
60801         * modules/lchown: Make it clear it doesn't follow symlinks.
60802         (Files): Remove lib/lchown.h
60803         (Depends-on): Add unistd.
60804         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
60805         (Include): Include <unistd.h>, not "lchown.h".
60806         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
60807         REPLACE_LCHOWN.
60808
60809 2007-06-15  Jim Meyering  <jim@meyering.net>
60810
60811         Change license (GPL to LGPL) of fsusage and dependents.
60812         * modules/fsusage (License): Change to LGPL.
60813         * modules/full-read (License): Likewise.
60814         * modules/full-write (License): Likewise.
60815         * modules/safe-read (License): Likewise.
60816         * modules/safe-write (License): Likewise.
60817
60818 2007-06-14  Ben Pfaff  <blp@gnu.org>
60819
60820         Missing part of allocsa -> malloca transition.
60821         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
60822         gl_MALLOCA.
60823
60824 2007-06-12  Bruno Haible  <bruno@clisp.org>
60825
60826         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
60827         to ia64, x86_64, i386.
60828         Reported by Eric Blake.
60829
60830 2007-06-12  Bruno Haible  <bruno@clisp.org>
60831
60832         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
60833         cross-compiling to x86_64.
60834
60835 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
60836
60837         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
60838         glitch reported by Ralf Wildenhues in
60839         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
60840
60841         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
60842         Vin Shelton.
60843
60844 2007-06-11  Bruno Haible  <bruno@clisp.org>
60845
60846         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
60847         replacement string.
60848         Reported by Eric Blake.
60849
60850 2007-06-10  Bruno Haible  <bruno@clisp.org>
60851
60852         Prepare vasnprintf code for use with Unicode strings.
60853         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
60854         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
60855         TYPE_U32_STRING.
60856         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
60857         a_u32_string variants.
60858         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
60859         * lib/printf-args.c: Don't include config.h and the specification
60860         header if PRINTF_FETCHARGS is already defined.
60861         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
60862         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
60863         TYPE_U16_STRING, TYPE_U32_STRING.
60864         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
60865         u16_directive, u16_directives, u32_directive, u32_directives): New
60866         types.
60867         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
60868         New declarations.
60869         * lib/printf-parse.c: Don't include config.h and the specification
60870         header if PRINTF_PARSE is already defined. Eliminate the set of
60871         parameters for WIDE_CHAR_VERSION; the user of this file must provide
60872         them now. Include c-ctype.h.
60873         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
60874         directive and CHAR_T_ONLY_ASCII.
60875         * lib/vasnprintf.c: Don't include config.h and the specification header
60876         if VASNPRINTF is already defined.
60877         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
60878         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
60879         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
60880         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
60881         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
60882         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
60883         code accordingly.
60884         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
60885         pad_ourselves also in this case, with the 'c' and 's' directives, and
60886         with a different notion of "width".
60887         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
60888
60889 2007-06-10  Bruno Haible  <bruno@clisp.org>
60890
60891         * modules/unistr/u32-mbsnlen: New file.
60892         * lib/unistr/u32-mbsnlen.c: New file.
60893
60894         * modules/unistr/u16-mbsnlen: New file.
60895         * lib/unistr/u16-mbsnlen.c: New file.
60896
60897         * modules/unistr/u8-mbsnlen: New file.
60898         * lib/unistr/u8-mbsnlen.c: New file.
60899
60900         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
60901         declarations.
60902
60903 2007-06-10  Bruno Haible  <bruno@clisp.org>
60904
60905         * lib/string_.h (mbsnlen): New declaration.
60906         * lib/mbsnlen.c: New file.
60907         * m4/mbsnlen.m4: New file.
60908         * modules/mbsnlen: New file.
60909         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
60910         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
60911         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
60912
60913 2007-06-10  Bruno Haible  <bruno@clisp.org>
60914
60915         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
60916
60917 2007-06-10  Bruno Haible  <bruno@clisp.org>
60918
60919         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
60920         * lib/mbuiter.h: Likewise.
60921
60922 2007-06-10  Bruno Haible  <bruno@clisp.org>
60923
60924         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
60925         declaration.
60926
60927 2007-06-10  Karl Berry  <karl@gnu.org>
60928
60929         * config/srclist.txt: remove gettext entries, Bruno prefers
60930         to update individually.
60931
60932 2007-06-10  Bruno Haible  <bruno@clisp.org>
60933
60934         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
60935         'maxlen'. Ensure only length + width bytes are allocated, not
60936         length + 1 + width.
60937
60938 2007-06-09  Bruno Haible  <bruno@clisp.org>
60939
60940         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
60941         (CHAR_T): Remove macro.
60942         (VASNPRINTF): Update.
60943
60944 2007-06-09  Bruno Haible  <bruno@clisp.org>
60945
60946         * MODULES.html.sh (Unicode string functions): Add the new modules.
60947
60948         * modules/uniconv/u32-conv-to-enc: New file.
60949         * lib/uniconv/u32-conv-to-enc.c: New file.
60950         * modules/uniconv/u32-conv-to-enc-tests: New file.
60951         * tests/uniconv/test-u32-conv-to-enc.c: New file.
60952
60953         * modules/uniconv/u16-conv-to-enc: New file.
60954         * lib/uniconv/u16-conv-to-enc.c: New file.
60955         * lib/uniconv/u-conv-to-enc.h: New file.
60956         * modules/uniconv/u16-conv-to-enc-tests: New file.
60957         * tests/uniconv/test-u16-conv-to-enc.c: New file.
60958
60959         * modules/uniconv/u8-conv-to-enc: New file.
60960         * lib/uniconv/u8-conv-to-enc.c: New file.
60961         * modules/uniconv/u8-conv-to-enc-tests: New file.
60962         * tests/uniconv/test-u8-conv-to-enc.c: New file.
60963
60964         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
60965         u32_conv_to_encoding): New declarations.
60966
60967 2007-06-09  Bruno Haible  <bruno@clisp.org>
60968
60969         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
60970
60971 2007-06-09  Bruno Haible  <bruno@clisp.org>
60972
60973         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
60974         * modules/malloca: Renamed from modules/allocsa, updated.
60975         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
60976         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
60977         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
60978         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
60979         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
60980         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
60981         * modules/xmalloca: Renamed from modules/xallocsa, updated.
60982         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
60983         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
60984         * modules/c-strcasestr (Depends-on): Update.
60985         * lib/c-strcasestr.c: Update.
60986         * modules/c-strstr (Depends-on): Update.
60987         * lib/c-strstr.c: Update.
60988         * modules/canonicalize-lgpl (Depends-on): Update.
60989         * lib/canonicalize-lgpl.c: Update.
60990         * modules/clean-temp (Depends-on): Update.
60991         * lib/clean-temp.c: Update.
60992         * modules/csharpcomp (Depends-on): Update.
60993         * lib/csharpcomp.c: Update.
60994         * modules/csharpexec (Depends-on): Update.
60995         * lib/csharpexec.c: Update.
60996         * modules/javacomp (Depends-on): Update.
60997         * lib/javacomp.c: Update.
60998         * modules/javaexec (Depends-on): Update.
60999         * lib/javaexec.c: Update.
61000         * modules/mbscasestr (Depends-on): Update.
61001         * lib/mbscasestr.c: Update.
61002         * modules/mbsstr (Depends-on): Update.
61003         * lib/mbsstr.c: Update.
61004         * modules/setenv (Depends-on): Update.
61005         * lib/setenv.c: Update.
61006         * modules/strcasestr (Depends-on): Update.
61007         * lib/strcasestr.c: Update.
61008         * modules/striconveha (Depends-on): Update.
61009         * lib/striconveha.c: Update.
61010         * modules/relocatable-prog-wrapper (Files): Update.
61011         * lib/relocwrapper.c: Update.
61012         * build-aux/install-reloc: Update.
61013         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
61014
61015 2007-06-08  Bruno Haible  <bruno@clisp.org>
61016
61017         Port to uClibc.
61018         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
61019         * lib/fpurge.c (fpurge): Likewise.
61020         * lib/freading.c (freading): Likewise.
61021         * lib/fseeko.c (rpl_fseeko): Likewise.
61022         * lib/fseterr.c (fseterr): Likewise.
61023         * lib/fwriting.c (fwriting): Likewise.
61024         * tests/test-fflush.c (main): Avoid a failure on uClibc.
61025
61026 2007-06-08  Bruno Haible  <bruno@clisp.org>
61027
61028         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
61029         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
61030         * modules/gettext (Files): Add m4/intlmacosx.m4.
61031
61032 2007-06-07  Bruno Haible  <bruno@clisp.org>
61033
61034         * modules/localename-tests: New file.
61035         * tests/test-localename.c: New file.
61036
61037         New module 'localename'.
61038         * lib/localename.h: New file.
61039         * lib/localename.c: New file, from GNU gettext.
61040         * m4/localename.m4: New file.
61041         * modules/localename: New file.
61042
61043 2007-06-07  Bruno Haible  <bruno@clisp.org>
61044
61045         Work around the lack of <wchar.h> on some builds of uClibc.
61046         * doc/headers/wchar.texi: Update.
61047         * lib/wchar_.h: Include <wchar.h> only if it exists.
61048         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
61049         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
61050         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
61051         doesn't exist.
61052         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
61053         * modules/mbfile (Depends-on): Add wchar.
61054         * modules/mbiter (Depends-on): Likewise.
61055         * modules/mbuiter (Depends-on): Likewise.
61056         Reported by Simon Josefsson.
61057
61058 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
61059
61060         Work around problem reported by Steven M. Schweda in
61061         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
61062         Tru64 5.1B with the Compaq compiler environment installed declares
61063         an 'isblank' function but does not define it in the C library.
61064         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
61065         * lib/regex_internal.h (isblank): Likewise.
61066         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
61067         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
61068
61069 2007-06-05  Bruno Haible  <bruno@clisp.org>
61070
61071         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
61072         ia64.
61073         * modules/printf-safe: New file.
61074         * modules/fprintf-posix (Depends-on): Add printf-safe.
61075         * modules/printf-posix (Depends-on): Likewise.
61076         * modules/snprintf-posix (Depends-on): Likewise.
61077         * modules/sprintf-posix (Depends-on): Likewise.
61078         * modules/vasnprintf-posix (Depends-on): Likewise.
61079         * modules/vasprintf-posix (Depends-on): Likewise.
61080         * modules/vfprintf-posix (Depends-on): Likewise.
61081         * modules/vprintf-posix (Depends-on): Likewise.
61082         * modules/vsnprintf-posix (Depends-on): Likewise.
61083         * modules/vsprintf-posix (Depends-on): Likewise.
61084         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
61085         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
61086         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
61087         "no" on i386, x86_64, ia64.
61088         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
61089         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61090         on i386, x86_64, ia64.
61091         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
61092         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61093         on i386, x86_64, ia64.
61094         * tests/test-vasnprintf-posix.c: Include float.h.
61095         (LDBL80_WORDS): New macro.
61096         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61097         on i386, x86_64, ia64.
61098         * tests/test-vasprintf-posix.c: Include float.h.
61099         (LDBL80_WORDS): New macro.
61100         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61101         on i386, x86_64, ia64.
61102         * tests/test-snprintf-posix.c: Include float.h.
61103         * tests/test-sprintf-posix.c: Likewise.
61104         * tests/test-vsnprintf-posix.c: Likewise.
61105         * tests/test-vsprintf-posix.c: Likewise.
61106
61107 2007-06-05  Bruno Haible  <bruno@clisp.org>
61108
61109         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
61110         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
61111         non-IEEE numbers on i386, x86_64, ia64.
61112         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
61113         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
61114         * tests/test-isnanl.h: Include float.h.
61115         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
61116
61117 2007-06-05  Bruno Haible  <bruno@clisp.org>
61118
61119         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
61120         also the %a / %A. Handle the %a / %A code before this extra handling.
61121
61122 2007-06-05  Bruno Haible  <bruno@clisp.org>
61123
61124         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
61125         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
61126
61127 2007-06-05  Bruno Haible  <bruno@clisp.org>
61128
61129         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
61130         typo in variable name.
61131
61132 2007-06-05  Eric Blake  <ebb9@byu.net>
61133
61134         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
61135         Reported by Simon Josefsson.
61136
61137 2007-06-04  Bruno Haible  <bruno@clisp.org>
61138
61139         Avoid test failures on some PowerPC platforms.
61140         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
61141         Define differently for PowerPC.
61142         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
61143         Reported by Gary V. Vaughan <gary@gnu.org>.
61144
61145 2007-06-02  Bruno Haible  <bruno@clisp.org>
61146
61147         Fix test-stdint failure on FreeBSD/ia64.
61148         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
61149         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
61150         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
61151         * doc/headers/stdint.texi: Update.
61152
61153 2007-06-01  Bruno Haible  <bruno@clisp.org>
61154
61155         * tests/test-binary-io.c (main): Pass a third argument to open().
61156         Reported by Gary V. Vaughan <gary@gnu.org>.
61157
61158 2007-06-01  Bruno Haible  <bruno@clisp.org>
61159
61160         * doc/functions/frexpl.texi: Update for mingw.
61161
61162 2007-06-01  Bruno Haible  <bruno@clisp.org>
61163
61164         * tests/test-lseek.c (main): Disable test of errno for invalid third
61165         argument.
61166         * doc/functions/lseek.texi: Update.
61167         Reported by Gary V. Vaughan <gary@gnu.org>.
61168
61169 2007-05-28  Bruno Haible  <bruno@clisp.org>
61170
61171         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
61172
61173 2007-05-31  Eric Blake  <ebb9@byu.net>
61174
61175         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
61176         cross compiling.
61177
61178 2007-05-30  Eric Blake  <ebb9@byu.net>
61179         and Bruno Haible  <bruno@clisp.org>
61180
61181         Work around mingw test failures exposed by m4-1.4.9b.
61182         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
61183         * tests/test-unistd.c: Disable uid_t and git_t tests for the
61184         moment.
61185
61186 2007-05-30  Bruno Haible  <bruno@clisp.org>
61187
61188         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
61189         assuming that they are closed. Needed on HP-UX 11.
61190
61191 2007-05-29  Bruno Haible  <bruno@clisp.org>
61192
61193         Fix a problem with #include_next.
61194         * lib/dirent_.h: Split the double-inclusion guard.
61195         * lib/fcntl_.h: Likewise.
61196         * lib/float_.h: Likewise.
61197         * lib/iconv_.h: Likewise.
61198         * lib/inttypes_.h: Likewise.
61199         * lib/locale_.h: Likewise.
61200         * lib/math_.h: Likewise.
61201         * lib/netinet_in_.h: Likewise.
61202         * lib/search_.h: Likewise.
61203         * lib/signal_.h: Likewise.
61204         * lib/stdint_.h: Likewise.
61205         * lib/stdio_.h: Likewise.
61206         * lib/stdlib_.h: Likewise.
61207         * lib/string_.h: Likewise.
61208         * lib/sys_select_.h: Likewise.
61209         * lib/sys_socket_.h: Likewise.
61210         * lib/sys_stat_.h: Likewise.
61211         * lib/sys_time_.h: Likewise.
61212         * lib/sysexits_.h: Likewise.
61213         * lib/time_.h: Likewise.
61214         * lib/unistd_.h: Likewise.
61215         * lib/wchar_.h: Likewise.
61216         * lib/wctype_.h: Likewise.
61217
61218 2007-05-29  Bruno Haible  <bruno@clisp.org>
61219
61220         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
61221         for the moment.
61222
61223 2007-05-29  Bruno Haible  <bruno@clisp.org>
61224
61225         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
61226         invocation.
61227         Reported by Eric Blake.
61228
61229 2007-05-29  Bruno Haible  <bruno@clisp.org>
61230
61231         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
61232         compiling case.
61233
61234 2007-05-29  Eric Blake  <ebb9@byu.net>
61235             Bruno Haible  <bruno@clisp.org>
61236
61237         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
61238         cross compiles.
61239
61240 2007-05-28  Eric Blake  <ebb9@byu.net>
61241
61242         * modules/closein-tests (test_closein_LDADD): Support test on
61243         cygwin with libtool.
61244
61245 2007-05-28  Bruno Haible  <bruno@clisp.org>
61246
61247         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
61248         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
61249         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
61250         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
61251         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
61252         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
61253         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
61254         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
61255         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
61256
61257 2007-05-28  Eric Blake  <ebb9@byu.net>
61258
61259         Unconditionally include <config.h> in unit tests.
61260         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
61261         * tests/test-allocsa.c, tests/test-arcfour.c,
61262         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
61263         tests/test-array_list.c, tests/test-array_oset.c,
61264         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
61265         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
61266         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
61267         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
61268         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
61269         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
61270         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
61271         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
61272         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
61273         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
61274         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
61275         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
61276         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
61277         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
61278         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
61279         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
61280         test-md5.c, test-memmem.c, test-printf-posix.c,
61281         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
61282         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
61283         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
61284         test-strcasestr.c, test-striconv.c, test-striconveh.c,
61285         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
61286         test-vasnprintf-posix2.c, test-vasnprintf.c,
61287         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
61288         test-vfprintf-posix.c, test-vprintf-posix.c,
61289         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
61290         test-xvasprintf.c: Likewise.
61291
61292 2007-05-28  Bruno Haible  <bruno@clisp.org>
61293
61294         * gnulib-tool (func_import): Remember the --with-tests command-line
61295         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
61296         Reported by Eric Blake.
61297
61298 2007-05-28  Bruno Haible  <bruno@clisp.org>
61299
61300         * modules/ftell-tests: New file.
61301         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
61302         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
61303
61304         * lib/ftell.c: New file.
61305         * modules/ftell: New file.
61306         * m4/ftell.m4: New file.
61307         * doc/functions/ftell.texi: Update.
61308         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
61309         REPLACE_FTELL.
61310         * lib/stdio_.h (rpl_ftell): New declaration.
61311         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
61312         REPLACE_FTELL.
61313
61314 2007-05-28  Eric Blake  <ebb9@byu.net>
61315
61316         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
61317
61318 2007-05-28  Bruno Haible  <bruno@clisp.org>
61319
61320         * modules/fseek-tests: New file.
61321         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
61322         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
61323
61324         * lib/fseek.c: New file.
61325         * modules/fseek: New file.
61326         * m4/fseek.m4: New file.
61327         * doc/functions/fseek.texi: Update.
61328         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
61329         REPLACE_FSEEK.
61330         * lib/stdio_.h (rpl_fseek): New declaration.
61331         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
61332         REPLACE_FSEEK.
61333
61334 2007-05-28  Bruno Haible  <bruno@clisp.org>
61335
61336         * lib/stdio_.h (fflush): More comments.
61337
61338 2007-05-28  Bruno Haible  <bruno@clisp.org>
61339
61340         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
61341         runtime test.
61342
61343 2007-05-28  Eric Blake  <ebb9@byu.net>
61344
61345         Improve lseek module.
61346         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
61347         * lib/unistd_.h (lseek): Scale back link warning message.
61348         * tests/test-lseek.c: Beef up test.
61349         * tests/test-lseek.sh: Exercise more facets of lseek.
61350         Reported by Bruno Haible.
61351
61352 2007-05-28  Bruno Haible  <bruno@clisp.org>
61353
61354         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
61355         to define.
61356
61357 2007-05-27  Bruno Haible  <bruno@clisp.org>
61358
61359         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
61360
61361 2007-05-27  Bruno Haible  <bruno@clisp.org>
61362
61363         * modules/openmp: New file.
61364         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
61365         Noah Misch.
61366
61367 2007-05-26  Bruno Haible  <bruno@clisp.org>
61368
61369         * modules/chdir-long (Depends-on): Add fchdir.
61370         * modules/chdir-safer (Depends-on): Likewise.
61371         * modules/fts (Depends-on): Likewise.
61372         * modules/fts-lgpl (Depends-on): Likewise.
61373         * modules/openat (Depends-on): Likewise.
61374         * modules/savewd (Depends-on): Likewise.
61375
61376 2007-05-24  Eric Blake  <ebb9@byu.net>
61377
61378         Fix lseek on mingw.
61379         * modules/lseek: New module.
61380         * m4/lseek.m4: New file.
61381         * lib/lseek.c: New file.
61382         * modules/lseek-tests: New file.
61383         * tests/test-lseek.c: New file.
61384         * tests/test-lseek.sh: New file.
61385         * MODULES.html.sh: Document lseek module.
61386         * modules/fflush (Depends-on): Add lseek, fseeko.
61387         * modules/fseeko (Depends-on): Likewise.
61388         * modules/ftello (Depends-on): Likewise.
61389         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
61390         broken.
61391         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
61392         broken.
61393         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
61394         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
61395         * lib/ftello.c (rpl_ftello): Likewise.
61396         * tests/test-fseeko.c (main): Test this.
61397         * tests/test-fseeko.sh: Likewise.
61398         * tests/test-ftello.c (main): Likewise.
61399         * tests/test-ftello.sh: Likewise.
61400         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
61401         implies replacing fseek.
61402         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
61403         HAVE_FTELLO.
61404         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
61405         * modules/unistd (Makefile.am): Likewise.
61406         * lib/unistd_.h (lseek): Declare a replacement.
61407         * doc/functions/lseek.texi (lseek): Document this fix.
61408         * doc/functions/fseek.texi (fseek): Likewise.
61409         * doc/functions/ftell.texi (ftell): Likewise.
61410
61411 2007-05-24  Bruno Haible  <bruno@clisp.org>
61412
61413         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
61414         in the printed representation of a NaN.
61415         * tests/test-vasprintf-posix.c (test_function): Likewise.
61416         * tests/test-snprintf-posix.h (test_function): Likewise.
61417         * tests/test-sprintf-posix.h (test_function): Likewise.
61418         Reported by Eric Blake.
61419
61420 2007-05-23  Eric Blake  <ebb9@byu.net>
61421
61422         Fix fseeko/ftello on cygwin 1.5.24.
61423         * doc/functions/fseeko.texi (fseeko): Document the fix.
61424         * doc/functions/ftello.texi (ftello): Document the fix.
61425         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
61426         * doc/functions/stdout.text (stdout): New file.
61427         * doc/functions/stderr.text (stderr): New file.
61428         * doc/gnulib.texi (Function Substitutes): Use new files.
61429         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
61430         prior to 1.7.0.
61431         * tests/test-ftello.c (main): Likewise for ftello.
61432         * tests/test-fseeko.sh: New file.
61433         * tests/test-ftello.sh: New file.
61434         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
61435         with seekable stdin.
61436         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
61437         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
61438         (gl_REPLACE_FSEEKO): New macro.
61439         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
61440         * modules/fseeko (Files): Distribute fseeko.c.
61441         * modules/ftello (Files): Distribute ftello.c.
61442         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
61443         mode.
61444         * lib/ftello.c (rpl_ftello): New file.
61445         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
61446         fseeko, ftello.
61447         (gl_STDIN_LARGE_OFFSET): New macro.
61448         * modules/stdio (Makefile.am): Perform the replacement.
61449         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
61450
61451 2007-05-23  Bruno Haible  <bruno@clisp.org>
61452
61453         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
61454         GNULIB_POSIXCHECK is defined.
61455
61456 2007-05-21  Bruno Haible  <bruno@clisp.org>
61457
61458         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
61459         Check also the output for NaN arguments. When cross-compiling, guess
61460         no on IRIX.
61461         * lib/vasnprintf.c: Update comments.
61462         * tests/test-vasnprintf-posix.c (strisnan): New function.
61463         (test_function): Use it.
61464         * tests/test-vasprintf-posix.c (strisnan): New function.
61465         (test_function): Use it.
61466         * tests/test-snprintf-posix.h (strisnan): New function.
61467         (test_function): Use it.
61468         * tests/test-sprintf-posix.h (strisnan): New function.
61469         (test_function): Use it.
61470         Reported by Eric Blake.
61471
61472 2007-05-20  Bruno Haible  <bruno@clisp.org>
61473
61474         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
61475         numbers that fails on BeOS.
61476         * doc/functions/frexpl.texi: Update.
61477
61478 2007-05-20  Jim Meyering  <jim@meyering.net>
61479
61480         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
61481         forced upon us by glibc-2.6.
61482
61483 2007-05-20  Bruno Haible  <bruno@clisp.org>
61484
61485         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
61486         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
61487         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
61488         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
61489         NEED_PRINTF_INFINITE.
61490         (is_infinitel): New function.
61491         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
61492         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
61493         gl_PREREQ_VASNPRINTF_INFINITE.
61494         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
61495         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61496         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
61497         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
61498         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
61499         gl_PREREQ_VASNPRINTF_INFINITE.
61500         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61501         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61502         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61503         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61504         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61505         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61506         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61507         * doc/functions/fprintf.texi: Update.
61508         * doc/functions/printf.texi: Update.
61509         * doc/functions/snprintf.texi: Update.
61510         * doc/functions/sprintf.texi: Update.
61511         * doc/functions/vfprintf.texi: Update.
61512         * doc/functions/vprintf.texi: Update.
61513         * doc/functions/vsnprintf.texi: Update.
61514         * doc/functions/vsprintf.texi: Update.
61515
61516 2007-05-20  Bruno Haible  <bruno@clisp.org>
61517
61518         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
61519         was not found in libc.
61520         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
61521
61522 2007-05-20  Bruno Haible  <bruno@clisp.org>
61523
61524         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
61525         printed as "-nan" instead of "nan".
61526         * tests/test-vasprintf-posix.c (test_function): Likewise.
61527         * tests/test-snprintf-posix.h (test_function): Likewise.
61528         * tests/test-sprintf-posix.h (test_function): Likewise.
61529         Needed for HP-UX 11.
61530
61531 2007-05-20  Jim Meyering  <jim@meyering.net>
61532
61533         Fix buggy test for the fchownat-deref bug.
61534         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
61535         symlink required for the run-test.  Without it, this test would
61536         always declare that fchownat doesn't work, and client code would
61537         unnecessarily use the replacement function with fixed libc.
61538         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
61539         Reported by Greg Schafer.
61540
61541 2007-05-19  Bruno Haible  <bruno@clisp.org>
61542
61543         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
61544         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
61545         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
61546         Needed for IRIX 6.5 and Solaris 2.5.1.
61547
61548 2007-05-19  Bruno Haible  <bruno@clisp.org>
61549
61550         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
61551         (test_function): Skip tests involving -0.0 on platforms where
61552         -0.0 = 0.0.
61553         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
61554         (test_function): Skip tests involving -0.0 on platforms where
61555         -0.0 = 0.0.
61556         * tests/test-snprintf-posix.h (have_minus_zero): New function.
61557         (test_function): Skip tests involving -0.0 on platforms where
61558         -0.0 = 0.0.
61559         * tests/test-sprintf-posix.h (have_minus_zero): New function.
61560         (test_function): Skip tests involving -0.0 on platforms where
61561         -0.0 = 0.0.
61562         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
61563         tests.
61564         * tests/test-printf-posix.h (test_function): Likewise.
61565         * tests/test-printf-posix.output: Remove all -0.0 related results.
61566         Needed for IRIX 6.5.
61567
61568 2007-05-19  Bruno Haible  <bruno@clisp.org>
61569
61570         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
61571         printed as "nan0x7fffffff" instead of "nan".
61572         * tests/test-vasprintf-posix.c (test_function): Likewise.
61573         * tests/test-snprintf-posix.h (test_function): Likewise.
61574         * tests/test-sprintf-posix.h (test_function): Likewise.
61575         * tests/test-fprintf-posix.h (NaN): Remove macro.
61576         (test_function): Remove all NaN related tests.
61577         * tests/test-printf-posix.h (NaN): Remove macro.
61578         (test_function): Remove all NaN related tests.
61579         * tests/test-printf-posix.output: Remove all NaN related results.
61580         Needed for IRIX 6.5.
61581
61582 2007-05-19  Bruno Haible  <bruno@clisp.org>
61583
61584         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
61585         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
61586
61587 2007-05-19  Bruno Haible  <bruno@clisp.org>
61588
61589         * lib/float_.h: New file.
61590         * m4/float_h.m4: New file.
61591         * modules/float: New file.
61592         * modules/isnanl (Dependencies): Add float.
61593         * modules/isnanl-nolibm (Dependencies): Likewise.
61594         * modules/mathl (Dependencies): Likewise.
61595         * modules/printf-frexpl (Dependencies): Likewise.
61596         * modules/signbit (Dependencies): Likewise.
61597         * modules/vasnprintf (Dependencies): Likewise.
61598         * doc/headers/float.texi: Update.
61599
61600 2007-05-19  Jim Meyering  <jim@meyering.net>
61601
61602         * lib/utimens.c (gl_futimens): Rename from futimens,
61603         now that glibc-2.6 declares futimens.
61604         * lib/utimens.h: Likewise.
61605
61606 2007-05-19  Bruno Haible  <bruno@clisp.org>
61607
61608         Avoid test failures on mingw.
61609         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
61610         * tests/test-printf-posix.sh: Likewise.
61611         * tests/test-vfprintf-posix.sh: Likewise.
61612         * tests/test-vprintf-posix.sh: Likewise.
61613
61614 2007-05-19  Bruno Haible  <bruno@clisp.org>
61615
61616         Fix *printf result for NaN, Inf, -0.0 on mingw.
61617         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
61618         * lib/vasnprintf.c: Include math.h and isnan.h.
61619         (is_infinite_or_zero): New function.
61620         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
61621         values in the %f, %F, %e, %E, %g, %G directives.
61622         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
61623         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61624         gl_PRINTF_INFINITE and test its result. Invoke
61625         gl_PREREQ_VASNPRINTF_INFINITE.
61626         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61627         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61628         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61629         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61630         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61631         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61632         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61633         * doc/functions/fprintf.texi: Update.
61634         * doc/functions/printf.texi: Update.
61635         * doc/functions/snprintf.texi: Update.
61636         * doc/functions/sprintf.texi: Update.
61637         * doc/functions/vfprintf.texi: Update.
61638         * doc/functions/vprintf.texi: Update.
61639         * doc/functions/vsnprintf.texi: Update.
61640         * doc/functions/vsprintf.texi: Update.
61641
61642 2007-05-19  Bruno Haible  <bruno@clisp.org>
61643
61644         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
61645         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
61646         Instead of multiplying with 10^k, set extra_zeroes to k.
61647         (scale10_round_long_double): Remove function.
61648
61649 2007-05-18  Bruno Haible  <bruno@clisp.org>
61650
61651         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
61652         introduced on 2007-05-06.
61653
61654 2007-05-18  Bruno Haible  <bruno@clisp.org>
61655
61656         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
61657         %g directives.
61658         * tests/test-vasprintf-posix.c (test_function): Likewise.
61659         * tests/test-snprintf-posix.h (test_function): Likewise.
61660         * tests/test-sprintf-posix.h (test_function): Likewise.
61661
61662 2007-05-18  Bruno Haible  <bruno@clisp.org>
61663
61664         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
61665         (strmatch): New function.
61666         (test_function): Test the %f directive on numbers of various exponents.
61667         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
61668         (strmatch): New function.
61669         (test_function): Test the %f directive on numbers of various exponents.
61670         * tests/test-snprintf-posix.h (strmatch): New function.
61671         (test_function): Test the %f directive on numbers of various exponents.
61672         * tests/test-sprintf-posix.h (strmatch): New function.
61673         (test_function): Test the %f directive on numbers of various exponents.
61674         * tests/test-snprintf-posix.c (SIZEOF): New macro.
61675         * tests/test-sprintf-posix.c (SIZEOF): New macro.
61676         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
61677         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
61678
61679 2007-05-18  Bruno Haible  <bruno@clisp.org>
61680
61681         Add support for 'long double' number output.
61682         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
61683         * lib/vasnprintf.c: Include math.h and float+.h.
61684         (mp_limb_t): New type.
61685         (GMP_LIMB_BITS): New macro.
61686         (mp_twolimb_t): New type.
61687         (GMP_TWOLIMB_BITS): New macro.
61688         (mpn_t): New type.
61689         (multiply, divide, convert_to_decimal, decode_long_double,
61690         scale10_round_long_double, scale10_round_decimal_long_double,
61691         floorlog10l): New functions.
61692         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
61693         for the %f, %F, %e, %E, %g, %G directives.
61694         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
61695         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61696         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
61697         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
61698         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61699         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61700         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61701         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61702         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61703         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61704         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61705         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
61706         * modules/snprintf-posix (Depends-on): Likewise.
61707         * modules/sprintf-posix (Depends-on): Likewise.
61708         * modules/vasnprintf-posix (Depends-on): Likewise.
61709         * modules/vasprintf-posix (Depends-on): Likewise.
61710         * modules/vfprintf-posix (Depends-on): Likewise.
61711         * modules/vsnprintf-posix (Depends-on): Likewise.
61712         * modules/vsprintf-posix (Depends-on): Likewise.
61713         * modules/vasnprintf (Files): Add lib/float+.h.
61714         * doc/functions/fprintf.texi: Update.
61715         * doc/functions/printf.texi: Update.
61716         * doc/functions/snprintf.texi: Update.
61717         * doc/functions/sprintf.texi: Update.
61718         * doc/functions/vfprintf.texi: Update.
61719         * doc/functions/vprintf.texi: Update.
61720         * doc/functions/vsnprintf.texi: Update.
61721         * doc/functions/vsprintf.texi: Update.
61722
61723 2007-05-18  Bruno Haible  <bruno@clisp.org>
61724
61725         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
61726
61727 2007-05-18  Bruno Haible  <bruno@clisp.org>
61728
61729         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
61730         for printing 64-bit integers. Needed for mingw.
61731
61732 2007-05-18  Bruno Haible  <bruno@clisp.org>
61733
61734         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
61735         gl_FUNC_FREXPL_WORKS.
61736         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
61737
61738 2007-05-18  Bruno Haible  <bruno@clisp.org>
61739
61740         * modules/frexpl-nolibm-tests: New file.
61741
61742         * modules/frexpl-nolibm: New file.
61743         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
61744
61745 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
61746
61747         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
61748         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
61749         GCC 4.2, which otherwise issues a lot of warnings.
61750         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
61751         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
61752         Likewise.
61753         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
61754         * modules/iconv_open (iconv.h): Likewise.
61755         * modules/locale (locale.h): Likewise.
61756         * modules/netinet_in (netinet/in.h): Likewise.
61757         * modules/sys_select (sys_select.h): Likewise.
61758         * modules/sys_socket (sys/socket.h): Likewise.
61759         * modules/sys_stat (sys/stat.h): Likewise.
61760         * modules/sysexits (sysexits.h): Likewise.
61761         * modules/unistd (unistd.h): Likewise.
61762
61763 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61764
61765         * modules/closein-tests (Makefile.am): Distribute
61766         `test-closein.sh'.
61767
61768 2007-05-17  Bruno Haible  <bruno@clisp.org>
61769
61770         * tests/test-printf-posix.output: Renamed from
61771         tests/test-fprintf-posix.out.
61772         * modules/fprintf-posix-tests: Update.
61773         * modules/printf-posix-tests: Update.
61774         * modules/vfprintf-posix-tests: Update.
61775         * modules/vprintf-posix-tests: Update.
61776         * tests/test-fprintf-posix.sh: Update.
61777         * tests/test-printf-posix.sh: Update.
61778         * tests/test-vfprintf-posix.sh: Update.
61779         * tests/test-vprintf-posix.sh: Update.
61780         Reported by Ralf Wildenhues.
61781
61782 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
61783
61784         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
61785         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
61786         GCC 4.2, which otherwise issues a lot of warnings.
61787         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
61788         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
61789         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
61790         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
61791         it should no longer be needed.
61792         * lib/string_.h: Likewise.
61793         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
61794         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
61795         * modules/inttypes (inttypes.h): Likewise.
61796         * modules/math (math.h): Likewise.
61797         * modules/search (search.h): Likewise.
61798         * modules/signal (signal.h): Likewise.
61799         * modules/stdint (stdint.h): Likewise.
61800         * modules/stdio (stdio.h): Likewise.
61801         * modules/stdlib (stdlib.h): Likewise.
61802         * modules/string (string.h): Likewise.
61803         * modules/sys_time (sys/time.h): Likewise.
61804         * modules/time (time.h): Likewise.
61805         * modules/wchar (wchar.h): Likewise.
61806         * modules/wctype (wtype.h): Likewise.
61807
61808 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
61809
61810         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
61811
61812 2007-05-13  Bruno Haible  <bruno@clisp.org>
61813
61814         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
61815         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
61816         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
61817         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
61818         (gl_PREREQ_STRTOK_R): Don't require it here.
61819
61820 2007-05-13  Bruno Haible  <bruno@clisp.org>
61821
61822         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
61823         when used in C++ mode.
61824
61825 2007-05-12  Bruno Haible  <bruno@clisp.org>
61826
61827         * lib/linebuffer.h: Tweak doc.
61828         * lib/linebuffer.c: Likewise.
61829
61830 2007-05-12  James Youngman  <jay@gnu.org>
61831
61832         * lib/linebuffer.c (readlinebuffer_delim): New function,
61833         like readlinebuffer, but use a caller-specified delimiter.
61834         (readlinebuffer): Just call readlinebuffer_delim with '\n'
61835         as the delimiter.
61836         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
61837
61838 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
61839
61840         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
61841         * modules/openat (Files): Remove openat-die.c.
61842         (Depends-on): Add openat-die.
61843         * modules/openat-die: New module.
61844
61845 2007-05-06  Bruno Haible  <bruno@clisp.org>
61846
61847         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
61848         Update with info about Cygwin.
61849         * doc/functions/fprintf.texi: Update.
61850         * doc/functions/printf.texi: Update.
61851         * doc/functions/snprintf.texi: Update.
61852         * doc/functions/sprintf.texi: Update.
61853         * doc/functions/vfprintf.texi: Update.
61854         * doc/functions/vprintf.texi: Update.
61855         * doc/functions/vsnprintf.texi: Update.
61856         * doc/functions/vsprintf.texi: Update.
61857         Reported by Eric Blake.
61858
61859 2007-05-06  Bruno Haible  <bruno@clisp.org>
61860
61861         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
61862         padding ourselves for the floating-point directives.
61863         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
61864         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
61865         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
61866         gl_PRINTF_FLAG_ZERO and test its result. Invoke
61867         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
61868         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61869         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
61870         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61871         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61872         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61873         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61874         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61875         * tests/test-snprintf-posix.h (test_function): Also check the width
61876         and some flags in the %f directive.
61877         * tests/test-sprintf-posix.h (test_function): Likewise.
61878         * tests/test-vasnprintf-posix.c (test_function): Likewise.
61879         * tests/test-vasprintf-posix.c (test_function): Likewise.
61880         * doc/functions/fprintf.texi: Update.
61881         * doc/functions/printf.texi: Update.
61882         * doc/functions/snprintf.texi: Update.
61883         * doc/functions/sprintf.texi: Update.
61884         * doc/functions/vfprintf.texi: Update.
61885         * doc/functions/vprintf.texi: Update.
61886         * doc/functions/vsnprintf.texi: Update.
61887         * doc/functions/vsprintf.texi: Update.
61888
61889 2007-05-06  Bruno Haible  <bruno@clisp.org>
61890
61891         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
61892         pass the ' flag character to sprintf or snprintf.
61893         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
61894         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
61895         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
61896         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
61897         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
61898         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61899         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
61900         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61901         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61902         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61903         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61904         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61905         * tests/test-snprintf-posix.h (test_function): Also check the grouping
61906         flag.
61907         * tests/test-sprintf-posix.h (test_function): Likewise.
61908         * tests/test-vasnprintf-posix.c (test_function): Likewise.
61909         * tests/test-vasprintf-posix.c (test_function): Likewise.
61910         * doc/functions/fprintf.texi: Update.
61911         * doc/functions/printf.texi: Update.
61912         * doc/functions/snprintf.texi: Update.
61913         * doc/functions/sprintf.texi: Update.
61914         * doc/functions/vfprintf.texi: Update.
61915         * doc/functions/vprintf.texi: Update.
61916         * doc/functions/vsnprintf.texi: Update.
61917         * doc/functions/vsprintf.texi: Update.
61918
61919 2007-05-01  Bruno Haible  <bruno@clisp.org>
61920
61921         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
61922
61923 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
61924
61925         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
61926         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
61927
61928 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
61929
61930         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
61931         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
61932         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
61933
61934 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
61935
61936         * lib/argp-help.c (struct hol_entry): New member `ord'.
61937         (HOL_ENTRY_PTRCMP): Use ord for comparison
61938         (hol_sort): Initialize ord.
61939
61940 2007-05-01  Bruno Haible  <bruno@clisp.org>
61941
61942         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
61943         Reported by Eric Blake.
61944         * doc/gnulib.texi (Function Substitutes): Update.
61945
61946 2007-05-01  Bruno Haible  <bruno@clisp.org>
61947
61948         * doc/functions.texi: Remove file, now redundant through
61949         doc/functions/*.texi.
61950
61951 2007-05-01  Bruno Haible  <bruno@clisp.org>
61952
61953         * modules/argp (Depends-on): Add sleep.
61954
61955 2007-05-01  Bruno Haible  <bruno@clisp.org>
61956
61957         * modules/sleep-tests: New file.
61958         * tests/test-sleep.c: New file.
61959
61960         * modules/sleep: New file.
61961         * lib/sleep.c: New file.
61962         * m4/sleep.m4: New file.
61963         * lib/unistd_.h (sleep): New declaration.
61964         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
61965         HAVE_SLEEP.
61966         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
61967         * doc/functions/sleep.texi: Document the sleep module.
61968
61969 2007-05-01  Bruno Haible  <bruno@clisp.org>
61970
61971         * lib/sigprocmask.h: Remove file.
61972         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
61973         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
61974         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
61975         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
61976         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
61977         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
61978         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
61979         HAVE_SIGSET_T as a shell variable.
61980         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
61981         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
61982         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
61983         (Depends-on): Add signal. Remove verify.
61984         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
61985         (Include): Mention <signal.h> instead of sigprocmask.h.
61986         * NEWS: Mention the change.
61987         * lib/fatal-signal.c: Don't include sigprocmask.h.
61988
61989 2007-05-01  Bruno Haible  <bruno@clisp.org>
61990
61991         * modules/signal: New file.
61992         * lib/signal_.h: New file.
61993         * m4/signal_h.m4: New file.
61994
61995 2007-05-01  Bruno Haible  <bruno@clisp.org>
61996
61997         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
61998         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
61999         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
62000         HAVE_WCTYPE_CTMP_BUG into wctype.h.
62001
62002 2007-05-01  Bruno Haible  <bruno@clisp.org>
62003
62004         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
62005         configure time.
62006         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
62007         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
62008         * modules/sys_stat (Makefile.am): Substitute their values into
62009         sys/stat.h.
62010
62011 2007-05-01  Bruno Haible  <bruno@clisp.org>
62012
62013         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
62014         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
62015         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
62016
62017 2007-05-01  Bruno Haible  <bruno@clisp.org>
62018
62019         * doc/header/assert.texi: Undo last change: don't mention the gnulib
62020         'assert' module here.
62021
62022 2007-05-01  Bruno Haible  <bruno@clisp.org>
62023
62024         * doc/functions/*.texi: New files.
62025         * doc/functions/google-ranking.txt: New file.
62026         * doc/gnulib.texi (Function Substitutes): New chapter.
62027         (ctime, inet_ntoa): Remove sections.
62028         * doc/ctime.texi: Remove file.
62029         * doc/inet_ntoa.texi: Remove file.
62030         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
62031         dependencies.
62032         (%.info): New rule, specifying a --reference-limit.
62033
62034 2007-05-01  Bruno Haible  <bruno@clisp.org>
62035
62036         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
62037
62038 2007-05-01  Bruno Haible  <bruno@clisp.org>
62039
62040         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
62041         the portability of 'mkdir' to mingw systems.
62042
62043 2007-05-01  Bruno Haible  <bruno@clisp.org>
62044
62045         * doc/headers/google-ranking.txt: New file.
62046
62047 2007-04-30  Eric Blake  <ebb9@byu.net>
62048
62049         Prefer fseeko to fseek.
62050         * modules/getpass (Depends-on): Add fseeko.
62051         * lib/getpass.c (getpass): Use fseeko, not fseek.
62052
62053 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
62054
62055         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
62056         assumes the sorting is stable, while most qsort implementations
62057         are not.  Use argument addresses to ensure they never compare as
62058         equal.
62059
62060         * tests/test-argp-2.sh (usage-indent test): Fix output
62061         (func_compare): Restore diff options
62062         * tests/test-argp.c: Restore #include "progname.h"
62063
62064 2007-04-29  Bruno Haible  <bruno@clisp.org>
62065
62066         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
62067         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62068         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
62069         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62070         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
62071         (configure.ac): Define CHECK_SNPRINTF_POSIX.
62072         (TESTS, check_PROGRAMS): Add test-snprintf.
62073         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
62074         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
62075         (TESTS, check_PROGRAMS): Add test-vsnprintf.
62076         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
62077         assertions that fail on HP-UX, OSF/1, or IRIX.
62078         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
62079
62080 2007-04-29  Bruno Haible  <bruno@clisp.org>
62081
62082         * MODULES.html.sh (posix_functions): Remove 'contents'.
62083
62084 2007-04-29  Karl Berry  <karl@gnu.org>
62085
62086         * config/srclist.txt (gendocs_template_min): new entry.
62087
62088 2007-04-29  Bruno Haible  <bruno@clisp.org>
62089
62090         Work around fpurge bug on BSD systems.
62091         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
62092         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
62093         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
62094         fpurge to rpl_fpurge if the system already has this function.
62095         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
62096         the case where the system already has this function. Correct invariants
62097         on BSD systems.
62098         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
62099         BSD systems.
62100
62101 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
62102
62103         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
62104         proposed by Sven Verdoolaege.
62105
62106         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
62107         options.
62108         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
62109         (usage and help tests): Update
62110
62111 2007-04-29  Bruno Haible  <bruno@clisp.org>
62112
62113         * tests/test-fflush.c (main): Use a file of size 17, not 10.
62114         Print more information in case of failure. Disable a test on BeOS.
62115
62116 2007-04-29  Bruno Haible  <bruno@clisp.org>
62117
62118         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
62119         This helps debugging on systems on which no gdb is available.
62120
62121 2007-04-29  Bruno Haible  <bruno@clisp.org>
62122
62123         * lib/freading.h: Improve comments.
62124         * lib/fwriting.h: Likewise.
62125         * tests/test-freading.c (main): Don't check freading immediately after
62126         repositioning. Needed for glibc.
62127
62128 2007-04-29  Bruno Haible  <bruno@clisp.org>
62129
62130         * lib/freading.c (freading): Trivial simplification.
62131
62132 2007-04-28  Bruno Haible  <bruno@clisp.org>
62133
62134         * tests/test-fwriting.c (main): Also test the interaction between
62135         fflush and fwriting.
62136         * modules/fwriting-tests (Depends-on): Add fflush.
62137
62138         * tests/test-freading.c (main): Also test the interaction between
62139         fflush and freading.
62140         * modules/freading-tests (Depends-on): Add fflush.
62141
62142 2007-04-28  Bruno Haible  <bruno@clisp.org>
62143
62144         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
62145         fseeko and ftello.
62146         Suggested by Eric Blake.
62147
62148 2007-04-28  Jim Meyering  <jim@meyering.net>
62149
62150         Avoid false-negative in gl_STDINT_H's C99 conformance test.
62151         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
62152         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
62153
62154 2007-04-27  Eric Blake  <ebb9@byu.net>
62155
62156         * doc/headers/assert.texi (assert.h): Document assert module use.
62157
62158 2007-04-27  Bruno Haible  <bruno@clisp.org>
62159
62160         * doc/headers/*.texi: New files.
62161         * doc/gnulib.texi (Header File Substitutes): New chapter.
62162         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
62163         dependencies.
62164         (standards.info ,standards.html, standards.dvi): Update dependencies.
62165         (mostlyclean, clean): New targets.
62166
62167 2007-04-27  Bruno Haible  <bruno@clisp.org>
62168
62169         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
62170         * modules/sysexits (Files, Makefile.am): Update.
62171
62172         * lib/sys_socket_.h: Renamed from lib/socket_.h.
62173         * modules/sys_socket (Files, Makefile.am): Update.
62174
62175         * lib/sys_stat_.h: Renamed from lib/stat_.h.
62176         * modules/sys_stat (Files, Makefile.am): Update.
62177
62178 2007-04-27  Eric Blake  <ebb9@byu.net>
62179
62180         * lib/freading.h: Improve comments.
62181         * lib/fwriting.h: Likewise.
62182         * lib/fflush.c: Likewise.
62183
62184         Fix closein for mingw.
62185         * modules/closein-tests: Add tests for closein.
62186         * tests/test-closein.c: New file.
62187         * tests/test-closein.sh: Likewise.
62188         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
62189         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
62190
62191 2007-04-27  Bruno Haible  <bruno@clisp.org>
62192
62193         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
62194         version is < 6.
62195         * lib/math_.h [__DECC]: Likewise.
62196         * lib/stdio_.h [__DECC]: Likewise.
62197         * lib/stdlib_.h [__DECC]: Likewise.
62198         * lib/string_.h [__DECC]: Likewise.
62199         * lib/time_.h [__DECC]: Likewise.
62200         * lib/wchar_.h [__DECC]: Likewise.
62201         * lib/wctype_.h [__DECC]: Likewise.
62202
62203 2007-04-27  Bruno Haible  <bruno@clisp.org>
62204
62205         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
62206
62207 2007-04-27  Bruno Haible  <bruno@clisp.org>
62208
62209         * lib/fflush.c: Add comments.
62210         * modules/fpurge-tests (Depends-on): Add fflush.
62211         * modules/freadable-tests (Depends-on): Likewise.
62212         * modules/fwritable-tests (Depends-on): Likewise.
62213
62214 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
62215
62216         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
62217         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
62218         Report by Bruno Haible <bruno@clisp.org>.
62219
62220 2007-04-26  Eric Blake  <ebb9@byu.net>
62221
62222         Fix fflush on mingw.
62223         * modules/fflush (Depends-on): Add freading.
62224         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
62225         but unread data.
62226
62227 2007-04-26  Eric Blake  <ebb9@byu.net>
62228         and Bruno Haible  <bruno@clisp.org>
62229
62230         Implement freading and fwriting.
62231         * lib/freading.c: New file.
62232         * lib/freading.h: Likewise.
62233         * m4/freading.m4: Likewise.
62234         * modules/freading: Likewise.
62235         * modules/freading-tests: Likewise.
62236         * tests/test-freading.c: Likewise.
62237         * lib/fwriting.c: New file.
62238         * lib/fwriting.h: Likewise.
62239         * m4/fwriting.m4: Likewise.
62240         * modules/fwriting: Likewise.
62241         * modules/fwriting-tests: Likewise.
62242         * tests/test-fwriting.c: Likewise.
62243         * MODULES.html.sh (File stream based Input/Output): Mention them.
62244
62245 2007-04-26  Bruno Haible  <bruno@clisp.org>
62246
62247         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
62248         'long' when we assume it.
62249         Suggested by Eric Blake.
62250
62251 2007-04-26  Bruno Haible  <bruno@clisp.org>
62252
62253         Ensure fseeko, ftello are declared on glibc systems.
62254         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
62255         * modules/fseeko (configure.ac-early): Likewise.
62256         * modules/ftello (configure.ac-early): Likewise.
62257         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
62258         AC_FUNC_FSEEKO for this.
62259         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
62260         (gl_CHECK_FSEEKO): Remove macro.
62261
62262 2007-04-26  Bruno Haible  <bruno@clisp.org>
62263
62264         * tests/test-fflush.c (main): Also check the ftell result after
62265         fflush and fseek/fseeko.
62266         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
62267         file descriptor position cache in the stream.
62268         * lib/fseeko.c (rpl_fseeko): Likewise.
62269
62270 2007-04-26  Bruno Haible  <bruno@clisp.org>
62271
62272         * modules/fflush-tests (Depends-on): Add fseeko.
62273
62274 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
62275             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62276
62277         * lib/argz_.h: ensure error_t definition is obtained in same
62278         mechanism system argz.h would have.
62279         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
62280         argz facilities are known bad.  Err on the side of caution if
62281         cross-compiling.
62282
62283 2007-04-25  Eric Blake  <ebb9@byu.net>
62284
62285         * lib/fpurge.c (includes): Use stdlib.h for free.
62286         * tests/test-fflush.c (main): Also test fflush-fseeko.
62287
62288 2007-04-25  Bruno Haible  <bruno@clisp.org>
62289
62290         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
62291         * lib/fseeko.c: New file.
62292         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
62293         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
62294         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
62295         gl_FUNC_FSEEKO.
62296         (gl_FUNC_FSEEKO): Invoke it.
62297         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
62298         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
62299         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
62300
62301 2007-04-25  Bruno Haible  <bruno@clisp.org>
62302
62303         * modules/fflush (Depends-on): Add ftello.
62304
62305 2007-04-25  Bruno Haible  <bruno@clisp.org>
62306
62307         * modules/ftello-tests: New file.
62308         * tests/test-ftello.c: New file.
62309
62310         * modules/ftello: New file.
62311         * m4/ftello.m4: New file.
62312         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
62313         HAVE_FTELLO.
62314         * lib/stdio_.h (ftello): New declaration.
62315         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
62316         HAVE_FTELLO.
62317
62318 2007-04-25  Bruno Haible  <bruno@clisp.org>
62319
62320         * modules/fseeko-tests: New file.
62321         * tests/test-fseeko.c: New file.
62322
62323         * modules/fseeko: New file.
62324         * m4/fseeko.m4: New file.
62325         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
62326         HAVE_FSEEKO.
62327         * lib/stdio_.h (fseeko): New declaration.
62328         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
62329         HAVE_FSEEKO.
62330
62331 2007-04-25  Bruno Haible  <bruno@clisp.org>
62332
62333         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
62334
62335 2007-04-25  Bruno Haible  <bruno@clisp.org>
62336
62337         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
62338         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
62339         * tests/test-unistd.c: Likewise.
62340         * tests/test-fcntl.c: Likewise.
62341
62342 2007-04-23  Eric Blake  <ebb9@byu.net>
62343
62344         * lib/fflush.c: Fix missing include.
62345         Reported by Bruno Haible.
62346
62347 2007-04-23  Bruno Haible  <bruno@clisp.org>
62348
62349         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
62350         Reported by Eric Blake.
62351
62352 2007-04-23  Bruno Haible  <bruno@clisp.org>
62353
62354         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
62355
62356 2007-04-23  Bruno Haible  <bruno@clisp.org>
62357
62358         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
62359
62360 2007-04-23  Bruno Haible  <bruno@clisp.org>
62361
62362         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
62363         Needed on HP-UX 11.
62364
62365 2007-04-16  Eric Blake  <ebb9@byu.net>
62366
62367         Make fflush rely on fpurge.
62368         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
62369         open coding all variants.
62370         * modules/fflush (Depends-on): Add fpurge and unistd.
62371         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
62372         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
62373
62374         Fix --with-tests compilation on cygwin.
62375         * modules/argmatch-tests (Makefile.am): List gnulib library first
62376         in LDADD.
62377         * modules/argp-tests (Makefile.am): Likewise.
62378         * modules/array-list-tests (Makefile.am): Likewise.
62379         * modules/array-oset-tests (Makefile.am): Likewise.
62380         * modules/avltree-list-tests (Makefile.am): Likewise.
62381         * modules/avltree-oset-tests (Makefile.am): Likewise.
62382         * modules/avltreehash-list-tests (Makefile.am): Likewise.
62383         * modules/carray-list-tests (Makefile.am): Likewise.
62384         * modules/dirname-tests (Makefile.am): Likewise.
62385         * modules/frexp-tests (Makefile.am): Likewise.
62386         * modules/isnanl-tests (Makefile.am): Likewise.
62387         * modules/linked-list-tests (Makefile.am): Likewise.
62388         * modules/linkedhash-list-tests (Makefile.am): Likewise.
62389         * modules/lock-tests (Makefile.am): Likewise.
62390         * modules/rbtree-list-tests (Makefile.am): Likewise.
62391         * modules/rbtree-oset-tests (Makefile.am): Likewise.
62392         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
62393         * modules/tls-tests (Makefile.am): Likewise.
62394         * modules/tsearch-tests (Makefile.am): Likewise.
62395         * modules/xvasprintf-tests (Makefile.am): Likewise.
62396
62397         Fix fpurge for cygwin.
62398         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
62399         value.
62400         * modules/fpurge-tests (Depends-on): Clean up trash.
62401
62402 2007-04-16  Simon Josefsson  <simon@josefsson.org>
62403
62404         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
62405
62406         * m4/autobuild.m4: Re-indent.
62407
62408 2007-04-13  Bruno Haible  <bruno@clisp.org>
62409
62410         * modules/fpurge-tests: New file.
62411         * tests/test-fpurge.c: New file.
62412
62413         * modules/fpurge: New file.
62414         * lib/fpurge.h: New file.
62415         * lib/fpurge.c: New file.
62416         * m4/fpurge.m4: New file.
62417
62418 2007-04-13  Bruno Haible  <bruno@clisp.org>
62419
62420         * modules/fbufmode-tests: New file.
62421         * tests/test-fbufmode.c: New file.
62422
62423         * modules/fbufmode: New file.
62424         * lib/fbufmode.h: New file.
62425         * lib/fbufmode.c: New file.
62426         * m4/fbufmode.m4: New file.
62427
62428 2007-04-13  Bruno Haible  <bruno@clisp.org>
62429
62430         * modules/fwritable-tests: New file.
62431         * tests/test-fwritable.c: New file.
62432
62433         * modules/fwritable: New file.
62434         * lib/fwritable.h: New file.
62435         * lib/fwritable.c: New file.
62436         * m4/fwritable.m4: New file.
62437
62438 2007-04-13  Bruno Haible  <bruno@clisp.org>
62439
62440         * modules/freadable-tests: New file.
62441         * tests/test-freadable.c: New file.
62442
62443         * modules/freadable: New file.
62444         * lib/freadable.h: New file.
62445         * lib/freadable.c: New file.
62446         * m4/freadable.m4: New file.
62447
62448 2007-04-13  Bruno Haible  <bruno@clisp.org>
62449
62450         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
62451         MOSTLYCLEANFILES.
62452
62453 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
62454
62455         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
62456         gzip bootstrap.conf to avoid dragging in i18n machinery.
62457         (gnulib_tool_option): Use it.
62458
62459 2007-04-13  Bruno Haible  <bruno@clisp.org>
62460
62461         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
62462         %F directives.
62463         * tests/test-vasprintf-posix.c (test_function): Likewise.
62464         * tests/test-snprintf-posix.h (test_function): Likewise.
62465         * tests/test-sprintf-posix.h (test_function): Likewise.
62466         * tests/test-fprintf-posix.h (test_function): Likewise.
62467         * tests/test-printf-posix.h (test_function): Likewise.
62468         * tests/test-fprintf-posix.out: Likewise.
62469
62470 2007-04-13  Bruno Haible  <bruno@clisp.org>
62471
62472         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
62473         * modules/tls-tests (configure.ac): Likewise.
62474         Reported by Arto C. Nirkko <anirkko@insel.ch>.
62475
62476 2007-04-13  Bruno Haible  <bruno@clisp.org>
62477
62478         * lib/tls.c (glthread_tls_get): Fix return type.
62479         Patch by Arto C. Nirkko <anirkko@insel.ch>.
62480
62481 2007-04-12  Eric Blake  <ebb9@byu.net>
62482
62483         * modules/gettime (Depends-on): Remove gettime.
62484         Reported by Dmitry V. Levin.
62485
62486 2007-04-12  Bruno Haible  <bruno@clisp.org>
62487
62488         * modules/fflush (Include): Mention <stdio.h>.
62489         * modules/strtoimax (Include): Mention <inttypes.h>.
62490         * modules/strtoumax (Include): Likewise.
62491
62492 2007-04-12  Eric Blake  <ebb9@byu.net>
62493
62494         * .cvsignore: New file.
62495         * .gitignore: Likewise.
62496
62497 2007-04-12  Bruno Haible  <bruno@clisp.org>
62498
62499         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
62500         not before, since $(LDADD) often contains libgnu.a.
62501         * modules/striconv-tests (test_striconv_LDADD): Likewise.
62502         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
62503         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
62504         Needed on Cygwin.
62505
62506 2007-04-12  Eric Blake  <ebb9@byu.net>
62507
62508         Work around glibc's failure to flush stdin on fclose.
62509         * lib/closein.c (close_stdin): Flush stdin before closing.
62510
62511         Work around glibc's failure to reset seekable stdin on exit.
62512         * modules/closein: New module.
62513         * lib/closein.c: New file.
62514         * lib/closein.h: Likewise.
62515         * m4/closein.m4: Likewise.
62516         * MODULES.html.sh (File stream based Input/Output): Document it.
62517
62518 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62519
62520         * gnulib-tool: Rename generated 'autobuild' script to
62521         'do-autobuild' in --create-megatestdir output.
62522
62523         * doc/gnulib.texi (Build robot for gnulib): Fix.
62524
62525 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62526
62527         * modules/sysexits (Depends-on): Add absolute-header.
62528
62529 2007-04-12  Eric Blake  <ebb9@byu.net>
62530
62531         No need to preserve errno on success.
62532         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
62533         Reported by Bruno Haible.
62534
62535 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62536
62537         * MODULES.html.sh (Support for maintaining and releasing
62538         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
62539
62540 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62541
62542         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
62543
62544 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62545
62546         * modules/autobuild: New module.
62547
62548         * m4/autobuild.m4: New file.
62549
62550 2007-04-11  Bruno Haible  <bruno@clisp.org>
62551
62552         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
62553         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
62554         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
62555         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
62556         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62557         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62558         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62559         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62560         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62561         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62562         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
62563         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62564         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62565         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
62566         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62567         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62568         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
62569         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62570         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62571         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
62572         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62573         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62574         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
62575         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62576         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62577         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
62578         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62579         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62580         Reported by Eric Blake.
62581
62582 2007-04-11  Bruno Haible  <bruno@clisp.org>
62583
62584         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
62585
62586 2007-04-10  Bruno Haible  <bruno@clisp.org>
62587
62588         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
62589         for NaN and Infinity. Needed on FreeBSD 6.1.
62590         * tests/test-vasnprintf-posix.c (test_function): Undo last change
62591         regarding results for "%010a" of Infinity and NaN.
62592         * tests/test-vasprintf-posix.c (test_function): Likewise.
62593         * tests/test-snprintf-posix.h (test_function): Likewise.
62594         * tests/test-sprintf-posix.h (test_function): Likewise.
62595         * tests/test-fprintf-posix.h (test_function): Likewise.
62596         * tests/test-printf-posix.h (test_function): Likewise.
62597         * tests/test-fprintf-posix.out: Likewise.
62598
62599 2007-04-10  Bruno Haible  <bruno@clisp.org>
62600
62601         * modules/locale-tests: New file.
62602         * tests/test-locale.c: New file.
62603
62604         * modules/locale: New file.
62605         * lib/locale_.h: New file.
62606         * m4/locale_h.m4: New file.
62607
62608 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
62609             Bruno Haible  <bruno@clisp.org>
62610
62611         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
62612         be determined, test for availability of the copysignf, copysign,
62613         copysignl functions.
62614         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
62615         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
62616         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
62617
62618 2007-04-09  Eric Blake  <ebb9@byu.net>
62619
62620         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
62621         * modules/stdio (Makefile.am): Support fflush.
62622         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
62623         * modules/fflush: New file.
62624         * lib/fflush.c: Likewise.
62625         * m4/fflush.m4: Likewise.
62626         * modules/fflush-tests: New test.
62627         * tests/test-fflush.c: Likewise.
62628         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
62629
62630 2007-04-06  Bruno Haible  <bruno@clisp.org>
62631
62632         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
62633         (VASNPRINTF): Use signbit for faster determination whether to print a
62634         minus sign.
62635         * modules/vasnprintf (Files): Remove lib/float+.h.
62636         * modules/fprintf-posix (Depends-on): Add signbit.
62637         * modules/snprintf-posix (Depends-on): Likewise.
62638         * modules/sprintf-posix (Depends-on): Likewise.
62639         * modules/vasnprintf-posix (Depends-on): Likewise.
62640         * modules/vasprintf-posix (Depends-on): Likewise.
62641         * modules/vfprintf-posix (Depends-on): Likewise.
62642         * modules/vsnprintf-posix (Depends-on): Likewise.
62643         * modules/vsprintf-posix (Depends-on): Likewise.
62644
62645 2007-04-06  Bruno Haible  <bruno@clisp.org>
62646
62647         * tests/test-frexp.c (main): Test also the sign bit of zero results.
62648         * tests/test-frexpl.c (main): Likewise.
62649         * tests/test-ldexpl.c (main): Likewise.
62650         * modules/frexp-tests (Depends-on): Add signbit.
62651         * modules/frexpl-tests (Depdends-on): Likewise.
62652         * modules/ldexpl-tests (Depdends-on): Likewise.
62653
62654 2007-04-06  Bruno Haible  <bruno@clisp.org>
62655
62656         * modules/signbit-tests: New file.
62657         * tests/test-signbit.c: New file.
62658
62659         * modules/signbit: New file.
62660         * lib/signbitf.c: New file.
62661         * lib/signbitd.c: New file.
62662         * lib/signbitl.c: New file.
62663         * m4/signbit.m4: New file.
62664         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
62665         (signbit): New macro.
62666         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
62667         REPLACE_SIGNBIT.
62668         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
62669         REPLACE_FREXPL into math.h.
62670
62671 2007-04-06  Bruno Haible  <bruno@clisp.org>
62672
62673         * modules/isnanf-nolibm-tests: New file.
62674         * tests/test-isnanf.c: New file.
62675
62676         * modules/isnanf-nolibm: New file.
62677         * lib/isnanf.h: New file.
62678         * lib/isnanf.c: New file.
62679         * lib/isnan.c: Consider the USE_FLOAT macro.
62680         * m4/isnanf.m4: New file.
62681
62682 2007-04-06  Bruno Haible  <bruno@clisp.org>
62683
62684         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
62685         (Link): New section.
62686
62687         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
62688
62689 2007-04-06  Bruno Haible  <bruno@clisp.org>
62690
62691         Assume the 'long double' type.
62692         * m4/longdouble.m4: Remove file.
62693         * config/srclist.txt: Don't mention longdouble.m4.
62694         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
62695         * lib/float+.h: Likewise.
62696         * lib/frexp.c: Likewise.
62697         * lib/printf-args.h: Likewise.
62698         * lib/printf-args.c: Likewise.
62699         * lib/printf-frexp.c: Likewise.
62700         * lib/printf-parse.c: Likewise.
62701         * lib/vasnprintf.c: Likewise.
62702         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
62703         * m4/intl.m4: Likewise.
62704         * m4/isnanl.m4: Likewise.
62705         * m4/printf.m4: Likewise.
62706         * m4/printf-frexpl.m4: Likewise.
62707         * m4/vasnprintf.m4: Likewise.
62708         * modules/allocsa (Files): Remove m4/longdouble.m4.
62709         * modules/gettext (Files): Likewise.
62710         * modules/relocatable-prog-wrapper (Files): Likewise.
62711         * modules/vasnprintf (Files): Likewise.
62712         * modules/isnanl (Files): Likewise.
62713         (Include): Simplify.
62714         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
62715         (Include): Simplify.
62716         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
62717         (Include): Simplify.
62718         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
62719         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62720         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
62721         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62722         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
62723         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62724         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
62725         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62726         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
62727         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62728         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
62729         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62730         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
62731         * tests/test-isnanl.c: Likewise.
62732         * tests/test-snprintf-posix.h: Likewise.
62733         * tests/test-sprintf-posix.h: Likewise.
62734         * tests/test-vasnprintf-posix.c: Likewise.
62735         * tests/test-vasnprintf-posix2.c: Likewise.
62736         * tests/test-vasprintf-posix.c: Likewise.
62737
62738 2007-04-06  Bruno Haible  <bruno@clisp.org>
62739
62740         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
62741         * lib/math_.h [__DECC]: Include the overridden include file through
62742         #include_next, outside the double-inclusion guard.
62743         * lib/stdio_.h [__DECC]: Likewise.
62744         * lib/stdlib_.h [__DECC]: Likewise.
62745         * lib/string_.h [__DECC]: Likewise.
62746         * lib/time_.h [__DECC]: Likewise.
62747         * lib/wchar_.h [__DECC]: Likewise.
62748         * lib/wctype_.h [__DECC]: Likewise.
62749         * lib/inttypes_.h [__DECC]: Likewise.
62750         Reported by Albert Chin <china@thewrittenword.com> in
62751         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
62752
62753 2007-04-04  Eric Blake  <ebb9@byu.net>
62754
62755         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
62756         1.5.x.
62757
62758 2007-04-04  Bruno Haible  <bruno@clisp.org>
62759
62760         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
62761         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
62762
62763 2007-04-04  Bruno Haible  <bruno@clisp.org>
62764
62765         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
62766         results for "%010a" of Infinity and NaN.
62767         * tests/test-vasprintf-posix.c (test_function): Likewise.
62768         * tests/test-snprintf-posix.h (test_function): Likewise.
62769         * tests/test-sprintf-posix.h (test_function): Likewise.
62770         * tests/test-fprintf-posix.h (test_function): Remove these tests.
62771         * tests/test-printf-posix.h (test_function): Likewise.
62772         * tests/test-fprintf-posix.out: Update.
62773         Needed for FreeBSD 6.1.
62774
62775 2007-04-04  Bruno Haible  <bruno@clisp.org>
62776
62777         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
62778         directly used by the gnulib modules nor by gnulib-tool.
62779
62780 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
62781
62782         * DEPENDENCIES: Give overall description of version dependency
62783         desirability.  Use more-typical names for apps.
62784         Add shell, coreutils, diffutils, grep, tar, gzip.
62785
62786 2007-04-04  Simon Josefsson  <simon@josefsson.org>
62787
62788         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
62789
62790 2007-04-04  Karl Berry  <karl@gnu.org>
62791
62792         * MODULES.html.sh (func_module): missing '.
62793
62794 2007-04-03  Bruno Haible  <bruno@clisp.org>
62795
62796         * modules/argmatch-tests (Makefile.am): New variable
62797         test_argmatch_LDADD.
62798         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
62799         * modules/array-list-tests (Makefile.am): New variable
62800         test_array_list_LDADD.
62801         * modules/array-oset-tests (Makefile.am): New variable
62802         test_array_oset_LDADD.
62803         * modules/avltree-list-tests (Makefile.am): New variable
62804         test_avltree_list_LDADD.
62805         * modules/avltree-oset-tests (Makefile.am): New variable
62806         test_avltree_oset_LDADD.
62807         * modules/avltreehash-list-tests (Makefile.am): New variable
62808         test_avltreehash_list_LDADD.
62809         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
62810         test_canonicalize_lgpl_LDADD.
62811         * modules/carray-list-tests (Makefile.am): New variable
62812         test_carray_list_LDADD.
62813         * modules/dirname-tests (Makefile.am): New variable
62814         test_dirname_LDADD.
62815         * modules/linked-list-tests (Makefile.am): New variable
62816         test_linked_list_LDADD.
62817         * modules/linkedhash-list-tests (Makefile.am): New variable
62818         test_linkedhash_list_LDADD.
62819         * modules/rbtree-list-tests (Makefile.am): New variable
62820         test_rbtree_list_LDADD.
62821         * modules/rbtree-oset-tests (Makefile.am): New variable
62822         test_rbtree_oset_LDADD.
62823         * modules/rbtreehash-list-tests (Makefile.am): New variable
62824         test_rbtreehash_list_LDADD.
62825         * modules/xvasprintf-tests (Makefile.am): New variable
62826         test_xvasprintf_LDADD.
62827         Reported by Eric Blake.
62828
62829 2007-04-03  Eric Blake  <ebb9@byu.net>
62830
62831         * DEPENDENCIES: Weaken m4 requirements.
62832
62833 2007-04-03  Bruno Haible  <bruno@clisp.org>
62834
62835         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
62836         * modules/isnanl-tests (configure.ac): Likewise.
62837
62838 2007-04-03  Ben Pfaff  <blp@gnu.org>
62839
62840         * modules/iconv_open: Add $(srcdir)/ to source directory
62841         references in Makefile fragments that call gperf, to fix VPATH
62842         builds.
62843
62844 2007-04-03  Bruno Haible  <bruno@clisp.org>
62845
62846         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
62847         * lib/ldexpl.c: Undo last change.
62848
62849 2007-04-03  Bruno Haible  <bruno@clisp.org>
62850
62851         * modules/printf-frexpl (Depends-on): Undo last change.
62852         (Files): Add m4/ldexpl.m4.
62853
62854 2007-04-03  Bruno Haible  <bruno@clisp.org>
62855
62856         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
62857         * modules/isnanl (Link): New section.
62858
62859         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
62860         * modules/frexp (Link): New section.
62861
62862         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
62863         * modules/frexpl (Link): New section.
62864
62865         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
62866         * modules/ldexpl (Link): New section.
62867
62868 2007-04-03  Bruno Haible  <bruno@clisp.org>
62869
62870         * modules/TEMPLATE-EXTENDED: New file.
62871         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
62872
62873 2007-04-03  Bruno Haible  <bruno@clisp.org>
62874
62875         * DEPENDENCIES: New file.
62876         Suggested by Simon Josefsson.
62877
62878 2007-04-03  Bruno Haible  <bruno@clisp.org>
62879
62880         * doc/gnulib.texi: Escape @.
62881
62882 2007-04-03  James Youngman  <jay@gnu.org>
62883         and Paul Eggert  <eggert@cs.ucla.edu>
62884
62885         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
62886         birthtime on all systems that have birthtime, not just those which
62887         use st_birthtimensec rather than st_birthtim.  Putting zero in
62888         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
62889         that the birth time is not available for files on an NFS mount.
62890
62891 2007-04-03  Simon Josefsson  <simon@josefsson.org>
62892
62893         * modules/memxor: Move back from crypto/, suggested by Bruno.
62894         * modules/crypto/hmac-sha1: Fix memxor dependency.
62895
62896         * modules/crypto/gc: Moved from ../.
62897
62898 2007-04-02  Eric Blake  <ebb9@byu.net>
62899
62900         * lib/ldexpl.c (includes): Avoid libm.
62901
62902         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
62903
62904 2007-04-02  Bruno Haible  <bruno@clisp.org>
62905
62906         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
62907         on IRIX.
62908
62909 2007-04-02  Bruno Haible  <bruno@clisp.org>
62910
62911         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
62912         x86 or x86_64 platforms running MacOS X.
62913         Reported by Ryan Schmidt <@ryandesign.com>.
62914
62915 2007-04-02  Bruno Haible  <bruno@clisp.org>
62916
62917         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
62918         i386.
62919
62920 2007-04-01  Simon Josefsson  <simon@josefsson.org>
62921
62922         * modules/crypto/arcfour: Moved from ../.
62923         * modules/crypto/arcfour-tests: Moved from ../.
62924         * modules/crypto/arctwo: Moved from ../.
62925         * modules/crypto/arctwo-tests: Moved from ../.
62926         * modules/crypto/des: Moved from ../.
62927         * modules/crypto/des-tests: Moved from ../.
62928         * modules/crypto/gc-arcfour: Moved from ../.
62929         * modules/crypto/gc-arcfour-tests: Moved from ../.
62930         * modules/crypto/gc-arctwo: Moved from ../.
62931         * modules/crypto/gc-arctwo-tests: Moved from ../.
62932         * modules/crypto/gc-des: Moved from ../.
62933         * modules/crypto/gc-des-tests: Moved from ../.
62934         * modules/crypto/gc-hmac-md5: Moved from ../.
62935         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
62936         * modules/crypto/gc-hmac-sha1: Moved from ../.
62937         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
62938         * modules/crypto/gc-md2: Moved from ../.
62939         * modules/crypto/gc-md2-tests: Moved from ../.
62940         * modules/crypto/gc-md4: Moved from ../.
62941         * modules/crypto/gc-md4-tests: Moved from ../.
62942         * modules/crypto/gc-md5: Moved from ../.
62943         * modules/crypto/gc-md5-tests: Moved from ../.
62944         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
62945         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
62946         * modules/crypto/gc-random: Moved from ../.
62947         * modules/crypto/gc-rijndael: Moved from ../.
62948         * modules/crypto/gc-rijndael-tests: Moved from ../.
62949         * modules/crypto/gc-sha1: Moved from ../.
62950         * modules/crypto/gc-sha1-tests: Moved from ../.
62951         * modules/crypto/gc-tests: Moved from ../.
62952         * modules/crypto/hmac-md5: Moved from ../.
62953         * modules/crypto/hmac-md5-tests: Moved from ../.
62954         * modules/crypto/hmac-sha1: Moved from ../.
62955         * modules/crypto/hmac-sha1-tests: Moved from ../.
62956         * modules/crypto/md2: Moved from ../.
62957         * modules/crypto/md2-tests: Moved from ../.
62958         * modules/crypto/md4: Moved from ../.
62959         * modules/crypto/md4-tests: Moved from ../.
62960         * modules/crypto/md5: Moved from ../.
62961         * modules/crypto/md5-tests: Moved from ../.
62962         * modules/crypto/memxor: Moved from ../.
62963         * modules/crypto/rijndael: Moved from ../.
62964         * modules/crypto/rijndael-tests: Moved from ../.
62965         * modules/crypto/sha1: Moved from ../.
62966
62967 2007-03-30  James Youngman  <jay@gnu.org>
62968
62969         * tests/test-stat-time.c (prepare_test): use chmod() rather than
62970         rename() to change the ctime of a file (because ctime is unaffected
62971         by rename on jfs2 on AIX 5.1).
62972         (main): Start by doing cleanup, in case a previous run failed leaving
62973         test files behind.
62974
62975 2007-03-31  Bruno Haible  <bruno@clisp.org>
62976
62977         Support old proprietary implementations of iconv.
62978         * modules/iconv_open: New file.
62979         * lib/iconv_.h: New file.
62980         * m4/iconv_h.m4: New file.
62981         * lib/iconv_open.c: New file.
62982         * lib/iconv_open-aix.gperf: New file.
62983         * lib/iconv_open-hpux.gperf: New file.
62984         * lib/iconv_open-irix.gperf: New file.
62985         * lib/iconv_open-osf.gperf: New file.
62986         * m4/iconv_open.m4: New file.
62987         * modules/linebreak (Depends-on): Add iconv_open.
62988         * modules/striconv (Depends-on): Likewise.
62989         * modules/striconveh (Depends-on): Likewise.
62990         * modules/unicodeio (Depends-on): Likewise.
62991         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
62992         (iconv_t)(-1).
62993         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
62994         conversion if cd is (iconv_t)(-1).
62995         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
62996         is not possible.
62997
62998 2007-03-31  Bruno Haible  <bruno@clisp.org>
62999
63000         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
63001         work on Solaris either. Protect also second use of "autodetect_jp".
63002
63003 2007-03-31  Bruno Haible  <bruno@clisp.org>
63004
63005         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
63006         the function is not present.
63007
63008 2007-03-31  Bruno Haible  <bruno@clisp.org>
63009
63010         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
63011         the function is not present.
63012
63013 2007-03-31  Bruno Haible  <bruno@clisp.org>
63014
63015         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
63016         a bug in HP-UX iconv_open().
63017
63018 2007-03-31  Bruno Haible  <bruno@clisp.org>
63019
63020         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
63021         (Mathematics <math.h>): New section, add fpieee.
63022         (Input/output <stdio.h>): Add fseterr.
63023         (Mathematics <math.h>): New section, add printf-frexp.
63024         (Container data structures): Add sublist.
63025         (Core language properties): Add fpucw, inline.
63026         (Functions for greatest-width integer types <inttypes.h>): Add
63027         imaxabs, imaxdiv, inttypes.
63028         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
63029         isnanl-nolibm, ldexp.
63030         (Mathematics <math.h>): New section, add printf-frexpl.
63031         (Support for systems lacking POSIX:2001): Add fprintf-posix,
63032         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
63033         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
63034         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
63035         (Unicode string functions): Add unistr/u*-mbtoucr.
63036         (Java): Add javacomp-script, javaexec-script.
63037         (C#): Add csharpcomp-script, csharpexec-script.
63038         (Support for building libraries and executables): Add havelib,
63039         relocatable-*.
63040         (Support for maintaining and releasing projects): Renamed from
63041         'Support for maintaining and release projects'. Add announce-gen.
63042
63043 2007-03-31  Bruno Haible  <bruno@clisp.org>
63044
63045         * README: Talk primarily about git.
63046         (git and CVS): Renamed from CVS.
63047         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
63048         gnulib is available through git.
63049         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
63050
63051 2007-03-30  Bruno Haible  <bruno@clisp.org>
63052
63053         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
63054         * lib/poll_.h: Likewise.
63055         * lib/stat_.h: Likewise.
63056         * lib/sys_time_.h: Likewise.
63057         * lib/sysexit_.h: Likewise.
63058         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
63059         * lib/stdbool_.h: Likewise.
63060         * lib/byteswap_.h: Add double-inclusion guard.
63061
63062 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
63063
63064         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
63065
63066 2007-03-30  Karl Berry  <karl@gnu.org>
63067
63068         * config/srclist-update: double space after USA in the license
63069         substitution, since that's how it's usually (?) written.
63070
63071 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
63072
63073         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
63074         reported by Bruno Haible.
63075
63076 2007-03-29  Bruno Haible  <bruno@clisp.org>
63077
63078         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
63079         a bug in AIX iconv().
63080
63081 2007-03-29  Bruno Haible  <bruno@clisp.org>
63082
63083         * modules/ldexpl-tests: New file.
63084         * tests/test-ldexpl.c: New file.
63085
63086 2007-03-29  Bruno Haible  <bruno@clisp.org>
63087
63088         * lib/ldexpl.c: Include fpucw.h.
63089         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
63090         multiplication.
63091         * modules/ldexpl (Depends-on): Add fpucw.
63092
63093 2007-03-29  Bruno Haible  <bruno@clisp.org>
63094
63095         * modules/ldexpl: New file.
63096         * m4/ldexpl.m4: New file.
63097         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
63098         set.
63099         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
63100         REPLACE_LDEXPL.
63101         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
63102         REPLACE_LDEXPL.
63103         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
63104         gl_FUNC_LDEXPL_WORKS.
63105         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
63106         * modules/mathl (Files): Remove lib/ldexpl.c.
63107         (Depends-on): Add ldexpl.
63108
63109 2007-03-29  Bruno Haible  <bruno@clisp.org>
63110
63111         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
63112
63113 2007-03-29  Bruno Haible  <bruno@clisp.org>
63114
63115         * tests/test-striconveh.c (main): Don't assume that a direct conversion
63116         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
63117         and possibly also HP-UX.
63118         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
63119         work on AIX, IRIX, HP-UX, OSF/1.
63120         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
63121         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
63122         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
63123         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
63124         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
63125         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
63126
63127 2007-03-29  Bruno Haible  <bruno@clisp.org>
63128
63129         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
63130
63131 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
63132
63133         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
63134         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
63135
63136 2007-03-29  Eric Blake  <ebb9@byu.net>
63137
63138         * lib/acl-internal.h: Remove redundant include.
63139         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
63140         Cygwin when a file is locked.
63141
63142 2007-03-29  Bruno Haible  <bruno@clisp.org>
63143
63144         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
63145         file.
63146         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
63147
63148 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
63149
63150         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
63151         try to remove a parent directory if the child couldn't be removed
63152         (except for the first rmdir, which could fail because the child
63153         doesn't exist).  Problem reported by Jeff Blaine in
63154         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
63155
63156 2007-03-28  Bruno Haible  <bruno@clisp.org>
63157
63158         * lib/striconveh.c (utf8conv_carefully): New function.
63159         (mem_cd_iconveh_internal): Invoke it.
63160
63161 2007-03-28  Bruno Haible  <bruno@clisp.org>
63162
63163         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
63164         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
63165         input.
63166         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
63167         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
63168         unistr/u8-uctomb.
63169
63170 2007-03-28  Bruno Haible  <bruno@clisp.org>
63171
63172         * modules/unistr/u8-mbtoucr: New file.
63173         * lib/unistr/u8-mbtoucr.c: New file.
63174         * modules/unistr/u16-mbtoucr: New file.
63175         * lib/unistr/u16-mbtoucr.c: New file.
63176         * modules/unistr/u16-mbtoucr: New file.
63177         * lib/unistr/u16-mbtoucr.c: New file.
63178         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
63179
63180 2007-03-27  Simon Josefsson  <simon@josefsson.org>
63181             Bruno Haible  <bruno@clisp.org>
63182
63183         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
63184         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
63185         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
63186
63187         * m4/stdio_h.m4: Add stubs for vasprintf too.
63188
63189         * modules/stdio: Support vasprintf in sed command.
63190
63191         * modules/vasprintf: Depend on stdio for prototypes.  Remove
63192         vasprintf.h.  Add stdio module indicator.
63193
63194         * lib/stdio_.h: Declare asprintf and vasprintf, based on
63195         vasprintf.h.
63196
63197         * lib/vasprintf.h: File removed.
63198
63199         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
63200         * lib/vasprintf.c: Ditto.
63201         * lib/xvasprintf.c: Ditto.
63202         * tests/test-vasprintf-posix.c: Ditto.
63203         * tests/test-vasprintf.c: Ditto.
63204
63205 2007-03-27  Bruno Haible  <bruno@clisp.org>
63206
63207         Make vasnprintf multithread-safe.
63208         * lib/vasnprintf.c (decimal_point_char): New function.
63209         (VASNPRINTF): Use it.
63210         Suggested by Simon Josefsson.
63211
63212 2007-03-27  Eric Blake  <ebb9@byu.net>
63213
63214         Support sub-second birthtime on cygwin.
63215         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
63216         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
63217         (get_stat_birthtime): Also work with st_birthtim.
63218
63219 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
63220
63221         * lib/stat-time.h (USE_BIRTHTIME): Remove.
63222         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
63223         (get_stat_birthtime_ns): Do not try to use "spare" fields.
63224         (get_stat_birthtime_ns): Simplify compile-time tests.
63225         (get_stat_birthtime): Change the API to look like
63226         get_stat_mtime etc., except return a negative tv_nsec on error.
63227         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
63228         Don't check for "spare" fields.
63229         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
63230         or for struct stat.st_birthtime, as these tests aren't used.
63231         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
63232
63233 2007-03-27  Bruno Haible  <bruno@clisp.org>
63234
63235         * lib/stat-time.h: Include <sys/stat.h>.
63236
63237 2007-03-27  James Youngman  <jay@gnu.org>
63238
63239         * lib/stat-time.h (get_stat_birthtime): New function for
63240           retrieving st_birthtime as provided by UFS2 (hence *BSD).
63241         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
63242           and its variants.
63243         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
63244         * modules/stat-time-test: New file.
63245         * tests/test-stat-time.c: New test, devised by Bruno Haible.
63246
63247 2007-03-26  Bruno Haible  <bruno@clisp.org>
63248
63249         Better support of signalling NaNs.
63250         * lib/atanl.c: Include isnanl.h.
63251         (atanl): Perform test for NaN at the beginning of the function and
63252         through a call to isnanl.
63253         * lib/cosl.c: Include isnanl.h.
63254         (cosl): Perform test for NaN at the beginning of the function and
63255         through a call to isnanl.
63256         * lib/ldexpl.c: Include isnanl.h.
63257         (ldexpl): Perform test for NaN through a call to isnanl.
63258         * lib/logl.c: Include isnanl.h.
63259         (logl): Perform test for NaN at the beginning of the function and
63260         through a call to isnanl.
63261         * lib/sinl.c: Include isnanl.h.
63262         (sinl): Perform test for NaN at the beginning of the function and
63263         through a call to isnanl.
63264         * lib/sqrtl.c: Include isnanl.h.
63265         (sqrtl): Perform test for NaN at the beginning of the function and
63266         through a call to isnanl.
63267         * lib/tanl.c: Include isnanl.h.
63268         (tanl): Perform test for NaN at the beginning of the function and
63269         through a call to isnanl.
63270         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
63271         * modules/mathl (Depends-on): Add isnanl.
63272
63273 2007-03-26  Eric Blake  <ebb9@byu.net>
63274
63275         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
63276         regression in logic sense of previous patch.
63277
63278 2007-03-26  Bruno Haible  <bruno@clisp.org>
63279
63280         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
63281         unportable shell command "if ! ...".
63282         Reported by Ralf Wildenhues.
63283
63284 2007-03-25  Bruno Haible  <bruno@clisp.org>
63285
63286         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
63287         <sysexits.h> file, and only add EX_CONFIG.
63288         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
63289         absolute file name and whether it is sufficient. Substitute also
63290         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
63291         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
63292         ABSOLUTE_SYSEXITS_H into sysexits.h.
63293
63294 2007-03-25  Bruno Haible  <bruno@clisp.org>
63295
63296         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
63297         hints is NULL.
63298
63299 2007-03-25  Bruno Haible  <bruno@clisp.org>
63300
63301         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
63302         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
63303
63304 2007-03-25  Bruno Haible  <bruno@clisp.org>
63305
63306         * lib/vasnprintf.c: Include langinfo.h.
63307         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
63308         multithread-safe.
63309         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
63310         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
63311         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63312         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63313         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63314         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63315         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63316         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
63317         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63318         Reported by Simon Josefsson.
63319
63320 2007-03-25  Bruno Haible  <bruno@clisp.org>
63321
63322         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
63323         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
63324         * modules/vasnprintf (Depends-on): Add stdint.
63325
63326 2007-03-25  Bruno Haible  <bruno@clisp.org>
63327
63328         * modules/fpieee: New file.
63329         * m4/fpieee.m4: New file.
63330         * modules/isnan-nolibm (Depends-on): Add fpieee.
63331         * modules/isnanl-nolibm (Depends-on): Add fpieee.
63332         * modules/isnanl (Depends-on): Add fpieee.
63333
63334 2007-03-25  Bruno Haible  <bruno@clisp.org>
63335
63336         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
63337
63338 2007-03-25  Bruno Haible  <bruno@clisp.org>
63339
63340         Avoid test failures on IRIX 6.5.
63341         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
63342         (main): Use it.
63343         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
63344         macros.
63345         (main): Use them.
63346
63347 2007-03-25  Bruno Haible  <bruno@clisp.org>
63348
63349         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
63350         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
63351         exists but doesn't work.
63352         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
63353         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
63354         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
63355         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
63356         math.h.
63357
63358 2007-03-25  Bruno Haible  <bruno@clisp.org>
63359
63360         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
63361         returns inf. Needed on IRIX 6.5.
63362
63363 2007-03-25  Bruno Haible  <bruno@clisp.org>
63364
63365         * tests/test-frexpl.c: Include isnanl-nolibm.h.
63366         (main): Use isnanl instead of x != x idiom.
63367         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
63368
63369         * tests/test-frexp.c: Include isnan.h.
63370         (main): Use isnan instead of x != x idiom.
63371         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
63372
63373 2007-03-25  Bruno Haible  <bruno@clisp.org>
63374
63375         * tests/test-frexp.c (NaN): New function/macro.
63376         (main): Use it instead of 0.0 / 0.0.
63377         * tests/test-isnan.c (NaN): New function/macro.
63378         (main): Use it instead of 0.0 / 0.0.
63379         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
63380         (test_function): Use it instead of 0.0 / 0.0.
63381         * tests/test-vasprintf-posix.c (NaN): New function/macro.
63382         (test_function): Use it instead of 0.0 / 0.0.
63383         * tests/test-snprintf-posix.h (NaN): New function/macro.
63384         (test_function): Use it instead of 0.0 / 0.0.
63385         * tests/test-sprintf-posix.h (NaN): New function/macro.
63386         (test_function): Use it instead of 0.0 / 0.0.
63387         * tests/test-fprintf-posix.h (NaN): New function/macro.
63388         (test_function): Use it instead of 0.0 / 0.0.
63389         * tests/test-printf-posix.h (NaN): New function/macro.
63390         (test_function): Use it instead of 0.0 / 0.0.
63391
63392         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
63393
63394 2007-03-25  Bruno Haible  <bruno@clisp.org>
63395
63396         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
63397
63398 2007-03-25  Bruno Haible  <bruno@clisp.org>
63399
63400         * lib/regexec.c (merge_state_with_log): Make static.
63401
63402 2007-03-25  Bruno Haible  <bruno@clisp.org>
63403
63404         * lib/trigl.c (kernel_rem_pio2): Make static.
63405
63406 2007-03-25  Bruno Haible  <bruno@clisp.org>
63407
63408         * lib/sincosl.c (sincosl_table): Make static.
63409
63410 2007-03-25  Bruno Haible  <bruno@clisp.org>
63411
63412         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
63413         if the compiler does not support C99.
63414
63415 2007-03-25  Bruno Haible  <bruno@clisp.org>
63416
63417         * modules/time (Makefile.am): Ensure all rule action lines start with a
63418         tab.
63419
63420 2007-03-24  Bruno Haible  <bruno@clisp.org>
63421
63422         * modules/tsearch-tests: New file.
63423         * tests/test-tsearch.sh: New file.
63424         * tests/test-tsearch.c: New file, mostly copied from glibc.
63425
63426         * modules/search-tests: New file.
63427         * tests/test-search.c: New file.
63428
63429         * modules/search: New file.
63430         * lib/search_.h: New file, incorporating lib/tsearch.h.
63431         * m4/search_h.m4: New file.
63432         * lib/tsearch.h: Remove file.
63433         * lib/tsearch.c: Include search.h instead of tsearch.h.
63434         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
63435         HAVE_TSEARCH.
63436         * modules/tsearch (Files): Remove lib/tsearch.h.
63437         (Depends-on): Add search.
63438         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
63439         (Include): Change tsearch.h into search.h.
63440
63441 2007-03-24  Bruno Haible  <bruno@clisp.org>
63442
63443         * modules/fpucw: New file.
63444         * lib/fpucw.h: New file.
63445         * lib/frexp.c: Include fpucw.h.
63446         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
63447         (FUNC): Use them.
63448         * lib/printf-frexp.c: Include fpucw.h.
63449         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
63450         (FUNC): Use them.
63451         * lib/vasnprintf.c: Include fpucw.h.
63452         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
63453         'long double' calculations.
63454         * tests/test-frexpl.c: Include fpucw.h.
63455         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
63456         * tests/test-printf-frexpl.c: Include fpucw.h.
63457         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
63458         * modules/frexpl (Depends-on): Add fpucw.
63459         * modules/printf-frexpl (Depends-on): Likewise.
63460         * modules/fprintf-posix (Depends-on): Likewise.
63461         * modules/snprintf-posix (Depends-on): Likewise.
63462         * modules/sprintf-posix (Depends-on): Likewise.
63463         * modules/vasnprintf-posix (Depends-on): Likewise.
63464         * modules/vasprintf-posix (Depends-on): Likewise.
63465         * modules/vfprintf-posix (Depends-on): Likewise.
63466         * modules/vsnprintf-posix (Depends-on): Likewise.
63467         * modules/vsprintf-posix (Depends-on): Likewise.
63468         * modules/frexpl-tests (Depends-on): Likewise.
63469         * modules/printf-frexpl-tests (Depends-on): Likewise.
63470
63471 2007-03-24  Bruno Haible  <bruno@clisp.org>
63472
63473         * lib/float+.h: New file.
63474         * lib/isnan.c: Include float+.h.
63475         (SIZE): New macro.
63476         (FUNC): Compare only SIZE bytes of the value.
63477         * lib/vasnprintf.c: Include float+.h.
63478         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
63479         SIZEOF_LDBL or SIZEOF_DBL bytes.
63480         * modules/isnan-nolibm (Files): Add lib/float+.h.
63481         * modules/isnanl-nolibm (Files): Add lib/float+.h.
63482         * modules/isnanl (Files): Add lib/float+.h.
63483         * modules/vasnprintf (Files): Add lib/float+.h.
63484
63485 2007-03-24  Bruno Haible  <bruno@clisp.org>
63486
63487         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
63488         include isnanl-nolibm.h.
63489
63490 2007-03-24  Bruno Haible  <bruno@clisp.org>
63491
63492         * tests/test-read-file.c (main): Don't produce spurious output for
63493         expected situations. Make the test fail if it encountered unexpected
63494         results.
63495
63496 2007-03-24  Bruno Haible  <bruno@clisp.org>
63497
63498         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
63499         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
63500
63501 2007-03-24  Bruno Haible  <bruno@clisp.org>
63502
63503         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
63504
63505 2007-03-24  Bruno Haible  <bruno@clisp.org>
63506
63507         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
63508         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
63509
63510         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
63511         * modules/utf8-ucs4: Turn into a symbolic link to module
63512         unistr/u8-mbtouc.
63513
63514         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
63515         utf8-ucs4-unsafe.
63516         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
63517         unistr/u8-mbtouc-unsafe.
63518
63519         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
63520         * modules/utf16-ucs4: Turn into a symbolic link to module
63521         unistr/u16-mbtouc.
63522
63523         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
63524         utf16-ucs4-unsafe.
63525         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
63526         unistr/u16-mbtouc-unsafe.
63527
63528         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
63529         * modules/ucs4-utf8: Turn into a symbolic link to module
63530         unistr/u8-ubtomb.
63531
63532         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
63533         * modules/ucs4-utf16: Turn into a symbolic link to module
63534         unistr/u16-ubtomb.
63535
63536 2007-03-24  Bruno Haible  <bruno@clisp.org>
63537
63538         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
63539         Enable the function only if HAVE_INLINE.
63540         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
63541         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
63542         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
63543         Enable the function only if HAVE_INLINE.
63544         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
63545         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
63546         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
63547         Enable the function only if HAVE_INLINE.
63548         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
63549         Enable the function only if HAVE_INLINE.
63550         * modules/utf8-ucs4: Update.
63551         * modules/utf8-ucs4-unsafe: Update.
63552         * modules/utf16-ucs4: Update.
63553         * modules/utf16-ucs4-unsafe: Update.
63554         * modules/ucs4-utf8: Update.
63555         * modules/ucs4-utf16: Update.
63556
63557 2007-03-24  Bruno Haible  <bruno@clisp.org>
63558
63559         * lib/utf8-ucs4.h: Remove file.
63560         * lib/utf8-ucs4-unsafe.h: Remove file.
63561         * lib/utf16-ucs4.h: Remove file.
63562         * lib/utf16-ucs4-unsafe.h: Remove file.
63563         * lib/ucs4-utf8.h: Remove file.
63564         * lib/ucs4-utf16.h: Remove file.
63565         * lib/unistr.h: Include their previous contents.
63566         * m4/utf-ucs4.m4: Remove file.
63567         * m4/ucs4-utf.m4: Remove file.
63568         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
63569         (Depends-on): Add unistr/base.
63570         (configure.ac): Remove gl_UTF_UCS4.
63571         (Makefile.am): Update.
63572         (Include): Change to unistr.h.
63573         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
63574         (Depends-on): Add unistr/base.
63575         (configure.ac): Remove gl_UTF_UCS4.
63576         (Makefile.am): Update.
63577         (Include): Change to unistr.h.
63578         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
63579         (Depends-on): Add unistr/base.
63580         (configure.ac): Remove gl_UTF_UCS4.
63581         (Makefile.am): Update.
63582         (Include): Change to unistr.h.
63583         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
63584         (Depends-on): Add unistr/base.
63585         (configure.ac): Remove gl_UTF_UCS4.
63586         (Makefile.am): Update.
63587         (Include): Change to unistr.h.
63588         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
63589         (Depends-on): Add unistr/base.
63590         (configure.ac): Remove gl_UCS4_UTF.
63591         (Makefile.am): Update.
63592         (Include): Change to unistr.h.
63593         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
63594         (Depends-on): Add unistr/base.
63595         (configure.ac): Remove gl_UCS4_UTF.
63596         (Makefile.am): Update.
63597         (Include): Change to unistr.h.
63598         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
63599         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
63600         utf8-ucs4-unsafe.h.
63601         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
63602         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
63603         utf16-ucs4-unsafe.h.
63604         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
63605         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
63606         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
63607         * lib/unistr/u8-strchr.c: Likewise.
63608         * lib/unistr/u8-strrchr.c: Likewise.
63609         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
63610         * lib/unistr/u16-strchr.c: Likewise.
63611         * lib/unistr/u16-strrchr.c: Likewise.
63612         * lib/striconveh.c: Update.
63613         * lib/linebreak.c: Update.
63614
63615 2007-03-24  Bruno Haible  <bruno@clisp.org>
63616
63617         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
63618         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
63619
63620 2007-03-22  Bruno Haible  <bruno@clisp.org>
63621
63622         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
63623
63624 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
63625
63626         * MODULES.html.sh (File system functions): New module write-any-file.
63627         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
63628         * m4/write-any-file.m4: New files.
63629
63630 2007-03-23  Eric Blake  <ebb9@byu.net>
63631
63632         * gnulib-tool: Rearrange space-tab sequences, since some editors
63633         like to eat them.
63634
63635 2007-03-23  Eric Blake  <ebb9@byu.net>
63636
63637         * lib/version-etc.c (version_etc_va): Update license wording to
63638         be more concise.  Recommended by Richard Stallman.
63639
63640 2007-03-22  Bruno Haible  <bruno@clisp.org>
63641
63642         * lib/poll.c (MSG_PEEK): New fallback definition.
63643
63644 2007-03-22  Bruno Haible  <bruno@clisp.org>
63645
63646         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
63647         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
63648         (main): Update.
63649         Fixes a compilation error on BeOS.
63650
63651 2007-03-22  Bruno Haible  <bruno@clisp.org>
63652
63653         * modules/frexpl-tests: New file.
63654         * tests/test-frexpl.c: New file.
63655
63656         * modules/frexpl: New file.
63657         * m4/frexpl.m4: New file.
63658         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
63659         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
63660         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
63661         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
63662         (Depends-on): Add frexpl. Remove isnanl-nolibm.
63663         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
63664
63665 2007-03-22  Bruno Haible  <bruno@clisp.org>
63666
63667         * lib/frexpl.c: Share code with lib/frexp.c.
63668         * modules/mathl (Files): Add lib/frexp.c.
63669         (Depends-on): Add isnanl-nolibm.
63670
63671 2007-03-22  Bruno Haible  <bruno@clisp.org>
63672
63673         * modules/printf-frexp (Files): Add m4/frexp.m4.
63674         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
63675         only if the found frexp function actually works.
63676
63677 2007-03-22  Bruno Haible  <bruno@clisp.org>
63678
63679         * lib/frexp.c: Remove older implementation that uses divisions.
63680
63681 2007-03-21  Bruno Haible  <bruno@clisp.org>
63682
63683         * modules/frexp-tests: New file.
63684         * tests/test-frexp.c: New file.
63685
63686         * modules/frexp: New file.
63687         * lib/frexp.c: New file.
63688         * m4/frexp.m4: New file.
63689         * lib/math_.h (frexp): New declaration.
63690         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
63691         REPLACE_FREXP.
63692         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
63693
63694 2007-03-21  Bruno Haible  <bruno@clisp.org>
63695
63696         * modules/isnanl-tests: New file.
63697         * tests/test-isnanl.c: New file.
63698
63699         * modules/isnanl: New file.
63700         * lib/isnanl.h: New file.
63701         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
63702         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
63703         gl_FUNC_ISNANL_WORKS.
63704         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
63705         New macros.
63706
63707 2007-03-21  Bruno Haible  <bruno@clisp.org>
63708
63709         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
63710         lib/isnanl.h.
63711         (Include): Update.
63712         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
63713         * lib/vasnprintf.c: Update.
63714         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
63715         tests/test-isnanl.h, remove tests/test-isnanl.c.
63716         (Makefile.am): Update.
63717         * tests/test-isnanl-nolibm.c: New file.
63718         * tests/test-isnanl.h: New file.
63719         * tests/test-isnanl.c: Remove file.
63720
63721 2007-03-21  Jim Meyering  <jim@meyering.net>
63722
63723         When trying to open ".", treat ESTALE like EACCES.
63724         * lib/savewd.c (savewd_save): Resort to forking not just upon
63725         failure with EACCES, but also when errno is ESTALE.
63726
63727 2007-03-20  Bruno Haible  <bruno@clisp.org>
63728
63729         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
63730         Needed on AIX 5.1. Reported by Matthew Woehlke.
63731
63732 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
63733
63734         Suggestions by Bruno Haible:
63735         * lib/acl-internal.h: Include "gettext.h" rather than rolling
63736         our own.
63737         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
63738         * modules/acl (Depends-on): Add gettext.
63739
63740 2007-03-19  Bruno Haible  <bruno@clisp.org>
63741
63742         * modules/iconvme: Remove file.
63743         * lib/iconvme.h: Remove file.
63744         * lib/iconvme.c: Remove file.
63745         * m4/iconvme.m4: Remove file.
63746
63747 2007-03-19  Bruno Haible  <bruno@clisp.org>
63748
63749         * doc/relocatable-maint.texi: Break long shell script line.
63750         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
63751
63752 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
63753
63754         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
63755         handle file_has_acl.
63756         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
63757         * lib/acl.c: Move header inclusions and related macro defns into
63758         lib/acl-internal.h.
63759         (S_ISLNK): Remove defn, since that's now done for us.
63760         (file_has_acl): Move to lib/file-has-acl.c.
63761         Call acl_trivial if available.  This is the crucial part of the fix.
63762         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
63763         shared within the library.  Rewrite a bit, partly to make it compatible
63764         with the GNU coding style.
63765         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
63766         Remove unnecessary double-quotes.
63767         Don't test for acl_to_text; the build will catch that.
63768         Replace acl_entries if it doesn't exist and it is needed.
63769         Check for -lsec and acl_trivial (as used on Solaris 10).
63770         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
63771         lib/file-has-acl.c.
63772         (Depends-on): Add sys_stat, for S_ISLNK.
63773
63774 2007-03-19  Ben Pfaff  <blp@gnu.org>
63775
63776         * doc/gnulib.texi: Fix typos.
63777         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
63778
63779 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
63780
63781         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
63782         If size is zero here, buf must be zero.
63783
63784 2007-03-19  Simon Josefsson  <simon@josefsson.org>
63785
63786         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
63787         <bruno@clisp.org>.
63788
63789 2007-03-18  Bruno Haible  <bruno@clisp.org>
63790
63791         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
63792         Suggested by Eric Blake.
63793
63794 2007-03-18  Ben Pfaff  <blp@gnu.org>
63795
63796         * doc/relocatable.texi: Recommend using as prefix a directory
63797         that does not exist and will never be created.  Based on
63798         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
63799         and others.
63800
63801 2007-03-17  Bruno Haible  <bruno@clisp.org>
63802
63803         * lib/fchownat.c: Include lchown.h.
63804
63805 2007-03-17  Bruno Haible  <bruno@clisp.org>
63806
63807         Fix endless loop when the given allocated size was > INT_MAX.
63808         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
63809         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
63810         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
63811         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
63812         * lib/sprintf.c (sprintf): Likewise.
63813
63814 2007-03-17  Bruno Haible  <bruno@clisp.org>
63815
63816         * tests/test-argp-2.sh (func_compare): Output a context diff.
63817
63818 2007-03-17  Bruno Haible  <bruno@clisp.org>
63819
63820         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
63821         locale's decimal-point character.
63822
63823 2007-03-17  Bruno Haible  <bruno@clisp.org>
63824
63825         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
63826         before comparing it. Needed because on some platforms (e.g. x86) a
63827         'long double' occupies less bytes than sizeof (long double).
63828
63829 2007-03-17  Bruno Haible  <bruno@clisp.org>
63830
63831         * tests/test-crc.c (main): Make printf statements 64-bit clean.
63832         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
63833         * tests/test-getaddrinfo.c (simple): Likewise.
63834         * tests/test-read-file.c (main): Likewise.
63835
63836 2007-03-17  Bruno Haible  <bruno@clisp.org>
63837
63838         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
63839
63840 2007-03-17  Bruno Haible  <bruno@clisp.org>
63841
63842         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
63843         unused variable.
63844
63845 2007-03-17  Bruno Haible  <bruno@clisp.org>
63846
63847         * tests/test-c-strcasecmp.c: Include c-strcase.h.
63848         * tests/test-c-strncasecmp.c: Likewise.
63849
63850 2007-03-17  Bruno Haible  <bruno@clisp.org>
63851
63852         * modules/stdlib (Depends-on): Add unistd.
63853         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
63854         Needed for MacOS X 10.3.
63855
63856 2007-03-17  Bruno Haible  <bruno@clisp.org>
63857
63858         * lib/unistr/u-strdup.h: Include <stdlib.h>.
63859
63860 2007-03-17  Bruno Haible  <bruno@clisp.org>
63861
63862         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
63863
63864 2007-03-17  Bruno Haible  <bruno@clisp.org>
63865
63866         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
63867         to reflect files copied from gnulib (with or without modifications).
63868         Suggested by Jim Meyering.
63869
63870 2007-03-17  Eric Blake  <ebb9@byu.net>
63871
63872         * NEWS: Document stdlib change from 2007-02-18.
63873
63874 2007-03-17  Jim Meyering  <jim@meyering.net>
63875
63876         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
63877         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
63878         someone uses a name containing shell meta-characters.
63879         Reported by Alfred M. Szmidt.
63880
63881         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
63882
63883 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
63884
63885         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
63886         and copy gettext configuration files only if configure.ac contains
63887         a use of AM_GNU_GETTEXT_VERSION.
63888
63889 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
63890
63891         * build-aux/bootstrap (gnulib_name): New variable.
63892         (gnulib_tool_options): Use it.
63893
63894 2007-03-13  Simon Josefsson  <simon@josefsson.org>
63895
63896         * tests/test-des.c: Use new namespace.
63897
63898 2007-03-15  Bruno Haible  <bruno@clisp.org>
63899
63900         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
63901         Reported by James Youngman <jay@gnu.org>.
63902
63903 2007-03-15  Bruno Haible  <bruno@clisp.org>
63904
63905         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
63906         declared prototype. Needed with cc on OSF/1 5.1.
63907
63908 2007-03-15  Bruno Haible  <bruno@clisp.org>
63909
63910         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
63911         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
63912         (struct gl_list_implementation): Add dispose_fn argument to the
63913         'create_empty', 'create' methods.
63914         (struct gl_list_impl_base): Add field 'dispose_fn'.
63915         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
63916         argument.
63917         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
63918         dispose_fn argument.
63919         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
63920         dispose_fn on the dropped values.
63921         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
63922         dispose_fn argument.
63923         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
63924         dropped values.
63925         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
63926         (gl_tree_remove_node): Call dispose_fn on the dropped value.
63927         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
63928         (gl_tree_remove_node): Call dispose_fn on the dropped value.
63929         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
63930         argument.
63931         (gl_tree_list_free): Call dispose_fn on the dropped values.
63932         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
63933         the dropped values.
63934         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
63935         Add dispose_fn argument.
63936         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
63937         Call dispose_fn on the dropped values.
63938         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
63939         Add dispose_fn argument.
63940         (gl_sublist_create): Initialize the 'dispose_fn' field.
63941         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
63942         * tests/test-array_list.c (main): Update.
63943         * tests/test-carray_list.c (main): Update.
63944         * tests/test-avltree_list.c (main): Update.
63945         * tests/test-rbtree_list.c (main): Update.
63946         * tests/test-avltreehash_list.c (main): Update.
63947         * tests/test-rbtreehash_list.c (main): Update.
63948         * tests/test-linked_list.c (main): Update.
63949         * tests/test-linkedhash_list.c (main): Update.
63950         * tests/test-array_oset.c (main): Update.
63951
63952 2007-03-15  Bruno Haible  <bruno@clisp.org>
63953
63954         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
63955         (gl_oset_create_empty): Add dispose_fn argument.
63956         (struct gl_oset_implementation): Add dispose_fn argument to
63957         'create_empty' method.
63958         (struct gl_oset_impl_base): Add dispose_fn field.
63959         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
63960         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
63961         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
63962         values.
63963         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
63964         (gl_tree_oset_free): Call dispose_fn on the dropped values.
63965         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
63966         dropped value.
63967         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
63968         dropped value.
63969         * tests/test-array_oset.c (main): Update.
63970         * tests/test-avltree_oset.c (main): Update.
63971         * tests/test-rbtree_oset.c (main): Update.
63972         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
63973
63974 2007-03-13  Bruno Haible  <bruno@clisp.org>
63975
63976         * tests/test-stdbool.c (i): Update after last patch.
63977
63978 2007-03-12  Bruno Haible  <bruno@clisp.org>
63979
63980         * lib/quotearg.c: Include <wctype.h> early, before the definition of
63981         the iswprint macro. Needed on Solaris 2.5.1.
63982
63983 2007-03-12  Bruno Haible  <bruno@clisp.org>
63984
63985         * tests/test-printf-frexp.c (main): Declare x as volatile.
63986
63987 2007-03-12  Simon Josefsson  <simon@josefsson.org>
63988
63989         * doc/gnulib.texi (Build robot for gnulib): New section.
63990
63991 2007-03-12  Jim Meyering  <jim@meyering.net>
63992
63993         * build-aux/bootstrap: New file.
63994         * build-aux/bootstrap.conf: New file, from coreutils.
63995
63996 2007-03-11  Bruno Haible  <bruno@clisp.org>
63997
63998         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
63999
64000 2007-03-12  Simon Josefsson  <simon@josefsson.org>
64001
64002         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
64003         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
64004         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
64005
64006 2007-03-11  Bruno Haible  <bruno@clisp.org>
64007
64008         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
64009         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
64010
64011 2007-03-11  Bruno Haible  <bruno@clisp.org>
64012
64013         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
64014         formula. Needed for SunPRO C 5.0.
64015
64016 2007-03-11  Bruno Haible  <bruno@clisp.org>
64017
64018         * modules/long-options (Depends-on): Add getopt.
64019
64020 2007-03-11  Bruno Haible  <bruno@clisp.org>
64021
64022         * modules/modechange (Depends-on): Add stdbool.
64023
64024 2007-03-11  Bruno Haible  <bruno@clisp.org>
64025
64026         * modules/i-ring (Depends-on): Add stdbool.
64027
64028 2007-03-11  Bruno Haible  <bruno@clisp.org>
64029
64030         * modules/gc-des (Depends-on): Add stdbool.
64031
64032 2007-03-11  Bruno Haible  <bruno@clisp.org>
64033
64034         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
64035
64036 2007-03-11  Bruno Haible  <bruno@clisp.org>
64037
64038         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
64039
64040 2007-03-11  Bruno Haible  <bruno@clisp.org>
64041
64042         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
64043
64044 2007-03-11  Bruno Haible  <bruno@clisp.org>
64045
64046         * lib/vasnprintf.c (sprintf): Undefine.
64047
64048 2007-03-11  Bruno Haible  <bruno@clisp.org>
64049
64050         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
64051         initializers in SunPRO C and Compaq C compilers.
64052
64053 2007-03-11  Bruno Haible  <bruno@clisp.org>
64054
64055         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
64056         decrementing code ANSI C compliant.
64057
64058 2007-03-11  Bruno Haible  <bruno@clisp.org>
64059
64060         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
64061         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
64062
64063 2007-03-11  Bruno Haible  <bruno@clisp.org>
64064
64065         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
64066         <stdbool.h> substitute doesn't pass.
64067
64068 2007-03-11  Bruno Haible  <bruno@clisp.org>
64069
64070         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
64071
64072 2007-03-11  Bruno Haible  <bruno@clisp.org>
64073
64074         * gnulib-tool (func_create_megatestdir): Create also an autobuild
64075         script, for submission to autobuild.josefsson.org.
64076
64077 2007-03-10  Bruno Haible  <bruno@clisp.org>
64078
64079         * modules/canonicalize-lgpl-tests: New file.
64080         * tests/test-canonicalize-lgpl.sh: New file.
64081         * tests/test-canonicalize-lgpl.c: New file.
64082
64083         * modules/c-strcase-tests: New file.
64084         * tests/test-c-strcase.sh: New file.
64085         * tests/test-c-strcasecmp.c: New file.
64086         * tests/test-c-strncasecmp.c: New file.
64087
64088         * modules/atexit-tests: New file.
64089         * tests/test-atexit.sh: New file.
64090         * tests/test-atexit.c: New file.
64091
64092 2007-03-10  Bruno Haible  <bruno@clisp.org>
64093
64094         * tests/test-binary-io.sh: Use temporary filenames that are not so
64095         likely to clash with those of other tests (in a parallel make).
64096         * tests/test-binary-io.c: Likewise.
64097
64098 2007-03-10  Bruno Haible  <bruno@clisp.org>
64099
64100         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
64101         fallback; use #error instead.
64102         Suggested by Simon Josefsson.
64103
64104 2007-03-10  Bruno Haible  <bruno@clisp.org>
64105
64106         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
64107         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
64108         first and the last.
64109
64110 2007-03-10  Bruno Haible  <bruno@clisp.org>
64111
64112         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
64113
64114 2007-03-10  Bruno Haible  <bruno@clisp.org>
64115
64116         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
64117         "make distcheck".
64118         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
64119         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
64120         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
64121
64122 2007-03-10  Bruno Haible  <bruno@clisp.org>
64123
64124         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
64125         variable.
64126         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
64127         variable.
64128
64129 2007-03-09  Eric Blake  <ebb9@byu.net>
64130         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
64131
64132         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
64133         types are not being provided by gnulib.
64134         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
64135         types are supported.
64136
64137 2007-03-10  Bruno Haible  <bruno@clisp.org>
64138
64139         * lib/stdio_.h (__attribute__): New macro.
64140         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
64141         vsprintf): Specify __attribute__ __format__ for GCC.
64142         Suggested by Eric Blake.
64143
64144 2007-03-09  Bruno Haible  <bruno@clisp.org>
64145
64146         * modules/printf-posix-tests: New file.
64147         * tests/test-printf-posix.sh: New file.
64148         * tests/test-printf-posix.c: New file.
64149
64150         * modules/printf-posix: New file.
64151         * lib/printf.c: New file.
64152         * m4/printf-posix-rpl.m4: New file.
64153         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
64154         REPLACE_PRINTF.
64155         * lib/stdio_.h (printf): New declaration.
64156         (format, __format__, ____printf____, ____scanf____, ____strftime____,
64157         ____strfmon____): New macros.
64158         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
64159         REPLACE_PRINTF.
64160
64161 2007-03-09  Bruno Haible  <bruno@clisp.org>
64162
64163         * tests/test-vasnprintf-posix2.sh: New file.
64164         * tests/test-vasnprintf-posix2.c: New file.
64165         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
64166         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
64167         (Makefile.am): Activate test-vasnprintf-posix2.sh.
64168
64169         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
64170         a locale dependent decimal point, rather than always '.'.
64171
64172 2007-03-09  Eric Blake  <ebb9@byu.net>
64173
64174         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
64175         spite of platforms like Tandem/NSK that define it to -1.
64176
64177 2007-03-08  Bruno Haible  <bruno@clisp.org>
64178
64179         * modules/vprintf-posix-tests: New file.
64180         * tests/test-vprintf-posix.sh: New file.
64181         * tests/test-vprintf-posix.c: New file.
64182         * tests/test-printf-posix.h: New file.
64183
64184         * modules/vprintf-posix: New file.
64185         * lib/vprintf.c: New file.
64186         * m4/vprintf-posix.m4: New file.
64187         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
64188         REPLACE_VPRINTF.
64189         * lib/stdio_.h (vprintf): New declaration.
64190         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
64191         REPLACE_VPRINTF.
64192
64193 2007-03-08  Bruno Haible  <bruno@clisp.org>
64194
64195         * modules/fprintf-posix-tests: New file.
64196         * tests/test-fprintf-posix.sh: New file.
64197         * tests/test-fprintf-posix.c: New file.
64198
64199         * modules/fprintf-posix: New file.
64200         * lib/fprintf.c: New file.
64201         * m4/fprintf-posix.m4: New file.
64202         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
64203         REPLACE_FPRINTF.
64204         * lib/stdio_.h (fprintf): New declaration.
64205         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
64206         REPLACE_FPRINTF.
64207
64208 2007-03-08  Bruno Haible  <bruno@clisp.org>
64209
64210         * modules/vfprintf-posix-tests: New file.
64211         * tests/test-vfprintf-posix.sh: New file.
64212         * tests/test-vfprintf-posix.c: New file.
64213         * tests/test-fprintf-posix.h: New file.
64214         * tests/test-fprintf-posix.out: New file.
64215
64216         * modules/vfprintf-posix: New file.
64217         * lib/vfprintf.c: New file.
64218         * m4/vfprintf-posix.m4: New file.
64219         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
64220         REPLACE_VFPRINTF.
64221         * lib/stdio_.h (vfprintf): New declaration.
64222         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
64223         REPLACE_VFPRINTF.
64224
64225 2007-03-08  Bruno Haible  <bruno@clisp.org>
64226
64227         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
64228
64229 2007-03-08  Bruno Haible  <bruno@clisp.org>
64230
64231         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
64232         instead of 'expr' invocations.
64233         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64234         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64235         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64236         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64237         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64238         Suggested by Paul Eggert.
64239
64240 2007-03-08  Bruno Haible  <bruno@clisp.org>
64241
64242         * modules/fseterr-tests: New file.
64243         * tests/test-fseterr.c: New file.
64244
64245         * modules/fseterr: New file.
64246         * lib/fseterr.h: New file.
64247         * lib/fseterr.c: New file.
64248
64249 2007-03-08  Bruno Haible  <bruno@clisp.org>
64250
64251         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
64252         * lib/getopt_.h: Likewise.
64253         * lib/mbswidth.h: Likewise.
64254         * lib/setenv.h: Likewise.
64255         * lib/vasnprintf.h: Likewise.
64256         * lib/vasprintf.h: Likewise.
64257         * lib/verror.h: Likewise.
64258         * lib/xsetenv.h: Likewise.
64259         * lib/xvasprintf.h: Likewise.
64260
64261 2007-03-08  Jim Meyering  <jim@meyering.net>
64262
64263         * users.txt: Add parted.
64264
64265         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
64266
64267 2007-03-07  Bruno Haible  <bruno@clisp.org>
64268
64269         * m4/printf.m4: Make the shell script snippets copy&pastable.
64270
64271 2007-03-02  Bruno Haible  <bruno@clisp.org>
64272
64273         * lib/netinet_in_.h: New file.
64274         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
64275         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
64276         * modules/netinet_in (Files): Add lib/netinet_in_.h.
64277         (Depends-on): Add absolute-header.
64278         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
64279         into netinet/in.h.
64280
64281 2007-03-03  Bruno Haible  <bruno@clisp.org>
64282
64283         * lib/sys_select_.h: New file.
64284         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
64285         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
64286         * modules/sys_select (Files): Add lib/sys_select_.h.
64287         (Depends-on): Add absolute-header.
64288         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
64289         into sys/select.h.
64290
64291 2007-03-02  Bruno Haible  <bruno@clisp.org>
64292
64293         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
64294         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
64295         values.
64296         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
64297         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
64298         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
64299         * modules/sys_socket (Depends-on): Add absolute-header.
64300         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
64301         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
64302         (Include): Remove requirement of inclusion of <sys/types.h>.
64303
64304 2007-03-02  Bruno Haible  <bruno@clisp.org>
64305
64306         * lib/byteswap_.h (bswap_32): Fix formula.
64307
64308 2007-03-06  Bruno Haible  <bruno@clisp.org>
64309
64310         * modules/sprintf-posix-tests: New file.
64311         * tests/test-sprintf-posix.c: New file.
64312
64313         * modules/sprintf-posix: New file.
64314         * lib/sprintf.c: New file.
64315         * m4/sprintf-posix.m4: New file.
64316         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
64317         REPLACE_SPRINTF.
64318         * lib/stdio_.h (sprintf): New declaration.
64319         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
64320         REPLACE_SPRINTF.
64321
64322 2007-03-06  Bruno Haible  <bruno@clisp.org>
64323
64324         * modules/vsprintf-posix-tests: New file.
64325         * tests/test-vsprintf-posix.c: New file.
64326         * tests/test-sprintf-posix.h: New file.
64327
64328         * modules/vsprintf-posix: New file.
64329         * lib/vsprintf.c: New file.
64330         * m4/vsprintf-posix.m4: New file.
64331         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
64332         REPLACE_VSPRINTF.
64333         * lib/stdio_.h (vsprintf): New declaration.
64334         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
64335         REPLACE_VSPRINTF.
64336
64337 2007-03-06  Bruno Haible  <bruno@clisp.org>
64338
64339         * modules/vsnprintf (Depend-on): Remove minmax.
64340
64341 2007-03-06  Bruno Haible  <bruno@clisp.org>
64342
64343         * modules/snprintf-posix-tests: New file.
64344         * tests/test-snprintf-posix.c: New file.
64345
64346         * modules/snprintf-posix: New file.
64347         * m4/snprintf-posix.m4: New file.
64348         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
64349         gl_FUNC_SNPRINTF.
64350         (gl_FUNC_SNPRINTF): Invoke it.
64351         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
64352         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
64353         is set.
64354         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
64355
64356 2007-03-06  Bruno Haible  <bruno@clisp.org>
64357
64358         * modules/vsnprintf-posix-tests: New file.
64359         * tests/test-vsnprintf-posix.c: New file.
64360         * tests/test-snprintf-posix.h: New file.
64361
64362         * modules/vsnprintf-posix: New file.
64363         * m4/vsnprintf-posix.m4: New file.
64364         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
64365         gl_FUNC_VSNPRINTF.
64366         (gl_FUNC_VSNPRINTF): Invoke it.
64367         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
64368         * lib/stdio_.h (vsnprintf): Define as a replacement if
64369         REPLACE_VSNPRINTF is set.
64370         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
64371
64372 2007-03-06  Bruno Haible  <bruno@clisp.org>
64373
64374         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
64375         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
64376
64377 2007-03-06  Bruno Haible  <bruno@clisp.org>
64378
64379         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
64380         (asinl): Declare also if HAVE_DECL_ASINL is set.
64381         (atanl): Declare also if HAVE_DECL_ATANL is set.
64382         (ceill): Declare also if HAVE_DECL_CEILL is set.
64383         (cosl): Declare also if HAVE_DECL_COSL is set.
64384         (expl): Declare also if HAVE_DECL_EXPL is set.
64385         (floorl): Declare also if HAVE_DECL_FLOORL is set.
64386         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
64387         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
64388         (logl): Declare also if HAVE_DECL_LOGL is set.
64389         (sinl): Declare also if HAVE_DECL_SINL is set.
64390         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
64391         (tanl): Declare also if HAVE_DECL_TANL is set.
64392         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
64393         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
64394         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
64395         declaration of frexpl, ldexpl.
64396         * modules/printf-frexpl (Depends-on): Add math.
64397         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
64398
64399 2007-03-05  Bruno Haible  <bruno@clisp.org>
64400
64401         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
64402         frexpl and ldexpl are declared.
64403         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
64404
64405 2007-03-05  Bruno Haible  <bruno@clisp.org>
64406
64407         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
64408         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
64409
64410 2007-03-05  Bruno Haible  <bruno@clisp.org>
64411
64412         * lib/stdio_.h: Include <stddef.h>.
64413
64414 2007-03-05  Bruno Haible  <bruno@clisp.org>
64415
64416         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
64417
64418 2007-03-05  Bruno Haible  <bruno@clisp.org>
64419
64420         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
64421         NetBSD 4, from Ralf Wildenhues.
64422
64423 2007-03-04  Bruno Haible  <bruno@clisp.org>
64424
64425         * lib/vasprintf.h: Update #if logic for the case when the functions
64426         exist but are overridden.
64427
64428 2007-03-04  Bruno Haible  <bruno@clisp.org>
64429
64430         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
64431         implementations: glibc-2.4 and MacOS X 10.3.
64432         * tests/test-vasnprintf-posix.c (test_function): Test also the case
64433         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
64434         * tests/test-vasprintf-posix.c (test_function): Likewise.
64435
64436 2007-03-04  Bruno Haible  <bruno@clisp.org>
64437
64438         * modules/vasprintf-posix-tests: New file.
64439         * tests/test-vasprintf-posix.c: New file.
64440
64441         * modules/vasprintf-posix: New file.
64442         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
64443         defined.
64444         * m4/vasprintf-posix.m4: New file.
64445         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
64446         gl_FUNC_VASPRINTF.
64447         (gl_FUNC_VASPRINTF): Invoke it.
64448         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
64449         here.
64450         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
64451
64452 2007-03-04  Bruno Haible  <bruno@clisp.org>
64453
64454         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
64455         REPLACE_GETTIMEOFDAY.
64456         * modules/sys_time (Makefile.am): Likewise.
64457         * m4/sys_time_h.m4: Likewise.
64458         * m4/gettimeofday.m4: Likewise.
64459
64460 2007-03-04  Bruno Haible  <bruno@clisp.org>
64461
64462         * modules/vasnprintf-posix-tests: New file.
64463         * tests/test-vasnprintf-posix.c: New file.
64464
64465         * modules/vasnprintf-posix: New file.
64466         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
64467         printf-frexpl.h.
64468         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
64469         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
64470         REPLACE_VASNPRINTF is defined.
64471         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
64472         gl_FUNC_VASNPRINTF.
64473         (gl_FUNC_VASNPRINTF): Invoke it.
64474         * m4/vasnprintf-posix.m4: New file.
64475         * m4/printf.m4: New file.
64476
64477 2007-03-04  Bruno Haible  <bruno@clisp.org>
64478
64479         Compile progreloc.c only if --enable-relocatable is specified.
64480         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
64481         if --enable-relocatable was specified.
64482         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
64483         lib_SOURCES.
64484
64485 2007-03-04  Jim Meyering  <jim@meyering.net>
64486
64487         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
64488         Use it consistently, rather than enumerating errno constants.
64489
64490 2007-03-04  Bruno Haible  <bruno@clisp.org>
64491
64492         * modules/xvasprintf-tests: New file.
64493         * tests/test-xvasprintf.c: New file.
64494
64495         * modules/vasprintf-tests: New file.
64496         * tests/test-vasprintf.c: New file.
64497
64498         * modules/vasnprintf-tests: New file.
64499         * tests/test-vasnprintf.c: New file.
64500
64501         * modules/vsnprintf-tests: New file.
64502         * tests/test-vsnprintf.c: New file.
64503
64504         * modules/snprintf-tests: New file.
64505         * tests/test-snprintf.c: New file.
64506
64507 2007-03-04  Bruno Haible  <bruno@clisp.org>
64508
64509         Compile relocatable.c only if --enable-relocatable is specified.
64510         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
64511         gl_RELOCATABLE_LIBRARY.
64512         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
64513         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
64514         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
64515         gl_RELOCATABLE_LIBRARY.
64516         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
64517         (Makefile.am): Remove lib_SOURCES.
64518         * modules/relocatable-lib-lgpl (configure.ac): Invoke
64519         gl_RELOCATABLE_LIBRARY.
64520         (Makefile.am): Remove lib_SOURCES.
64521         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
64522         always.
64523         * modules/relocatable-prog-wrapper (configure.ac): Invoke
64524         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
64525
64526 2007-03-04  Bruno Haible  <bruno@clisp.org>
64527
64528         * modules/argmatch-tests: New file.
64529         * tests/test-argmatch.c: New file.
64530
64531         * tests/test-allocsa.c (main): Halve the number of loop runs.
64532
64533         * modules/alloca-opt-tests: New file.
64534         * tests/test-alloca-opt.c: New file.
64535
64536 2007-03-04  Jim Meyering  <jim@meyering.net>
64537
64538         Work around difference between Linux ACLs and Solaris 10 ZFS.
64539         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
64540         for EINVAL.
64541
64542 2007-03-03  Bruno Haible  <bruno@clisp.org>
64543
64544         * modules/relocatable-prog (Depends-on): Add back progreloc's
64545         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
64546
64547 2007-03-03  Bruno Haible  <bruno@clisp.org>
64548
64549         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
64550         * modules/relocatable-lib: New file.
64551
64552 2007-03-03  Bruno Haible  <bruno@clisp.org>
64553
64554         * modules/relocatable-prog: Renamed from modules/relocatable.
64555         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
64556
64557 2007-03-03  Bruno Haible  <bruno@clisp.org>
64558
64559         * modules/relocatable-script (Files): Add doc/relocatable.texi,
64560         m4/relocatable-lib.m4.
64561         (Depends-on): Remove 'relocatable'.
64562         (configure.ac): Add gl_RELOCATABLE_NOP.
64563
64564 2007-03-03  Bruno Haible  <bruno@clisp.org>
64565
64566         * modules/relocatable-prog-wrapper: New file.
64567         * modules/relocatable (Depends-on): Add it. Remove all other
64568         dependencies except progname.
64569         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
64570
64571         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
64572         (gl_FUNC_STRERROR): Nop.
64573         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
64574
64575         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
64576         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
64577
64578         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
64579         (gl_FUNC_READLINK): Update.
64580
64581         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
64582
64583 2007-03-03  Bruno Haible  <bruno@clisp.org>
64584
64585         * lib/xreadlink.c: Include <unistd.h> unconditionally.
64586         * modules/xreadlink (Depends-on): Add unistd.
64587         * modules/xreadlink-with-size (Depends-on): Likewise.
64588
64589 2007-03-03  Bruno Haible  <bruno@clisp.org>
64590
64591         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
64592         extracted from gt_FUNC_SETENV.
64593         (gt_FUNC_SETENV): Remove macro.
64594         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
64595         remove gt_FUNC_SETENV.
64596
64597 2007-03-03  Bruno Haible  <bruno@clisp.org>
64598
64599         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
64600         ENABLE_RELOCATABLE here.
64601         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
64602
64603 2007-03-03  Bruno Haible  <bruno@clisp.org>
64604
64605         * modules/rbtreehash-list-tests (Depends-on): Add progname.
64606         * tests/test-rbtreehash_list.c: Include progname.h.
64607         (main): Call set_program_name.
64608
64609         * modules/rbtree-oset-tests (Depends-on): Add progname.
64610         * tests/test-rbtree_oset.c: Include progname.h.
64611         (main): Call set_program_name.
64612
64613         * modules/rbtree-list-tests (Depends-on): Add progname.
64614         * tests/test-rbtree_list.c: Include progname.h.
64615         (main): Call set_program_name.
64616
64617         * modules/linked-list-tests (Depends-on): Add progname.
64618         * tests/test-linked_list.c: Include progname.h.
64619         (main): Call set_program_name.
64620
64621 2007-03-03  Bruno Haible  <bruno@clisp.org>
64622
64623         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
64624         All uses of __restrict changed to _Restrict_.
64625         * lib/glob_.h (__restrict): Remove macro.
64626
64627 2007-03-02  Bruno Haible  <bruno@clisp.org>
64628
64629         * modules/gettext (configure.ac): Require gettext infrastructure
64630         from version 0.16.1.
64631
64632 2007-03-02  Bruno Haible  <bruno@clisp.org>
64633
64634         * modules/linkedhash-list-tests (Depends-on): Add progname.
64635         * tests/test-linkedhash_list.c: Include progname.h.
64636         (main): Call set_program_name.
64637
64638         * modules/carray-list-tests (Depends-on): Add progname.
64639         * tests/test-carray_list.c: Include progname.h.
64640         (main): Call set_program_name.
64641
64642         * modules/avltreehash-list-tests (Depends-on): Add progname.
64643         * tests/test-avltreehash_list.c: Include progname.h.
64644         (main): Call set_program_name.
64645
64646         * modules/avltree-oset-tests (Depends-on): Add progname.
64647         * tests/test-avltree_oset.c: Include progname.h.
64648         (main): Call set_program_name.
64649
64650         * modules/avltree-list-tests (Depends-on): Add progname.
64651         * tests/test-avltree_list.c: Include progname.h.
64652         (main): Call set_program_name.
64653
64654         * modules/array-oset-tests (Depends-on): Add progname.
64655         * tests/test-array_oset.c: Include progname.h.
64656         (main): Call set_program_name.
64657
64658         * modules/array-list-tests (Depends-on): Add progname.
64659         * tests/test-array_list.c: Include progname.h.
64660         (main): Call set_program_name.
64661
64662         * modules/argp-tests (Depends-on): Add progname.
64663         * tests/test-argp.c: Include argp.h first. Include progname.h.
64664         (main): Call set_program_name.
64665
64666 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
64667
64668         * doc/gnulib-tool.texi (Initial import): Reword description of
64669         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
64670         limited effect even if defined after the first system include.
64671
64672 2007-03-01  Bruno Haible  <bruno@clisp.org>
64673
64674         * build-aux/config.libpath: Update to libtool-1.5.22.
64675         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
64676
64677 2007-03-01  Bruno Haible  <bruno@clisp.org>
64678
64679         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
64680         foo_CFLAGS.
64681         Reported by Ralf Wildenhues.
64682
64683 2007-03-01  Bruno Haible  <bruno@clisp.org>
64684
64685         * build-aux/install-reloc: Remove object files left over by some
64686         compilers.
64687         Reported by Ralf Wildenhues.
64688
64689 2007-03-01  Bruno Haible  <bruno@clisp.org>
64690
64691         * build-aux/install-reloc: Break long lines.
64692
64693 2007-03-01  Bruno Haible  <bruno@clisp.org>
64694
64695         * doc/relocatable.texi: Document that it may not work on OpenBSD.
64696         Reported by Ralf Wildenhues.
64697
64698 2007-03-01  Bruno Haible  <bruno@clisp.org>
64699
64700         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
64701         include ordering constraints.
64702
64703 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
64704
64705         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
64706         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
64707         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
64708         as another example.
64709         * lib/time_.h: Fix misspelling.
64710         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
64711         Require gl_HEADER_TIME_H_DEFAULTS.
64712         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
64713         * m4/time_r.m4 (gl_TIME_R): Likewise.
64714         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
64715
64716 2007-03-01  Bruno Haible  <bruno@clisp.org>
64717
64718         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
64719         * m4/utimens.m4 (gl_UTIMENS): Likewise.
64720
64721 2007-03-01  Jim Meyering  <jim@meyering.net>
64722
64723         * modules/xreadlink (Maintainer): Add my name.
64724         * modules/xreadlink-with-size (Depends-on): Alphabetize.
64725
64726 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
64727             Bruno Haible  <bruno@clisp.org>
64728
64729         * build-aux/install-reloc: Compile also c-ctype.c.
64730         * build-aux/relocatable.sh.in: New file.
64731         * doc/relocatable.texi: New file.
64732         * doc/relocatable-maint.texi: New file.
64733         * doc/gnulib.texi: Include relocatable-maint.texi.
64734         * lib/progreloc.c: Include unistd.h unconditionally.
64735         * lib/relocwrapper.c: Include unistd.h unconditionally.
64736         Include c-ctype.h.
64737         (add_dotbin): Use c_tolower.
64738         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
64739         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
64740         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
64741         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
64742         to m4/relocatable-lib.m4.
64743         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
64744         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
64745         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
64746         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
64747         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
64748         * modules/relocatable: New file.
64749         * modules/relocatable-lib: New file.
64750         * modules/relocatable-script: New file.
64751
64752 2007-02-28  Bruno Haible  <bruno@clisp.org>
64753
64754         Import --enable-relocatable infrastructure.
64755         * build-aux/config.libpath: New file, from GNU gettext.
64756         * build-aux/install-reloc: New file, from GNU gettext.
64757         * build-aux/reloc-ldflags: New file, from GNU gettext.
64758         * lib/relocatable.h: New file, from GNU gettext.
64759         * lib/relocatable.c: New file, from GNU gettext.
64760         * lib/relocwrapper.c: New file, from GNU gettext.
64761         * m4/relocatable.m4: New file, from GNU gettext.
64762
64763 2007-02-28  Bruno Haible  <bruno@clisp.org>
64764
64765         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
64766
64767         * modules/xreadlink: New file, from GNU gettext with modifications.
64768         * lib/xreadlink.c: New file, from GNU gettext.
64769         * lib/xreadlink.h: Add comments.
64770         (xreadlink): New declaration.
64771
64772         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
64773         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
64774         lib/xreadlink-with-size.c.
64775         (configure.ac): Remove gl_XREADLINK invocation.
64776         (Makefile.am): Augment lib_SOURCES.
64777         * m4/xreadlink.m4: Remove file.
64778         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
64779         (xreadlink_with_size): Renamed from xreadink.
64780         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
64781         * modules/canonicalize (Depends-on): Replace xreadlink with
64782         xreadlink-with-size.
64783         * lib/canonicalize.c (canonicalize_filename_mode): Update.
64784
64785 2007-02-25  Jim Meyering  <jim@meyering.net>
64786
64787         * build-aux/announce-gen: When complaining about excess arguments,
64788         list them.
64789
64790 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
64791
64792         * README: Document signed integer overflow situation more
64793         accurately.
64794
64795 2007-02-25  Bruno Haible  <bruno@clisp.org>
64796
64797         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
64798         'a' or 'A' conversion.
64799
64800 2007-02-25  Bruno Haible  <bruno@clisp.org>
64801
64802         * modules/filename: Renamed from modules/pathname.
64803         (Files): Replace lib/pathname.h with lib/filename.h. Replace
64804         lib/concatpath.c with lib/concat-filename.c.
64805         (Makefile.am): Update.
64806         (Include): Replace pathname.h with filename.h.
64807         * lib/filename.h: Renamed from lib/pathname.h.
64808         (concatenated_filename): Renamed from concatenated_pathname.
64809         * lib/concat-filename.c: Renamed from lib/concatpath.c.
64810         (concatenated_filename): Renamed from concatenated_pathname.
64811         * lib/findprog.c: Include filename.h instead of pathname.h.
64812         (find_in_path): Update.
64813         * lib/javacomp.c: Include filename.h instead of pathname.h.
64814         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
64815         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
64816         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
64817         is_oldgcj_14_13_usable, is_javac_usable): Update.
64818         * lib/javaexec.c: Include filename.h instead of pathname.h.
64819         (execute_java_class): Update.
64820         * modules/findprog: Update.
64821         * modules/javacomp: Update.
64822         * modules/javaexec: Update.
64823         * MODULES.html.sh (File system functions): Add 'filename', remove
64824         'pathname'.
64825
64826 2007-02-25  Bruno Haible  <bruno@clisp.org>
64827
64828         * modules/printf-frexpl-tests: New file.
64829         * tests/test-printf-frexpl.c: New file.
64830
64831         * modules/printf-frexpl: New file.
64832         * lib/printf-frexpl.h: New file.
64833         * lib/printf-frexpl.c: New file.
64834         * m4/printf-frexpl.m4: New file.
64835
64836 2007-02-25  Bruno Haible  <bruno@clisp.org>
64837
64838         * modules/printf-frexp-tests: New file.
64839         * tests/test-printf-frexp.c: New file.
64840
64841         * modules/printf-frexp: New file.
64842         * lib/printf-frexp.h: New file.
64843         * lib/printf-frexp.c: New file.
64844         * m4/printf-frexp.m4: New file.
64845
64846 2007-02-25  Bruno Haible  <bruno@clisp.org>
64847
64848         Assume automake >= 1.10 for the tests.
64849         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
64850         * modules/arctwo-tests: Likewise.
64851         * modules/argp-tests: Likewise.
64852         * modules/avltree-list-tests: Likewise.
64853         * modules/avltree-oset-tests: Likewise.
64854         * modules/avltreehash-list-tests: Likewise.
64855         * modules/carray-list-tests: Likewise.
64856         * modules/crc-tests: Likewise.
64857         * modules/des-tests: Likewise.
64858         * modules/gc-arcfour-tests: Likewise.
64859         * modules/gc-arctwo-tests: Likewise.
64860         * modules/gc-des-tests: Likewise.
64861         * modules/gc-hmac-md5-tests: Likewise.
64862         * modules/gc-hmac-sha1-tests: Likewise.
64863         * modules/gc-md2-tests: Likewise.
64864         * modules/gc-md4-tests: Likewise.
64865         * modules/gc-md5-tests: Likewise.
64866         * modules/gc-pbkdf2-sha1-tests: Likewise.
64867         * modules/gc-rijndael-tests: Likewise.
64868         * modules/gc-sha1-tests: Likewise.
64869         * modules/gc-tests: Likewise.
64870         * modules/getaddrinfo-tests: Likewise.
64871         * modules/hmac-md5-tests: Likewise.
64872         * modules/hmac-sha1-tests: Likewise.
64873         * modules/linked-list-tests: Likewise.
64874         * modules/linkedhash-list-tests: Likewise.
64875         * modules/lock-tests: Likewise.
64876         * modules/md2-tests: Likewise.
64877         * modules/md4-tests: Likewise.
64878         * modules/md5-tests: Likewise.
64879         * modules/rbtree-list-tests: Likewise.
64880         * modules/rbtree-oset-tests: Likewise.
64881         * modules/rbtreehash-list-tests: Likewise.
64882         * modules/read-file-tests: Likewise.
64883         * modules/rijndael-tests: Likewise.
64884         * modules/stdint-tests: Likewise.
64885         * modules/tls-tests: Likewise.
64886
64887 2007-02-24  Bruno Haible  <bruno@clisp.org>
64888
64889         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
64890         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
64891         function; instead check whether isnan with a double argument links.
64892         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
64893         function; instead check whether isnan with a 'long double' argument
64894         links.
64895         Reported by Eric Blake <ebb9@byu.net>.
64896
64897 2007-02-24  Bruno Haible  <bruno@clisp.org>
64898
64899         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
64900         defined.
64901         * lib/isnanl.c: Remove all code. Just include isnan.c.
64902         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
64903
64904 2007-02-25  Jim Meyering  <jim@meyering.net>
64905
64906         Avoid conflicting types for 'unsetenv' on FreeBSD.
64907         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
64908         conflicting with FreeBSD's (5.0 and 6.1) function declaration
64909         in stdlib.h.
64910
64911 2007-02-24  Bruno Haible  <bruno@clisp.org>
64912
64913         * modules/isnanl-nolibm-tests: New file.
64914         * tests/test-isnanl.c: New file.
64915
64916         * modules/isnanl-nolibm: New file.
64917         * lib/isnanl.h: New file.
64918         * lib/isnanl.c: New file.
64919         * m4/isnanl.m4: New file.
64920
64921 2007-02-24  Bruno Haible  <bruno@clisp.org>
64922
64923         * modules/isnan-nolibm-tests: New file.
64924         * tests/test-isnan.c: New file.
64925
64926         * modules/isnan-nolibm: New file.
64927         * lib/isnan.h: New file.
64928         * lib/isnan.c: New file.
64929         * m4/isnan.m4: New file.
64930
64931 2007-02-24  Bruno Haible  <bruno@clisp.org>
64932
64933         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
64934         assume that an exponent fits in 20 bits.
64935
64936 2007-02-24  Jim Meyering  <jim@meyering.net>
64937
64938         * m4/regex.m4: Update the description of the configure-time option,
64939         --without-included-regex, to state accurately what the defaults are,
64940         and perhaps to give people an idea why using this option is risky.
64941
64942 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
64943
64944         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
64945         loops on small arguments.  This attempts to avoid the problem
64946         Bruno Haible reported for AIX 4.3.2 in
64947         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
64948
64949 2007-02-23  Bruno Haible  <bruno@clisp.org>
64950
64951         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
64952         Needed for help2man.
64953
64954 2007-02-23  Karl Berry  <karl@gnu.org>
64955
64956         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
64957         exists, foo.h should be cvs-ignored, not committed.
64958
64959 2007-02-23  Eric Blake  <ebb9@byu.net>
64960
64961         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
64962         * lib/stat-time.h (includes): Likewise.
64963         * lib/utimecmp.c (includes): Likewise.
64964         * lib/utimens.h (includes): Likewise.
64965         * lib/getdate.y (includes): Also include "timespec.h" for use
64966         internal to the module.
64967         * modules/utimens (Depends-on): Revert yesterday's patch.
64968         * modules/nanosleep (Depends-on): Add missing dependency.
64969
64970 2007-02-22  Bruno Haible  <bruno@clisp.org>
64971
64972         * lib/glob.c: Don't include getlogin_r.h.
64973
64974 2007-02-22  Jim Meyering  <jim@meyering.net>
64975
64976         * modules/utimens (Depends-on): Add timespec, required for
64977         utimens.h's inclusion of timespec.h.
64978
64979 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
64980
64981         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
64982         long unreadable paths in GNU/Linux.  Problem reported by Andreas
64983         Schwab in
64984         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
64985         I'll try to think of a better way to fix the Solaris problem.
64986
64987         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
64988         like glibc; on Solaris 10, it fails with errno == EINVAL.
64989         POSIX says the behavior is unspecified if the first argument is NULL,
64990         so play it safe and never pass NULL to the system getcwd.
64991
64992 2007-02-21  Jim Meyering  <jim@meyering.net>
64993
64994         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
64995         of gettimeofday.  It would conflict with the one now always
64996         provided via sys_time_.h.  Reported by Matthew Woehlke, as
64997         an IRIX 6.5 build failure.
64998
64999 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
65000
65001         Minor fixups to port to Solaris 10 with Sun C 5.8.
65002         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
65003         * modules/getcwd (Depends-on): Add dirfd.
65004         * lib/putenv.c (putenv): #undef it.
65005         (rpl_putenv): New decl.
65006         (malloc, free): Include <stdlib.h> rather than prototyping separately.
65007
65008 2007-02-20  Bruno Haible  <bruno@clisp.org>
65009
65010         * modules/stdio-tests: New file.
65011         * tests/test-stdio.c: New file.
65012
65013         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
65014         (Depends-on): Add stdio.
65015         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
65016         (Include): Use <stdio.h> instead of vsnprintf.h.
65017         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
65018         HAVE_DECL_VSNPRINTF.
65019         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
65020
65021         * modules/snprintf (Files): Remove lib/snprintf.h.
65022         (Depends-on): Add stdio.
65023         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
65024         (Include): Use <stdio.h> instead of snprintf.h.
65025         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
65026         HAVE_DECL_SNPRINTF.
65027         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
65028         * lib/getaddrinfo.c: Likewise.
65029
65030         * modules/stdio: New file.
65031         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
65032         * lib/snprintf.h: Remove file.
65033         * lib/vsnprintf.h: Remove file.
65034         * lib/.cppi-disable: Remove snprintf.h.
65035         * m4/stdio_h.m4: New file.
65036         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
65037
65038 2007-02-20  Jim Meyering  <jim@meyering.net>
65039
65040         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
65041         used by e.g., mingw.  From Bruno Haible.
65042
65043 2007-02-19  Bruno Haible  <bruno@clisp.org>
65044
65045         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
65046         warnings.
65047         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65048
65049 2007-02-19  Bruno Haible  <bruno@clisp.org>
65050
65051         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
65052         from mingw users.
65053
65054 2007-02-19  Bruno Haible  <bruno@clisp.org>
65055
65056         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
65057         warnings.
65058         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
65059
65060 2007-02-19  Jim Meyering  <jim@meyering.net>
65061
65062         Don't use FD after a successful "fdopendir (fd)".
65063         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
65064         Reset it by calling dirfd on the just-obtained DIR*.
65065
65066         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
65067         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
65068
65069 2007-02-18  Bruno Haible  <bruno@clisp.org>
65070
65071         * lib/readlink.c: Include <unistd.h>.
65072         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
65073         HAVE_READLINK.
65074         * modules/readlink (Depends-on): Add unistd.
65075         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65076         (Include): Add <unistd.h>.
65077
65078         * lib/getlogin_r.h: Remove file.
65079         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
65080         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
65081         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
65082         HAVE_DECL_GETLOGIN_R.
65083         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
65084         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65085         (Include): Use <unistd.h> instead of getlogin_r.h.
65086
65087         * lib/getcwd.h: Remove file.
65088         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
65089         * lib/xgetcwd.c: Likewise.
65090         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
65091         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
65092         * modules/getcwd (Files): Remove lib/getcwd.h.
65093         (Depends-on): Add unistd.
65094         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65095         (Include): Use <unistd.h> instad of getcwd.h.
65096
65097         * lib/ftruncate.c: Include <unistd.h> first.
65098         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
65099         Set HAVE_FTRUNCATE.
65100         * modules/ftruncate (Depends-on): Add unistd.
65101         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65102
65103         * lib/fchdir.c: Include <unistd.h> first.
65104         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
65105         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
65106         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
65107         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65108         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
65109
65110         * lib/dup2.c: Include <unistd.h> first.
65111         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
65112         HAVE_DUP2.
65113         * modules/dup2 (Depends-on): Add unistd.
65114         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65115
65116         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
65117         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
65118         REPLACE_CHOWN. Don't define chown as a macro here.
65119         * modules/chown (Depends-on): Add unistd.
65120         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65121
65122         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
65123         Add definition for GL_LINK_WARNING.
65124         (chown, dup2): New declarations.
65125         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
65126         link warning.
65127         (ftruncate): New declaration.
65128         (getcwd): New declaration, taken from old getcwd.h.
65129         (getlogin_r): New declaration, taken from old getlogin_r.h.
65130         (readlink): New declaration.
65131         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
65132         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
65133         (gl_PREREQ_UNISTD): Remove macro.
65134         (gl_UNISTD_MODULE_INDICATOR): New macro.
65135         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
65136         many new variables. Don't set UNISTD_H.
65137         * modules/unistd (Description): Change.
65138         (Depends-on): Add link-warning.
65139         (configure.ac): Update.
65140         (Makefile.am): Create unistd.h always. Substitute many new variables
65141         into it.
65142
65143 2007-02-18  Bruno Haible  <bruno@clisp.org>
65144
65145         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
65146         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
65147         HAVE_GETSUBOPT.
65148         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
65149         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
65150         * lib/getsubopt.h: Remove file.
65151         * modules/getsubopt (Files): Remove lib/getsubopt.h.
65152         (Depends-on): Add stdlib.
65153         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65154         (Includes): Use <stdlib.h> instead of getsubopt.h.
65155         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
65156         Set HAVE_GETSUBOPT.
65157         * lib/getsubopt.c: Don't include getsubopt.h.
65158
65159 2007-02-18  Bruno Haible  <bruno@clisp.org>
65160
65161         * modules/fchdir (Depends-on): Add dup2.
65162
65163 2007-02-18  Bruno Haible  <bruno@clisp.org>
65164
65165         * lib/stdlib_.h: Handle glibc's special invocation convention
65166         specially.
65167
65168 2007-02-18  Bruno Haible  <bruno@clisp.org>
65169
65170         * modules/stdlib-tests: New file.
65171         * tests/test-stdlib.c: New file.
65172
65173         * modules/mkstemp (Files): Remove lib/mkstemp.h.
65174         (Depends-on): Add stdlib.
65175         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65176         (Includes): Use <stdlib.h> instead of mkstemp.h.
65177         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
65178         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
65179         * lib/mkstemp.c: Don't include mkstemp.h.
65180         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
65181         * lib/stdlib--.h: Don't include mkstemp.h.
65182
65183         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
65184         (Depends-on): Add stdlib.
65185         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65186         (Includes): Use <stdlib.h> instead of mkdtemp.h.
65187         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
65188         HAVE_MKDTEMP.
65189         * lib/mkdtemp.c: Don't include mkdtemp.h.
65190         * lib/clean-temp.c: Don't include mkdtemp.h.
65191
65192         * modules/exit (Files): Remove lib/exit.h.
65193         (Depends-on): Add stdlib.
65194         (Makefile.am): Remove lib_SOURCES.
65195         (Include): Use <stdlib.h> instead of exit.h.
65196         * lib/argmatch.c: Don't include exit.h.
65197         * lib/execute.c: Likewise.
65198         * lib/pagealign_alloc.c: Likewise.
65199         * lib/pipe.c: Likewise.
65200         * lib/wait-process.c: Likewise.
65201         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
65202         * lib/exitfail.c: Likewise.
65203         * lib/savewd.c: Likewise.
65204         * lib/xsetenv.c: Likewise.
65205
65206         * modules/stdlib: New file.
65207         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
65208         and extra comments about mkstemp().
65209         * lib/exit.h: Remove file.
65210         * lib/mkdtemp.h: Remove file.
65211         * lib/mkstemp.h: Remove file.
65212         * m4/stdlib_h.m4: New file.
65213         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
65214
65215 2007-02-18  Bruno Haible  <bruno@clisp.org>
65216
65217         * modules/math-tests: New file.
65218         * tests/test-math.c: New file.
65219
65220         * modules/math: New file.
65221         * modules/mathl (Files): Remove lib/mathl.h.
65222         (Depends-on): Add math.
65223         (Makefile.am): Don't mention mathl.h.
65224         (Include): Use <math.h> instead of mathl.h.
65225         * lib/math_.h: New file.
65226         * lib/mathl.h: Remove file.
65227         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
65228         mathl.h.
65229         * lib/asinl.c: Likewise.
65230         * lib/atanl.c: Likewise.
65231         * lib/ceill.c: Likewise.
65232         * lib/cosl.c: Likewise.
65233         * lib/expl.c: Likewise.
65234         * lib/floorl.c: Likewise.
65235         * lib/frexpl.c: Likewise.
65236         * lib/ldexpl.c: Likewise.
65237         * lib/logl.c: Likewise.
65238         * lib/sincosl.c: Likewise.
65239         * lib/sinl.c: Likewise.
65240         * lib/sqrtl.c: Likewise.
65241         * lib/tanl.c: Likewise.
65242         * lib/trigl.c: Likewise.
65243         * m4/math_h.m4: New file.
65244         * MODULES.html.sh (Mathematics): Add math.
65245
65246 2007-02-17  Bruno Haible  <bruno@clisp.org>
65247
65248         * modules/wctype-tests: New file.
65249         * tests/test-wctype.c: New file.
65250
65251         * modules/wchar-tests: New file.
65252         * tests/test-wchar.c: New file.
65253
65254         * modules/unistd-tests: New file.
65255         * tests/test-unistd.c: New file.
65256
65257         * modules/time-tests: New file.
65258         * tests/test-time.c: New file.
65259
65260         * modules/sysexits-tests: New file.
65261         * tests/test-sysexits.c: New file.
65262
65263         * modules/sys_time-tests: New file.
65264         * tests/test-sys_time.c: New file.
65265
65266         * modules/sys_stat-tests: New file.
65267         * tests/test-sys_stat.c: New file.
65268
65269         * modules/sys_socket-tests: New file.
65270         * tests/test-sys_socket.c: New file.
65271
65272         * modules/sys_select-tests: New file.
65273         * tests/test-sys_select.c: New file.
65274
65275         * modules/string-tests: New file.
65276         * tests/test-string.c: New file.
65277
65278         * modules/stdbool-tests: New file.
65279         * tests/test-stdbool.c: New file.
65280
65281         * modules/netinet_in-tests: New file.
65282         * tests/test-netinet_in.c: New file.
65283
65284         * modules/inttypes-tests: New file.
65285         * tests/test-inttypes.c: New file.
65286
65287         * modules/fcntl-tests: New file.
65288         * tests/test-fcntl.c: New file.
65289
65290         * modules/byteswap-tests: New file.
65291         * tests/test-byteswap.c: New file.
65292
65293         * modules/arpa_inet-tests: New file.
65294         * tests/test-arpa_inet.c: New file.
65295
65296 2007-02-17  Bruno Haible  <bruno@clisp.org>
65297
65298         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
65299         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
65300         if the corresponding module is not enabled. Emit link warnings if
65301         the function is used nevertheless.
65302         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
65303         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
65304         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
65305         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
65306         * modules/inttypes (Depends-on): Add link-warning.
65307         (Makefile.am): Copy the contents of build-aux/link-warning.h into
65308         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
65309         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
65310         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
65311         * modules/imaxdiv (configure.ac): Likewise.
65312         * modules/strtoimax (configure.ac): Likewise.
65313         * modules/strtoumax (configure.ac): Likewise.
65314
65315 2007-02-17  Bruno Haible  <bruno@clisp.org>
65316
65317         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
65318         gl_STRING_MODULE_INDICATOR_DEFAULTS.
65319         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
65320         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
65321
65322 2007-02-17  Bruno Haible  <bruno@clisp.org>
65323
65324         * modules/link-warning: New file.
65325         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
65326         * lib/string_.h (GL_LINK_WARNING): Remove definition.
65327         * modules/string (Depends-on): Add link-warning.
65328         (Makefile.am): Copy the contents of build-aux/link-warning.h into
65329         string.h.
65330         * MODULES.html.sh (Support for building libraries and executables): Add
65331         link-warning.
65332
65333 2007-02-17  Bruno Haible  <bruno@clisp.org>
65334
65335         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
65336         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
65337         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
65338         long lines.
65339
65340 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
65341             Bruno Haible  <bruno@clisp.org>
65342
65343         * modules/tmpfile: New file.
65344         * lib/tmpfile.c: New file.
65345         * m4/tmpfile.m4: New file.
65346         * MODULES.html.sh (func_all_modules): New section "Input/output".
65347
65348 2007-02-15  Bruno Haible  <bruno@clisp.org>
65349
65350         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
65351         (supports_delete_on_close): New function.
65352         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
65353
65354 2007-02-14  Bruno Haible  <bruno@clisp.org>
65355
65356         * modules/mbspcasecmp-tests: New file.
65357         * tests/test-mbspcasecmp.sh: New file.
65358         * tests/test-mbspcasecmp.c: New file.
65359
65360         New module mbspcasecmp.
65361         * modules/mbspcasecmp: New file.
65362         * lib/mbspcasecmp.c: New file.
65363         * lib/string_.h (strncasecmp): Change warning message.
65364         (mbspcasecmp): New declaration.
65365         * m4/mbspcasecmp.m4: New file.
65366         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65367         GNULIB_MBSPCASECMP.
65368         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
65369         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
65370
65371 2007-02-14  Bruno Haible  <bruno@clisp.org>
65372
65373         * modules/mbsncasecmp-tests: New file.
65374         * tests/test-mbsncasecmp.sh: New file.
65375         * tests/test-mbsncasecmp.c: New file.
65376
65377         New module mbsncasecmp.
65378         * modules/mbsncasecmp: New file.
65379         * lib/mbsncasecmp.c: New file.
65380         * lib/string_.h (mbsncasecmp): New declaration.
65381         * m4/mbsncasecmp.m4: New file.
65382         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65383         GNULIB_MBSNCASECMP.
65384         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
65385         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
65386
65387 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
65388
65389         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
65390         Verify that it doesn't overlap with our flags.
65391         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
65392         do not have the desired effect in multibyte locales; instead, use
65393         mbscasecmp.
65394         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
65395         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
65396         we don't require GNU fnmatch ourselves (if our users require it, they
65397         should do so explicitly).
65398
65399         Fix regex code so it doesn't rely on strcasecmp.
65400         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
65401         Otherwise, include gnulib's langinfo.h.
65402         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
65403         undesirable behavior in non-C locales.  Instead, rely on localecharset.
65404         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
65405         * modules/regex (FILES): Remove m4/codeset.m4.
65406         (Depends-on): Add localcharset.  Remove strcase.
65407
65408 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65409
65410         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
65411         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
65412
65413 2007-02-13  Bruno Haible  <bruno@clisp.org>
65414
65415         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
65416         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65417
65418 2007-02-12  Bruno Haible  <bruno@clisp.org>
65419
65420         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
65421         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
65422         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
65423         time warning rather than a link error.
65424
65425 2007-02-12  Bruno Haible  <bruno@clisp.org>
65426
65427         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
65428         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
65429         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65430
65431 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
65432
65433         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
65434         args, not 2.
65435
65436 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
65437
65438         New module 'time', so that apps can include <time.h> as per
65439         POSIX and GNU instead of separate include files like time_r.h
65440         and timegm.h.  This implementation tries out a simpler approach
65441         for replacing decls in standard include files (as compared to
65442         the string module), somewhat as an experiment.
65443
65444         * config/srclist.txt: Comment out mktime.c for now.
65445         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
65446         since it doesn't apply any more.  Use generic wording instead.
65447         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
65448         'time'.
65449         * lib/time_.h, m4/time_h.m4, modules/time: New files.
65450         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
65451         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
65452         Don't include <sys/types.h>; no longer needed since we assume C89.
65453         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
65454         * lib/strftime.c: Likewise.
65455         * lib/time_r.c: Likewise.
65456         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
65457         * lib/nanosleep.c: Include <time.h> first, to check interface.
65458         * lib/strptime.c: Likewise.
65459         * lib/time_r.c: Likewise.
65460         * lib/timegm.c: Likewise.
65461         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
65462         needed.
65463         * lib/timegm.c: Don't include timegm.h; no longer needed.
65464         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
65465         time.h now handles any problems in that area.
65466         (struct timespec, nanosleep): Remove; time.h now arranges for these.
65467         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
65468         that time.h defines struct timespec.
65469         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
65470         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
65471         handles that.
65472         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
65473         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
65474         needed.  Set REPLACE_LOCALTIME.
65475         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
65476         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
65477         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
65478         nanosleep; time_h.m4 now does that.  Don't require
65479         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
65480         module handles this now.
65481         * modules/getdate (Depends-on): Remove timespec.  Add time.
65482         * modules/nanosleep (Depends-on): Likewise.
65483         * modules/stat-time (Depends-on): Likewise.
65484         * modules/nanosleep (Include): Include time.h, not timespec.h.
65485         * modules/strptime (Files): Remove lib/strptime.h.
65486         (Depends-on): Add extensions, time.
65487         (Include): Include time.h, not strptime.h.
65488         * modules/time_r (Files): Remove lib/time_r.h.
65489         (Depends-on): Add time.
65490         (Include): Include time.h, not time_r.h.
65491         * modules/timegm: Likewise.
65492         * modules/timespec (Description): Now does timespec-related decls
65493         of our own, instead of struct timespec itself.
65494         (Depends-on): Add time; remove extensions.
65495         (Maintainer): Add self.
65496         * modules/utimecmp (Depends-on): Add time; remove timespec.
65497         * modules/utimens (Depends-on): Likewise.
65498         * modules/xnanosleep (Depends-on): Likewise.
65499
65500 2007-02-11  Bruno Haible  <bruno@clisp.org>
65501
65502         * lib/c-strstr.c: Include allocsa.h.
65503         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
65504         * lib/c-strcasestr.c: Include allocsa.h.
65505         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
65506         * lib/strcasestr.c: Include allocsa.h.
65507         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
65508         * lib/mbsstr.c: Include allocsa.h.
65509         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
65510         allocsa/freesa instead of malloc/free.
65511         * lib/mbscasestr.c: Include allocsa.h.
65512         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
65513         allocsa/freesa instead of malloc/free.
65514         * modules/c-strstr (Depends-on): Add allocsa.
65515         * modules/c-strcasestr (Depends-on): Likewise.
65516         * modules/strcasestr (Depends-on): Likewise.
65517         * modules/mbsstr (Depends-on): Likewise.
65518         * modules/mbscasestr (Depends-on): Likewise.
65519
65520 2007-02-11  Bruno Haible  <bruno@clisp.org>
65521
65522         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
65523
65524         * modules/mbsspn-tests: New file.
65525         * tests/test-mbsspn.sh: New file.
65526         * tests/test-mbsspn.c: New file.
65527
65528 2007-02-11  Bruno Haible  <bruno@clisp.org>
65529
65530         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
65531
65532         * modules/mbspbrk-tests: New file.
65533         * tests/test-mbspbrk.sh: New file.
65534         * tests/test-mbspbrk.c: New file.
65535
65536 2007-02-11  Bruno Haible  <bruno@clisp.org>
65537
65538         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
65539         unneeded cast.
65540
65541         * modules/mbscspn-tests: New file.
65542         * tests/test-mbscspn.sh: New file.
65543         * tests/test-mbscspn.c: New file.
65544
65545 2007-02-11  Bruno Haible  <bruno@clisp.org>
65546
65547         * modules/mbscasecmp-tests: New file.
65548         * tests/test-mbscasecmp.sh: New file.
65549         * tests/test-mbscasecmp.c: New file.
65550
65551 2007-02-11  Bruno Haible  <bruno@clisp.org>
65552
65553         Ensure O(n) worst-case complexity of mbscasestr.
65554         * lib/mbscasestr.c: Include stdbool.h.
65555         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
65556         functions.
65557         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
65558         the bookkeeping indicates that it's worth it.
65559         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
65560
65561         * modules/mbscasestr-tests: New file.
65562         * tests/test-mbscasestr1.c: New file.
65563         * tests/test-mbscasestr2.sh: New file.
65564         * tests/test-mbscasestr2.c: New file.
65565         * tests/test-mbscasestr3.sh: New file.
65566         * tests/test-mbscasestr3.c: New file.
65567         * tests/test-mbscasestr4.sh: New file.
65568         * tests/test-mbscasestr4.c: New file.
65569         * m4/locale-tr.m4: New file.
65570
65571 2007-02-11  Bruno Haible  <bruno@clisp.org>
65572
65573         Ensure O(n) worst-case complexity of mbsstr.
65574         * lib/mbsstr.c: Include stdbool.h.
65575         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
65576         functions.
65577         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
65578         bookkeeping indicates that it's worth it.
65579         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
65580
65581         * modules/mbsstr-tests: New file.
65582         * tests/test-mbsstr1.c: New file.
65583         * tests/test-mbsstr2.sh: New file.
65584         * tests/test-mbsstr2.c: New file.
65585         * tests/test-mbsstr3.sh: New file.
65586         * tests/test-mbsstr3.c: New file.
65587         * m4/locale-fr.m4: New file.
65588
65589 2007-02-11  Bruno Haible  <bruno@clisp.org>
65590
65591         * lib/mbsrchr.c (mbsrchr): Fix bug.
65592
65593         * modules/mbsrchr-tests: New file.
65594         * tests/test-mbsrchr.sh: New file.
65595         * tests/test-mbsrchr.c: New file.
65596
65597 2007-02-11  Bruno Haible  <bruno@clisp.org>
65598
65599         * lib/mbschr.c (mbschr): Fix bug.
65600
65601         * modules/mbschr-tests: New file.
65602         * tests/test-mbschr.sh: New file.
65603         * tests/test-mbschr.c: New file.
65604         * m4/locale-zh.m4: New file.
65605
65606 2007-02-11  Bruno Haible  <bruno@clisp.org>
65607
65608         Support for copying multibyte string iterators.
65609         * lib/mbiter.h: Include <string.h>.
65610         (mbiter_multi_copy): New function.
65611         (mbi_copy): New macro.
65612         * lib/mbuiter.h: Include <string.h>.
65613         (mbuiter_multi_copy): New function.
65614         (mbui_copy): New macro.
65615
65616 2007-02-11  Bruno Haible  <bruno@clisp.org>
65617
65618         New module mbslen.
65619         * modules/mbslen: New file.
65620         * lib/mbslen.c: New file.
65621         * lib/string_.h (mbslen): New declaration.
65622         * m4/mbslen.m4: New file.
65623         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65624         GNULIB_MBSLEN.
65625         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
65626         * MODULES.html.sh (Internationalization functions): Add mbslen.
65627
65628 2007-02-11  Bruno Haible  <bruno@clisp.org>
65629
65630         Ensure O(n) worst-case complexity of strcasestr substitute.
65631         * lib/strcasestr.c: Include stdbool.h.
65632         (knuth_morris_pratt): New function.
65633         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
65634         bookkeeping indicates that it's worth it.
65635         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
65636
65637         * modules/strcasestr-tests: New file.
65638         * tests/test-strcasestr.c: New file.
65639
65640 2007-02-11  Bruno Haible  <bruno@clisp.org>
65641
65642         Ensure O(n) worst-case complexity of c_strcasestr.
65643         * lib/c-strcasestr.c: Include stdbool.h, string.h.
65644         (knuth_morris_pratt): New function.
65645         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
65646         the bookkeeping indicates that it's worth it.
65647         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
65648
65649         * modules/c-strcasestr-tests: New file.
65650         * tests/test-c-strcasestr.c: New file.
65651
65652 2007-02-11  Bruno Haible  <bruno@clisp.org>
65653
65654         Ensure O(n) worst-case complexity of c_strstr.
65655         * lib/c-strstr.c: Include stdbool.h, string.h.
65656         (knuth_morris_pratt): New function.
65657         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
65658         bookkeeping indicates that it's worth it.
65659         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
65660
65661         * lib/c-strstr.c: Complete rewrite for maintainability.
65662
65663         * modules/c-strstr-tests: New file.
65664         * tests/test-c-strstr.c: New file.
65665
65666 2007-02-11  Bruno Haible  <bruno@clisp.org>
65667
65668         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
65669         5.2.1 and earlier, whereby \055 was treated just like the range
65670         delimiter '-'.
65671         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
65672
65673 2007-02-08  Bruno Haible  <bruno@clisp.org>
65674
65675         * modules/regex (Depends-on): Add stdbool.
65676         Reported by Dalibor Topic <robilad@kaffe.org>.
65677
65678 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
65679
65680         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
65681         Prefer returning from main to exiting from it.
65682         Remove unnecessary parens after sizeof.
65683
65684 2007-02-05  Bruno Haible  <bruno@clisp.org>
65685
65686         New module mbssep.
65687         * modules/mbssep: New file.
65688         * lib/mbssep.c: New file.
65689         * lib/string_.h (strsep): Add a conditional link warning.
65690         (mbssep): New declaration.
65691         * m4/mbssep.m4: New file.
65692         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65693         GNULIB_MBSSEP.
65694         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
65695         * MODULES.html.sh (Internationalization functions): Add mbssep.
65696
65697 2007-02-05  Bruno Haible  <bruno@clisp.org>
65698
65699         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
65700         Optimize search in case of 1 delimiter.
65701
65702 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
65703
65704         * lib/acl.h: Include sys/types.h before sys/acl.h.
65705
65706 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
65707
65708         Merge upstream fix for glibc bugzilla #3957:
65709
65710         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
65711
65712         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
65713         bit for RE_HAT_LISTS_NOT_NEWLINE.
65714         (build_charclass_op): Remove bogus comment.
65715
65716 2007-02-05  Simon Josefsson  <simon@josefsson.org>
65717
65718         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
65719
65720 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
65721
65722         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
65723         * lib/memmem.c [!defined _LIBC]: Include config.h.
65724
65725 2007-02-04  Bruno Haible  <bruno@clisp.org>
65726
65727         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
65728         warning message.
65729
65730 2007-02-04  Bruno Haible  <bruno@clisp.org>
65731
65732         New module mbstok_r.
65733         * modules/mbstok_r: New file.
65734         * lib/mbstok_r.c: New file.
65735         * lib/string_.h (strtok_r): Change argument names to match the
65736         comments. Add a conditional link warning.
65737         (mbstok_r): New declaration.
65738         * m4/mbstok_r.m4: New file.
65739         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65740         GNULIB_MBSTOK_R.
65741         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
65742         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
65743
65744 2007-02-04  Bruno Haible  <bruno@clisp.org>
65745
65746         New module mbsspn.
65747         * modules/mbsspn: New file.
65748         * lib/mbsspn.c: New file.
65749         * lib/string_.h (strspn): Add a conditional link warning.
65750         (mbsspn): New declaration.
65751         * m4/mbsspn.m4: New file.
65752         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65753         GNULIB_MBSSPN.
65754         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
65755         * MODULES.html.sh (Internationalization functions): Add mbsspn.
65756
65757 2007-02-04  Bruno Haible  <bruno@clisp.org>
65758
65759         New module mbspbrk.
65760         * modules/mbspbrk: New file.
65761         * lib/mbspbrk.c: New file.
65762         * lib/string_.h (strpbrk): Add a conditional link warning.
65763         (mbspbrk): New declaration.
65764         * m4/mbspbrk.m4: New file.
65765         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65766         GNULIB_MBSPBRK.
65767         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
65768         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
65769
65770 2007-02-04  Bruno Haible  <bruno@clisp.org>
65771
65772         New module mbscspn.
65773         * modules/mbscspn: New file.
65774         * lib/mbscspn.c: New file.
65775         * lib/string_.h (strcspn): Add a conditional link warning.
65776         (mbscspn): New declaration.
65777         * m4/mbscspn.m4: New file.
65778         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65779         GNULIB_MBSCSPN.
65780         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
65781         * MODULES.html.sh (Internationalization functions): Add mbscspn.
65782
65783 2007-02-04  Bruno Haible  <bruno@clisp.org>
65784
65785         New module mbscasestr, reduced goal of strcasestr.
65786         * modules/mbscasestr: New file.
65787         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
65788         (mbscasestr): Renamed from strcasestr.
65789         * lib/strcasestr.c: Don't include mbuiter.h.
65790         (strcasestr): Remove support for multibyte locales.
65791         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
65792         Change the conditional link warning.
65793         (mbscasestr): New declaration.
65794         * m4/mbscasestr.m4: New file.
65795         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
65796         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
65797         REPLACE_STRCASESTR.
65798         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
65799         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
65800         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
65801         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
65802         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
65803         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
65804         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
65805         (Depends-on): Remove mbuiter.
65806         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
65807
65808 2007-02-04  Bruno Haible  <bruno@clisp.org>
65809
65810         Simplify handling of strncasecmp.
65811         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
65812         the conditional link warning.
65813         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
65814         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
65815         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
65816         * modules/strcase (configure.ac): Don't invoke
65817         gl_STRING_MODULE_INDICATOR.
65818         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
65819
65820 2007-02-04  Bruno Haible  <bruno@clisp.org>
65821
65822         New module mbscasecmp, reduced goal of strcasecmp.
65823         * modules/mbscasecmp: New file.
65824         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
65825         (mbscasecmp): Renamed from strcasecmp.
65826         * lib/strcasecmp.c: Don't include mbuiter.h.
65827         (strcasecmp): Remove support for multibyte locales.
65828         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
65829         Change the conditional link warning.
65830         (mbscasecmp): New declaration.
65831         * m4/mbscasecmp.m4: New file.
65832         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
65833         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
65834         REPLACE_STRCASECMP.
65835         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
65836         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65837         GNULIB_MBSCASECMP.
65838         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
65839         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
65840         * modules/strcase (Files): Remove m4/mbrtowc.m4.
65841         (Depends-on): Remove mbuiter.
65842         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
65843
65844 2007-02-04  Bruno Haible  <bruno@clisp.org>
65845
65846         New module mbsstr. Remove module strstr.
65847         * modules/mbsstr: New file.
65848         * modules/strstr: Remove file.
65849         * lib/mbsstr.c: Renamed from lib/strstr.c.
65850         (mbsstr): Renamed from strstr.
65851         * lib/string_.h (strstr): Remove declaration. Change the conditional
65852         link warning.
65853         (mbsstr): New declaration.
65854         * m4/mbsstr.m4: New file.
65855         * m4/strstr.m4: Remove file.
65856         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
65857         REPLACE_STRSTR.
65858         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
65859         Don't initialize GNULIB_STRSTR.
65860         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
65861         substitute GNULIB_STRSTR and REPLACE_STRSTR.
65862         * MODULES.html.sh (Internationalization functions): Add mbsstr.
65863         (Support for systems lacking ANSI C 89): Remove strstr.
65864
65865 2007-02-04  Bruno Haible  <bruno@clisp.org>
65866
65867         New module mbsrchr.
65868         * modules/mbsrchr: New file.
65869         * lib/mbsrchr.c: New file.
65870         * lib/string_.h (strrchr): Add a conditional link warning.
65871         (mbsrchr): New declaration.
65872         * m4/mbsrchr.m4: New file.
65873         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65874         GNULIB_MBSRCHR.
65875         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
65876         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
65877
65878 2007-02-04  Bruno Haible  <bruno@clisp.org>
65879
65880         New module mbschr.
65881         * modules/mbschr: New file.
65882         * lib/mbschr.c: New file.
65883         * lib/string_.h (strchr): Add a conditional link warning.
65884         (mbschr): New declaration.
65885         * m4/mbschr.m4: New file.
65886         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65887         GNULIB_MBSCHR.
65888         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
65889         * MODULES.html.sh (Internationalization functions): Add mbschr.
65890
65891 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
65892
65893         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
65894
65895         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
65896
65897 2007-02-04  Bruno Haible  <bruno@clisp.org>
65898
65899         New module description section 'configure.ac-early'.
65900         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
65901         (func_get_autoconf_early_snippet): New function.
65902         (func_import, func_create_testdir): Use it. Remove special cases for
65903         modules 'extensions' and 'lock'.
65904         * modules/extensions (configure.ac-early): Require
65905         gl_USE_SYSTEM_EXTENSIONS.
65906         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
65907
65908 2007-02-04  Bruno Haible  <bruno@clisp.org>
65909
65910         Make use of gcj-4.3's -fsource and -ftarget option.
65911         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
65912         and if so try the options -fsource and -ftarget.
65913         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
65914         source_version, ftarget_option, target_version arguments.
65915         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
65916         (is_envjavac_oldgcj_14_14_usable): Renamed from
65917         is_envjavac_gcj_14_14_usable.
65918         (is_envjavac_oldgcj_14_13_usable): Renamed from
65919         is_envjavac_gcj_14_13_usable.
65920         (is_gcj_present): Update.
65921         (is_gcj_43, is_gcj43_usable): New functions.
65922         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
65923         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
65924         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
65925         try the options -fsource and -ftarget.
65926
65927 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
65928
65929         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
65930         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
65931         larger value.
65932
65933 2007-02-03  Jim Meyering  <jim@meyering.net>
65934
65935         Give tools a better chance to allocate space for very large buffers.
65936         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
65937
65938         Make pwd and readlink work also when run with an unreadable parent dir
65939         on systems with openat support.
65940         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
65941         provided getcwd function, even when we have openat support.
65942         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
65943
65944 2007-02-02  Bruno Haible  <bruno@clisp.org>
65945
65946         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
65947         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
65948         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
65949         portability problems if one of these functions is only used on specific
65950         platforms.
65951         Reported by Paul Eggert.
65952
65953 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
65954
65955         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
65956         is causing more trouble than it's curing.
65957         * lib/regex_internal.h (__mempcpy): Remove.
65958         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
65959         (and make the code a tad smaller to boot).
65960         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
65961
65962 2007-02-02  Jim Meyering  <jim@meyering.net>
65963
65964         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
65965         section, not in the Makefile.am: one.
65966
65967 2007-02-02  Eric Blake  <ebb9@byu.net>
65968
65969         * lib/strchrnul.c: Always include config.h first.
65970
65971         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
65972         gnulib strstr is not necessary here.
65973
65974 2007-02-02  Simon Josefsson  <simon@josefsson.org>
65975
65976         * m4/socklen.m4: Fix typo.
65977
65978 2007-02-02  Eric Blake  <ebb9@byu.net>
65979
65980         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
65981         * modules/netinet_in (Makefile.am): Likewise.
65982
65983 2007-02-01  Bruno Haible  <bruno@clisp.org>
65984
65985         * lib/string_.h (GL_LINK_WARNING): New macro.
65986         (strcasecmp, strstr, strcasestr): If provided by the system,
65987         conditionally define as a macro that leads to a warning instead of to
65988         an error.
65989         (strncasecmp): Conditionally define as a macro that leads to a warning.
65990
65991 2007-02-01  Karl Berry  <karl@gnu.org>
65992
65993         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
65994
65995 2007-02-01  Bruno Haible  <bruno@clisp.org>
65996
65997         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
65998         renamings.
65999
66000 2007-02-01  Eric Blake  <ebb9@byu.net>
66001
66002         * modules/regex (Depends-on): Revert dependence on mempcpy.
66003         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
66004         module's definition of mempcpy.
66005         Reported by Paul Eggert.
66006
66007 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
66008
66009         * lib/string_.h: If the gnulib module XYZ is not present, undefine
66010         the symbol XYZ before redefining it.  This fixes a problem with
66011         programs that don't use XYZ, when compiled on systems that define
66012         XYZ to something else.
66013
66014 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
66015
66016         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
66017         occurs when "mkdir -m foo" creates a setgid directory that is (1)
66018         writeable to group or other and (2) is intended to have a special
66019         mode bit that is set or cleared.  In such a case, the directory
66020         should be neither group- nor other-writeable until the special
66021         mode bits are right.
66022
66023 2007-01-31  Eric Blake  <ebb9@byu.net>
66024
66025         * modules/mountlist (Depends-on): Add strstr.
66026
66027         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
66028         bug.
66029         * modules/string (Makefile.am): Remove redundant replacement.
66030         * modules/regex (Depends-on): Add mempcpy.
66031
66032 2007-01-31  Bruno Haible  <bruno@clisp.org>
66033
66034         New module description field 'Link'.
66035         * gnulib-tool (func_usage): Document --extract-link-directive.
66036         (sed_extract_prog): Recognize 'Link' directive.
66037         (func_get_link_directive): New function.
66038         (func_import): Show summary of link directives.
66039         Handle --extract-link-directive option.
66040         * modules/acl (Link): New section.
66041         * modules/clock-time (Link): New section.
66042         * modules/euidaccess (Link): New section.
66043         * modules/gettext (Link): New section.
66044         * modules/iconv (Link): New section.
66045         * modules/lock (Link): New section.
66046         * modules/nanosleep (Link): New section.
66047         * modules/readline (Link): New section.
66048
66049 2007-01-27  Bruno Haible  <bruno@clisp.org>
66050
66051         Enforce the use of gnulib modules for unportable <string.h> functions.
66052         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
66053         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
66054         (gl_HEADER_STRING_H_BODY): Require it.
66055         * lib/string_.h: If the gnulib module XYZ is not present, redefine
66056         the symbol XYZ to one that gives a link error.
66057         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
66058         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
66059         * modules/mempcpy (configure.ac): Likewise.
66060         * modules/memrchr (configure.ac): Likewise.
66061         * modules/stpcpy (configure.ac): Likewise.
66062         * modules/stpncpy (configure.ac): Likewise.
66063         * modules/strcase (configure.ac): Likewise.
66064         * modules/strcasestr (configure.ac): Likewise.
66065         * modules/strchrnul (configure.ac): Likewise.
66066         * modules/strdup (configure.ac): Likewise.
66067         * modules/strndup (configure.ac): Likewise.
66068         * modules/strnlen (configure.ac): Likewise.
66069         * modules/strpbrk (configure.ac): Likewise.
66070         * modules/strsep (configure.ac): Likewise.
66071         * modules/strstr (configure.ac): Likewise.
66072         * modules/strtok_r (configure.ac): Likewise.
66073
66074 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
66075
66076         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
66077
66078 2007-01-30  Jim Meyering  <jim@meyering.net>
66079
66080         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
66081
66082 2007-01-29  Bruno Haible  <bruno@clisp.org>
66083
66084         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
66085         * lib/execute.c: Likewise.
66086         * lib/pipe.c: Likewise.
66087         * lib/printf-args.h: Likewise.
66088         * lib/printf-args.c: Likewise.
66089         * lib/printf-parse.c: Likewise.
66090         * lib/vasnprintf.c: Likewise.
66091
66092 2007-01-29  Eric Blake  <ebb9@byu.net>
66093
66094         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
66095         declaration.
66096
66097 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
66098
66099         * lib/strptime.h (strptime): Use 'restrict' for args where
66100         POSIX requires this.
66101         * lib/strptime.c (strptime): Likewise.
66102         Change license notice from LGPL to GPL, since gnulib-tool will
66103         change this as needed.
66104         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
66105         defined.
66106         Include "strptime.h" first, to check interface.
66107         Do not #undef _LIBC and _NL_CURRENT.
66108         Do not include <stdlib.h>; no longer needed.
66109         Include "time_r.h" and declare ptime_locale_status
66110         only if _LIBC is not defined.
66111         (__P): Remove unused macro.
66112         (match_string): Bring back glibc version, but use it only if _LIBC
66113         is defined.
66114         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
66115         Remove unnecessary assertion and abort() call.
66116         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
66117         * m4/strptime.m4: Fix serial number comment.
66118         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
66119         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
66120         (Depends-on): Add time_r.
66121
66122 2007-01-29  Bruno Haible  <bruno@clisp.org>
66123
66124         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66125         strptime.
66126         * modules/strptime (Depends-on): Add stdbool.
66127         * lib/strptime.h: Include <time.h> always. Add comments.
66128
66129 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
66130
66131         * modules/strptime: New file.
66132         * lib/strptime.h: New file.
66133         * lib/strptime.c: New file.
66134         * m4/strptime.m4: New file.
66135
66136 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
66137
66138         * MODULES.html.sh: New module mpsort.
66139         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
66140
66141         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
66142         a circularity problem with HP-UX ia64 reported by Bob Proulx in
66143         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
66144         All uses changed.
66145         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
66146         All uses changed.
66147         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
66148         to _Restrict_.
66149         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
66150         the parameter matches the prototype.
66151
66152 2007-01-28  Jim Meyering  <jim@meyering.net>
66153
66154         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
66155         sys/time.h here, reverting that part of the previous patch:
66156         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
66157
66158 2007-01-28  Bruno Haible  <bruno@clisp.org>
66159
66160         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
66161         value of $(SYS_TIME_H).
66162         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
66163         remove it conditionally, too. [added by Jim Meyering]
66164         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
66165         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
66166         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
66167         GETTIMEOFDAY_REPLACEMENT to 1.
66168
66169 2007-01-28  Bruno Haible  <bruno@clisp.org>
66170
66171         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
66172         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
66173         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
66174         Set UNISTD_H instead of UNISTD_H2.
66175         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
66176
66177 2007-01-28  Bruno Haible  <bruno@clisp.org>
66178
66179         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
66180         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
66181
66182 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66183
66184         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
66185         (func_create_testdir): Ensure C locale for `grep' and `tr'
66186         character ranges.
66187         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
66188         ACLOCAL_AMFLAGS parsing state machine.
66189
66190 2007-01-27  Bruno Haible  <bruno@clisp.org>
66191
66192         * modules/unistr/base: Update.
66193
66194 2007-01-27  Bruno Haible  <bruno@clisp.org>
66195
66196         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
66197         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
66198         * modules/unistr/u32-mbtouc-unsafe: Renamed from
66199         modules/unistr/u32-mbtouc.
66200         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
66201         * lib/unistr.h: Update.
66202         * lib/linebreak.c: Update.
66203         * modules/unistr/u32-mbtouc: Renamed from
66204         modules/unistr/u32-mbtouc-safe.
66205         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
66206         * lib/unistr.h: Update.
66207         * lib/unistr/u32-to-u8.c: Update.
66208         * lib/unistr/u32-to-u16.c: Update.
66209
66210 2007-01-27  Bruno Haible  <bruno@clisp.org>
66211
66212         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
66213         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
66214         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
66215         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
66216         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
66217         * modules/unistr/u16-mbtouc-unsafe: Renamed from
66218         modules/unistr/u16-mbtouc.
66219         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
66220         * lib/unistr.h: Update.
66221         * lib/linebreak.c: Update.
66222         * modules/linebreak: Update.
66223         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
66224         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
66225         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
66226         * modules/unistr/u16-mbtouc: Renamed from
66227         modules/unistr/u16-mbtouc-safe.
66228         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
66229         * lib/unistr.h: Update.
66230         * lib/unistr/u16-to-u8.c: Update.
66231         * modules/unistr/u16-to-u8: Update.
66232         * lib/unistr/u16-to-u32.c: Update.
66233         * modules/unistr/u16-to-u32: Update.
66234
66235 2007-01-27  Bruno Haible  <bruno@clisp.org>
66236
66237         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
66238         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
66239         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
66240         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
66241         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
66242         * modules/unistr/u8-mbtouc-unsafe: Renamed from
66243         modules/unistr/u8-mbtouc.
66244         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
66245         * lib/unistr.h: Update.
66246         * lib/striconveh.c: Update.
66247         * modules/striconveh: Update.
66248         * lib/linebreak.c: Update.
66249         * modules/linebreak: Update.
66250         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
66251         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
66252         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
66253         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
66254         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
66255         * lib/unistr.h: Update.
66256         * lib/striconveh.c: Update.
66257         * modules/striconveh: Update.
66258         * lib/unistr/u8-to-u16.c: Update.
66259         * modules/unistr/u8-to-u16: Update.
66260         * lib/unistr/u8-to-u32.c: Update.
66261         * modules/unistr/u8-to-u32: Update.
66262
66263 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66264
66265         Sync from Libtool.
66266         * lib/argz.c: Do not include strings.h nor memory.h, include
66267         string.h unconditionally.  Patch by Simon Josefsson.
66268
66269 2007-01-27  Bruno Haible  <bruno@clisp.org>
66270
66271         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
66272         from gl_HEADER_STRING_H_BODY.
66273         (gl_HEADER_STRING_H_BODY): Require it.
66274         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
66275         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
66276         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
66277         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
66278         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66279         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
66280         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
66281         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
66282         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
66283         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
66284         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
66285         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
66286         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
66287         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
66288         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
66289
66290 2007-01-27  Bruno Haible  <bruno@clisp.org>
66291
66292         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
66293         check_PROGRAMS into noinst_PROGRAMS.
66294         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
66295         check_PROGRAMS in this case.
66296         (func_import): Set for_test to false.
66297         (func_create_testdir): Set for_test to true.
66298
66299 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
66300             Bruno Haible  <bruno@clisp.org>
66301
66302         * modules/strcasestr (Files): Remove lib/strcasestr.h.
66303         (Depends-on): Add string.
66304         (Includes): Use <string.h> instead of strcasestr.h.
66305         * modules/string (Makefile.am): Also substitute the value of
66306         REPLACE_STRCASESTR.
66307         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
66308         assume strcasestr is declared in <string.h> not <strings.h>. Also
66309         set REPLACE_STRCASESTR.
66310         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
66311         REPLACE_STRCASESTR.
66312         * lib/strcasestr.h: Remove file.
66313         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
66314         * lib/string_.h (strcasestr): New declaration.
66315
66316 2007-01-27  Bruno Haible  <bruno@clisp.org>
66317
66318         * lib/string_.h: Use 'extern'.
66319
66320 2007-01-27  Jim Meyering  <jim@meyering.net>
66321
66322         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
66323         of set-but-not-used local, "q".
66324
66325         * lib/mempcpy.c: Include <config.h> before <string.h>.
66326         This fixes a compilation error on HP-UX, due to the system's
66327         "restrict"-using mempcpy prototype.
66328
66329 2007-01-26  Bruno Haible  <bruno@clisp.org>
66330
66331         Small optimization.
66332         * lib/javacomp.c: Include c-strstr.h.
66333          (is_envjavac_gcj): Use c_strstr instead of strstr.
66334         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
66335
66336 2007-01-26  Bruno Haible  <bruno@clisp.org>
66337
66338         * MODULES.html.sh (Unicode string functions): Add the new modules.
66339
66340         * modules/uniconv/u32-strconv-to-locale: New file.
66341         * lib/uniconv/u32-strconv-to-locale.c: New file.
66342
66343         * modules/uniconv/u16-strconv-to-locale: New file.
66344         * lib/uniconv/u16-strconv-to-locale.c: New file.
66345
66346         * modules/uniconv/u8-strconv-to-locale: New file.
66347         * lib/uniconv/u8-strconv-to-locale.c: New file.
66348
66349         * modules/uniconv/u32-strconv-from-locale: New file.
66350         * lib/uniconv/u32-strconv-from-locale.c: New file.
66351
66352         * modules/uniconv/u16-strconv-from-locale: New file.
66353         * lib/uniconv/u16-strconv-from-locale.c: New file.
66354
66355         * modules/uniconv/u8-strconv-from-locale: New file.
66356         * lib/uniconv/u8-strconv-from-locale.c: New file.
66357
66358         * modules/uniconv/u32-strconv-to-enc: New file.
66359         * lib/uniconv/u32-strconv-to-enc.c: New file.
66360         * modules/uniconv/u32-strconv-to-enc-tests: New file.
66361         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
66362
66363         * modules/uniconv/u16-strconv-to-enc: New file.
66364         * lib/uniconv/u16-strconv-to-enc.c: New file.
66365         * lib/uniconv/u-strconv-to-enc.h: New file.
66366         * modules/uniconv/u16-strconv-to-enc-tests: New file.
66367         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
66368
66369         * modules/uniconv/u8-strconv-to-enc: New file.
66370         * lib/uniconv/u8-strconv-to-enc.c: New file.
66371         * modules/uniconv/u8-strconv-to-enc-tests: New file.
66372         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
66373
66374         * modules/uniconv/u32-strconv-from-enc: New file.
66375         * lib/uniconv/u32-strconv-from-enc.c: New file.
66376         * modules/uniconv/u32-strconv-from-enc-tests: New file.
66377         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
66378
66379         * modules/uniconv/u16-strconv-from-enc: New file.
66380         * lib/uniconv/u16-strconv-from-enc.c: New file.
66381         * modules/uniconv/u16-strconv-from-enc-tests: New file.
66382         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
66383
66384         * modules/uniconv/u8-strconv-from-enc: New file.
66385         * lib/uniconv/u8-strconv-from-enc.c: New file.
66386         * lib/uniconv/u-strconv-from-enc.h: New file.
66387         * modules/uniconv/u8-strconv-from-enc-tests: New file.
66388         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
66389
66390         * modules/uniconv/u32-conv-from-enc: New file.
66391         * lib/uniconv/u32-conv-from-enc.c: New file.
66392         * modules/uniconv/u32-conv-from-enc-tests: New file.
66393         * tests/uniconv/test-u32-conv-from-enc.c: New file.
66394
66395         * modules/uniconv/u16-conv-from-enc: New file.
66396         * lib/uniconv/u16-conv-from-enc.c: New file.
66397         * lib/uniconv/u-conv-from-enc.h: New file.
66398         * modules/uniconv/u16-conv-from-enc-tests: New file.
66399         * tests/uniconv/test-u16-conv-from-enc.c: New file.
66400
66401         * modules/uniconv/u8-conv-from-enc: New file.
66402         * lib/uniconv/u8-conv-from-enc.c: New file.
66403         * modules/uniconv/u8-conv-from-enc-tests: New file.
66404         * tests/uniconv/test-u8-conv-from-enc.c: New file.
66405
66406         * modules/uniconv/base: New file.
66407         * lib/uniconv.h: New file.
66408
66409 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
66410
66411         * doc/gnulib-tool.texi (Initial import): Update to match current
66412         behavior with strdup module.
66413         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
66414         * lib/memmem.h: Remove; all uses removed.  This is now done
66415         by <string.h>.
66416         * lib/mempcpy.h: Likewise.
66417         * lib/memrchr.h: Likewise.
66418         * lib/stpcpy.h: Likewise.
66419         * lib/stpncpy.h: Likewise.
66420         * lib/strcase.h: Likewise.
66421         * lib/strchrnul.h: Likewise.
66422         * lib/strdup.h: Likewise.
66423         * lib/strndup.h: Likewise.
66424         * lib/strnlen.h: Likewise.
66425         * lib/strpbrk.h: Likewise.
66426         * lib/strsep.h: Likewise.
66427         * lib/strstr.h: Likewise.
66428         * lib/strtok_r.h: Likewise.
66429         * lib/string_.h: New file.
66430         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
66431         Rely on <string.h> instead.
66432         * lib/canon-host.c: Likewise.
66433         * lib/chdir-long.c: Likewise.
66434         * lib/concatpath.c: Likewise.
66435         * lib/exclude.c: Likewise.
66436         * lib/fchdir.c: Likewise.
66437         * lib/getaddrinfo.c: Likewise.
66438         * lib/getcwd.c: Likewise.
66439         * lib/getsubopt.c: Likewise.
66440         * lib/glob.c: Likewise.
66441         * lib/hard-locale.c: Likewise.
66442         * lib/iconvme.c: Likewise.
66443         * lib/javacomp.c: Likewise.
66444         * lib/mempcpy.c: Likewise.
66445         * lib/memrchr.c: Likewise.
66446         * lib/regex_internal.h: Likewise.
66447         * lib/stpncpy.c: Likewise.
66448         * lib/strcasecmp.c: Likewise.
66449         * lib/strchrnul.c: Likewise.
66450         * lib/strdup.c: Likewise.
66451         * lib/striconv.c: Likewise.
66452         * lib/striconveh.c: Likewise.
66453         * lib/striconveha.c: Likewise.
66454         * lib/strncasecmp.c: Likewise.
66455         * lib/strndup.c: Likewise.
66456         * lib/strnlen.c: Likewise.
66457         * lib/strsep.c: Likewise.
66458         * lib/strstr.c: Likewise.
66459         * lib/strtok_r.c: Likewise.
66460         * lib/userspec.c: Likewise.
66461         * lib/w32spawn.h: Likewise.
66462         * lib/xstrndup.c: Likewise.
66463         * lib/mountlist.c (strstr): Remove decl.
66464         * m4/string_h.m4: New file.
66465         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
66466         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
66467         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
66468         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
66469         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
66470         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
66471         Set REPLACE_STRCASECMP if necessary.
66472         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
66473         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
66474         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
66475         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
66476         HAVE_DECL_STRDUP if necessary.
66477         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
66478         since gl_FUNC_STRNDUP does that now.
66479         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
66480         Check for decl here...
66481         (gl_PREREQ_STRNLEN): ... not here.
66482         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
66483         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
66484         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
66485         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
66486         necessary.
66487         * modules/string: New file.
66488         * modules/memmem (Files): Remove special-purpose include file.
66489         (Depends-on): Add string.
66490         (Include): Include <string.h>, not the removed file.
66491         * modules/mempcpy: Likewise.
66492         * modules/memrchr: Likewise.
66493         * modules/stpcpy: Likewise.
66494         * modules/stpncpy: Likewise.
66495         * modules/strcase: Likewise.
66496         * modules/strchrnul: Likewise.
66497         * modules/strdup: Likewise.
66498         * modules/strndup: Likewise.
66499         * modules/strnlen: Likewise.
66500         * modules/strpbrk: Likewise.
66501         * modules/strsep: Likewise.
66502         * modules/strstr: Likewise.
66503         * modules/strtok_r: Likewise.
66504         * tests/test-dirname.c: Don't include "strdup.h", since
66505         <string.h> now suffices.
66506         * tests/test-memmem.c: Don't include "memmem.h", since
66507         <string.h> now suffices.
66508
66509 2007-01-25  Bruno Haible  <bruno@clisp.org>
66510
66511         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
66512         *resultp is 0.
66513
66514         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
66515         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
66516         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
66517         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
66518
66519         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
66520         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
66521         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
66522         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
66523         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
66524         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
66525
66526 2007-01-24  Bruno Haible  <bruno@clisp.org>
66527
66528         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
66529         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
66530         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
66531         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
66532         gl_FUNC_FTS_CORE.
66533         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
66534         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
66535         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
66536         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
66537         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
66538         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
66539         gl_FUNC_FCHOWNAT.
66540         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
66541         gl_FUNC_STRFTIME.
66542         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
66543         Reported by Ralf Wildenhues.
66544
66545 2007-01-24  Bruno Haible  <bruno@clisp.org>
66546
66547         Drop AC_REQUIRE calls that are redundant with the module dependencies.
66548         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
66549         gl_GETADDRINFO.
66550         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
66551         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
66552         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
66553
66554 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
66555
66556         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
66557         Don't use 'exit'; just return from 'main'.
66558         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
66559
66560         * lib/fnmatch_.h: Readjust white space and comments to match
66561         glibc, to avoid spurious diffs.
66562
66563 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66564
66565         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
66566         2004-12-01 change by Jakub Jelinek, since this code won't compile
66567         if !LIBC.  Problem reported by Bob Proulx.
66568
66569 2007-01-23  Bruno Haible  <bruno@clisp.org>
66570
66571         * lib/striconveh.c: Include c-strcaseeq.h.
66572         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
66573         * modules/striconveh (Depends-on): Add c-strcaseeq.
66574
66575 2007-01-23  Bruno Haible  <bruno@clisp.org>
66576
66577         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
66578
66579         * modules/c-strcaseeq: New file.
66580         * lib/c-strcaseeq.h: New file.
66581
66582         * modules/streq: New file.
66583         * lib/streq.h: New file.
66584
66585 2007-01-23  Bruno Haible  <bruno@clisp.org>
66586
66587         * modules/striconveha-tests: New file.
66588         * tests/test-striconveha.c: New file.
66589
66590         * lib/striconveha.h: Include <stdbool.h>.
66591         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
66592         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
66593         (mem_iconveha_notranslit): Renamed from mem_iconveha.
66594         (mem_iconveha): New function.
66595         (str_iconveha_notranslit): Renamed from str_iconveha.
66596         (str_iconveha): New function.
66597         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
66598         c-strcase.
66599
66600 2007-01-23  Bruno Haible  <bruno@clisp.org>
66601
66602         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
66603         encodings without forgiving before trying any encoding with handler.
66604         (str_iconveha): Try all encodings without forgiving before trying any
66605         encoding with handler.
66606
66607 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66608
66609         Import the following changes from libc.
66610
66611         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
66612
66613         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
66614
66615         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
66616
66617         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
66618         normal_bracket label.
66619
66620         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
66621
66622         [BZ #361]
66623         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
66624         to normal_bracket after fetching the next character.
66625
66626 2007-01-22  Bruno Haible  <bruno@clisp.org>
66627
66628         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
66629         argument.
66630         * lib/striconveh.c (iconv_carefully_1): New function.
66631         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
66632         argument.
66633         (str_cd_iconveh): Update.
66634         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
66635         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
66636         * tests/test-striconveh.c (MAGIC): New macro.
66637         (new_offsets): New function.
66638         (main): Test call with and without offsets.
66639
66640 2007-01-22  Bruno Haible  <bruno@clisp.org>
66641
66642         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
66643         * modules/sys_select (Makefile.am): Likewise.
66644         * modules/sys_socket (Makefile.am): Likewise.
66645         * modules/sys_time (Makefile.am): Likewise.
66646
66647 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
66648
66649         * modules/gettimeofday (License): Change from GPL to LGPL, since
66650         gettimeofday is a library function.
66651
66652 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66653
66654         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
66655
66656 2007-01-21  Bruno Haible  <bruno@clisp.org>
66657
66658         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
66659
66660 2007-01-21  Bruno Haible  <bruno@clisp.org>
66661
66662         * modules/striconveha: New file.
66663         * lib/striconveha.h: New file.
66664         * lib/striconveha.c: New file.
66665         * MODULES.html.sh (Internationalization functions): Add striconveha.
66666         * lib/striconv.c (str_iconv): Optimize the case of an empty input
66667         string.
66668         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
66669
66670 2007-01-21  Bruno Haible  <bruno@clisp.org>
66671
66672         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
66673         * lib/striconveh.c (str_iconveh): Likewise.
66674
66675 2007-01-21  Bruno Haible  <bruno@clisp.org>
66676
66677         * lib/striconveh.h (mem_iconveh): New declaration.
66678         * lib/striconveh.c (mem_iconveh): New function.
66679         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
66680
66681 2007-01-21  Bruno Haible  <bruno@clisp.org>
66682
66683         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
66684
66685         * lib/striconveh.h (mem_cd_iconveh): Change specification.
66686         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
66687         original result buffer.
66688         (str_cd_iconveh): Update.
66689         * tests/test-striconveh.c (main): Update.
66690
66691         * lib/striconv.h (mem_cd_iconv): Change specification.
66692         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
66693         result buffer.
66694         (str_cd_iconv): Update.
66695         * tests/test-striconv.c (main): Update.
66696
66697 2007-01-21  Bruno Haible  <bruno@clisp.org>
66698
66699         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
66700
66701 2007-01-20  Jim Meyering  <jim@meyering.net>
66702
66703         * lib/userspec.c (parse_with_separator): If a user or group string
66704         starts with "+", skip the corresponding name-to-ID look-up, since
66705         such a look-up must fail: user and group names may not include "+".
66706
66707 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
66708
66709         * lib/poll.c: Include sys/time.h and time.h unconditionally,
66710         since we now assume the sys_time module.
66711         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
66712         check for sys/time.h; no longer needed.
66713         * modules/poll (Depends-on): Depend on sys_time.
66714
66715 2007-01-18  Bruno Haible  <bruno@clisp.org>
66716
66717         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
66718         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
66719
66720         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
66721         gettimeofday.
66722
66723         * tests/test-gettimeofday.c: Include <time.h>.
66724         (dummy): Remove variable.
66725
66726         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
66727         gl_HEADER_SYS_TIME_H.
66728         (gl_HEADER_SYS_TIME_H): New macro.
66729
66730         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
66731         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66732         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
66733         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
66734         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66735         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
66736         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
66737         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66738         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
66739         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
66740         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66741
66742         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
66743         last change; it caused a compilation error when cross-compiling to
66744         Cygwin.
66745
66746 2007-01-18  Jim Meyering  <jim@meyering.net>
66747
66748         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
66749         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
66750         than the race-prone "test -d sys || mkdir sys".
66751         (configure.ac): Use AC_PROG_MKDIR_P.
66752         * modules/sys_select: Likewise.
66753         * modules/sys_socket: Likewise.
66754         * modules/sys_time: Likewise.
66755
66756 2007-01-18  Eric Blake  <ebb9@byu.net>
66757
66758         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
66759         replace gettimeofday.
66760         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
66761         name, to avoid infinite recursion.
66762
66763 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
66764
66765         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
66766         module sys_time.
66767         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
66768         assume timespec.h defines struct timeval.
66769         * lib/settime.c: Likewise.
66770         * lib/utimens.c: Likewise.
66771         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
66772         since we now assume the gettimeofday module.
66773         * lib/tempname.c (__gen_tempname): Likewise.
66774         * lib/gettimeofday.h: Remove.
66775         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
66776         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
66777         Include <time.h>, for 'time()'.
66778         (localtime_buffer_addr): Also use this workaround if
66779         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
66780         to simplify the uses.  All uses changed.
66781         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
66782         that #undef is inside {}, and 'const' follows type name consistently.
66783         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
66784         (gettimeofday): Do not use the maximum possible value for
66785         tv->tv_usec, since that might break usages other than ls.c.
66786         Instead, we'll leave ls.c alone.  This undoes today's patch
66787         by Bruno.  Add a compile-time warning for 1s-clock resolution;
66788         we've never observed the problem but might as well keep the
66789         canary.
66790         * lib/nanosleep.c: Include timespec.h first, for interface check.
66791         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
66792         now assume the sys_time module.
66793         * lib/tempname.c: Likewise.
66794         * lib/timespec.h: Likewise.
66795         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
66796         needed.
66797         * lib/strftime.c: Likewise.
66798         * lib/timespec.h: Likewise.
66799         * lib/posixtm.c: Include posixtm.h first, for interface check.
66800         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
66801         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
66802         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
66803         * lib/sys_time_.h: New file.
66804         * lib/timespec.h (struct timespec): Use long int, not long.
66805         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
66806         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
66807         Remove obsolescent call to AC_HEADER_TIME.
66808         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
66809         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
66810         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
66811         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
66812         Likewise.
66813         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
66814         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
66815         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
66816         into the sys_time module.  Check for gettimeofday just once.
66817         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
66818         for gettimeofday signature to just check the signature.  Merely
66819         compile it, since linking doesn't test signature.  Improve test for
66820         whether gettimeofday.o is actually needed.
66821         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
66822         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
66823         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
66824         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66825         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
66826         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
66827         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
66828         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
66829         than worrying about sys/time.h.
66830         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
66831         Don't bother worrying about TIME_WITH_SYS_TIME.
66832         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
66833         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
66834         * m4/sys_time_h.m4: New file.
66835         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
66836         Don't include sys/time.h.  Return from main rather than exiting.
66837         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
66838         all uses changed.
66839         * modules/gethrxtime (Depends-on): Add sys_time.
66840         * modules/gettime (Depends-on): Likewise.
66841         * modules/gettimeofday (Depends-on): Likewise.
66842         * modules/nanosleep (Depends-on): Likewise.
66843         * modules/settime (Depends-on): Likewise.
66844         * modules/tempname (Depends-on): Likewise.
66845         * modules/utimens (Depends-on): Likewise.
66846         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
66847         (Include): Change back to <sys/time.h>.
66848         (Maintainer): Add self.
66849         * modules/sys_time: New file.
66850         * modules/tempname (Depends-on): Add gettimeofday.
66851         * tests/test-gettimeofday.c: Include <sys/time.h>
66852         rather than gettimeofday.h.
66853
66854 2007-01-17  Bruno Haible  <bruno@clisp.org>
66855
66856         * gnulib-tool (func_get_license): Revert last patch. Instead, let
66857         the license default to GPL.
66858         (func_create_testdir): Don't complain if a module is LGPL and its
66859         tests module depends on GPLed modules.
66860
66861 2007-01-17  Bruno Haible  <bruno@clisp.org>
66862
66863         * lib/gettimeofday.c (gettimeofday): Add code for the case
66864         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
66865         maximum possible value for tv->tv_usec, rather than the minimum one.
66866
66867 2005-10-08  Martin Lambers  <marlam@marlam.de>
66868 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
66869 2007-01-16  Bruno Haible  <bruno@clisp.org>
66870
66871         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
66872         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
66873         gl_FUNC_GETTIMEOFDAY.
66874         (Include): Add gettimeofday.h.
66875         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
66876         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
66877         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
66878         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
66879         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
66880         * lib/gettimeofday.h: New file.
66881         * lib/gettimeofday.c: Include <sys/timeb.h>.
66882         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
66883         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66884         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
66885         fall back on time().
66886
66887         * tests/test-gettimeofday.c: New file.
66888         * modules/gettimeofday-tests: New file.
66889
66890 2007-01-16  Eric Blake  <ebb9@byu.net>
66891
66892         * modules/fnmatch (Depends-on): Depend on wchar.
66893         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
66894         * m4/fnmatch.m4: Likewise.
66895         * modules/mbchar (Makefile.am): Assume <wchar.h>.
66896         * m4/mbchar.m4: Likewise.
66897         * modules/mbswidth (Depends-on): Depend on wchar.
66898         * lib/mbswidth.c: Assume <wchar.h>.
66899         * m4/mbswidth.m4: Likewise.
66900         * modules/quotearg (Depends-on): Depend on wchar.
66901         * lib/quotearg.c: Assume <wchar.h>.
66902         * m4/quotearg.m4: Likewise.
66903         * modules/regex (Depends-on): Depend on wchar.
66904         * lib/regex_internal.h: Assume <wchar.h>.
66905         * m4/regex.m4: Likewise.
66906         * modules/stdint (Depends-on): Depend on wchar.
66907         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
66908         * m4/stdint.m4: Likewise.
66909         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
66910         * modules/strftime (Depends-on): Depend on wchar.
66911         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
66912         * modules/strtol (Depends-on): Depend on wchar.
66913         * lib/strtol.c: Assume <wchar.h>.
66914         * modules/wcwidth (Depends-on): Depend on wchar.
66915         * lib/wcwidth.h: Assume <wchar.h>.
66916         * m4/wcwidth.m4: Likewise.
66917
66918 2007-01-16  Bruno Haible  <bruno@clisp.org>
66919
66920         * modules/csharpexec-script: New, created from...
66921         * modules/csharpexec: ... this.
66922
66923 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
66924
66925         * modules/javaexec-script: New, created from...
66926         * modules/javaexec: ... this.
66927
66928 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66929
66930         * modules/poll (Dependencies): Add sys_select.
66931
66932 2007-01-15  Jim Meyering  <jim@meyering.net>
66933
66934         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
66935         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
66936         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
66937         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
66938
66939 2007-01-15  Bruno Haible  <bruno@clisp.org>
66940
66941         * modules/striconveh: New file.
66942         * lib/striconveh.h: New file.
66943         * lib/striconveh.c: New file.
66944         * MODULES.html.sh (Internationalization functions): Add striconveh.
66945
66946         * modules/striconveh-tests: New file.
66947         * tests/test-striconveh.c: New file.
66948
66949 2007-01-15  Bruno Haible  <bruno@clisp.org>
66950
66951         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
66952         not from GNU libiconv or GNU libc.
66953
66954 2007-01-15  Bruno Haible  <bruno@clisp.org>
66955
66956         * doc/gnulib-intro.texi (Copyright): Explain the different license
66957         terms for module descriptions, autoconf macros, tests, documentation.
66958
66959 2007-01-14  Bruno Haible  <bruno@clisp.org>
66960
66961         * modules/striconv-tests: New file.
66962         * tests/test-striconv.c: New file.
66963
66964 2007-01-14  Bruno Haible  <bruno@clisp.org>
66965
66966         * modules/iconv-tests: New file.
66967         * tests/test-iconv.c: New file.
66968
66969 2007-01-14  Bruno Haible  <bruno@clisp.org>
66970
66971         * gnulib-tool (func_get_license): For test modules, use the license of
66972         the main module.
66973
66974 2007-01-14  Bruno Haible  <bruno@clisp.org>
66975
66976         * modules/iconv (Include): Clarify that <iconv.h> can only be included
66977         if iconv is found to exist.
66978
66979 2007-01-14  Bruno Haible  <bruno@clisp.org>
66980
66981         * modules/c-ctype-tests: New file.
66982         * tests/test-c-ctype.c: New file.
66983
66984 2007-01-14  Bruno Haible  <bruno@clisp.org>
66985
66986         * modules/binary-io-tests: New file.
66987         * tests/test-binary-io.sh: New file.
66988         * tests/test-binary-io.c: New file.
66989
66990 2007-01-14  Bruno Haible  <bruno@clisp.org>
66991
66992         * modules/array-oset-tests: New file.
66993         * tests/test-array_oset.c: New file.
66994
66995 2007-01-14  Bruno Haible  <bruno@clisp.org>
66996
66997         * modules/array-list-tests: New file.
66998         * tests/test-array_list.c: New file.
66999
67000 2007-01-14  Bruno Haible  <bruno@clisp.org>
67001
67002         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
67003         and make.
67004         Reported by Simon Josefsson in
67005         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
67006
67007 2007-01-14  Bruno Haible  <bruno@clisp.org>
67008
67009         * modules/allocsa-tests: New file.
67010         * tests/test-allocsa.c: New file.
67011
67012 2007-01-14  Bruno Haible  <bruno@clisp.org>
67013
67014         * modules/fchdir (Depends-on): Add absolute-header.
67015         * modules/unistd (Depends-on): Likewise.
67016
67017 2006-12-30  Bruno Haible  <bruno@clisp.org>
67018
67019         * modules/fchdir: New file.
67020         * modules/unistd (Files): Add lib/unistd_.h.
67021         (Makefile.am): Generate unistd.h from unistd_.h.
67022         * lib/fchdir.c: New file.
67023         * lib/dirent_.h: New file.
67024         * lib/unistd_.h: New file.
67025         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
67026         * m4/fchdir.m4: New file.
67027         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
67028         (gl_HEADER_UNISTD): Invoke it.
67029         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
67030         function.
67031         * lib/backupfile.c (opendir, closedir): Undefine.
67032         * lib/chown.c (open, close): Undefine.
67033         * lib/clean-temp.c (open, close): Undefine.
67034         * lib/copy-file.c (open, close): Undefine.
67035         * lib/execute.c (open, close): Undefine.
67036         * lib/fsusage.c (open, close): Undefine.
67037         * lib/gc-gnulib.c (open, close): Undefine.
67038         * lib/getcwd.c (opendir, closedir): Undefine.
67039         * lib/glob.c (opendir, closedir): Undefine.
67040         * lib/javacomp.c (open, close): Undefine.
67041         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
67042         * lib/openat-proc.c (open, close): Undefine.
67043         * lib/pagealign_alloc.c (open, close): Undefine.
67044         * lib/pipe.c (open, close): Undefine.
67045         * lib/progreloc.c (open, close): Undefine.
67046         * lib/savedir.c (opendir, closedir): Undefine.
67047         * lib/utime.c (open, close): Undefine.
67048         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
67049
67050 2007-01-10  Bruno Haible  <bruno@clisp.org>
67051
67052         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
67053
67054 2007-01-12  Eric Blake  <ebb9@byu.net>
67055
67056         Provide a robust <wchar.h>.  Further simplifications are now
67057         possible in other modules, but not included here.
67058         * modules/wchar: New module.
67059         * m4/wchar.m4: New file.
67060         * lib/wchar_.h: Likewise.
67061         * modules/mbchar (Depends-on): Depend on wchar, as the first use
67062         of the new module.
67063         * MODULES.html.sh (Extended multibyte and wide character utilities):
67064         New section.
67065
67066 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
67067
67068         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
67069         to a reasonable default for memory allocation.
67070         (xreadlink): Don't allocate a huge buffer, to work around a buggy
67071         file system that reports garbage st_size values for symlinks.
67072         Problem reported by Liyang Hu.
67073
67074 2007-01-11  Simon Josefsson  <simon@josefsson.org>
67075
67076         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
67077         Emacs .#* auto-save files).
67078
67079 2007-01-11  Bruno Haible  <bruno@clisp.org>
67080
67081         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
67082         directory.
67083
67084 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
67085
67086         Use @...@ consistently in lib/wctype_.h.
67087         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
67088         on it being set to 1 or 0.
67089         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
67090         go back to AC_SUBSTing it.
67091         * modules/wctype (Makefile.am): Undo previous change.
67092
67093 2007-01-10  Eric Blake  <ebb9@byu.net>
67094
67095         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
67096         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
67097         * modules/wctype (Makefile.am): Likewise.
67098         Reported by Chris McGuire.
67099
67100 2007-01-10  Jim Meyering  <jim@meyering.net>
67101
67102         fts.c: a small readability/maintainability improvement
67103         * lib/fts.c (fts_read): Make this code slightly more readable and
67104         maintainable by hoisting the "sp->fts_cur = p" assignments to
67105         immediately follow the statements that set P.  Derived from
67106         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
67107
67108 2007-01-10  Eric Blake  <ebb9@byu.net>
67109
67110         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
67111         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
67112         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
67113         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
67114         Reported by Chris McGuire.
67115
67116 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67117
67118         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
67119         in sed script.
67120
67121 2007-01-09  Bruno Haible  <bruno@clisp.org>
67122
67123         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
67124         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
67125         variables.
67126         (func_module): Use them.
67127
67128 2007-01-09  Bruno Haible  <bruno@clisp.org>
67129
67130         * modules/unistr/base: New file.
67131         * lib/unistr.h: New file.
67132
67133         * modules/unistr/u8-to-u16: New file.
67134         * lib/unistr/u8-to-u16.c: New file.
67135
67136         * modules/unistr/u8-to-u32: New file.
67137         * lib/unistr/u8-to-u32.c: New file.
67138
67139         * modules/unistr/u16-to-u8: New file.
67140         * lib/unistr/u16-to-u8.c: New file.
67141
67142         * modules/unistr/u16-to-u32: New file.
67143         * lib/unistr/u16-to-u32.c: New file.
67144
67145         * modules/unistr/u32-to-u8: New file.
67146         * lib/unistr/u32-to-u8.c: New file.
67147
67148         * modules/unistr/u32-to-u16: New file.
67149         * lib/unistr/u32-to-u16.c: New file.
67150
67151         * modules/unistr/u8-check: New file.
67152         * modules/unistr/u16-check: New file.
67153         * modules/unistr/u32-check: New file.
67154         * lib/unistr/u8-check.c: New file.
67155         * lib/unistr/u16-check.c: New file.
67156         * lib/unistr/u32-check.c: New file.
67157
67158         * modules/unistr/u8-chr: New file.
67159         * modules/unistr/u16-chr: New file.
67160         * modules/unistr/u32-chr: New file.
67161         * lib/unistr/u8-chr.c: New file.
67162         * lib/unistr/u16-chr.c: New file.
67163         * lib/unistr/u32-chr.c: New file.
67164
67165         * modules/unistr/u8-cmp: New file.
67166         * modules/unistr/u16-cmp: New file.
67167         * modules/unistr/u32-cmp: New file.
67168         * lib/unistr/u8-cmp.c: New file.
67169         * lib/unistr/u16-cmp.c: New file.
67170         * lib/unistr/u32-cmp.c: New file.
67171
67172         * modules/unistr/u8-cpy: New file.
67173         * modules/unistr/u16-cpy: New file.
67174         * modules/unistr/u32-cpy: New file.
67175         * lib/unistr/u8-cpy.c: New file.
67176         * lib/unistr/u16-cpy.c: New file.
67177         * lib/unistr/u32-cpy.c: New file.
67178         * lib/unistr/u-cpy.h: New file.
67179
67180         * modules/unistr/u8-cpy-alloc: New file.
67181         * modules/unistr/u16-cpy-alloc: New file.
67182         * modules/unistr/u32-cpy-alloc: New file.
67183         * lib/unistr/u8-cpy-alloc.c: New file.
67184         * lib/unistr/u16-cpy-alloc.c: New file.
67185         * lib/unistr/u32-cpy-alloc.c: New file.
67186         * lib/unistr/u-cpy-alloc.h: New file.
67187
67188         * modules/unistr/u8-endswith: New file.
67189         * modules/unistr/u16-endswith: New file.
67190         * modules/unistr/u32-endswith: New file.
67191         * lib/unistr/u8-endswith.c: New file.
67192         * lib/unistr/u16-endswith.c: New file.
67193         * lib/unistr/u32-endswith.c: New file.
67194         * lib/unistr/u-endswith.h: New file.
67195
67196         * modules/unistr/u8-mblen: New file.
67197         * modules/unistr/u16-mblen: New file.
67198         * modules/unistr/u32-mblen: New file.
67199         * lib/unistr/u8-mblen.c: New file.
67200         * lib/unistr/u16-mblen.c: New file.
67201         * lib/unistr/u32-mblen.c: New file.
67202
67203         * modules/unistr/u8-mbtouc: New file.
67204         * modules/unistr/u16-mbtouc: New file.
67205         * modules/unistr/u32-mbtouc: New file.
67206         * lib/unistr/u8-mbtouc.c: New file.
67207         * lib/unistr/u16-mbtouc.c: New file.
67208         * lib/unistr/u32-mbtouc.c: New file.
67209
67210         * modules/unistr/u8-mbtouc-safe: New file.
67211         * modules/unistr/u16-mbtouc-safe: New file.
67212         * modules/unistr/u32-mbtouc-safe: New file.
67213         * lib/unistr/u8-mbtouc-safe.c: New file.
67214         * lib/unistr/u16-mbtouc-safe.c: New file.
67215         * lib/unistr/u32-mbtouc-safe.c: New file.
67216
67217         * modules/unistr/u8-move: New file.
67218         * modules/unistr/u16-move: New file.
67219         * modules/unistr/u32-move: New file.
67220         * lib/unistr/u8-move.c: New file.
67221         * lib/unistr/u16-move.c: New file.
67222         * lib/unistr/u32-move.c: New file.
67223         * lib/unistr/u-move.h: New file.
67224
67225         * modules/unistr/u8-next: New file.
67226         * modules/unistr/u16-next: New file.
67227         * modules/unistr/u32-next: New file.
67228         * lib/unistr/u8-next.c: New file.
67229         * lib/unistr/u16-next.c: New file.
67230         * lib/unistr/u32-next.c: New file.
67231
67232         * modules/unistr/u8-prev: New file.
67233         * modules/unistr/u16-prev: New file.
67234         * modules/unistr/u32-prev: New file.
67235         * lib/unistr/u8-prev.c: New file.
67236         * lib/unistr/u16-prev.c: New file.
67237         * lib/unistr/u32-prev.c: New file.
67238
67239         * modules/unistr/u8-set: New file.
67240         * modules/unistr/u16-set: New file.
67241         * modules/unistr/u32-set: New file.
67242         * lib/unistr/u8-set.c: New file.
67243         * lib/unistr/u16-set.c: New file.
67244         * lib/unistr/u32-set.c: New file.
67245         * lib/unistr/u-set.h: New file.
67246
67247         * modules/unistr/u8-startswith: New file.
67248         * modules/unistr/u16-startswith: New file.
67249         * modules/unistr/u32-startswith: New file.
67250         * lib/unistr/u8-startswith.c: New file.
67251         * lib/unistr/u16-startswith.c: New file.
67252         * lib/unistr/u32-startswith.c: New file.
67253         * lib/unistr/u-startswith.h: New file.
67254
67255         * modules/unistr/u8-stpcpy: New file.
67256         * modules/unistr/u16-stpcpy: New file.
67257         * modules/unistr/u32-stpcpy: New file.
67258         * lib/unistr/u8-stpcpy.c: New file.
67259         * lib/unistr/u16-stpcpy.c: New file.
67260         * lib/unistr/u32-stpcpy.c: New file.
67261         * lib/unistr/u-stpcpy.h: New file.
67262
67263         * modules/unistr/u8-stpncpy: New file.
67264         * modules/unistr/u16-stpncpy: New file.
67265         * modules/unistr/u32-stpncpy: New file.
67266         * lib/unistr/u8-stpncpy.c: New file.
67267         * lib/unistr/u16-stpncpy.c: New file.
67268         * lib/unistr/u32-stpncpy.c: New file.
67269         * lib/unistr/u-stpncpy.h: New file.
67270
67271         * modules/unistr/u8-strcat: New file.
67272         * modules/unistr/u16-strcat: New file.
67273         * modules/unistr/u32-strcat: New file.
67274         * lib/unistr/u8-strcat.c: New file.
67275         * lib/unistr/u16-strcat.c: New file.
67276         * lib/unistr/u32-strcat.c: New file.
67277         * lib/unistr/u-strcat.h: New file.
67278
67279         * modules/unistr/u8-strchr: New file.
67280         * modules/unistr/u16-strchr: New file.
67281         * modules/unistr/u32-strchr: New file.
67282         * lib/unistr/u8-strchr.c: New file.
67283         * lib/unistr/u16-strchr.c: New file.
67284         * lib/unistr/u32-strchr.c: New file.
67285
67286         * modules/unistr/u8-strcmp: New file.
67287         * modules/unistr/u16-strcmp: New file.
67288         * modules/unistr/u32-strcmp: New file.
67289         * lib/unistr/u8-strcmp.c: New file.
67290         * lib/unistr/u16-strcmp.c: New file.
67291         * lib/unistr/u32-strcmp.c: New file.
67292
67293         * modules/unistr/u8-strcpy: New file.
67294         * modules/unistr/u16-strcpy: New file.
67295         * modules/unistr/u32-strcpy: New file.
67296         * lib/unistr/u8-strcpy.c: New file.
67297         * lib/unistr/u16-strcpy.c: New file.
67298         * lib/unistr/u32-strcpy.c: New file.
67299         * lib/unistr/u-strcpy.h: New file.
67300
67301         * modules/unistr/u8-strcspn: New file.
67302         * modules/unistr/u16-strcspn: New file.
67303         * modules/unistr/u32-strcspn: New file.
67304         * lib/unistr/u8-strcspn.c: New file.
67305         * lib/unistr/u16-strcspn.c: New file.
67306         * lib/unistr/u32-strcspn.c: New file.
67307         * lib/unistr/u-strcspn.h: New file.
67308
67309         * modules/unistr/u8-strdup: New file.
67310         * modules/unistr/u16-strdup: New file.
67311         * modules/unistr/u32-strdup: New file.
67312         * lib/unistr/u8-strdup.c: New file.
67313         * lib/unistr/u16-strdup.c: New file.
67314         * lib/unistr/u32-strdup.c: New file.
67315         * lib/unistr/u-strdup.h: New file.
67316
67317         * modules/unistr/u8-strlen: New file.
67318         * modules/unistr/u16-strlen: New file.
67319         * modules/unistr/u32-strlen: New file.
67320         * lib/unistr/u8-strlen.c: New file.
67321         * lib/unistr/u16-strlen.c: New file.
67322         * lib/unistr/u32-strlen.c: New file.
67323         * lib/unistr/u-strlen.h: New file.
67324
67325         * modules/unistr/u8-strmblen: New file.
67326         * modules/unistr/u16-strmblen: New file.
67327         * modules/unistr/u32-strmblen: New file.
67328         * lib/unistr/u8-strmblen.c: New file.
67329         * lib/unistr/u16-strmblen.c: New file.
67330         * lib/unistr/u32-strmblen.c: New file.
67331
67332         * modules/unistr/u8-strmbtouc: New file.
67333         * modules/unistr/u16-strmbtouc: New file.
67334         * modules/unistr/u32-strmbtouc: New file.
67335         * lib/unistr/u8-strmbtouc.c: New file.
67336         * lib/unistr/u16-strmbtouc.c: New file.
67337         * lib/unistr/u32-strmbtouc.c: New file.
67338
67339         * modules/unistr/u8-strncat: New file.
67340         * modules/unistr/u16-strncat: New file.
67341         * modules/unistr/u32-strncat: New file.
67342         * lib/unistr/u8-strncat.c: New file.
67343         * lib/unistr/u16-strncat.c: New file.
67344         * lib/unistr/u32-strncat.c: New file.
67345         * lib/unistr/u-strncat.h: New file.
67346
67347         * modules/unistr/u8-strncmp: New file.
67348         * modules/unistr/u16-strncmp: New file.
67349         * modules/unistr/u32-strncmp: New file.
67350         * lib/unistr/u8-strncmp.c: New file.
67351         * lib/unistr/u16-strncmp.c: New file.
67352         * lib/unistr/u32-strncmp.c: New file.
67353
67354         * modules/unistr/u8-strncpy: New file.
67355         * modules/unistr/u16-strncpy: New file.
67356         * modules/unistr/u32-strncpy: New file.
67357         * lib/unistr/u8-strncpy.c: New file.
67358         * lib/unistr/u16-strncpy.c: New file.
67359         * lib/unistr/u32-strncpy.c: New file.
67360         * lib/unistr/u-strncpy.h: New file.
67361
67362         * modules/unistr/u8-strnlen: New file.
67363         * modules/unistr/u16-strnlen: New file.
67364         * modules/unistr/u32-strnlen: New file.
67365         * lib/unistr/u8-strnlen.c: New file.
67366         * lib/unistr/u16-strnlen.c: New file.
67367         * lib/unistr/u32-strnlen.c: New file.
67368         * lib/unistr/u-strnlen.h: New file.
67369
67370         * modules/unistr/u8-strpbrk: New file.
67371         * modules/unistr/u16-strpbrk: New file.
67372         * modules/unistr/u32-strpbrk: New file.
67373         * lib/unistr/u8-strpbrk.c: New file.
67374         * lib/unistr/u16-strpbrk.c: New file.
67375         * lib/unistr/u32-strpbrk.c: New file.
67376         * lib/unistr/u-strpbrk.h: New file.
67377
67378         * modules/unistr/u8-strrchr: New file.
67379         * modules/unistr/u16-strrchr: New file.
67380         * modules/unistr/u32-strrchr: New file.
67381         * lib/unistr/u8-strrchr.c: New file.
67382         * lib/unistr/u16-strrchr.c: New file.
67383         * lib/unistr/u32-strrchr.c: New file.
67384
67385         * modules/unistr/u8-strspn: New file.
67386         * modules/unistr/u16-strspn: New file.
67387         * modules/unistr/u32-strspn: New file.
67388         * lib/unistr/u8-strspn.c: New file.
67389         * lib/unistr/u16-strspn.c: New file.
67390         * lib/unistr/u32-strspn.c: New file.
67391         * lib/unistr/u-strspn.h: New file.
67392
67393         * modules/unistr/u8-strstr: New file.
67394         * modules/unistr/u16-strstr: New file.
67395         * modules/unistr/u32-strstr: New file.
67396         * lib/unistr/u8-strstr.c: New file.
67397         * lib/unistr/u16-strstr.c: New file.
67398         * lib/unistr/u32-strstr.c: New file.
67399         * lib/unistr/u-strstr.h: New file.
67400
67401         * modules/unistr/u8-strtok: New file.
67402         * modules/unistr/u16-strtok: New file.
67403         * modules/unistr/u32-strtok: New file.
67404         * lib/unistr/u8-strtok.c: New file.
67405         * lib/unistr/u16-strtok.c: New file.
67406         * lib/unistr/u32-strtok.c: New file.
67407         * lib/unistr/u-strtok.h: New file.
67408
67409         * modules/unistr/u8-uctomb: New file.
67410         * modules/unistr/u16-uctomb: New file.
67411         * modules/unistr/u32-uctomb: New file.
67412         * lib/unistr/u8-uctomb.c: New file.
67413         * lib/unistr/u16-uctomb.c: New file.
67414         * lib/unistr/u32-uctomb.c: New file.
67415
67416         * MODULES.html.sh (Unicode string functions): Add the new modules.
67417
67418 2007-01-08  Bruno Haible  <bruno@clisp.org>
67419
67420         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
67421         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
67422         subdirectories.
67423
67424 2007-01-08  Karl Berry  <karl@gnu.org>
67425
67426         * doc/error.texi: mention that main() fns must set program_name
67427         when progname is used.
67428
67429 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
67430
67431         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
67432         WCTYPE_H is empty, for the benefit of builds from non-distclean
67433         directories.  Problem reported by Eric Blake in
67434         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
67435
67436 2007-01-08  Bruno Haible  <bruno@clisp.org>
67437
67438         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
67439         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
67440         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
67441         PROVIDE_CANONICALIZE_FILENAME_MODE.
67442         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
67443
67444 2007-01-08  Bruno Haible  <bruno@clisp.org>
67445
67446         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
67447         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
67448         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
67449         * lib/fts.c: Likewise.
67450         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
67451
67452 2006-12-25  Bruno Haible  <bruno@clisp.org>
67453
67454         * modules/utf8-ucs4-safe: New file.
67455         * lib/utf8-ucs4-safe.h: New file.
67456         * lib/unistr/utf8-ucs4-safe.c: New file.
67457
67458         * modules/utf16-ucs4-safe: New file.
67459         * lib/utf16-ucs4-safe.h: New file.
67460         * lib/unistr/utf16-ucs4-safe.c: New file.
67461
67462         * MODULES.html.sh (Unicode string functions): Add the new modules.
67463
67464 2007-01-08  Bruno Haible  <bruno@clisp.org>
67465
67466         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
67467         (Depends-on): Add unitypes.
67468         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
67469         (u8_mbtouc_aux): Move out to separate file.
67470         (u8_mbtouc): Use ucs4_t, uint8_t types.
67471         * lib/unistr/utf8-ucs4.c: New file.
67472
67473         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
67474         (Depends-on): Add unitypes.
67475         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
67476         (u16_mbtouc_aux): Move out to separate file.
67477         (u16_mbtouc): Use ucs4_t, uint16_t types.
67478         * lib/unistr/utf16-ucs4.c: New file.
67479
67480         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
67481         (Depends-on): Add unitypes.
67482         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
67483         (u8_uctomb_aux): Move out to separate file.
67484         (u8_uctomb): Use ucs4_t, uint8_t types.
67485         * lib/unistr/ucs4-utf8.c: New file.
67486
67487         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
67488         (Depends-on): Add unitypes.
67489         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
67490         (u16_uctomb_aux): Move out to separate file.
67491         (u16_uctomb): Use ucs4_t, uint16_t types.
67492         * lib/unistr/ucs4-utf16.c: New file.
67493
67494 2006-12-25  Bruno Haible  <bruno@clisp.org>
67495
67496         * modules/unitypes: New file.
67497         * lib/unitypes.h: New file.
67498         * MODULES.html.sh (func_all_modules): New section "Unicode string
67499         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
67500         this section. Add unitypes.
67501
67502 2007-01-08  Bruno Haible  <bruno@clisp.org>
67503
67504         Avoid variable names that conflict with those from libtool.
67505         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
67506         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
67507         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
67508         library_names_spec to acl_library_names_spec, hardcode_* to
67509         acl_hardcode_*.
67510         Reported by Ralf Wildenhues.
67511
67512 2007-01-08  Bruno Haible  <bruno@clisp.org>
67513
67514         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
67515         definition.
67516         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
67517         definition.
67518         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
67519         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
67520         definition.
67521         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
67522         definition.
67523         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
67524         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
67525         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
67526         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
67527         definition.
67528         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
67529         definition.
67530         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
67531         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
67532         GC_USE_<algorithm>.
67533         * lib/gc-libgcrypt.c: Likewise.
67534         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
67535         * modules/gc-arctwo (configure.ac): Likewise.
67536         * modules/gc-des (configure.ac): Likewise.
67537         * modules/gc-hmac-md5 (configure.ac): Likewise.
67538         * modules/gc-hmac-sha1 (configure.ac): Likewise.
67539         * modules/gc-md2 (configure.ac): Likewise.
67540         * modules/gc-md4 (configure.ac): Likewise.
67541         * modules/gc-md5 (configure.ac): Likewise.
67542         * modules/gc-random (configure.ac): Likewise.
67543         * modules/gc-rijndael (configure.ac): Likewise.
67544         * modules/gc-sha1 (configure.ac): Likewise.
67545
67546 2007-01-08  Bruno Haible  <bruno@clisp.org>
67547
67548         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
67549         macro definition.
67550         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
67551         definition.
67552         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
67553         definition.
67554         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
67555         * modules/fcntl-safer (configure.ac): Likewise.
67556         * modules/fopen-safer (configure.ac): Likewise.
67557         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
67558         GNULIB_FWRITEERROR macro definition.
67559
67560 2007-01-08  Bruno Haible  <bruno@clisp.org>
67561
67562         * m4/gnulib-common.m4: New file.
67563         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
67564         (func_get_filelist): Add m4/gnulib-common.m4.
67565
67566 2007-01-08  Bruno Haible  <bruno@clisp.org>
67567
67568         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
67569         command.
67570
67571 2007-01-08  Jim Meyering  <jim@meyering.net>
67572
67573         Use a more robust test for a "can't happen" condition.
67574         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
67575         narrowed the st_size value.  Presuming the "can't happen" condition
67576         is true, that narrowing could conceivably convert an invalid st_size
67577         value into a valid one.  Instead, use a change based on Matthew
67578         Woehlke's original patch.
67579
67580         Slight readability improvement: use an assert-like macro
67581         in place of literal "abort ()" uses.
67582         * lib/fts.c (fts_assert): Define.
67583         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
67584         Use this macro instead of a bare 'abort'.
67585
67586 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
67587
67588         Don't worry about using IRIX 5.3's wctype.h broken definitions;
67589         simply work around them.
67590         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
67591         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
67592         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
67593         declaring.
67594         Don't bother to define as macros, since the standard doesn't require it.
67595         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
67596         longer worry about IRIX 5.3.
67597         (HAVE_WCTYPE_CTMP_BUG): Remove.
67598
67599 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
67600
67601         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
67602         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
67603         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
67604         Problems reported by Georg Schwarz for IRIX 5.3.
67605
67606         * gnulib-tool (autoconf_minversion): Take the maximum version number
67607         found, not the minimum.  Problem reported by James Youngman.
67608
67609 2007-01-03  Karl Berry  <karl@gnu.org>
67610
67611         * doc/error.texi: new file, explaining interaction with progname.
67612         * doc/gnulib.texi: include it.  Update copyright.
67613
67614 2007-01-03  Simon Josefsson  <simon@josefsson.org>
67615
67616         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
67617         AC_CANONICAL_HOST, to improve autobuild outputs.
67618
67619 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
67620             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
67621
67622         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
67623         sockets, server sockets, and other file descriptors.  Count errors
67624         to compute the return value.  Reorder the code a bit to be easier
67625         to follow.  Don't set event bits that were not requested (except
67626         POLLERR and POLLHUP).
67627
67628 2007-01-01  Bruno Haible  <bruno@clisp.org>
67629
67630         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
67631
67632 2007-01-03  Jim Meyering  <jim@meyering.net>
67633
67634         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
67635
67636 2007-01-02  Bruno Haible  <bruno@clisp.org>
67637
67638         * modules/settime (Include): Require timespec.h.
67639         * modules/nanosleep (Include): Likewise.
67640
67641 2007-01-01  Bruno Haible  <bruno@clisp.org>
67642
67643         * gnulib-tool (func_emit_copyright_notice): Bump year.
67644         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
67645
67646 2007-01-01  Bruno Haible  <bruno@clisp.org>
67647
67648         Improve support for OpenBSD.
67649         * build-aux/config.rpath (libname_spec): Export.
67650         (library_names_spec): New variable. Export.
67651         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
67652         library_names_spec from the config.rpath output. Locate shared library
67653         through the name pattern in library_names_spec.
67654
67655 2007-01-01  Eric Blake  <ebb9@byu.net>
67656
67657         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
67658
67659 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
67660
67661         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
67662         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
67663         assume the C locale, and avoid an "eval" that could cause trouble.
67664         Problem with SORT reported by Bob Proulx.
67665
67666         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
67667         Define.  Trivial patch from Henning Nielsen Lund, originally
67668         sent to bug-grep@gnu.org today.
67669
67670 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
67671
67672         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
67673         struct stat.  Problem reported by Henning Nielsen Lund.
67674         * lib/acl.c: Include acl.h first, to check interface.  Don't
67675         bother to include sys/types.h and sys/stat.h again.
67676
67677 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
67678
67679         Import the following change from libc; problem reported by
67680         Sven Verdoolaege.
67681
67682         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
67683
67684         [BZ #1373]
67685         * lib/argp.h: Remove __NTH for __argp_usage inline function.
67686
67687 2006-12-28  Jim Meyering  <jim@meyering.net>
67688
67689         * build-aux/announce-gen: Do not assume that the package
67690         builds any of tar.gz, tar.bz2, and .xdelta files.
67691         Suggestion from Simon Josefsson.
67692
67693 2006-12-28  Simon Josefsson  <simon@josefsson.org>
67694
67695         * modules/announce-gen: New file.
67696
67697 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
67698
67699         * lib/mbchar.h: Just include <wctype.h>; the wctype module
67700         handles its gotchas now.
67701         * lib/mbswidth.c: Likewise.
67702         * lib/wcwidth.h: Likewise.
67703         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
67704         and iswcntrl; the wctype module does this stuff now.
67705         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
67706         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
67707         * modules/mbchar (Depends-on): Add wctype.
67708         * modules/mbswidth (Depends-on): Likewise.
67709         * modules/wcwidth (Depends-on): Likewise.
67710
67711 2006-12-27  Eric Blake  <ebb9@byu.net>
67712
67713         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
67714         module uses more than what <wctype.h> is required to provide.
67715
67716 2006-12-26  Eric Blake  <ebb9@byu.net>
67717
67718         * gnulib-tool (sed_extract_prog): Avoid space-tab.
67719
67720 2006-12-26  Eric Blake  <ebb9@byu.net>
67721
67722         * modules/absolute-header: New module.
67723         * modules/fcntl (Depends-on): Depend on it.
67724         * modules/inttypes (Depends-on): Likewise.
67725         * modules/stdint (Depends-on): Likewise.
67726         * modules/sys_stat (Depends-on): Likewise.
67727         * modules/wctype (Depends-on): Likewise.
67728         * MODULES.html.sh (Support for building libraries and
67729         executables): Document it.
67730
67731 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
67732
67733         * gnulib-tool (SED): Remove, undoing previous change.
67734         The problem was that it broke coreutils on Solaris, because
67735         "sed --posix" leaked into a makefile.
67736         (sed): New alias, if 'alias' and GNU sed.
67737
67738 2006-12-24  Jim Meyering  <jim@meyering.net>
67739
67740         Work around an fchownat bug in glibc-2.4:
67741         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
67742         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
67743         in spite of the -P option.
67744         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
67745         New macros.
67746         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
67747         * modules/openat (Files): Add lib/fchownat.c.
67748         * lib/openat.c (fchownat): Don't define here.  Move to...
67749         * lib/fchownat.c: ...this new file.
67750
67751 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
67752
67753         Fix bug reported by Bruno Haible in
67754         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
67755         where quotearg.c didn't compile on Mac OS X 10.2 because it
67756         lacks <wchar.h> and wint_t.
67757         * lib/wctype_.h (__wctype_wint_t): New type.
67758         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
67759         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
67760         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
67761         Arg is now of type __wctype_wint_t, not wint_t.
67762         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
67763         substitute HAVE_WINT_T.
67764         * modules/wctype (Files): Add m4/wint_t.m4.
67765         (wctype.h): Substitute HAVE_WINT_T.
67766
67767 2006-12-23  Bruno Haible  <bruno@clisp.org>
67768
67769         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
67770
67771 2006-12-23  Bruno Haible  <bruno@clisp.org>
67772
67773         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
67774         S_ISLNK.
67775         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
67776         mingw.
67777
67778 2006-12-22  Bruno Haible  <bruno@clisp.org>
67779
67780         * lib/copy-file.c: Include acl.h.
67781         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
67782         Close the file descriptors only after being done with copy_acl.
67783         * modules/copy-file (Depends-on): Add acl.
67784
67785 2006-12-22  Bruno Haible  <bruno@clisp.org>
67786
67787         * gnulib-tool (SED): New variable.
67788         Use $SED instead of sed everywhere.
67789
67790 2006-12-22  Bruno Haible  <bruno@clisp.org>
67791
67792         * modules/no-c++: New file.
67793         * m4/no-c++.m4: New file.
67794         * MODULES.html.sh (Support for building libraries and executables):
67795         Add no-c++.
67796
67797 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
67798
67799         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
67800         Include <limits.h>, and use its INT_MAX to rewrite the
67801         j loop so that it does not overflow 'int'.  Problem reported by
67802         Ralf Wildenhues in
67803         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
67804         Play it safe by shifting left by 1 rather than multiplying by 2,
67805         as GCC is less likely to optimize this away when the value
67806         is signed (when it assumes overflow leads to undefined behavior).
67807         Also, don't assume time_t uses two's complement.
67808
67809 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
67810
67811         * MODULES.html.sh: New module wctype.
67812         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
67813         * lib/fnmatch.c: Don't bother to include <wchar.h> before
67814         <wctype.h>, since the new wctype module should fix this.
67815         * lib/quotearg.c: Include <wctype.h> unconditionally, since
67816         the wctype module should arrange for it.
67817         * lib/regex_internal.h: Likewise.
67818         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
67819         since the wctype module should handle this now.
67820         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
67821         * modules/fnmatch (Depends-on): Add wctype.
67822         * modules/quotearg (Depends-on): Likewise.
67823         * modules/regex (Depends-on): Likewise.
67824
67825 2006-12-19  Bruno Haible  <bruno@clisp.org>
67826
67827         * lib/strdup.h [C++]: Wrap definitions in extern "C".
67828         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
67829
67830 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67831
67832         * modules/savewd (Depends-on): Fix dependency on fcntl.
67833
67834 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
67835
67836         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
67837         conforms to C99, rather than relying on the user's environment
67838         setting of STDINT_H.
67839
67840 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
67841         and Eric Blake  <ebb9@byu.net>
67842
67843         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
67844         This is more consistent with the other defines here.
67845         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
67846         Port to z/OS.  Problem reported by Paul Gilmartin.
67847         Change local vars to use gl_ prefix rather than ac_.
67848         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
67849         with other defines.
67850         * modules/double-slash-root: New module.
67851         * modules/dirname (Files): Remove m4/double-slash-root.m4.
67852         (Depends-on): Add double-slash-root.
67853         * MODULES.html.sh (File system functions): Mention new module.
67854
67855 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
67856
67857         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
67858         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
67859         This is for the benefit of gzip, which doesn't do i18n.
67860
67861 2006-12-12  Jim Meyering  <jim@meyering.net>
67862
67863         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
67864         Reported by Andreas Schwab <schwab@suse.de>.
67865
67866 2006-12-12  Bruno Haible  <bruno@clisp.org>
67867
67868         Merge these changes.
67869         2006-09-05  Bruno Haible  <bruno@clisp.org>
67870         * lib/iconvme.c (iconv_string): No need to save and restore errno when
67871         iconv_alloc succeeded.
67872         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
67873         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
67874         test for " && dest " at the end - dest is always != NULL there. Call
67875         iconv with 4xNULL arguments initially, to reset the state. Call iconv
67876         with 2xNULL arguments, also to flush the state storage. Handle the
67877         IRIX iconv behaviour. Realloc the final result, to throw away unused
67878         memory.
67879
67880 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
67881
67882         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
67883         and fchmodat unconditionally, since glibc 2.4 has them.
67884         Problem reported by Arkadiusz Miskiewicz.
67885
67886 2006-12-10  Bruno Haible  <bruno@clisp.org>
67887
67888         * gnulib-tool (func_import): Show the include files only for those
67889         modules that are copied and specified.
67890         Reported by Karl Berry.
67891
67892 2006-12-08  Jim Meyering  <jim@meyering.net>
67893
67894         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
67895         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
67896
67897         * build-aux/announce-gen: Add two new options, both optional:
67898         --bootstrap-tools=TOOL_LIST
67899               a comma-separated list of tools, e.g.,
67900               autoconf,automake,bison,gnulib
67901         --gnulib-snapshot-date=DATE
67902               if gnulib is in the bootstrap tool list,
67903               then report this as the snapshot date.
67904               If not specified, use the current date/time.
67905               If you specify a date here, be sure it's UTC.
67906
67907 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67908
67909         * tests/test-argp-2.sh: Fix test to match actual output.
67910         (func_compare): Fix sed script to be portable.
67911
67912 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
67913
67914         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
67915         workaround for this case.  It is not autoconfigured now; offhand
67916         it's hard to see how to autoconfigure it.
67917
67918 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
67919
67920         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
67921         a directory that is about to be chowned.  Such a directory's
67922         initial file permissions should permit the owner only and this
67923         should not be changed until after the chown, since the group and
67924         other bits would be incorrect if they granted permission before
67925         the chown.
67926
67927         Fix porting problem for iswctype reported by Georg Schwarz in:
67928         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
67929         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
67930         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
67931         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
67932         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
67933
67934 2006-12-03  Jim Meyering  <jim@meyering.net>
67935
67936         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
67937         p->fts_statp may not yet be defined.
67938         (fts_read): Instead, set it in the caller, once p->fts_statp is
67939         sure to be defined, and corresponds to a top-level directory.
67940         This bug made du -x fail.  Here's the coreutils test case:
67941         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
67942         Reported by Mike Frysinger.
67943
67944 2006-12-01  Jim Meyering  <jim@meyering.net>
67945
67946         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
67947         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
67948         Reported by Simon Josefsson.
67949
67950 2006-11-30  Jim Meyering  <jim@meyering.net>
67951
67952         * m4/warning.m4: Use the all-permissive copyright notice
67953         recommended by RMS (rather than LGPL).
67954         * m4/vararrays.m4: Likewise.
67955         * m4/flexmember.m4: Likewise.
67956
67957 2006-11-29  Bruno Haible  <bruno@clisp.org>
67958
67959         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
67960         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
67961         using +=.
67962         Reported by Simon Josefsson <simon@josefsson.org>.
67963
67964 2006-11-28  James Youngman <jay@gnu.org>
67965
67966         * README: Advise users that they might find the bug-gnulib@gnu.org
67967         and autotools-announce@gnu.org mailing lists useful.
67968
67969 2006-11-28  Bruno Haible  <bruno@clisp.org>
67970
67971         * m4/ptrdiff_max.m4: Remove file.
67972
67973 2006-11-21  Bruno Haible  <bruno@clisp.org>
67974
67975         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
67976         _AC_COMPUTE_INT.
67977         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
67978         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
67979         _AC_COMPUTE_INT.
67980         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
67981         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
67982         _AC_COMPUTE_INT.
67983         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
67984
67985 2006-11-28  Jim Meyering  <jim@meyering.net>
67986
67987         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
67988         warning from "gcc -Wshadow" about shadowing the builtin.
67989
67990 2006-11-27  Bruno Haible  <bruno@clisp.org>
67991
67992         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
67993         _AC_COMPUTE_INT.
67994         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
67995
67996 2006-11-27  Bruno Haible  <bruno@clisp.org>
67997             Paul Eggert  <eggert@cs.ucla.edu>
67998
67999         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
68000
68001 2006-11-26  Bruno Haible  <bruno@clisp.org>
68002
68003         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
68004         noinst_LTLIBRARIES.
68005
68006 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
68007             Bruno Haible  <bruno@clisp.org>
68008
68009         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
68010         if compiling with "gcc -ansi".
68011
68012 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
68013
68014         Fix some incompatibilities with gcc -ansi -pedantic.
68015         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
68016         if compiling pedantically with GCC, unless it's C99 or later.
68017         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
68018         it mishandles gcc -ansi -pedantic as well.
68019         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
68020         if gcc -pedantic.
68021         * lib/regexec.c (check_node_accept_bytes): Don't use auto
68022         initializers for struct if -pedantic, unless it's C99 or later.
68023
68024 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
68025
68026         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
68027         Don't close an fd more than once. Identical atimes indicate
68028         success, not failure.
68029
68030 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
68031
68032         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
68033
68034 2006-11-23  Jim Meyering  <jim@meyering.net>
68035
68036         * build-aux/announce-gen: New file.  From coreutils.
68037
68038 2006-11-22  Jim Meyering  <jim@meyering.net>
68039
68040         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
68041         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
68042         (fts_read): Use a temporary to narrow the overused st_size member
68043         before using it in a switch statement.  Reported by Matthew Woehlke.
68044
68045         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
68046         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
68047
68048 2006-11-20  Bruno Haible  <bruno@clisp.org>
68049
68050         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
68051         changequote instead of pairs of brackets.
68052         Reported by Andreas Schwab <schwab@suse.de>.
68053
68054 2006-11-21  Jim Meyering  <jim@meyering.net>
68055
68056         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
68057         so as to remain compatible with older compilers.
68058         Patch from Michael Deutschmann.
68059
68060 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
68061
68062         * MODULES.html.sh (File system functions): Add openat.
68063
68064         * lib/openat.h (rpl_fstatat): New macro, if
68065         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
68066         (fstatat): Define to rpl_fstatat under the same conditions,
68067         unless COMPILING_FSTATAT.
68068         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
68069         seems to have the bug.
68070         * lib/fstatat.c: New file.
68071         * modules/openat (Files): Add it.
68072
68073 2006-11-20  Bruno Haible  <bruno@clisp.org>
68074
68075         * Makefile: New file.
68076
68077 2006-11-20  Jim Meyering  <jim@meyering.net>
68078
68079         The beginnings of syntax-related checks for gnulib.
68080         * lib/Makefile: New file.
68081         * lib/t-idcache: New script.  Ensure that the two halves of
68082         idcache.c stay in sync.
68083
68084         * lib/idcache.c: Adjust comments in user- and group- portions to
68085         be more accurate, and to be consistent with one another.
68086
68087 2006-11-20  Jim Meyering  <jim@meyering.net>
68088
68089         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
68090         continue using the flexible array member (thus, this module performs
68091         half as many malloc calls), with the addition that...
68092         (getgroup, getuser): Consistently record a non-match via an empty
68093         "name" string, and map an empty string match to a NULL return value.
68094         * modules/idcache (Depends-on): Re-add flexmember.
68095
68096         * lib/idcache.c (getuser): Remove all uses of the register keyword.
68097         (getuidbyname, getgroup, getgidbyname): Likewise.
68098
68099         Use cleaner syntax: NULL rather than 0.
68100         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
68101
68102 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
68103
68104         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
68105         It mishandled the case where the group was missing.
68106         Problem reported by Greg Schafer.
68107         * modules/idcache: Likewise.
68108
68109 2006-11-18  Jim Meyering  <jim@meyering.net>
68110
68111         * check-module (%exempt_header): Add exception for some
68112         conditionally-included headers.
68113
68114         * modules/i-ring (Depends-on): Add verify.
68115         (License): Change to LGPL.
68116
68117 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68118
68119         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
68120         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
68121         and inttostr.h.  Use snprintf rather than uinttostr, so that
68122         LGPLed code doesn't depend on GPLed.
68123
68124 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
68125
68126         * modules/inline (License): Change from GPL to LGPL.
68127
68128 2006-11-17  Jim Meyering  <jim@meyering.net>
68129
68130         * modules/d-type (License): Switch to LGPL.
68131
68132 2006-11-15  Bruno Haible  <bruno@clisp.org>
68133
68134         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
68135
68136 2006-11-15  Eric Blake  <ebb9@byu.net>
68137
68138         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
68139         the module dependency.
68140
68141 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68142             Bruno Haible  <bruno@clisp.org>
68143
68144         * gnulib-tool (func_create_testdir): Add license consistency check.
68145
68146 2006-11-15  Eric Blake  <ebb9@byu.net>
68147
68148         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
68149         random "(cached)" in configure output.
68150
68151 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68152
68153         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
68154         test for conforming inttypes.h is both announced and cached.
68155
68156         * MODULES.html.sh (seen_modules, seen_files): New variables.
68157         (func_module): Rewrite to use a few less gnulib-tool and sed
68158         invocations.  Avoid a couple of quadratic algorithms for ...
68159         (missed_modules, missed_files): ... these, with ...
68160         (func_append, func_tmpdir): ... these new functions, from
68161         gnulib-tool.  Analogously, install traps for cleanup.
68162
68163         * tests/test-gc.c (main): Remove unused variables.
68164         * tests/test-read-file.c: Include stdlib.h, for 'free'.
68165
68166 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
68167
68168         * modules/inttostr (License): Change to LGPL.
68169
68170 2006-11-14  Eric Blake  <ebb9@byu.net>
68171
68172         * modules/tempname (License): Change to LGPL.
68173
68174 2006-11-14  Eric Blake  <ebb9@byu.net>
68175
68176         * doc/functions.texi (Function Portability): *printf functions on
68177         Cygwin now understand all POSIX size specifiers.
68178
68179 2006-11-14  Bruno Haible  <bruno@clisp.org>
68180
68181         * modules/c-ctype (License): Change to LGPL.
68182
68183 2006-11-12  Bruno Haible  <bruno@clisp.org>
68184
68185         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
68186         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
68187         for GNOME libraries, for which the include files are installed in
68188         subdirectories of $prefix/include.
68189
68190 2006-11-12  Bruno Haible  <bruno@clisp.org>
68191
68192         * m4/lib-link.m4: Require at least autoconf-2.54.
68193         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
68194         name to underscores for the --with option.
68195
68196 2006-11-13  Bruno Haible  <bruno@clisp.org>
68197
68198         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
68199         the tests directory.
68200         Reported by Ralf Wildenhues.
68201
68202 2006-11-13  Bruno Haible  <bruno@clisp.org>
68203
68204         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
68205         (func_emit_initmacro_end): Undo the override here.
68206         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
68207         Works around the famous automake error in coreutils.
68208
68209 2006-11-13  Eric Blake  <ebb9@byu.net>
68210
68211         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
68212         element, not its node.
68213
68214 2006-11-12  Bruno Haible  <bruno@clisp.org>
68215
68216         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
68217         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
68218
68219 2006-11-12  Bruno Haible  <bruno@clisp.org>
68220
68221         * gnulib-tool: New option --local-symlink.
68222         (func_usage): Document it.
68223         (lsymbolic): New variable.
68224         (func_import, func_create_testdir): If --symlink was not specified,
68225         test whether --local-symlink was specified and the file comes from
68226         the local_gnulib_dir.
68227
68228 2006-11-12  Bruno Haible  <bruno@clisp.org>
68229
68230         * gnulib-tool (func_ln): New function.
68231         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
68232
68233 2006-11-12  Bruno Haible  <bruno@clisp.org>
68234
68235         Finish support for source files in subdirectories.
68236         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
68237         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
68238         AUTOMAKE_OPTIONS.
68239         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
68240
68241 2006-11-12  Bruno Haible  <bruno@clisp.org>
68242
68243         * gnulib-tool (func_get_automake_snippet): Synthesize also an
68244         EXTRA_lib_SOURCES augmentation.
68245         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
68246
68247 2006-11-12  Jim Meyering  <jim@meyering.net>
68248
68249         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
68250         file descriptors.  This also averts a failure on systems with
68251         native openat support when a traversed directory lacks "x" access.
68252         * lib/fts_.h: Include "i-ring.h"
68253         (struct FTS) [fts_fd_ring]: New member.
68254         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
68255         (FCHDIR): Add parentheses.
68256         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
68257         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
68258         When descending, rather than simply closing the previous
68259         fts_cwd_fd value, push that file descriptor onto the ring.
68260         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
68261         (fts_open): Initialize the new fd_ring member.
68262         (fts_close): Clear the ring.
68263         (fts_safe_changedir): When possible, use our new fd_ring to skip
68264         the diropen and fstat and dev/ino comparison that would normally
68265         accompany a virtual `chdir ("..")'.
68266
68267         * modules/fts (Depends-on): Add i-ring.
68268         * modules/i-ring: New module.
68269         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
68270         * m4/i-ring.m4: New file.
68271
68272 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68273
68274         * gnulib-tool (func_create_testdir): Fix replacement of
68275         `build-aux' in configure.ac.  Run autotools in gltests
68276         subdirectory.
68277         (func_create_testdir, func_create_megatestdir, test): There is
68278         no need for '--force' in most autotool invocations in a new
68279         tree.  Actually fail the whole test if any of the tools, or the
68280         configure or make stages fail.
68281
68282         Sync from Automake.
68283         * build-aux/gnupload: Revert last change.  Add pointer to upload
68284         instructions of the GNU Maintenance Instructions.
68285         Suggestion by Karl Berry.
68286
68287 2006-11-10  Jim Meyering  <jim@meyering.net>
68288
68289         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
68290
68291 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68292
68293         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
68294         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
68295         (bind_textdomain_codeset) [! ENABLE_NLS]:
68296         Evaluate all the arguments.  That way, callers get compatible behavior
68297         if the arguments have side effects.  Also, it avoids some GCC
68298         diagnostics in some cases; Joel E. Denny reported problems when Bison
68299         was configured with --enable-gcc-warnigs.
68300
68301 2006-11-10  Jim Meyering  <jim@meyering.net>
68302
68303         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
68304         relevant options in CFLAGS (like -O, -fno-inline) are taken into
68305         account.
68306
68307 2006-11-10  Jim Meyering  <jim@meyering.net>
68308
68309         * modules/inline: New file/module.
68310         * modules/xalloc (Files): Remove m4/inline.m4.
68311         (Depends-on): Add inline, instead.
68312         * modules/oset: Likewise.
68313         * modules/list: Likewise.
68314
68315 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68316
68317         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
68318         Problem reported by Matthew Woehlke.
68319
68320 2006-11-09  Bruno Haible  <bruno@clisp.org>
68321
68322         * lib/tempname.c (gen_tempname): Remove variant that invokes
68323         __gen_tempname.
68324         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
68325         __gen_tempname.
68326
68327 2006-11-08  Bruno Haible  <bruno@clisp.org>
68328
68329         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
68330         to 'yes' instead of 'cross-compiling'.
68331
68332 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
68333
68334         * lib/quotearg.h (quotearg_free): New decl.
68335         * lib/quotearg.c (quotearg_free): New function.
68336         (slot0, nslots, slotvec0, slotvec):
68337         Now file-scope so that quotearg_free can get at them.
68338
68339 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68340
68341         Sync from Automake.
68342         * build-aux/gnupload: Add missing 'gnu' to example URL.
68343         Report by Karl Berry.
68344
68345 2006-11-08  Bruno Haible  <bruno@clisp.org>
68346
68347         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
68348         Suggested by Paul Eggert.
68349
68350 2006-11-08  Jim Meyering  <jim@meyering.net>
68351
68352         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
68353         It's already included if !_LIBC.
68354         (fts_safe_changedir): Add a comment.
68355
68356 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
68357
68358         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
68359         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
68360         Matthew Woehlke.
68361
68362         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
68363         definitions up, to avoid colliding with change below.
68364         (static_inline) [HAVE_INLINE]: New macro.
68365         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
68366         Provide extern decls when !HAVE_INLINE.  Do not define unless
68367         static_inline is defined, either by us or by xmalloc.c.  Use
68368         static_inline rather than static inline.
68369         (XCALLOC): Optimize sizeof(T) = 1 case.
68370         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
68371
68372 2006-11-07  Bruno Haible  <bruno@clisp.org>
68373
68374         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
68375         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
68376         AC_C_INLINE.
68377         * modules/xalloc (Files): Add m4/inline.m4.
68378
68379 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68380
68381         * README: Fix typo.
68382         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
68383         (Miscellanous Notes): ...from this.
68384
68385 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
68386
68387         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
68388         Mention that offsetof should be used instead of sizeof.
68389         From Bruno Haible.
68390
68391 2006-11-07  Bruno Haible  <bruno@clisp.org>
68392
68393         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
68394
68395 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
68396
68397         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
68398         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
68399         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
68400         (gl_tree_add_before, gl_tree_add_after):
68401         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
68402         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
68403         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
68404         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
68405         (gl_linked_add_after, gl_linked_add_at): Likewise.
68406         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
68407         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
68408         (gl_tree_add_before, gl_tree_add_after): Likewise.
68409         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
68410         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
68411         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
68412
68413 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68414
68415         * lib/gl_oset.h: Use C comment style, not C++ comment style.
68416
68417 2006-11-06  Bruno Haible  <bruno@clisp.org>
68418
68419         * m4/inline.m4: New file.
68420         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
68421         * modules/list (Files): Add m4/inline.m4.
68422         * modules/oset (Files): Likewise.
68423
68424 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
68425
68426         * lib/idcache.c: Include <stddef.h>, for offsetof.
68427         (struct userid.name): Change from char * to a flexible array member.
68428         All uses changed.
68429         * modules/idcache (Depends-on): Add flexmember.
68430
68431         * MODULES.html.sh (Core language properties): New module flexmember.
68432         * modules/flexmember, m4/flexmember.m4: New files.
68433
68434         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
68435         inline functions that are identical with the old xnmalloc_inline,
68436         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
68437         that we can avoid some unnecessary integer multiplications and
68438         divisions in the common case where the element size is known at
68439         compile time.
68440         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
68441         needed.
68442         (xnboundedmalloc): Remove.
68443         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
68444         arguments, for consistency with rest of this header.
68445         (xcharalloc): Rewrite using XNMALLOC.
68446         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
68447         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
68448         versions have been moved to lib/xalloc.h and renamed to be the
68449         non-*_inline versions.
68450         (xmalloc, xrealloc): Implement without reference to the xnmalloc
68451         and xnrealloc functions, since those functions are now inline and
68452         now call us.
68453         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
68454         renaming described above.
68455         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
68456         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
68457         captures the dependency in AC_C_INLINE.
68458
68459         New module canonicalize-lgpl, proposed by Charles Wilson in
68460         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
68461         with a few small changes afterwards.
68462         * MODULES.html.sh (File system functions): New module
68463         canonicalize-lgpl.
68464         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
68465         and canonicalize_file_name.
68466         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
68467         * modules/canonicalize-lgpl: New files.
68468
68469 2006-11-05  Bruno Haible  <bruno@clisp.org>
68470
68471         * gnulib-tool (func_import, func_create_testdir): Create directories
68472         also for files in subdirectories of lib/.
68473
68474 2006-11-05  Bruno Haible  <bruno@clisp.org>
68475
68476         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
68477         ANSI C compliant.
68478
68479 2006-11-03  Bruno Haible  <bruno@clisp.org>
68480
68481         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
68482         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
68483         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
68484         (xnboundedmalloc): New inline function.
68485         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
68486         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
68487         xmalloc.
68488         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
68489         xmalloc.
68490         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
68491         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
68492         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
68493         xmalloc.
68494         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
68495         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
68496         xmalloc.
68497         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
68498         gl_tree_add_after): Use XMALLOC instead of xmalloc.
68499         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
68500         xmalloc.
68501         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
68502         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
68503         gl_tree_add_after): Use XMALLOC instead of xmalloc.
68504         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
68505         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
68506         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
68507         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
68508
68509 2006-11-03  Bruno Haible  <bruno@clisp.org>
68510
68511         * lib/c-ctype.h [C++]: Define functions without name mangling.
68512         * lib/fwriteerror.h [C++]: Likewise.
68513         * lib/gcd.h [C++]: Likewise.
68514         * lib/linebreak.h [C++]: Likewise.
68515
68516 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
68517
68518         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
68519         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
68520         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
68521         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
68522         Check for functions and headers just once.
68523         Check for declaration of canonicalize_file_name.
68524         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
68525
68526 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
68527
68528         * gnulib-tool (func_import): Fix typo in actioncmd.
68529
68530 2006-11-02  Bruno Haible  <bruno@clisp.org>
68531
68532         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
68533         newline sequence in the Makefile.am snippet as a space, like "make"
68534         does.
68535         Reported by Roger Persson <perrog@gmail.com>.
68536
68537 2006-11-01  Bruno Haible  <bruno@clisp.org>
68538
68539         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
68540         already declared in <string.h>.
68541         * lib/strcase.h (strncasecmp): Don't declare it if yes.
68542
68543 2006-11-01  Bruno Haible  <bruno@clisp.org>
68544
68545         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
68546         * lib/strcase.h: Include <string.h>.
68547         (strcasecmp): Define to rpl_strcasecmp here.
68548
68549 2006-11-01  Bruno Haible  <bruno@clisp.org>
68550
68551         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
68552
68553 2006-11-01  Eric Blake  <ebb9@byu.net>
68554
68555         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
68556
68557         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
68558
68559 2006-10-29  Bruno Haible  <bruno@clisp.org>
68560
68561         Make it compile in C++ mode.
68562         * lib/full-write.c (full_rw): Add a cast.
68563
68564 2006-11-01  Bruno Haible  <bruno@clisp.org>
68565
68566         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
68567         be POSIX compliant.
68568         Reported by Roger Persson <perrog@gmail.com>.
68569
68570 2006-11-01  Eric Blake  <ebb9@byu.net>
68571
68572         * lib/getopt_.h: Fix comments.
68573
68574 2006-10-31  Eric Blake  <ebb9@byu.net>
68575
68576         * modules/tmpdir (Depends-on): Add sys_stat.
68577         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
68578         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
68579         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
68580         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
68581         tempname.
68582
68583 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
68584
68585         Avoid some C++ diagnostics reported by Bruno Haible.
68586         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
68587         xmalloc.
68588         (quotearg_alloc): Use xcharalloc rather than xmalloc.
68589         (struct slotvec): Move to top level.
68590         (quotearg_n_options): Rewrite to avoid xmalloc.
68591         * lib/xalloc.h (xcharalloc): New function.
68592         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
68593         [defined __cplusplus]: Add function template that provides result
68594         type propagation.  This part of the change is from Bruno Haible.
68595
68596 2006-10-29  Bruno Haible  <bruno@clisp.org>
68597
68598         Make it compile in C++ mode.
68599         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
68600         * lib/strnlen1.c (strnlen1): Cast memchr result.
68601         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
68602         * lib/clean-temp.c (string_equals, string_hash): Add casts.
68603         (create_temp_dir): Rename local variable 'template'.
68604         (compile_csharp_using_sscli): Add cast.
68605         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
68606         * lib/findprog.c (find_in_path): Likewise.
68607         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
68608         * lib/wait-process.c (register_slave_subprocess): Likewise.
68609
68610 2006-10-22  Bruno Haible  <bruno@clisp.org>
68611
68612         * modules/tsearch: New file.
68613         * lib/tsearch.h: New file.
68614         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
68615         * m4/tsearch.m4: New file.
68616         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
68617
68618 2006-10-29  Eric Blake  <ebb9@byu.net>
68619
68620         * lib/arcfour.c: Assume config.h.
68621         * lib/arctwo.c: Likewise.
68622         * lib/base64.c: Likewise.
68623         * lib/check-version.c: Likewise.
68624         * lib/crc.c: Likewise.
68625         * lib/des.c: Likewise.
68626         * lib/gc-gnulib.c: Likewise.
68627         * lib/gc-libgcrypt.c: Likewise.
68628         * lib/gc-pbkdf2-sha1.c: Likewise.
68629         * lib/getaddrinfo.c: Likewise.
68630         * lib/getdelim.c: Likewise.
68631         * lib/getline.c: Likewise.
68632         * lib/hmac-md5.c: Likewise.
68633         * lib/hmac-sha1.c: Likewise.
68634         * lib/iconvme.c: Likewise.
68635         * lib/md2.c: Likewise.
68636         * lib/md4.c: Likewise.
68637         * lib/memxor.c: Likewise.
68638         * lib/read-file.c: Likewise.
68639         * lib/readline.c: Likewise.
68640         * lib/rijndael-alg-fst.c: Likewise.
68641         * lib/rijndael-api-fst.c: Likewise.
68642         * lib/xgetdomainname.c: Likewise.
68643
68644 2006-10-28  Eric Blake  <ebb9@byu.net>
68645
68646         * lib/xstrndup.c: Assume config.h.
68647
68648 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
68649
68650         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
68651         stat-macros.h is now for our own macros, whereas stat_h is for
68652         macros in the <sys/stat.h> name space.
68653         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
68654         (STAT_MACROS_H): Remove.
68655         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
68656         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
68657         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
68658         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
68659         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
68660         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
68661         Move these macros to ...
68662         * lib/stat_.h: here.  Don't include stat-macros.h.
68663         * lib/canonicalize.c: Don't include stat-macros.h.
68664         * lib/chown.c: Likewise.
68665         * lib/euidaccess.c: Likewise.
68666         * lib/file-type.c: Likewise.
68667         * lib/filemode.c: Likewise.
68668         * lib/glob.c: Likewise.
68669         * lib/isapipe.c: Likewise.
68670         * lib/lchown.c: Likewise.
68671         * lib/lstat.c: Likewise.
68672         * lib/mkdir-p.c: Likewise.
68673         * lib/rmdir.c: Likewise.
68674         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
68675         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
68676         unless mkdir isn't declared, to speed up 'configure'.
68677         Always create sys/stat.h, since it's unlikely any real sys/stat.h
68678         would define all the S_* symbols.
68679         * modules/canonicalize (Depends-on):
68680         Depend on sys_stat, not stat-macros.
68681         * modules/chown: Likewise.
68682         * modules/euidaccess: Likewise.
68683         * modules/filemode: Likewise.
68684         * modules/file-type: Likewise.
68685         * modules/glob: Likewise.
68686         * modules/isapipe: Likewise.
68687         * modules/lchown: Likewise.
68688         * modules/lstat: Likewise.
68689         * modules/mkancesdirs: Likewise.
68690         * modules/rmdir: Likewise.
68691         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
68692         * modules/modechange: Likewise.
68693         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
68694         (configure.ac): Remove gl_STAT_MACROS.
68695         * modules/sys_stat (Depends-on): Remove stat-macros.
68696
68697 2006-10-27  Bruno Haible  <bruno@clisp.org>
68698
68699         * m4/signed.m4: Remove file.
68700         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
68701         invocation.
68702         * modules/vasnprintf (Files): Remove m4/signed.m4.
68703
68704 2006-10-27  Bruno Haible  <bruno@clisp.org>
68705
68706         Update to GNU gettext 0.16.
68707         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
68708         m4/inttypes-h.m4, m4/signed.m4.
68709         * m4/gettext.m4: Update to GNU gettext 0.16.
68710         * m4/intl.m4: New file, from GNU gettext.
68711         * m4/intldir.m4: New file, from GNU gettext.
68712         * config/srclist.txt: Update
68713
68714 2006-10-27  Eric Blake  <ebb9@byu.net>
68715
68716         * MODULES.html.sh: Document tempname.
68717         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
68718         dependencies.
68719         (Files): Move lib/tempname.c...
68720         * modules/tempname: ...to this new module.
68721         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
68722         (gl_PREREQ_TEMPNAME): Move...
68723         * m4/tempname.m4: ...to this new file.
68724         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
68725         * modules/sys_stat (Depends-on): Add stat-macros.
68726         * lib/stat_.h (includes): Pick up stat macros.
68727         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
68728         if stat macros are broken.
68729         * lib/tempname.c (includes): No need to include "stat-macros.h".
68730         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
68731         (direxists, __path_search) [!_LIBC]: Don't compile these in
68732         gnulib; the tmpdir module covers that.
68733         * lib/tempname.h: New file.
68734
68735 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
68736
68737         * COPYING: Explain how gnulib-tool converts licence headers.
68738         Almost all wording by Eric Blake.
68739
68740 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
68741
68742         * lib/mbchar.h (is_basic_table): Make read-only.
68743         * lib/mbchar.c (is_basic_table): Likewise.
68744         Reported by John Darrington.
68745
68746 2006-10-25  Bruno Haible  <bruno@clisp.org>
68747
68748         * lib/progname.h (set_program_name): Undefine before defining.
68749
68750 2006-10-25  Bruno Haible  <bruno@clisp.org>
68751
68752         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
68753         false for non-gcc C++ compilers.
68754         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
68755
68756 2006-10-24  Bruno Haible  <bruno@clisp.org>
68757
68758         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
68759         iconv implementations like Irix iconv.
68760
68761 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68762
68763         * modules/vararrays: New file.
68764         * m4/vararrays.m4: New file, taken from diffutils.
68765         * MODULES.html.sh: New module vararrays.
68766
68767 2006-10-24  Karl Berry  <karl@gnu.org>
68768
68769         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
68770         Don't call GNU Unix.
68771
68772 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68773
68774         * users.txt: Add Libtool.
68775
68776         Sync from Libtool:
68777
68778         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68779
68780         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
68781         to gnulib's policy of including config.h unconditionally.
68782
68783 2006-10-24  Bruno Haible  <bruno@clisp.org>
68784
68785         * modules/wcwidth (Files): Add m4/wint_t.m4.
68786         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
68787         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
68788
68789 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68790
68791         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
68792         to pacify GCC with some -W flags enabled.  Problem reported by
68793         Bruno Haible.
68794
68795 2006-10-24  Jim Meyering  <jim@meyering.net>
68796
68797         * MODULES.html.sh: Remove uinttostr.  It's not a module.
68798         Reported by Karl Berry.
68799
68800 2006-10-23  Bruno Haible  <bruno@clisp.org>
68801
68802         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
68803
68804 2006-10-24  Bruno Haible  <bruno@clisp.org>
68805
68806         * lib/gl_list.h: Use C comment style, not C++ comment style.
68807
68808 2006-10-23  Eric Blake  <ebb9@byu.net>
68809
68810         * lib/getaddrinfo.c (includes): Add missing include.
68811
68812 2006-10-23  Bruno Haible  <bruno@clisp.org>
68813             Paul Eggert  <eggert@cs.ucla.edu>
68814
68815         Ability to rename obstack_free.
68816         * lib/obstack.h (__obstack_free): New macro. Declare instead of
68817         obstack_free.
68818         (obstack_free): Invoke the __obstack_free macro.
68819         * lib/obstack.c (obstack_free): Use __obstack_free macro.
68820
68821 2006-10-23  Bruno Haible  <bruno@clisp.org>
68822             Paul Eggert  <eggert@cs.ucla.edu>
68823
68824         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
68825         __argc, __argv from the declaration. (They are defined as macros on
68826         mingw.)
68827
68828 2006-10-22  Bruno Haible  <bruno@clisp.org>
68829
68830         * doc/gnulib-intro.texi: New file.
68831         * doc/gnulib.texi: Include it.
68832
68833 2006-10-21  Bruno Haible  <bruno@clisp.org>
68834
68835         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
68836         "Introduction", "Miscellanous Notes", "Particular Modules".
68837
68838 2006-10-21  Bruno Haible  <bruno@clisp.org>
68839
68840         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68841         Change mostlyclean-local rule to avoid sh syntax error from bash
68842         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
68843
68844 2006-10-23  Jim Meyering  <jim@meyering.net>
68845
68846         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
68847         in place of snprintf.
68848
68849         * modules/inttostr (Files): Add lib/uinttostr.c.
68850         * lib/uinttostr.c (inttostr): New file/function.
68851         * lib/inttostr.h (uinttostr): Declare.
68852         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
68853         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
68854         Add uinttostr.
68855         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
68856
68857 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
68858
68859         * lib/canonicalize.c (ELOOP): Define if not already defined.
68860         Problem reported by Bruno Haible in
68861         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
68862
68863 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
68864
68865         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
68866         Problem reported by Perry Smith and Ville Laurikari.
68867
68868         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
68869         uses.
68870
68871 2006-10-19  Bruno Haible  <bruno@clisp.org>
68872
68873         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
68874         for mingw.
68875
68876 2006-10-19  Bruno Haible  <bruno@clisp.org>
68877
68878         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
68879         Needed for mingw.
68880
68881 2006-10-19  Bruno Haible  <bruno@clisp.org>
68882
68883         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
68884
68885 2006-10-19  Bruno Haible  <bruno@clisp.org>
68886
68887         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
68888         it.
68889
68890 2006-10-19  Bruno Haible  <bruno@clisp.org>
68891
68892         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
68893         invocation.
68894
68895 2006-10-19  Bruno Haible  <bruno@clisp.org>
68896
68897         * gnulib-tool (func_create_testdir): Don't include ftruncate and
68898         mountlist by default.
68899
68900 2006-10-16  Bruno Haible  <bruno@clisp.org>
68901
68902         * lib/c-strstr.c: Include c-strstr.h.
68903
68904 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
68905
68906         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
68907         in a slash.
68908
68909 2006-10-18  Bruno Haible  <bruno@clisp.org>
68910
68911         * lib/lock.h [C++]: Wrap definitions in extern "C".
68912
68913 2006-10-18  Bruno Haible  <bruno@clisp.org>
68914
68915         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
68916         gl_LIBOBJS list.
68917
68918 2006-10-18  Bruno Haible  <bruno@clisp.org>
68919
68920         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
68921
68922 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
68923
68924         * lib/xstrtol.h: Include gettext.h.
68925         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
68926         Problem reported by Eric Blake.
68927         * modules/xstrtol (Depends-on): Add gettext-h.
68928
68929 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
68930
68931         * lib/strftime.c (advance): New macro.
68932         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
68933         incomplete type, so you can't add 0 to it.  Problem and patch
68934         reported by Eelco Dolstra for dietlibc.
68935
68936 2006-10-18  Jim Meyering  <jim@meyering.net>
68937
68938         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
68939         type for a local, and rename it: s/up/user_proc/.
68940
68941 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
68942
68943         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
68944         READ_UTMP_USER_PROCESS.
68945         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
68946
68947 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
68948
68949         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
68950         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
68951
68952 2006-10-17  Eric Blake  <ebb9@byu.net>
68953
68954         * lib/sigprocmask.c (sigprocmask): Fix typo.
68955
68956         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
68957
68958         * modules/clean-temp (Makefile.am): Don't add to make output...
68959         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
68960         config.h.
68961
68962 2006-10-17  Bruno Haible  <bruno@clisp.org>
68963
68964         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
68965         differently if DEFAULT_TEXT_DOMAIN is set.
68966
68967 2006-10-16  Bruno Haible  <bruno@clisp.org>
68968
68969         * lib/clean-temp.c: Include fwriteerror.h.
68970
68971 2006-10-16  Bruno Haible  <bruno@clisp.org>
68972
68973         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
68974
68975 2006-10-16  Bruno Haible  <bruno@clisp.org>
68976
68977         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
68978         * lib/sigprocmask.h: Include <sys/types.h>.
68979         (sigset_t): Use the system's definition if present.
68980
68981 2006-10-17  Eric Blake  <ebb9@byu.net>
68982
68983         * lib/xvasprintf.c (includes): Assume config.h.
68984         * lib/xasprintf.c (includes): Likewise.
68985
68986 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
68987
68988         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
68989         at least as wide as intmax_t.
68990
68991 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
68992
68993         (Imported from Automake.)
68994         * build-aux/gnupload: Update to version 1.1 of directive file.
68995
68996 2006-10-16  Eric Blake  <ebb9@byu.net>
68997
68998         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
68999         match Automake 1.10a.
69000
69001 2006-10-14  Bruno Haible  <bruno@clisp.org>
69002
69003         * modules/sigprocmask: New file.
69004         * lib/sigprocmask.h: New file.
69005         * lib/sigprocmask.c: New file.
69006         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
69007         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
69008         request sigprocmask.o.
69009         (gl_PREREQ_SIGPROCMASK): New macro.
69010         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
69011         (Depends-on): Add sigprocmask.
69012         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
69013         gt_SIGNALBLOCKING. Test for 'raise' only once.
69014         * lib/fatal-signal.c: Include sigprocmask.h.
69015         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
69016         unblock_fatal_signals): Define always.
69017         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69018         sigprocmask.
69019
69020 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
69021
69022         Sync from Automake.
69023         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
69024         which incorrectly sets the mode of an existing destination
69025         directory.  In some cases the unpatched install-sh could do the
69026         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
69027         system.  We hope this is rare in practice, but it's clearly worth
69028         fixing.  Problem reported by Alex Unleashed in
69029         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
69030         Also, don't bother to check for -m bugs unless we're using -m;
69031         suggested by Stepan Kasal.
69032
69033 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69034
69035         Sync from Automake.
69036         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
69037         `-c' flag, so they appear at the same position as in %FASTDEP%
69038         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
69039         which ignores unknown options only after the first non-option.
69040         Bug report against M4 by Nelson H. F. Beebe.
69041
69042 2006-10-13  Jim Meyering  <jim@meyering.net>
69043
69044         Fix a bug in yesterday's change.
69045         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
69046         p->fts_statp->st_dev would be used uninitialized.
69047         Ensures that we always call fts_stat on the very first entry.
69048         Miklos Szeredi reported that find -xdev stopped working.
69049
69050 2006-10-12  Bruno Haible  <bruno@clisp.org>
69051
69052         * gnulib-tool (func_get_automake_snippet): Append an automatically
69053         computed EXTRA_DIST augmentation.
69054         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
69055         * modules/alloca-opt (Makefile.am): Likewise.
69056         * modules/allocsa (Makefile.am): Likewise.
69057         * modules/arcfour (Makefile.am): Likewise.
69058         * modules/arctwo (Makefile.am): Likewise.
69059         * modules/argmatch (Makefile.am): Likewise.
69060         * modules/argz (Makefile.am): Likewise.
69061         * modules/atexit (Makefile.am): Likewise.
69062         * modules/backupfile (Makefile.am): Likewise.
69063         * modules/byteswap (Makefile.am): Likewise.
69064         * modules/c-strtod (Makefile.am): Likewise.
69065         * modules/c-strtold (Makefile.am): Likewise.
69066         * modules/calloc (Makefile.am): Likewise.
69067         * modules/canon-host (Makefile.am): Likewise.
69068         * modules/canonicalize (Makefile.am): Likewise.
69069         * modules/chdir-long (Makefile.am): Likewise.
69070         * modules/chdir-safer (Makefile.am): Likewise.
69071         * modules/check-version (Makefile.am): Likewise.
69072         * modules/chown (Makefile.am): Likewise.
69073         * modules/cloexec (Makefile.am): Likewise.
69074         * modules/close-stream (Makefile.am): Likewise.
69075         * modules/closeout (Makefile.am): Likewise.
69076         * modules/crc (Makefile.am): Likewise.
69077         * modules/csharpexec (Makefile.am): Likewise.
69078         * modules/cycle-check (Makefile.am): Likewise.
69079         * modules/des (Makefile.am): Likewise.
69080         * modules/dev-ino (Makefile.am): Likewise.
69081         * modules/dirfd (Makefile.am): Likewise.
69082         * modules/dirname (Makefile.am): Likewise.
69083         * modules/dup2 (Makefile.am): Likewise.
69084         * modules/eealloc (Makefile.am): Likewise.
69085         * modules/error (Makefile.am): Likewise.
69086         * modules/euidaccess (Makefile.am): Likewise.
69087         * modules/exclude (Makefile.am): Likewise.
69088         * modules/exitfail (Makefile.am): Likewise.
69089         * modules/fcntl-safer (Makefile.am): Likewise.
69090         * modules/fcntl (Makefile.am): Likewise.
69091         * modules/file-type (Makefile.am): Likewise.
69092         * modules/fileblocks (Makefile.am): Likewise.
69093         * modules/filemode (Makefile.am): Likewise.
69094         * modules/filenamecat (Makefile.am): Likewise.
69095         * modules/fnmatch (Makefile.am): Likewise.
69096         * modules/fopen-safer (Makefile.am): Likewise.
69097         * modules/fpending (Makefile.am): Likewise.
69098         * modules/fprintftime (Makefile.am): Likewise.
69099         * modules/free (Makefile.am): Likewise.
69100         * modules/fsusage (Makefile.am): Likewise.
69101         * modules/ftruncate (Makefile.am): Likewise.
69102         * modules/fts (Makefile.am): Likewise.
69103         * modules/gc-arcfour (Makefile.am): Likewise.
69104         * modules/gc-des (Makefile.am): Likewise.
69105         * modules/gc-hmac-md5 (Makefile.am): Likewise.
69106         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
69107         * modules/gc-md4 (Makefile.am): Likewise.
69108         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
69109         * modules/gc-sha1 (Makefile.am): Likewise.
69110         * modules/gc (Makefile.am): Likewise.
69111         * modules/getaddrinfo (Makefile.am): Likewise.
69112         * modules/getcwd (Makefile.am): Likewise.
69113         * modules/getdelim (Makefile.am): Likewise.
69114         * modules/getdomainname (Makefile.am): Likewise.
69115         * modules/getgroups (Makefile.am): Likewise.
69116         * modules/gethostname (Makefile.am): Likewise.
69117         * modules/gethrxtime (Makefile.am): Likewise.
69118         * modules/getline (Makefile.am): Likewise.
69119         * modules/getloadavg (Makefile.am): Likewise.
69120         * modules/getlogin_r (Makefile.am): Likewise.
69121         * modules/getndelim2 (Makefile.am): Likewise.
69122         * modules/getopt (Makefile.am): Likewise.
69123         * modules/getpagesize (Makefile.am): Likewise.
69124         * modules/getpass-gnu (Makefile.am): Likewise.
69125         * modules/getpass (Makefile.am): Likewise.
69126         * modules/getsubopt (Makefile.am): Likewise.
69127         * modules/gettime (Makefile.am): Likewise.
69128         * modules/gettimeofday (Makefile.am): Likewise.
69129         * modules/getugroups (Makefile.am): Likewise.
69130         * modules/getusershell (Makefile.am): Likewise.
69131         * modules/glob (Makefile.am): Likewise.
69132         * modules/group-member (Makefile.am): Likewise.
69133         * modules/hard-locale (Makefile.am): Likewise.
69134         * modules/hash (Makefile.am): Likewise.
69135         * modules/hmac-md5 (Makefile.am): Likewise.
69136         * modules/hmac-sha1 (Makefile.am): Likewise.
69137         * modules/human (Makefile.am): Likewise.
69138         * modules/idcache (Makefile.am): Likewise.
69139         * modules/imaxabs (Makefile.am): Likewise.
69140         * modules/imaxdiv (Makefile.am): Likewise.
69141         * modules/inet_ntop (Makefile.am): Likewise.
69142         * modules/inet_pton (Makefile.am): Likewise.
69143         * modules/intprops (Makefile.am): Likewise.
69144         * modules/inttostr (Makefile.am): Likewise.
69145         * modules/inttypes (Makefile.am): Likewise.
69146         * modules/isapipe (Makefile.am): Likewise.
69147         * modules/javaversion (Makefile.am): Likewise.
69148         * modules/lchmod (Makefile.am): Likewise.
69149         * modules/lchown (Makefile.am): Likewise.
69150         * modules/localcharset (Makefile.am): Likewise.
69151         * modules/long-options (Makefile.am): Likewise.
69152         * modules/lstat (Makefile.am): Likewise.
69153         * modules/malloc (Makefile.am): Likewise.
69154         * modules/mathl (Makefile.am): Likewise.
69155         * modules/mbchar (Makefile.am): Likewise.
69156         * modules/md2 (Makefile.am): Likewise.
69157         * modules/md4 (Makefile.am): Likewise.
69158         * modules/md5 (Makefile.am): Likewise.
69159         * modules/memcasecmp (Makefile.am): Likewise.
69160         * modules/memchr (Makefile.am): Likewise.
69161         * modules/memcmp (Makefile.am): Likewise.
69162         * modules/memcoll (Makefile.am): Likewise.
69163         * modules/memcpy (Makefile.am): Likewise.
69164         * modules/memmem (Makefile.am): Likewise.
69165         * modules/memmove (Makefile.am): Likewise.
69166         * modules/mempcpy (Makefile.am): Likewise.
69167         * modules/memrchr (Makefile.am): Likewise.
69168         * modules/memset (Makefile.am): Likewise.
69169         * modules/memxor (Makefile.am): Likewise.
69170         * modules/mkancesdirs (Makefile.am): Likewise.
69171         * modules/mkdir-p (Makefile.am): Likewise.
69172         * modules/mkdir (Makefile.am): Likewise.
69173         * modules/mkdtemp (Makefile.am): Likewise.
69174         * modules/mkstemp (Makefile.am): Likewise.
69175         * modules/mktime (Makefile.am): Likewise.
69176         * modules/modechange (Makefile.am): Likewise.
69177         * modules/mountlist (Makefile.am): Likewise.
69178         * modules/nanosleep (Makefile.am): Likewise.
69179         * modules/obstack (Makefile.am): Likewise.
69180         * modules/openat (Makefile.am): Likewise.
69181         * modules/pagealign_alloc (Makefile.am): Likewise.
69182         * modules/pathmax (Makefile.am): Likewise.
69183         * modules/physmem (Makefile.am): Likewise.
69184         * modules/poll (Makefile.am): Likewise.
69185         * modules/posixtm (Makefile.am): Likewise.
69186         * modules/posixver (Makefile.am): Likewise.
69187         * modules/putenv (Makefile.am): Likewise.
69188         * modules/quote (Makefile.am): Likewise.
69189         * modules/quotearg (Makefile.am): Likewise.
69190         * modules/raise (Makefile.am): Likewise.
69191         * modules/read-file (Makefile.am): Likewise.
69192         * modules/readline (Makefile.am): Likewise.
69193         * modules/readlink (Makefile.am): Likewise.
69194         * modules/readtokens (Makefile.am): Likewise.
69195         * modules/readutmp (Makefile.am): Likewise.
69196         * modules/realloc (Makefile.am): Likewise.
69197         * modules/regex (Makefile.am): Likewise.
69198         * modules/rename-dest-slash (Makefile.am): Likewise.
69199         * modules/rename (Makefile.am): Likewise.
69200         * modules/rijndael (Makefile.am): Likewise.
69201         * modules/rmdir (Makefile.am): Likewise.
69202         * modules/rpmatch (Makefile.am): Likewise.
69203         * modules/safe-read (Makefile.am): Likewise.
69204         * modules/safe-write (Makefile.am): Likewise.
69205         * modules/same-inode (Makefile.am): Likewise.
69206         * modules/same (Makefile.am): Likewise.
69207         * modules/save-cwd (Makefile.am): Likewise.
69208         * modules/savedir (Makefile.am): Likewise.
69209         * modules/setenv (Makefile.am): Likewise.
69210         * modules/settime (Makefile.am): Likewise.
69211         * modules/sha1 (Makefile.am): Likewise.
69212         * modules/sig2str (Makefile.am): Likewise.
69213         * modules/snprintf (Makefile.am): Likewise.
69214         * modules/stat-macros (Makefile.am): Likewise.
69215         * modules/stat-time (Makefile.am): Likewise.
69216         * modules/stdbool (Makefile.am): Likewise.
69217         * modules/stdint (Makefile.am): Likewise.
69218         * modules/stdlib-safer (Makefile.am): Likewise.
69219         * modules/stpcpy (Makefile.am): Likewise.
69220         * modules/stpncpy (Makefile.am): Likewise.
69221         * modules/strcase (Makefile.am): Likewise.
69222         * modules/strcasestr (Makefile.am): Likewise.
69223         * modules/strchrnul (Makefile.am): Likewise.
69224         * modules/strcspn (Makefile.am): Likewise.
69225         * modules/strdup (Makefile.am): Likewise.
69226         * modules/strerror (Makefile.am): Likewise.
69227         * modules/strftime (Makefile.am): Likewise.
69228         * modules/strndup (Makefile.am): Likewise.
69229         * modules/strnlen (Makefile.am): Likewise.
69230         * modules/strpbrk (Makefile.am): Likewise.
69231         * modules/strsep (Makefile.am): Likewise.
69232         * modules/strstr (Makefile.am): Likewise.
69233         * modules/strtod (Makefile.am): Likewise.
69234         * modules/strtoimax (Makefile.am): Likewise.
69235         * modules/strtok_r (Makefile.am): Likewise.
69236         * modules/strtol (Makefile.am): Likewise.
69237         * modules/strtoll (Makefile.am): Likewise.
69238         * modules/strtoul (Makefile.am): Likewise.
69239         * modules/strtoull (Makefile.am): Likewise.
69240         * modules/strtoumax (Makefile.am): Likewise.
69241         * modules/strverscmp (Makefile.am): Likewise.
69242         * modules/sys_socket (Makefile.am): Likewise.
69243         * modules/sys_stat (Makefile.am): Likewise.
69244         * modules/sysexits (Makefile.am): Likewise.
69245         * modules/time_r (Makefile.am): Likewise.
69246         * modules/timegm (Makefile.am): Likewise.
69247         * modules/timespec (Makefile.am): Likewise.
69248         * modules/tmpfile-safer (Makefile.am): Likewise.
69249         * modules/trim (Makefile.am): Likewise.
69250         * modules/unistd-safer (Makefile.am): Likewise.
69251         * modules/unlinkdir (Makefile.am): Likewise.
69252         * modules/unlocked-io (Makefile.am): Likewise.
69253         * modules/userspec (Makefile.am): Likewise.
69254         * modules/utime (Makefile.am): Likewise.
69255         * modules/utimecmp (Makefile.am): Likewise.
69256         * modules/utimens (Makefile.am): Likewise.
69257         * modules/vasnprintf (Makefile.am): Likewise.
69258         * modules/vasprintf (Makefile.am): Likewise.
69259         * modules/vsnprintf (Makefile.am): Likewise.
69260         * modules/xalloc (Makefile.am): Likewise.
69261         * modules/xgetcwd (Makefile.am): Likewise.
69262         * modules/xnanosleep (Makefile.am): Likewise.
69263         * modules/xreadlink (Makefile.am): Likewise.
69264         * modules/xstrtod (Makefile.am): Likewise.
69265         * modules/xstrtol (Makefile.am): Likewise.
69266         * modules/xstrtold (Makefile.am): Likewise.
69267         * modules/yesno (Makefile.am): Likewise.
69268         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
69269
69270 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
69271
69272         * modules/error (Makefile.am): Distribute files through
69273         EXTRA_DIST, not lib_SOURCES.
69274
69275 2006-10-12  Eric Blake  <ebb9@byu.net>
69276
69277         * modules/error (Makefile.am): Distribute files in /lib.
69278         * modules/obstack (Makefile.am): Likewise.
69279
69280 2006-10-12  Bruno Haible  <bruno@clisp.org>
69281
69282         * modules/acl (Makefile.am): Distribute all files in lib/ through
69283         EXTRA_DIST.
69284         * modules/arcfour (Makefile.am): Likewise.
69285         * modules/arctwo (Makefile.am): Likewise.
69286         * modules/argmatch (Makefile.am): Likewise.
69287         * modules/argz (Makefile.am): Likewise.
69288         * modules/atexit (Makefile.am): Likewise.
69289         * modules/backupfile (Makefile.am): Likewise.
69290         * modules/c-strtod (Makefile.am): Likewise.
69291         * modules/c-strtold (Makefile.am): Likewise.
69292         * modules/calloc (Makefile.am): Likewise.
69293         * modules/canon-host (Makefile.am): Likewise.
69294         * modules/canonicalize (Makefile.am): Likewise.
69295         * modules/chdir-long (Makefile.am): Likewise.
69296         * modules/chdir-safer (Makefile.am): Likewise.
69297         * modules/check-version (Makefile.am): Likewise.
69298         * modules/chown (Makefile.am): Likewise.
69299         * modules/cloexec (Makefile.am): Likewise.
69300         * modules/close-stream (Makefile.am): Likewise.
69301         * modules/closeout (Makefile.am): Likewise.
69302         * modules/crc (Makefile.am): Likewise.
69303         * modules/cycle-check (Makefile.am): Likewise.
69304         * modules/des (Makefile.am): Likewise.
69305         * modules/dirfd (Makefile.am): Likewise.
69306         * modules/dirname (Makefile.am): Likewise.
69307         * modules/dup2 (Makefile.am): Likewise.
69308         * modules/euidaccess (Makefile.am): Likewise.
69309         * modules/exclude (Makefile.am): Likewise.
69310         * modules/exitfail (Makefile.am): Likewise.
69311         * modules/fcntl-safer (Makefile.am): Likewise.
69312         * modules/file-type (Makefile.am): Likewise.
69313         * modules/fileblocks (Makefile.am): Likewise.
69314         * modules/filemode (Makefile.am): Likewise.
69315         * modules/filenamecat (Makefile.am): Likewise.
69316         * modules/fnmatch (Makefile.am): Likewise.
69317         * modules/fopen-safer (Makefile.am): Likewise.
69318         * modules/fpending (Makefile.am): Likewise.
69319         * modules/fprintftime (Makefile.am): Likewise.
69320         * modules/free (Makefile.am): Likewise.
69321         * modules/fsusage (Makefile.am): Likewise.
69322         * modules/ftruncate (Makefile.am): Likewise.
69323         * modules/fts (Makefile.am): Likewise.
69324         * modules/gc (Makefile.am): Likewise.
69325         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
69326         * modules/getaddrinfo (Makefile.am): Likewise.
69327         * modules/getcwd (Makefile.am): Likewise.
69328         * modules/getdelim (Makefile.am): Likewise.
69329         * modules/getdomainname (Makefile.am): Likewise.
69330         * modules/getgroups (Makefile.am): Likewise.
69331         * modules/gethostname (Makefile.am): Likewise.
69332         * modules/gethrxtime (Makefile.am): Likewise.
69333         * modules/getline (Makefile.am): Likewise.
69334         * modules/getloadavg (Makefile.am): Likewise.
69335         * modules/getlogin_r (Makefile.am): Likewise.
69336         * modules/getopt (Makefile.am): Likewise.
69337         * modules/getpass (Makefile.am): Likewise.
69338         * modules/getpass-gnu (Makefile.am): Likewise.
69339         * modules/getsubopt (Makefile.am): Likewise.
69340         * modules/gettime (Makefile.am): Likewise.
69341         * modules/gettimeofday (Makefile.am): Likewise.
69342         * modules/getugroups (Makefile.am): Likewise.
69343         * modules/getusershell (Makefile.am): Likewise.
69344         * modules/glob (Makefile.am): Likewise.
69345         * modules/group-member (Makefile.am): Likewise.
69346         * modules/hard-locale (Makefile.am): Likewise.
69347         * modules/hash (Makefile.am): Likewise.
69348         * modules/hmac-md5 (Makefile.am): Likewise.
69349         * modules/hmac-sha1 (Makefile.am): Likewise.
69350         * modules/human (Makefile.am): Likewise.
69351         * modules/idcache (Makefile.am): Likewise.
69352         * modules/imaxabs (Makefile.am): Likewise.
69353         * modules/imaxdiv (Makefile.am): Likewise.
69354         * modules/inet_ntop (Makefile.am): Likewise.
69355         * modules/inet_pton (Makefile.am): Likewise.
69356         * modules/inttostr (Makefile.am): Likewise.
69357         * modules/isapipe (Makefile.am): Likewise.
69358         * modules/lchown (Makefile.am): Likewise.
69359         * modules/long-options (Makefile.am): Likewise.
69360         * modules/lstat (Makefile.am): Likewise.
69361         * modules/malloc (Makefile.am): Likewise.
69362         * modules/mathl (Makefile.am): Likewise.
69363         * modules/mbchar (Makefile.am): Likewise.
69364         * modules/md2 (Makefile.am): Likewise.
69365         * modules/md4 (Makefile.am): Likewise.
69366         * modules/md5 (Makefile.am): Likewise.
69367         * modules/memcasecmp (Makefile.am): Likewise.
69368         * modules/memchr (Makefile.am): Likewise.
69369         * modules/memcmp (Makefile.am): Likewise.
69370         * modules/memcoll (Makefile.am): Likewise.
69371         * modules/memcpy (Makefile.am): Likewise.
69372         * modules/memmem (Makefile.am): Likewise.
69373         * modules/memmove (Makefile.am): Likewise.
69374         * modules/mempcpy (Makefile.am): Likewise.
69375         * modules/memrchr (Makefile.am): Likewise.
69376         * modules/memset (Makefile.am): Likewise.
69377         * modules/memxor (Makefile.am): Likewise.
69378         * modules/mkancesdirs (Makefile.am): Likewise.
69379         * modules/mkdir (Makefile.am): Likewise.
69380         * modules/mkdir-p (Makefile.am): Likewise.
69381         * modules/mkdtemp (Makefile.am): Likewise.
69382         * modules/mkstemp (Makefile.am): Likewise.
69383         * modules/mktime (Makefile.am): Likewise.
69384         * modules/modechange (Makefile.am): Likewise.
69385         * modules/mountlist (Makefile.am): Likewise.
69386         * modules/nanosleep (Makefile.am): Likewise.
69387         * modules/openat (Makefile.am): Likewise.
69388         * modules/pagealign_alloc (Makefile.am): Likewise.
69389         * modules/physmem (Makefile.am): Likewise.
69390         * modules/poll (Makefile.am): Likewise.
69391         * modules/posixtm (Makefile.am): Likewise.
69392         * modules/posixver (Makefile.am): Likewise.
69393         * modules/putenv (Makefile.am): Likewise.
69394         * modules/quote (Makefile.am): Likewise.
69395         * modules/quotearg (Makefile.am): Likewise.
69396         * modules/raise (Makefile.am): Likewise.
69397         * modules/read-file (Makefile.am): Likewise.
69398         * modules/readline (Makefile.am): Likewise.
69399         * modules/readlink (Makefile.am): Likewise.
69400         * modules/readtokens (Makefile.am): Likewise.
69401         * modules/readutmp (Makefile.am): Likewise.
69402         * modules/realloc (Makefile.am): Likewise.
69403         * modules/regex (Makefile.am): Likewise.
69404         * modules/rename (Makefile.am): Likewise.
69405         * modules/rename-dest-slash (Makefile.am): Likewise.
69406         * modules/rijndael (Makefile.am): Likewise.
69407         * modules/rmdir (Makefile.am): Likewise.
69408         * modules/rpmatch (Makefile.am): Likewise.
69409         * modules/safe-read (Makefile.am): Likewise.
69410         * modules/safe-write (Makefile.am): Likewise.
69411         * modules/same (Makefile.am): Likewise.
69412         * modules/save-cwd (Makefile.am): Likewise.
69413         * modules/savedir (Makefile.am): Likewise.
69414         * modules/setenv (Makefile.am): Likewise.
69415         * modules/settime (Makefile.am): Likewise.
69416         * modules/sha1 (Makefile.am): Likewise.
69417         * modules/sig2str (Makefile.am): Likewise.
69418         * modules/snprintf (Makefile.am): Likewise.
69419         * modules/stdlib-safer (Makefile.am): Likewise.
69420         * modules/stpcpy (Makefile.am): Likewise.
69421         * modules/stpncpy (Makefile.am): Likewise.
69422         * modules/strcase (Makefile.am): Likewise.
69423         * modules/strcasestr (Makefile.am): Likewise.
69424         * modules/strchrnul (Makefile.am): Likewise.
69425         * modules/strcspn (Makefile.am): Likewise.
69426         * modules/strdup (Makefile.am): Likewise.
69427         * modules/strerror (Makefile.am): Likewise.
69428         * modules/strftime (Makefile.am): Likewise.
69429         * modules/strndup (Makefile.am): Likewise.
69430         * modules/strnlen (Makefile.am): Likewise.
69431         * modules/strpbrk (Makefile.am): Likewise.
69432         * modules/strsep (Makefile.am): Likewise.
69433         * modules/strstr (Makefile.am): Likewise.
69434         * modules/strtod (Makefile.am): Likewise.
69435         * modules/strtoimax (Makefile.am): Likewise.
69436         * modules/strtok_r (Makefile.am): Likewise.
69437         * modules/strtol (Makefile.am): Likewise.
69438         * modules/strtoll (Makefile.am): Likewise.
69439         * modules/strtoul (Makefile.am): Likewise.
69440         * modules/strtoull (Makefile.am): Likewise.
69441         * modules/strtoumax (Makefile.am): Likewise.
69442         * modules/strverscmp (Makefile.am): Likewise.
69443         * modules/time_r (Makefile.am): Likewise.
69444         * modules/timegm (Makefile.am): Likewise.
69445         * modules/tmpfile-safer (Makefile.am): Likewise.
69446         * modules/unistd-safer (Makefile.am): Likewise.
69447         * modules/unlinkdir (Makefile.am): Likewise.
69448         * modules/userspec (Makefile.am): Likewise.
69449         * modules/utime (Makefile.am): Likewise.
69450         * modules/utimecmp (Makefile.am): Likewise.
69451         * modules/utimens (Makefile.am): Likewise.
69452         * modules/vasnprintf (Makefile.am): Likewise.
69453         * modules/vasprintf (Makefile.am): Likewise.
69454         * modules/vsnprintf (Makefile.am): Likewise.
69455         * modules/xalloc (Makefile.am): Likewise.
69456         * modules/xgetcwd (Makefile.am): Likewise.
69457         * modules/xnanosleep (Makefile.am): Likewise.
69458         * modules/xreadlink (Makefile.am): Likewise.
69459         * modules/xstrtod (Makefile.am): Likewise.
69460         * modules/xstrtol (Makefile.am): Likewise.
69461         * modules/xstrtold (Makefile.am): Likewise.
69462         * modules/yesno (Makefile.am): Likewise.
69463
69464 2006-10-12  Jim Meyering  <jim@meyering.net>
69465
69466         * m4/getloadavg.m4: Revert the change below.
69467
69468         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
69469         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
69470         fail with a symlink, which is what coreutils' ./bootstrap now
69471         creates by default.
69472
69473 2006-10-12  Bruno Haible  <bruno@clisp.org>
69474
69475         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
69476         mingw.
69477         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
69478         MSVC and mingw explicitly.
69479
69480 2006-10-11  Simon Josefsson  <jas@extundo.com>
69481             Bruno Haible  <bruno@clisp.org>
69482
69483         Add support for multiple gnulib-tool invocations in the scope of a
69484         single configure.ac file.
69485         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
69486         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
69487         with the same contents as the _LIBADD variable.
69488         (func_emit_initmacro_start, func_emit_initmacro_end,
69489         func_emit_initmacro_done): New functions.
69490         (func_import, func_create_testdir): Invoke them. Allow the identifiers
69491         gl_LIBOBJS and gl_LTLIBOBJS.
69492
69493 2006-10-11  Bruno Haible  <bruno@clisp.org>
69494
69495         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
69496         (func_create_testdir): Don't create po/Makefile.am, don't invoke
69497         autoreconf. Instead, invoke autopoint explicitly but move back the
69498         *.m4 files from gnulib.
69499
69500 2006-10-11  Bruno Haible  <bruno@clisp.org>
69501
69502         * gnulib-tool (func_usage): Make module names after --create-testdir
69503         optional.
69504         (func_create_testdir): If no module was specified, use nearly all
69505         modules.
69506
69507 2006-10-12  Jim Meyering  <jim@meyering.net>
69508
69509         Big performance improvement for fts-based tools that use FTS_NOSTAT.
69510         Avoid spurious inode-mismatch problems on non-POSIX file systems.
69511         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
69512         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
69513         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
69514         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
69515         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
69516         (fts_set_stat_required): New function.
69517         (fts_open): Defer the calls to fts_stat, if possible or requested.
69518         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
69519         into fts_stat itself.
69520         (fts_read): Perform any required (deferred) fts_stat call.
69521         (fts_build): Likewise, for the directory we're about to open and read.
69522         In the readdir loop, carefully decide whether each entry will require
69523         an eventual call to fts_stat, using dirent.d_type info if available.
69524         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
69525         a command line argument into this function.  Update all callers.
69526         Map a return value of FTS_DOT to FTS_D for a command line argument.
69527         * modules/fts (Depends-on): Add d-type.  Alphabetize.
69528         Thanks to Miklos Szeredi for his tenacity and for the initial
69529         bug report about "find" failing on a FUSE-based file system.
69530
69531         * lib/fts.c (fts_open): Use consistent indentation.
69532
69533 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
69534
69535         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
69536         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
69537         reported by Jim Meyering.  All uses of cache variables renamed
69538         to match Autoconf's.
69539         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
69540         the other one.
69541
69542         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
69543         Fix misspelling in diagnostic.
69544
69545 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
69546
69547         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
69548         defined.  Problem reported by Matthew Woehlke.
69549
69550         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
69551         Add support for Tandem NonStop R series.
69552         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
69553         Use new macro.
69554
69555         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
69556         (has_trailing_slash): Omit size arg; all callers changed.
69557         Omit 'inline', since it doesn't help performance and we'd
69558         need to configure it.
69559         Don't count //, ///, etc. as having a trailing slash.
69560         As a side effect, this removes a C99ism reported by Matthew Woehlke.
69561         (rpl_rename_dest_slash): On failure, use rename's errno rather
69562         than (in some cases) an incorrect or junk errno.
69563         Simplify code by removing need to compute length; this does
69564         cause it to make two passes instead of one over the file name,
69565         but it's worth it.
69566
69567         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
69568         change, since Autoconf's version may no longer be appropriate now
69569         that we are using CVS Autoconf's version.  Add support for Tandem.
69570
69571 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
69572             Bruno Haible  <bruno@clisp.org>
69573
69574         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
69575         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
69576         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
69577         gl_AC_TYPE_LONG_LONG.
69578
69579         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
69580         instead of HAVE_LONG_LONG.
69581         * lib/printf-args.c (printf_fetchargs): Likewise.
69582         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
69583         * lib/vasnprintf.c (VASNPRINTF): Likewise.
69584         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
69585         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
69586         gl_AC_TYPE_LONG_LONG.
69587
69588 2006-10-11  Bruno Haible  <bruno@clisp.org>
69589
69590         * m4/longlong.m4: Add comments.
69591         * m4/ulonglong.m4: Likewise.
69592
69593 2006-10-10  Bruno Haible  <bruno@clisp.org>
69594
69595         Make it possible to #define stpcpy, strdup to aliases.
69596         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
69597         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
69598
69599 2006-10-10  Bruno Haible  <bruno@clisp.org>
69600
69601         Make it possible to #define gcd to an alias.
69602         * lib/gcd.c: Include config.h.
69603
69604 2006-10-10  Bruno Haible  <bruno@clisp.org>
69605
69606         Make it possible to #define c_isascii to an alias.
69607         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
69608         defined. Undefine the macros before defining them, to avoid gcc
69609         warnings.
69610         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
69611         define NO_C_CTYPE_MACROS early.
69612
69613 2006-10-10  Bruno Haible  <bruno@clisp.org>
69614
69615         Make it possible to #define set_program_name to an alias.
69616         * lib/progname.c: Don't undefine set_program_name; instead, undefine
69617         ENABLE_RELOCATABLE early.
69618
69619 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
69620
69621         Port to Tandem NSK OSS, which has 64-bit signed int but at most
69622         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
69623         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
69624         More generally, don't assume that 64-bit signed int is available
69625         if unsigned int is, and vice versa.
69626         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
69627         unsigned symbols, not on their signed counterparts.
69628         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
69629         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
69630         (UINT64_C, UINTMAX_C):
69631         Likewise.
69632         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
69633         unsigned counterparts.
69634         (Have_long_long, Unsigned): New macros.
69635         (Int): Renamed from INT.
69636         (strtoimax): Use the new macros.
69637         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
69638         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
69639         * modules/inttypes (inttypes.h): Substitute
69640         HAVE_UNSIGNED_LONG_LONG_INT.
69641         * modules/stdint (stdint.h): Likewise.
69642         (Files): Add m4/ulonglong.m4.
69643
69644 2006-10-10  Bruno Haible  <bruno@clisp.org>
69645
69646         Fix a gcc -Wshadow warning.
69647         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
69648         to 'bucket'.
69649         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
69650         gl_linked_indexof_from_to): Likewise.
69651         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
69652         Likewise.
69653         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
69654         Likewise.
69655         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
69656         Reported by Eric Blake.
69657
69658 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
69659
69660         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
69661         for NetBSD.  Problem reported by Bruno Haible.
69662
69663 2006-10-09  Jim Meyering  <jim@meyering.net>
69664
69665         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
69666         Patch from Bruno Haible.
69667
69668 2006-10-09  Jim Meyering  <jim@meyering.net>
69669
69670         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
69671         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
69672         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
69673
69674 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
69675
69676         Don't include <config.h> twice; this doesn't work in some cases,
69677         e.g., when config.h has "#define intmax_t long long int" and
69678         we include <config.h>, <inttypes.h>, <config.h> in that order.
69679         Problem reported by Matthew Woehlke in:
69680         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
69681         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
69682         * lib/fts-cycle.c: Don't include config.h.
69683         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
69684         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
69685         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
69686         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
69687         inttypes.h.
69688         * lib/xstrtoumax.c: Likewise.
69689         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
69690         __strtol and the like, so that this module is more like its siblings.
69691         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
69692         Remove; no longer needed now that we assume gnulib inttypes.h.
69693
69694 2006-10-08  Bruno Haible  <bruno@clisp.org>
69695
69696         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
69697         option.
69698
69699 2006-10-07  Jim Meyering  <jim@meyering.net>
69700
69701         * modules/inttypes (inttypes.h): Revert what seems to have been
69702         an inadvertent part of today's change: use "|", not "/" in the
69703         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
69704
69705 2006-10-07  Bruno Haible  <bruno@clisp.org>
69706
69707         * modules/sublist: New file.
69708
69709 2006-10-07  Bruno Haible  <bruno@clisp.org>
69710
69711         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
69712         * modules/argz (argz.h): Likewise.
69713         * modules/arpa_inet (arpa/inet.h): Likewise.
69714         * modules/byteswap (byteswap.h): Likewise.
69715         * modules/configmake (configmake.h): Likewise.
69716         * modules/fcntl (fcntl.h): Likewise.
69717         * modules/fnmatch (fnmatch.h): Likewise.
69718         * modules/getopt (getopt.h): Likewise.
69719         * modules/glob (glob.h): Likewise.
69720         * modules/inttypes (inttypes.h): Likewise.
69721         * modules/netinet_in (netinet/in.h): Likewise.
69722         * modules/poll (poll.h): Likewise.
69723         * modules/stdbool (stdbool.h): Likewise.
69724         * modules/stdint (stdint.h): Likewise.
69725         * modules/sys_select (sys/select.h): Likewise.
69726         * modules/sys_socket (sys/socket.h): Likewise.
69727         * modules/sys_stat (sys/stat.h): Likewise.
69728         * modules/sysexits (sysexits.h): Likewise.
69729         * modules/unistd (unistd.h): Likewise.
69730         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69731         Add a "DO NOT EDIT" comment to the generated file.
69732         (func_import): Likewise for gnulib-comp.m4.
69733
69734 2006-10-07  Bruno Haible  <bruno@clisp.org>
69735
69736         * lib/gl_sublist.h: New file.
69737         * lib/gl_sublist.c: New file.
69738
69739 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
69740
69741         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
69742         name (relative to the original working directory) and the file
69743         name component (relative to the temporary working directory).  All
69744         callers changed.
69745         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
69746         * lib/mkdir-p.c (make_dir_parents): Likewise.
69747         * lib/mkdir-p.h (make_dir_parents): Likewise.
69748
69749 2006-10-06  Eric Blake  <ebb9@byu.net>
69750
69751         Define several macros for use by the clean-temp module.
69752         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
69753         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
69754         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
69755
69756         * lib/clean-temp.h (close_stream_temp): New declaration.
69757         * lib/clean-temp.c (includes): Pull in headers according to what
69758         other modules are in use.
69759         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
69760
69761 2006-10-06  Bruno Haible  <bruno@clisp.org>
69762
69763         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
69764         instead of fopen, fwriteerror.
69765
69766 2006-10-06  Bruno Haible  <bruno@clisp.org>
69767
69768         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
69769         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
69770         int.
69771         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
69772         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
69773         Return an error indicator.
69774         Suggested by Eric Blake.
69775
69776 2006-10-06  Bruno Haible  <bruno@clisp.org>
69777
69778         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
69779         Reported by Eric Blake.
69780
69781 2006-10-06  Bruno Haible  <bruno@clisp.org>
69782
69783         * modules/closeout (Description): Mention stderr too.
69784
69785 2006-10-06  Bruno Haible  <bruno@clisp.org>
69786         and Paul Eggert  <eggert@cs.ucla.edu>
69787
69788         * lib/closeout.c (close_stdout): Also close stderr.
69789         * lib/closeout.h: Update comment.
69790
69791 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
69792
69793         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
69794         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
69795         * lib/dirchownmod.c: Include lchown.h.
69796         * lib/lchown.c: Don't include files that lchown.h now includes.
69797         Don't declare chown, since lchown.h now does that.
69798         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
69799         (lchown): Define to rpl_chown if lchown is declared but
69800         does not exist.  Declare using a prototype if lchown is not
69801         declared.  Add a copyright notice.
69802         * lib/mkstemp.h: Include <unistd.h>.
69803         * lib/openat.c: Include lchown.h.
69804
69805         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
69806         we now test for that separately.
69807         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
69808         rather than O_NOFOLLOW, when testing whether it's possible to
69809         avoid a race condition reliably.
69810         * lib/savewd.c (savewd_chdir): Likewise.
69811
69812         Remove macros that are no longer needed now that stdint.h is
69813         reliable.
69814         * lib/fsusage.c (UINTMAX_MAX): Remove.
69815         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
69816         * lib/utimecmp.c (SIZE_MAX): Remove.
69817
69818         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
69819
69820         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
69821         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
69822         O_NOATIME works.
69823
69824 2006-10-05  Bruno Haible  <bruno@clisp.org>
69825
69826         * lib/gl_list.h (gl_sortedlist_search_from_to,
69827         gl_sortedlist_indexof_from_to): New declarations.
69828         (gl_list_implementation): New fields sortedlist_search_from_to,
69829         sortedlist_indexof_from_to.
69830         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
69831         inline functions.
69832         * lib/gl_list.c (gl_sortedlist_search_from_to,
69833         gl_sortedlist_indexof_from_to): New functions.
69834         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
69835         function.
69836         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
69837         (gl_array_sortedlist_search_from_to): New function.
69838         (gl_array_list_implementation): Update.
69839         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
69840         function.
69841         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
69842         (gl_carray_sortedlist_search_from_to): New function.
69843         (gl_carray_list_implementation): Update.
69844         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
69845         gl_linked_sortedlist_indexof_from_to): New functions.
69846         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
69847         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
69848         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
69849         gl_tree_sortedlist_indexof_from_to): New functions.
69850         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
69851         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
69852         Update.
69853         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
69854         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
69855         Update.
69856
69857 2006-10-05  Bruno Haible  <bruno@clisp.org>
69858
69859         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
69860         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
69861         (struct gl_list_implementation): Add fields search_from_to,
69862         indexof_from_to. Remove fields search, indexof.
69863         (gl_list_search): Use the search_from_to method.
69864         (gl_list_search_from, gl_list_search_from_to): New functions.
69865         (gl_list_indexof): Use the indexof_from_to method.
69866         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
69867         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
69868         (gl_list_search_from, gl_list_search_from_to): New functions.
69869         (gl_list_indexof): Use the indexof_from_to method.
69870         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
69871         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
69872         gl_array_indexof. Add start_index, end_index arguments.
69873         (gl_array_search_from_to): Renamed from gl_array_search. Add
69874         start_index, end_index arguments.
69875         (gl_array_remove, gl_array_list_implementation): Update.
69876         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
69877         gl_carray_indexof. Add start_index, end_index arguments.
69878         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
69879         start_index, end_index arguments.
69880         (gl_carray_remove, gl_carray_list_implementation): Update.
69881         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
69882         gl_linked_search. Add start_index, end_index arguments.
69883         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
69884         start_index, end_index arguments.
69885         (gl_linked_remove): Update.
69886         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
69887         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
69888         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
69889         field to 'size_t'.
69890         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
69891         gl_tree_search. Add start_index, end_index arguments.
69892         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
69893         start_index, end_index arguments.
69894         (gl_tree_remove): Update.
69895         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
69896         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
69897         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
69898         function.
69899         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
69900         gl_tree_search. Add start_index, end_index arguments.
69901         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
69902         start_index, end_index arguments.
69903         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
69904         Update.
69905         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
69906
69907 2006-10-05  Bruno Haible  <bruno@clisp.org>
69908
69909         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
69910
69911         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
69912         fwriteerror_temp): New declarations.
69913         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
69914         (descriptors): New variable.
69915         (cleanup): First, close the descriptors.
69916         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
69917         fclose_temp, fwriteerror_temp): New functions.
69918
69919 2006-10-04  Jim Meyering  <jim@meyering.net>
69920
69921         * lib/fts.c (fts_open): Tiny comment change.
69922
69923 2006-10-04  Bruno Haible  <bruno@clisp.org>
69924
69925         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
69926         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
69927         gl_LOCK_BODY.
69928         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
69929         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
69930         gl_LOCK_EARLY_BODY.
69931         (gl_LOCK): Require gl_LOCK_BODY.
69932
69933 2006-10-04  Bruno Haible  <bruno@clisp.org>
69934
69935         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
69936         (gl_oset_search_atleast): New declaration.
69937         (struct gl_oset_implementation): Add field 'search_atleast'.
69938         (gl_oset_search_atleast): New inline function.
69939         * lib/gl_oset.c (gl_oset_search_atleast): New function.
69940         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
69941         (gl_array_oset_implementation): Update.
69942         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
69943         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
69944         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
69945
69946 2006-10-04  Bruno Haible  <bruno@clisp.org>
69947
69948         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
69949
69950 2006-10-03  Bruno Haible  <bruno@clisp.org>
69951
69952         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
69953         from gl_avltreehash_list_implementation.
69954
69955 2006-10-03  Bruno Haible  <bruno@clisp.org>
69956
69957         * lib/gl_oset.c (gl_oset_add): Fix return type.
69958
69959 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
69960
69961         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
69962
69963 2006-10-02  Eric Blake  <ebb9@byu.net>
69964
69965         * modules/strnlen (Depends-on): Add extensions.
69966
69967 2006-10-02  Eric Blake  <ebb9@byu.net>
69968
69969         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
69970         definition in 2.60+.
69971
69972 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
69973
69974         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
69975         checks.
69976
69977 2006-10-02  Bruno Haible  <bruno@clisp.org>
69978
69979         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
69980         to the AUTOMAKE_OPTIONS.
69981         Reported by Jim Meyering.
69982
69983 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
69984
69985         Work around bug in Solaris 10 /proc file system:
69986         /proc/self/fd/NNN/.. isn't the parent directory of
69987         the directory whose file descriptor is NNN.  This needs to
69988         be worked around at run time, not compile time, since a
69989         program might be built on Solaris 8, where things work, and
69990         run on Solaris 10.
69991         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
69992         to use the following interface instead:
69993         (OPENAT_BUFFER_SIZE): New macro.
69994         (openat_proc_name): New function.
69995         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
69996         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
69997         Likewise.
69998         * lib/openat-proc.c: New file.
69999         * modules/openat (Files): Add lib/openat-proc.c.
70000         (Depends-on): Add same-inode, stdbool.
70001         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
70002
70003 2006-09-29  Bruno Haible  <bruno@clisp.org>
70004
70005         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
70006         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
70007         argument. Set stdout_closed before testing for ferror, not after.
70008         (fwriteerror, fwriteerror_no_ebadf): New functions.
70009
70010 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70011
70012         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
70013
70014 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
70015
70016         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
70017         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
70018
70019 2006-09-28  Jim Meyering  <jim@meyering.net>
70020
70021         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
70022         Include <unistd.h>.
70023
70024 2006-09-28  Bruno Haible  <bruno@clisp.org>
70025
70026         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
70027         * modules/linkedhash-list (Depends-on): Likewise.
70028         * modules/rbtreehash-list (Depends-on): Likewise.
70029
70030 2006-09-28  Bruno Haible  <bruno@clisp.org>
70031
70032         * lib/strndup.h: Simplify the redefinition of strndup.
70033         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
70034         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
70035
70036 2006-09-28  Bruno Haible  <bruno@clisp.org>
70037
70038         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
70039         * lib/gl_linkedhash_list.c: Likewise.
70040         * lib/gl_rbtreehash_list.c: Likewise.
70041
70042 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
70043
70044         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
70045         getaddrinfo.
70046
70047         * lib/__fpending.h: Don't include <stdio_ext.h> unless
70048         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
70049         it causes <stdio_ext.h> to cause a compile-time error.
70050         Problem reported by Nelson H. F. Beebe.
70051         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
70052         of HAVE_DECL___PENDING.
70053
70054         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
70055         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
70056         declaration.
70057
70058 2006-09-27  Jim Meyering  <jim@meyering.net>
70059
70060         This file could end up with a definition for a function
70061         named __strndup, rather than rpl_strndup on a system with
70062         incomplete weak_alias support.
70063         * lib/strndup.c (strndup): Rename from __strndup.
70064         Remove #defines that used to map __strndup to strndup.
70065         Don't use K&R prototypes.
70066         Remove LIBC-related code, since this file is not sync'd with glibc.
70067         * lib/strndup.h: Revamp, accordingly.
70068         * m4/strndup.m4: Modernize.
70069
70070 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
70071
70072         * modules/savewd (Depends-on): Add 'raise'.
70073         * lib/savewd.c: Include <signal.h>, for 'raise'.
70074
70075 2006-09-26  Jim Meyering  <jim@meyering.net>
70076
70077         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
70078         when we detect Darwin 8.7.0's acl_get_file bug.
70079         Rearrange to perform the new (below) run-test while $LIBS
70080         contains any acl-related library.  Set USE_ACL at the end.
70081         (gl_ACL_GET_FILE): New function.
70082
70083 2006-09-26  Eric Blake  <ebb9@byu.net>
70084
70085         * lib/verror.c: Include <config.h> unconditionally.
70086
70087 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
70088
70089         * modules/clock-time (Maintainer): Add self.
70090         * modules/getlogin_r (Depends-on): Add extensions.
70091
70092 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70093
70094         * modules/clock-time: New module.
70095         * modules/nanosleep (Depends-on): Add clock-time.
70096         * modules/gethrxtime (Depends-on): Likewise.
70097         * modules/gettime (Depends-on): Likewise.
70098         * modules/settime (Depends-on): Likewise.
70099
70100         * modules/fts-lgpl: Depend on openat.
70101         * modules/mkancesdirs: Depend on savewd.
70102         * modules/mkdir-p: Likewise.
70103
70104 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70105
70106         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
70107
70108         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
70109         `gl_have_arbitrary_file_name_length_limit' to
70110         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
70111         actually works between configure runs.
70112
70113 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70114             Bruno Haible  <bruno@clisp.org>
70115
70116         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
70117
70118 2006-09-25  Jim Meyering  <jim@meyering.net>
70119
70120         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
70121         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
70122
70123 2006-09-25  Eric Blake  <ebb9@byu.net>
70124
70125         * gnulib-tool (func_import, func_create_testdir): Fix typos in
70126         exec's in 2006-09-18 patch when shuffling fds.
70127
70128 2006-09-25  Bruno Haible  <bruno@clisp.org>
70129
70130         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
70131         Reported by Jim Meyering.
70132
70133 2006-09-24  Jim Meyering  <jim@meyering.net>
70134
70135         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
70136         compare a pointer against a literal "0".  That caused failures with
70137         at least HP-UX's hpcc.
70138
70139 2006-09-22  Simon Josefsson  <jas@extundo.com>
70140
70141         * modules/gc-sha1:
70142         * modules/gc-md4:
70143         * modules/gc-hmac-sha1:
70144         * modules/gc-hmac-md5:
70145         * modules/gc-des:
70146         * modules/gc-arcfour: Distribute more files.
70147
70148 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70149
70150         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
70151         (gl_linked_iterator_from_to): Initialize struct completely.
70152         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
70153         (gl_tree_iterator_from_to): Likewise
70154         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
70155         * lib/gl_array_list.c [lint] (gl_array_iterator)
70156         (gl_array_iterator_from_to): Likewise.
70157         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
70158         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
70159         (gl_carray_iterator_from_to): Likewise.
70160
70161         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
70162         * lib/md4.c (md4_process_block): Remove unused variable.
70163         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
70164         parentheses for clarity.
70165
70166 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70167
70168         * modules/bison-i18n (Depends-on): Add gettext.
70169
70170 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70171
70172         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
70173         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
70174         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
70175         also add missing comma that caused broken test.
70176         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
70177         stdlib.h, for `abort'.
70178         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
70179         variables.
70180         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
70181         include unistd.h if present, for `rmdir'.
70182         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
70183         variables.
70184         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
70185         in the process include standard headers for prototypes.
70186         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
70187         gets declared on GNU/Linux.
70188         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
70189         unistd.h, for `rmdir'.
70190         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
70191
70192         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
70193         always true.
70194         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
70195
70196         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
70197
70198 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70199
70200         * gnulib-tool (func_version): Create output all at once.  This
70201         may help avoid triggering unnecessary SIGPIPEs, and at any
70202         rate it doesn't hurt.
70203
70204 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70205             Bruno Haible  <bruno@clisp.org>
70206
70207         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
70208         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
70209         * m4/signed.m4 (bh_C_SIGNED): Likewise.
70210
70211         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
70212         (gl_FUNC_VASPRINTF): Invoke it.
70213
70214 2006-09-22  Bruno Haible  <bruno@clisp.org>
70215
70216         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
70217         getloadavg.c as first argument.
70218
70219 2006-09-22  Bruno Haible  <bruno@clisp.org>
70220
70221         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
70222         at the beginning of the gl_INIT macro.
70223         * modules/getloadavg (configure.ac): Pass $gl_source_base to
70224         gl_GETLOADAVG.
70225
70226 2006-09-22  Bruno Haible  <bruno@clisp.org>
70227
70228         * gnulib-tool (func_create_megatestdir): Don't include the config-h
70229         module.
70230         Suggested by Ralf Wildenhues.
70231
70232 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
70233
70234         Import this patch from libc:
70235
70236         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
70237
70238         * lib/regex_internal.c (re_string_reconstruct): Handle
70239         offset < pstr->valid_raw_len && pstr->offsets_needed case.
70240         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
70241         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
70242         re_string_context_at.
70243
70244         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
70245         now requires it.
70246         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
70247         gl_REGEX now does it for us.
70248         (gl_REGEX): Add test taken from
70249         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
70250
70251         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
70252         Check that large offsets work.  Modernize Autoconf usages.
70253         Prefer "yes" to mean a good thing rather than a bad.
70254         Don't put "#define mkstemp" in config.h, as this might interfere
70255         with standard system headers that "#define mkstemp mkstemp64".
70256
70257         * modules/mkstemp (Depends-on): Add extensions, so that
70258         mkstemp is visible on some platforms.
70259         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
70260         (Include): Change to "mkstemp.h" from <stdlib.h>.
70261         (Files): Add mkstemp.h.
70262
70263         * lib/mkstemp.h: New file, since some standard headers
70264         #define mkstemp.
70265         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
70266         Include "mkstemp.h".
70267         Make the _LIBC code resemble glibc original more,
70268         e.g., use K&R style.
70269         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
70270         (mkstemp): Remove, since mkstemp.h does this for us.
70271         * lib/stdlib--.h: Include mkstemp.h.
70272
70273         Import this patch from libc:
70274
70275         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
70276
70277         * lib/tempname.c (__gen_tempname): Change attempts_min
70278         into a macro.  Use preprocessor to decide how to initialize
70279         attempts [Coverity CID 67].
70280
70281 2006-09-20  Bruno Haible  <bruno@clisp.org>
70282
70283         * lib/mkdtemp.c: Import from libc.
70284         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
70285                 * sysdeps/posix/tempname.c (__gen_tempname): Change
70286                 attempts_min into a macro.  Use preprocessor to decide how to
70287                 initialize attempts [Coverity CID 67].
70288         2001-11-27  Paul Eggert  <eggert@twinsun.com>
70289                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
70290                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
70291
70292 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70293
70294         * gnulib-tool (func_exit): New function, to allow to pass the
70295         exit status portably through the trap.  Use everywhere.
70296         (--help, --version): Signal a write error.
70297         (trap): catch SIGPIPE, for write errors.
70298         Exit at the end of the trap, with the correct exit status.
70299
70300 2006-09-19  Karl Berry  <karl@gnu.org>
70301
70302         * doc/gnulib.texi: note about the license texinfo files.
70303
70304 2006-09-19  Eric Blake  <ebb9@byu.net>
70305
70306         * gnulib-tool: Avoid space-tab.
70307
70308 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
70309
70310         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
70311         that prevented coreutils 6.1 from building.  Problem reported
70312         by Petter Reinholdtsen.
70313
70314 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
70315
70316         * gnulib-tool (avoidlist): Fix typo that broke options like
70317         --avoid=lock that are used by coreutils bootstrap.
70318
70319 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
70320
70321         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
70322         more systematically.
70323
70324 2006-09-18  Jim Meyering  <jim@meyering.net>
70325
70326         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
70327
70328 2006-09-18  Bruno Haible  <bruno@clisp.org>
70329
70330         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
70331
70332 2006-09-18  Bruno Haible  <bruno@clisp.org>
70333
70334         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
70335         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
70336         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
70337         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
70338         * m4/gettext.m4: Require autoconf >= 2.52.
70339         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
70340         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
70341         of gl_cv_header_inttypes_h.
70342
70343 2006-09-18  Bruno Haible  <bruno@clisp.org>
70344
70345         * lib/javaversion.c: Include configmake.h.
70346
70347 2006-09-18  Bruno Haible  <bruno@clisp.org>
70348
70349         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
70350         avoid that the while loops be executed in a subshell.
70351
70352 2006-09-18  Bruno Haible  <bruno@clisp.org>
70353
70354         * MODULES.html.sh (func_module): Break long lines.
70355         Suggested by Bruce Korb <bkorb@gnu.org>.
70356
70357 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70358
70359         Speed up by a factor of 1.12.
70360         * gnulib-tool (nl): New variable.
70361         (func_import): Rewrite include directive extraction to only read each
70362         directive once.
70363
70364 2006-09-17  Bruno Haible  <bruno@clisp.org>
70365
70366         * modules/javaversion (Makefile.am): Remove DEFS setting.
70367         (Depends-on): Add configmake, for PKGDATADIR definition.
70368
70369 2006-09-17  Bruno Haible  <bruno@clisp.org>
70370
70371         * gnulib-tool (func_create_testdir): Rewrite all files at once.
70372
70373 2006-09-17  Bruno Haible  <bruno@clisp.org>
70374
70375         * gnulib-tool (func_append): New function, stolen from libtool.m4.
70376         (func_modules_transitive_closure, func_modules_add_dummy,
70377         func_modules_to_filelist, func_import, func_create_testdir,
70378         func_create_megatestdir, ...): Use it wherever possible.
70379         Suggested by Ralf Wildenhues.
70380
70381 2006-09-16  Karl Berry  <karl@gnu.org>
70382
70383         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
70384         to avoid sectioning errors.
70385         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
70386         [ifinfo]: blank line after @center-ed titles.
70387         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
70388         Spell FSF address consistently with others.
70389         (These changes approved by rms.)
70390
70391 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70392
70393         Speed up by a factor of 1.61.
70394         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
70395         already checked module names again.
70396
70397 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70398
70399         Speed up by a factor of 1.13.
70400         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
70401         for new_files, and the input to func_add_or_update.
70402
70403 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70404
70405         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
70406         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
70407
70408 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
70409
70410         * modules/mkancesdirs (Depends-on): Add fcntl.
70411         * modules/savewd: New file.
70412         * MODULES.html.sh (File system functions): Add savewd.
70413
70414         * modules/configmake (Makefile.am): Add support for the
70415         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
70416
70417 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
70418
70419         * m4/savewd.m4: New file.
70420
70421 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
70422
70423         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
70424         (dirchownmod): New arg FD.  All callers changed.
70425         Use FD rather than opening the directory ourself, as opening is
70426         now the caller's responsibility.
70427         * lib/dirchownmod.h: Likewise.
70428         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
70429         hosts that require <sys/types.h> before <sys/stat.h>.  Include
70430         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
70431         (test_dir): Remove.
70432         (mkancesdirs): Return length of prefix of FILE that has already
70433         been made, or -2 if there is a child doing the work.  Redo
70434         algorithm so that it is O(N) rather than O(N**2).  Optimize away
70435         ".", and treat ".." specially since it might stray back into
70436         already-created areas.  Use a subprocess if necessary.  New arg
70437         WD; all users changed.  MAKE_DIR function should now return 1
70438         if it creates a directory that is not readable.  Return -2 if
70439         a child process is spun off.
70440         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
70441         Adjust signature to match code.
70442         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
70443         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
70444         all users changed.
70445         * lib/savewd.c, lib/savewd.h: New files.
70446
70447 2006-09-15  Jim Meyering  <jim@meyering.net>
70448
70449         * modules/rename-dest-slash: New module.
70450         * MODULES.html.sh (posix_compat): Add it here.
70451
70452         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
70453
70454 2006-09-15  Jim Meyering  <jim@meyering.net>
70455
70456         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
70457         file.
70458
70459         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
70460
70461 2006-09-15  Jim Meyering  <jim@meyering.net>
70462
70463         * lib/rename-dest-slash.c (has_trailing_slash): Use
70464         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
70465         (rpl_rename_dest_slash): Perform the cheaper trailing slash
70466         test before testing whether SRC is a directory.
70467         Suggestions from Bruno Haible.
70468
70469         Avoid a warning about an unused variable.
70470         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
70471         into the #ifdef block where it's used.
70472
70473         * lib/rename-dest-slash.c: New file.
70474
70475 2006-09-14  Bruno Haible  <bruno@clisp.org>
70476
70477         * lib/allocsa.c: Include <config.h> unconditionally.
70478         * lib/asnprintf.c: Likewise.
70479         * lib/asprintf.c: Likewise.
70480         * lib/c-strcasecmp.c: Likewise.
70481         * lib/c-strcasestr.c: Likewise.
70482         * lib/c-strncasecmp.c: Likewise.
70483         * lib/c-strstr.c: Likewise.
70484         * lib/classpath.c: Likewise.
70485         * lib/clean-temp.c: Likewise.
70486         * lib/concatpath.c: Likewise.
70487         * lib/copy-file.c: Likewise.
70488         * lib/csharpcomp.c: Likewise.
70489         * lib/csharpexec.c: Likewise.
70490         * lib/execute.c: Likewise.
70491         * lib/fatal-signal.c: Likewise.
70492         * lib/findprog.c: Likewise.
70493         * lib/fwriteerror.c: Likewise.
70494         * lib/gl_array_list.c: Likewise.
70495         * lib/gl_array_oset.c: Likewise.
70496         * lib/gl_avltree_list.c: Likewise.
70497         * lib/gl_avltree_oset.c: Likewise.
70498         * lib/gl_avltreehash_list.c: Likewise.
70499         * lib/gl_carray_list.c: Likewise.
70500         * lib/gl_linked_list.c: Likewise.
70501         * lib/gl_linkedhash_list.c: Likewise.
70502         * lib/gl_list.c: Likewise.
70503         * lib/gl_oset.c: Likewise.
70504         * lib/gl_rbtree_list.c: Likewise.
70505         * lib/gl_rbtree_oset.c: Likewise.
70506         * lib/gl_rbtreehash_list.c: Likewise.
70507         * lib/imaxabs.c: Likewise.
70508         * lib/imaxdiv.c: Likewise.
70509         * lib/javacomp.c: Likewise.
70510         * lib/javaexec.c: Likewise.
70511         * lib/javaversion.c: Likewise.
70512         * lib/linebreak.c: Likewise.
70513         * lib/localcharset.c: Likewise.
70514         * lib/lock.c: Likewise.
70515         * lib/mbchar.c: Likewise.
70516         * lib/mbswidth.c: Likewise.
70517         * lib/mkdtemp.c: Likewise.
70518         * lib/pipe.c: Likewise.
70519         * lib/printf-args.c: Likewise.
70520         * lib/printf-parse.c: Likewise.
70521         * lib/progname.c: Likewise.
70522         * lib/progreloc.c: Likewise.
70523         * lib/readlink.c: Likewise.
70524         * lib/sh-quote.c: Likewise.
70525         * lib/stpcpy.c: Likewise.
70526         * lib/stpncpy.c: Likewise.
70527         * lib/strcasecmp.c: Likewise.
70528         * lib/strcasestr.c: Likewise.
70529         * lib/strcspn.c: Likewise.
70530         * lib/striconv.c: Likewise.
70531         * lib/strncasecmp.c: Likewise.
70532         * lib/strnlen1.c: Likewise.
70533         * lib/strstr.c: Likewise.
70534         * lib/strtok_r.c: Likewise.
70535         * lib/tls.c: Likewise.
70536         * lib/tmpdir.c: Likewise.
70537         * lib/unicodeio.c: Likewise.
70538         * lib/unsetenv.c: Likewise.
70539         * lib/vasnprintf.c: Likewise.
70540         * lib/vasprintf.c: Likewise.
70541         * lib/wait-process.c: Likewise.
70542         * lib/xallocsa.c: Likewise.
70543         * lib/xsetenv.c: Likewise.
70544         * lib/xstriconv.c: Likewise.
70545
70546 2006-09-13  Simon Josefsson  <jas@extundo.com>
70547
70548         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
70549         that internally, suggested by Ralf Wildenhues
70550         <Ralf.Wildenhues@gmx.de>.
70551
70552 2006-09-13  Simon Josefsson  <jas@extundo.com>
70553
70554         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
70555         @LIBOBJS@.
70556         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70557
70558 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
70559
70560         * lib/_fpending.c: Include <config.h> unconditionally, since we no
70561         longer worry about uses that don't define HAVE_CONFIG_H.
70562         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
70563         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
70564         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
70565         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
70566         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
70567         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
70568         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
70569         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
70570         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
70571         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
70572         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
70573         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
70574         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
70575         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
70576         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
70577         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
70578         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
70579         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
70580         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
70581         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
70582         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
70583         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
70584         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
70585         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
70586         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
70587         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
70588         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
70589         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
70590         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
70591         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
70592         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
70593         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
70594         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
70595         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
70596         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
70597         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
70598         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
70599         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
70600         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
70601         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
70602         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
70603         Likewise.
70604
70605 2006-09-13  Eric Blake  <ebb9@byu.net>
70606
70607         * lib/getopt.c: Fix typo in last commit.
70608
70609 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
70610
70611         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
70612         dgettext.
70613
70614 2006-09-12  Jim Meyering  <jim@meyering.net>
70615
70616         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
70617         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
70618         Reported by Nelson H. F. Beebe.
70619
70620 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
70621
70622         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
70623         program_invocation_name and program_invocation_short_name are
70624         initialized.
70625         * lib/argp-namefrob.h: Move declarations of program_invocation_name
70626         and program_invocation_short_name to argp.h, so they are visible
70627         to user programs.
70628         * lib/argp.h: Likewise
70629
70630 2006-09-10  Bruno Haible  <bruno@clisp.org>
70631
70632         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
70633         m4/inttypes_h.m4, m4/uintmax_t.m4.
70634
70635 2006-09-10  Bruno Haible  <bruno@clisp.org>
70636
70637         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
70638         gl_AC_TYPE_UINTMAX_T.
70639
70640 2006-09-10  Bruno Haible  <bruno@clisp.org>
70641
70642         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
70643
70644 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
70645
70646         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
70647         convention.  Text proposed by Bruno Haible.
70648         (struct argp_option): Document the use of N_() wrappers.
70649
70650         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
70651         '\v', and translate the two parts separately, instead of feeding
70652         the whole string to gettext.  This allows to exclude
70653         '\v' from the strings visible to the translator by writing doc
70654         strings as N_("..") "\v" N_("..").
70655
70656 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
70657
70658         * config/srclist.txt: Undo latest change; the bug was fixed.
70659
70660 2006-09-09  Bruno Haible  <bruno@clisp.org>
70661
70662         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
70663         assignments if building a library without libtool.
70664         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
70665         in func_emit_lib_Makefile_am.
70666         (func_import): When building a static library libfoo.a, arrange to
70667         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
70668         (func_create_testdir): Likewise.
70669         * modules/gc (configure.ac, Makefile.am): If building statically,
70670         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
70671         * modules/iconvme (configure.ac, Makefile.am): Likewise.
70672         * modules/striconv (configure.ac, Makefile.am): Likewise.
70673         Based on a suggestion by Ralf Wildenhues.
70674
70675 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70676
70677         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
70678         Check for unistd.h too, since Autoconf doesn't assume POSIX.
70679         Also:
70680
70681         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70682         Add year_2050_test to catch glibc bug 2821
70683         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
70684
70685         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
70686         Prefer #ifdef to #if.
70687
70688         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
70689         Return from 'main' instead of calling 'exit'.
70690
70691 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70692
70693         * lib/mktime.c (guess_time_tm): Fix bug where mktime
70694         returned the maximum time_t value rather than (time_t) -1.
70695         Problem originally reported by William Bardwell
70696         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
70697
70698         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
70699         Moved to here ...
70700         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
70701         ... from here.
70702
70703 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70704
70705         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
70706         2821 is fixed.
70707
70708 2006-09-08  Jim Meyering  <jim@meyering.net>
70709
70710         Don't make generated files read-only.  That would bother too many
70711         people.  However, do retain the ability to work when targets are
70712         read-only: remove the destination and temporary files before writing
70713         them (when generated via sed or echo), or by using the -f option for
70714         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
70715         * modules/alloca-opt, modules/argz, modules/arpa_inet:
70716         * modules/byteswap, modules/configmake, modules/fcntl:
70717         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
70718         * modules/localcharset, modules/netinet_in, modules/poll:
70719         * modules/stdbool, modules/stdint, modules/sys_select:
70720         * modules/sys_socket, modules/sys_stat, modules/sysexits:
70721
70722 2006-09-08  Jim Meyering  <jim@meyering.net>
70723
70724         Avoid new build failure on FreeBSD 6.0.
70725         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
70726         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
70727         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
70728
70729 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70730
70731         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
70732
70733 2006-09-07  Jim Meyering  <jim@meyering.net>
70734
70735         Fix global typo in last change: use chmod u-w, not chmod u-x.
70736         Spotted by Paul Eggert and Bruce Korb.
70737         * modules/alloca-opt, modules/argz, modules/arpa_inet:
70738         * modules/byteswap, modules/configmake, modules/fcntl:
70739         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
70740         * modules/localcharset, modules/netinet_in, modules/poll:
70741         * modules/stdbool, modules/stdint, modules/sys_select:
70742         * modules/sys_socket, modules/sys_stat, modules/sysexits:
70743
70744 2006-09-06  Jim Meyering  <jim@meyering.net>
70745
70746         Make generated files be read-only.
70747         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
70748         Ensure that each generated file is now read-only.
70749         * modules/argz: Likewise.
70750         * modules/arpa_inet: Likewise.
70751         * modules/byteswap: Likewise.
70752         * modules/configmake: Likewise.
70753         * modules/fcntl: Likewise.
70754         * modules/fnmatch: Likewise.
70755         * modules/getopt: Likewise.
70756         * modules/glob: Likewise.
70757         * modules/inttypes: Likewise.
70758         * modules/netinet_in: Likewise.
70759         * modules/poll: Likewise.
70760         * modules/stdbool: Likewise.
70761         * modules/stdint: Likewise.
70762         * modules/sys_select: Likewise.
70763         * modules/sys_socket: Likewise.
70764         * modules/sys_stat: Likewise.
70765         * modules/sysexits: Likewise.
70766         * modules/localcharset: Same as above, but continue using temporary
70767         file named "t-$@" (why different?) rather than the "$@-t" used
70768         everywhere else.
70769
70770         * modules/sysexits (Makefile.am): Replace literal occurrences
70771         of "sysexit.h" more readable, and more consistent, "$@".
70772
70773 2006-09-06  Bruno Haible  <bruno@clisp.org>
70774
70775         * modules/striconv: New file.
70776         * modules/xstriconv: New file.
70777         * MODULES.html.sh (Internationalization functions): Add striconv,
70778         xstriconv.
70779
70780 2006-09-06  Bruno Haible  <bruno@clisp.org>
70781
70782         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
70783         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
70784         not using libtool correctly.
70785
70786 2006-09-06  Bruno Haible  <bruno@clisp.org>
70787
70788         * lib/striconv.h: New file.
70789         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
70790         iconvstring.c.
70791         * lib/xstriconv.h: New file.
70792         * lib/xstriconv.c: New file.
70793
70794 2006-09-06  Bruno Haible  <bruno@clisp.org>
70795
70796         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
70797         lib_..._LDFLAGS.
70798
70799 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70800
70801         * lib/argz_.h: Sync from Libtool.
70802
70803         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
70804                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
70805
70806         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
70807
70808 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
70809
70810         * modules/trim: New file.
70811
70812 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
70813
70814         * lib/trim.h: New file.
70815         * lib/trim.c: New file.
70816
70817 2006-09-05  Bruno Haible  <bruno@clisp.org>
70818
70819         * MODULES.html.sh (String handling): Add trim.
70820
70821 2006-09-04  Karl Berry  <karl@gnu.org>
70822
70823         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
70824         until next release.
70825
70826 2006-09-03  Bruno Haible  <bruno@clisp.org>
70827
70828         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
70829         correctly.
70830
70831 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
70832
70833         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
70834         not gl_GETLOADAVG.  Omit unneeded semicolons.
70835         Problems reported by Ralf Wildenhues in
70836         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
70837         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
70838         at the end, which is the usual gnulib style.
70839
70840         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
70841         of doing all the work ourselves.
70842         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
70843         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
70844
70845 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
70846
70847         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
70848         Problem reported by Ralf Wildenhues in
70849         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
70850
70851         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
70852         HAVE_STRUCT_STATFS_F_FSTYPENAME.
70853
70854 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
70855
70856         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
70857         yesterday's patch by changing test -n to test -z.
70858
70859 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70860
70861         * modules/getloadavg (Files): Add m4/getloadavg.m4.
70862         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
70863         the former is now obsolescent.
70864
70865         * modules/chdir-long (Depends-on): Add fcntl.
70866
70867 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70868
70869         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
70870         obsolescent, and programs should use gnulib instead.
70871         * m4/getloadavg.m4: New file, with contents taken from Autoconf
70872         but with prefixes changed.
70873
70874 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70875
70876         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
70877         or stdbool.h, because they might not exist while configuring.
70878
70879         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
70880         Don't include unistd.h or limits.h; not needed, since chdir-long.h
70881         does that for us.
70882         (O_DIRECTORY): Remove.
70883
70884 2006-08-31  Eric Blake  <ebb9@byu.net>
70885
70886         * gnulib-tool: Don't let emacs change spaces to TAB.
70887
70888 2006-08-31  Bruno Haible  <bruno@clisp.org>
70889
70890         * gnulib-tool: When calling func_import more than once, do it in a
70891         subshell.
70892         Reported by Eric Blake <ebb9@byu.net>.
70893
70894 2006-08-31  Bruno Haible  <bruno@clisp.org>
70895
70896         * gnulib-tool (nl): Remove variable.
70897         (sed_transform_lib_file): Use more robust test for config-h module.
70898         (func_import): Fix typo in 2006-08-25 patch.
70899
70900 2006-08-31  Bruno Haible  <bruno@clisp.org>
70901
70902         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
70903         specified, augment Makefile.am variables instead of assigning them.
70904
70905 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
70906
70907         Work around a bug in both the Linux and SunOS 64-bit kernels:
70908         nanosleep mishandles sleeps for longer than 2**31 seconds.
70909         Problem reported by Frank v Waveren in
70910         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
70911         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
70912         Check for nanosleep bug.
70913         (LIB_NANOSLEEP): Append clock_gettime library if needed.
70914
70915 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
70916
70917         Work around a bug in both the Linux and SunOS 64-bit kernels:
70918         nanosleep mishandles sleeps for longer than 2**31 seconds.
70919         Problem reported by Frank v Waveren in
70920         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
70921         * lib/nanosleep.c (BILLION): New constant.
70922         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
70923         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
70924         implementation.
70925
70926 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
70927
70928         * modules/nanosleep (Depends-on): Add gettime.
70929
70930 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
70931         and Simon Josefsson  <jas@extundo.com>
70932         and Oskar Liljeblad  <oskar@osk.mine.nu>
70933
70934         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
70935         * gnulib-tool (func_import): New license type 'unmodifiable license
70936         text'.
70937         * modules/fdl: Use it.  Longer description.
70938         * module/gpl, module/lgpl: New files.
70939
70940 2006-08-30  Jim Meyering  <jim@meyering.net>
70941
70942         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
70943         shadowing the parameter.
70944
70945 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70946
70947         Sync from Libtool:
70948
70949         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70950
70951         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
70952         sharing with gnulib.  Report by Eric Blake.
70953
70954 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
70955
70956         * modules/isapipe: New file.
70957         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
70958
70959 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
70960
70961         * modules/configmake (Makefile.am): Add a comment, and omit
70962         the CONFIGMAKE_ prefix from generated macro names.  Suggested
70963         by Bruno Haible.
70964
70965 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
70966
70967         * m4/isapipe.m4: New file.
70968
70969 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
70970
70971         * lib/isapipe.c, lib/isapipe.h: New files.
70972
70973 2006-08-29  Jim Meyering  <jim@meyering.net>
70974
70975         * modules/configmake (Makefile.am): Make configmake.h depend on
70976         Makefile.  Otherwise, a stale configmake.h could hang around.
70977
70978 2006-08-29  Eric Blake  <ebb9@byu.net>
70979
70980         * lib/error.c (error_at_line, print_errno_message): Match libc, after
70981         resolution of upstream bug 3044.
70982
70983 2006-08-29  Bruno Haible  <bruno@clisp.org>
70984
70985         * modules/localcharset (Depends-on): Add configmake.
70986         (Makefile.am): Remove setting of LIBDIR through DEFS.
70987
70988 2006-08-29  Bruno Haible  <bruno@clisp.org>
70989
70990         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
70991         defined.
70992
70993 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
70994
70995         * modules/fcntl: New file.
70996         * modules/chdir-safer (Depends-on): Add fcntl.
70997         * modules/fts: Likewise.
70998         * modules/mkdir-p: Likewise.
70999
71000         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
71001         This undoes the most recent change, since we're now addressing the
71002         problem in a different way.
71003
71004         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
71005         into output, since the output might be called Makefile.am even
71006         if $makefile_name is something different.
71007         (func_import): Use $makefile_am rather than
71008         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
71009         empty.
71010
71011         * modules/inttypes (Files): Add m4/inttypes-h.m4.
71012
71013 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71014
71015         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
71016         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
71017         recent change to stdint.m4, since we're now addressing the problem in a
71018         different way.
71019
71020 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71021
71022         * m4/fcntl_h.m4: New file.
71023
71024 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71025
71026         * lib/fcntl_.h: New file.
71027         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
71028         the fcntl module.
71029         * lib/dirchownmod.c: Likewise.
71030         * lib/fts.c: Likewise.
71031
71032         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
71033         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
71034         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
71035         just before including <inttypes.h>, to avoid circular inclusion.
71036
71037 2006-08-28  Jim Meyering  <jim@meyering.net>
71038
71039         * doc/visibility.texi: Actually read and correct the grammar of the
71040         sentence affected by yesterday's change.
71041
71042 2006-08-28  Eric Blake  <ebb9@byu.net>
71043
71044         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
71045         needs wrapper.
71046
71047 2006-08-28  Eric Blake  <ebb9@byu.net>
71048
71049         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
71050
71051 2006-08-28  Eric Blake  <ebb9@byu.net>
71052
71053         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
71054
71055 2006-08-28  Bruno Haible  <bruno@clisp.org>
71056
71057         * modules/c-strstr: New file, from GNU gettext.
71058         * MODULES.html.sh (String handling): Add c-strstr.
71059
71060 2006-08-28  Bruno Haible  <bruno@clisp.org>
71061
71062         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
71063         macros.
71064         Reported by Eric Blake.
71065
71066 2006-08-28  Bruno Haible  <bruno@clisp.org>
71067
71068         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
71069         (VASNPRINTF): Return a string of length > INT_MAX without failing.
71070         * lib/vasprintf.c: Include errno.h, limits.h.
71071         (EOVERFLOW): New fallback definition.
71072         (vasprintf): Test here whether the string length is > INT_MAX.
71073         * lib/vsnprintf.c: Include errno.h, limits.h.
71074         (EOVERFLOW): New fallback definition.
71075         (vsnprintf): Fix bug when generated string was too long for the buffer.
71076         Test here whether the string length is > INT_MAX.
71077
71078 2006-08-28  Bruno Haible  <bruno@clisp.org>
71079
71080         * lib/inttypes_.h (SCNX*): Remove definitions.
71081         Reported by Eric Blake.
71082
71083 2006-08-28  Bruno Haible  <bruno@clisp.org>
71084
71085         * lib/c-strstr.h: New file, from GNU gettext.
71086         * lib/c-strstr.c: New file, from GNU gettext.
71087
71088 2006-08-28  Bruno Haible  <bruno@clisp.org>
71089
71090         * gnulib-tool: Reorder some statements.
71091
71092 2006-08-28  Bruno Haible  <bruno@clisp.org>
71093
71094         * gnulib-tool: New option --makefile-name.
71095         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
71096         $makefile_name.
71097         (func_import): Write $makefile_name to the cache file, and read it from
71098         there unless explicitly specified. Use $makefile_name as file name
71099         instead of Makefile.am. Adjust the recommendations accordingly.
71100
71101 2006-08-28  Bruno Haible  <bruno@clisp.org>
71102
71103         * gnulib-tool (func_verify_module): Check against misapplying patch.
71104
71105 2006-08-28  Bruno Haible  <bruno@clisp.org>
71106
71107         * gnulib-tool (func_relativize, func_relconcat): New functions.
71108         Give an error if --local-dir is given with --update.
71109         Remove trailing slashes from $local_gnulib_dir.
71110         (func_import): Store the relativized $local_gnulib_dir in
71111         gnulib-cache.m4, and read it from there if not specified explicitly.
71112
71113 2006-08-28  Bruno Haible  <bruno@clisp.org>
71114
71115         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
71116         is the current directory. Respect also $local_gnulib_dir.
71117
71118 2006-08-28  Bruno Haible  <bruno@clisp.org>
71119             Simon Josefsson  <jas@extundo.com>
71120
71121         BeOS portability.
71122         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
71123
71124 2006-08-27  Jim Meyering  <jim@meyering.net>
71125
71126         * doc/visibility.texi: Remove duplicate word: "pointer".
71127
71128 2006-08-26  Bruno Haible  <bruno@clisp.org>
71129
71130         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
71131         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
71132         (Makefile.am): Create inttypes.h from inttypes_.h.
71133         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
71134
71135         * modules/imaxabs: New file.
71136
71137         * modules/imaxdiv: New file.
71138
71139 2006-08-26  Bruno Haible  <bruno@clisp.org>
71140
71141         * m4/inttypes.m4: New file.
71142         * m4/_inttypes_h.m4: Remove file.
71143         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
71144         PRI_MACROS_BROKEN.
71145         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
71146
71147         * m4/imaxabs.m4: New file.
71148
71149         * m4/imaxdiv.m4: New file.
71150
71151 2006-08-26  Bruno Haible  <bruno@clisp.org>
71152
71153         * lib/inttypes_.h: New file.
71154         * lib/inttypes.h: Remove file.
71155         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
71156
71157         * lib/imaxabs.c: New file.
71158
71159         * lib/imaxdiv.c: New file.
71160
71161 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71162
71163         New config-h module, so that "make" output needn't be cluttered
71164         by -DHAVE_CONFIG_H.
71165         * MODULES.html.sh (Support for building libraries and executables):
71166         Add config-h.
71167         * modules/config-h: New file.
71168         * gnulib-tool (nl, sed_transform_lib_file): New vars.
71169         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
71170         the config-h module is used.
71171
71172         New configmake module, so that "make" output needn't be cluttered
71173         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
71174         * MODULES.html.sh (Support for building libraries and executables):
71175         Add configmake.
71176         * modules/configmake: New file.
71177
71178 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71179
71180         * m4/config-h.m4: New file.
71181
71182 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
71183
71184         * config/srclist.txt: Add elisp-comp.
71185
71186 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
71187
71188         * MODULES.html.sh (Support for building libraries and executables):
71189         Add elisp-comp.
71190         * build-aux/elisp-comp: New file.
71191         * modules/elisp-comp: New file.
71192
71193 2006-08-24  Bruno Haible  <bruno@clisp.org>
71194
71195         * gnulib-tool (func_create_testdir): Use non-default values of
71196         sourcebase and m4base.
71197
71198 2006-08-24  Bruno Haible  <bruno@clisp.org>
71199
71200         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
71201         HTML structure.
71202
71203 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
71204
71205         * modules/openat (Depends-on): Add lchown.
71206
71207 2006-08-23  Bruno Haible  <bruno@clisp.org>
71208
71209         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
71210         of gl_LOCK_EARLY instead of gl_LOCK.
71211
71212 2006-08-23  Bruno Haible  <bruno@clisp.org>
71213
71214         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
71215         on OSF/1 to no.
71216         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
71217
71218 2006-08-23  Bruno Haible  <bruno@clisp.org>
71219
71220         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
71221         as unusable.
71222
71223         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
71224         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
71225         (gl_LOCK): New macro.
71226
71227 2006-08-22  Simon Josefsson  <jas@extundo.com>
71228
71229         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
71230         to md5 module.
71231
71232 2006-08-22  Simon Josefsson  <jas@extundo.com>
71233
71234         * MODULES.html.sh: Add "Support for maintaining and release
71235         projects".
71236
71237         * build-aux/gnupload: New file, from coreutils.
71238
71239 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
71240
71241         Avoid the need for AC_LIBSOURCES in m4 macros.
71242         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
71243         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
71244         * modules/check-version (EXTRA_DIST): Add check-version.h.
71245         * modules/crc (EXTRA_DIST): Add crc.h.
71246         * modules/des (EXTRA_DIST): Add des.h.
71247         * modules/gc (EXTRA_DIST): Add gc.h.
71248         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
71249         * modules/getline (EXTRA_DIST): Add getline.h.
71250         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
71251         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
71252         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
71253         * modules/md2 (EXTRA_DIST): Add md2.h.
71254         * modules/md4 (EXTRA_DIST): Add md4.h.
71255         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
71256         * modules/read-file (EXTRA_DIST): Add read-file.h.
71257         * modules/readline (EXTRA_DIST): Add readline.h.
71258         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
71259         rijndael-api-fst.h.
71260
71261 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
71262
71263         * m4/rijndael.m4 (gl_ARCFOUR):
71264         * m4/arctwo.m4 (gl_ARCTWO):
71265         * m4/check-version.m4 (gl_CHECK_VERSION):
71266         * m4/crc.m4 (gl_CRC):
71267         * m4/des.m4 (gl_DES):
71268         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
71269         * m4/gc.m4 (gl_GC):
71270         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
71271         * m4/getline.m4 (gl_FUNC_GETLINE):
71272         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
71273         * m4/hmac-md5.m4 (gl_HMAC_MD5):
71274         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
71275         * m4/md2.m4 (gl_MD2):
71276         * m4/md4.m4 (gl_MD4):
71277         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
71278         * m4/read-file.m4 (gl_FUNC_READ_FILE):
71279         * m4/readline.m4 (gl_FUNC_READLINE):
71280         * m4/rijndael.m4 (gl_RIJNDAEL):
71281         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
71282         to get the necessary .h files and whatnot.
71283
71284 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
71285
71286         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
71287         gnulib rather than the other way around.
71288         * config/srclistvars.sh (COREUTILS): Remove.
71289
71290 2006-08-22  Jim Meyering  <jim@meyering.net>
71291
71292         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
71293
71294         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
71295
71296 2006-08-22  Eric Blake  <ebb9@byu.net>
71297
71298         * modules/regexprops-generic: New file.
71299         * MODULES.html.sh (Support for building documentation): List it.
71300
71301 2006-08-22  Eric Blake  <ebb9@byu.net>
71302
71303         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
71304         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
71305         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
71306         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
71307
71308 2006-08-22  Bruno Haible  <bruno@clisp.org>
71309
71310         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
71311         and lib_LTLIBRARIES like the other lib_* variables.
71312
71313 2006-08-22  Bruno Haible  <bruno@clisp.org>
71314
71315         * build-aux/x-to-1.in: New file, from GNU gettext.
71316
71317 2006-08-22  Bruno Haible  <bruno@clisp.org>
71318
71319         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
71320         <utmpx.h> exists.
71321
71322 2006-08-22  Bruno Haible  <bruno@clisp.org>
71323
71324         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
71325         <utmpx.h> exists.
71326
71327 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
71328
71329         BeOS portability.
71330         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
71331         exist.
71332         Problem reported by Bruno Haible.
71333
71334 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
71335
71336         Avoid the need for AC_LIBSOURCES in m4 macros.
71337         * modules/acl (EXTRA_DIST): Add acl.h.
71338         * modules/argmatch (Files): Add m4/argmatch.m4.
71339         (configure.ac): Add gl_ARGMATCH.
71340         (EXTRA_DIST): Renamed from lib_SOURCES, for
71341         consistency with the other modules.  Remove argmatch.c.
71342         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
71343         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
71344         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
71345         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
71346         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
71347         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
71348         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
71349         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
71350         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
71351         * modules/closeout (EXTRA_DIST): Add closeout.h.
71352         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
71353         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
71354         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
71355         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
71356         dirname.h; remove basename.c and stripslash.c.
71357         * modules/exclude (EXTRA_DIST): Add exclude.h.
71358         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
71359         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
71360         * modules/file-type (EXTRA_DIST): Add file-type.h.
71361         * modules/filemode (EXTRA_DIST): Add filemode.h.
71362         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
71363         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
71364         * modules/fpending (EXTRA_DIST): Add __fpending.h.
71365         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
71366         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
71367         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
71368         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
71369         * modules/getdate (EXTRA_DIST): Add getdate.c.
71370         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
71371         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
71372         * modules/getpass (EXTRA_DIST): Add getpass.h.
71373         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
71374         * modules/group-member (EXTRA_DIST): Add group-member.h.
71375         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
71376         * modules/hash (EXTRA_DIST): Add hash.h.
71377         * modules/human (EXTRA_DIST): Add human.h.
71378         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
71379         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
71380         * modules/lchown (EXTRA_DIST): Add lchown.h.
71381         * modules/long-options (EXTRA_DIST): Add long-options.h.
71382         * modules/lstat (EXTRA_DIST): Add lstat.h.
71383         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
71384         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
71385         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
71386         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
71387         * modules/memxor (EXTRA_DIST): Add memxor.h.
71388         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
71389         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
71390         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
71391         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
71392         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
71393         * modules/physmem (EXTRA_DIST): Add physmem.h.
71394         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
71395         * modules/posixver (EXTRA_DIST): Add posixver.h.
71396         * modules/quote (EXTRA_DIST): Add quote.h.
71397         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
71398         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
71399         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
71400         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
71401         regex_internal.h regexec.c.
71402         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
71403         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
71404         * modules/same (EXTRA_DIST): Add same.h.
71405         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
71406         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
71407         * modules/savedir (EXTRA_DIST): Add savedir.h.
71408         * modules/sha1 (EXTRA_DIST): Add sha1.h.
71409         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
71410         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
71411         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
71412         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
71413         * modules/strdup (EXTRA_DIST): Add strdup.h.
71414         * modules/strftime (EXTRA_DIST): Add strftime.h.
71415         * modules/strndup (EXTRA_DIST): Add strndup.h.
71416         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
71417         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
71418         * modules/time_r (EXTRA_DIST): Add time_r.h.
71419         * modules/timespec (EXTRA_DIST): Add timespec.h.
71420         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
71421         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
71422         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
71423         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
71424         * modules/userspec (EXTRA_DIST): Add userspec.h.
71425         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
71426         * modules/utimens (EXTRA_DIST): Add utimens.h.
71427         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
71428         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
71429         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
71430         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
71431         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
71432         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
71433         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
71434         * modules/yesno (EXTRA_DIST): Add yesno.h.
71435
71436 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
71437
71438         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
71439
71440         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
71441         * m4/dev-ino.m4, same-inode.m4: Remove.
71442
71443         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
71444         * m4/acl.m4 (AC_FUNC_ACL):
71445         * m4/backupfile.m4 (gl_BACKUPFILE):
71446         * m4/c-strtod.m4 (gl_C99_STRTOLD):
71447         * m4/canon-host.m4 (gl_CANON_HOST):
71448         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
71449         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
71450         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
71451         * m4/cloexec.m4 (gl_CLOEXEC):
71452         * m4/close-stream.m4 (gl_CLOSE_STREAM):
71453         * m4/closeout.m4 (gl_CLOSEOUT):
71454         * m4/dirfd.m4 (gl_FUNC_DIRFD):
71455         * m4/dirname.m4 (gl_DIRNAME):
71456         * m4/exclude.m4 (gl_EXCLUDE):
71457         * m4/exitfail.m4 (gl_EXITFAIL):
71458         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
71459         * m4/file-type.m4 (gl_FILE_TYPE):
71460         * m4/filemode.m4 (gl_FILEMODE):
71461         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
71462         * m4/fpending.m4 (gl_FUNC_FPENDING):
71463         * m4/fprintftime.m4 (gl_FPRINTFTIME):
71464         * m4/fts.m4 (gl_FUNC_FTS):
71465         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
71466         * m4/getdate.m4 (gl_GETDATE):
71467         * m4/gethrxtime.m4 (gl_GETHRXTIME):
71468         * m4/getpagesize.m4 (gl_GETPAGESIZE):
71469         * m4/getpass.m4 (gl_FUNC_GETPASS):
71470         * m4/gettime.m4 (gl_GETTIME):
71471         * m4/getugroups.m4 (gl_GETUGROUPS):
71472         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
71473         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
71474         * m4/hard-locale.m4 (gl_HARD_LOCALE):
71475         * m4/hash.m4 (gl_HASH):
71476         * m4/idcache.m4 (gl_IDCACHE):
71477         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
71478         * m4/lchown.m4 (gl_FUNC_LCHOWN):
71479         * m4/long-options.m4 (gl_LONG_OPTIONS):
71480         * m4/lstat.m4 (gl_FUNC_LSTAT):
71481         * m4/md5.m4 (gl_MD5):
71482         * m4/memcasecmp.m4 (gl_MEMCASECMP):
71483         * m4/memcoll.m4 (gl_MEMCOLL):
71484         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
71485         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
71486         * m4/memxor.m4 (gl_MEMXOR):
71487         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
71488         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
71489         * m4/modechange.m4 (gl_MODECHANGE):
71490         * m4/mountlist.m4 (gl_MOUNTLIST):
71491         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
71492         * m4/openat.m4 (gl_FUNC_OPENAT):
71493         * m4/pathmax.m4 (gl_PATHMAX):
71494         * m4/physmem.m4 (gl_PHYSMEM):
71495         * m4/posixtm.m4 (gl_POSIXTM):
71496         * m4/posixver.m4 (gl_POSIXVER):
71497         * m4/quote.m4 (gl_QUOTE):
71498         * m4/quotearg.m4 (gl_QUOTEARG):
71499         * m4/readtokens.m4 (gl_READTOKENS):
71500         * m4/readutmp.m4 (gl_READUTMP):
71501         * m4/regex.m4 (gl_REGEX):
71502         * m4/safe-read.m4 (gl_SAFE_READ):
71503         * m4/safe-write.m4 (gl_SAFE_WRITE):
71504         * m4/same.m4 (gl_SAME):
71505         * m4/save-cwd.m4 (gl_SAVE_CWD):
71506         * m4/savedir.m4 (gl_SAVEDIR):
71507         * m4/settime.m4 (gl_SETTIME):
71508         * m4/sha1.m4 (gl_SHA1):
71509         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
71510         * m4/stat-macros.m4 (gl_STAT_MACROS):
71511         * m4/stat-time.m4 (gl_STAT_TIME):
71512         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
71513         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
71514         * m4/strdup.m4 (gl_FUNC_STRDUP):
71515         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
71516         * m4/strndup.m4 (gl_FUNC_STRNDUP):
71517         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
71518         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
71519         * m4/time_r.m4 (gl_TIME_R):
71520         * m4/timespec.m4 (gl_TIMESPEC):
71521         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
71522         * m4/unlinkdir.m4 (gl_UNLINKDIR):
71523         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
71524         * m4/userspec.m4 (gl_USERSPEC):
71525         * m4/utimecmp.m4 (gl_UTIMECMP):
71526         * m4/utimens.m4 (gl_UTIMENS):
71527         * m4/xalloc.m4 (gl_XALLOC):
71528         * m4/xgetcwd.m4 (gl_XGETCWD):
71529         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
71530         * m4/xreadlink.m4 (gl_XREADLINK):
71531         * m4/xstrtod.m4 (gl_XSTRTOD):
71532         * m4/yesno.m4 (gl_YESNO):
71533         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
71534         to get the necessary .h files and whatnot.
71535
71536 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
71537             Bruno Haible  <bruno@clisp.org>
71538
71539         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
71540         /bin/sh understanding of '!' conditional negation.
71541
71542 2006-08-21  Jim Meyering  <jim@meyering.net>
71543
71544         * modules/openat (Depends-on): Really alphabetize.
71545
71546         * modules/acl (Depends-on): Add error and quote.
71547
71548         * check-module (find_included_lib_files): Add at-func.c to the
71549         ok-to-include-more-than-once white list.
71550
71551         * modules/openat (Depends-on): Add lstat.  Alphabetize.
71552
71553 2006-08-21  Bruno Haible  <bruno@clisp.org>
71554
71555         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71556         Emit a pkgdata_DATA variable only if some snippets add contents to it.
71557         Reported by Martin Lambers <marlam@marlam.de>.
71558
71559 2006-08-21  Bruno Haible  <bruno@clisp.org>
71560
71561         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
71562         specify an installation location, don't emit a noinst_LIBRARIES or
71563         noinst_LTLIBRARIES assignment.
71564
71565 2006-08-21  Bruno Haible  <bruno@clisp.org>
71566
71567         BeOS portability.
71568         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
71569         BeOS has mbrtowc() but no <wctype.h>.
71570
71571 2006-08-21  Bruno Haible  <bruno@clisp.org>
71572
71573         BeOS portability.
71574         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
71575         exist.
71576
71577 2006-08-21  Bruno Haible  <bruno@clisp.org>
71578
71579         BeOS portability.
71580         * lib/mbchar.h: Include <wctype.h> only if it exists.
71581
71582 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71583
71584         Remove files that are no longer needed by their respective modules.
71585         * m4/obstack.m4: Remove.
71586         * m4/strerror_r.m4: Remove.
71587         * m4/uint32_t.m4: Remove.
71588         * m4/uintptr_t.m4: Remove.
71589         * m4/ullong_max.m4: Remove.
71590         * m4/xstrtoimax.m4: Remove.
71591         * m4/xstrtoumax.m4: Remove.
71592
71593         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
71594         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
71595         dependencies now capture this.
71596
71597         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
71598         Do not use AC_LIBSOURCES, since gnulib modules now do this.
71599         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
71600         * m4/human.m4 (gl_HUMAN): Likewise.
71601         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
71602         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
71603
71604         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
71605
71606         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
71607         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
71608         stdint.
71609         * m4/human.m4 (gl_HUMAN): Likewise.
71610         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
71611         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
71612         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
71613         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
71614         * m4/xstrtol (gl_XSTRTOL): Likewise.
71615
71616         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
71617         AC_TYPE_LONG_LONG_INT.
71618         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
71619         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
71620         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
71621         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
71622
71623         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
71624         on stdbool.
71625
71626         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
71627         (gl_PREREQ_XSTRTOUL): Remove.
71628
71629         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
71630
71631         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
71632         mode.
71633
71634 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71635
71636         Add and change modules to make it easier for coreutils to use
71637         gnulib-tool.
71638         * modules/backupfile (Files): Remove m4/d-ino.m4.
71639         (Depends-on): Add d-ino.
71640         * modules/cycle-check (Depends-on): Add stdint.
71641         (lib_SOURCES): Add cycle-check.h.
71642         * modules/d-ino: New module.
71643         * modules/d-type: New module.
71644         * modules/error (Files): Remove m4/strerror_r.m4.
71645         * modules/filemode (Files): Add m4/st_dm_mode.m4.
71646         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
71647         m4/inttypes_h.m4, m4/uintmax_t.m4.
71648         (Depends-on): Add stdint.
71649         (lib_SOURCES): Add fsusage.h.
71650         * modules/getcwd (Files): Remove d-ino.m4.
71651         (Depends-on): Add d-ino.
71652         * modules/getndelim2 (Depends-on): Add stdint.
71653         * modules/glob (Files): Remove m4/d-type.m4.
71654         (Depends-on): Add d-type.
71655         * modules/host-os: New module.
71656         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
71657         m4/inttypes_h.m4, m4/uintmax_t.m4.
71658         * Depends-on: Add stdint.
71659         (lib_SOURCES): Add human.h.
71660         * modules/inttostr (Files): Remove m4/intmax_t.m4,
71661         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
71662         m4/uintmax_t.m4, m4/ulonglong.m4.
71663         (Depends-on): Add stdint.
71664         (EXTRA_DIST): Add inttostr.h.
71665         * modules/lchmod: New module.
71666         * modules/link-follow: New module.
71667         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
71668         (Depends-on): Add lchmod.
71669         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
71670         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
71671         (Depends-on): Add stdint.
71672         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
71673         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
71674         (Depends-on): Add stdint.
71675         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
71676         * modules/perl: New module.
71677         * modules/regex (Depends-on): Add stdint.
71678         * modules/rmdir-errno: New module.
71679         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
71680         m4/intmax_t.m4.
71681         (Depends-on): Add stdint.
71682         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
71683         m4/uintmax_t.m4.
71684         (Depends-on): Add stdint.
71685         * modules/unlink-busy: New module.
71686         * modules/utimecmp (Depends-on): Add stdint.
71687         * modules/uptime: New module.
71688         * modules/winsz-ioctl: New module.
71689         * modules/winsz-termios: New module.
71690         * modules/xnanosleep (Depends-on): Add nanosleep.
71691         * modules/ullong_max: Remove.
71692         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
71693         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
71694         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
71695         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
71696         (Depends-on): Add inttypes.
71697         (lib_SOURCES): Add xstrtol.h.
71698         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
71699         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
71700         * MODULES.html.sh: Move 'assert' into the assert section.
71701         Move 'dummy' into the linking section.
71702         Remove ullong_max.
71703         Add section for compatibility checks for POSIX:2001 functions,
71704         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
71705         winsz-ioctl, and winsz-termios into it.
71706         Add lchmod.
71707         Add top-level Misc section and put host-os, perl, and uptime
71708         into it.
71709
71710 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71711
71712         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
71713         now assume the stdint module.  Do not include inttypes.h.
71714         * lib/fsusage.h: Likewise.
71715         * lib/getndelim2.c: Likewise.
71716         * lib/human.h: Likewise.
71717         * lib/inttostr.h: Likewise.
71718         * lib/obstack.c: Likewise.
71719         * lib/regex_internal.h: Likewise.
71720         * lib/tempname.c: Likewise.
71721         * lib/utimecmp.c: Likewise.
71722         * lib/xstrtol.h: Likewise.
71723
71724         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
71725
71726         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
71727         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
71728         * lib/xtime.h: Likewise.
71729
71730 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71731
71732         * modules/openat (Files): Add lib/fchmodat.c.
71733         Fixes problem reported by Jay Youngman.
71734
71735 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71736
71737         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
71738         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
71739
71740 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
71741             Bruno Haible  <bruno@clisp.org>
71742
71743         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
71744         and is a script that invokes bison. Tighten the code. Add comments.
71745
71746 2006-08-18  Jim Meyering  <jim@meyering.net>
71747
71748         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
71749         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
71750         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
71751         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
71752
71753 2006-08-18  Bruno Haible  <bruno@clisp.org>
71754
71755         * modules/bison-i18n: New file.
71756         * MODULES.html.sh (Internationalization functions): Add it.
71757
71758 2006-08-18  Bruno Haible  <bruno@clisp.org>
71759
71760         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
71761         sys/statvfs.h. When getmntinfo was found, check its declaration and
71762         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
71763
71764 2006-08-18  Bruno Haible  <bruno@clisp.org>
71765
71766         * m4/bison-i18n.m4: New file, from bison.
71767
71768 2006-08-18  Bruno Haible  <bruno@clisp.org>
71769
71770         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
71771         (ME_DUMMY): Treat "kernfs" as a dummy.
71772         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
71773
71774 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
71775
71776         Update from coreutils.
71777
71778         2006-08-15  Jim Meyering  <jim@meyering.net>
71779
71780         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
71781
71782         2006-01-17  Jim Meyering  <jim@meyering.net>
71783
71784         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
71785
71786         2006-01-11  Jim Meyering  <jim@meyering.net>
71787
71788         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
71789         Check for the lchmod function.
71790
71791 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
71792
71793         Update from coreutils.
71794
71795         * lib/__fpending.h: Add copyright notice.
71796         * lib/fprintftime.h: Likewise.
71797         * lib/savedir.c: Use (C) in copyright notice.
71798         * lib/savedir.h: Likewise.
71799
71800         2006-08-15  Jim Meyering  <jim@meyering.net>
71801
71802         * lib/at-func.c: New file, with the logic of all emulated at-functions.
71803         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
71804         in support of the EXPECTED_ERRNO macro.
71805         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
71806         definitions.  Instead, define the appropriate symbols and include
71807         "at-func.c".
71808         * lib/mkdirat.c (mkdirat): Likewise.
71809         * lib/fchmodat.c (fchmodat): Likewise.
71810         (ENOSYS): Remove definition.
71811         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
71812         it.  Don't include "unistd--.h" -- it wasn't ever used.
71813
71814         2006-01-17  Jim Meyering  <jim@meyering.net>
71815
71816         Rewrite fts.c not to change the current working directory,
71817         by using openat, fstatat, fdopendir, etc..
71818
71819         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
71820         (HAVE_OPENAT_SUPPORT): Define.
71821         [_LIBC] (fchdir): Don't undef or define; no longer used.
71822         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
71823         Now, this `function' always succeeds, and consumes its file descriptor
71824         parameter -- so callers must not close such FDs.  Update callers.
71825         (diropen_fd, opendirat, cwd_advance_fd): New functions.
71826         (diropen): Add parameter, SP.  Adjust all callers.
71827         Implement using diropen_fd, rather than open.
71828         (fts_open): Initialize new member, fts_cwd_fd.
71829         Remove fts_rft-setting code.
71830         (fts_close): Close fts_cwd_fd, if necessary.
71831         (__opendir2): Define in terms of opendir or opendirat,
71832         depending on whether the FST_NOCHDIR flag is set.
71833         (fts_build): Since fts_safe_changedir consumes its FD, and since
71834         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
71835         and close the dup'd file descriptor upon failure.
71836         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
71837         (fts_safe_changedir): Tweak semantics to reflect that this function
71838         now calls cwd_advance_fd and hence consumes its FD argument.
71839         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
71840         [struct FTS] (fts_rft): Remove now-unused member.
71841         [struct FTS] (fts_cycle.state): Improve comment.
71842
71843         * lib/openat.c (openat_needs_fchdir): New function.
71844         * lib/openat.h (openat_needs_fchdir): Declare it.
71845
71846 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
71847
71848         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
71849         Problem and fix reported by Pádraig Brady in
71850         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
71851
71852 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71853
71854         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
71855
71856 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71857
71858         * lib/memcoll.c (memcoll): Optimize for the common case where the
71859         arguments are bytewise equal.
71860
71861 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71862
71863         * doc/regexprops-generic.texi: Add a copyright notice.
71864
71865 2006-08-15  Bruno Haible  <bruno@clisp.org>
71866
71867         * modules/tmpdir (License): Change to LGPL.
71868
71869 2006-08-15  Bruno Haible  <bruno@clisp.org>
71870
71871         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
71872         module.
71873
71874 2006-08-14  Simon Josefsson  <jas@extundo.com>
71875
71876         * config/srclist.txt: Add gnupload.
71877
71878 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
71879
71880         Change copyright notice from LGPL 2 to GPL 2, since that's the
71881         standard form used in the gnulib repository.
71882         * tests/test-lock.c: Likewise.
71883         * tests/test-stdint.c: Likewise.
71884         * tests/test-tls.c: Likewise.
71885
71886         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
71887         prelude-manager.  User shorter URLs for GNU projects, without '?'.
71888         Add copyright notice.
71889
71890         * check-module: Add copyright notice.  Output a copyright
71891         notice if "--version" is specified.
71892         * modules/COPYING: New file.
71893         * tests/test-getaddrinfo.c: Add copyright notice.
71894         * tests/test-verify.c: Likewise.
71895
71896 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
71897
71898         Change copyright notice from LGPL 2 to GPL 2, since that's the
71899         standard form used in the gnulib repository.
71900         * lib/lock.c: LGPL -> GPL.
71901         * lib/lock.h: Likewise.
71902         * lib/strnlen1.c: Likewise.
71903         * lib/strnlen1.h: Likewise.
71904         * lib/tls.c: Likewise.
71905         * lib/tls.h: Likewise.
71906         * lib/tmpdir.c: Likewise.
71907
71908         * lib/TODO: Remove; this belongs only in coreutils.
71909
71910 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
71911
71912         Add copyright notices to long-enough files that lack them, since
71913         otherwise the files aren't clearly free.  Use the same notice that
71914         getdate.texi already uses.
71915         * doc/alloca-opt.texi: Add copyright notice.
71916         * doc/alloca.texi: Likewise.
71917         * doc/ctime.texi: Likewise.
71918         * doc/functions.texi: Likewise.
71919         * doc/gcd.texi: Likewise.
71920         * doc/gnulib-tool.texi: Likewise.
71921         * doc/inet_ntoa.texi: Likewise.
71922         * doc/visibility.texi: Likewise.
71923
71924         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
71925         * doc/quote.texi: Add copyright notice.
71926
71927         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
71928         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
71929         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
71930         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
71931         is now obsolete, and give a pointer to the Sun list.
71932         Add copyright notice.
71933
71934 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
71935
71936         * config/srclistvars.sh: Add copyright notice.
71937
71938 2006-08-14  Eric Blake  <ebb9@byu.net>
71939
71940         Import the following change from libc:
71941
71942         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
71943
71944         Upstream bug 2997.
71945         * lib/misc/error.c: Add space between program name and message if file
71946         name is missing.
71947
71948 2006-08-12  Karl Berry  <karl@gnu.org>
71949
71950         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
71951         remove, these originate in gnulib now.
71952
71953 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71954
71955         * doc/Makefile (standards.info standards.html standards.dvi):
71956         Also depend on make-stds.texi.
71957
71958 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
71959
71960         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
71961         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
71962
71963         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
71964         in wchar_t.  Problem reported by Eric Blake.
71965
71966         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
71967         LEN is smaller than SIZE.  Suggested by Bruno Haible.
71968         Also, help the compiler to keep LEN in a register.
71969
71970 2006-08-11  Eric Blake  <ebb9@byu.net>
71971
71972         * users.txt: Sort.  Add tar.
71973
71974 2006-08-11  Bruno Haible  <bruno@clisp.org>
71975
71976         * users.txt: New file.
71977
71978 2006-08-11  Bruno Haible  <bruno@clisp.org>
71979
71980         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
71981         before <wchar.h>. Needed for OSF/1 and BSD/OS.
71982
71983 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
71984
71985         * modules/snprintf (Depends-on): Remove minmax.
71986         (Maintainer): Add self and Bruno.
71987
71988 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
71989
71990         * lib/.cppi-disable: Add snprintf.h, socket_.h.
71991         * lib/snprintf.c: Include <errno.h> and <limits.h>.
71992         (EOVERFLOW): Define if the system does not.
71993         Do not include "minmax.h"; it wasn't used.
71994         (snprintf): Don't assume size_t promotes to an unsigned type.
71995         Fix bug when generated string was too long for the buffer: the
71996         buffer's contents are supposed to be the initial prefix of the
71997         output.  Don't assume vasnprintf returns EOVERFLOW if the size
71998         exceeds INT_MAX; do the check ourselves.
71999
72000         Import the following changes from libc:
72001
72002         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
72003
72004         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
72005         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
72006         set wc to the byte which couldn't be converted.
72007         (re_string_reconstruct): Don't clear valid_raw_len before calling
72008         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
72009         tip_context using re_string_context_at.
72010
72011         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
72012
72013         * lib/posix/regex.h: g++ still cannot handled [restrict].
72014
72015         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
72016
72017         * lib/posix/regex.h: Remove special handling for VMS.
72018
72019 2006-08-10  Jim Meyering  <jim@meyering.net>
72020
72021         * modules/same-inode: New module.
72022         * modules/dev-ino: New module.
72023         * modules/cycle-check: Depend on these modules, rather than simply
72024         including their .h files.
72025         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
72026         required via m4/cycle-check.m4.
72027         * modules/same: Depend on new same-inode module, rather than
72028         including same-inode.h.
72029         * modules/chdir-safer: New file.
72030
72031         * modules/chown (Depends-on): Add stat-macros.
72032
72033 2006-08-10  Jim Meyering  <jim@meyering.net>
72034
72035         * m4/cycle-check.m4: New file.
72036         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
72037         * m4/dev-ino.m4, m4/same-inode.m4: New files.
72038
72039 2006-08-10  Eric Blake  <ebb9@byu.net>
72040
72041         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
72042         in from original proposal.
72043
72044 2006-08-10  Eric Blake  <ebb9@byu.net>
72045         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
72046
72047         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
72048         namespace.
72049
72050 2006-08-10  Bruno Haible  <bruno@clisp.org>
72051
72052         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
72053         as well.
72054
72055 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72056
72057         Sync from coreutils.
72058
72059         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
72060
72061         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
72062         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
72063
72064 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72065
72066         * modules/restrict: Remove; no longer needed now that we assume
72067         Autoconf 2.59 or later.
72068         * MODULES.html.sh: Remove 'restrict'.
72069         * modules/argp (Depends-on): Remove 'restrict'.
72070         * modules/base64 (Depends-on): Likewise.
72071         * modules/gc (Depends-on): Likewise.
72072         * modules/getaddrinfo (Depends-on): Likewise.
72073         * modules/glob (Depends-on): Likewise.
72074         * modules/inet_ntop (Depends-on): Likewise.
72075         * modules/inet_pton (Depends-on): Likewise.
72076         * modules/memxor (Depends-on): Likewise.
72077         * modules/regex (Depends-on): Likewise.
72078         * modules/strtok_r (Depends-on): Likewise.
72079         * modules/time_r (Depends-on): Likewise.
72080
72081 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72082
72083         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
72084         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
72085         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
72086         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
72087         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
72088         * m4/memxor.m4 (gl_MEMXOR): Likewise.
72089         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
72090         gl_C_RESTRICT replaced by AC_C_RESTRICT.
72091
72092         Merge from coreutils.
72093         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
72094         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
72095         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
72096         * m4/time_r.m4 (gl_TIME_R): Likewise.
72097
72098 2006-08-09  Karl Berry  <karl@gnu.org>
72099
72100         * config/srclist.txt: no more gettext-tools, per Bruno.
72101
72102 2006-08-08  Eric Blake  <ebb9@byu.net>
72103
72104         * modules/verror: New module.
72105         * MODULES.html.sh: Document it.
72106
72107 2006-08-08  Eric Blake  <ebb9@byu.net>
72108
72109         * lib/verror.h, lib/verror.c: New files.
72110
72111 2006-08-08  Eric Blake  <ebb9@byu.net>
72112
72113         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
72114         verror_at_line output complies with GNU Coding Standards even when
72115         file is NULL.
72116
72117 2006-08-07  Bruno Haible  <bruno@clisp.org>
72118
72119         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
72120         versions of AIX.
72121         Reported by Ralf Wildenhues.
72122
72123 2006-08-07  Bruno Haible  <bruno@clisp.org>
72124
72125         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
72126         in an AC_DEFUN. Needed so that the autoconf snippets can use
72127         AC_REQUIRE.
72128
72129 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72130
72131         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72132         Initialize pkgdata_DATA.
72133         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
72134         overriding it.
72135
72136 2006-08-06  Eric Blake  <ebb9@byu.net>
72137
72138         * lib/error.h: Fold in some upstream changes from glibc.
72139         * lib/error.c: Likewise.
72140
72141 2006-08-04  Bruno Haible  <bruno@clisp.org>
72142
72143         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72144         Make the mostlyclean-local rule depend on mostlyclean-generic.
72145         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
72146
72147 2006-07-31  Bruno Haible  <bruno@clisp.org>
72148
72149         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
72150         <stdlib.h>, <string.h>.
72151
72152 2006-07-30  Bruno Haible  <bruno@clisp.org>
72153
72154         * modules/readlink (License): Change to LGPL.
72155
72156 2006-07-30  Bruno Haible  <bruno@clisp.org>
72157
72158         * modules/javaversion (Makefile.am): Distribute javaversion.java and
72159         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
72160         set PKGDATADIR to point to it.
72161
72162 2006-07-30  Bruno Haible  <bruno@clisp.org>
72163
72164         * modules/csharpexec (configure.ac): Comment out macro invocation.
72165         * modules/javaexec (configure.ac): Likewise.
72166         * modules/javacomp-script (configure.ac): Likewise.
72167
72168         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
72169
72170 2006-07-30  Bruno Haible  <bruno@clisp.org>
72171
72172         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
72173         linked-list.
72174
72175 2006-07-30  Bruno Haible  <bruno@clisp.org>
72176
72177         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
72178
72179 2006-07-30  Bruno Haible  <bruno@clisp.org>
72180
72181         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72182         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
72183         get removed.
72184
72185 2006-07-29  Bruno Haible  <bruno@clisp.org>
72186
72187         Make it possible for gnulib-tool to work with locally modified or
72188         augmented gnulib repositories.
72189         * gnulib-tool (func_usage): Document --local-dir option.
72190         (local_gnulib_dir): New variable.
72191         Handle --local-dir option.
72192         (func_lookup_file): New function.
72193         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
72194         (func_get_description, func_get_filelist, func_get_description,
72195         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
72196         func_get_automake_snippet, func_get_include_directive,
72197         func_get_license, func_get_maintainer): Use func_lookup_file.
72198         (func_import, func_create_testdir): Use func_lookup_file.
72199
72200 2006-07-29  Bruno Haible  <bruno@clisp.org>
72201
72202         * modules/setenv (Depends-on): Add unistd.
72203
72204 2006-07-29  Bruno Haible  <bruno@clisp.org>
72205
72206         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
72207
72208 2006-07-29  Bruno Haible  <bruno@clisp.org>
72209
72210         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
72211
72212 2006-07-29  Bruno Haible  <bruno@clisp.org>
72213
72214         * gnulib-tool (import, update): If there is no Makefile.am, look at
72215         aclocal.m4, instead of bailing out.
72216
72217 2006-07-29  Bruno Haible  <bruno@clisp.org>
72218
72219         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
72220         Categorize the options by when they are useful.
72221
72222 2006-07-29  Bruno Haible  <bruno@clisp.org>
72223
72224         * gnulib-tool (func_usage): Document option --no-libtool.
72225         Handle option --no-libtool.
72226         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
72227         for changed semantics of $libtool variable.
72228         (func_import): Likewise. If libtool is not used, show this through
72229         an option --no-libtool.
72230         (func_create_testdir): Update.
72231
72232 2006-07-29  Bruno Haible  <bruno@clisp.org>
72233
72234         * gnulib-tool (func_import): Extend error message about missing
72235         --doc-base.
72236
72237 2006-07-29  Bruno Haible  <bruno@clisp.org>
72238
72239         * gnulib-tool (func_import): Don't create the $docbase directory if
72240         there is no file to store there.
72241
72242 2006-07-29  Bruno Haible  <bruno@clisp.org>
72243
72244         * gnulib-tool (autoconf_minversion): If a --dir option is given and
72245         relevant, look for configure.ac there, not in the current directory.
72246         Also use a simple search for AC_PREREQ, not "autoconf --trace".
72247
72248 2006-07-29  Bruno Haible  <bruno@clisp.org>
72249
72250         * gnulib-tool (SORT): New variable.
72251         (func_usage): Undocument --assume-autoconf option.
72252         Remove --assume-autoconf option handling.
72253         (autoconf_minversion): Determine from the contents of configure.ac.
72254         (func_import): Remove autoconf_minversion handling.
72255         Suggested by Eric Blake.
72256
72257 2006-07-29  Bruno Haible  <bruno@clisp.org>
72258
72259         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
72260
72261 2006-07-29  Bruno Haible  <bruno@clisp.org>
72262
72263         * config/srclist.txt (*setenv.[ch]): Remove rules.
72264
72265 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72266
72267         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
72268
72269 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72270
72271         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
72272         arpa/inet.h.
72273
72274 2006-07-28  Simon Josefsson  <jas@extundo.com>
72275
72276         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
72277         * modules/inet_pton (Depends-on): Likewise.
72278
72279 2006-07-28  Simon Josefsson  <jas@extundo.com>
72280
72281         * m4/netinet_in_h.m4: New file.
72282
72283 2006-07-28  Simon Josefsson  <jas@extundo.com>
72284
72285         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
72286         #include's.
72287
72288 2006-07-28  Simon Josefsson  <jas@extundo.com>
72289
72290         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
72291         #include's.
72292
72293 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
72294
72295         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
72296         setgid on directories only if they set these bits.
72297         * lib/modechange.h: Remove obsolete comment about masks.
72298
72299 2006-07-28  Eric Blake  <ebb9@byu.net>
72300
72301         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
72302         macro expansion.
72303
72304 2006-07-28  Bruno Haible  <bruno@clisp.org>
72305
72306         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
72307
72308 2006-07-28  Bruno Haible  <bruno@clisp.org>
72309
72310         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
72311
72312 2006-07-28  Bruno Haible  <bruno@clisp.org>
72313
72314         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
72315         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
72316         Define fallbacks.
72317         Avoids link error on FreeBSD 4.x.
72318         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
72319
72320         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
72321         encoding.
72322         * lib/mbswidth.c (iswcntrl): Likewise.
72323
72324 2006-07-27  Bruno Haible  <bruno@clisp.org>
72325
72326         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
72327         test.
72328
72329 2006-07-27  Bruno Haible  <bruno@clisp.org>
72330
72331         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
72332         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
72333         defined.
72334
72335 2006-07-26  Eric Blake  <ebb9@byu.net>
72336
72337         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
72338
72339 2006-07-26  Eric Blake  <ebb9@byu.net>
72340
72341         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
72342         like mingw that lack mkstemp.
72343         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
72344         avoid compilation warning on mingw.
72345
72346 2006-07-26  Bruno Haible  <bruno@clisp.org>
72347
72348         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
72349         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
72350         INT_FAST*_MIN, INTPTR_MIN.
72351
72352 2006-07-25  Bruno Haible  <bruno@clisp.org>
72353
72354         * modules/version-etc (Depends-on): Add stdarg.
72355
72356 2006-07-25  Bruno Haible  <bruno@clisp.org>
72357
72358         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
72359         complex commands.
72360
72361 2006-07-25  Bruno Haible  <bruno@clisp.org>
72362
72363         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
72364         defined in <stdarg.h> or config.h.
72365
72366 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
72367
72368         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
72369         (gl_STDIO_SAFER): Remove.
72370
72371 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
72372
72373         * MODULES.html.sh (File stream based Input/Output):
72374         Add fopen-safer, tmpfile-safer; remove stdio-safer.
72375         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
72376         * modules/fopen-safer, modules/tmpfile-safer: New files.
72377         * modules/stdio-safer: Remove.
72378
72379 2006-07-24  Bruno Haible  <bruno@clisp.org>
72380
72381         * modules/tmpdir: New file.
72382         * MODULES.html.sh (File system functions): Add it.
72383
72384 2006-07-24  Bruno Haible  <bruno@clisp.org>
72385
72386         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
72387         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
72388
72389 2006-07-24  Bruno Haible  <bruno@clisp.org>
72390
72391         * modules/clean-temp: New file.
72392
72393 2006-07-24  Bruno Haible  <bruno@clisp.org>
72394
72395         * m4/tmpdir.m4: New file, from GNU gettext.
72396
72397 2006-07-24  Bruno Haible  <bruno@clisp.org>
72398
72399         * lib/tmpdir.h: New file, from GNU gettext.
72400         * lib/tmpdir.c: New file, from GNU gettext.
72401
72402 2006-07-24  Bruno Haible  <bruno@clisp.org>
72403
72404         * lib/clean-temp.h: New file, from GNU gettext.
72405         * lib/clean-temp.c: New file, from GNU gettext.
72406
72407 2006-07-23  Eric Blake  <ebb9@byu.net>
72408
72409         * modules/stdio-safer (Files): Add tmpfile-safer.c.
72410         (Depends-on): Add binary-io.
72411
72412 2006-07-23  Eric Blake  <ebb9@byu.net>
72413
72414         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
72415
72416 2006-07-23  Eric Blake  <ebb9@byu.net>
72417
72418         * lib/tmpfile-safer.c: New file.
72419         * lib/stdio-safer.h (fopen_safer): Add prototype.
72420         * lib/stdio--.h (tmpfile): Make safer.
72421
72422 2006-07-23  Bruno Haible  <bruno@clisp.org>
72423
72424         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
72425         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
72426         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
72427         gl_linked_remove_at): Use it.
72428
72429 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72430         and Simon Josefsson <jas@extundo.com>
72431
72432         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
72433
72434         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
72435
72436 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
72437
72438         * modules/close-stream: New file.
72439         * modules/closeout (Description): Make it clear that it exits
72440         with a diagnostic on error.
72441         (Depends-on): Add close-stream.  Remove fpending, stdbool.
72442         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
72443
72444 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
72445
72446         * m4/close-stream.m4: New file.
72447
72448 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
72449
72450         * lib/close-stream.c, lib/close-stream.h: New files.
72451
72452 2006-07-22  Bruno Haible  <bruno@clisp.org>
72453
72454         Merge from GNU gettext 0.15.
72455
72456         2006-05-01  Bruno Haible  <bruno@clisp.org>
72457
72458                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
72459
72460         2006-07-22  Bruno Haible  <bruno@clisp.org>
72461
72462                 * modules/javaversion: New file.
72463                 * MODULES.html.sh (Java): Add javaversion.
72464
72465         2006-03-12  Bruno Haible  <bruno@clisp.org>
72466
72467                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
72468
72469         2005-12-04  Bruno Haible  <bruno@clisp.org>
72470
72471                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
72472                 (untested).
72473
72474         2006-06-21  Bruno Haible  <bruno@clisp.org>
72475
72476                 Avoid warnings from recent versions of mcs.
72477                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
72478                 -o, -L, -r any more. Use options documented since mcs-1.0
72479                 instead. Similarly for -g.
72480
72481         2005-12-04  Bruno Haible  <bruno@clisp.org>
72482
72483                 * build-aux/csharpcomp.sh.in: Suffix for resources is
72484                 .resources, not .resource.
72485
72486         2005-07-09  Bruno Haible  <bruno@clisp.org>
72487
72488                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
72489                 add a .dll suffix.
72490                 Reported by Mark Junker <mjscod@gmx.de>.
72491
72492         2006-07-22  Bruno Haible  <bruno@clisp.org>
72493
72494                 * modules/gettext: Upgrade to gettext-0.15.
72495                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
72496                 m4/visibility.m4.
72497                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
72498
72499 2006-07-22  Bruno Haible  <bruno@clisp.org>
72500
72501         Merge from GNU gettext 0.15.
72502
72503         2006-03-25  Bruno Haible  <bruno@clisp.org>
72504
72505                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
72506
72507         2006-07-21  Bruno Haible  <bruno@clisp.org>
72508
72509                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
72510                 "1.1".
72511
72512         2006-05-09  Bruno Haible  <bruno@clisp.org>
72513
72514                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
72515                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
72516                 for the conftestver execution.
72517
72518         2006-05-01  Bruno Haible  <bruno@clisp.org>
72519
72520                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
72521                 optional target-version argument. Verify that the compiler
72522                 groks source of the specified source-version, or add -source
72523                 option as necessary. Verify that the compiler produces
72524                 bytecode in the specified target-version, or add -target and
72525                 -source options as necessary. Make the result of the test
72526                 available as variable CONF_JAVAC. Also log error output in
72527                 config.log.
72528
72529         2006-03-11  Bruno Haible  <bruno@clisp.org>
72530
72531                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
72532
72533         2006-05-09  Bruno Haible  <bruno@clisp.org>
72534
72535                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
72536                 CLASSPATH_SEPARATOR to a semicolon.
72537
72538         2006-03-12  Bruno Haible  <bruno@clisp.org>
72539
72540                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
72541                 available as variable CONF_JAVA, for subsequent autoconf
72542                 tests. Also log error output in config.log.
72543
72544         2006-07-19  Bruno Haible  <bruno@clisp.org>
72545
72546                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
72547                 that getline works on glibc2 systems. Needed to avoid trouble
72548                 in relocatable.c.
72549                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
72550
72551         2005-12-04  Bruno Haible  <bruno@clisp.org>
72552
72553                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
72554                 launcher (untested).
72555
72556         2005-12-04  Bruno Haible  <bruno@clisp.org>
72557
72558                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
72559
72560         2006-07-22  Bruno Haible  <bruno@clisp.org>
72561
72562                 * gettext.m4: Update from GNU gettext-0.15.
72563                 * nls.m4: Likewise.
72564                 * po.m4: Likewise.
72565                 * inttypes-pri.m4: Likewise.
72566                 * inttypes-h.m4: Renamed from inttypes.m4.
72567                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
72568
72569 2006-07-22  Bruno Haible  <bruno@clisp.org>
72570
72571         Merge from GNU gettext 0.15.
72572
72573         2005-07-05  Bruno Haible  <bruno@clisp.org>
72574
72575                 * printf-args.c (printf_fetchargs): Work around broken
72576                 definition of wint_t on mingw.
72577
72578         2005-02-12  Bruno Haible  <bruno@clisp.org>
72579
72580                 * xallocsa.h: Add extern "C" for C++.
72581
72582         2006-05-17  Bruno Haible  <bruno@clisp.org>
72583
72584                 Cygwin portability.
72585                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
72586
72587         2006-04-30  Bruno Haible  <bruno@clisp.org>
72588
72589                 * progreloc.c: Include <mach-o/dyld.h> if available.
72590                 (find_executable): Use _NSGetExecutablePath when possible.
72591
72592         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
72593
72594                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
72595                 function.
72596
72597         2005-12-29  Bruno Haible  <bruno@clisp.org>
72598
72599                 * progreloc.c (set_program_name_and_installdir): Fix
72600                 compilation error.
72601
72602         2005-12-04  Bruno Haible  <bruno@clisp.org>
72603
72604                 Cygwin portability.
72605                 * progreloc.c: Include <windows.h> also on Cygwin.
72606                 (find_executable): Add support for Cygwin.
72607                 (set_program_name_and_installdir): Handle also platforms with
72608                 nonempty EXEEXT.
72609
72610         2006-07-11  Bruno Haible  <bruno@clisp.org>
72611
72612                 * javacomp.c: Fix a comment.
72613                 Reported by Jim Meyering.
72614
72615         2006-04-30  Bruno Haible  <bruno@clisp.org>
72616
72617                 * javacomp.h (compile_java_class): Add source_version,
72618                 target_version arguments.
72619                 * javacomp.c: Rewritten to choose only a compiler that
72620                 respects the specified source_version and target_version.
72621
72622         2006-06-27  Bruno Haible  <bruno@clisp.org>
72623
72624                 Assume correct S_ISDIR macro.
72625                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
72626
72627         2006-07-22  Bruno Haible  <bruno@clisp.org>
72628
72629                 * javaversion.h: New file, from GNU gettext.
72630                 * javaversion.c: New file, from GNU gettext.
72631                 * javaversion.java: New file, from GNU gettext.
72632                 * javaversion.class: New file, from GNU gettext.
72633
72634         2006-05-17  Bruno Haible  <bruno@clisp.org>
72635
72636                 Cygwin portability.
72637                 * javaexec.c (execute_java_class): Test for jview program
72638                 also on Cygwin.
72639
72640         2006-04-09  Bruno Haible  <bruno@clisp.org>
72641
72642                 * fatal-signal.c: Don't include string.h.
72643                 (at_fatal_signal): Use a copying loop instead of memcpy.
72644
72645         2005-12-04  Bruno Haible  <bruno@clisp.org>
72646
72647                 * csharpexec.c: Add support for 'clix' launcher (untested).
72648                 (execute_csharp_using_sscli): New function.
72649                 (execute_csharp_program): Call it.
72650
72651         2006-06-21  Bruno Haible  <bruno@clisp.org>
72652
72653                 Avoid warnings from recent versions of mcs.
72654                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
72655                 -o, -L, -r any more. Use options documented since mcs-1.0
72656                 instead. Similarly for -g.
72657
72658         2005-07-09  Bruno Haible  <bruno@clisp.org>
72659
72660                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
72661                 add a .dll suffix.
72662                 Reported by Mark Junker <mjscod@gmx.de>.
72663
72664         2006-06-17  Bruno Haible  <bruno@clisp.org>
72665
72666                 * config.charset: Update for NetBSD 3.0.
72667
72668         2006-05-17  Bruno Haible  <bruno@clisp.org>
72669
72670                 Cygwin portability.
72671                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
72672
72673         2006-05-16  Bruno Haible  <bruno@clisp.org>
72674
72675                 * localcharset.c [CYGWIN]: Include <windows.h>.
72676                 (get_charset_aliases): For Cygwin, return the same CPxxx
72677                 aliases list as under WIN32.
72678                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
72679                 the environment variables. Fall back to GetACP().
72680
72681         2006-04-05  Bruno Haible  <bruno@clisp.org>
72682
72683                 * config.charset: Update Juan Manuel Guerrero's address.
72684
72685         2005-02-12  Bruno Haible  <bruno@clisp.org>
72686
72687                 * allocsa.h: Add extern "C" for C++.
72688
72689         2005-02-10  Bruno Haible  <bruno@clisp.org>
72690
72691                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
72692                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
72693
72694         2006-07-22  Bruno Haible  <bruno@clisp.org>
72695
72696                 * gettext.h: Update to GNU gettext-0.15.
72697
72698 2006-07-22  Bruno Haible  <bruno@clisp.org>
72699
72700         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
72701         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
72702         lib-prefix.m4, longdouble.m4, ssize_t.m4.
72703
72704 2006-07-21  Eric Blake  <ebb9@byu.net>
72705
72706         * modules/stdlib-safer: New file.
72707         * MODULES.html.sh (File stream based Input/Output): Add
72708         stdlib-safer.
72709
72710 2006-07-21  Eric Blake  <ebb9@byu.net>
72711
72712         * lib/stdlib-safer.h: New file from coreutils, required by
72713         stdlib--.h.
72714
72715 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
72716
72717         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
72718
72719 2006-07-20  Bruno Haible  <bruno@clisp.org>
72720
72721         * gnulib-tool: Recognize new option --assume-autoconf.
72722         (autoconf_minversion): New variable.
72723         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
72724
72725 2006-07-20  Bruno Haible  <bruno@clisp.org>
72726
72727         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
72728
72729 2006-07-19  Derek R. Price  <derek@ximbiot.com>
72730
72731         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
72732         Reindent and repaginate.
72733
72734 2006-07-19  Derek Price  <derek@ximbiot.com>
72735
72736         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
72737         Correct grammar.
72738
72739 2006-07-17  Bruno Haible  <bruno@clisp.org>
72740
72741         * modules/list: New file.
72742         * modules/array-list: New file.
72743         * modules/carray-list, modules/carray-list-tests: New files.
72744         * modules/linked-list, modules/linked-list-tests: New files.
72745         * modules/avltree-list, modules/avltree-list-tests: New files.
72746         * modules/rbtree-list, modules/rbtree-list-tests: New files.
72747         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
72748         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
72749         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
72750         * modules/oset: New file.
72751         * modules/array-oset: New file.
72752         * modules/avltree-oset, modules/avltree-oset-tests: New files.
72753         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
72754         * tests/test-carray_list.c: New file.
72755         * tests/test-linked_list.c: New file.
72756         * tests/test-avltree_list.c: New file.
72757         * tests/test-rbtree_list.c: New file.
72758         * tests/test-linkedhash_list.c: New file.
72759         * tests/test-avltreehash_list.c: New file.
72760         * tests/test-rbtreehash_list.c: New file.
72761         * tests/test-avltree_oset.c: New file.
72762         * tests/test-rbtree_oset.c: New file.
72763         * MODULES.html.sh (Container data structures): New section.
72764
72765 2006-07-17  Bruno Haible  <bruno@clisp.org>
72766
72767         * m4/gl_list.m4: New file.
72768
72769 2006-07-17  Bruno Haible  <bruno@clisp.org>
72770
72771         * lib/gl_list.h: New file.
72772         * lib/gl_list.c: New file.
72773         * lib/gl_array_list.h: New file.
72774         * lib/gl_array_list.c: New file.
72775         * lib/gl_carray_list.h: New file.
72776         * lib/gl_carray_list.c: New file.
72777         * lib/gl_linked_list.h: New file.
72778         * lib/gl_linked_list.c: New file.
72779         * lib/gl_anylinked_list1.h: New file.
72780         * lib/gl_anylinked_list2.h: New file.
72781         * lib/gl_avltree_list.h: New file.
72782         * lib/gl_avltree_list.c: New file.
72783         * lib/gl_anyavltree_list1.h: New file.
72784         * lib/gl_anyavltree_list2.h: New file.
72785         * lib/gl_rbtree_list.h: New file.
72786         * lib/gl_rbtree_list.c: New file.
72787         * lib/gl_anyrbtree_list1.h: New file.
72788         * lib/gl_anyrbtree_list2.h: New file.
72789         * lib/gl_anytree_list1.h: New file.
72790         * lib/gl_anytree_list2.h: New file.
72791         * lib/gl_linkedhash_list.h: New file.
72792         * lib/gl_linkedhash_list.c: New file.
72793         * lib/gl_anyhash_list1.h: New file.
72794         * lib/gl_anyhash_list2.h: New file.
72795         * lib/gl_avltreehash_list.h: New file.
72796         * lib/gl_avltreehash_list.c: New file.
72797         * lib/gl_rbtreehash_list.h: New file.
72798         * lib/gl_rbtreehash_list.c: New file.
72799         * lib/gl_anytreehash_list1.h: New file.
72800         * lib/gl_anytreehash_list2.h: New file.
72801
72802         * lib/gl_oset.h: New file.
72803         * lib/gl_oset.c: New file.
72804         * lib/gl_array_oset.h: New file.
72805         * lib/gl_array_oset.c: New file.
72806         * lib/gl_avltree_oset.h: New file.
72807         * lib/gl_avltree_oset.c: New file.
72808         * lib/gl_rbtree_oset.h: New file.
72809         * lib/gl_rbtree_oset.c: New file.
72810         * lib/gl_anytree_oset.h: New file.
72811
72812 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
72813
72814         * m4/mkancesdirs.m4: New file.
72815         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
72816         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
72817         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
72818         it.
72819
72820 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
72821
72822         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
72823         * lib/mkancesdirs.h: New files.
72824         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
72825         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
72826         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
72827         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
72828         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
72829         callers changed.  Revamp internals significantly, by not
72830         attempting to create directories that are temporarily more
72831         permissive than the final results.  Do not attempt to use
72832         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
72833         This removes some race conditions, fixes some bugs, and simplifies
72834         things.  Use new dirchownmod function to do owner and mode changes.
72835         * lib/mkdir-p.h: Likewise.
72836         * lib/modechange.c (octal_to_mode): New function.
72837         (struct mode_change): New member mentioned.
72838         (make_node_op_equals): New arg mentioned.  All callers changed.
72839         (mode_compile): Keep track of which mode bits the user has explicitly
72840         mentioned.
72841         (mode_adjust): New arg DIR, so that we implement the X op correctly.
72842         New arg PMODE_BITS, to keep track of which mode bits the user
72843         mentioned; it treats S_ISUID and S_ISGID speciall.
72844         All callers changed.
72845         * lib/modechange.h: Likewise.
72846
72847 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
72848
72849         * MODULES.html.sh: Add mkancestors.
72850         * modules/mkancesdirs: New module.
72851         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
72852         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
72853         The chdir-safer and afs files are now orphans; I'll remove them
72854         unless someone speaks up.
72855         Add lib/dirchownmod.c, lib/dirchownmod.h.
72856         (Depends-on): Remove alloca, chown, save-cwd, dirname.
72857         Add lchown, mkancesdirs.
72858         (Maintainer): Add self.
72859
72860 2006-07-15  Karl Berry  <karl@gnu.org>
72861
72862         * gnulib-tool: help message wording/arrangement.
72863
72864 2006-07-14  Simon Josefsson  <jas@extundo.com>
72865
72866         * doc/gnulib.texi (Libtool and Windows): New section.
72867
72868 2006-07-12  Simon Josefsson  <jas@extundo.com>
72869
72870         * modules/gendocs (License): Fix license, approved by Karl.
72871
72872 2006-07-12  Eric Blake  <ebb9@byu.net>
72873
72874         * MODULES.html.sh: Add gendocs.
72875
72876 2006-07-11  Eric Blake  <ebb9@byu.net>
72877
72878         * modules/fdl: New module, to install doc/fdl.texi.
72879         * MODULES.html.sh: Add new section for documentation modules.
72880         * gnulib-tool: Avoid space-tab.
72881         (--doc-base): New option, to manage files from doc.
72882
72883 2006-07-11  Eric Blake  <ebb9@byu.net>
72884
72885         * m4/absolute-header.m4: Fix comments to match recent change.
72886
72887 2006-07-11  Eric Blake  <ebb9@byu.net>
72888
72889         * gnulib-tool: List --doc-base before --tests-base.
72890
72891 2006-07-11  Derek R. Price  <derek@ximbiot.com>
72892
72893         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
72894
72895 2006-07-11  Bruno Haible  <bruno@clisp.org>
72896
72897         * README: Mention where to put documentation.
72898
72899 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72900
72901         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
72902
72903 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
72904
72905         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
72906         to stdint.m4.
72907
72908 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
72909
72910         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
72911         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
72912         "no/such/file/stdint.h" when there is no such file, so that
72913         the resulting C code can be parsed by dodgy compilers.
72914         Problems reported by Bob Proulx.
72915
72916 2006-07-10  Derek R. Price  <derek@ximbiot.com>
72917
72918         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
72919         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
72920         macros into the GNU _D_EXACT_NAMLEN.
72921         * lib/savedir.c:  Likewise.
72922         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
72923
72924 2006-07-10  Derek R. Price  <derek@ximbiot.com>
72925         and Paul Eggert  <eggert@cs.ucla.edu>
72926
72927         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
72928         * m4/savedir.m4:
72929         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
72930         macros into the GNU _D_EXACT_NAMLEN.
72931
72932 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
72933
72934         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
72935         around the absolute name, to work around a problem with the HP-UX
72936         11.23 native C compiler, reported by Bob Proulx.
72937
72938 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
72939
72940         * doc/maintain.texi, make-stds.texi: Sync from
72941         <http://savannah.gnu.org/projects/gnustandards>.
72942
72943 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
72944
72945         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
72946
72947 2006-07-09  Jim Meyering  <jim@meyering.net>
72948
72949         * m4/glob.m4: Remove a doubled word in a comment.
72950
72951 2006-07-09  Jim Meyering  <jim@meyering.net>
72952
72953         * lib/argp-pv.c: Remove a doubled word in a comment.
72954         * lib/check-version.c (check_version): Likewise.
72955         * lib/javacomp.c (compile_java_class): Likewise.
72956
72957 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
72958
72959         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
72960         for the benefit of people using Autoconf 2.60.  If you want to
72961         support older Autoconf versions you can copy m4/onceonly_2_57.m4
72962         (or m4/onceonly.m4, if pre-2.57) manually.
72963
72964 2006-07-08  Jim Meyering  <jim@meyering.net>
72965
72966         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
72967         comment.
72968         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
72969         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
72970         comment.
72971
72972 2006-07-08  Jim Meyering  <jim@meyering.net>
72973
72974         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
72975
72976 2006-07-07  Simon Josefsson  <jas@extundo.com>
72977
72978         * tests/test-crc.c: Change expected crc value, the test vector
72979         were probably computed using the old broken crc.c?
72980
72981 2006-07-06  Simon Josefsson  <jas@extundo.com>
72982
72983         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
72984         now the canonical place for the M4 file).
72985
72986         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
72987         from the sys_socket dependency now.
72988
72989         * modules/inet_pton (Files): Ditto.
72990
72991         * modules/inet_ntop (Files): Ditto.
72992
72993 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
72994
72995         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
72996         not gl_PREREQ_GETUSERSHELL.
72997
72998 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72999
73000         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
73001         with only one argument, for Autoconf 2.60.
73002         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
73003         expand to nothing, so add a shell command to avoid syntax error.
73004         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
73005
73006 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73007
73008         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
73009
73010 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
73011
73012         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
73013         no longer needed.  Check for isblank decl.
73014         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
73015         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
73016         of existence.
73017
73018 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
73019
73020         * lib/getloadavg.c: Use __VMS, not VMS.
73021         * lib/getopt.c: Likewise.
73022         * lib/getpagesize.h: Likewise.
73023         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
73024         and probably does not work.
73025
73026 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
73027
73028         * lib/.cppi-disable: Add wcwidth.
73029         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
73030         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
73031         (ISGRAPH): Remove.  All uses changed to isgraph.
73032         (FOLD) [!defined _LIBC]: Remove special case.
73033         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
73034         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
73035         HAVE_ISBLANK.
73036         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
73037         case.
73038
73039 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
73040
73041         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
73042         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
73043         brackets.  Other minor changes to suppress some compiler
73044         warnings.
73045
73046 2006-07-06  Derek R. Price  <derek@ximbiot.com>
73047         and Paul Eggert  <eggert@cs.ucla.edu>
73048
73049         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
73050         of invoking obsolescent AC_HEADER_DIRENT macro.
73051         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
73052         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
73053         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
73054         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
73055         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
73056         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
73057         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
73058         * m4/readdir.m4: Remove; no longer needed.
73059
73060 2006-07-06  Derek R. Price  <derek@ximbiot.com>
73061         and Paul Eggert  <eggert@cs.ucla.edu>
73062
73063         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
73064         Don't worry about this obsolete case any more.
73065         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
73066         directories.
73067         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
73068         worry about this obsolete case any more.
73069         * lib/fts.c: Likewise.
73070         * lib/getcwd.c: Likewise.
73071         * lib/glob.h: Likewise.
73072         * lib/savedir.c: Likewise.
73073
73074 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
73075
73076         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
73077         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
73078         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
73079         needed.
73080         All uses removed.
73081         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
73082         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
73083         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
73084         needed.
73085         * m4/getdate.m4 (gl_GETDATE): Likewise.
73086         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
73087         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
73088         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
73089         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
73090         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
73091         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
73092         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
73093         needed.
73094
73095 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
73096
73097         * lib/memcasecmp.c: Include <limits.h>.
73098         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
73099         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
73100         Don't assume isdigit succeeds only on '0' through '9'.
73101
73102 2006-07-05  Eric Blake  <ebb9@byu.net>
73103
73104         * modules/getaddrinfo (Depends-on): Add snprintf.
73105
73106 2006-07-05  Eric Blake  <ebb9@byu.net>
73107
73108         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
73109         to avoid 'header present but could not be compiled' on cygwin.
73110
73111 2006-07-05  Eric Blake  <ebb9@byu.net>
73112
73113         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
73114         missing from netdb.h.
73115         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
73116
73117 2006-07-05  Derek R. Price  <derek@ximbiot.com>
73118
73119         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
73120         no longer needed.
73121         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
73122         * m4/getdate.m4 (gl_GETDATE): Likewise.
73123         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
73124         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
73125         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
73126         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
73127         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
73128
73129 2006-07-05  Derek R. Price  <derek@ximbiot.com>
73130
73131         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
73132         All uses of is_space replaced by isspace.
73133         * lib/exit.h: Don't talk about STDC_HEADERS.
73134         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
73135         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
73136         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
73137         replaced by isprint etc.
73138         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
73139         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
73140         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
73141         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
73142         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
73143         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
73144
73145 2006-07-05  Bruno Haible  <bruno@clisp.org>
73146
73147         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
73148         the function exists, before testing against AIX.
73149         Reported by Martin Lambers <marlam@marlam.de>.
73150
73151 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
73152
73153         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
73154         From Mark D. Baushke.
73155
73156 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
73157
73158         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
73159         to the absolute name, not just one, to bypass Sun C 5.8's
73160         "warning: #include of /usr/include/... may be non-portable".
73161
73162 2006-07-04  Eric Blake  <ebb9@byu.net>
73163
73164         * modules/dirname-tests: New test module.
73165         * tests/test-dirname.c: New file, replacing dirname.c
73166         TEST_DIRNAME section that was recently deleted.
73167
73168 2006-07-04  Bruno Haible  <bruno@clisp.org>
73169
73170         Assume ANSI C header files and <ctype.h> functions.
73171         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
73172         (mbsnwidth): Use isprint, iscntrl instead.
73173
73174 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73175
73176         Merge from coreutils.
73177         * MODULES.html.sh: Add xstrtold.
73178         * modules/xstrtold: New file.
73179         * modules/cycle-check (Files): Add lib/same-inode.h.
73180         * modules/dirname (Files): Add m4/double-slash-root.m4.
73181         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
73182         * modules/mkdir-p (Files): Add lib/same-inode.h.
73183         * modules/same (Files): Add lib/same-inode.h.
73184
73185 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73186
73187         * m4/absolute-header.m4: Renamed from full-header-path.m4.
73188         This is to keep the terminology clean; POSIX talks about
73189         "absolute pathnames", not "full pathnames", but the GNU
73190         Coding Standards say to use "path" for something else;
73191         so use "absolute" to keep both sides happy.
73192         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
73193         Set gl_absolute_header, not gl_full_header_path.
73194         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
73195         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
73196         All uses changed.
73197
73198         Merge from coreutils.
73199
73200         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
73201
73202         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
73203         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
73204         want to require the building of c-strtod.o.
73205         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
73206         needs -lm directly.
73207         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
73208
73209         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
73210
73211         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
73212         --as-needed option if available.  Problem reported by Albert Chin in
73213         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
73214         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
73215         cc merely issues a bunch of annoying warnings for --as-needed
73216         (this problem was reported by Bob Proulx).  Also, try linking with
73217         -lm to detect a bug in binutils 2.16 (this problem was reported
73218         by Ralf Wildenhues).
73219
73220         2006-06-18  Jim Meyering  <jim@meyering.net>
73221
73222         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
73223         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
73224         macro.
73225         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
73226         also check for glibc-2.4's abort-inducing bug.
73227
73228         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
73229         Low-probability clean-up should be to use rmdir to get rid of
73230         the just-created directory, not unlink.
73231
73232         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
73233         configure fail, and request a bug report to inform us about it.
73234         Add a comment that, barring reports to the contrary, in 2007 we'll
73235         assume ftruncate is universally available.
73236
73237         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
73238
73239         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
73240
73241         2006-03-12  Jim Meyering  <jim@meyering.net>
73242
73243         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
73244         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
73245         * m4/same.m4 (gl_SAME): Likewise.
73246         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
73247
73248         2006-03-11  Eric Blake  <ebb9@byu.net>
73249
73250         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
73251         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
73252         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
73253         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
73254
73255 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73256
73257         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
73258         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
73259         reported by Mark D. Baushke, one in
73260         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
73261
73262         Merge from coreutils.
73263
73264         * lib/.cppi-disable: Add stdint_.h.
73265         * lib/.cvsignore: Add stdint.h.
73266
73267         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
73268
73269         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
73270         both double and long double versions.
73271         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
73272         * lib/xstrtold.c: New file.
73273         * lib/xstrtod.h (xstrtold): New decl.
73274
73275         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
73276
73277         * lib/filemode.c (setst): Remove.
73278         (strmode): Rewrite to avoid setst.  This makes the code shorter,
73279         (arguably) clearer, and the generated code is a bit smaller on my
73280         Debian GNU/Linux stable x86 host.
73281
73282         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
73283
73284         * lib/filemode.c: Include "filemode.h" first, to test the interface.
73285         Assume that filemode.h includes sys/types.h and sys/stat.h.
73286         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
73287         (ftypelet): Reorder to put common cases first, for efficiency.
73288         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
73289         to do 'M'.
73290         (strmode): Renamed from mode_string, and now stores 12 bytes instead
73291         of 10, for compatibility with FreeBSD.  All callers changed.
73292         (filemodestring): Now stores 12 bytes instead of 10, and sets file
73293         types that can't be deduced solely from st_mode.  First arg is now a
73294         const pointer.
73295         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
73296         (strmode): Renamed from mode_string.
73297         (filemodestring): New decl.
73298         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
73299         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
73300         needed.
73301         (S_ISPORT, S_ISWHT): New macros, if not already defined.
73302
73303         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
73304
73305         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
73306         fsusage.h now does that.  Include fsusage.h first, to test interface.
73307         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
73308         at most one method (the old code could have generated decls that
73309         didn't conform to C89, not that this was ever exercised).
73310         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
73311
73312         2006-03-19  Jim Meyering  <jim@meyering.net>
73313
73314         Work even in a chroot where d_ino values for entries in "/"
73315         don't match the stat.st_ino values for the same names.
73316         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
73317         number, iterate through all entries again, using lstat instead.
73318         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
73319         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
73320
73321         * lib/getcwd.c (__getcwd): Clarify a comment.
73322         Use memcpy in place of a call to strcpy.
73323
73324         2006-03-12  Jim Meyering  <jim@meyering.net>
73325
73326         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
73327         matches that of the current directory (which we're about to chdir ".."
73328         out of), then save the dev-ino of the parent, instead.
73329
73330         * lib/same-inode.h (SAME_INODE): New file/macro.
73331         * lib/chdir-safer.c (SAME_INODE): Remove definition.
73332         Include "same-inode.h", instead.
73333         * lib/same.c: Likewise.
73334         * lib/cycle-check.h: Include "same-inode.h".
73335         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
73336         * lib/cycle-check.c (SAME_INODE): Remove definition.
73337         * lib/root-dev-ino.h: Include "same-inode.h".
73338
73339         2006-03-11  Eric Blake  <ebb9@byu.net>
73340
73341         * lib/same.c (same_name): s/base_name/last_component/
73342         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
73343         * lib/filenamecat.c (file_name_concat): Likewise.
73344
73345         2006-03-11  Eric Blake  <ebb9@byu.net>,
73346                     Paul Eggert  <eggert@cs.ucla.edu>
73347
73348         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
73349         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
73350         drive prefix.
73351         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
73352         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
73353         (last_component): New method.
73354         * lib/dirname.c (dir_len): Determine when drive letters need a
73355         subsequent slash.  Preserve // when it is special.
73356         (dir_name): Don't append dot when drive letter is absolute.
73357         [TEST_DIRNAME]: Move into a full-blown gnulib test.
73358         * lib/basename.c (base_name): New semantics - malloc the result.
73359         Preserve // when it is special.  Preserve relative files that look
73360         like drive letters.
73361         (base_len): Preserve // when it is special.
73362         (last_component): New method, similar to old base_name semantics.
73363         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
73364         base_name.  Strip redundant slashes from ///.
73365
73366 2006-07-03  Jim Meyering  <jim@meyering.net>
73367
73368         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
73369         macro is used before the first cycle_check call.
73370
73371 2006-07-03  Eric Blake  <ebb9@byu.net>
73372
73373         * modules/dirname (Depends-on): Add xstrndup.
73374
73375 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
73376
73377         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
73378         test cases, so that config.log is a bit easier to follow.
73379
73380 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
73381
73382         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
73383         both are 64 bits, since this seems to be the tradition, and this
73384         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
73385         we ever run into a host that prefers long long to long in this
73386         case, we'll need another configure-time test.  Problem reported by
73387         Jim Meyering.
73388
73389 2006-07-02  Eric Blake  <ebb9@byu.net>
73390
73391         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
73392
73393 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
73394
73395         * modules/inttypes (Depends-on): No longer depends on stdint.
73396         * modules/stdint (Description): Say more about assumptions.
73397         Say that the fast types might differ.  Say macros are used.
73398         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
73399         (Makefile.am): Revise list of substituted symbols to match
73400         new stdint.m4.
73401         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
73402         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
73403         * tests/test-stdint.c (verify_same_types)
73404         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
73405         the code conforms to C99/C89.
73406         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
73407         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
73408
73409 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
73410
73411         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
73412         but fix a bug, by requiring at least 64 bits.
73413         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
73414         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
73415         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
73416         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
73417
73418         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
73419         changes.  Make 2.59 a prerequisite.  Check and substitute for
73420         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
73421         inttypes.h.  Do not use special include files; just use the
73422         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
73423         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
73424         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
73425         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
73426         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
73427         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
73428         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
73429         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
73430         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
73431         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
73432         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
73433         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
73434         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
73435         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
73436         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
73437         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
73438         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
73439         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
73440         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
73441         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
73442         WINT_MAX.  Check for C99 conformance more strictly, by detecting
73443         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
73444         not check for things that C99 does not require, e.g., int8_t.  If
73445         a test isn't needed unless <stdint.h> isn't working, and is
73446         unlikely to be needed for any other reason, then don't do it
73447         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
73448         size_t, since we assume C89 freestanding at least.  Do not check
73449         for sig_atomic_t, wchar_t, or wint_t, since the code now does
73450         the right thing even if the types are not defined.  Instead use:
73451         (gl_STDINT_TYPE_PROPERTIES): New macro.
73452         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
73453         testing whether <sys/types.h> clashes, as Autoconf does this for
73454         us now.  All uses removed.
73455         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
73456         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
73457         (gl_CHECK_TYPE_SAME):
73458         Remove; no longer needed.
73459         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
73460         exists, since we'll return 0 anyway in that case.
73461         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
73462
73463 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
73464
73465         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
73466         possible collision with system files.
73467         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
73468         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
73469         WCHAR_MIN and WCHAR_MAX in this case.
73470         (<stddef.h>): Do not include; no longer needed.
73471         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
73472         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
73473         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
73474         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
73475         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
73476         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
73477         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
73478         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
73479         !defined(__c99))]: Include in this case too, since it's harmless
73480         now.
73481         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
73482         dangerous to do so.
73483         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
73484         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
73485         (_STDINT_MIN, _STDINT_MAX): New macros.
73486         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
73487         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
73488         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
73489         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
73490         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
73491         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
73492         macros, not typedefs; this simplifies things quite a bit.
73493         Use long int for all types narrower than int64_t.
73494         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
73495         Define in terms of long long int or int64_t or long int,
73496         not int64_t or int32_t.  This saves some compile-time testing.
73497         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
73498         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
73499         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
73500         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
73501         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
73502         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
73503         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
73504         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
73505         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
73506         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
73507         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
73508         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
73509         undef any previous version and define our own version, for
73510         simplicity and consistency with the new macros for types.
73511         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
73512         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
73513         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
73514         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
73515         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
73516         @WINT_T_SUFFIX@ to keep things simple here.
73517         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
73518         Simplify by assuming typical 8/16/32/64 host, since we're
73519         already doing that elsewhere anyway.
73520         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
73521         and assume long long int is 64 bits if available.  This
73522         speeds up 'configure'.
73523
73524 2006-07-01  Eric Blake  <ebb9@byu.net>
73525
73526         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
73527         Reported by Andreas Buening.
73528
73529 2006-07-01  Eric Blake  <ebb9@byu.net>
73530
73531         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
73532
73533 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
73534
73535         * lib/getaddrinfo.c: fixed typo
73536
73537 2006-06-29  Jim Meyering  <jim@meyering.net>
73538
73539         * modules/strftime (Maintainer): Add my name, since with the
73540         FPRINTFTIME changes strftime.c has forked from glibc.
73541
73542 2006-06-29  Eric Blake  <ebb9@byu.net>
73543
73544         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
73545
73546 2006-06-29  Eric Blake  <ebb9@byu.net>
73547
73548         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
73549
73550 2006-06-29  Eric Blake  <ebb9@byu.net>
73551
73552         * lib/stat_.h: New file.
73553
73554 2006-06-29  Eric Blake  <ebb9@byu.net>
73555
73556         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
73557         unused static function.
73558
73559 2006-06-29  Eric Blake  <ebb9@byu.net>
73560
73561         * doc/functions.texi (Function Portability): Document missing lstat
73562         on mingw.
73563
73564 2006-06-29  Eric Blake  <ebb9@byu.net>
73565
73566         * MODULES.html.sh: Add sys_stat.
73567         * modules/sys_stat: New module.
73568         * modules/mkstemp (Depends-on): Add sys_stat.
73569
73570 2006-06-29  Derek R. Price  <derek@ximbiot.com>
73571
73572         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
73573
73574 2006-06-29  Derek R. Price  <derek@ximbiot.com>
73575
73576         * m4/c-bs-a.m4: Removed.
73577
73578 2006-06-29  Derek R. Price  <derek@ximbiot.com>
73579
73580         * lib/strftime.c: Assume strftime() exists.
73581
73582 2006-06-29  Derek Price  <derek@ximbiot.com>
73583
73584         * modules/c-bs-a: Removed - \a is C89.
73585         * MODULES.html.sh: Remove c-bs-a.
73586
73587 2006-06-29  Bruno Haible  <bruno@clisp.org>
73588
73589         * modules/wcwidth (License): Change to LGPL.
73590
73591 2006-06-28  Simon Josefsson  <jas@extundo.com>
73592
73593         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
73594         on _WIN32.
73595
73596         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
73597         getnameinfo.
73598
73599 2006-06-28  Simon Josefsson  <jas@extundo.com>
73600
73601         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
73602
73603 2006-06-28  Simon Josefsson  <jas@extundo.com>
73604
73605         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
73606         functions there.  It will succeed on Windows XP, but on Windows
73607         2000 and (presumably) earlier, it will fail, and use the internal
73608         re-implementation.
73609         (use_win32_p): New function.
73610         (getaddrinfo): Use strtoul on servname, to support numeric ports.
73611         Support AI_NUMERICSERV to disable getservbyname.
73612         (getnameinfo): New function, only supports
73613         NI_NUMERICHOST|NI_NUMERICSERV for now.
73614
73615         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
73616         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
73617         getnameinfo.
73618
73619 2006-06-28  Eric Blake  <ebb9@byu.net>
73620
73621         * modules/wcwidth: New file.
73622         * modules/mbchar (Depends-on): Add wcwidth.
73623         * modules/mbswidth (Depends-on): Add wcwidth.
73624         * MODULES.html.sh: Add wcwidth.
73625
73626 2006-06-28  Eric Blake  <ebb9@byu.net>
73627
73628         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
73629         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
73630
73631 2006-06-28  Eric Blake  <ebb9@byu.net>
73632
73633         * lib/xvasprintf.h: Fix comments.
73634
73635 2006-06-28  Eric Blake  <ebb9@byu.net>
73636
73637         * lib/mbchar.h (wcwidth): Include wcwidth.h.
73638         * lib/mbswidth.c (wcwidth): Move from here...
73639         * lib/wcwidth.h: ...to this new file.
73640
73641 2006-06-28  Derek R. Price  <derek@ximbiot.com>
73642
73643         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
73644
73645         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
73646         it's obsolete.
73647         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
73648
73649 2006-06-28  Derek R. Price  <derek@ximbiot.com>
73650
73651         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
73652         Autoconf 2.60 says this stuff was obsolete.
73653
73654 2006-06-28  Bruno Haible  <bruno@clisp.org>
73655
73656         * modules/wcwidth (Files): Add m4/wchar_t.m4.
73657
73658 2006-06-28  Bruno Haible  <bruno@clisp.org>
73659
73660         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
73661         gt_TYPE_WCHAR_T.
73662
73663 2006-06-28  Bruno Haible  <bruno@clisp.org>
73664
73665         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
73666         declaration for wcwidth.
73667         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
73668
73669 2006-06-28  Bruno Haible  <bruno@clisp.org>
73670
73671         * lib/mkdtemp.c [MINGW]: Include <io.h>.
73672         (mkdir): Define using _mkdir.
73673
73674 2006-06-28  Bruno Haible  <bruno@clisp.org>
73675
73676         * lib/getaddrinfo.h: Fix POSIX URL.
73677         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
73678         _WIN32.
73679         (use_win32_p): Make static.
73680         (getaddrinfo): Reject service name if it is empty or does not consist
73681         solely of decimal digits, or if its value is > 65535.
73682         (getnameinfo): Remove useless casts.
73683
73684 2006-06-27  Simon Josefsson  <jas@extundo.com>
73685
73686         * modules/sys_select: New file, suggested by Bruno Haible, Paul
73687         Eggert and Martin Lambers.
73688
73689 2006-06-27  Simon Josefsson  <jas@extundo.com>
73690
73691         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
73692         Eggert and Martin Lambers.
73693
73694 2006-06-27  Bruno Haible  <bruno@clisp.org>
73695
73696         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
73697         result to 0, not to empty.
73698         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
73699
73700 2006-06-27  Bruno Haible  <bruno@clisp.org>
73701
73702         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
73703
73704 2006-06-26  Simon Josefsson  <jas@extundo.com>
73705
73706         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
73707         present.
73708
73709 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
73710
73711         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
73712         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
73713         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
73714
73715 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
73716
73717         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
73718
73719 2006-06-26  Bruno Haible  <bruno@clisp.org>
73720
73721         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
73722
73723 2006-06-26  Bruno Haible  <bruno@clisp.org>
73724
73725         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
73726
73727 2006-06-26  Bruno Haible  <bruno@clisp.org>
73728
73729         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
73730         SGI C compiler in pre-C99 mode.
73731         Suggested by Mark D. Baushke and Larry Jones.
73732
73733 2006-06-26  Bruno Haible  <bruno@clisp.org>
73734
73735         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
73736         WCHAR_MAX.
73737         Reported by Mark D. Baushke and Larry Jones.
73738
73739 2006-06-26  Bruno Haible  <bruno@clisp.org>
73740
73741         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
73742         in pre-C99 mode.
73743         Suggested by Mark D. Baushke and Larry Jones.
73744
73745 2006-06-23  Simon Josefsson  <jas@extundo.com>
73746             Bruno Haible  <bruno@clisp.org>
73747
73748         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
73749         Emit mostlyclean-local rule.
73750         (func_emit_tests_Makefile_am): Likewise.
73751         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
73752
73753 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
73754
73755         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
73756
73757 2006-06-23  Bruno Haible  <bruno@clisp.org>
73758
73759         * tests/test-stdint.c: Update to match ISO C 99 Technical
73760         Corrigendum 1.
73761
73762 2006-06-23  Bruno Haible  <bruno@clisp.org>
73763
73764         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
73765
73766 2006-06-23  Bruno Haible  <bruno@clisp.org>
73767
73768         * lib/stdint_.h: Treat IRIX like OpenBSD.
73769
73770 2006-06-23  Bruno Haible  <bruno@clisp.org>
73771
73772         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
73773         ISO C 99 Technical Corrigendum 1.
73774
73775 2006-06-22  Simon Josefsson  <jas@extundo.com>
73776
73777         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
73778         MinGW.
73779
73780 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
73781
73782         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
73783         needed.  Some compiler complained about some of them.  Problem reported
73784         by Larry Jones in
73785         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
73786
73787 2006-06-21  Simon Josefsson  <jas@extundo.com>
73788
73789         * tests/test-getaddrinfo.c: New file.
73790
73791         * modules/getaddrinfo-tests: New file.
73792
73793         * MODULES.html.sh: Add inet_pton.
73794
73795         * modules/inet_pton: New file.
73796
73797 2006-06-21  Simon Josefsson  <jas@extundo.com>
73798
73799         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
73800         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
73801         of using the (limited) gnulib implementation on Windows XP.
73802
73803         * m4/inet_pton.m4: New file.
73804
73805 2006-06-21  Simon Josefsson  <jas@extundo.com>
73806
73807         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
73808         variable.
73809
73810         * lib/socket_.h: Don't define WINVER.
73811
73812         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
73813         slightly modified to work in gnulib.
73814
73815 2006-06-21  Simon Josefsson  <jas@extundo.com>
73816
73817         * doc/gnulib.texi (Windows sockets): Add.
73818
73819 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
73820
73821         * lib/read-file.c (fread_file): Start with buffer allocation of
73822         0 bytes rather than 1 byte; this simplifies the code.
73823         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
73824         code to free buffer and save/restore errno.
73825         (internal_read_file): Remove unused local.
73826
73827 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
73828
73829         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
73830         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
73831         Problem reported by Denis Excoffier in
73832         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
73833
73834 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73835
73836         * modules/sys_socket, modules/socklen: Include sys/types since
73837         FreeBSD 4.x's sys/socket.h needs it.
73838
73839 2006-06-19  Simon Josefsson  <jas@extundo.com>
73840
73841         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
73842
73843 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
73844
73845         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
73846
73847 2006-06-19  Bruno Haible  <bruno@clisp.org>
73848
73849         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
73850         and FULL_PATH_INTTYPES_H in angle brackets.
73851         Reported by Mark D. Baushke <mdb@gnu.org>.
73852
73853 2006-06-17  Eric Blake  <ebb9@byu.net>
73854
73855         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
73856         errno.
73857
73858 2006-06-17  Bruno Haible  <bruno@clisp.org>
73859
73860         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
73861         <sys/inttypes.h>.
73862
73863 2006-06-17  Bruno Haible  <bruno@clisp.org>
73864
73865         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
73866         whether errno is declared. Assume <errno.h> declares errno.
73867
73868 2006-06-17  Bruno Haible  <bruno@clisp.org>
73869
73870         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
73871
73872 2006-06-17  Bruno Haible  <bruno@clisp.org>
73873
73874         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
73875         problem on Solaris 2.5.1.
73876
73877 2006-06-16  Eric Blake  <ebb9@byu.net>
73878
73879         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
73880         * lib/unicodeio.c [!defined errno]: Likewise.
73881         * lib/strtol.c [!defined errno]: Likewise.
73882         * lib/strtod.c [!defined errno]: Likewise.
73883
73884 2006-06-15  Eric Blake  <ebb9@byu.net>
73885
73886         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
73887
73888 2006-06-15  Eric Blake  <ebb9@byu.net>
73889
73890         * config/srclist.txt (ssize_t.m4): Lose sync.
73891
73892 2006-06-15  Bruno Haible  <bruno@clisp.org>
73893
73894         * modules/stdint (Files): Include m4/full-header-path.m4,
73895         m4/size_max.m4, m4/wchar_t.m4.
73896         (Makefile.am): Many more substitutions.
73897         * modules/stdint-tests: New file.
73898         * tests/test-stdint.c: New file.
73899
73900 2006-06-15  Bruno Haible  <bruno@clisp.org>
73901
73902         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
73903         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
73904         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
73905         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
73906         gl_CHECK_TYPE_SAME): New macros.
73907
73908 2006-06-15  Bruno Haible  <bruno@clisp.org>
73909
73910         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
73911
73912 2006-06-15  Bruno Haible  <bruno@clisp.org>
73913
73914         * lib/stdint_.h: Rewritten to be fully auto-configured.
73915         Fixes bug on HP-UX/IA64.
73916
73917 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
73918
73919         * lib/getdate.y (__attribute__): Don't define if already defined.
73920         Problem reported by Larry Jones.
73921         * lib/utimens.c (__attribute__): Likewise.
73922
73923 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
73924
73925         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
73926         reported by Andreas Schwab.
73927
73928 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73929             Bruno Haible  <bruno@clisp.org>
73930
73931         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
73932         check for the declaration of strnlen and a run test that exposes the
73933         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
73934         rpl_strndup.
73935
73936 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73937             Bruno Haible  <bruno@clisp.org>
73938
73939         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
73940
73941 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73942
73943         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
73944         compile test, for Tru64 4.0D.
73945
73946 2006-05-28  Karl Berry  <karl@gnu.org>
73947
73948         * config/srclist.txt (printf-args.c): lose sync.
73949
73950 2006-05-26  Martin Lambers  <marlam@marlam.de>
73951
73952         * lib/getpass.c: Updates the test for the native W32 API, and adds
73953         missing includes, thus fixing compilation warnings.
73954
73955 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
73956
73957         * lib/exclude.c (exclude_fnmatch): New function.
73958         (excluded_file_name): Call exclude_fnmatch.
73959         * lib/exclude.h (excluded_file_name): New prototype
73960
73961 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
73962
73963         * lib/tempname.c (small_open, large_open): New macros.
73964         (__open, __open64) [!_LIBC]: Remove.
73965         (__gen_tempname): Use small_open and large_open instead of __open
73966         and __open64.  This fixes a portability bug on HP-UX 11.11i
73967         reported by Simon Wing-Tang in
73968         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
73969
73970 2006-05-24  Bruno Haible  <bruno@clisp.org>
73971
73972         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
73973         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
73974         Reported by Thorsten Maerz <torte@netztorte.de> via
73975         Aaron Stone <aaron@serendipity.cx>.
73976
73977 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
73978
73979         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
73980         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
73981         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
73982         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
73983         not really conditional on the cache.
73984         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
73985
73986 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
73987
73988         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
73989         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
73990         (my_usleep): Don't mishandle maximum value.
73991
73992 2006-05-19  Jim Meyering  <jim@meyering.net>
73993
73994         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
73995
73996 2006-05-17  Bruno Haible  <bruno@clisp.org>
73997
73998         Cygwin portability.
73999         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
74000
74001 2006-05-17  Bruno Haible  <bruno@clisp.org>
74002
74003         * lib/stdint_.h: Fix recognition of Cygwin.
74004
74005 2006-05-15  Bruno Haible  <bruno@clisp.org>
74006
74007         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
74008         on libtool patch by Ralf Wildenhues.
74009
74010 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
74011
74012         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
74013         test for C99 conformance; (bool) 0.5 is an integer constant
74014         expression, but (bool) -0.5 is not.  Problem reported by Fedor
74015         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
74016
74017 2006-05-11  Simon Josefsson  <jas@extundo.com>
74018
74019         * m4/xvasprintf.m4: Fix obvious typo.
74020
74021 2006-05-11  Jim Meyering  <jim@meyering.net>
74022
74023         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
74024         James Lemley.
74025
74026 2006-05-10  Simon Josefsson  <jas@extundo.com>
74027
74028         * lib/md4.c: Typo fix, update copyright years.
74029         (K1, K2): Don't use L because it turn computations into 64-bit on
74030         64-bit platforms.
74031
74032 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
74033
74034         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
74035         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
74036         unwanted sign propagation, e.g., on hosts with 64-bit int.
74037         There still are some problems with reeelly weird theoretical hosts
74038         (e.g., 33-bit int) but it's not worth worrying about now.
74039         * lib/sha1.c (rol): Likewise.
74040         (K1, K2, K3, K4): Remove unnecessary L suffix.
74041
74042 2006-05-10  Bruno Haible  <bruno@clisp.org>
74043
74044         * lib/des.c: Cast to avoid warnings.
74045
74046 2006-05-09  Bruno Haible  <bruno@clisp.org>
74047
74048         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
74049         (Depends-on): Depend also on xsize, stdarg.
74050         (configure.ac): Add gl_XVASPRINTF.
74051
74052 2006-05-09  Bruno Haible  <bruno@clisp.org>
74053
74054         * m4/xvasprintf.m4: New file.
74055
74056 2006-05-09  Bruno Haible  <bruno@clisp.org>
74057
74058         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
74059         (EOVERFLOW): Define fallback value.
74060         (xstrcat): New function.
74061         (xvasprintf): Recognize the special case of a string concatenation.
74062
74063 2006-05-08  Eric Blake  <ebb9@byu.net>
74064
74065         * gnulib-tool (func_version): Base copyright year on CVS date.
74066         (func_emit_copyright_notice): New function.
74067         (func_emit_lib_Makefile_am): Use it.
74068         (func_emit_tests_Makefile_am): Likewise.
74069         (func_import): Likewise.
74070
74071 2006-05-08  Bruno Haible  <bruno@clisp.org>
74072
74073         * modules/stdarg: New file.
74074         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
74075
74076 2006-05-08  Bruno Haible  <bruno@clisp.org>
74077
74078         * m4/stdarg.m4: New file, from GNU gettext.
74079
74080 2006-05-08  Bruno Haible  <bruno@clisp.org>
74081
74082         * config/srclist.txt (build-aux/config.rpath): different from latest
74083         release.
74084
74085 2006-05-08  Bruno Haible  <bruno@clisp.org>
74086
74087         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
74088
74089 2006-05-05  Jim Meyering  <jim@meyering.net>
74090
74091         * m4/warning.m4: New file, derived from bison's file by the same name.
74092
74093 2006-05-03  Bruno Haible  <bruno@clisp.org>
74094
74095         * lib/stdint_.h: Shorter URL.
74096         * lib/inttypes.h: Likewise.
74097
74098 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
74099
74100         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
74101
74102 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
74103
74104         * lib/verify.h: Document the internals better.  Most of this change
74105         was written by Bruno Haible.
74106
74107 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
74108
74109         * doc/verify.texi: New file, partly based on a proposal by
74110         Bruno Haible.
74111
74112 2006-05-02  Bruno Haible  <bruno@clisp.org>
74113
74114         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
74115         test from here...
74116         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
74117
74118 2006-04-29  Bruno Haible  <bruno@clisp.org>
74119
74120         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
74121         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
74122
74123 2006-04-29  Bruno Haible  <bruno@clisp.org>
74124
74125         * gnulib-tool: Make --update option actually work.
74126
74127 2006-04-29  Bruno Haible  <bruno@clisp.org>
74128
74129         * doc/gcd.texi: New file.
74130         * doc/gnulib.texi: Include it.
74131
74132 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
74133
74134         * lib/getdate.y (get_date): When adding relative date, start with the
74135         initial time, not with the result of the first mktime call.
74136
74137 2006-04-25  Bruno Haible  <bruno@clisp.org>
74138
74139         * gnulib-tool (func_import): Output the include directives in three
74140         blocks, sorted separately.
74141         Reported by Ben Pfaff <blp@cs.stanford.edu>.
74142
74143 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
74144
74145         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
74146         to define main with arguments, for C++.  Reported by Eric Blake.
74147         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
74148         Prefer 'int main ()' to 'int main (void)', for C++.
74149         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
74150         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
74151         for 'main', for C99 and C++.
74152
74153 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
74154
74155         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
74156         Don't assume that exit status -1 is valid.
74157         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74158         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
74159         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
74160         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
74161         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
74162         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
74163         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
74164         functions can be used without declaring them, or that you can
74165         exit with status -1.
74166         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
74167
74168 2006-04-24  Karl Berry  <karl@gnu.org>
74169
74170         * config/srclist.txt (longdouble.m4): sync lost.
74171
74172 2006-04-24  Eric Blake  <ebb9@byu.net>
74173
74174         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
74175
74176 2006-04-24  Bruno Haible  <bruno@clisp.org>
74177
74178         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
74179         poll() implementation in AIX.
74180         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74181
74182 2006-04-24  Bruno Haible  <bruno@clisp.org>
74183
74184         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
74185         assigned exactly once.
74186
74187 2006-04-23  Claudio Fontana  <claudio@gnu.org>
74188             Bruno Haible  <bruno@clisp.org>
74189
74190         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
74191         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
74192         for AM_CPPFLAGS.
74193
74194 2006-04-23  Bruno Haible  <bruno@clisp.org>
74195
74196         * modules/copy-file: Depend on unistd.
74197         * modules/execute: Likewise.
74198         * modules/fatal-signal: Likewise.
74199         * modules/findprog: Likewise.
74200         * modules/mkdtemp : Likewise.
74201         * modules/pipe: Likewise.
74202         * modules/wait-process: Likewise.
74203
74204 2006-04-23  Bruno Haible  <bruno@clisp.org>
74205
74206         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
74207         condition was already detected.
74208         Reported by Ben Pfaff <blp@cs.stanford.edu>.
74209
74210 2006-04-23  Bruno Haible  <bruno@clisp.org>
74211
74212         * lib/copy-file.c: Include <unistd.h> unconditionally.
74213         * lib/execute.c: Likewise.
74214         * lib/fatal-signal.c: Likewise.
74215         * lib/findprog.c: Likewise.
74216         * lib/mkdtemp.c: Likewise.
74217         * lib/pipe.h: Likewise.
74218         * lib/pipe.c: Likewise.
74219         * lib/wait-process.h: Likewise.
74220
74221 2006-04-23  Bruno Haible  <bruno@clisp.org>
74222
74223         * gnulib-tool (func_usage): Fix --import description. Document
74224         --update.
74225         (func_import): Create temporary file in a temporary directory, if
74226         --dry-run is specified. Silence errors from 'grep' when there are no
74227         m4 files in $m4dir.
74228         (func_create_testdir): Silence errors from 'grep' when there are no
74229         m4 files in $m4dir.
74230         Reported by Karl Berry <karl@freefriends.org>.
74231
74232 2006-04-20  Bruno Haible  <bruno@clisp.org>
74233
74234         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
74235         one argument, so that the code will be portable to Autoconf 2.60.
74236         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
74237         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
74238         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
74239
74240 2006-04-19  Derek Price  <derek@ximbiot.com>
74241             Eric Blake  <ebb9@byu.net>
74242
74243         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
74244         rather than "/full/path.h".  Update comment to match.  Shorten &
74245         generalize m4_translit call via AS_TR_CPP.
74246
74247 2006-04-19  Derek Price  <derek@ximbiot.com>
74248             Eric Blake  <ebb9@byu.net>
74249
74250         * lib/inttypes.h: Correct grammar in comment.
74251
74252 2006-04-18  Derek Price  <derek@ximbiot.com>
74253             Paul Eggert  <eggert@cs.ucla.edu>
74254
74255         * modules/inttypes: New file.
74256         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
74257
74258 2006-04-18  Derek Price  <derek@ximbiot.com>
74259             Paul Eggert  <eggert@cs.ucla.edu>
74260
74261         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
74262         New files.
74263
74264 2006-04-18  Derek Price  <derek@ximbiot.com>
74265             Paul Eggert  <eggert@cs.ucla.edu>
74266
74267         * lib/inttypes.h: New file.
74268         * lib/strtoimax.c: Assume <inttypes.h>.
74269
74270 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
74271
74272         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
74273         isn't mounted.  Problem reported by Kir Kolyshkin.
74274
74275 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
74276
74277         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
74278         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
74279         Derek R. Price.
74280         * lib/regex.h (RE_DUP_MAX): Update comment to match current
74281         implementation.
74282
74283 2006-04-12  Eric Blake  <ebb9@byu.net>
74284
74285         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
74286         is now done automatically by the corresponding Autoconf macro.
74287
74288 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
74289
74290         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
74291         time_r.h.
74292
74293 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74294
74295         Merge regex changes from libc, removing some of our
74296         POSIX-conformance changes that were rejected and redoing them in a
74297         less-intrusive way.
74298
74299         * lib/regcomp.c (re_compile_internal, init_dfa):
74300         Length arg is now size_t, not Idx.  All uses changed.
74301         (peek_token): Forward decl now says internal_function.
74302         (__re_error_msgid, __re_error_msgid_idx):
74303         Now static rather than extern with attribute_hidden.
74304         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
74305         For some reason libc prefers K&R style defns for external functions.
74306         (regerror) [!defined _LIBC]: Likewise.
74307         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
74308         (seek_collating_symbol_entry, lookup_collation_sequence_value):
74309         (build_range_exp, build_collating_symbol):
74310         Use K&R-style defn.
74311         (re_compile_fastmap): Use '\0' to memset, not 0.
74312         (utf8_sb_map): Make the calculations more obvious.
74313         (init_dfa, parse_bracket_exp, build_charclass_op):
74314         Call calloc and cast result, as glibc does.
74315         (init_word_char, fetch_token, peek_token, peek_token_bracket):
74316         (build_range_exp, build_collating_symbol):
74317         Now internal functions.
74318
74319         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
74320
74321         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
74322         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
74323         Don't depend on VMS; depend on __VMS instead, for POSIX
74324         namespace cleanness.
74325         (regoff_t): Define to ssize_t, not long int.
74326
74327         Remove the REG_ macros named below.  Instead, make the old names
74328         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
74329         __USE_GNU_REGEX.
74330         (REG_BACKSLASH_ESCAPE_IN_LISTS):
74331         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
74332         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
74333         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
74334         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
74335         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
74336         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
74337         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
74338         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
74339         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
74340         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
74341         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
74342         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
74343         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
74344         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
74345         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
74346         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
74347         (REG_NREGS):
74348         Remove.  All uses replaced by the old RE_* names.
74349         (RE_BACKSLASH_ESCAPE_IN_LISTS):
74350         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
74351         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
74352         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
74353         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
74354         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
74355         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
74356         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
74357         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
74358         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
74359         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
74360         Don't bother having these macros be independent of each others'
74361         values, since they no longer exist in the POSIX name space.
74362
74363         Rename the following member names back to their old names,
74364         unless !__USE_GNU_REGEX.  All uses changed back.
74365         (buffer): Renamed from re_buffer.
74366         (allocated): Renamed from re_allocated.
74367         (used): Renamed from re_used.
74368         (syntax): Renamed from re_syntax.
74369         (fastmap): Renamed from re_fastmap.
74370         (translate): Renamed from re_translate.
74371         (can_be_null): Renamed from re_can_be_null.
74372         (regs_allocated): Renamed from re_regs_allocated.
74373         (fastmap_accurate): Renamed from re_fastmap_accurate.
74374         (no_sub): Renamed from re_no_sub.
74375         (not_bol): Renamed from re_not_bol.
74376         (not_eol): Renamed from re_not_eol.
74377         (newline_anchor): Renamed from re_newline_anchor.
74378         (num_regs): Renamed from rm_num_regs.
74379         (start): Renamed from rm_start.
74380         (end): Renamed from rm_end.
74381
74382         (free_state): Move up a bit.
74383
74384         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
74385         #define to be empty.
74386         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
74387         when that is what is intended.
74388         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
74389         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
74390         (MAX): New macro.
74391         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
74392         All uses changed back to re_malloc, etc.  It's now the caller's
74393         responsibility to check for overflow; all callers changed.
74394         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
74395         (re_x2nrealloc): Remove.
74396         (free_state): Remove decl.
74397
74398         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
74399         (re_set_registers, re_exec):
74400         Use K&R-style defn.
74401
74402         2006-01-31  Roland McGrath  <roland@redhat.com>
74403
74404         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
74405         Reported by Mike Frysinger <vapier@gentoo.org>.
74406
74407         2006-01-15  Andreas Jaeger  <aj@suse.de>
74408
74409         [BZ #1950]
74410         * lib/regex_internal.c (re_string_reconstruct): Adjust for
74411         build_wcs_upper_buffer change.
74412         (build_wcs_upper_buffer): Change return type.
74413
74414         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
74415
74416         * lib/regex_internal.h: Include <stdint.h> if available.
74417
74418         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
74419
74420         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
74421
74422         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
74423
74424         * lib/regcomp.c: Adjust for changed secondary hash function.
74425
74426         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
74427
74428         * lib/regex.h: Pretty printing.
74429         Clean up namespace a bit.
74430
74431         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
74432
74433         * lib/regexec.c (update_cur_sifted_state, check_arrival,
74434         check_arrival_add_next_nodes): Avoid using uninitialized variable.
74435
74436         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74437                     Ulrich Drepper  <drepper@redhat.com>
74438
74439         [BZ #1302]
74440         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
74441         changed.
74442         (bitset_word_t): Renamed from bitset_word.  All uses changed.
74443
74444         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
74445
74446         [BZ #281]
74447         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
74448         * lib/regcomp.c: Remove unnecessary uses of
74449         unsigned RE_TRANSLATE_TYPE.
74450         * lib/regex_internal.h: Likewise.
74451         * lib/regex_internal.c: Likewise.
74452         * lib/regexec.c: Likewise.
74453         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
74454
74455         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
74456
74457         * lib/regexec.c (find_recover_state): Remove unnecessary
74458         initialization.
74459         (transit_state_bkref): Make DFA a const pointer.
74460         (get_subexp): Likewise.
74461         (check_arrival): Likewise.
74462         (update_cur_sifted_state): Likewise.
74463         (re_search_internal): Likewise.
74464         (prune_impossible_nodes): Likewise.
74465         (acquire_init_state_context): Likewise.
74466         (proceed_next_node): Likewise.
74467         (set_regs): Likewise.
74468         (free_fail_stack_return): Likewise.
74469         (check_arrival_expand_ecl): Mark DFA parameter as const.
74470         (check_arrival_expand_ecl_sub): Likewise.
74471         (check_subexp_limits): Likewise.
74472         (sub_epsilon_src_nodes):  Likewise.
74473         (add_epsilon_src_nodes):  Likewise.
74474         (merge_state_array): Likewise.
74475         (update_regs): Likewise.
74476         (build_trtable): Likewise.
74477         (sift_states_backward): Mark MCTX parameter as const.
74478         (build_sifted_states): Likewise.
74479         (update_cur_sifted_state): Likewise.
74480         (sift_states_mkref): Likewise.
74481         (check_arrival_expand_ecl): Mark eclosure as const.
74482         (check_dst_limits_calc_pos_1): Likewise.
74483         * lib/regex_internal.h (re_match_context_t): Make dfa a const
74484         pointer.
74485
74486         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
74487
74488         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
74489         (transit_state_sb): Likewise.
74490         (transit_state_mb): Likewise.
74491         (sift_states_iter_mb): Likewise.
74492         (check_arrival_add_next_nodes): Likewise.
74493         (check_node_accept_bytes): Change first parameter to pointer-to-const.
74494         [_LIBC] (re_search_2_stub): Use mempcpy.
74495
74496         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
74497         mbrtowc for very simple UTF-8 case.
74498
74499         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
74500         a pointer-to-const.
74501         (re_acquire_state_context): Likewise.
74502         * lib/regex_internal.h: Adjust prototypes.
74503
74504         * lib/regex.c: Prevent using C++ compilers.
74505
74506         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
74507         (re_acquire_state_context): Likewise.
74508
74509 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74510
74511         * modules/regex (Depends-on): Add ssize_t.
74512
74513 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74514
74515         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
74516         translation table.
74517
74518 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74519
74520         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
74521
74522 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
74523             Bruno Haible  <bruno@clisp.org>
74524
74525         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
74526         <sys/types.h> and <inttypes.h>.
74527
74528 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74529
74530         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
74531         `__error_t_defined', so argp.h will not typedef the former.
74532
74533 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
74534
74535         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
74536         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
74537         glibc names.  Even if glibc is changed to conform to POSIX, the
74538         traditional names will be available anyway, since regex depends on
74539         the extensions module.  Also, fix a longstanding typo in the
74540         implementation of Spencer ERE test #75 from grep 2.3.  Problems
74541         reported by Emanuele Giaquinta.  Also, change sense of cached
74542         variable, so that the message makes sense.
74543
74544 2006-03-24  Simon Josefsson  <jas@extundo.com>
74545
74546         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
74547         including some doc fixes.
74548         (base64_encode_alloc): Fix +1 bug on allocation failures.
74549
74550 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74551
74552         * lib/base64.c (base64_encode): Do not read past end of array with
74553         unsanitized input on systems with CHAR_BIT > 8.
74554
74555 2006-03-24  Eric Blake  <ebb9@byu.net>
74556
74557         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
74558
74559 2006-03-22  Karl Berry  <karl@gnu.org>
74560
74561         * config/srclist.txt (*setenv.[ch]): get from coreutils.
74562         * config/srclistvars.sh (COREUTILS): new var.
74563
74564 2006-03-17  Jim Meyering  <jim@meyering.net>
74565
74566         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
74567         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
74568
74569 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
74570
74571         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
74572         no longer needs it.  Instead, check that regoff_t is as least
74573         as wide as ptrdiff_t.
74574
74575         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
74576         so that our regex.h stays compatible with the installed regex.
74577         This is helpful for installers who configure --without-included-regex.
74578         Problem reported by Emanuele Giaquinta.
74579
74580 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
74581
74582         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
74583         Typedef to long int, not to off_, as POSIX will likely change
74584         in that direction.
74585
74586 2006-03-15  Eric Blake  <ebb9@byu.net>
74587
74588         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
74589
74590 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
74591
74592         * lib/argp-help.c (validate_uparams): Fix typo
74593         * lib/argp-parse.c (argp_default_options): Consistently begin help
74594         messages with a lowercase letter.
74595
74596 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
74597
74598         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
74599         overrun buffers and shouldn't be used (much as gets shouldn't be
74600         used).
74601         * lib/time_r.c (asctime_r, ctime_r): Likewise.
74602
74603 2006-03-08  Simon Josefsson  <jas@extundo.com>
74604
74605         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
74606         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74607
74608 2006-03-08  Simon Josefsson  <jas@extundo.com>
74609
74610         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
74611         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74612
74613 2006-03-08  Simon Josefsson  <jas@extundo.com>
74614
74615         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
74616         signal that configure disabled the device.
74617
74618 2006-03-08  Simon Josefsson  <jas@extundo.com>
74619
74620         * build-aux/maint.mk: Fix refresh-po, to handle no translated
74621         languages.
74622
74623 2006-03-07  Simon Josefsson  <jas@extundo.com>
74624
74625         * modules/getopt (Depends-on): Add unistd.
74626
74627         * modules/unistd: New file.
74628
74629 2006-03-07  Simon Josefsson  <jas@extundo.com>
74630
74631         * modules/gc-random: New file.
74632
74633 2006-03-07  Simon Josefsson  <jas@extundo.com>
74634
74635         * m4/unistd_h.m4: New file.
74636
74637 2006-03-07  Simon Josefsson  <jas@extundo.com>
74638
74639         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
74640         test to be side-effect free by storing the result in the cache
74641         variable gl_cv_lib_readline, and moving the assignment of
74642         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
74643         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74644
74645 2006-03-07  Simon Josefsson  <jas@extundo.com>
74646
74647         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
74648         error on missing devices (the functions will return an error).
74649
74650         * m4/gc.m4: Move random stuff to gc-random.m4
74651
74652 2006-03-07  Simon Josefsson  <jas@extundo.com>
74653
74654         * lib/unistd_.h: New file.
74655
74656 2006-03-07  Simon Josefsson  <jas@extundo.com>
74657
74658         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
74659
74660 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
74661
74662         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
74663         Problem reported by Juan Manuel Guerrero.
74664
74665 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
74666
74667         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
74668         the unistd module.
74669         * lib/getlogin_r.c: Likewise.
74670         * lib/getlogin_r.h: Likewise.
74671         * lib/glob.c: Likewise.
74672         * lib/pagealign_alloc.c: Likewise.
74673         * lib/unistd_.h: Remove; no longer needed.
74674
74675 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
74676
74677         * MODULES.html.sh (Support for systems lacking POSIX:2001):
74678         Add unistd.
74679         * modules/c-stack (Depends-on): Add unistd.
74680         * modules/getlogin_r: Likewise.
74681         * modules/glob: Likewise.
74682         * modules/pagealign_alloc: Likewise.
74683         * modules/unistd (Files): Remove lib/unistd_.h.
74684         (EXTRA_DIST): Remove.
74685         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
74686         need unistd_.h.
74687         (MOSTLYCLEANFILES): Remove unistd.h-t.
74688
74689 2006-03-03  Simon Josefsson  <jas@extundo.com>
74690
74691         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
74692
74693 2006-03-03  Simon Josefsson  <jas@extundo.com>
74694
74695         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
74696         libidn and bison.
74697
74698 2006-03-03  Simon Josefsson  <jas@extundo.com>
74699
74700         * build-aux/maint.mk: Add indent target.
74701
74702 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
74703
74704         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
74705         our replacement poll.h in any case, to avoid a differing
74706         declaration from a system header.  Seen on AIX.
74707
74708 2006-03-01  Simon Josefsson  <jas@extundo.com>
74709
74710         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
74711         <kasal@ucw.cz>.
74712
74713 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
74714
74715         * modules/gettime (Depends-on): Add extensions module.
74716         * modules/nanosleep (Depends-on): Likewise.
74717         * modules/settime (Depends-on): Likewise.
74718
74719 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
74720
74721         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
74722         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
74723         pedantically.
74724         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74725         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
74726
74727         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
74728         not "==".  Reported by Ralf Wildenhues.
74729
74730 2006-03-01  Karl Berry  <karl@gnu.org>
74731
74732         * doc/Copyright/request-*: new files, synced from gnuorg.
74733
74734 2006-03-01  Karl Berry  <karl@gnu.org>
74735
74736         * config/srclist.txt (Copyright/*): new entries.
74737
74738 2006-02-28  Simon Josefsson  <jas@extundo.com>
74739
74740         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
74741
74742 2006-02-27  Simon Josefsson  <jas@extundo.com>
74743
74744         * lib/base64.h: Indent #define's.  From Jim Meyering
74745         <jim@meyering.net>.
74746
74747 2006-02-27  Jim Meyering  <jim@meyering.net>
74748
74749         Revert the change of 2006-02-24, so these files can continue
74750         to be sync'd from gettext.
74751         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
74752         of `config.h'.
74753
74754 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
74755
74756         * modules/intprops: New file.
74757         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
74758         Add intprops.
74759         * modules/getloadavg (Files): Remove lib/intprops.h.
74760         (Depends-on): Add intprops.
74761         * modules/human: Likewise.
74762         * modules/inttostr: Likewise.
74763         * modules/openat: Likewise.
74764         * modules/sig2str: Likewise.
74765         * modules/userspec: Likewise.
74766         * modules/utimecmp: Likewise.
74767         * modules/xnanosleep: Likewise.
74768         * modules/xstrtol: Likewise.
74769
74770 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
74771
74772         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
74773         * modules/lock-tests (TESTS): Use $(EXEEXT).
74774         * modules/tls-tests: Likewise.
74775         * modules/argp-tests: Likewise.
74776         (check_PROGRAMS): New var, replacing...
74777         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
74778
74779 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74780
74781         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
74782         `config.h'.
74783
74784 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
74785
74786         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
74787
74788 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74789
74790         Sync from coreutils.
74791         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
74792         gl_CHDIR_SAFER.
74793
74794 2006-02-22  Jim Meyering  <jim@meyering.net>
74795
74796         Sync from coreutils.
74797         * m4/chdir-safer.m4: New file.
74798
74799 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
74800
74801         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
74802         AT_FDCWD exceeds INT_MAX.
74803         * lib/openat.h (AT_FDCWD): Likewise.
74804
74805 2006-02-17  Eric Blake  <address@hidden>
74806
74807         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
74808
74809 2006-02-16  Simon Josefsson  <jas@extundo.com>
74810
74811         * modules/getaddrinfo (Depends-on): Add sys_socket.
74812
74813 2006-02-15  Simon Josefsson  <jas@extundo.com>
74814
74815         * build-aux/maint.mk: Add dsyntax-check rule.
74816
74817 2006-02-15  Eric Blake  <ebb9@byu.net>
74818
74819         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
74820         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
74821         'present but cannot compile' warnings on cygwin.
74822         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
74823         use ws2tcpip.h if sys/socket.h works.
74824         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
74825         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
74826
74827 2006-02-14  Simon Josefsson  <jas@extundo.com>
74828
74829         * modules/maintainer-makefile (Files): Rename.
74830
74831         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
74832         and (the local) Makefile.cfg to maint-cfg.mk.
74833
74834         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
74835         to the latter.
74836
74837         * modules/maintainer-makefile: New module.
74838
74839         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
74840         severaly stripped to make it possible to build it up from scratch
74841         with reliable tests.
74842
74843         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
74844         fixes to permit overriding the default actions when configure and
74845         makefile are not available.
74846
74847 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
74848
74849         Sync from coreutils.
74850         * modules/lstat (Depends-on): Don't depend on xalloc.
74851         (License): Change from GPL to LGPL, since this is now simply a
74852         replacement for a libc function.
74853
74854 2006-02-14  Jim Meyering  <jim@meyering.net>
74855
74856         Sync from coreutils.
74857
74858         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
74859         failure on deficient systems, and simplify gnulib lgpl dependencies.
74860         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
74861         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
74862
74863         * lib/xalloc-die.c: Remove unused definition of N_.
74864
74865 2006-02-14  Jim Meyering  <jim@meyering.net>
74866
74867         Sync from coreutils.
74868         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
74869         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
74870         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
74871         double-quote uses of that variable, to accommodate the rare case in
74872         which getmntent is available in none of the libraries checked.  This
74873         happens at least on FreeBSD 5.0.
74874
74875 2006-02-13  Simon Josefsson  <jas@extundo.com>
74876
74877         * gnulib-tool (Usage): Fix --import, from
74878         karl@freefriends.org (Karl Berry).
74879
74880 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
74881
74882         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
74883
74884 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
74885
74886         * lib/argp-namefrob.h: Restore changes accidentally lost during the
74887         "autoupdate" on 2005-12-12.
74888
74889 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
74890
74891         * modules/closeout (Depends-on): Remove atexit.
74892
74893 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
74894
74895         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
74896         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
74897
74898 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
74899
74900         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
74901         __EXTENSIONS__ if this causes compilation to fail.  Problem
74902         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
74903         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
74904
74905 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
74906
74907         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
74908         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
74909         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
74910         All uses changed.
74911
74912 2006-01-26  Simon Josefsson  <jas@extundo.com>
74913
74914         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
74915         prototype is visible on mingw32.
74916
74917         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
74918         for mingw32.
74919
74920         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
74921         mingw32).
74922
74923 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
74924
74925         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
74926         attempt to open for write; this always fails, at least on POSIX
74927         hosts.  This reinstates the 2006-01-09 change, which was
74928         inadvertently removed.
74929
74930 2006-01-26  Bruno Haible  <bruno@clisp.org>
74931
74932         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
74933         Reported by Paul Eggert.
74934
74935 2006-01-26  Bruno Haible  <bruno@clisp.org>
74936             Paul Eggert  <eggert@cs.ucla.edu>
74937
74938         * lib/stdbool_.h (_Bool)
74939         [(! (defined __cplusplus || defined __BEOS__)
74940           && !defined __GNUC__
74941           && !(defined __HP_cc || defined __xlc__
74942                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
74943                || defined __sgi))]:
74944         #define to signed char in these cases too; this simplifies
74945         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
74946         etc., separately) and makes it more conservative.
74947
74948 2006-01-25  Simon Josefsson  <jas@extundo.com>
74949
74950         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
74951         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
74952         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
74953
74954 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
74955
74956         * lib/argp-namefrob.h: Bugfix. Remove stray #
74957
74958 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
74959
74960         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
74961         so that we test the test.
74962         Check for yet another HP-UX cc bug involving *bool |= bool.
74963
74964 2006-01-25  Karl Berry  <karl@gnu.org>
74965
74966         * config/srclist.txt (vasnprintf.c): sync lost.
74967
74968 2006-01-25  Jim Meyering  <jim@meyering.net>
74969
74970         Sync from the stable (b5) branch of coreutils:
74971
74972         * lib/fts.c (fts_children): Don't let close() clobber errno from
74973         failed fchdir().
74974
74975         * lib/fts.c (fts_stat): When following a symlink-to-directory,
74976         don't necessarily interpret stat-fails+lstat-succeeds as indicating
74977         a dangling symlink.  That can also happen at least for ELOOP.
74978         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
74979         FYI, this bug predates the inclusion of fts.c in coreutils.
74980
74981         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
74982         in their own block, so pre-c99 compilers don't object.
74983
74984         Avoid the double-free (first in fts_read, second in fts_close) that
74985         would occur when an `active' directory is made inaccessible (e.g.,
74986         via chmod a-x) during a traversal.
74987         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
74988         before returning.  Reproduce this failure by
74989         mkdir -p a/b; cd a; chmod a-x . b
74990         Reported by Stavros Passas.
74991
74992 2006-01-25  Jim Meyering  <jim@meyering.net>
74993
74994         * lib/fileblocks.c: Remove more useless parentheses.
74995         * lib/readutmp.h: Likewise.
74996
74997 2006-01-25  Bruno Haible  <bruno@clisp.org>
74998
74999         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
75000         warnings.
75001         Reported by Paul Eggert.
75002
75003 2006-01-25  Bruno Haible  <bruno@clisp.org>
75004
75005         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
75006         rid of a trap command. For Solaris sh.
75007         Reported by Mark D. Baushke <mdb@gnu.org>.
75008
75009 2006-01-24  Simon Josefsson  <jas@extundo.com>
75010
75011         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
75012         Bruno.
75013
75014 2006-01-24  Karl Berry  <karl@gnu.org>
75015
75016         * config/srclist.txt (argp-namefrob.h): sync lost.
75017
75018 2006-01-24  Jim Meyering  <jim@meyering.net>
75019
75020         * modules/openat (Files): Add lib/intprops.h.
75021         From Mark D. Baushke.
75022
75023 2006-01-24  Jim Meyering  <jim@meyering.net>
75024
75025         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
75026         Reported by Mark D. Baushke.
75027
75028 2006-01-24  Jim Meyering  <jim@meyering.net>
75029
75030         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
75031
75032 2006-01-24  Bruno Haible  <bruno@clisp.org>
75033
75034         * modules/strnlen (Maintainer): Change from glibc to all.
75035
75036 2006-01-24  Bruno Haible  <bruno@clisp.org>
75037
75038         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
75039         Patch by Paul Eggert.
75040
75041 2006-01-24  Bruno Haible  <bruno@clisp.org>
75042
75043         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
75044         already has it.
75045         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
75046         2005-11-26.
75047
75048         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
75049         'signed char' to avoid problems with the built-in _Bool type.
75050         Reported by Paul Eggert on 2005-11-26.
75051
75052 2006-01-24  Bruno Haible  <bruno@clisp.org>
75053
75054         * gnulib-tool (func_import): Avoid constructing complicated sed
75055         expressions inside backquote.
75056         Report and solution by Mark D. Baushke <mdb@gnu.org>.
75057
75058 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
75059
75060         These changes imported from libc.
75061         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
75062         test and two separate function calls.
75063         * lib/strndup.c (__strndup): Add libc_hidden_def.
75064
75065 2006-01-23  Simon Josefsson  <jas@extundo.com>
75066
75067         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
75068         Remove the test_*_SOURCES variable: automake infers it by default.
75069         * modules/tls-tests: Likewise.
75070
75071 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
75072
75073         Work around porting bugs reported by Dieter in
75074         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
75075         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
75076         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
75077         Include "getopt.h" first, to check interface.
75078         (getenv): Declare only if defined HAVE_DECL_GETENV &&
75079         !HAVE_DECL_GETENV.
75080         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
75081         (__strndup): Revert to K&R-style function dfns, the glibc style.
75082         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
75083         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
75084         Include strnlen.h first, to get prototype properly.
75085         (strnlen): Renamed from __strnlen.
75086         Remove weak alias.
75087
75088 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
75089
75090         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
75091
75092 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
75093
75094         * config/srclist.txt: Adjust to reflect glibc reorganization.
75095         This affects only comments.
75096
75097 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75098
75099          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
75100          Reported by Bruce Korb <bkorb@gnu.org>.
75101
75102 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
75103
75104         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
75105         to pacify gcc -Wswitch-default.
75106
75107 2006-01-22  Bruno Haible  <bruno@clisp.org>
75108
75109         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
75110         temporary buffer for sprintf, take into account the precision also
75111         for 'd', 'i', 'u', 'o', 'x', 'X'.
75112
75113 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
75114
75115         * modules/argp-tests: New module
75116         * tests/test-argp.c: New file
75117         * tests/test-argp-2.sh: New file
75118
75119 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
75120
75121         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
75122         (__argp_base_name): Removed
75123         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
75124         typo.
75125         (__argp_base_name): Provide macro definition or extern declaration
75126         depending on the configuration
75127
75128 2006-01-20  Simon Josefsson  <jas@extundo.com>
75129
75130         * modules/inet_ntop (Depends-on): Depend on sys_socket.
75131
75132 2006-01-20  Simon Josefsson  <jas@extundo.com>
75133
75134         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
75135
75136 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
75137
75138         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
75139         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
75140         Suggested by Bruno Haible.
75141
75142 2006-01-20  Karl Berry  <karl@gnu.org>
75143
75144         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
75145         until changes propagate, I guess.
75146
75147 2006-01-19  Simon Josefsson  <jas@extundo.com>
75148
75149         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
75150
75151 2006-01-19  Simon Josefsson  <jas@extundo.com>
75152
75153         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
75154
75155 2006-01-19  Simon Josefsson  <jas@extundo.com>
75156
75157         * gnulib-tool: Set check_PROGRAMS.
75158
75159         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
75160         modules/des-tests, modules/gc-arcfour-tests,
75161         modules/gc-arctwo-tests, modules/gc-des-tests,
75162         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
75163         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
75164         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
75165         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
75166         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
75167         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
75168         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
75169         test_*_SOURCES.
75170
75171 2006-01-18  Simon Josefsson  <jas@extundo.com>
75172
75173         * modules/socklen (Depends-on): Depend on sys_socket.
75174
75175 2006-01-18  Simon Josefsson  <jas@extundo.com>
75176
75177         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
75178         modules/des-tests, modules/gc-arcfour-tests,
75179         modules/gc-arctwo-tests, modules/gc-des-tests,
75180         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
75181         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
75182         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
75183         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
75184         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
75185         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
75186         $(EXEEXT) to automake TESTS variable, for mingw32.
75187
75188 2006-01-17  Simon Josefsson  <jas@extundo.com>
75189
75190         * modules/socklen (Include): Need sys/socket.h.
75191
75192 2006-01-17  Bruno Haible  <bruno@clisp.org>
75193
75194         * modules/ssize_t (Include): Add <sys/types.h>.
75195
75196 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
75197
75198         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
75199         it's not portable and it doesn't work with cross-compiles.
75200         Problem reported by Bruno Haible.  Fix missing-$ typo in
75201         'test "gl_cv_ignore_unused_libraries" ...' that prevented
75202         -zignore from being used with Sun's C compiler.
75203
75204 2006-01-12  Simon Josefsson  <jas@extundo.com>
75205
75206         * lib/base64.c: Fix warning, reported by Bruno Haible
75207         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
75208
75209 2006-01-12  Bruno Haible  <bruno@clisp.org>
75210
75211         * modules/ldd: New file.
75212         * build-aux/ldd.sh.in: New file.
75213         * MODULES.html.sh (Support for building libraries and executables): Add
75214         ldd.
75215
75216 2006-01-12  Bruno Haible  <bruno@clisp.org>
75217
75218         * m4/ldd.m4: New file.
75219
75220 2006-01-12  Bruno Haible  <bruno@clisp.org>
75221
75222         * gnulib-tool (func_import, func_create_testdir): Don't go into an
75223         endless loop while replacing $auxdir with build-aux.
75224
75225 2006-01-11  Simon Josefsson  <jas@extundo.com>
75226
75227         * lib/stdint_.h (SIZE_MAX): Add missing (.
75228
75229 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
75230
75231         Sync from coreutils.
75232         * lib/md5.c: Fix commentary typos.
75233         (alignof, UNALIGNED_P): No need for a GCC-specific version.
75234         * lib/md5.h (__attribute__): Remove; unused.
75235         * lib/sha1.c: Fix commentary to match md5 better.
75236         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
75237         so that we don't need to worry about alignment.  All uses changed.
75238         This merges the 2005-10-28 md5 change into sha1.
75239
75240 2006-01-11  Jim Meyering  <jim@meyering.net>
75241
75242         Sync from coreutils.
75243         * lib/md5.c (OP): Fix spacing.
75244
75245 2006-01-11  Bruno Haible  <bruno@clisp.org>
75246
75247         Ensure automatic ordering between gl_LOCK and gl_ARGP.
75248         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
75249         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
75250
75251 2006-01-11  Bruno Haible  <bruno@clisp.org>
75252
75253         Ensure automatic ordering between gl_LOCK and gl_ARGP.
75254         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
75255         the "early" section as well.
75256
75257 2006-01-11  Bruno Haible  <bruno@clisp.org>
75258
75259         Avoid "ar: no archive members specified" error on MacOS X.
75260         * gnulib-tool (func_modules_add_dummy): New function.
75261         (func_import, func_create_testdir): Invoke it.
75262
75263 2006-01-11  Bruno Haible  <bruno@clisp.org>
75264
75265         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
75266         with $auxdir in AC_CONFIG_FILES statements.
75267
75268 2006-01-11  Bruno Haible  <bruno@clisp.org>
75269
75270         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75271         Initialize also noinst_HEADERS to empty.
75272
75273 2006-01-11  Bruno Haible  <bruno@clisp.org>
75274
75275         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
75276         variables.
75277         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
75278         autoreconf.
75279
75280 2006-01-11  Bruno Haible  <bruno@clisp.org>
75281
75282         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
75283         overridable by the user.
75284         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75285
75286 2006-01-10  Simon Josefsson  <jas@extundo.com>
75287
75288         * modules/sys_socket: New file.
75289
75290 2006-01-10  Simon Josefsson  <jas@extundo.com>
75291
75292         * m4/sys_socket_h.m4: New file.
75293
75294 2006-01-10  Simon Josefsson  <jas@extundo.com>
75295
75296         * lib/socket_.h: New file.
75297
75298 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75299
75300         * modules/readutmp (Maintainer): Add myself.
75301
75302 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75303
75304         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
75305         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
75306         People who are still concerned with buggy memcmp implementations
75307         can invoke gl_FUNC_MEMCMP themselves.
75308
75309 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75310
75311         * lib/regex_internal.h (BITSET_WORD_BITS):
75312         Work around a bug in 64-bit PGC (before version 6.1-2), where the
75313         preprocessor mishandles large unsigned values as if they were signed.
75314         Problem reported by Claudio Fontana in
75315         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
75316
75317 2006-01-10  Jim Meyering  <jim@meyering.net>
75318
75319         Avoid the double-free (first in fts_read, second in fts_close) that
75320         would occur when an `active' directory is made inaccessible (e.g.,
75321         via chmod a-x) during a traversal.
75322         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
75323         before returning.  Reproduce this failure by
75324         mkdir -p a/b; cd a; chmod a-x . b
75325         Reported by Stavros Passas.
75326
75327         Sync from coreutils.
75328         * lib/sha1.c: Tweak grammar in a comment.
75329
75330 2006-01-10  Jim Meyering  <jim@meyering.net>
75331
75332         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
75333         Patch by Joerg Sonnenberger.
75334
75335 2006-01-10  Bruno Haible  <bruno@clisp.org>
75336
75337         * modules/readutmp: Depend on module free.
75338         * modules/strtok_r: Depend on module restrict.
75339
75340 2006-01-10  Bruno Haible  <bruno@clisp.org>
75341
75342         * modules/gettext (configure.ac): Add an invocation of
75343         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
75344
75345 2006-01-10  Bruno Haible  <bruno@clisp.org>
75346
75347         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
75348         Reported by Werner Lemberg <wl@gnu.org>.
75349
75350 2006-01-10  Bruno Haible  <bruno@clisp.org>
75351
75352         * lib/localcharset.c: Update from GNU gettext.
75353
75354 2006-01-10  Bruno Haible  <bruno@clisp.org>
75355
75356         * lib/argp.h (__const): Remove macro. Use const instead.
75357         * lib/argp-fmtstream.h (__const): Likewise.
75358         * lib/glob_.h (__const): Remove macro.
75359         * lib/glob-libc.h: Use const instead of __const.
75360
75361 2006-01-10  Bruno Haible  <bruno@clisp.org>
75362
75363         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
75364         variable.
75365         Needed to avoid an automake error regarding the 'gettext' module.
75366
75367 2006-01-09  Simon Josefsson  <jas@extundo.com>
75368
75369         * modules/inet_ntop (Depends-on): Add restrict.
75370
75371 2006-01-09  Simon Josefsson  <jas@extundo.com>
75372
75373         * modules/gc-rijndael-tests (License): Put under LGPL.
75374
75375         * modules/gc-des-tests (License): Likewise.
75376
75377         * modules/gc-arcfour-tests (License): Likewise.
75378
75379         * modules/gc-arctwo-tests (License): Likewise.
75380
75381         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
75382
75383         * modules/gc-hmac-sha1-tests (Files): Likewise.
75384
75385         * modules/gc-hmac-md5-tests (License): Likewise.
75386
75387         * modules/gc-sha1-tests (License): Likewise.
75388
75389         * modules/gc-md5-tests (License): Likewise.
75390
75391         * modules/gc-md4-tests (License): Likewise.
75392
75393         * modules/gc-md2-tests (License): Likewise.
75394
75395         * modules/gc-tests (License): Likewise.
75396
75397         * modules/des-tests (License): Likewise.
75398
75399         * modules/md4-tests (License): Likewise.
75400
75401         * modules/md2-tests (License): Likewise.
75402
75403 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75404
75405         Sync from coreutils:
75406
75407         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
75408         * modules/lib-ignore: New file.
75409         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
75410         chdir-safer.m4, lchmod.m4.
75411         * modules/openat: Add mkdirat.c, openat-priv.h.
75412
75413 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75414
75415         Sync from coreutils.
75416         * m4/lib-ignore.m4: New file.
75417         * m4/lchmod.m4: New file.
75418
75419 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75420
75421         Sync from coreutils.
75422         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
75423         for write access: POSIX says that must fail.
75424         * lib/fts.c (diropen): Likewise.
75425         * lib/save-cwd.c (save_cwd): Likewise.
75426         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
75427         well, for minor improvements on hosts that lack O_DIRECTORY.
75428         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
75429         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
75430         Fall back on chown if open failed with EACCES.
75431
75432         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
75433         Report an error at compile-time if only a 1-second nominal clock
75434         resolution is found.
75435
75436         * lib/lchmod.h: New file.
75437         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
75438         (make_dir_parents): Use lchown rather than chown, and
75439         lchmod rather than chmod.
75440
75441         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
75442         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
75443         "proc" reported by n0dalus.
75444
75445         * lib/mountlist.c: Include <limits.h>.
75446         (dev_from_mount_options)
75447         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
75448         New function.  It no longer assumes "dev=" has the System V meaning
75449         on Linux (since it doesn't).  It also parses "dev=" more carefully.
75450         (read_file_system_list)
75451         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
75452         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
75453         dev= in that case.
75454
75455         * lib/posixtm.h (PDS_PRE_2000): New macro.
75456         * lib/posixtm.c (year): Arg is now syntax_bits rather than
75457         allow_century.  All usages changed.  Reject dates outside the range
75458         1969-1999 if PDS_PRE_2000 is used.
75459
75460 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75461
75462         Sync from coreutils.
75463         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
75464         (Time of day items): Mention the possibility of leap seconds.
75465         Problem reported by Dr. David Alan Gilbert.
75466
75467 2006-01-09  Jim Meyering  <jim@meyering.net>
75468
75469         Sync from coreutils.
75470
75471         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
75472
75473         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
75474
75475         * lib/modechange.c (mode_compile): Reject an invalid mode string
75476         that starts with an octal digit.  From Andreas Gruenbacher.
75477
75478         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
75479         and dup to open_safer and dup_safer, respectively.
75480         (openat_permissive): Fix typo in comment.
75481
75482         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
75483         "gettext.h"; either no longer needed or are guaranteed by openat.h.
75484         (_): Remove; no longer needed.
75485         (openat): Renamed from rpl_openat; no need for rpl_openat
75486         since openat.h renames openat for us.
75487         Replace most of the body with a call to openat_permissive,
75488         to avoid duplicate code.
75489         Port to (probably hypothetical) environments were mode_t is
75490         wider than int.
75491         (openat_permissive): Require mode arg, so that we can check
75492         types better.  Put it just after flags.  Change cwd failure
75493         indicator from pointer-to-bool to pointer-to-errno-value.
75494         All callers changed.
75495         Invoke openat_save_fail and/or openat_restore_fail if
75496         cwd_errno is null, so that openat can call us.
75497         (openat_permissive, fdopendir, fstatat, unlinkat):
75498         Simplify errno handling to avoid some duplicate code,
75499         as it's OK to set errno on success.
75500         * lib/openat.h: Revamp code so that function macros depend on
75501         __OPENAT_PREFIX only, not also on AT_FDCWD.
75502         (openat_ro): Remove.  Caller changed to use openat_permissive.
75503         (openat_permissive): Now a macro, if not a function.
75504         (openat_restore_fail, openat_save_fail): Now always functions,
75505         since mkdirat needs them even if __OPENAT_PREFIX is defined.
75506
75507         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
75508         and openat.c.
75509         * lib/mkdirat.c: Include openat-priv.h.
75510         Remove definitions of macros defined therein.
75511         * lib/openat.c: Likewise.
75512
75513         * lib/mkdirat.c (mkdirat): New file and function.
75514         * lib/openat.h (mkdirat): Declare.
75515
75516         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
75517
75518         * lib/openat.h (openat_permissive): Declare.
75519         (openat_ro): Define.
75520
75521         * lib/openat.c (EXPECTED_ERRNO): New macro.
75522         (openat_permissive): New function -- used in remove.c rewrite.
75523         (all functions): Set errno just before returning, only if there
75524         was an actual failure.
75525         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
75526
75527         Emulate openat-family functions using Linux's procfs, if possible.
75528         Idea and some code based on Ulrich Drepper's glibc changes.
75529
75530         * lib/openat.c: (BUILD_PROC_NAME): New macro.
75531         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
75532         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
75533         before falling back on save_cwd and restore_cwd.
75534         (fdopendir, fstatat, unlinkat): Likewise.
75535
75536         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
75537         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
75538
75539         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
75540         as second argument to va_arg.  Otherwise, some versions of gcc
75541         warn that `if this code is reached, the program will abort'.
75542
75543 2006-01-09  Jim Meyering  <jim@meyering.net>
75544
75545         Sync from coreutils.
75546         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
75547         Require openat-priv.h.
75548
75549 2006-01-09  Bruno Haible  <bruno@clisp.org>
75550
75551         * modules/strnlen (Include): Use strnlen.h.
75552
75553 2006-01-09  Bruno Haible  <bruno@clisp.org>
75554
75555         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
75556
75557 2006-01-09  Bruno Haible  <bruno@clisp.org>
75558
75559         * lib/sysexit_.h (EX_OK): New macro.
75560         Suggested by Martin Lambers <marlam@marlam.de>.
75561
75562 2006-01-09  Bruno Haible  <bruno@clisp.org>
75563
75564         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
75565         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
75566
75567 2006-01-09  Bruno Haible  <bruno@clisp.org>
75568
75569         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
75570         numbers.
75571
75572 2006-01-09  Bruno Haible  <bruno@clisp.org>
75573
75574         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
75575         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
75576         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
75577         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
75578
75579 2006-01-09  Bruno Haible  <bruno@clisp.org>
75580
75581         * build-aux/javacomp.sh.in: New file, moved from lib/.
75582         * modules/javacomp-script (Files): Update.
75583         (configure.ac): Add AC_CONFIG_FILES invocation.
75584         (EXTRA_DIST): Remove variable.
75585
75586         * build-aux/javaexec.sh.in: New file, moved from lib/.
75587         * modules/javaexec (Files): Update.
75588         (configure.ac): Add AC_CONFIG_FILES invocation.
75589         (EXTRA_DIST): Remove javaexec.sh.in.
75590
75591         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
75592         * modules/csharpcomp-script (Files): Update.
75593         (configure.ac): Add AC_CONFIG_FILES invocation.
75594         (EXTRA_DIST): Remove variable.
75595
75596         * build-aux/csharpexec.sh.in: New file, moved from lib/.
75597         * modules/csharpexec (Files): Update.
75598         (configure.ac): Add AC_CONFIG_FILES invocation.
75599         (EXTRA_DIST): Remove csharpexec.sh.in.
75600
75601 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
75602
75603         Sync from coreutils.
75604
75605         Add POSIX ACL support
75606         * lib/acl.h (copy_acl, set_acl): Add declarations.
75607         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
75608         systems other than Linux.
75609         (chmod_or_fchmod): New function: use fchmod when possible,
75610         and chmod otherwise.
75611         (file_has_acl): Add a POSIX ACL implementation, with a
75612         Linux-specific subcase.
75613         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
75614         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
75615         acls are unsupported.
75616         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
75617         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
75618         are unsupported.
75619
75620 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
75621
75622         Sync from coreutils.
75623         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
75624
75625 2006-01-07  Bruno Haible  <bruno@clisp.org>
75626
75627         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
75628         gl_EARLY.
75629
75630 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75631
75632         * lib/strftime.c (tzname): Don't declare if it is already #defined.
75633         Problem reported for Mingw by Mark Junker.
75634
75635 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75636
75637         * README: Gnulib normally doesn't generate a tarball.
75638
75639 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
75640
75641         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
75642         long int, not int, for nanosecond counts, so that people who are
75643         used to POSIX struct timespec won't be surprised.  Reported by Jim
75644         Meyering.
75645
75646 2005-12-28  Bruno Haible  <bruno@clisp.org>
75647
75648         * build-aux/config.rpath: Update from GNU gettext.
75649
75650 2005-12-16  Jim Meyering  <jim@meyering.net>
75651
75652         * modules/fprintftime: New module.
75653         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
75654
75655 2005-12-16  Jim Meyering  <jim@meyering.net>
75656
75657         * m4/fprintftime.m4: New file.
75658
75659 2005-12-16  Jim Meyering  <jim@meyering.net>
75660
75661         * lib/fprintftime.c, lib/fprintftime.h: New files.
75662
75663 2005-12-15  Simon Josefsson  <jas@extundo.com>
75664
75665         * modules/socklen (configure.ac): Fix M4 macro name, to align with
75666         new m4/socklen.m4.
75667
75668 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
75669
75670         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
75671         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
75672
75673 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
75674
75675         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
75676         * lib/argp-help.c (fill_in_uparams): Check if the constructed
75677         struct uparams is valid. Fall back to the default values if it is
75678         not.
75679
75680 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75681
75682         * modules/argp (Files): Add argp-pin.c
75683         (Depends-on): dirname
75684         (lib_SOURCES): Add argp-pin.c
75685
75686 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75687
75688         * m4/argp.m4:  Check if program_invocation_name and
75689         program_invocation_short_name are declared and define appropriate
75690         macros if they are not.
75691
75692 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75693
75694         * lib/argp-help.c (__argp_base_name): New function
75695         (__argp_short_program_name): Rewrite using __argp_base_name
75696         * lib/argp-namefrob.h: Define program_invocation_name and
75697         program_invocation_short_name if requested
75698         (__argp_base_name): Add prototype
75699         * lib/argp-parse.c (argp_def): Use gettext wrappers
75700         (argp_default_parser): Use __argp_base_name
75701         * lib/argp-pin.c: New file. Defines program_invocation_name and
75702         program_invocation_short_name on systems that lack them.
75703
75704 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
75705
75706         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
75707         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
75708         porting problem reported by Georg Schwarz in
75709         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
75710
75711 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
75712
75713         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
75714         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
75715         porting problem reported by Georg Schwarz in
75716         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
75717
75718 2005-12-05  Bruno Haible  <bruno@clisp.org>
75719
75720         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
75721         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
75722         Reported by Mark Junker <mjscod@gmx.de>.
75723
75724 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
75725
75726         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
75727         Use implementation from Albert Chin, with some
75728         comments/corrections by Stepan Kasal and myself.
75729
75730 2005-12-02  Bruno Haible  <bruno@clisp.org>
75731
75732         * gnulib-tool (func_import): Accept GPLed build tool modules when
75733         --lgpl is given.
75734         * modules/csharpcomp-script: New file.
75735         * modules/csharpcomp: Depend on it.
75736         * modules/javacomp-script: New file.
75737         * modules/javacomp: Depend on it.
75738         Suggested by Simon Josefsson.
75739
75740 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
75741
75742         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
75743         statement, to work around an HP-UX 10.20 compiler bug reported by
75744         Peter O'Gorman.
75745
75746 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
75747
75748         * modules/savedir (Depends-on): Add openat.
75749
75750 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
75751
75752         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
75753         (uintmax_t) [defined uintmax_t]: Do not declare.
75754         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
75755         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
75756         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
75757         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
75758         sake of portability to weird hosts that C allows (though we don't
75759         know of any practical examples).
75760
75761         * lib/savedir.h (fdsavedir): New decl.
75762         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
75763         contains most of the former guts of savedir.
75764         (savedir): Use savedirstream.
75765         Include "openat.h".
75766
75767 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
75768
75769         * modules/obstack (Files): Add m4/ulonglong.m4.
75770         Problem reported by Davide Angelocola.
75771
75772 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
75773
75774         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
75775         coreutils no longer futzes with rounding modes.
75776
75777 2005-11-14  Jim Meyering  <jim@meyering.net>
75778
75779         * lib/mkstemp-safer.c: Include <config.h>, required for possible
75780         replacement of mkstemp.
75781
75782 2005-11-10  Simon Josefsson  <jas@extundo.com>
75783
75784         * lib/readline.c: Remove EOL.
75785
75786 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
75787
75788         * modules/gethrxtime (Depends-on): Add gettime.
75789
75790 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
75791
75792         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
75793         or gettimeofday; no longer needed.
75794
75795 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
75796
75797         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
75798         time business.
75799         (gethrxtime) [! (HAVE_NANOUPTIME
75800         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
75801         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
75802         our own approximation.
75803
75804 2005-11-08  Eric Blake  <ebb9@byu.net>
75805
75806         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
75807
75808 2005-11-08  Eric Blake  <ebb9@byu.net>
75809
75810         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
75811
75812 2005-11-04  Bruno Haible  <bruno@clisp.org>
75813
75814         * gnulib-tool: Implement --update mode.
75815
75816 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
75817
75818         Fix porting problem reported by Theodoros V. Kalamatianos.
75819         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
75820         Don't assume that futimes failing means we must fail.
75821
75822 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
75823
75824         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
75825         variables to suggest the intended function of the PATH_MAX check.
75826
75827 2005-10-30  Kean Johnston  <jkj@sco.com>
75828
75829         Trivial changes to support SCO systems.
75830         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
75831         as PATH_MAX.
75832         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
75833         where __ptr is null when no I/O is pending.
75834
75835 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
75836
75837         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
75838         leave errno alone.  Problem reported by Dmitry V. Levin.
75839
75840 2005-10-28  Simon Josefsson  <jas@extundo.com>
75841
75842         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
75843         Test more.
75844
75845         * tests/test-gc-md2.c, tests/test-md2.c: New files.
75846
75847         * modules/md2, modules/md2-tests: New files.
75848
75849 2005-10-28  Simon Josefsson  <jas@extundo.com>
75850
75851         * m4/inet_ntop.m4: More tests.
75852
75853         * m4/gc-md2.m4, md2.m4: New file.
75854
75855 2005-10-28  Simon Josefsson  <jas@extundo.com>
75856
75857         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
75858         "restrict" keywords, as per POSIX.  Protect the function
75859         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
75860         Don't use K&R prototypes.  Check the sprintf return values.
75861         Re-define EAFNOSUPPORT if not present.  Indent.
75862
75863         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
75864         suggested by Bruno Haible <bruno@clisp.org>.
75865
75866         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
75867
75868         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
75869
75870         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
75871         libgcrypt).
75872
75873         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
75874
75875         * lib/md2.h, lib/md2.c: New files.
75876
75877 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
75878
75879         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
75880         errno alone.  Problem reported by Frederic Jolliton.
75881
75882 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
75883
75884         * modules/verify (License): Change from GPL to LGPL.  This is a
75885         tiny module and there are apparently near-equivalents that are
75886         under the BSD license.
75887
75888 2005-10-24  Simon Josefsson  <jas@extundo.com>
75889
75890         * modules/sha1: Relicense to LGPL.
75891
75892 2005-10-24  Simon Josefsson  <jas@extundo.com>
75893
75894         * lib/md4.h: Shrink buffer size, now that we changed the type.
75895
75896 2005-10-23  Simon Josefsson  <jas@extundo.com>
75897
75898         * gnulib-tool (func_import): Fix --tests-base.
75899
75900 2005-10-22  Simon Josefsson  <jas@extundo.com>
75901
75902         * modules/arcfour (Depends-on): Need stdint.
75903
75904 2005-10-22  Simon Josefsson  <jas@extundo.com>
75905
75906         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
75907         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
75908
75909 2005-10-22  Simon Josefsson  <jas@extundo.com>
75910
75911         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
75912         suggested by Bruno Haible <bruno@clisp.org>.
75913
75914 2005-10-22  Simon Josefsson  <jas@extundo.com>
75915
75916         * lib/crc.h: Include stddef.h, for size_t.
75917
75918 2005-10-22  Simon Josefsson  <jas@extundo.com>
75919
75920         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
75921         arcfour_context struct (simplify test vector testing in GNU
75922         Shishi).
75923
75924 2005-10-21  Simon Josefsson  <jas@extundo.com>
75925
75926         * modules/des, modules/des-tests: New files.
75927
75928         * modules/gc-des, modules/gc-des-tests: New files.
75929
75930         * tests/test-des.c, tests/test-gc-des.c: New file.
75931
75932 2005-10-21  Simon Josefsson  <jas@extundo.com>
75933
75934         * modules/arctwo, modules/arctwo-tests: New files.
75935
75936         * tests/test-arctwo.c: New file.
75937
75938         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
75939
75940         * tests/test-gc-arctwo.c: New file.
75941
75942 2005-10-21  Simon Josefsson  <jas@extundo.com>
75943
75944         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
75945         Bruno Haible <bruno@clisp.org>.
75946
75947         * m4/gc-des.m4: New file.
75948
75949 2005-10-21  Simon Josefsson  <jas@extundo.com>
75950
75951         * m4/arctwo.m4: New file.
75952
75953         * m4/gc-arctwo.m4: New file.
75954
75955 2005-10-21  Simon Josefsson  <jas@extundo.com>
75956
75957         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
75958         block.
75959
75960 2005-10-21  Simon Josefsson  <jas@extundo.com>
75961
75962         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
75963         <bruno@clisp.org>.
75964
75965         * lib/hmac-sha1.c (hmac_sha1): Likewise.
75966
75967         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
75968         Bruno Haible <bruno@clisp.org>.
75969
75970         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
75971         <bruno@clisp.org>.
75972
75973 2005-10-21  Simon Josefsson  <jas@extundo.com>
75974
75975         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
75976
75977 2005-10-21  Simon Josefsson  <jas@extundo.com>
75978
75979         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
75980
75981 2005-10-21  Simon Josefsson  <jas@extundo.com>
75982
75983         * lib/des.h, lib/des.c: New files.
75984
75985         * lib/gc-gnulib.c: Support DES.c
75986
75987 2005-10-21  Simon Josefsson  <jas@extundo.com>
75988
75989         * lib/arctwo.h, lib/arctwo.c: New files.
75990
75991         * lib/gc-gnulib.c: Support ARCTWO.
75992
75993 2005-10-21  Simon Josefsson  <jas@extundo.com>
75994
75995         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
75996         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75997
75998 2005-10-21  Simon Josefsson  <jas@extundo.com>
75999
76000         * gnulib-tool (func_import, func_create_testdir): Define automake
76001         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
76002         Makefile.am snippet),
76003         suggested by Bruno Haible <bruno@clisp.org>.
76004
76005         * modules/gc (Makefile.am): Use it.
76006
76007 2005-10-21  Bruno Haible  <bruno@clisp.org>
76008
76009         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
76010         patch.
76011
76012 2005-10-19  Simon Josefsson  <jas@extundo.com>
76013
76014         * tests/test-gc-rijndael.c: New file.
76015
76016         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
76017
76018 2005-10-19  Simon Josefsson  <jas@extundo.com>
76019
76020         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
76021         interface too.
76022
76023 2005-10-19  Simon Josefsson  <jas@extundo.com>
76024
76025         * tests/test-gc-arcfour.c: New file.
76026
76027         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
76028
76029 2005-10-19  Simon Josefsson  <jas@extundo.com>
76030
76031         * modules/gc-md4, modules/gc-md4-tests: New file.
76032
76033         * tests/test-gc-md4.c: New file.
76034
76035 2005-10-19  Simon Josefsson  <jas@extundo.com>
76036
76037         * m4/gc-md4.m4: New file.
76038
76039 2005-10-19  Simon Josefsson  <jas@extundo.com>
76040
76041         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
76042         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
76043         <kasal@ucw.cz>.
76044
76045 2005-10-19  Simon Josefsson  <jas@extundo.com>
76046
76047         * m4/gc-arcfour.m4: New file.
76048
76049         * m4/gc-rijndael.m4: New file.
76050
76051 2005-10-19  Simon Josefsson  <jas@extundo.com>
76052
76053         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
76054
76055 2005-10-19  Simon Josefsson  <jas@extundo.com>
76056
76057         * lib/gc-gnulib.c: Support ARCFOUR.
76058
76059 2005-10-19  Simon Josefsson  <jas@extundo.com>
76060
76061         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
76062         support.
76063
76064         * lib/gc.h: Add ECB enum type.
76065
76066         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
76067
76068 2005-10-18  Simon Josefsson  <jas@extundo.com>
76069
76070         * tests/test-md5.c: New file.
76071
76072         * modules/md5-tests: New file.
76073
76074 2005-10-18  Simon Josefsson  <jas@extundo.com>
76075
76076         * tests/test-md4.c: New file.
76077
76078         * modules/md4, modules/md4-tests: New files.
76079
76080 2005-10-18  Simon Josefsson  <jas@extundo.com>
76081
76082         * m4/md4.m4: New file.
76083
76084 2005-10-18  Simon Josefsson  <jas@extundo.com>
76085
76086         * lib/md4.h, lib/md4.c: New files, based on md5.?.
76087
76088 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
76089
76090         * gnulib-tool (func_create_testdir): Omit the second check whether
76091         BUILT_SOURCES in nonempty.
76092
76093 2005-10-17  Simon Josefsson  <jas@extundo.com>
76094
76095         * tests/test-rijndael.c: New file.
76096
76097 2005-10-17  Simon Josefsson  <jas@extundo.com>
76098
76099         * modules/sha1: Depend on stdint instead of md5.
76100
76101         * modules/md5: Depend on stdint, remove uint32_t.
76102
76103 2005-10-17  Simon Josefsson  <jas@extundo.com>
76104
76105         * modules/gc-sha1-tests: New file.
76106
76107         * tests/test-gc-sha1.c: New file.
76108
76109 2005-10-17  Simon Josefsson  <jas@extundo.com>
76110
76111         * m4/md5.m4: Remove call to uint32_t.m4.
76112
76113 2005-10-17  Simon Josefsson  <jas@extundo.com>
76114
76115         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
76116
76117         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
76118         md5.h.
76119
76120         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
76121
76122         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
76123
76124 2005-10-17  Simon Josefsson  <jas@extundo.com>
76125
76126         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
76127
76128 2005-10-17  Simon Josefsson  <jas@extundo.com>
76129
76130         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
76131
76132 2005-10-17  Simon Josefsson  <jas@extundo.com>
76133
76134         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
76135
76136         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
76137
76138 2005-10-17  Bruno Haible  <bruno@clisp.org>
76139
76140         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
76141         that it can also be used in a test.
76142
76143 2005-10-16  Bruno Haible  <bruno@clisp.org>
76144
76145         * gnulib-tool (func_emit_tests_Makefile_am): Also define
76146         TESTS_ENVIRONMENT, so that individual tests can augment it.
76147
76148         * gnulib-tool (func_create_testdir): Use an intermediate target for
76149         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
76150         macros, like $(ALLOCA_H), which cannot be passed through the command
76151         line.
76152
76153 2005-10-15  Simon Josefsson  <jas@extundo.com>
76154
76155         * modules/rijndael-tests: New file.
76156
76157         * modules/rijndael: New file.
76158
76159 2005-10-15  Simon Josefsson  <jas@extundo.com>
76160
76161         * m4/rijndael.m4: New file.
76162
76163 2005-10-15  Simon Josefsson  <jas@extundo.com>
76164
76165         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
76166
76167         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
76168
76169 2005-10-14  Simon Josefsson  <jas@extundo.com>
76170
76171         * tests/test-arcfour.c: New file.
76172
76173         * modules/arcfour, modules/arcfour-tests: New files.
76174
76175 2005-10-14  Simon Josefsson  <jas@extundo.com>
76176
76177         * m4/arcfour.m4: New file.
76178
76179 2005-10-14  Simon Josefsson  <jas@extundo.com>
76180
76181         * lib/arcfour.h, lib/arcfour.c: New files.
76182
76183 2005-10-14  Roland McGrath  <roland@redhat.com>
76184
76185         Import from libc.  [BZ #1331]
76186         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
76187         macro argument.
76188         Reported by Matej Vela <vela@debian.org>.
76189
76190 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76191
76192         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
76193         include <wchar.h>; no longer needed.
76194
76195 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76196
76197         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
76198
76199 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
76200         and  Ulrich Drepper  <drepper@redhat.com>
76201
76202         Import from libc.
76203         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
76204         instead of inline stream orientation test and two separate
76205         function calls.  Pay no attention to USE_IN_LIBIO.
76206
76207 2005-10-13  Simon Josefsson  <jas@extundo.com>
76208
76209         * modules/gc-hmac-md5-tests: New file.
76210
76211         * tests/test-gc-hmac-sha1.c: New file.
76212
76213         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
76214
76215         * modules/gc-hmac-md5-tests: New file.
76216
76217         * tests/test-gc-md5.c: New file.
76218
76219         * modules/gc-md5-tests: New file.
76220
76221 2005-10-13  Simon Josefsson  <jas@extundo.com>
76222
76223         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
76224         Move memory allocation outside of loop.
76225
76226 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
76227
76228         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
76229         intermediate directory is in a read-only file system.  Problem
76230         reported by Eric Blake.
76231
76232 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
76233
76234         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
76235
76236 2005-10-12  Simon Josefsson  <jas@extundo.com>
76237
76238         * tests/test-hmac-sha1.c: New file.
76239
76240         * modules/hmac-sha1-tests: New file.
76241
76242         * modules/hmac-sha1: New file.
76243
76244 2005-10-12  Simon Josefsson  <jas@extundo.com>
76245
76246         * modules/gc-sha1: New file.
76247
76248 2005-10-12  Simon Josefsson  <jas@extundo.com>
76249
76250         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
76251
76252         * tests/test-gc-pbkdf2-sha1.c: New file.
76253
76254 2005-10-12  Simon Josefsson  <jas@extundo.com>
76255
76256         * modules/gc-md5, modules/gc-hmac-md5: New files.
76257
76258         * modules/gc (Files): Remove md5, memxor and hmac files.
76259
76260 2005-10-12  Simon Josefsson  <jas@extundo.com>
76261
76262         * m4/gc-pbkdf2-sha1.m4: New file.
76263
76264         * m4/gc-hmac-sha1.m4: New file.
76265
76266         * m4/gc-sha1: New file.
76267
76268         * m4/hmac-sha1.m4: New file.
76269
76270 2005-10-12  Simon Josefsson  <jas@extundo.com>
76271
76272         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
76273
76274         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
76275
76276 2005-10-12  Simon Josefsson  <jas@extundo.com>
76277
76278         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
76279         suggested by Bruno Haible <bruno@clisp.org>.
76280
76281 2005-10-12  Simon Josefsson  <jas@extundo.com>
76282
76283         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
76284
76285 2005-10-12  Simon Josefsson  <jas@extundo.com>
76286
76287         * lib/gc-pbkdf2-sha1.c: New file.
76288
76289         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
76290
76291 2005-10-12  Simon Josefsson  <jas@extundo.com>
76292
76293         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
76294
76295         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
76296
76297 2005-10-12  Simon Josefsson  <jas@extundo.com>
76298
76299         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
76300         GC_USE_HMAC_MD5, respectively.
76301
76302         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
76303         (gc_md5): Fix typo.
76304
76305         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
76306
76307         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
76308
76309         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
76310
76311 2005-10-12  Bruno Haible  <bruno@clisp.org>
76312
76313         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
76314         Reported by Stepan Kasal <kasal@ucw.cz>.
76315
76316 2005-10-11  Simon Josefsson  <jas@extundo.com>
76317
76318         * tests/test-crc.c: New file.
76319
76320         * modules/crc, modules/crc-tests: New files.
76321
76322 2005-10-11  Simon Josefsson  <jas@extundo.com>
76323
76324         * m4/crc.m4: New file.
76325
76326 2005-10-11  Simon Josefsson  <jas@extundo.com>
76327
76328         * lib/gc.h: Add gc_hash and gc_hash_buffer.
76329
76330         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
76331
76332         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
76333
76334 2005-10-11  Simon Josefsson  <jas@extundo.com>
76335
76336         * lib/crc.h, lib/crc.c: New files.
76337
76338         * lib/gc.h (gc_hash_buffer): Add doc.
76339
76340 2005-10-11  Bruno Haible  <bruno@clisp.org>
76341
76342         * modules/c-strcasestr: New file.
76343         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
76344
76345 2005-10-11  Bruno Haible  <bruno@clisp.org>
76346
76347         * modules/c-strcase: New file.
76348         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
76349
76350 2005-10-11  Bruno Haible  <bruno@clisp.org>
76351
76352         * lib/strcasecmp.c: Include limits.h.
76353         (strcasecmp): Avoid integer overflow on exotic platforms.
76354         * lib/strncasecmp.c: Include limits.h.
76355         (strncasecmp): Avoid integer overflow on exotic platforms.
76356         Reported by Paul Eggert.
76357
76358 2005-10-11  Bruno Haible  <bruno@clisp.org>
76359
76360         * lib/c-strcasestr.h: New file, from GNU gettext.
76361         * lib/c-strcasestr.c: New file, from GNU gettext.
76362
76363 2005-10-11  Bruno Haible  <bruno@clisp.org>
76364
76365         * lib/c-strcase.h: New file, from GNU gettext.
76366         * lib/c-strcasecmp.c: New file, from GNU gettext.
76367         * lib/c-strncasecmp.c: New file, from GNU gettext.
76368
76369 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
76370
76371         * modules/mempcpy (License): GPL -> LGPL.
76372         * modules/strchrnul (License): Likewise.
76373         * modules/sysexits (License): Likewise.
76374
76375 2005-10-08  Simon Josefsson  <jas@extundo.com>
76376
76377         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
76378
76379 2005-10-07  Simon Josefsson  <jas@extundo.com>
76380
76381         * m4/memxor.m4: Remove gl_C_RESTRICT call.
76382
76383 2005-10-06  Simon Josefsson  <jas@extundo.com>
76384
76385         * tests/test-hmac-md5.c: New file.
76386
76387         * modules/hmac-md5-tests: New file.
76388
76389         * modules/hmac-md5: New file.
76390
76391 2005-10-06  Simon Josefsson  <jas@extundo.com>
76392
76393         * m4/hmac-md5.m4: New file.
76394
76395         * m4/memxor.m4: Require gl_C_RESTRICT.
76396
76397 2005-10-06  Simon Josefsson  <jas@extundo.com>
76398
76399         * lib/memxor.c (memxor): Avoid casts and warnings.
76400
76401 2005-10-06  Simon Josefsson  <jas@extundo.com>
76402
76403         * lib/hmac-md5.c: New file.
76404
76405         * lib/hmac.h: New file.
76406
76407 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
76408
76409         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
76410         promotes to int, not unsigned int, to catch the AIX 5.3
76411         compiler bug.
76412
76413 2005-10-05  Simon Josefsson  <jas@extundo.com>
76414
76415         * modules/memxor: New file.
76416
76417         * modules/iconv (Files): Move config.rpath to havelib, it is used
76418         there.
76419
76420         * modules/havelib (Files): Add config.rpath.
76421
76422 2005-10-05  Simon Josefsson  <jas@extundo.com>
76423
76424         * m4/memxor.m4: New file.
76425
76426 2005-10-05  Simon Josefsson  <jas@extundo.com>
76427
76428         * lib/memxor.c (memxor): Fix compiler error.
76429
76430         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
76431         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
76432
76433         * lib/memxor.h, lib/memxor.c: New files.
76434
76435         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
76436         we assume all systems have it, suggested by Jim Meyering
76437         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
76438         any systems lack sys/socket.h; mingw32 is known to lack it, but we
76439         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
76440         same reasons.
76441
76442 2005-10-05  Simon Josefsson  <jas@extundo.com>
76443
76444         * config/srclist.txt: Add glibc bug 1423 for md5.h.
76445
76446 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
76447
76448         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
76449         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
76450         needed, since the source code now assumes these .h files.
76451
76452 2005-10-05  Derek Price  <derek@ximbiot.com>
76453
76454         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
76455
76456 2005-10-05  Bruno Haible  <bruno@clisp.org>
76457
76458         * modules/stdint (License): Change to LGPL.
76459
76460 2005-10-04  Simon Josefsson  <jas@extundo.com>
76461
76462         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
76463         D. Baushke" <mdb@gnu.org>.
76464
76465 2005-10-04  Bruno Haible  <bruno@clisp.org>
76466
76467         * lib/verify.h (verify_true): Provide alternative definition for C++.
76468
76469 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
76470
76471         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
76472         (SSIZE_MAX): New macro, if not already defined.
76473         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
76474         than 2 GiB.
76475
76476 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
76477
76478         Sync from coreutils.
76479         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
76480         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
76481         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
76482         ULLONG_MAX doesn't work with 2.7.2.1.
76483
76484 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
76485
76486         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
76487         From Ben Pfaff.
76488
76489         * modules/exclude (Depends-on): Depend on verify.
76490         * modules/strtoimax (Depends-on): Likewise.
76491         * modules/utimecmp (Depends-on): Likewise.
76492
76493 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
76494
76495         * lib/exclude.c: Include verify.h.
76496         (verify): Remove.  All callers changed to use verify.h's version.
76497         * lib/strtoimax.c: Likewise.
76498         * lib/utimecmp.c: Likewis.e
76499
76500         Sync from coreutils.
76501         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
76502         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
76503         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
76504         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
76505         bother returning ENOSYS if settimeofday or stime fails; just let
76506         them return whatever errno they want to return.
76507         * lib/utimens.c: Include unistd.h, for dup2.
76508         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
76509         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
76510
76511 2005-10-02  Jim Meyering  <jim@meyering.net>
76512
76513         Sync from coreutils.
76514         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
76515         from glibc-2.2.5 that fails for read-only files.
76516
76517 2005-10-02  Jim Meyering  <jim@meyering.net>
76518
76519         Sync from coreutils.
76520         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
76521         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
76522         `#if HAVE_CONFIG_H'.
76523         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
76524         Remove AT_FDCWD test.
76525         Do not consume the fd unless successful.
76526         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
76527         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
76528         block, so that we don't even try to compile it if settimeofday is
76529         available.  This works around a compilation failure on OSF1 V5.1,
76530         due to stime requiring a `long int*' while tv_sec is `int'.
76531
76532 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
76533
76534         Sync from coreutils.
76535         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
76536         against `yes', rather than just testing for nonempty.
76537
76538 2005-10-01  Simon Josefsson  <jas@extundo.com>
76539
76540         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
76541         and Darwin.
76542
76543         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
76544         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
76545         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
76546         freeaddrinfo and gai_strerror are declared by the POSIX headers.
76547         Check if struct addrinfo is declared.
76548
76549 2005-10-01  Simon Josefsson  <jas@extundo.com>
76550
76551         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
76552         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
76553         AI_* and EAI_* definitions.  Protect function declarations.
76554
76555 2005-10-01  Jim Meyering  <jim@meyering.net>
76556
76557         Sync from coreutils.
76558
76559         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
76560         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
76561         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
76562         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
76563         in the inet and nsl libraries.  Required on Solaris 5.7.
76564
76565 2005-10-01  Jim Meyering  <jim@meyering.net>
76566
76567         Sync from coreutils.
76568         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
76569         in the inet and nsl libraries.  Required on Solaris 5.7.
76570
76571 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
76572
76573         * lib/getdelim.c (getdelim): Remove unused variables.
76574
76575 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
76576
76577         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
76578         so that the code works even with ancient cpp.  Portability problem
76579         with GCC 2.7.2.1 reported by Thomas M.Ott.
76580
76581 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
76582
76583         * modules/regex (Depends-on): Add strcase.
76584
76585         * modules/gethostname (Licence): Change from GPL to LGPL, since
76586         gethostname.c is a trivial implementation of a standard library
76587         function.
76588         * modules/poll (License): Change from GPL to LGPL, since it's
76589         derived from LGPL code.
76590
76591 2005-09-27  Jim Meyering  <jim@meyering.net>
76592
76593         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
76594         HAVE_CONFIG_H.
76595
76596         * lib/intprops.h (signed_type_or_expr__): Define.
76597         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
76598         for unsigned types.
76599
76600 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
76601
76602         * lib/verify.h (verify_expr): Remove, replacing with:
76603         (verify_true): New macro that returns true instead of void.
76604         (verify_type__): Remove.
76605         (verify): Use verify_true rather than verify_type__.
76606
76607 2005-09-26  Bruno Haible  <bruno@clisp.org>
76608
76609         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
76610         is necessary.
76611         (lib_SOURCES): Remove mbchar.c.
76612         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
76613         (Files): Add m4/mbrtowc.m4.
76614         * modules/mbiter: Likewise.
76615         * modules/mbuiter: Likewise.
76616
76617 2005-09-26  Bruno Haible  <bruno@clisp.org>
76618
76619         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
76620         compile mbchar.c if they are not both present.
76621         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
76622         * m4/mbiter.m4 (gl_MBITER): Likewise.
76623         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
76624         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
76625         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
76626
76627 2005-09-25  Jim Meyering  <jim@meyering.net>
76628
76629         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
76630         also uses socklen_t.
76631
76632 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
76633
76634         * lib/utimens.c (ENOSYS): Define if not already defined.
76635         (futimens): Support having a null PATH if the file descriptor
76636         is nonnegative.
76637
76638         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
76639         Remove.
76640         (__attribute): Define to empty unless GCC 3.1 or later.
76641         This works around a core dump on OpenBSD 3.4, which has GCC
76642         2.95.3, which dumps core when given __attribute__(()).  It also
76643         simplifies other tests, since we really don't want to bother with
76644         worrying about which ancient version of GCC supported what.
76645         Original problem reported by Yoann Vandoorselaere, with part of
76646         the fix suggested by Derek Price.
76647
76648 2005-09-24  Jim Meyering  <jim@meyering.net>
76649
76650         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
76651         so we can once again use a positive bitfield width of 1 -- now we
76652         don't have to explain why we were using a bitfield width of 2.
76653
76654 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
76655
76656         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
76657         and similarly for the other external symbols.  Problem reported
76658         by James Gallager.
76659
76660         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
76661         bug reported by Jim Meyering.
76662
76663         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
76664         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
76665         not needed, since socklen is a prerequisite module.
76666
76667 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
76668
76669         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
76670         Problem reported by Eric Blake.
76671         (getaddrinfo): Initialize se so that it's not garbage.
76672         Redo internal storage allocation so that it doesn't make unportable
76673         assumptions about alignment.
76674         Fix a memory leak.
76675
76676         * lib/utimens.c (futimens): Use futimesat if available.
76677         Prefer it to futimes since it doesn't have the futimes bug.
76678
76679         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
76680         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
76681         Instead, declare a function that returns a pointer to an array,
76682         and use verify_type__ to declare the size of the array.
76683         Problem and germ of a solution reported by Bruno Haible.
76684         (verify_type__): Use 2, not 1, for bitfield size, to avoid
76685         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
76686
76687 2005-09-23  Jim Meyering  <jim@meyering.net>
76688
76689         Sync from coreutils.
76690         Correct build failure (socklen_t not defined) on at least
76691         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
76692         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
76693
76694 2005-09-23  Jim Meyering  <jim@meyering.net>
76695
76696         * modules/getaddrinfo (Depends-on): Add socklen.
76697
76698 2005-09-23  Bruno Haible  <bruno@clisp.org>
76699
76700         * tests/test-verify.c: New file.
76701
76702 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
76703
76704         Sync from coreutils.
76705
76706         * modules/argmatch (Depends-on): Add verify.
76707         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
76708         unistd-safer.
76709         * modules/save-cwd (Depends-on): Likewise.
76710
76711         * modules/openat (Files): Add lib/openat-die.c.
76712         (Depends-on): Remove error, exitfail.
76713         Add dirname.
76714
76715         * modules/verify: New file.
76716         * MODULES.html.sh (Diagnostics <assert.h>): New section,
76717         with "verify" module.
76718
76719 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
76720
76721         Sync from coreutils.
76722
76723         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
76724         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
76725         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
76726         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
76727         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
76728         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
76729         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
76730         Don't bother checking for string.h, stdlib.h, unistd.h.
76731         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
76732         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
76733         module's job.
76734         * m4/jm-macros.m4 (gl_MACROS): Likewise.
76735         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
76736
76737         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
76738         (gl_GETDATE): Use it.
76739
76740         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
76741
76742 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
76743
76744         Sync from coreutils.
76745
76746         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
76747         stat-time.h.
76748         * lib/argmatch.h: Include verify.h
76749         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
76750         (ARGMATCH_ASSERT): Remove; unused.
76751         * lib/canonicalize.c: Assume STDC_HEADERS.
76752         * lib/exclude.c: Include "strcase.h".
76753         * lib/regex_internal.h [!defined _LIBC]: Likewise.
76754         * lib/getusershell.c: Include stdio--.h rather than stdio.h
76755         and stdio-safer.h.
76756         (getusershell): Call fopen, not fopen_safer.
76757         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
76758         Do not include unistd-safer.h.
76759         (save_cwd): Don't call fd_safer; no longer needed
76760         now that we include fcntl--.h.
76761
76762         * lib/getdate.y (relative_time): New type.
76763         (RELATIVE_TIME_0): New constant.
76764         (parser_control): Use relative_time instead of doing it ourselves.
76765         (%union): Add new relative_time rel member.
76766         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
76767         Now typeless.
76768         (relunit, relunit_snumber): Now of type rel.
76769         (zone, rel, relunit, get_date): Adjust to above changes.
76770
76771         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
76772         Do not include unistd-safer.h.
76773         (getloadavg): Don't call fd_safer; no longer needed
76774         now that we include fcntl--.h.
76775
76776         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
76777         (make_dir_parents): Treat ENOSYS like EEXIST.
76778
76779         Improve quality of diagnostics on restore_cwd failure.
76780         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
76781         (make_dir_parents): Last arg is now int * (for errno), not bool *.
76782         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
76783         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
76784         each time through the loop.  Do not diagnose restore_cwd failure;
76785         that is the caller's job (and perhaps the caller does not care).
76786
76787         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
76788         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
76789         If the file already exists but is not a directory, don't bother
76790         to try to make its parents.
76791         Close potential file descriptor leak if we can't chdir("/") (!).
76792         Don't always return true if chdir($PWD) fails; return true only
76793         if the requested action was done successfully (except for the
76794         chdir($PWD)).
76795         Don't log final directory unless we actually made it.
76796         Refactor to avoid duplicate code to fix up permissions.
76797         Don't attempt to fix up parent permissions if chdir($PWD) fails.
76798
76799         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
76800         to make it a bit faster and (I hope) clearer.
76801         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
76802         Fix bug in formats like %2N.
76803
76804         * lib/verify.h: New file.
76805
76806 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
76807
76808         Sync from coreutils.
76809         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
76810
76811 2005-09-22  Jim Meyering  <jim@meyering.net>
76812
76813         Sync from coreutils.
76814
76815         * m4/lstat.m4 (gl_FUNC_LSTAT):
76816         Use AC_LIBSOURCES to require lstat.c and lstat.h.
76817         Remove obsolete comment.
76818         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
76819         * m4/xstrtod.m4: Likewise.
76820
76821         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
76822
76823 2005-09-22  Jim Meyering  <jim@meyering.net>
76824
76825         Sync from coreutils.
76826
76827         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
76828
76829         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
76830         the .tm_year member, since otherwise gcc-4.0 would now warn about
76831         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
76832
76833         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
76834         order to avoid an unsuppressible warning from gcc on 64-bit systems.
76835
76836         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
76837         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
76838         when run in a time zone for which daylight savings time is in effect
76839         for the starting date.
76840
76841         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
76842         stop us from restricting permissions of just-created absolute-named
76843         directories.
76844         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
76845         to restore initial working directory.
76846         * lib/mkdir-p.c (make_dir_parents): New parameter:
76847         different_working_dir, to tell caller if/when we change the working
76848         directory and are unable to return to the initial one.
76849         * lib/mkdir-p.h (make_dir_parents): Update prototype.
76850         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
76851         `return false'.  This fixes a bug introduced on 2004-07-30.
76852
76853         * lib/openat.c (fdopendir): Be sure to close the supplied
76854         file descriptor before returning.  This makes our replacement
76855         implementation a little closer to Solaris's, where fdopendir
76856         ties the file descriptor to the returned DIR* pointer.
76857         * lib/openat.c (unlinkat): New function.
76858         * lib/openat.h (unlinkat): Add prototype.
76859         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
76860         (openat_restore_fail): Rename from openat_restore_die.
76861         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
76862
76863         Provide an alternative to exiting immediately upon save_cwd or
76864         restore_cwd failure.  Now, an application can arrange e.g.,
76865         to perform a longjump in that case.
76866         * lib/openat.c: Include dirname.h.
76867         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
76868         (rpl_openat, fdopendir, fstatat): Call openat_save_die
76869         and openat_restore_die rather than calling error directly.
76870         Don't include "error.h" or "exitfail.h"; they're no longer needed.
76871
76872         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
76873         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
76874         define.
76875
76876         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
76877         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
76878                             int utc, int nanoseconds);
76879         Background:
76880         date should not have to allocate a megabyte of virtual memory to
76881         handle a format argument like +%1048575T.  When implemented with
76882         strftime, it must allocate such a buffer, use strftime to fill it
76883         in, print it, then free it.
76884         With fprintftime, it simply prints everything and exits.
76885         With no need for memory allocation, that's one fewer way to fail.
76886         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
76887         optional field width, not before, so we accept %9:z, not %:9z.
76888         (my_strftime): Be sure to use L_('x') for literals.
76889
76890         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
76891         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
76892         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
76893         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
76894         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
76895         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
76896         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
76897         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
76898         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
76899         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
76900         * lib/xgethostname.c, lib/xreadlink.c:
76901         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
76902
76903         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
76904         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
76905         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
76906         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
76907         and don't include <sys/file.h>).
76908
76909 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
76910
76911         Sync from coreutils.
76912
76913         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
76914         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
76915         [!LDAV_DONE]: Avoid unused variable warning.
76916
76917 2005-09-21  Bruno Haible  <bruno@clisp.org>
76918
76919         * lib/unicodeio.h (unicode_to_mb): New declaration.
76920
76921 2005-09-20  Derek Price  <derek@ximbiot.com>
76922
76923         * lib/getaddrinfo.c: Don't include <netdb.h> included from
76924         getaddrinfo.h.
76925
76926 2005-09-20  Bruno Haible  <bruno@clisp.org>
76927
76928         * gnulib-tool: Remove trailing slashes from the values specified for
76929         --source-base, --m4-base, --tests-base, --aux-dir.
76930         Suggested by Simon Josefsson <jas@extundo.com>.
76931
76932 2005-09-20  Bruno Haible  <bruno@clisp.org>
76933
76934         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
76935         func_modules_to_filelist, func_import, func_create_testdir): Make all
76936         sorting results locale-independent, so that gnulib-cache.m4 doesn't
76937         change when gnulib-tool is invoked in a different locale.
76938
76939 2005-09-19  Simon Josefsson  <jas@extundo.com>
76940
76941         * m4/socklen.m4: Fix typo.
76942
76943 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76944
76945         Use a consistent style for including <config.h>.
76946         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
76947         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
76948         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
76949         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
76950         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
76951         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
76952         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
76953         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
76954         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
76955         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
76956         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
76957         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
76958         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
76959         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
76960         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
76961         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
76962         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
76963         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
76964         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
76965         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
76966         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
76967         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
76968         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
76969         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
76970         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
76971         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
76972         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
76973         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
76974         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
76975         lib/xstrtoumax.c, lib/yesno.c:
76976         Standardize inclusion of config.h.
76977         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
76978         lib/inttostr.h:  Removed inclusion of config.h from header files.
76979         * lib/inttostr.c:  Adjusted in-tree users.
76980         * lib/timespec.h: Remove superfluous warning to include config.h.
76981         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
76982         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
76983         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
76984         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
76985         config.h with HAVE_CONFIG_H.
76986
76987 2005-09-19  Jim Meyering  <jim@meyering.net>
76988
76989         * modules/pathmax (License): Change to LGPL.
76990
76991 2005-09-19  Derek Price  <derek@ximbiot.com>
76992
76993         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
76994
76995 2005-09-19  Bruno Haible  <bruno@clisp.org>
76996
76997         * gnulib-tool (import): Provide default for --tests-base.
76998
76999 2005-09-19  Bruno Haible  <bruno@clisp.org>
77000
77001         * doc/quote.texi: New file, extracted from gnulib.texi.
77002         * doc/ctime.texi: New file, extracted from gnulib.texi.
77003         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
77004         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
77005         * doc/gnulib.texi: Include them.
77006
77007 2005-09-18  Bruno Haible  <bruno@clisp.org>
77008
77009         Portability fix.
77010         * gnulib-tool (func_readlink): New function.
77011         (func_ln_if_changed): Use it.
77012
77013 2005-09-18  Bruno Haible  <bruno@clisp.org>
77014
77015         * gnulib-tool: Support --with-tests also with --import.
77016         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
77017         (func_import): Use variables $testsbase and $inctests. Emit a
77018         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
77019         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
77020         SUBDIRS += $testsdir.
77021         (func_create_testdir): Update.
77022
77023 2005-09-18  Bruno Haible  <bruno@clisp.org>
77024
77025         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
77026         instead of $dry_run.
77027         (func_cp_if_changed, func_mv_if_changed): Remove functions.
77028         (func_ln_if_changed): Don't handle dry-run here.
77029         (func_import): In dry-run mode, detect more precisely which actions
77030         would be performed, and don't use "...ing" verbs.
77031
77032 2005-09-18  Bruno Haible  <bruno@clisp.org>
77033
77034         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
77035         (func_import): Use join on two temporary files instead of three nested
77036         loops, in order to determine which files are new or old.
77037
77038 2005-09-18  Bruno Haible  <bruno@clisp.org>
77039
77040         * gnulib-tool (func_import): Comment out code that spits out the
77041         new files with --dry-run.
77042
77043 2005-09-18  Bruno Haible  <bruno@clisp.org>
77044
77045         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
77046
77047 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
77048
77049         * lib/stat-time.h: New file.
77050         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
77051         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
77052         in a different way.
77053         (timespec_cmp): New function.
77054         * lib/utimecmp.c: Include stat-time.h.
77055         (SYSCALL_RESOLUTION): Depend on whether various struct stat
77056         members exist, not on the obsolescent ST_MTIM_NSEC.
77057         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
77058
77059 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
77060
77061         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
77062
77063 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
77064
77065         * MODULES.html.sh (File system functions): Add stat-time.
77066         * modules/stat-time: New file.
77067         * modules/timespec (Files): Remove m4/st_mtim.m4; this
77068         is now done in a different way, by the stat-time module.
77069         * modules/utimecmp (Depends-on): Add stat-time.
77070
77071 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77072
77073         * m4/st_mtim.m4: Remove.  Superseded by...
77074         * m4/stat-time.m4: New file.
77075         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
77076         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
77077
77078 2005-09-15  Derek Price  <derek@ximbiot.com>
77079
77080         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
77081
77082 2005-09-15  Derek Price  <derek@ximbiot.com>
77083
77084         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
77085         * lib/regex_internal.c: Ditto, using this...
77086         (__GNUC_PREREQ): ...new macro.
77087         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
77088         using...
77089         (__GNUC_PREREQ): ...this new macro.
77090
77091         * lib/strstr.h: Include string.h. Define strstr as a macro here.
77092
77093 2005-09-15  Derek Price  <derek@ximbiot.com>
77094             Paul Eggert  <eggert@cs.ucla.edu>
77095
77096         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
77097         changes, consolidating in...
77098         * lib/regex_internal.h: ...this file.
77099
77100 2005-09-13  Jim Meyering  <jim@meyering.net>
77101
77102         * lib/canon-host.c: Filter through gnu indent and reword comments
77103         slightly.
77104         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
77105
77106 2005-09-13  Derek Price  <derek@ximbiot.com>
77107
77108         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
77109         failure.
77110         Reported by Jim Meyering  <jim@meyering.net>.
77111
77112 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
77113
77114         * lib/base64.c: Typo.
77115         (base64_encode): Put b64str in initialized data section.
77116
77117 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
77118
77119         Merge glibc and coreutils changes into gnulib, plus a few
77120         extra fixes.
77121         * lib/md5.c: Use #error rather than a string.
77122         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
77123         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
77124         (__attribute__): Define to empty for non recent-GCC.
77125         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
77126         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
77127         Renamed from their non-__ counterparts, with new macros replacing
77128         them if not _LIBC.  Add __THROW attribute.
77129         (rol): Remove.
77130         (struct md5_ctx): Align buffer if using GCC.
77131         * lib/sha1.h (struct sha1_ctx): Likewise.
77132         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
77133         The old name was backwards.
77134         (NOTSWAP): Remove; not used.
77135         (rol): New macro, moved here from md5.h.
77136         (sha1_process_block): Remove a FIXME that doesn't make sense.
77137
77138 2005-09-12  Derek Price  <derek@ximbiot.com>
77139
77140         Return usable errors from canon-host.
77141         * lib/canon-host.h: New file.
77142         * lib/canon-host.c (canon_host): Wrap...
77143         (canon_host_r): ...this new function, which now relies exclusively on
77144         getaddrinfo.
77145         (ch_strerror): New function.
77146         (last_cherror): New global.
77147         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
77148         interface.
77149         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
77150         void *.
77151         (freeaddrinfo): Free ai->ai_canonname when set.
77152
77153 2005-09-12  Derek Price  <derek@ximbiot.com>
77154
77155         Make canon-host require getaddrinfo.
77156         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
77157         AC_LIBSOURCE canon-host.h.  Call...
77158         (gl_PREREQ_CANON_HOST): ...this new function, which requires
77159         gl_GETADDRINFO.
77160         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
77161
77162 2005-09-12  Derek Price  <derek@ximbiot.com>
77163
77164         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
77165         LGPL.
77166         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
77167
77168 2005-09-12  Derek Price  <derek@ximbiot.com>
77169
77170         * lib/gai_strerror.c: Include config.h when available.  Include
77171         getaddrinfo.h before other headers to test interface.
77172         Reported by Larry Jones <lawrence.jones@ugs.com>.
77173
77174 2005-09-12  Derek Price  <derek@ximbiot.com>
77175             Paul Eggert  <eggert@cs.ucla.edu>
77176
77177         * modules/glob (Files): Add glob-libc.h.
77178
77179 2005-09-12  Derek Price  <derek@ximbiot.com>
77180             Paul Eggert  <eggert@cs.ucla.edu>
77181
77182         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
77183         glob_.h, glob-libc.h.
77184         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
77185
77186 2005-09-12  Derek Price  <derek@ximbiot.com>
77187             Paul Eggert  <eggert@cs.ucla.edu>
77188
77189         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
77190         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
77191         protecting things that should be done only in gnulib contexts.
77192         * lib/glob_.h: New file, containing only the glob things needed for
77193         gnulib.
77194         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
77195         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
77196         (glob, globfree, glob_pattern_p): Now defined simply in terms of
77197         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
77198         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
77199         and to respect the namespace rules better.
77200
77201 2005-09-08  Simon Josefsson  <jas@extundo.com>
77202
77203         * modules/socklen: New file.
77204
77205 2005-09-08  Simon Josefsson  <jas@extundo.com>
77206
77207         * m4/socklen.m4: New file.
77208
77209 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77210
77211         * modules/utimens (Files): Add m4/utimbuf.m4, since
77212         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
77213         Reported by Sergey Poznyakoff.
77214
77215 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77216
77217         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
77218         definitions, since that's the preferred style in glibc.
77219         Fix a minor spacing issue, and update copyright notice to match
77220         glibc's.
77221
77222 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77223
77224         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
77225
77226 2005-09-06  Simon Josefsson  <jas@extundo.com>
77227
77228         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
77229         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
77230
77231 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
77232
77233         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
77234         warning.
77235
77236 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
77237
77238         * config/srclist.txt: Add glibc bug 1302.
77239
77240 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
77241
77242         Change bitset word type from unsigned int to unsigned long int,
77243         as this has better performance on typical 64-bit hosts.
77244         Port bitset code to hosts with unusual word sizes.
77245         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
77246         (build_collating_symbol):
77247         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
77248         argument is a bitset.  This is merely a style issue, but it makes
77249         it clearer that an entire array is expected.
77250         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
77251         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
77252         Port to the case where bitset_word is not the same as unsigned int.
77253         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
77254         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
77255         Likewise.
77256         * lib/regexec.c (check_dst_limits_calc_pos_1,
77257         check_subexp_matching_top):
77258         (build_trtable, group_nodes_into_DFAstates):
77259         Likewise.
77260         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
77261         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
77262         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
77263         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
77264         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
77265         * lib/regcomp.c (optimize_subexps, lower_subexp):
77266         Work even if bitset_word has holes in its bitwise representation.
77267         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
77268         * lib/regexec.c (check_dst_limits_calc_pos_1,
77269         check_subexp_matching_top):
77270         Likewise.
77271         * lib/regex_internal.c (re_string_reconstruct):
77272         Don't assume UCHAR_MAX == 255.
77273         * lib/regex_internal.h (bitset_set_all): Likewise.
77274         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
77275         All uses changed.
77276         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
77277         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
77278         All uses changed.
77279         (BITSET_WORD_MAX): New macro.
77280         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
77281         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
77282         (bitset_empty, bitset_copy):
77283         Prefer sizeof (bitset) to multiplying it out ourselves.
77284         (bitset_not_merge): Remove; unused.
77285         (bitset_contain): Return bool, not unsigned int with one bit on.
77286         All callers changed.
77287         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
77288         alignment than re_node_set; do this by defining a new internal
77289         type struct dests_alloc and using it to allocate memory.
77290
77291 2005-09-05  Bruno Haible  <bruno@clisp.org>
77292
77293         * gnulib-tool (func_import): Fix comparison in handling of symbolic
77294         links.
77295
77296 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
77297
77298         * modules/size_max (Makefile.am): Add size_max.h
77299
77300 2005-09-04  Derek Price  <derek@ximbiot.com>
77301
77302         * gnulib-tool (func_import): Fix reversed $symbolic logic.
77303
77304 2005-09-03  Simon Josefsson  <jas@extundo.com>
77305
77306         * gnulib-tool: Fix typo.
77307
77308 2005-09-03  Simon Josefsson  <jas@extundo.com>
77309
77310         * config/srclist.txt: Add glibc bug 1293.
77311
77312 2005-09-03  Derek Price  <derek@ximbiot.com>
77313
77314         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
77315         From Larry Jones <lawrence.jones@ugs.com>.
77316
77317 2005-09-02  Simon Josefsson  <jas@extundo.com>
77318
77319         * modules/socklen: New file.
77320
77321 2005-09-02  Simon Josefsson  <jas@extundo.com>
77322
77323         * modules/havelib: New module.
77324
77325         * modules/gettext, modules/iconv, modules/lock, modules/readline:
77326         Use havelib.
77327
77328 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
77329
77330         Check for arithmetic overflow when calculating sizes, to prevent
77331         some buffer-overflow issues.  These patches are conservative, in the
77332         sense that when I couldn't determine whether an overflow was possible,
77333         I inserted a run-time check.
77334         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
77335         macros.
77336         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
77337         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
77338         (re_xnrealloc, re_x2nrealloc): New inline functions.
77339         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
77340         parse_bracket_exp):
77341         (build_equiv_class, build_charclass): Check for arithmetic overflow
77342         in size expression calculations.
77343         * lib/regex_internal.c (re_string_realloc_buffers):
77344         (build_wcs_upper_buffer, re_node_set_add_intersect):
77345         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
77346         (re_dfa_add_node, register_state): Likewise.
77347         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
77348         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
77349         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
77350         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
77351
77352 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
77353
77354         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
77355         m4/ulonglong.m4.  Problem reported by Martin Lambers.
77356
77357 2005-09-02  Bruno Haible  <bruno@clisp.org>
77358
77359         Support for lib vs. lib64 distinction on biarch platforms.
77360         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
77361         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
77362         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
77363
77364 2005-09-02  Bruno Haible  <bruno@clisp.org>
77365
77366         * gnulib-tool (import): In the other first-use case, provide defaults
77367         as well.
77368
77369 2005-09-02  Bruno Haible  <bruno@clisp.org>
77370
77371         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
77372         patches not yet found in the latest gettext release.
77373
77374 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77375
77376         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
77377         to avoid a collision with bits/local_lim.h in glibc.
77378         All uses changed.  Problem reported by Dmitry V. Levin in
77379         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
77380
77381         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
77382         bugs in int versus size_t comparisons.
77383         (re_string_context_at): Fix bug where the code assumed that
77384         Idx is signed.
77385
77386         Use bool where appropriate.
77387         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
77388         All callers changed.
77389         (calc_eclosure_iter): Likewise, for ROOT arg.
77390         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
77391         (build_charclass_op): Likewise, for NON_MATCH arg.
77392         * lib/regex_internal.c (re_string_allocate, re_string_construct):
77393         (re_string_construct_common): Likewise, for ICASE arg.
77394         * lib/regexec.c (re_search_2_stub, re_search_stub):
77395         Likewise, for RET_LEN arg.
77396         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
77397         (set_regs): Likewise, for FL_BACKTRACK arg.
77398         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
77399         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
77400         (calc_eclosure_iter, parse_bracket_exp):
77401         Use bool for internal variables that are booleans.
77402         * lib/regexec.c (re_search_internal, check_matching,
77403         proceed_next_node):
77404         (set_regs, build_sifted_states, sift_states_bkref):
77405         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
77406         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
77407         (find_collation_sequence_value):
77408         Likewise.
77409         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
77410         (re_node_set_compare):
77411         Return bool, not int. All callers changed.
77412         * lib/regexec.c (check_halt_node_context, check_dst_limits):
77413         (build_trtable, check_node_accept): Likewise.
77414         * lib/regex_internal.h: Include stdbool.h.
77415
77416         Fix bugs uncovered when converting to bool.
77417         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
77418         failure instead of charging ahead blindly.
77419         * lib/regex_internal.c (register_state): Likewise.
77420         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
77421         for freeing internal storage.
77422         (group_nodes_into_DFA_states): Use unsigned int, not int, for
77423         bitset pieces used as boolean, to avoid undefined behavior
77424         on hosts that do int overflow checking.
77425
77426 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77427
77428         * config/srclist.txt: Add glibc bugs 1285-1287.
77429
77430 2005-09-01  Jim Meyering  <jim@meyering.net>
77431
77432         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
77433         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
77434         Require gl_STAT_MACROS, too.
77435
77436 2005-09-01  Bruno Haible  <bruno@clisp.org>
77437
77438         * gnulib-tool (import): In the first-use case, provide defaults.
77439
77440 2005-09-01  Bruno Haible  <bruno@clisp.org>
77441
77442         * gnulib-tool (func_import): Remove the .tmp files.
77443
77444 2005-09-01  Bruno Haible  <bruno@clisp.org>
77445
77446         * gnulib-tool (func_import): Fix handling of symbolic links.
77447
77448 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77449
77450         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
77451         old glibc regex code mishandles strings longer than 2**31 bytes.
77452         This patch fixes this when the regex code is used in gnulib
77453         (i.e., outside glibc).
77454
77455         This patch should not affect the use of the regex code inside
77456         glibc.  No doubt this problem also needs to be handled for glibc
77457         as well, but the result will be an incompatible change to the
77458         glibc ABI, and the old ABI will have to be supported too.  That
77459         can be the the subject for another patch.
77460
77461         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
77462         governing whether the rest of this patch is active.  By default,
77463         the macro is disabled and the patch has no effect.
77464         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
77465         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
77466         (struct re_pattern_buffer, re_search, re_search_2, re_match):
77467         (re_match_2, re_set_registers): Use the new types.
77468         * lib/regex_internal.h (Idx, re_hashval_t): New types.
77469         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
77470         New macros.
77471         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
77472         (re_string_context_at, bin_tree_t, re_dfastate_t):
77473         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
77474         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
77475         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
77476         (re_string_char_size_at, re_string_wchar_at):
77477         (re_string_elem_size_at):
77478         Use the new types and macros to port to 64-bit hosts.
77479         Use unsigned types for internal values, so that the code
77480         mostly works even for arrays larger than SSIZE_MAX.
77481         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
77482         (search_duplicated_node, calc_eclosure_iter, fetch_number):
77483         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
77484         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
77485         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
77486         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
77487         (calc_inveclosure, parse_dup_op, build_range_exp):
77488         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
77489         (fetch_number, create_token_tree, mark_opt_subexp):
77490         Likewise.
77491         * lib/regex_internal.c (re_string_construct_common,
77492         create_ci_newstate):
77493         (create_cd_newstate, re_string_allocate, re_string_construct):
77494         (re_string_realloc_buffers, build_wcs_upper_buffer):
77495         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
77496         (re_string_reconstruct, re_string_peek_byte_case):
77497         (re_string_fetch_byte_case, re_string_context_at):
77498         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
77499         (re_node_set_init_copy, re_node_set_add_intersect):
77500         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
77501         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
77502         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
77503         (re_acquire_state, re_acquire_state_context, register_state):
77504         Likewise.
77505         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
77506         search_cur_bkref_entry):
77507         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
77508         (re_search_internal, re_search_2_stub, re_search_stub)
77509         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
77510         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
77511         (update_cur_sifted_state, check_dst_limits):
77512         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
77513         (check_subexp_limits, sift_states_bkref, merge_state_array):
77514         (check_subexp_matching_top, get_subexp, get_subexp_sub):
77515         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
77516         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
77517         (expand_bkref_cache, check_node_accept_bytes):
77518         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
77519         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
77520         (acquire_init_state_context, check_halt_node_context):
77521         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
77522         (sift_states_backward, clean_state_log_if_needed):
77523         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
77524         (find_recover_state, transit_state_sb, transit_state_mb):
77525         (transit_state_bkref, build_trtable, match_ctx_clean):
77526         Likewise.
77527         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
77528         to work around an assumption that REG_MISSING is negative.
77529
77530         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
77531         (seek_collating_symbol_entry) [defined _LIBC]:
77532         (lookup_collation_sequence_value) [defined _LIBC]:
77533         (build_range_exp, build_collating_symbol) [defined _LIBC]:
77534         Use prototypes rather than old-style function definitions.
77535         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
77536         (transit_state_sb) [0]:
77537         (find_collation_sequence_value) [defined _LIBC]: Likewise.
77538
77539         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
77540         rm_eo.
77541
77542         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
77543         (optimize_subexps, lower_subexp):
77544         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
77545         since the signed shift might overflow.  Use 1u<<31 instead.
77546         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
77547         Likewise.
77548         * lib/regexec.c (check_dst_limits_calc_pos_1,
77549         check_subexp_matching_top): Likewise.
77550
77551         * lib/regcomp.c (optimize_subexps, lower_subexp):
77552         Use CHAR_BIT rather than 8, for clarity.
77553         * lib/regexec.c (check_dst_limits_calc_pos_1):
77554         (check_subexp_matching_top): Likewise.
77555         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
77556         have to worry about portability issues when shifting it left.
77557         Remove no-longer-needed test for table_size > 0.
77558         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
77559         in a word, as the resulting behavior is undefined.
77560         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
77561         in one case, a <= should have been an <, and in another case the
77562         whole test was missing.
77563         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
77564         the standard name CHAR_BIT.
77565         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
77566         this is not true on one's complement and signed-magnitude hosts.
77567
77568         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
77569         next_last_offset.
77570         (struct re_dfa_t): Remove unused member states_alloc.
77571         * lib/regcomp.c (init_dfa): Don't initialize unused members.
77572
77573 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77574
77575         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
77576         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
77577         and large-file glibc and in 32-bit large-file Solaris.
77578
77579 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77580
77581         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
77582         lengths fit in regoff_t; this isn't true if regoff_t is the same
77583         width as size_t.
77584         * lib/regex.c (re_search_internal): 5th arg is LAST_START
77585         (= START + RANGE) instead of RANGE.  This avoids overflow
77586         problems when regoff_t is the same width as size_t.
77587         All callers changed.
77588         (re_search_2_stub): Check for overflow when adding the
77589         sizes of the two strings.
77590         (re_search_stub): Check for overflow when adding START
77591         to RANGE; if it occurs, substitute the extreme value.
77592
77593 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77594
77595         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
77596
77597 2005-08-31  Jim Meyering  <jim@meyering.net>
77598
77599         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
77600         a pointer-to-const.
77601         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
77602         (register_state): Likewise.
77603         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
77604         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
77605         (group_nodes_into_DFAstates): Likewise.
77606
77607 2005-08-31  Jim Meyering  <jim@meyering.net>
77608
77609         * check-module: Add a FIXME comment.
77610
77611 2005-08-31  Eric Blake  <ebb9@byu.net>
77612
77613         * modules/unistd-safer (Files): Add unistd--.h.
77614         * modules/stdio-safer (Files): Add stdio--.h.
77615
77616 2005-08-31  Derek Price  <derek@ximbiot.com>
77617
77618         * lib/getdelim.c (getdelim): Return EOF on EOF.
77619         Reported by Larry Jones <lawrence.jones@ugs.com>.
77620
77621 2005-08-31  Bruno Haible  <bruno@clisp.org>
77622
77623         Avoid unnecessary diffs in the generated lib/Makefile.am.
77624         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
77625         the generated files.
77626         (func_import): Don't set cmd.
77627
77628 2005-08-31  Bruno Haible  <bruno@clisp.org>
77629
77630         * lib/strstr.c: Include <stddef.h>, for NULL.
77631         * lib/strcasestr.c: Likewise.
77632         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
77633
77634 2005-08-31  Bruno Haible  <bruno@clisp.org>
77635
77636         * gnulib-tool: New option --macro-prefix.
77637         (func_import): Use macro_prefix.
77638         (import): Handle option --macro-prefix.
77639
77640 2005-08-31  Bruno Haible  <bruno@clisp.org>
77641
77642         * gnulib-tool (import): Rename most ac_* variables to cached_*.
77643         Also use new variables cached_lgpl, cached_libtool.
77644
77645 2005-08-31  Bruno Haible  <bruno@clisp.org>
77646
77647         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
77648         always instantiating them.
77649
77650 2005-08-31  Bruno Haible  <bruno@clisp.org>
77651
77652         * gnulib-tool (func_import): Read the previous cached settings
77653         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
77654         earlier added by gnulib but are now dropped. Warn when a gnulib file
77655         overwrites a non-gnulib file.
77656
77657 2005-08-31  Bruno Haible  <bruno@clisp.org>
77658
77659         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
77660         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
77661         projects that don't keep autogenerated files in CVS. Put into
77662         actioncmd only the specified modules, not the transitive closure.
77663
77664 2005-08-31  Bruno Haible  <bruno@clisp.org>
77665
77666         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
77667         Create directories that shall be filled.
77668         (import): Don't look for gl_* macros in configure.ac. Recurse across
77669         all directories containing a gnulib-cache.m4 files, if meaningful.
77670
77671 2005-08-31  Bruno Haible  <bruno@clisp.org>
77672
77673         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
77674         (import): Set seen_libtool when we see gl_LIBTOOL.
77675
77676 2005-08-31  Bruno Haible  <bruno@clisp.org>
77677
77678         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
77679         declaration macro definitions from generated gnulib.m4.
77680
77681 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
77682
77683         * lib/iconvme.h: Add prototype for iconv_alloc.
77684
77685 2005-08-29  Simon Josefsson  <jas@extundo.com>
77686
77687         * lib/iconvme.c: Fix errno.
77688
77689 2005-08-29  Bruno Haible  <bruno@clisp.org>
77690
77691         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
77692         that it works when the directory contains spaces.
77693
77694 2005-08-29  Bruno Haible  <bruno@clisp.org>
77695
77696         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
77697
77698 2005-08-29  Bruno Haible  <bruno@clisp.org>
77699
77700         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
77701         Emit more advice.
77702
77703 2005-08-29  Bruno Haible  <bruno@clisp.org>
77704         and Stepan Kasal  <kasal@ucw.cz>
77705
77706         * check-module: If more parameters are given, check each of them
77707         separately; add more exceptions, as noted by Jim Meyering.
77708         (check_module): New procedure.
77709         (%exempt_header): Now contains all exceptions.
77710
77711 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
77712
77713         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
77714
77715 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
77716
77717         * lib/iconvme.c: Split iconv_string into iconv_alloc.
77718
77719 2005-08-28  Bruno Haible  <bruno@clisp.org>
77720
77721         * m4/gnulib-tool.m4: New file.
77722
77723 2005-08-27  Jim Meyering  <jim@meyering.net>
77724
77725         * modules/unistd-safer (Files): Add pipe-safer.c.
77726         * modules/fcntl-safer (Files): Add creat-safer.c.
77727
77728 2005-08-27  Jim Meyering  <jim@meyering.net>
77729
77730         * m4/stdlib-safer.m4: New file.  From coreutils.
77731         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
77732         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
77733         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
77734         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
77735         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
77736
77737 2005-08-27  Jim Meyering  <jim@meyering.net>
77738
77739         * lib/fopen-safer.c: Merge minor changes from coreutils.
77740         * lib/dup-safer.c: Likewise.
77741         * lib/fd-safer.c: Likewise.
77742
77743         Merge from coreutils.
77744         * lib/stdio--.h: New file.
77745         * lib/stdlib--.h: New file.
77746         * lib/mkstemp-safer.c: New file.
77747
77748         GNU tar needs these.
77749         * lib/pipe-safer.c: New file.
77750         * lib/creat-safer.c: New file.
77751         * lib/fcntl--.h (creat): Define to creat_safer.
77752         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
77753         * lib/unistd--.h (pipe): Define to pipe_safer.
77754         * lib/unistd-safer.h: Declare pipe_safer.
77755
77756 2005-08-26  Simon Josefsson  <jas@extundo.com>
77757
77758         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
77759         Haible <bruno@clisp.org>.
77760
77761 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
77762
77763         * lib/regex_internal.h: Remove all references to
77764         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
77765         or better.
77766         (bitset_not, bitset_merge, bitset_not_merge):
77767         (bitset_mask, re_string_allocate, re_string_construct):
77768         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
77769         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
77770         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
77771         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
77772         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
77773         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
77774         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
77775         (re_acquire_state_context):
77776         Remove unnecessary forward decls.
77777         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
77778         Put __attribute at function definition,
77779         now that the function decl has been removed.
77780         * lib/regex_internal.c (re_string_peek_byte_case):
77781         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
77782         Likewise.
77783
77784 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
77785
77786         * m4/regex.m4: Add AC_PREREQ(2.50).
77787         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
77788
77789 2005-08-25  Simon Josefsson  <jas@extundo.com>
77790
77791         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
77792         __fsetlocking.
77793
77794 2005-08-25  Simon Josefsson  <jas@extundo.com>
77795
77796         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
77797         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
77798         GLIBC specific code.
77799
77800 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77801
77802         Make regex safe for g++.  This fixes one real bug (an "err"
77803         that should have been "*err").  g++ problem reported by
77804         Sam Steingold.
77805         * lib/regex_internal.h (re_calloc): New macro, consistent with
77806         re_malloc etc.  All callers of calloc changed to use re_calloc.
77807         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
77808         not int.  All callers changed.
77809         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
77810         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
77811         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
77812         (find_recover_state): Change "err" to "*err"; this fixes what
77813         appears to be a real bug.
77814         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
77815         versus int.
77816
77817 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77818
77819         * modules/regex (Depends-on): Add malloc, since the code
77820         assumes that !malloc(0) means failure.
77821
77822 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77823
77824         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
77825
77826         alloca modernization/simplification for regex.
77827         * lib/regex.c: Remove portability cruft for alloca.  This no longer
77828         needs to be at the start of the file, and can be moved into
77829         regex_internal.h and simplified.
77830         * lib/regex_internal.h: Include <alloca.h>.
77831         (__libc_use_alloca) [!defined _LIBC]: New macro.
77832         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
77833         now works outside glibc.
77834
77835 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77836
77837         * config/srclist.txt: Add glibc bugs 1241, 1245.
77838
77839 2005-08-25  Jim Meyering  <jim@meyering.net>
77840
77841         * lib/open-safer.c: Include <config.h>.
77842         Otherwise, we'd lose LARGEFILE support in any file using
77843         e.g. "fcntl--.h"
77844
77845 2005-08-25  Bruno Haible  <bruno@clisp.org>
77846
77847         * m4/minmax.m4: Require autoconf 2.52.
77848         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
77849         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
77850         alternatives of translit over the alphabet.
77851         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
77852
77853 2005-08-24  Simon Josefsson  <jas@extundo.com>
77854
77855         * tests/test-getpass.c: New file.
77856
77857 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
77858
77859         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
77860         for GNU regex features.
77861
77862 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
77863
77864         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
77865         * lib/regex.h (regerror): Likewise.
77866
77867         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
77868         requires this.  (The code never needed it.)
77869
77870         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
77871         All uses of recently-renamed identifiers changed to use the new,
77872         POSIX-compliant names.  The code will build and run just fine
77873         without these changes, but it's better to eat our own dog food
77874         and use the standard-conforming names.
77875
77876         * lib/regex.h: Fix a multitude of POSIX name space violations.
77877         These changes have an effect only for programs that define
77878         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
77879         do not change anything for programs compiled in the normal way.
77880         Also, there is no effect on the ABI.
77881
77882         (_REGEX_SOURCE): New macro.
77883         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
77884         defined and _GNU_SOURCE is not; this fixes a name space violation.
77885
77886         Rename the following macros to obey POSIX requirements.
77887         The old names are still visible as macros if _REGEX_SOURCE is defined.
77888         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
77889         RE_BACKSLASH_ESCAPE_IN_LISTS.
77890         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
77891         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
77892         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
77893         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
77894         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
77895         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
77896         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
77897         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
77898         (REG_INTERVALS): renamed from RE_INTERVALS.
77899         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
77900         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
77901         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
77902         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
77903         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
77904         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
77905         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
77906         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
77907         RE_UNMATCHED_RIGHT_PAREN_ORD.
77908         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
77909         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
77910         (REG_DEBUG): renamed from RE_DEBUG.
77911         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
77912         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
77913         unusual, since we can't clash with the POSIX REG_ICASE.
77914         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
77915         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
77916         (REG_NO_SUB): renamed from RE_NO_SUB.
77917         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
77918         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
77919         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
77920         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
77921         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
77922         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
77923         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
77924         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
77925         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
77926         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
77927         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
77928         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
77929         RE_SYNTAX_POSIX_MINIMAL_BASIC.
77930         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
77931         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
77932         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
77933         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
77934         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
77935         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
77936         (REG_FIXED): Renamed from REGS_FIXED.
77937         (REG_NREGS): Renamed from RE_NREGS.
77938
77939         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
77940         of other REG_* macros, since POSIX says the user is allowed to
77941         #undef these macros selectively.
77942
77943         (reg_errcode_t): Update comment stating what other tables need
77944         to be consistent.
77945
77946         Rename the following enum values to obey POSIX requirements.
77947         The old names are still visible as macros.
77948         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
77949         is not defined, since GNU is supposed to be a superset of POSIX as
77950         much as possible, and since we want reg_errcode_t to be a signed
77951         type for implementation consistency.
77952         (_REG_NOERROR): Renamed from REG_NOERROR.
77953         (_REG_NOMATCH): Renamed from REG_NOMATCH.
77954         (_REG_BADPAT): Renamed from REG_BADPAT.
77955         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
77956         (_REG_ECTYPE): Renamed from REG_ECTYPE.
77957         (_REG_EESCAPE): Renamed from REG_EESCAPE.
77958         (_REG_ESUBREG): Renamed from REG_ESUBREG.
77959         (_REG_EBRACK): Renamed from REG_EBRACK.
77960         (_REG_EPAREN): Renamed from REG_EPAREN.
77961         (_REG_EBRACE): Renamed from REG_EBRACE.
77962         (_REG_BADBR): Renamed from REG_BADBR.
77963         (_REG_ERANGE): Renamed from REG_ERANGE.
77964         (_REG_ESPACE): Renamed from REG_ESPACE.
77965         (_REG_BADRPT): Renamed from REG_BADRPT.
77966         (_REG_EEND): Renamed from REG_EEND.
77967         (_REG_ESIZE): Renamed from REG_ESIZE.
77968         (_REG_ERPAREN): Renamed from REG_ERPAREN.
77969         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
77970         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
77971         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
77972         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
77973
77974         (_REG_RE_NAME, _REG_RM_NAME): New macros.
77975         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
77976         changed.  But support the old name if the new one is not defined
77977         and if _REGEX_SOURCE.
77978
77979         Change the following member names in struct re_pattern_buffer.
77980         The old names are still supported if !_REGEX_SOURCE.
77981         The new names are always supported, regardless of _REGEX_SOURCE.
77982         (re_buffer): Renamed from buffer.
77983         (re_allocated): Renamed from allocated.
77984         (re_used): Renamed from used.
77985         (re_syntax): Renamed from syntax.
77986         (re_fastmap): Renamed from fastmap.
77987         (re_translate): Renamed from translate.
77988         (re_can_be_null): Renamed from can_be_null.
77989         (re_regs_allocated): Renamed from regs_allocated.
77990         (re_fastmap_accurate): Renamed from fastmap_accurate.
77991         (re_no_sub): Renamed from no_sub.
77992         (re_not_bol): Renamed from not_bol.
77993         (re_not_eol): Renamed from not_eol.
77994         (re_newline_anchor): Renamed from newline_anchor.
77995
77996         Change the following member names in struct re_registers.
77997         The old names are still supported if !_REGEX_SOURCE.
77998         The new names are always supported, regardless of _REGEX_SOURCE.
77999         (rm_num_regs): Renamed from num_regs.
78000         (rm_start): Renamed from start.
78001         (rm_end): Renamed from end.
78002
78003         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
78004         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
78005         Prepend __ to parameter names.
78006
78007         Undo yesterday's changes.
78008
78009 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78010
78011         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
78012         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
78013         lib/regex.c.
78014
78015 2005-08-24  Jim Meyering  <jim@meyering.net>
78016
78017         Sync from coreutils.
78018         * m4/fcntl-safer.m4: New file.
78019
78020         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
78021         and object files for this module.
78022
78023 2005-08-24  Jim Meyering  <jim@meyering.net>
78024
78025         Sync from coreutils.
78026         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
78027
78028 2005-08-24  Jim Meyering  <jim@meyering.net>
78029
78030         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
78031         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
78032
78033 2005-08-24  Jim Meyering  <jim@meyering.net>
78034
78035         * modules/fcntl-safer: New module.
78036         * modules/fts (Depends-on): Add fcntl-safer.
78037         * MODULES.html.sh (File descriptor based Input/Output):
78038         Add fcntl-safer.
78039
78040 2005-08-24  Bruno Haible  <bruno@clisp.org>
78041
78042         Support for unit test modules.
78043         * modules/README: Mention tests modules.
78044         * modules/TEMPLATE-TESTS: New file.
78045         * gnulib-tool: New options --extract-tests-module, --with-tests and
78046         --tests-base (unused for the moment).
78047         (testsbase, inctests): New variables.
78048         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
78049         (func_verify_module): Exclude TEMPLATE-TESTS.
78050         (func_verify_nontests_module, func_verify_tests_module): New functions.
78051         (func_get_dependencies): Add implicit dependency for tests modules.
78052         (func_get_tests_module): New function.
78053         (func_modules_transitive_closure): When --with-tests was specified,
78054         include the unit tests as well, unless explicitly avoided.
78055         (func_emit_lib_Makefile_am): Ignore the tests modules here.
78056         (func_emit_tests_Makefile_am): New function.
78057         (func_create_testdir): When --with-tests was specified, emit a
78058         tests/ directory.
78059         * MODULES.html.sh (Future developments): Update.
78060
78061 2005-08-24  Bruno Haible  <bruno@clisp.org>
78062
78063         * modules/tls-tests: New file.
78064         * tests/test-tls.c: New file, from GNU gettext.
78065
78066 2005-08-24  Bruno Haible  <bruno@clisp.org>
78067
78068         * modules/lock-tests: New file.
78069         * tests/test-lock.c: New file, from GNU gettext.
78070
78071 2005-08-24  Bruno Haible  <bruno@clisp.org>
78072
78073         * lib/lock.h: Add multiple inclusion guard.
78074         * lib/tls.h: Add multiple inclusion guard.
78075
78076 2005-08-24  Bruno Haible  <bruno@clisp.org>
78077
78078         * gnulib-tool: Add support for the --aux-dir option to
78079         --create-testdir, --create-megatestdir, --test, --megatest.
78080         (func_create_testdir, func_create_megatestdir): Optionally emit a
78081         AC_CONFIG_AUX_DIR directive.
78082         (create-testdir, create-megatestdir, test, megatest): Provide a
78083         default value for $auxdir.
78084
78085 2005-08-24  Bruno Haible  <bruno@clisp.org>
78086
78087         * gnulib-tool (import): Use compound statement instead of subshell
78088         where possible.
78089
78090 2005-08-24  Bruno Haible  <bruno@clisp.org>
78091
78092         * gnulib-tool (import): Change --aux-dir default to "build-aux".
78093
78094 2005-08-24  Bruno Haible  <bruno@clisp.org>
78095
78096         * gnulib-tool (func_version): Update.
78097
78098 2005-08-24  Bruno Haible  <bruno@clisp.org>
78099
78100         * gnulib-tool (func_import, func_create_testdir,
78101         func_create_megatestdir): Quote all autoconf macro arguments.
78102
78103 2005-08-24  Bruno Haible  <bruno@clisp.org>
78104
78105         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
78106         option --force, because --force causes the aclocal.m4 of each
78107         subdirectory to be newer than the corresponding config.h.in.
78108
78109 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78110
78111         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
78112         All contents moved to gl_REGEX.
78113         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
78114         assume that it does.
78115
78116 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78117
78118         * lib/regex.h (REG_NOSYS)
78119         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
78120         Define, since POSIX requires it as of 2001.
78121         (_REG_ENOSYS)
78122         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
78123         New private symbol, used to keep the enum signed in all cases.
78124         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
78125         Youngman in
78126         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
78127
78128         * lib/regex_internal.c (re_string_skip_chars, register_state):
78129         (calc_state_hash):
78130         Remove forward decls; no longer needed now that we use prototypes.
78131         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
78132         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
78133         (clean_state_log_if_needed): Likewise.
78134
78135 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78136
78137         * config/srclist.txt: Add glibc bugs 1231-1233.
78138
78139 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78140
78141         Fix problems reported by Sam Steingold in
78142         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
78143         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
78144         assumed that reg_errcode_t is a signed type, which is not
78145         necessarily true if _XOPEN_SOURCE is not defined.
78146         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
78147         since some compilers warn about it otherwise.
78148
78149 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78150
78151         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
78152         (init_word_char, create_initial_state, duplicate_node_closure):
78153         (fetch_token, peek_token_bracket, build_range_exp):
78154         (build_collating_symbol): Remove forward decls; no longer needed
78155         now that we use prototypes.
78156
78157         * lib/regcomp.c:
78158         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
78159         (re_compile_fastmap_iter, regcomp, regerror, regfree):
78160         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
78161         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
78162         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
78163         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
78164         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
78165         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
78166         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
78167         (build_range_exp, build_collating_symbol, parse_bracket_exp):
78168         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
78169         (build_charclass, build_charclass_op, fetch_number, create_tree):
78170         (create_token_tree, mark_opt_subexp, duplicate_tree):
78171         Use prototypes rather than old-style definitions.
78172
78173         * lib/regex_internal.c:
78174         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
78175         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
78176         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
78177         (re_string_reconstruct, re_string_peek_byte_case):
78178         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
78179         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
78180         (re_node_set_init_copy, re_node_set_add_intersect):
78181         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
78182         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
78183         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
78184         (re_acquire_state, re_acquire_state_context, register_state):
78185         (create_ci_newstate, create_cd_newstate, free_state):
78186         Likewise.
78187         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
78188         re_search_2):
78189         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
78190         (re_search_internal, prune_impossible_nodes):
78191         (acquire_init_state_context, check_matching, static):
78192         (check_halt_node_context, check_halt_state_context, proceed_next_node):
78193         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
78194         (update_regs, sift_states_backward, build_sifted_states):
78195         (clean_state_log_if_needed, merge_state_array):
78196         (update_cur_sifted_state, add_epsilon_src_nodes):
78197         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
78198         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
78199         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
78200         (find_recover_state, check_subexp_matching_top, transit_state_mb):
78201         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
78202         (check_arrival, check_arrival_add_next_nodes):
78203         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
78204         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
78205         (check_node_accept_bytes, check_node_accept, extend_buffers):
78206         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
78207         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
78208         (sift_ctx_init):
78209         Likewise.
78210
78211         * lib/regex_internal.h:
78212         (re_string_allocate, re_string_construct, re_string_reconstruct):
78213         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
78214         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
78215         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
78216         (re_string_context_at, re_string_peek_byte_case):
78217         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
78218         is defined, since we now use prototypes always.
78219
78220         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
78221         C89 or better.  All uses removed.
78222
78223 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78224
78225         * config/srclist.txt: Add glibc bugs 1220-1227.
78226
78227 2005-08-20  Jim Meyering  <jim@meyering.net>
78228
78229         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
78230         of unused local, dfa.
78231
78232 2005-08-20  Bruno Haible  <bruno@clisp.org>
78233
78234         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
78235
78236 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78237
78238         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
78239         (re_node_set_insert_last, re_dfa_add_node):
78240         Rename local variables to avoid GCC shadowing warnings.
78241
78242 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78243
78244         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
78245         [defined lint]: Suppress bogus uninitialized-variable warnings.
78246
78247         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
78248         and let the caller return REG_ESPACE if out of space.  This
78249         removes an uninitialied-variable warning with GCC 4.0.1, and also
78250         avoids taking the address of a local variable.  All callers
78251         changed.
78252
78253 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78254
78255         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
78256         $LIBCSRC/posix/regexec.c.
78257         Add glibc bug 1217 for regcomp.c.
78258
78259 2005-08-19  Jim Meyering  <jim@meyering.net>
78260
78261         * lib/regexec.c (proceed_next_node): Redo local variables to
78262         avoid GCC shadowing warnings.
78263
78264 2005-08-18  Bruno Haible  <bruno@clisp.org>
78265
78266         * lib/strstr.c (strstr): Fix return value in multibyte case.
78267         * lib/strcasestr.c (strcasestr): Likewise.
78268
78269 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
78270
78271         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
78272
78273 2005-08-17  Jim Meyering  <jim@meyering.net>
78274
78275         Make the %s format (seconds since the epoch) work for a negative
78276         number and when used with a zero-padded field width, e.g. %015s.
78277
78278         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
78279         label so that it precedes the code to set `digits'.  Otherwise,
78280         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
78281         print `00-22'.  Now, it prints `-0022', as it should.
78282
78283 2005-08-17  Bruno Haible  <bruno@clisp.org>
78284
78285         * modules/strstr (Files): Add m4/mbrtowc.m4.
78286         (Depends-on): Add mbuiter.
78287
78288 2005-08-17  Bruno Haible  <bruno@clisp.org>
78289
78290         * modules/strcasestr: New file.
78291         * MODULES.html.sh (String handling, based on ANSI C 89): Add
78292         strcasestr.
78293
78294 2005-08-17  Bruno Haible  <bruno@clisp.org>
78295
78296         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
78297
78298 2005-08-17  Bruno Haible  <bruno@clisp.org>
78299
78300         * modules/mbuiter: New file.
78301         * MODULES.html.sh (Extended multibyte and wide character utilities):
78302         Add mbuiter.
78303
78304 2005-08-17  Bruno Haible  <bruno@clisp.org>
78305
78306         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
78307         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
78308
78309 2005-08-17  Bruno Haible  <bruno@clisp.org>
78310
78311         * m4/strcasestr.m4: New file.
78312
78313 2005-08-17  Bruno Haible  <bruno@clisp.org>
78314
78315         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
78316         * lib/strstr.c: Completely rewritten, with multibyte locale support.
78317
78318 2005-08-17  Bruno Haible  <bruno@clisp.org>
78319
78320         * lib/strcasestr.h: New file.
78321         * lib/strcasestr.c: New file.
78322
78323 2005-08-17  Bruno Haible  <bruno@clisp.org>
78324
78325         * lib/strcasecmp.c: Use mbuiter.h.
78326
78327 2005-08-17  Bruno Haible  <bruno@clisp.org>
78328
78329         * lib/mbuiter.h: New file.
78330
78331 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
78332
78333         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
78334         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
78335         and gl_GETOPT are both invoked via different paths (as happens
78336         with GNU tar CVS because it uses both argp and getopt), the former
78337         wins.
78338
78339 2005-08-16  Bruno Haible  <bruno@clisp.org>
78340
78341         * modules/tls: New file.
78342         * MODULES.html.sh (Multithreading): Add tls.
78343
78344 2005-08-16  Bruno Haible  <bruno@clisp.org>
78345
78346         * modules/strnlen1: New file.
78347         * MODULES.html.sh (String handling): Add strnlen1.
78348
78349 2005-08-16  Bruno Haible  <bruno@clisp.org>
78350
78351         * modules/strcase (Files): Add m4/mbrtowc.m4.
78352         (Depends-on): Add strnlen1, mbchar.
78353
78354 2005-08-16  Bruno Haible  <bruno@clisp.org>
78355
78356         * modules/mbiter: New file.
78357         * MODULES.html.sh (Extended multibyte and wide character utilities):
78358         Add mbiter.
78359
78360 2005-08-16  Bruno Haible  <bruno@clisp.org>
78361
78362         * modules/mbfile: New file.
78363         * MODULES.html.sh (Extended multibyte and wide character utilities):
78364         Add mbfile.
78365
78366 2005-08-16  Bruno Haible  <bruno@clisp.org>
78367
78368         * modules/mbchar: New file.
78369         * MODULES.html.sh (Extended multibyte and wide character utilities):
78370         New section.
78371
78372 2005-08-16  Bruno Haible  <bruno@clisp.org>
78373
78374         * m4/tls.m4: New file, from GNU gettext.
78375
78376 2005-08-16  Bruno Haible  <bruno@clisp.org>
78377
78378         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
78379         always.
78380         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
78381
78382 2005-08-16  Bruno Haible  <bruno@clisp.org>
78383
78384         * m4/mbiter.m4: New file.
78385
78386 2005-08-16  Bruno Haible  <bruno@clisp.org>
78387
78388         * m4/mbfile.m4: New file.
78389
78390 2005-08-16  Bruno Haible  <bruno@clisp.org>
78391
78392         * m4/mbchar.m4: New file.
78393
78394 2005-08-16  Bruno Haible  <bruno@clisp.org>
78395
78396         * lib/tls.h: New file, from GNU gettext.
78397         * lib/tls.c: New file, from GNU gettext.
78398
78399 2005-08-16  Bruno Haible  <bruno@clisp.org>
78400
78401         * lib/strnlen1.h: New file.
78402         * lib/strnlen1.c: New file.
78403
78404 2005-08-16  Bruno Haible  <bruno@clisp.org>
78405
78406         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
78407         (mbi_init): Update.
78408         (mbi_avail, mbi_advance): Let the iteration end before the terminating
78409         NUL byte, not after it.
78410
78411 2005-08-16  Bruno Haible  <bruno@clisp.org>
78412
78413         * lib/strcase.h (strcasecmp): Add note in comments.
78414         * lib/strncasecmp.c: Use code from strcasecmp.c.
78415         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
78416         (strcasecmp): Work correctly in multibyte locales.
78417
78418 2005-08-16  Bruno Haible  <bruno@clisp.org>
78419
78420         * lib/mbiter.h: New file.
78421
78422 2005-08-16  Bruno Haible  <bruno@clisp.org>
78423
78424         * lib/mbfile.h: New file.
78425
78426 2005-08-16  Bruno Haible  <bruno@clisp.org>
78427
78428         * lib/mbchar.h: New file.
78429         * lib/mbchar.c: New file.
78430
78431 2005-08-16  Bruno Haible  <bruno@clisp.org>
78432
78433         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
78434         the valid ones. Makes the comparison operations transitive:
78435         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
78436         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
78437
78438 2005-08-15  Simon Josefsson  <jas@extundo.com>
78439
78440         * modules/ssize_t (License): Change to 'unlimited'.
78441
78442         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
78443
78444 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78445
78446         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
78447         Add comments for each pending glibc patch.
78448
78449 2005-08-15  Bruno Haible  <bruno@clisp.org>
78450
78451         * lib/regex.h (__restrict_arr): Don't define to __restrict if
78452         __cplusplus is defined.
78453
78454 2005-08-14  Jim Meyering  <jim@meyering.net>
78455
78456         Sync from coreutils.
78457
78458         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
78459         Use the hash-table-based cycle-detection code not just when
78460         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
78461         Reported by James Youngman in
78462         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
78463         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
78464         FTS_TIGHT_CYCLE_CHECK.
78465         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
78466         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
78467         once again.
78468         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
78469         * lib/fts.c (fd_safer): Remove decl.
78470         Include fcntl--.h rather than unistd-safer.h
78471         (fts_safe_changedir): Don't call fd_safer; no longer needed
78472         now that we include fcntl--.h.
78473
78474 2005-08-12  Simon Josefsson  <jas@extundo.com>
78475
78476         * modules/getndelim2: Use ssize_t module.
78477         * modules/getnline: Likewise.
78478         * modules/safe-read: Likewise.
78479         * modules/xreadlink: Likewise.
78480
78481         * modules/ssize_t: New file.
78482
78483 2005-08-12  Simon Josefsson  <jas@extundo.com>
78484
78485         * m4/readline.m4: Look for termcap, curses or ncurses if required.
78486
78487 2005-08-12  Simon Josefsson  <jas@extundo.com>
78488
78489         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78490         ssize_t.
78491
78492 2005-08-12  Simon Josefsson  <jas@extundo.com>
78493
78494         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
78495         readline, getdelim and check_version.
78496         (Support for systems lacking ISO C 99: Sizes of integer types):
78497         Add size_max.
78498
78499 2005-08-12  Bruno Haible  <bruno@clisp.org>
78500
78501         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
78502
78503 2005-08-11  Simon Josefsson  <jas@extundo.com>
78504
78505         * modules/readline: New file.
78506
78507         * modules/strnlen (Files): Add strnlen.h.
78508
78509 2005-08-11  Simon Josefsson  <jas@extundo.com>
78510
78511         * m4/readline.m4: New file.
78512
78513 2005-08-11  Simon Josefsson  <jas@extundo.com>
78514
78515         * lib/readline.h, readline.c: New file.
78516
78517 2005-08-11  Simon Josefsson  <jas@extundo.com>
78518
78519         * doc/gnulib.texi (Initial import, Finishing touches): Mention
78520         gl_AVOID.
78521
78522 2005-08-11  Bruno Haible  <bruno@clisp.org>
78523
78524         * lib/strnlen.h (strnlen): Change parameter name to match comment.
78525
78526 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
78527
78528         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
78529
78530 2005-08-10  Simon Josefsson  <jas@extundo.com>
78531
78532         * tests/test-iconvme.c: New file.
78533
78534 2005-08-10  Simon Josefsson  <jas@extundo.com>
78535
78536         * m4/strnlen.m4: New file.
78537
78538         * m4/strndup.m4: Don't check for strnlen declaration, done in
78539         strnlen.m4.
78540
78541 2005-08-10  Simon Josefsson  <jas@extundo.com>
78542
78543         * lib/strndup.c: Use strnlen.h.
78544
78545         * lib/strnlen.h: New file.
78546
78547 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78548
78549         * README: Typos.
78550
78551 2005-08-02  Simon Josefsson  <jas@extundo.com>
78552
78553         * modules/readline: New file.
78554
78555 2005-08-02  Simon Josefsson  <jas@extundo.com>
78556
78557         * modules/getdelim: New file.
78558
78559         * modules/getline: Rewrite, don't use getndelim2.
78560
78561 2005-08-02  Simon Josefsson  <jas@extundo.com>
78562
78563         * m4/getline.m4: Separate out getdelim stuff into separate module.
78564
78565         * m4/getdelim.m4: New file.
78566
78567 2005-08-02  Simon Josefsson  <jas@extundo.com>
78568
78569         * lib/getline.h, getline.c: Rewrite.
78570
78571         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
78572
78573 2005-07-31  Bruno Haible  <bruno@clisp.org>
78574
78575         * lib/lock.h (gl_lock_initializer): New macro.
78576         (gl_lock_define_initialized): Use it.
78577         (gl_rwlock_initializer): New macro.
78578         (gl_rwlock_define_initialized): Use it.
78579         (gl_recursive_lock_initializer): New macro.
78580         (gl_recursive_lock_define_initialized): Use it.
78581
78582 2005-07-30  Karl Berry  <karl@gnu.org>
78583
78584         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
78585         Report from Ben Pfaff, regarding getopt.
78586
78587 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
78588
78589         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
78590         normal way.
78591         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
78592         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
78593         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
78594         (gl_GETOPT): Use the new macros.  Most of the implementation
78595         is moved to the new macros.  This is for programs like Emacs
78596         that don't want all the functionality of gl_GETOPT.
78597
78598 2005-07-26  Bruno Haible  <bruno@clisp.org>
78599
78600         * m4/lock.m4: Update from GNU gettext.
78601
78602 2005-07-26  Bruno Haible  <bruno@clisp.org>
78603
78604         * lib/lock.h: Update from GNU gettext.
78605         * lib/lock.c: Update from GNU gettext.
78606
78607 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
78608
78609         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
78610         obsolescent AC_TRY_RUN.  Include the default includes files, for
78611         'exit'.
78612
78613 2005-07-24  Bruno Haible  <bruno@clisp.org>
78614
78615         * modules/visibility: New file.
78616         * MODULES.html.sh (Misc): Add visibility.
78617
78618 2005-07-24  Bruno Haible  <bruno@clisp.org>
78619
78620         * m4/visibility.m4: New file.
78621
78622 2005-07-24  Bruno Haible  <bruno@clisp.org>
78623
78624         * doc/visibility.texi: New file.
78625
78626 2005-07-22  Bruno Haible  <bruno@clisp.org>
78627
78628         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
78629         $(ALLOCA_H), redundant through BUILT_SOURCES.
78630         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
78631         redundant through BUILT_SOURCES.
78632         * modules/byteswap (Makefile.am): Remove explicit dependency on
78633         $(BYTESWAP_H), redundant through BUILT_SOURCES.
78634         * modules/fnmatch (Makefile.am): Remove explicit dependency on
78635         $(FNMATCH_H), redundant through BUILT_SOURCES.
78636         * modules/getopt (Makefile.am): Remove explicit dependency on
78637         $(GETOPT_H), redundant through BUILT_SOURCES.
78638         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
78639         redundant through BUILT_SOURCES.
78640         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
78641         redundant through BUILT_SOURCES.
78642         * modules/stdbool (Makefile.am): Remove explicit dependency on
78643         $(STDBOOL_H), redundant through BUILT_SOURCES.
78644         * modules/stdint (Makefile.am): Remove explicit dependency on
78645         $(STDINT_H), redundant through BUILT_SOURCES.
78646         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
78647         Remove explicit dependency on $(SYSEXITS_H).
78648         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
78649
78650 2005-07-18  Simon Josefsson  <jas@extundo.com>
78651
78652         * lib/check-version.c (check_version): Accept identical versions too.
78653
78654 2005-07-18  Bruno Haible  <bruno@clisp.org>
78655
78656         * modules/lock: New file.
78657         * MODULES.html.sh (Multithreading): New section.
78658
78659 2005-07-18  Bruno Haible  <bruno@clisp.org>
78660
78661         * m4/lock.m4: New file, from GNU gettext.
78662
78663 2005-07-18  Bruno Haible  <bruno@clisp.org>
78664
78665         * lib/lock.h: New file, from GNU gettext.
78666         * lib/lock.c: New file, from GNU gettext.
78667
78668 2005-07-18  Bruno Haible  <bruno@clisp.org>
78669
78670         * lib/lock.h (gl_once_t): New type.
78671         (gl_once_define, gl_once): New macros.
78672         * lib/lock.c (fresh_once): New variable.
78673         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
78674         functions.
78675
78676 2005-07-16  Simon Josefsson  <jas@extundo.com>
78677
78678         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
78679         workaround, suggested by Bruno.
78680
78681 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
78682
78683         * modules/xalloc (Depends-on): Add xalloc-die.
78684         * modules/xvasprintf (Depends-on): Add xalloc-die.
78685
78686 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
78687
78688         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
78689         with a minor change.
78690
78691 2005-07-15  Bruno Haible  <bruno@clisp.org>
78692
78693         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
78694         When using lib/poll.c, define poll as rpl_poll.
78695
78696 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
78697
78698         * modules/argp (Depends-on): Remove unlocked-io.
78699
78700 2005-07-14  Derek Price  <derek@ximbiot.com>
78701
78702         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
78703         for glob symlink bug.
78704
78705 2005-07-14  Bruno Haible  <bruno@clisp.org>
78706
78707         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
78708         Instead, test for *_unlocked function declarations directly.
78709
78710 2005-07-11  Simon Josefsson  <jas@extundo.com>
78711
78712         * modules/size_max: New file.
78713
78714         * modules/xsize: Depend on size_max module for size_max.m4.
78715
78716 2005-07-11  Simon Josefsson  <jas@extundo.com>
78717
78718         * lib/size_max.h: New file.
78719
78720 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
78721
78722         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
78723         copyright symbol and the year.
78724         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
78725         (version_etc_va): Use parameterized copyright notice.
78726         Reword to conform to the current GNU coding standards.
78727
78728 2005-07-11  Karl Berry  <karl@gnu.org>
78729
78730         * doc/gnulib.texi (Quoting): new node.
78731         (Initial import): more info, from Patrice.
78732
78733 2005-07-11  Bruno Haible  <bruno@clisp.org>
78734
78735         * gnulib-tool (func_usage): Document option --avoid.
78736         (Command line options): Handle --avoid.
78737         (func_acceptable): New function.
78738         (func_modules_transitive_closure): Use it.
78739
78740 2005-07-11  Bruno Haible  <bruno@clisp.org>
78741
78742         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
78743         Reported by Jim Meyering.
78744
78745 2005-07-10  Bruno Haible  <bruno@clisp.org>
78746
78747         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
78748         Needed when size_t is smaller than 'unsigned int'.
78749         Reported by Paul Eggert.
78750
78751 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78752
78753         * modules/argp (Depends-on): Add unlocked-io
78754
78755 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78756
78757         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
78758         block of defines.
78759
78760 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
78761
78762         * config/srclist.txt: Comment out regcomp.c, since we have a porting
78763         fix now.
78764
78765 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
78766         and Paul Eggert  <eggert@cs.ucla.edu>
78767
78768         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
78769         in wint_t, not wchar_t.  Remove now-unnecessary cast.
78770
78771 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
78772
78773         * modules/regex (Files): Add lib/regex_internal.c,
78774         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
78775         (Depends-on): Add extensions.
78776         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
78777
78778 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
78779
78780         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
78781         pathconf.
78782         * m4/same.m4 (gl_SAME): Likewise.
78783         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
78784
78785         * m4/regex.m4: Adjust to new libc regex implementation.
78786         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
78787         all the .c and .h parts of (the new) regex.
78788         Quote the m4 stuff better.
78789         Check for RE_ICASE bug of old gnulib.
78790         Check for REG_STARTEND of recent libc.
78791         Rename local variables from jm_* to gl_*.
78792         Quote operand of "test -f".
78793         Say "recent enough" version of libc, not "version 2".
78794         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
78795         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
78796         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
78797         Remove check for btowc, isascii.
78798         Require AM_LANGINFO_CODESET.
78799
78800 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
78801
78802         * lib/regex.c, regex.h: Sync from libc.
78803         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
78804         * lib/regexec.c:
78805         New files, synced from libc, except that regex_internal.h
78806         currently has a small porting fix.
78807
78808 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
78809
78810         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
78811         regex_internal.c, regexec.c.
78812         Add regex_internal.h too, but as a comment, since the libc version
78813         is currently broken in gnulib mode.
78814
78815 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78816
78817         Support programs like Emacs that use gnulib but not gettext.
78818         * MODULES.html.sh (Internationalization functions): Add gettext-h.
78819         * modules/gettext-h: New file.
78820         * modules/gettext (Files): Remove lib/gettext.h.
78821         (Depends-on): Add gettext-h.
78822         (Makefile.am): Remove lib_SOURCES.
78823         * modules/argmatch, modules/c-stack, modules/closeout:
78824         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
78825         * modules/execute, modules/file-type, modules/getaddrinfo:
78826         * modules/getopt, modules/human, modules/javacomp:
78827         * modules/javaexec, modules/mkdir-p, modules/obstack:
78828         * modules/openat, modules/pagealign_alloc, modules/pipe:
78829         * modules/quotearg, modules/regex, modules/rpmatch:
78830         * modules/unicodeio, modules/userspec, modules/version-etc:
78831         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
78832         * modules/xsetenv:
78833         Depend on gettext-h, not gettext.
78834
78835 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
78836
78837         * gnulib-tool (func_import): Add support for 'public domain' license.
78838         * modules/alloca, modules/atexit, modules/memmove:
78839         Now public domain, not GPL.
78840         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
78841         * modules/realloc, modules/strerror, modules/strtod:
78842         Now LGPL, not GPL.
78843
78844 2005-07-05  Bruno Haible  <bruno@clisp.org>
78845
78846         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
78847         autoconf CVS. Needed for mingw.
78848
78849 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78850
78851         Remove the dependency of the strftime module on the tzset module.
78852         * modules/strftime (Depends-on): Remove dependency on tzset.
78853
78854 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78855
78856         Remove the dependency of the strftime module on the tzset module.
78857         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
78858         gl_FUNC_TZSET_CLOBBER.
78859
78860 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78861
78862         Remove the dependency of the strftime module on the tzset module.
78863         * lib/strftime.c (my_strftime)
78864         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
78865         Copy the input structure, to work around some of the bug with
78866         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
78867         Solaris releases, you should also use the tzset module, but we won't
78868         require it as a dependency any more since we don't want LGPLed code
78869         to depend on GPLed code.
78870
78871 2005-07-02  Jim Meyering  <jim@meyering.net>
78872
78873         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
78874         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
78875         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
78876         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
78877
78878 2005-07-02  Jim Meyering  <jim@meyering.net>
78879
78880         * lib/backupfile.c (backup_args): Change a `0' to NULL.
78881
78882 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78883
78884         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
78885         declares only 'struct timespec;' (!).
78886
78887 2005-07-01  Jim Meyering  <jim@meyering.net>
78888
78889         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
78890         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
78891         * lib/save-cwd.c, tempname.c:
78892         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
78893         and don't include <sys/file.h>).
78894
78895 2005-06-29  Jim Meyering  <jim@meyering.net>
78896
78897         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
78898         type name.  Use the variable name instead.
78899         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
78900         Likewise.
78901
78902 2005-06-28  Simon Josefsson  <jas@extundo.com>
78903
78904         * modules/check-version (Files): Add check-version.m4.
78905
78906 2005-06-28  Simon Josefsson  <jas@extundo.com>
78907
78908         * m4/check-version.m4: New file, suggested by Jim Meyering
78909         <jim@meyering.net>.
78910
78911 2005-06-28  Simon Josefsson  <jas@extundo.com>
78912
78913         * lib/check-version.h, lib/check-version.c: New files.
78914
78915 2005-06-28  Simon Josefsson  <jas@extundo.com>
78916
78917         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
78918         collision with global variable.  Better indentation.  Don't
78919         increment buffer pointer beyond buffer end.  Based on comments
78920         from Paul Eggert <eggert@cs.ucla.edu>.
78921
78922         * lib/base64.h: Indent.
78923
78924 2005-06-28  Simon Josefsson  <jas@extundo.com>
78925
78926         * doc/gnulib.texi (Library version handling): New section.
78927
78928 2005-06-28  Jim Meyering  <jim@meyering.net>
78929
78930         * check-module (find_included_lib_files): Hard-code another
78931         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
78932         but modules/fts-lgpl (correctly) does not list those files.
78933
78934         * modules/canonicalize (Files): Add lib/pathmax.h.
78935
78936 2005-06-25  Simon Josefsson  <jas@extundo.com>
78937
78938         * modules/check-version: New file.
78939
78940 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
78941
78942         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
78943         initializer of struct addrinfo, as an indication that we don't
78944         care how many members the structure has.
78945
78946 2005-06-24  Derek Price  <derek@ximbiot.com>
78947         and Bruno Haible  <bruno@clisp.org>
78948
78949         Remove stat module & update lstat.
78950         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
78951         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
78952         * m4/stat.m4: Remove this file.
78953
78954 2005-06-24  Derek Price  <derek@ximbiot.com>
78955         and Bruno Haible  <bruno@clisp.org>
78956
78957         Remove stat module & update lstat.
78958         * lib/stat.c: Remove this file...
78959         (slash_aware_lstat): ...moving this content and its support...
78960         * lib/lstat.c (rpl_lstat): ...into here.
78961         * lib/lstat.h: New file.
78962
78963 2005-06-24  Derek Price  <derek@ximbiot.com>
78964         and Bruno Haible  <bruno@clisp.org>
78965
78966         Remove stat module & update lstat.
78967         * config/srclist.txt (libc sources): Remove stat.
78968
78969 2005-06-24  Derek Price  <derek@ximbiot.com>
78970         and Bruno Haible  <bruno@clisp.org>
78971
78972         Remove stat module & update lstat.
78973         * MODULES.html.sh (stat): Remove.
78974         * MODULES.html: Regenerated.
78975         * modules/lstat (Description): Correct function name.
78976         (Files): Add "lstat.h".
78977         (Depends-on): Remove stat, add xalloc, stat-macros.
78978         * modules/stat: Remove this file.
78979         (Include): Add "lstat.h", remove <sys/stat.h>.
78980
78981 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
78982
78983         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
78984         (ranged_convert): Don't save conversion in a temporary struct.
78985         This causes a warning with GCC 4.0.0, and anyway in the typical
78986         case it's not worth the extra 100 bytes or so of code.
78987         (ranged_convert, __mktime_internal): When calling a function via a
78988         pointer P, use P () rather than (*P) (), as we now assume C89 or
78989         better.
78990
78991 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
78992
78993         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
78994         "who -r" failed to give output.  Problem reported by Tim Waugh.
78995
78996         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
78997         (xcalloc): Use it to avoid needless tests.
78998         Problem reported by Jim Meyering.
78999
79000 2005-06-20  Derek Price  <derek@ximbiot.com>
79001
79002         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
79003         unnecessary for Autoconfs > 2.59c.
79004
79005 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79006
79007         * lib/argp.h (__option_is_short): Check upper limit of
79008         __key. Isprint() requires its argument to have the value
79009         of an unsigned char or EOF.
79010
79011 2005-06-16  Jim Meyering  <jim@meyering.net>
79012
79013         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
79014         when either N or S is zero.
79015
79016 2005-06-16  Derek Price  <derek@ximbiot.com>
79017
79018         * m4/bison.m4: Declare YACC & YFLAGS precious.
79019
79020 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
79021
79022         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
79023         multibyte string or pattern, fall back on unibyte matching.
79024         Problem reported by James Youngman.
79025
79026 2005-06-08  Bruno Haible  <bruno@clisp.org>
79027
79028         * modules/csharpcomp: New file.
79029         * MODULES.html.sh (C#): Add csharpcomp.
79030
79031 2005-06-08  Bruno Haible  <bruno@clisp.org>
79032
79033         * m4/csharpcomp.m4: New file, from GNU gettext.
79034
79035 2005-06-08  Bruno Haible  <bruno@clisp.org>
79036
79037         * lib/csharpcomp.h: New file, from GNU gettext.
79038         * lib/csharpcomp.c: New file, from GNU gettext.
79039         * lib/csharpcomp.sh.in: New file, from GNU gettext.
79040
79041 2005-06-08  Bruno Haible  <bruno@clisp.org>
79042
79043         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
79044         warning on mingw.
79045
79046 2005-06-07  Derek Price  <derek@ximbiot.com>
79047
79048         Sync from CVS.
79049         * lib/glob_.h: Indent nested #ifdef.
79050
79051 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
79052
79053         Sync from coreutils.
79054         Use "file name" when talking about file names, instead of "filename"
79055         or "path", as per the GNU coding standards.
79056         * lib/mkdir-p.c: Renamed from makepath.c.
79057         (make_dir_parents): Renamed from make_path.  All callers changed.
79058         * lib/mkdir-p.h: Likewise.  All includers changed.
79059         * lib/filenamecat.c: Renamed from path-concat.c.
79060         (file_name_concat): Renamed from path_concat.  All callers changed.
79061         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
79062         * lib/filenamecat.h: Likewise.  All includers changed.
79063         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
79064         in comments or local variable names.
79065         * lib/basename.c: Likewise.
79066         * lib/canonicalize.c, canonicalize.h: Likewise.
79067         * lib/dirname.c, dirname.h: Likewise.
79068         * lib/euidaccess.c: Likewise.
79069         * lib/exclude.c: Likewise
79070         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
79071         * lib/fsusage.c, fsuage.h: Likewise.
79072         * lib/fts.c, fts_.h: Likewise.
79073         * lib/getcwd.c: Likewise.
79074         * lib/getloadavg.c: Likewise.
79075         * lib/mkstemp.c: Likewise.
79076         * lib/mountlist.c, mountlist.h: Likewise.
79077         * lib/openat.c, openat.h: Likewise.
79078         * lib/readlink-stub.c: Likewise.
79079         * lib/readutmp.c, readutmp.h: Likewise.
79080         * lib/rename.c: Likewise.
79081         * lib/rmdir.c: Likewise.
79082         * lib/same.c: Likewise.
79083         * lib/savedir.c: Likewise.
79084         * lib/stripslash.c: Likewise.
79085         * lib/tempname.c: Likewise.
79086         * lib/xreadlink.c: Likewise.
79087         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
79088         All uses changed.
79089         * lib/exclude.h: Likewise.
79090
79091         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
79092         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
79093         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
79094         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
79095         * lib/pathmax.h: Include <limits.h> unconditionally, since other
79096         files have been getting away with it for years (MORE/BSD 4.3
79097         is extinct now).
79098         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
79099         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
79100
79101         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
79102         Define to 256, not 255, as per modern POSIX.
79103
79104 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
79105
79106         Sync from coreutils.
79107         Use "file name" when talking about file names, instead of "filename"
79108         or "path", as per the GNU coding standards.
79109         * MODULES.html.sh: mkdir-p renamed from makepath.
79110         filenamecat renamed from path-concat.
79111         * modules/filenamecat: Renamed from modules/path-concat.
79112         (Files): filenamecat.h and filenamecat.c renamed from
79113         path-concat.h and path-concat.c.
79114         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
79115         (Include): filenamecat.h, not path-concat.h.
79116         * modules/mkdir-p: Renamed from modules/makepath.
79117         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
79118         makepath.c.
79119         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
79120         (Include): mkdir-p.h, not makepath.h.
79121
79122 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
79123
79124         Sync from coreutils.
79125         * m4/mkdir-p.m4: Renamed from makepath.m4.
79126         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
79127         Rename files from makepath.c to mkdir-p.c, and from
79128         makepath.h to mkdir-p.h.
79129         * m4/filenamecat.m4: Renamed from path-concat.m4.
79130         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
79131         Rename files from path-concat.c to filenamecat.c,
79132         and from path-concat.h to filenamecat.h.
79133         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
79134         "file name" in local variables or comments.
79135         * m4/rename.m4: Likewise.
79136
79137 2005-06-01  Bruno Haible  <bruno@clisp.org>
79138
79139         * modules/csharpexec: New file.
79140         * MODULES.html.sh (C#): New section.
79141
79142 2005-06-01  Bruno Haible  <bruno@clisp.org>
79143
79144         * m4/csharp.m4: New file, from GNU gettext.
79145         * m4/csharpexec.m4: New file, from GNU gettext.
79146
79147 2005-06-01  Bruno Haible  <bruno@clisp.org>
79148
79149         * lib/csharpexec.h: New file, from GNU gettext.
79150         * lib/csharpexec.c: New file, from GNU gettext.
79151         * lib/csharpexec.sh.in: New file, from GNU gettext.
79152
79153 2005-05-31  Derek Price  <derek@ximbiot.com>
79154             Paul Eggert  <eggert@cs.ucla.edu>
79155
79156         Sync from cvs.
79157         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
79158
79159 2005-05-31  Derek Price  <derek@ximbiot.com>
79160             Paul Eggert  <eggert@cs.ucla.edu>
79161
79162         Sync from cvs.
79163         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
79164
79165 2005-05-29  Derek Price  <derek@ximbiot.com>
79166
79167         * config/srclist.txt (glob_.h, glob.c): Add these files.
79168
79169 2005-05-29  Derek Price  <derek@ximbiot.com>
79170
79171         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
79172         * modules/glob: New file.
79173         * modules/getlogin_r: Add link to POSIX spec in description.
79174
79175 2005-05-29  Derek Price  <derek@ximbiot.com>
79176             Paul Eggert  <eggert@cs.ucla.edu>
79177
79178         * m4/glob.m4: New file.
79179
79180 2005-05-29  Derek Price  <derek@ximbiot.com>
79181             Paul Eggert  <eggert@cs.ucla.edu>
79182
79183         * lib/glob_.h, lib/glob.c: New files.
79184
79185 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
79186
79187         * modules/fts (Files): Remove m4/inttypes-pri.m4.
79188         * modules/fts-lgpl (Depends-on): Remove gettext.
79189
79190 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
79191
79192         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
79193         and don't require gt_INTTYPES_PRI.
79194
79195 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
79196
79197         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
79198
79199         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
79200         the configuration hassle isn't worth it.
79201         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
79202         (LONGEST_MODIFIER, PRIuMAX): Remove.
79203
79204 2005-05-27  Bruno Haible  <bruno@clisp.org>
79205
79206         * lib/getlogin_r.h: Remove second include of <stddef.h>.
79207
79208 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
79209
79210         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
79211         _POSIX_PTHREAD_SEMANTICS for Solaris.
79212
79213 2005-05-25  Derek Price  <derek@ximbiot.com>
79214
79215         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
79216
79217 2005-05-25  Derek Price  <derek@ximbiot.com>
79218             Paul Eggert  <eggert@cs.ucla.edu>
79219
79220         * modules/getlogin_r, m4/getlogin_r.m4: New files.
79221         * lib/getlogin_r.c, getlogin_r.h: New files.
79222
79223 2005-05-25  Bruno Haible  <bruno@clisp.org>
79224             Derek Price  <derek@ximbiot.com>
79225
79226         * lib/getlogin_r.h: Simplify API documentation.
79227
79228 2005-05-23  Derek Price  <derek@ximbiot.com>
79229
79230         * modules/minmax (Files): Add m4/minmax.m4.
79231         (configure.ac): Add gl_MINMAX.
79232
79233 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
79234
79235         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
79236         so that unistd-safer.h (GPL'ed code) need not be included.
79237
79238 2005-05-22  Bruno Haible  <bruno@clisp.org>
79239
79240         * m4/minmax.m4: New file.
79241         Based on a patch by Derek Price <derek@ximbiot.com>.
79242
79243 2005-05-22  Bruno Haible  <bruno@clisp.org>
79244
79245         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
79246         (INT64_MIN): Fix definition.
79247         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
79248
79249         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
79250         NEED_SIGNED_INT_TYPES.
79251
79252         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
79253         HAVE_SYSTEM_INTTYPES.
79254
79255 2005-05-22  Bruno Haible  <bruno@clisp.org>
79256
79257         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
79258         Also include <sys/param.h> if it defines MIN, MAX.
79259         Based on a patch by Derek Price <derek@ximbiot.com>.
79260
79261 2005-05-21  Jim Meyering  <jim@meyering.net>
79262
79263         * modules/fts (Files): Add m4/inttypes-pri.m4.
79264         (Depends-on): Add lstat and remove gettext.  Alphabetize.
79265
79266 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79267
79268         New fts module.
79269         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
79270         (setup_dir, free_dir): New functions.
79271         (enter_dir, leave_dir): Define trivial
79272         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
79273         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
79274         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
79275         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
79276         Move to fts-cycle.c.
79277         (fts_open): Use setup_dir.
79278         (fts_close): Use free_dir.
79279         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
79280         This adds a label and some gotos, but the alternatives were messier.
79281         Check for memory allocation failure when entering a dir.
79282         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
79283         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
79284         (FTS): New member fts_cycle, that is a union that contains the
79285         old active_dir_ht and cycle_state.  All uses changed to mention
79286         fts_cycle.ht and fts_cycle.state.
79287         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
79288         fts.c, with the following changes:
79289         (setup_dir, free_dir): New functions.
79290         (enter_dir): Now returns bool.  Return true if successful, false
79291         if memory exhausted.  All callers changed.
79292         Do not bother partly cleaning up on
79293         memory allocation failure; that is free_dir's job.
79294         However, free ad if hash_insert fails, to avoid memory leak.
79295         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
79296         fts->fts_options to see which union member to use.
79297
79298 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79299
79300         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
79301         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
79302
79303 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79304
79305         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
79306
79307 2005-05-20  Jim Meyering  <jim@meyering.net>
79308
79309         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
79310         Now a macro, to pacify GCC.
79311
79312 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
79313
79314         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
79315         of -1.
79316
79317 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
79318
79319         * lib/chown.c (rpl_chown): Return -1 on failure.
79320
79321 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
79322
79323         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
79324         Don't check for stddef.h.
79325         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
79326         don't use its results.
79327         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
79328         since we include them unconditionally.  Don't require
79329         AM_STDBOOL_H, since stdbool is a prerequisite.
79330         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
79331         since we assume C89 or better.
79332         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
79333         as we don't use their results.
79334         Don't check for fchdir, memmove, memset, strrchr, as we use
79335         them unconditionally.
79336         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
79337         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
79338
79339 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
79340
79341         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
79342         Include <stddef.h> unconditionally, since we assume C89 now.
79343         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
79344         * lib/fts.c: Include fts_.h first, to check interface.
79345         Do not include intprops.h; no longer needed.
79346         Include cycle-check.h and hash.h, since fts_.h no longer does.
79347         Remove unnecessary casts of closedir to void.
79348         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
79349         decide whether to decrement nlinks.
79350         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
79351         (FTS): Use struct hash_table * instead of Hash_table, so that
79352         we no longer need to include hash.h here.
79353
79354 2005-05-18  Jim Meyering  <jim@meyering.net>
79355
79356         * modules/dirfd (License): Change to LGPL.  Most of the code
79357         is already in the public domain.
79358
79359 2005-05-18  Jim Meyering  <jim@meyering.net>
79360
79361         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
79362         Reported by Yoann Vandoorselaere.
79363
79364 2005-05-17  Jim Meyering  <jim@meyering.net>
79365
79366         * m4/fts.m4: New file, from coreutils.
79367
79368 2005-05-17  Jim Meyering  <jim@meyering.net>
79369
79370         * lib/fts.c, lib/fts_.h: New files, from coreutils.
79371
79372 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79373
79374         Sync from coreutils.
79375         * m4/unlinkdir.m4: New file.
79376
79377 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79378
79379         Sync from coreutils.
79380         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
79381         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
79382         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
79383         White space changes only.
79384         * lib/makepath.c (make_path): Port to hosts where leading "//" is
79385         special.
79386         * lib/yesno.c: Include getline.h, not ctype.h.
79387         (yesno): Don't remove leading white space; POSIX doesn't allow it.
79388         Use getline to remove arbitrary restriction on response length.
79389
79390 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79391
79392         * config/srclist-update: Spell out "Street" in FSF postal
79393         mail address; this is the style the FSF seems to prefer.
79394
79395         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
79396         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
79397         this updates FSF postal mail address.
79398
79399         Sync from coreutils.
79400         * modules/unlinkdir: New file.
79401         * modules/yesno (Depends-on): Add getline.
79402         * MODULES.html.sh (File system functions): Add unlinkdir.
79403
79404 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79405
79406         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
79407         lib/strsep.h:
79408         Change the initial comment to refer to GPL, not LGPL.
79409         gnulib-tool will change it to LGPL as needed.
79410
79411         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
79412         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
79413         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
79414         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
79415         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
79416         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
79417         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
79418         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
79419         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
79420         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
79421         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
79422         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
79423         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
79424         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
79425         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
79426         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
79427         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
79428         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
79429         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
79430         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
79431         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
79432         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
79433         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
79434         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
79435         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
79436         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
79437         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
79438         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
79439         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
79440         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
79441         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
79442         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
79443         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
79444         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
79445         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
79446         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
79447         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
79448         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
79449         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
79450         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
79451         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
79452         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
79453         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
79454         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
79455         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
79456         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
79457         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
79458         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
79459         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
79460         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
79461         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
79462         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
79463         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
79464         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
79465         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
79466         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
79467         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
79468         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
79469         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
79470         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
79471         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
79472         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
79473         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
79474         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
79475         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
79476         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
79477         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
79478         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
79479         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
79480         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
79481         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
79482         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
79483         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
79484         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
79485         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
79486         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
79487         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
79488         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
79489         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
79490         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
79491         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
79492         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
79493         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
79494         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
79495         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
79496         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
79497         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
79498         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
79499         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
79500         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
79501         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
79502         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
79503         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
79504         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
79505         lib/yesno.c, lib/yesno.h:
79506         Update FSF postal mail address.
79507
79508 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79509
79510         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
79511         tests/test-memmem.c, tests/test-stpncpy.c:
79512         Update FSF postal mail address.
79513
79514 2005-05-13  Bruno Haible  <bruno@clisp.org>
79515
79516         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
79517         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
79518         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
79519         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
79520         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
79521         Add support for 64-bit integers in the MSVC compiler.
79522
79523 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79524
79525         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
79526
79527 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
79528
79529         * gnulib-tool (func_import): Sort and uniquify recommended includes.
79530
79531 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
79532
79533         * doc/getdate.texi (General date syntax): Don't say that date
79534         date --iso-8601=ns generates acceptable dates; it doesn't yet.
79535         Problem reported by Nic Ferrier.
79536
79537 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79538
79539         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
79540         specified in ai_socktype. Fix invalid ai_protocol
79541         check. ai_protocol is usually set to 0 or depending on
79542         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
79543         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
79544         ai_socktype / ai_protocol in the returned addrinfo structure.
79545
79546 2005-05-10  Simon Josefsson  <jas@extundo.com>
79547
79548         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
79549         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79550
79551 2005-05-10  Karl Berry  <karl@gnu.org>
79552
79553         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
79554         (from http://www.gnu.org/licenses).
79555         * doc/COPYING.LIB: also rename to COPYING.LESSER.
79556         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
79557         fdl.texi suffices.
79558
79559 2005-05-10  Karl Berry  <karl@gnu.org>
79560
79561         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
79562         (COPYING.DOC): remove.
79563
79564         * config/srclist-update: new FSF address.
79565
79566 2005-05-10  Derek Price  <derek@ximbiot.com>
79567
79568         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
79569         possible.
79570
79571 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79572             Bruno Haible  <bruno@clisp.org>
79573
79574         * modules/inet_ntop: New file.
79575         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79576         inet_ntop.
79577
79578 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79579             Bruno Haible  <bruno@clisp.org>
79580
79581         * m4/inet_ntop.m4: New file.
79582
79583 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79584             Bruno Haible  <bruno@clisp.org>
79585
79586         * lib/inet_ntop.h: New file.
79587         * lib/inet_ntop.c: New file, from glibc with modifications.
79588
79589 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
79590
79591         * modules/time_r (License): Change to LGPL.
79592         * modules/extensions (License): Change to LGPL.  Actually,
79593         the license is more permissive than that, but currently gnulib-tool
79594         doesn't know how to handle more-permissive licenses.
79595
79596         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
79597         Problem reported by Dave Love.
79598
79599 2005-05-08  Jim Meyering  <jim@meyering.net>
79600
79601         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
79602         blank.
79603
79604 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
79605
79606         * modules/argmatch (Depends-on): Add stdbool.
79607         * modules/backupfile (Depends-on): Likewise.
79608         * modules/chdir-long (Depends-on): Likewise.
79609         * modules/closeout (Depends-on): Likewise.
79610         * modules/cycle-check (Depends-on): Likewise.
79611         * modules/dirname (Depends-on): Likewise.
79612         * modules/fnmatch (Depends-on): Likewise.
79613         * modules/fsusage (Depends-on): Likewise.
79614         * modules/fwriteerror (Depends-on): Likewise.
79615         * modules/getcwd (Depends-on): Likewise.
79616         * modules/getloadavg (Depends-on): Likewise.
79617         * modules/hard-locale (Depends-on): Likewise.
79618         * modules/makepath (Depends-on): Likewise.
79619         * modules/mountlist (Depends-on): Likewise.
79620         * modules/nanosleep (Depends-on): Likewise.
79621         * modules/posixtm (Depends-on): Likewise.
79622         * modules/quotearg (Depends-on): Likewise.
79623         * modules/readtokens (Depends-on): Likewise.
79624         * modules/readtokens0 (Depends-on): Likewise.
79625         * modules/readutmp (Depends-on): Likewise.
79626         * modules/save-cwd (Depends-on): Likewise.
79627         * modules/strftime (Depends-on): Likewise.
79628         * modules/userspec (Depends-on): Likewise.
79629         * modules/utimecmp (Depends-on): Likewise.
79630         * modules/xgetcwd (Depends-on): Likewise.
79631         * modules/xnanosleep (Depends-on): Likewise.
79632         * modules/xstrtod (Depends-on): Likewise.
79633         * modules/yesno (Depends-on): Likewise.
79634
79635 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
79636
79637         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
79638         needless checks.
79639
79640 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
79641
79642         Merge from coreutils.  Among other things,
79643         add bulletproofing for cases where stdin, stdout, or stderr are closed.
79644         * lib/fd-safer.c: New file.
79645         * lib/fcntl-safer.h, open-safer.c: Remove.
79646         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
79647         * lib/dup-safer.c: Include unistd-safer.h first.
79648         Don't include errno.h.
79649         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
79650         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
79651         * lib/file-type.c: Rely on file-type.h change.
79652         * lib/getloadavg.c: Include unistd-safer.h.
79653         (getloadavg): Use safer open.
79654         * lib/getusershell.c: Include "stdio-safer.h".
79655         (getusershell): Use safer fopen.
79656         * lib/long-options.c (long_options): Use NULL rather than 0.
79657         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
79658         'free'.
79659         * lib/modechange.c: Likewise.
79660         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
79661         (MODE_DONE): New constant.
79662         (struct mode_change): Remove 'next' member.
79663         (make_node_op_equals): New function; like the old one of the
79664         same name, except it allocates an array.
79665         (mode_compile, mode_create_from_ref): Use it.
79666         (mode_compile): Allocate result as an array, not a linked list.
79667         Parse octal string ourself, so that we catch mistakes like "+0".
79668         (mode_adjust): Arg is an array, not a linked list.
79669         * lib/modechange.c: Include stat-macros.h, xalloc.h.
79670         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
79671         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
79672         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
79673         Remove.  This is now stat-macros.h's job.
79674         (talloc): Remove.  All callers replaced by xalloc, so that
79675         our invokers don't have to worry about reporting memory failures.
79676         (make_node_op_equals): Remove.
79677         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
79678         New constants.
79679         (struct mode_change): Moved here from modechange.h.
79680         (mode_append_entry): Remove.
79681         (mode_compile): Remove MASKED_OPS arg, since it encouraged
79682         apps to have incorrect behavior.  Use simpler algorithm for head
79683         and tail.  Don't futz with umask; that's now the job of mode_adjust.
79684         Detect more invalid usages rather than having somewhat-random behavior.
79685         Don't insert an "a=" action, as that leads to incorrect behavior.
79686         (mode_compile, mode_create_from_ref): Return NULL on error instead
79687         of an enum, since now there's only one way to have an error.  All
79688         callers changed.
79689         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
79690         at the correct time.  Simplify calculation of "+u" and its ilk.
79691         Don't mishandle "+X".
79692         (mode_free): Remove "register" and localize decls.
79693         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
79694         (struct mode_change): Move to modechange.c; callers don't
79695         need to see this stuff.
79696         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
79697         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
79698         (mode_change, mode_adjust): Reflect the new signatures noted above.
79699         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
79700         that might redefine system include files.
79701         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
79702         (my_usleep): Use NULL rather than (void *) 0.
79703         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
79704         Use siginterrupt to specify that system calls should be interrupted.
79705         (rpl_nanosleep): Move initialization of suspended closer to call of
79706         my_usleep.
79707         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
79708         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
79709         (desirable_utmp_entry): New function.
79710         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
79711         using x2nrealloc, to simplify logic.
79712         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
79713         size calculation.  Do not assume utmp file is a regular file.
79714         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
79715         (READ_UTMP_CHECK_PIDS): New constant.
79716         * lib/save-cwd.c: Include unistd-safer.h.
79717         (save_cwd): Use fd_safer.
79718         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
79719         [!_LIBC] Include "stat-macros.h" instead.
79720         * lib/unistd-safer.h (fd_safer): New decl.
79721
79722 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
79723
79724         * modules/getloadavg (Depends-on): Add unistd-safer.
79725         * modules/getusershell (Depends-on): Add stdio-safer.
79726         * modules/lstat (Depends-on): Remove xalloc.
79727         * modules/mkstemp (Depends-on): Add stat-macros.
79728         * modules/modechange (Depends-on): Remove xstrtol.
79729         Add stat-macros, xalloc.
79730         * modules/save-cwd (Depends-on): Add unistd-safer.
79731         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
79732         * modules/unistd-safer (Files): Add lib/fd-safer.c
79733         (Makefile.am): Remove lib_SOURCES.
79734
79735         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
79736         Remove fcntl-safer; unistd-safer supersedes it.
79737
79738 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
79739
79740         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
79741         AC_HEADER_STAT.
79742         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
79743         (gl_PREREQ_CHOWN): Remove.
79744         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
79745         it.  Don't require AC_HEADER_STAT.
79746         (gl_PREREQ_LSTAT): Remove.
79747         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
79748         Don't require AC_HEADER_STAT.
79749         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
79750         (gl_PREREQ_RMDIR): Remove.
79751         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
79752         mention stat-macros.h or AC_HEADER_STAT, since we'll make
79753         the stat-macros module a prerequisite.
79754         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
79755         * m4/filemode.m4 (gl_FILEMODE): Likewise.
79756         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
79757         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
79758         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
79759         variable names.
79760         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
79761         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
79762         variable prefixes.
79763         * m4/fcntl-safer.m4: Remove.
79764         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
79765         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
79766         Invoke gl_PREREQ_FD_SAFER.
79767         (gl_PREREQ_FD_SAFER): New macro.
79768         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
79769         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
79770         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
79771         Remove duplicate call to AC_LIBOBJ(readutmp).
79772         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
79773
79774         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
79775         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
79776
79777 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
79778
79779         * MODULES.html.sh (Misc): Add byteswap.
79780
79781 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
79782
79783         * modules/getcwd (Depends-on): Add extensions.
79784         * modules/openat (Depends-on): Likewise.
79785
79786 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
79787
79788         * modules/byteswap: New file.
79789
79790 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
79791
79792         * m4/byteswap.m4: New file.
79793
79794 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
79795
79796         * lib/byteswap_.h: New file.
79797
79798 2005-04-25  Karl Berry  <karl@gnu.org>
79799
79800         * m4/gettext.m4: Update from GNU gettext 0.14.4.
79801
79802 2005-04-25  Albert Chin  <china@thewrittenword.com>
79803
79804         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
79805         Toolkit C bug.
79806
79807 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
79808
79809         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
79810         (func_ln_if_changed): Remove forcibly for no error message
79811         in case file does not exist.
79812
79813 2005-04-19  Simon Josefsson  <jas@extundo.com>
79814
79815         * gnulib-tool (Options): Make --symlink mean --symbolic.
79816
79817 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
79818
79819         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
79820
79821 2005-04-16  Simon Josefsson  <jas@extundo.com>
79822
79823         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
79824
79825 2005-04-15  Simon Josefsson  <jas@extundo.com>
79826
79827         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
79828
79829 2005-04-15  Simon Josefsson  <jas@extundo.com>
79830
79831         * gnulib-tool: Rename --symlink to --symbolic.
79832
79833 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
79834
79835         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
79836         symbolic links to files instead of copying/moving.  Add --aux-dir,
79837         specifying directory relative --dir where auxiliary build tools
79838         are placed.
79839
79840 2005-04-14  Bruno Haible  <bruno@clisp.org>
79841
79842         * modules/allocsa (License): Change to LGPL.
79843         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
79844
79845 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
79846
79847         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
79848         that "UTC +1 second" continues to work.  Problem reported
79849         by Dmitry V. Levin.
79850         (relunit_snumber): New rule.
79851         (relunit): Use it.
79852
79853 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
79854
79855         * lib/getdate.y (universal_time_zone_table): New constant.
79856         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
79857         universal_time_zone_table.
79858         (lookup_zone): Prefer universal_time_zone_table to
79859         local_time_zone_table, so that "GMT" time stamps are allowed in
79860         London during the summer.  Problem reported by Ian Abbott.
79861
79862 2005-04-12  Jim Meyering  <jim@meyering.net>
79863
79864         * lib/human.c (humblock): Set *options even when returning due to
79865         xstrtoumax conversion failure.  Thanks to a used-uninitialized
79866         warning from gcc-4.
79867
79868 2005-04-09  Jim Meyering  <jim@meyering.net>
79869
79870         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
79871         -Wuninitialized: initialize tm0.tm_year.
79872
79873 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
79874
79875         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
79876         count, since there's no maximum.  All uses changed.
79877         Add member dsts_seen.
79878         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
79879         not being INT_MAX.
79880         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
79881         Use pc_rels_seen to decide whther a date is absolute.
79882
79883         * lib/getdate.y (number): Don't overwrite year.
79884         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
79885         check.
79886
79887 2005-04-02  Simon Josefsson  <jas@extundo.com>
79888
79889         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
79890         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
79891
79892 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
79893
79894         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
79895         where no absolute path name can be longer than PATH_MAX.
79896
79897 2005-03-27  Jim Meyering  <jim@meyering.net>
79898
79899         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
79900
79901 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
79902
79903         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
79904         "one's complement" -> "ones' complement" in comment, as per Knuth.
79905         "value of type" -> "type or expression" in comment.
79906         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
79907
79908 2005-03-26  Jim Meyering  <jim@meyering.net>
79909
79910         Comment nits.
79911         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
79912         Correct typos: s/or/of/.
79913
79914 2005-03-26  Jim Meyering  <jim@meyering.net>
79915
79916         * modules/check-include-files: Move to ../ and rename to...
79917         * check-module: ...this.
79918
79919 2005-03-25  Jim Meyering  <jim@meyering.net>
79920
79921         * modules/xvasprintf (Files): Add xalloc.h.
79922
79923 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
79924
79925         * modules/gettext (Files): config/config.rpath ->
79926         build-aux/config.rpath
79927         * modules/iconv (Files): Likewise.
79928         Problem reported by Oskar Liljeblad.
79929
79930 2005-03-23  Jim Meyering  <jim@meyering.net>
79931
79932         * modules/check-include-files: New script to check for
79933         missing dependencies, multiple includes, etc.
79934
79935         * modules/c-strtold (Depends-on): Add xalloc.
79936         * modules/c-strtod (Depends-on): Add xalloc.
79937         * modules/hash (Depends-on): Add xalloc.
79938         (Files): Remove lib/xalloc.h.
79939
79940         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
79941         * modules/userspec (Files): Add lib/inttostr.h.
79942
79943 2005-03-23  Jim Meyering  <jim@meyering.net>
79944
79945         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
79946
79947 2005-03-22  Jim Meyering  <jim@meyering.net>
79948
79949         * modules/stat-macros: New module.
79950         * modules/canonicalize, modules/euidaccess, modules/file-type,
79951         * modules/filemode, modules/lchown, modules/makepath,
79952         * modules/rmdir, modules/stat: Depend on new stat-macros module
79953         rather than listing lib/stat-macros.h manually.
79954         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
79955
79956 2005-03-22  Jim Meyering  <jim@meyering.net>
79957
79958         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
79959
79960 2005-03-22  Bruno Haible  <bruno@clisp.org>
79961
79962         * config/srclist.txt: Replace target directory 'config' with
79963         'build-aux'.
79964         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
79965         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
79966         ../build-aux/.
79967
79968 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
79969
79970         * modules/chdir-long (Depends-on): Add mempcpy.
79971
79972         * modules/acl, modules/backupfile, modules/c-strtod,
79973         modules/c-strtold, modules/canon-host, modules/canonicalize,
79974         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
79975         modules/exclude, modules/exitfail, modules/file-type,
79976         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
79977         modules/getdate, modules/getline, modules/getpagesize,
79978         modules/getpass, modules/getugroups, modules/group-member,
79979         modules/hard-locale, modules/hash, modules/human, modules/idcache,
79980         modules/inttostr, modules/long-options, modules/makepath,
79981         modules/md5, modules/memcasecmp, modules/memcoll,
79982         modules/modechange, modules/mountlist, modules/path-concat,
79983         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
79984         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
79985         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
79986         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
79987         modules/strftime, modules/strndup, modules/strverscmp,
79988         modules/timespec, modules/unlocked-io, modules/userspec,
79989         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
79990         modules/yesno:
79991         Remove lib_SOURCES line from Makefile.am section, as this is now
79992         done automatically by the corresponding Autoconf macro.
79993
79994 2005-03-21  Jim Meyering  <jim@meyering.net>
79995
79996         Changes imported from coreutils.
79997
79998         * lib/cycle-check.c: Don't include xalloc.h.
79999
80000         * lib/path-concat.c: Don't include assert.h.
80001         (path_concat): Remove assertion that would have triggered
80002         for ABASE starting with more than one slash.
80003         Reported by Andreas Schwab.
80004
80005         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
80006         properly when ABASE is an absolute file name.
80007         Correct the description of this function.
80008         Include <assert.h>.
80009         Add an assertion and a test driver.
80010         This fixes a bug introduced on 2004-07-02.
80011         Andreas Schwab reported the resulting failure of cp --parents:
80012         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
80013
80014 2005-03-21  Jim Meyering  <jim@meyering.net>
80015
80016         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
80017         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
80018
80019 2005-03-21  Jim Meyering  <jim@meyering.net>
80020         and  Paul Eggert  <eggert@cs.ucla.edu>
80021
80022         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
80023         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
80024         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
80025         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
80026         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
80027         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
80028         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
80029         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
80030         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
80031         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
80032         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
80033         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
80034         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
80035         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
80036         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
80037         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
80038         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
80039         for these modules.
80040
80041 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
80042
80043         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
80044         (which shouldn't happen), generate nothing instead of returning 0
80045         immediately, so that nstrftime (NULL, ...) doesn't return 0.
80046
80047 2005-03-16  Bruno Haible  <bruno@clisp.org>
80048
80049         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
80050         HAVE_LONGLONG_64BIT.
80051
80052 2005-03-16  Bruno Haible  <bruno@clisp.org>
80053
80054         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
80055         HAVE_LONGLONG_64BIT.
80056
80057 2005-03-16  Bruno Haible  <bruno@clisp.org>
80058
80059         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
80060         HAVE_LONGLONG_64BIT.
80061
80062 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
80063
80064         * lib/strftime.c (my_strftime): Prepend space to format so that we can
80065         reliably distinguish strftime failure from empty output on POSIX
80066         hosts.
80067
80068 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
80069
80070         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
80071         (iconv_string): Don't guess a size-zero buffer, as that might cause
80072         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
80073         result would be 'too large', where 'too large' is (heuristically)
80074         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
80075         overflow concerns.  This will prevent some unwanted malloc failures
80076         when the inputs are very large.
80077
80078 2005-03-15  Karl Berry  <karl@gnu.org>
80079
80080         * config/srclist.txt (config.rpath): from gettext.
80081         * config/config.rpath: update.
80082
80083 2005-03-15  Bruno Haible  <bruno@clisp.org>
80084
80085         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
80086         to 'negate'.
80087
80088         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
80089         variable.
80090
80091         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
80092         results.
80093
80094 2005-03-14  Simon Josefsson  <jas@extundo.com>
80095
80096         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
80097         <fx@gnu.org>.
80098
80099 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
80100
80101         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
80102         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
80103         intprops.h.
80104         * lib/strtol.c: Likewise.
80105
80106 2005-03-14  Jim Meyering  <jim@meyering.net>
80107
80108         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
80109         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
80110         to be nonzero so that we (and caller) can detect the difference
80111         between a valid zero-length expansion and an error return, even
80112         when the underlying strftime fails before writing anything into
80113         that location.
80114
80115 2005-03-14  Bruno Haible  <bruno@clisp.org>
80116
80117         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
80118         Update from GNU gettext 0.14.3.
80119
80120 2005-03-10  Jim Meyering  <jim@meyering.net>
80121
80122         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
80123
80124 2005-03-10  Jim Meyering  <jim@meyering.net>
80125
80126         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
80127         so that this module works on systems without fchdir.
80128
80129 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
80130
80131         Factor int-properties macros into a single file, except for
80132         glibc-related files.
80133         * lib/intprops.h: New file.
80134         * lib/getloadavg.c: Include it instead of limits.h.
80135         (INT_STRLEN_BOUND): Remove.
80136         * lib/human.c: Include intprops.h.
80137         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
80138         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
80139         302/1000.
80140         * lib/inttostr.h: Include intprops.h instead of limits.h.
80141         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
80142         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
80143         for consistency with intprops.h.
80144         (time_t_is_integer, twos_complement_arithmetic): Use them.
80145         * lib/sig2str.h: Include <signal.h>, intprops.h.
80146         (INT_STRLEN_BOUND): Remove.
80147         * lib/strftime.c (TYPE_SIGNED): Remove.
80148         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
80149         * lib/strtol.c: Adjust comments to match intprops.h.
80150         * lib/userspec.c: Include intprops.h.
80151         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
80152         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
80153         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
80154         instead of rolling our own expressions.
80155         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
80156
80157         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
80158         instead of int.
80159         (my_strftime): Do not mishandle years close to INT_MAX, by doing
80160         the right thing even if adding 1900 would overflow.  Similarly
80161         for tm_mon + 1 and tm_yday + 1.
80162         Make %Y always equivalent to %C%y, and similarly for %G and %g.
80163         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
80164         (DO_SIGNED_NUMBER): New macro.
80165         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
80166
80167 2005-03-07  Bruno Haible  <bruno@clisp.org>
80168
80169         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
80170
80171 2005-03-07  Bruno Haible  <bruno@clisp.org>
80172
80173         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
80174
80175 2005-03-04  Derek R. Price  <derek@ximbiot.com>
80176
80177         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
80178         (func_import): Only replace files via --import when they have actually
80179         changed.
80180
80181 2005-03-03  Derek R. Price  <derek@ximbiot.com>
80182
80183         * m4/mmap-anon.m4: New file.
80184         * m4/pagealign_alloc.m4: New file.
80185
80186 2005-03-03  Derek R. Price  <derek@ximbiot.com>
80187             Bruno Haible  <bruno@clisp.org>
80188
80189         * modules/pagealign_alloc: New file.
80190         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
80191
80192 2005-03-03  Derek R. Price  <derek@ximbiot.com>
80193             Bruno Haible  <bruno@clisp.org>
80194
80195         * lib/pagealign_alloc.h: New file.
80196         * lib/pagealign_alloc.c: New file.
80197
80198 2005-03-03  Bruno Haible  <bruno@clisp.org>
80199
80200         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
80201         Use an all-permissive copyright notice, recommended by RMS.
80202
80203 2005-03-02  Bruno Haible  <bruno@clisp.org>
80204
80205         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
80206         of AIX, the replacement has to be done only after <string.h> is
80207         included, therefore not in config.h. stpncpy.h does the replacement,
80208         and stpncpy.c uses it.
80209
80210 2005-03-02  Bruno Haible  <bruno@clisp.org>
80211
80212         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
80213         stpncpy.c uses it.
80214
80215 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80216
80217         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
80218         The workaround isn't strictly needed for POSIX conformance, and
80219         it's too much of a pain to configure and maintain.  We'll ask
80220         people to fix their kernels instead.
80221         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
80222         (NANOSLEEP_BUG_WORKAROUND): Remove.
80223         (xnanosleep): Remove the workaround.
80224
80225 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80226
80227         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
80228         Reported by Derek Price.
80229         (Include): Add "timespec.h".
80230
80231         * modules/xnanosleep (Depends-on): Remove gethrxtime.
80232
80233 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80234
80235         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
80236         to detect nanosleep bug.
80237
80238 2005-03-01  Bruno Haible  <bruno@clisp.org>
80239
80240         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
80241
80242 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
80243
80244         * modules/gethrxtime: New file.
80245         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
80246         (Depends-on): Add gethrxtime.
80247         (configure.ac): Add gl_XNANOSLEEP.
80248         (Makefile.am): Remove lib_SOURCES line.
80249
80250 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
80251
80252         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
80253         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
80254
80255 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
80256
80257         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
80258         * lib/timespec.h (gettime): Return void, since it always
80259         succeeds now.  All uses changed.
80260         * lib/gettime.c (gettime): Likewise.
80261         [HAVE_NANOTIME]: Prefer nanotime.
80262         Assume gettimeofday succeeds, as POSIX requires.
80263         Assime time () succeeds, since other code already does.
80264         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
80265         (timespec_subtract): Remove.
80266         (NANOSLEEP_BUG_WORKAROUND): New constant.
80267         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
80268         things considerably.  Use it only on GNU/Linux hosts, since the
80269         workaround shouldn't be needed elsewhere.
80270
80271 2005-02-24  Bruno Haible  <bruno@clisp.org>
80272
80273         * modules/gettext (Files): Add m4/glibc2.m4.
80274
80275 2005-02-24  Bruno Haible  <bruno@clisp.org>
80276
80277         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
80278         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
80279         * m4/progtest.m4:
80280         Update from GNU gettext 0.14.2.
80281         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
80282
80283 2005-02-24  Bruno Haible  <bruno@clisp.org>
80284
80285         * lib/localcharset.c: Update from GNU gettext 0.14.2.
80286         * lib/config.charset: Update from GNU gettext 0.14.2.
80287
80288 2005-02-24  Bruno Haible  <bruno@clisp.org>
80289
80290         * lib/gettext.h: Update from GNU gettext 0.14.2.
80291
80292 2005-02-23  Simon Josefsson  <jas@extundo.com>
80293
80294         * m4/iconvme.m4: New file.
80295
80296 2005-02-23  Jim Meyering  <jim@meyering.net>
80297
80298         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
80299         change.
80300         Thanks to Bruno Haible for catching it.
80301
80302 2005-02-22  Simon Josefsson  <jas@extundo.com>
80303
80304         * modules/iconvme: New file.
80305
80306         * MODULES.html.sh: Add iconvme.
80307
80308 2005-02-22  Simon Josefsson  <jas@extundo.com>
80309
80310         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
80311
80312 2005-02-22  Simon Josefsson  <jas@extundo.com>
80313
80314         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
80315
80316 2005-02-22  Jim Meyering  <jim@meyering.net>
80317
80318         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
80319         s/ifndef/ifdef/.
80320
80321 2005-02-20  Neil Conway  <neilc@samurai.com>
80322
80323         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
80324         returned by OSX/Darwin if the specified buffer is not large
80325         enough for the hostname.
80326
80327 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80328
80329         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
80330         pass it to _help, otherwise the latter coredumps trying to
80331         dereference state.root_argp.
80332
80333 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
80334
80335         * modules/chdir-long (Depends-on): Add memrchr.
80336         * modules/memrchr (Files): Add lib/memrchr.h.
80337         (Include): "memrchr.h".
80338
80339 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
80340
80341         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
80342
80343 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
80344
80345         * lib/memrchr.h: New file.
80346         * lib/chdir-long.c: Include it.
80347         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
80348         Don't bother including stddef.h.
80349
80350 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
80351
80352         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
80353         inclusion.
80354         Include <sys/types.h>, for dev_t.
80355         (ME_DUMMY, ME_REMOTE): Move from here....
80356         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
80357         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
80358         Dmitry V. Levin.
80359         Include mountlist.h first, to test the interface.
80360
80361 2005-01-29  Bruno Haible  <bruno@clisp.org>
80362
80363         * lib/progname.c (program_name): Initialize.
80364         Needed when linking statically on MacOS X.
80365
80366 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
80367
80368         Sync from coreutils.
80369         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
80370         (Depends-on): Add c-strtod.
80371         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
80372
80373 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
80374
80375         Sync from coreutils.
80376         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
80377
80378         Remove files that are specific to coreutils.
80379         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
80380
80381 2005-01-28  Bruno Haible  <bruno@clisp.org>
80382
80383         * modules/javacomp: New file.
80384         * MODULES.html.sh (Java): Add javacomp.
80385
80386 2005-01-28  Bruno Haible  <bruno@clisp.org>
80387
80388         * m4/javacomp.m4: New file, from GNU gettext.
80389
80390 2005-01-28  Bruno Haible  <bruno@clisp.org>
80391
80392         * lib/javacomp.sh.in: New file, from GNU gettext.
80393         * lib/javacomp.h: New file, from GNU gettext.
80394         * lib/javacomp.c: New file, from GNU gettext.
80395
80396 2005-01-26  Simon Josefsson  <jas@extundo.com>
80397
80398         * lib/gai_strerror.c: Use GPL in header.
80399
80400 2005-01-26  Bruno Haible  <bruno@clisp.org>
80401
80402         * modules/javaexec: New file.
80403         * MODULES.html.sh (Java): Add javaexec.
80404
80405 2005-01-26  Bruno Haible  <bruno@clisp.org>
80406
80407         * m4/javaexec.m4: New file, from GNU gettext.
80408
80409 2005-01-26  Bruno Haible  <bruno@clisp.org>
80410
80411         * lib/javaexec.sh.in: New file, from GNU gettext.
80412         * lib/javaexec.h: New file, from GNU gettext.
80413         * lib/javaexec.c: New file, from GNU gettext.
80414
80415 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80416
80417         * modules/lchown (Depends-on): Remove lchown.h
80418
80419 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80420
80421         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
80422         must be defined if the header file was not found, in order
80423         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
80424
80425 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80426
80427         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
80428         initializers for struct pentry_state.
80429         (__argp_error): Check return value of __asprintf
80430         (__argp_failure): Translate error message
80431
80432         * lib/argp-parse.c: Removed braces around the expansion of N_()
80433
80434 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80435
80436         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
80437         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
80438         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
80439         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
80440         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
80441         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
80442         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
80443         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
80444         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
80445         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
80446         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
80447         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
80448         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
80449         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
80450         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
80451         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
80452         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
80453         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
80454         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
80455         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
80456         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
80457         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
80458         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
80459         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
80460         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
80461         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
80462         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
80463         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
80464         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
80465         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
80466         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
80467         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
80468         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
80469         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
80470         xstrtol.m4, xstrtoumax.m4, yesno.m4:
80471         Use an all-permissive copyright notice, recommended by RMS.
80472
80473 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
80474
80475         * modules/chdir-long (Depends-on): Remove mempcpy.
80476
80477 2005-01-21  Jim Meyering  <jim@meyering.net>
80478
80479         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
80480         same value as for Solaris 9.
80481
80482         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
80483         component length.  This included changing the parameter to be
80484         of type `char *' rather than `char const *'.
80485         * lib/chdir-long.h (chdir_long): Update prototype.
80486
80487         * lib/openat.c (fdopendir, fstatat): New functions.
80488         * lib/openat.h: Include headers required for use of DIR and struct
80489         stat.
80490         [AT_SYMLINK_NOFOLLOW]: Define.
80491         (fdopendir, fstatat): Add prototypes.
80492
80493 2005-01-21  Bruno Haible  <bruno@clisp.org>
80494
80495         * modules/classpath: New file.
80496         * MODULES.html.sh (Java): Add classpath.
80497
80498 2005-01-21  Bruno Haible  <bruno@clisp.org>
80499
80500         * lib/classpath.h: New file, from GNU gettext.
80501         * lib/classpath.c: New file, from GNU gettext.
80502
80503 2005-01-20  Simon Josefsson  <jas@extundo.com>
80504
80505         * modules/version-etc-fsf: New file.
80506
80507 2005-01-20  Simon Josefsson  <jas@extundo.com>
80508
80509         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
80510         * lib/version-etc.c: Remove version_etc_copyright.
80511         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
80512         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
80513
80514 2005-01-20  Simon Josefsson  <jas@extundo.com>
80515
80516         * lib/base64.h (isbase64): Add.
80517
80518         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
80519         using a unsigned prototype, don't inline.
80520         (base64_decode): Use it.
80521
80522 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
80523
80524         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
80525         it.
80526
80527 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
80528
80529         * lib/save-cwd.c (save_cwd): Remove code to support the case
80530         where fchdir is missing or flaky.
80531
80532 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
80533
80534         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
80535
80536 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
80537
80538         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
80539         AC_LIBSOURCES now does this.
80540         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
80541         with new ullong_max module.
80542
80543 2005-01-19  Bruno Haible  <bruno@clisp.org>
80544
80545         * modules/sh-quote: New file.
80546         * MODULES.html.sh (Executing programs): Add sh-quote.
80547
80548 2005-01-19  Bruno Haible  <bruno@clisp.org>
80549
80550         * lib/sh-quote.h: New file, from GNU gettext.
80551         * lib/sh-quote.c: New file, from GNU gettext.
80552
80553 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
80554
80555         Merge from coreutils.
80556         * m4/ullong_max.m4: New file.
80557         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
80558         (gl_MACROS): Assume localeconv exists.
80559
80560 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
80561
80562         Merge changes from coreutils, as described below in several
80563         changelogs dated today.
80564
80565         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
80566         (O_DIRECTORY): Remove; not needed here, since "." must be
80567         a directory.  All uses removed.
80568         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
80569         universal on Suns, and we also need to test for IRIX.
80570         Revamp code to use 'if' rather than '#if'.
80571         Avoid unnecessary comparison of cwd->desc to 0.
80572
80573         * lib/utimens.c (futimens): Robustify the previous patch, by checking
80574         for known valid error numbers rather than observed invalid ones.
80575
80576 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
80577
80578         * modules/ullong_max: New file.
80579
80580         * modules/chdir-long, modules/openat: New files.
80581         * modules/save-cwd (Depends-on): Depend on chdir-long.
80582         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
80583
80584 2005-01-18  Jim Meyering  <jim@meyering.net>
80585
80586         Merge from coreutils.
80587         * m4/chdir-long.m4, m4/openat.m4: New files.
80588         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
80589         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
80590         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
80591         is sane and DOES follow symlinks.  Besides, testing 20 different
80592         systems found no broken chown implementations.
80593         Prompted by a change in rsync's copy of this macro.
80594         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
80595
80596         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
80597
80598         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
80599         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
80600         NULL-means-set-to-current-time semantics.
80601         Remove temporary file immediately, rather than waiting
80602         for configure's at-exit trap code to do it.
80603
80604 2005-01-18  Jim Meyering  <jim@meyering.net>
80605
80606         * lib/version-etc.c (version_etc_copyright): Update copyright date.
80607
80608         * lib/utimens.c (futimens): Account for the fact that futimes
80609         can also fail with errno == ENOSYS or errno == ENOENT.
80610         Patch from Dmitry V. Levin.
80611
80612         Change the name of the robust chdir function from chdir to chdir_long.
80613         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
80614         (restore_cwd): Use chdir_long, not chdir.
80615         * lib/chdir-long.c: Renamed from chdir.c.
80616         * lib/chdir-long.h: Renamed from chdir.h.
80617         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
80618         Hurd.
80619
80620 2005-01-18  Bruno Haible  <bruno@clisp.org>
80621
80622         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
80623         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
80624         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
80625         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
80626         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
80627         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
80628         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
80629         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
80630         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
80631         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
80632         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
80633         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
80634         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
80635         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
80636         Use an all-permissive copyright notice, recommended by RMS.
80637
80638 2005-01-18  Bob Proulx  <bob@proulx.com>
80639
80640         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
80641         simplify offsetof() macro construct to avoid compile failure with
80642         native HP-UX 11.0 ANSI C compiler.
80643
80644 2005-01-17  Bruno Haible  <bruno@clisp.org>
80645
80646         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
80647         redundant because stpncpy.m4 takes care of it.
80648
80649 2005-01-17  Bruno Haible  <bruno@clisp.org>
80650
80651         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
80652
80653 2005-01-17  Bruno Haible  <bruno@clisp.org>
80654
80655         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
80656         used.
80657
80658 2005-01-17  Bruno Haible  <bruno@clisp.org>
80659
80660         * lib/fwriteerror.h (fwriteerror): Change specification to include
80661         fclose.
80662         * lib/fwriteerror.c: Include <stdbool.h>.
80663         (fwriteerror): At the end, close the file stream. Record whether
80664         stdout was already closed.
80665
80666 2005-01-17  Bruno Haible  <bruno@clisp.org>
80667
80668         * lib/execute.c (environ): Declare if needed.
80669         * lib/pipe.c (environ): Likewise.
80670         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
80671
80672 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80673
80674         * modules/argp: Depend on vsnprintf
80675
80676 2005-01-10  Jim Meyering  <jim@meyering.net>
80677
80678         * modules/closeout (Depends-on): Add atexit.
80679
80680 2005-01-06  Bruno Haible  <bruno@clisp.org>
80681
80682         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
80683
80684 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
80685
80686         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
80687         definitions to be after all include files, to avoid collisions.
80688         Problem reported by Bob Proulx.
80689
80690 2005-01-04  Jim Meyering  <jim@meyering.net>
80691
80692         Changes imported from coreutils.
80693         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
80694         as the mkstemp template, use a temporary directory and an
80695         8.3-friendly template to avoid trouble on systems like DJGPP.
80696         Reported by Juan M. Guerrero via Stepan Kasal.
80697         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
80698         close. Remove the temporary directory right away, rather than waiting
80699         for configure's at-exit trap code to do it.
80700         Suggestion from Stepan Kasal.
80701
80702 2005-01-01  Simon Josefsson  <jas@extundo.com>
80703
80704         * gnulib-tool: Print #include directives when --import'ing.
80705
80706 2004-12-28  Simon Josefsson  <jas@extundo.com>
80707
80708         * tests/test-base64.c: Include required header files.  Remove
80709         unused variables.
80710
80711 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
80712
80713         * modules/error (Depends-on): Remove gettext.
80714
80715 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
80716
80717         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
80718         not needed.  This removes a dependency on the gettext module.
80719         [defined _LIBC]: Do not include <libintl.h>; not needed.
80720
80721 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
80722
80723         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
80724         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
80725
80726 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
80727
80728         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
80729         HAVE_DECL_STRTOLD.
80730
80731 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
80732
80733         * modules/getdate (Depends-on): Remove alloca-opt.
80734
80735 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
80736
80737         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
80738
80739 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
80740
80741         * lib/argp-parse.c: Include <stddef.h>.
80742         (alignof, alignto): New macros.
80743         (parser_init): Don't assume that void * is aligned sufficiently
80744         for struct option.
80745
80746         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
80747         need to extend the stack.
80748         (YYINITDEPTH): New macro, so that the initial stack isn't overly
80749         large.
80750
80751 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80752
80753         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
80754
80755 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
80756
80757         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
80758         (2004-10-24) change.  Apparently this was a false alarm.
80759
80760         * modules/getdate: Depend on alloca-opt, not alloca.
80761
80762 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
80763
80764         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
80765         Remove now-obsolete comment about AIX.
80766         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
80767         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
80768         (YYMAXDEPTH): New macro.
80769
80770 2004-12-18  Simon Josefsson  <jas@extundo.com>
80771
80772         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
80773
80774 2004-12-18  Bruno Haible  <bruno@clisp.org>
80775
80776         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
80777
80778 2004-12-18  Bruno Haible  <bruno@clisp.org>
80779
80780         * lib/fatal-signal.c (fatal_signals): Make non-const.
80781         (init_fatal_signals): New function.
80782         (uninstall_handlers, install_handlers): Ignore signals that were set to
80783         SIG_IGN.
80784         (at_fatal_signal): Call init_fatal_signals.
80785         (init_fatal_signal_set): Likewise. Ignore signals that were set to
80786         SIG_IGN.
80787         Reported by Paul Eggert.
80788
80789 2004-12-18  Bruno Haible  <bruno@clisp.org>
80790
80791         * doc/alloca.texi: New file.
80792         * doc/alloca-opt.texi: New file.
80793
80794 2004-12-17  Jim Meyering  <jim@meyering.net>
80795
80796         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
80797         Otherwise, install-sh could exit with improper exit status when
80798         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
80799
80800 2004-12-16  Simon Josefsson  <jas@extundo.com>
80801
80802         * tests/test-base64.c: Add license.
80803
80804 2004-12-15  Stepan Kasal  <address@hidden>
80805
80806         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
80807
80808 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
80809
80810         * modules/getcwd (Files): Add m4/d-ino.m4.
80811         Suggested by Mark D. Baushke.
80812
80813 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
80814
80815         * lib/getdate.y (textint): New member "negative".
80816         (time_zone_hhmm): New function.
80817         Expect 14 shift-reduce conflicts, not 13.
80818         (o_colon_minutes): New rule.
80819         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
80820         (yylex): Set the "negative" member of signed numbers.
80821
80822 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
80823
80824         * doc/getdate.texi (Time of day items, Time zone items):
80825         Describe new formats +00:00, UTC+00:00.
80826
80827 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
80828
80829         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
80830         spurious "-l"s.  Problem reported by Stepan Kasal.
80831
80832 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
80833
80834         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
80835         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
80836
80837 2004-12-04  Simon Josefsson  <jas@extundo.com>
80838
80839         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
80840         Vandoorselaere <yoann@prelude-ids.org>.
80841
80842 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
80843
80844         Changes imported from coreutils.
80845         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
80846         exist.
80847         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
80848
80849 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
80850
80851         Changes imported from coreutils.
80852         * lib/hard-locale.c: Assume <locale.h> exists.
80853         Include "strdup.h".
80854         (GLIBC_VERSION): New macro.
80855         (hard_locale): Assume setlocale exists.
80856         Rewrite to avoid #ifdef.
80857         Use strdup rather than malloc + strcpy.
80858         * lib/human.c: Assume <locale.h> exists.
80859         (human_readable): Assume localeconv exists.
80860
80861 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
80862
80863         * modules/hard-locale (Depends-on): Add strdup.
80864
80865 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
80866
80867         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
80868         convert T2, not T.  (Imported from libc.)
80869
80870 2004-11-30  Simon Josefsson  <jas@extundo.com>
80871
80872         * modules/restrict (License): Change to LGPL.
80873
80874 2004-11-30  Simon Josefsson  <jas@extundo.com>
80875
80876         * m4/restrict.m4: Add copyright and copying conditions.
80877
80878 2004-11-30  Simon Josefsson  <jas@extundo.com>
80879
80880         * m4/base64.m4: New file.
80881
80882 2004-11-30  Simon Josefsson  <jas@extundo.com>
80883
80884         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
80885         base64.
80886
80887         * tests/test-base64.c: New file.
80888
80889         * modules/base64: New file.
80890
80891 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
80892
80893         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
80894         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
80895
80896         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
80897
80898 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
80899
80900         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
80901         (__getcwd.c): Don't restore errno; glibc doesn't.
80902         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
80903         first, falling back to our code only if its results look suspicious.
80904         Ensure that the resulting buffer is only as large as necessary.
80905
80906         * lib/readutmp.c: Include readutmp.h first.
80907         Include <errno.h>, since readutmp.h no longer does that.
80908         * lib/readutmp.h: Don't include <errno.h>,
80909         <sys/param.h>, <time.h>; not needed to establish interface.
80910         (errno): Remove decl.
80911         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
80912         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
80913         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
80914
80915 2004-11-28  Simon Josefsson  <jas@extundo.com>
80916
80917         * lib/base64.h, base64.c: New file.
80918
80919 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
80920
80921         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
80922
80923 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
80924
80925         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
80926         (Depends-on): Remove pathmax, same.  Add mempcpy.
80927         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
80928         (Makefile.am): Append getcwd.h to lib_SOURCES.
80929         (Include): Add getcwd.h.
80930         (Maintainer): Change from Jim Meyering to "all, glibc",
80931         since getdate now uses intended-for-glibc code.
80932         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
80933         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
80934
80935 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
80936
80937         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
80938         HP's ANSI C compiler.
80939         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
80940         Declaring int functions causes warnings on some modern systems and
80941         shouldn't be needed to compile on ancient ones.
80942         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
80943         defined.
80944
80945         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
80946         with the following changes.
80947         (__set_errno): Parenthesize properly.
80948         Include <stdbool.h>.
80949         (MIN, MAX, MATCHING_INO): New macros.
80950         (__getcwd): Define with prototype, not K&R form.
80951         Use heuristics to allocate default buffer on stack if possible.
80952         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
80953         behavior, and to avoid the PATH_MAX limit when computing
80954         ../../../../...
80955         Use MATCHING_INO to compare inode number to file.
80956         Check for arithmetic overflow in size calculations.
80957         Fix bug in reallocation of dot array that caused getcwd to fail
80958         on directories nested deeper than 75.
80959         Be more careful about saving errno on error.
80960         Do not use realloc; use only free+malloc, as this is a bit
80961         more flexible and avoids a needless copy operation.
80962         Do not inspect st_dev and st_ino for symbolic links; POSIX
80963         doesn't specify the latter.
80964         Check for closedir errors.
80965         Avoid needless casts.
80966         Use "#ifdef weak_alias" around weak_alias, to be like other
80967         glibc code.
80968         The following changes to getcwd.c have effect only when used in
80969         gnulib; they have no effect inside glibc proper.
80970         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
80971         as alloca isn't used.
80972         (alloca, __alloca): Likewise.
80973         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
80974         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
80975         unconditionally, as gnulib assumes C89 or better.
80976         Do not include <sys/param.h>.
80977         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
80978         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
80979         better.
80980         (NULL) [!defined NULL]: Remove; we assume C89 or better.
80981         Include <dirent.h> in a way that is compatible with modern Autoconf.
80982         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
80983         New macros, if not already defined.
80984         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
80985         Use "_LIBC", not "defined _LIBC", for consistency.
80986         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
80987         a mempcpy module.
80988         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
80989         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
80990         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
80991         credit only to Jim Meyering and adjust the copyright dates.
80992         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
80993         <stdlib.h>, <unistd.h>, "pathmax.h".
80994         Instead, include "xgetcwd.h" (first) and "getcwd.h".
80995         (INITIAL_BUFFER_SIZE): Remove.
80996         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
80997
80998 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
80999
81000         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
81001         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
81002         Use the _ONCE methods, for efficiency.
81003         Check for fcntl.h.  In test program, include <errno.h>
81004         and <fcntl.h> if available.  Remove old K&R cruft from
81005         test program.  Check for common errors in GNU/Linux,
81006         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
81007         don't do AC_LIBOBJ, as that's getcwd.m4's job.
81008         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
81009         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
81010         name accordingly.
81011         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
81012         accommodate new getcwd.c.
81013         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
81014         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
81015         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
81016         that's all we need now.
81017
81018 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81019
81020         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
81021         argp-parse.c depends on getopt internals, that means we should
81022         always use our getopt, to be on the safe side.
81023         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
81024         order not to spoil the result of an eventual previous invocation
81025         of gl_GETOPT_SUBSTITUTE.
81026
81027 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81028
81029         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
81030         redefinition warnings. To avoid them, include the defines
81031         in `#if !defined __need_getopt ... #endif'. The only place
81032         where __getopt_argv_const is used is in definitions
81033         of getopt_long and getopt_long_only below, which are as well
81034         protected by `#ifndef __need_getopt'.
81035         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
81036         __need_getopt after including <stdio.h> and <unistd.h> These
81037         headers might have defined it.
81038
81039 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
81040
81041         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
81042
81043 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
81044
81045         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
81046         (futimens): New function, which uses futimes if available.
81047         (futimens, utimens): Support timespec==NULL, with same semantics
81048         as utime and utimens.
81049         * lib/utimens.h (futimens): New decl.
81050
81051 2004-11-23  Jim Meyering  <jim@meyering.net>
81052
81053         * lib/getopt_.h: Remove trailing blanks.
81054
81055 2004-11-23  Jim Meyering  <jim@meyering.net>
81056
81057         * lib/__fpending.c: Add comment.
81058
81059 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
81060
81061         * modules/canonicalize (Depends-on): Add xreadlink.
81062         Problem reported by James Youngman.
81063
81064 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
81065
81066         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
81067         New macros.
81068         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
81069         optopt): Use them instead of invoking ## directly; otherwise, the
81070         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
81071
81072 2004-11-19  Bruno Haible  <bruno@clisp.org>
81073
81074         * lib/strtok_r.c: Move comments from here...
81075         * lib/strtok_r.h: ... to here.
81076
81077 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
81078
81079         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
81080         implementations that mishandle size_t overflow.
81081
81082 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
81083
81084         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
81085         might fail.  Problem reported by Yoann Vandoorselaere.
81086         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
81087         implementations that mishandle size_t overflow.
81088
81089 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81090
81091         * modules/canon-host (Depends-on): Add strdup.
81092
81093 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81094
81095         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
81096
81097 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81098
81099         * lib/canon-host.c: Include "strdup.h".
81100         (canon_host): Use getaddrinfo if available, so that IPv6 works.
81101         Use strdup instead of malloc/strcpy to duplicate strings.
81102
81103         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
81104         (human_space_before_unit): New constant.
81105         * lib/human.c (human_readable): Support it.
81106
81107         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
81108         (xgetcwd): Set errno correctly when failing.
81109         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
81110         the failure is actually due to a PATH_MAX problem.
81111
81112         Further getopt changes to make it more likely that glibc will
81113         buy the changes back.
81114         * lib/getopt.c (POSIXLY_CORRECT): New constant.
81115         (getopt): Use it, so to preserve glibc semantic
81116         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
81117         when compiling for libc.
81118         * lib/getopt_.h (__getopt_argv_const): Bring it back.
81119         (getopt_long, getopt_long_only): Use it.
81120
81121         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
81122         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
81123         (getopt): Argv is now char * const *, as per standard.
81124         (_getopt_internal_r, _getopt_internal): Argv is now char **,
81125         not char *__getopt_argv_const *.
81126         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
81127         _getopt_long_only_r): Likewise.
81128         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
81129         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
81130         _getopt_long_r, _getopt_long_only_r): Likewise.
81131         * lib/getopt_.h (__getopt_argv_const): Remove.
81132         (getopt): Argv is now char * const *, as per standard.
81133
81134         * lib/getdate.y (tORDINAL): New token.
81135         (day, relunit): Allow it for relative times.
81136         (relative_time_table): Use tORDINAL for ordinals.
81137
81138 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81139
81140         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
81141         Document that "second" isn't allowed as an ordinal number.
81142
81143 2004-11-16  Jim Meyering  <jim@meyering.net>
81144
81145         * modules/closeout (Depends-on): Add fpending.
81146
81147 2004-11-15  Jim Meyering  <jim@meyering.net>
81148
81149         * lib/closeout.c: Include "__fpending.h" once again.
81150         Include <stdbool.h>.
81151         (close_stdout): Don't fail just because stdout was closed initially,
81152         since some programs don't write to stdout in the normal course of
81153         operation (other than --version and --help), and we don't want this
81154         function to make e.g. `touch file >&-' fail.
81155         But do fail if it was closed and someone has tried to write to it.
81156         E.g., `printf foo >&-' must fail.
81157
81158 2004-11-13  Jim Meyering  <jim@meyering.net>
81159
81160         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
81161
81162 2004-11-12  Simon Josefsson  <jas@extundo.com>
81163
81164         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
81165         small doc fix is still pending.
81166
81167 2004-11-11  Simon Josefsson  <jas@extundo.com>
81168
81169         * modules/strtok_r: New file.
81170
81171         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81172         strtok_r.
81173
81174 2004-11-11  Simon Josefsson  <jas@extundo.com>
81175
81176         * m4/strtok_r.m4: New file.
81177
81178         * m4/getopt.m4: Replace opterr.
81179
81180 2004-11-11  Simon Josefsson  <jas@extundo.com>
81181
81182         * lib/strtok_r.h, strtok_r.c: New file.
81183
81184 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
81185
81186         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
81187         of replacing opterr, getopt, etc.  This should handle the
81188         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
81189
81190 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
81191
81192         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
81193         we can stop lying to compilers about the constness of argv when we
81194         are compiled outside glibc.
81195         (getopt, getopt_long, getopt_long_only): Use it.
81196         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
81197         _getopt_internal, getopt): Likewise.
81198         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
81199         _getopt_long_only_r): Likewise.
81200         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
81201         _getopt_long_r, _getopt_long_only_r): Likewise.
81202
81203         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
81204         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
81205         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
81206         the other external symbols.
81207         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
81208         declaration, since the above renaming now works around collisions.
81209
81210 2004-11-11  Jim Meyering  <jim@meyering.net>
81211
81212         * lib/linebreak.c: Remove trailing blanks.
81213         * lib/alloca_.h: Likewise.
81214         * lib/acosl.c: Likewise.
81215         * lib/euidaccess.c: Likewise.
81216         * lib/allocsa.h: Likewise.
81217
81218 2004-11-10  Simon Josefsson  <jas@extundo.com>
81219
81220         * m4/getaddrinfo.m4: New file.
81221
81222 2004-11-10  Simon Josefsson  <jas@extundo.com>
81223
81224         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
81225
81226 2004-11-10  Simon Josefsson  <jas@extundo.com>
81227
81228         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81229         getaddrinfo.
81230
81231         * modules/getaddrinfo: New file.
81232
81233 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81234
81235         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
81236
81237 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81238
81239         * lib/mktime.c (SHR): New macro, which is a portable
81240         substitute for >> that should work even on Crays.
81241         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
81242         Problem reported by Mark D. Baushke in
81243         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
81244         * lib/getdate.y (SHR): Likewise.
81245         (tm_diff): Use it.
81246         * lib/strftime.c (SHR): Likewise.
81247         (tm_diff): Use it.
81248         * lib/quotearg.c (struct quoting_options): Use unsigned int for
81249         quote_these_too, so that right shifts are well defined.  All uses
81250         changed.
81251
81252 2004-11-10  Jim Meyering  <jim@meyering.net>
81253
81254         Ensure that no close failure goes unreported.
81255         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
81256         return early when it seems there's nothing to flush.
81257         Don't include __fpending.h.
81258
81259 2004-11-10  Jim Meyering  <jim@meyering.net>
81260
81261         * modules/closeout (Depends-on): Remove fpending.
81262
81263 2004-11-10  Jim Meyering  <jim@meyering.net>
81264
81265         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
81266
81267 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
81268
81269         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
81270         gl_FUNC_STRFTIME.
81271         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
81272         and AC_REQUIRE when possible, to avoid duplicate checks.
81273         Check for <wchar.h>.
81274
81275 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
81276
81277         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
81278
81279 2004-11-09  Bruno Haible  <bruno@clisp.org>
81280
81281         * m4/sockpfaf.m4: New file.
81282
81283 2004-11-05  Bruno Haible  <bruno@clisp.org>
81284
81285         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
81286         Reported by Mark D. Baushke <mdb@cvshome.org>.
81287
81288 2004-11-04  Bruno Haible  <bruno@clisp.org>
81289
81290         2004-09-11  Bruno Haible  <bruno@clisp.org>
81291                 * allocsa.valgrind: New file.
81292         2004-02-06  Bruno Haible  <bruno@clisp.org>
81293                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
81294                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
81295                 Reported by Christopher Seip <chris.seip@hp.com>.
81296
81297 2004-11-04  Bruno Haible  <bruno@clisp.org>
81298
81299         * modules/allocsa (Files): Add lib/allocsa.valgrind.
81300         (Makefile.am): Distribute it.
81301
81302 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
81303
81304         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
81305         with errno == ERANGE if the buffer is too small.
81306         Problem reported by Mark D. Baushke.
81307
81308 2004-11-03  Albert Chin  <china@thewrittenword.com>
81309             Paul Eggert  <eggert@cs.ucla.edu>
81310
81311         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
81312         equivalent, substitute $ac_type for equivalent type rather than
81313         blindly using uint32_t *always* which won't work if uint32_t is not
81314         available.  Define _UINT32_T to work around typedef of uint32_t if
81315         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
81316         2.5.1.
81317
81318 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
81319
81320         * m4/jm-macros.m4: Sync from coreutils.
81321         (gl_MACROS): Check for mbrlen, for pathchk.
81322         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
81323
81324 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
81325
81326         * lib/xreadlink.c (MAXSIZE): New macro.
81327         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
81328         size does not exceed MAXSIZE.  Avoid cast.
81329         As suggested by Mark D. Baushke in
81330         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
81331         if readlink fails with buffer size just under MAXSIZE, try again
81332         with MAXSIZE.
81333
81334 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
81335
81336         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
81337
81338 2004-11-02  Derek R. Price  <derek@ximbiot.com>
81339         and  Paul Eggert  <eggert@cs.ucla.edu>
81340
81341         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
81342         (get_date): Overparenthesize to avoid GCC warning.
81343
81344 2004-11-02  Bruno Haible  <bruno@clisp.org>
81345
81346         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
81347         returns void.
81348
81349 2004-11-02  Bruno Haible  <bruno@clisp.org>
81350
81351         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
81352         function returns void.
81353
81354 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
81355
81356         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
81357         fflush_unlocked, flockfile, funlockfile, funlockfile,
81358         fputs_unlocked, putc_unlocked.
81359
81360 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
81361
81362         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
81363         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
81364         already declared.
81365
81366 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81367
81368         * modules/getdate (Files): Add doc/getdate.texi.
81369         (Depends-on): Add setenv, xalloc.
81370
81371 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81372
81373         * lib/getdate.y: Add support for TZ="foo" within a date string.
81374         Fix some bugs near time_t boundaries.  Reject dates with
81375         out-of-range components, e.g., "Sept 31".
81376         Include <stdlib.h>, "setenv.h", "xalloc.h".
81377         (ISDIGIT_LOCALE): Remove; unused.
81378         Note that the TZ and time functions used here are not reentrant.
81379         (mktime_ok, get_tz): New functions.
81380         (TZBUFSIZE): New constant.
81381         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
81382         This requires that we sometimes generate our own TZ="XXX..." setting.
81383
81384 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81385
81386         * doc/getdate.texi: New file, from coreutils with modifications for
81387         the new TZ parsing.
81388
81389 2004-10-27  Derek R. Price  <derek@ximbiot.com>
81390
81391         * lib/mktime.c (not_equal_tm): Remove redundant check.
81392
81393 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
81394
81395         * modules/regex (lib_SOURCES): Add regex.c.
81396         Reported by James Youngman in
81397         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
81398
81399 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
81400
81401         * lib/getdate.y: Use Bison 1.875 features, and some minor
81402         code cleanups.  This change does not affect semantics.
81403         Don't include <stdlib.h>; no longer needed.
81404         Don't include unlocked-io.h; only the "#if TEST" code uses
81405         stdio, and performance isn't crucial there.
81406         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
81407         Bison 1.875 features as described below.
81408         All uses of "PC." replaced by "pc->".
81409         (YYSTYPE): Add a forward declaration.
81410         (yylex, yyerror): Use full prototypes in forward decls.
81411         Use "%pure-parser" rather than obsolescent "%pure_parser".
81412         Use %parse-param and %lex-param instead of obsolescent
81413         YYPARSE_PARAM and YYLEX_PARAM.
81414         (meridian_table, month_and_day_table, time_units_table,
81415         relative_time_table, time_zone_table, military_table,
81416         lookup_zone, lookup_word, get_date):
81417         Use NULL instead of 0 where appropriate.
81418         (to_hour): Avoid abort (), to avoid a dependency on
81419         stdlib.h.
81420         (yyerror, yylex): Now accepts parser_control * arg.
81421         (main) [TEST]: Use '\0' rather than 0 for char.
81422
81423 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
81424
81425         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
81426
81427 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
81428
81429         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
81430         It's now the caller's responsibility to handle the case where
81431         !HAVE_GETPAGESIZE && !defined getpagesize.
81432
81433         * lib/mktime.c (leapyear): Arg is long int, not int.
81434
81435 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
81436
81437         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
81438
81439 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
81440
81441         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
81442         missing.  Problem reported by James Youngman.
81443
81444 2004-10-16  Simon Josefsson  <jas@extundo.com>
81445
81446         * gnulib-tool: Fix comments.  Fix parse problem.
81447         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
81448
81449 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
81450
81451         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
81452         implementation of getopt_long.  Problem reported by Alexander Taler in:
81453         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
81454
81455 2004-10-15  Bruno Haible  <bruno@clisp.org>
81456
81457         * gnulib-tool: Untabify. Initialize supplied_libname.
81458         (func_usage): More homogenous output.
81459         (func_modules_transitive_closure, func_modules_to_filelist,
81460         func_emit_lib_Makefile_am): New functions.
81461         (func_import): New function, extracted from big case statement. Use
81462         func_get_license, func_modules_transitive_closure,
81463         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
81464         opt_lgpl. Don't use test -a, as it's not portable.
81465         (func_create_testdir): Use func_modules_transitive_closure,
81466         func_modules_to_filelist, func_emit_lib_Makefile_am.
81467
81468 2004-10-15  Bruno Haible  <bruno@clisp.org>
81469
81470         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
81471
81472 2004-10-15  Bruno Haible  <bruno@clisp.org>
81473
81474         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
81475         the portions belonging to each module.
81476         Suggested by Derek Robert Price <derek@ximbiot.com>.
81477
81478 2004-10-12  Simon Josefsson  <jas@extundo.com>
81479
81480         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
81481         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
81482         to real functions.
81483
81484 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81485
81486         * modules/vsnprintf: New file.
81487
81488 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81489
81490         * m4/vsnprintf.m4: New file.
81491
81492 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81493
81494         * lib/vsnprintf.h: New file.
81495         * lib/vsnprintf.c: New file.
81496
81497 2004-10-11  Bruno Haible  <bruno@clisp.org>
81498
81499         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
81500         vsnprintf.
81501
81502 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
81503
81504         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
81505
81506 2004-10-07  Bruno Haible  <bruno@clisp.org>
81507
81508         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
81509         fits into the provided buffer.
81510
81511 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
81512
81513         * lib/diacrit.c, diacrit.h: Add GPL notice.
81514
81515         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
81516         notice.
81517         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
81518         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
81519         This avoids a potential constant-folding bug.
81520
81521 2004-10-05  Bruno Haible  <bruno@clisp.org>
81522
81523         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
81524         for the declaration of strsep.
81525
81526 2004-10-05  Bruno Haible  <bruno@clisp.org>
81527
81528         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
81529
81530 2004-10-04  Simon Josefsson  <jas@extundo.com>
81531
81532         * modules/memmem: New file.
81533         * tests/test-memmem.c: New file.
81534         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
81535
81536 2004-10-04  Simon Josefsson  <jas@extundo.com>
81537
81538         * m4/memmem.m4: New file.
81539
81540 2004-10-04  Simon Josefsson  <jas@extundo.com>
81541
81542         * lib/memmem.h: New file.
81543         * lib/memmem.c: New file, taken from glibc.
81544
81545 2004-10-04  Simon Josefsson  <jas@extundo.com>
81546
81547         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
81548         '#ifdef USE_UNLOCKED_IO'.
81549
81550 2004-10-04  Simon Josefsson  <jas@extundo.com>
81551
81552         * config/srclist.txt: Add memmem from glibc.
81553
81554 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
81555
81556         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
81557
81558         * modules/argmatch, modules/argp, modules/closeout, modules/error,
81559         modules/exclude, modules/getdate, modules/getline,
81560         modules/getndelim2, modules/getpass, modules/getpass-gnu,
81561         modules/getusershell, modules/linebuffer, modules/md5,
81562         modules/mountlist, modules/posixtm, modules/readtokens,
81563         modules/readutmp, modules/regex, modules/sha1,
81564         modules/version-etc, modules/yesno:
81565         Remove dependency on unlocked-io.
81566
81567 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
81568
81569         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
81570
81571         * m4/unlocked-io.m4: Add copyright notice.
81572         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
81573
81574 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
81575
81576         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
81577         * lib/xmalloc.c (xmemdup): Likewise.
81578         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
81579         XFREE): Remove these long-obsolescent macros.
81580         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
81581         * lib/xstrdup.c: Remove.
81582
81583         * lib/regex.c (re_comp): Cast gettext return value to char *,
81584         Problem reported by Martin Neitzel via Mark D. Baushke.
81585
81586 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
81587
81588         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
81589         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
81590         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
81591         regex.c, sha1.c, version-etc.c, yesno.c:
81592         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
81593         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
81594         the includer's responsibility.
81595
81596         Sync from coreutils.
81597
81598         * lib/modechange.c (mode_compile): Don't decrement a pointer that
81599         points to the start of a string, as the C Standard says the
81600         resulting behavior is undefined.
81601
81602         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
81603         simple -> simple_backups, numbered_existing ->
81604         numbered_existing_backups, numbered -> numbered_backups
81605         to avoid shadowing problems.  All uses changed.
81606         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
81607         * lib/backupfile.c (check_extension, numbered_backup):
81608         Rename locals to avoid shadowing 'basename'.
81609         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
81610         once.
81611
81612         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
81613         * lib/.cvsignore: Add getopt.h.
81614
81615 2004-10-04  Bruno Haible  <bruno@clisp.org>
81616
81617         * modules/README: New file.
81618         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
81619         not a module.
81620
81621 2004-10-02  Jim Meyering  <jim@meyering.net>
81622
81623         * lib/dirfd.h, getpagesize.h: Add copyright notice.
81624
81625 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81626
81627         * modules/strsep: New file.
81628
81629 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81630
81631         * m4/strsep.m4: New file.
81632
81633 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81634
81635         * lib/strsep.h: New file.
81636         * lib/strsep.c: New file.
81637
81638 2004-10-01  Simon Josefsson  <jas@extundo.com>
81639
81640         * lib/snprintf.c (snprintf): Handle size==0.
81641
81642 2004-10-01  Simon Josefsson  <jas@extundo.com>
81643             Bruno Haible  <bruno@clisp.org>
81644
81645         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
81646         (snprintf): Declare 'args'.
81647
81648 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
81649
81650         * lib/snprintf.c: Remove comments as to why each header is needed.
81651
81652 2004-10-01  Bruno Haible  <bruno@clisp.org>
81653
81654         * MODULES.html.sh: Add strsep.
81655
81656 2004-09-30  Simon Josefsson  <jas@extundo.com>
81657
81658         * modules/snprintf: New file.
81659
81660 2004-09-30  Simon Josefsson  <jas@extundo.com>
81661
81662         * m4/snprintf.m4: New file.
81663
81664 2004-09-30  Simon Josefsson  <jas@extundo.com>
81665
81666         * lib/snprintf.h, lib/snprintf.c: New files.
81667
81668 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81669
81670         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
81671         (hol_entry_help): Never translate an empty string.
81672         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
81673         * lib/argp.h (OPTION_NO_TRANS): New option.
81674
81675 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
81676
81677         * modules/argp (Maintainer): Replace Simon Josefsson
81678         by Sergey Poznyakoff.
81679
81680 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
81681
81682         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
81683         changes merged back into glibc.
81684
81685 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
81686
81687         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
81688
81689 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
81690
81691         * lib/xvasprintf.c: Include xalloc.h.
81692         (xvasprintf): Use xalloc_die, not xmalloc_die.
81693
81694 2004-09-29  Bruno Haible  <bruno@clisp.org>
81695
81696         * modules/alloca-opt: New file, derived from modules/alloca.
81697         * modules/allocsa: Depend on alloca-opt instead of alloca.
81698         * modules/setenv: Likewise.
81699         * modules/vasnprintf: Likewise.
81700         * MODULES.html.sh: Add alloca-opt.
81701
81702 2004-09-28  Simon Josefsson  <jas@extundo.com>
81703
81704         * gnulib-tool: New parameter --lgpl, to asseert that modules are
81705         LGPL, and to replace license template from GPL to LGPL.
81706
81707 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
81708
81709         * modules/dummy: Change license to LGPL.
81710
81711 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
81712
81713         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
81714
81715 2004-09-24  Simon Josefsson  <jas@extundo.com>
81716
81717         * modules/minmax (License): Change from GPL to LGPL.
81718
81719 2004-09-23  Simon Josefsson  <jas@extundo.com>
81720
81721         * gnulib-tool (--import): Typo.
81722
81723 2004-09-23  Simon Josefsson  <jas@extundo.com>
81724
81725         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
81726
81727 2004-09-22  Bruno Haible  <bruno@clisp.org>
81728
81729         * modules/*: Add 'License' field.
81730         * gnulib-tool: Accept --extract-license option.
81731         (func_get_license): New function.
81732
81733 2004-09-21  Bruno Haible  <bruno@clisp.org>
81734
81735         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
81736         Reported by Simon Josefsson.
81737
81738 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
81739
81740         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
81741         gl_AC_TYPE_LONG_LONG.
81742
81743 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
81744
81745         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
81746
81747 2004-09-18  Simon Josefsson  <jas@extundo.com>
81748         and  Paul Eggert  <eggert@cs.ucla.edu>
81749
81750         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
81751         calls with autoreconf.  Define GL_LIB.
81752
81753 2004-09-14  Karl Berry  <karl@gnu.org>
81754
81755         * config/srclist.txt: unsync setenv.c, sigh.
81756
81757 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
81758
81759         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
81760         Problem reported by Bruno Haible in:
81761         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
81762
81763 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
81764
81765         * config/srclist.txt: Comment out argp-pvh.c.
81766
81767 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
81768
81769         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
81770         in case some system header has #define'd it.  Problem reported by
81771         Soeren D. Schulze in
81772         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
81773
81774 2004-09-09  Karl Berry  <karl@gnu.org>
81775
81776         * regex.[ch]: delete from the root.  These were supposed to be
81777                 synced with emacs cvs, but this has not happened for about
81778                 a year, and anyway nothing else uses emacs regex.[ch].
81779                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
81780                 lib/regex[.ch] is untouched.
81781
81782 2004-09-09  Bruno Haible  <bruno@clisp.org>
81783
81784         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
81785
81786 2004-09-09  Bruno Haible  <bruno@clisp.org>
81787
81788         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
81789         modifications.
81790         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
81791
81792 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
81793
81794         * modules/xvasprintf: New file.
81795         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
81796
81797 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
81798
81799         * lib/xvasprintf.h: New file.
81800         * lib/xvasprintf.c: New file.
81801         * lib/xasprintf.c: New file.
81802
81803 2004-09-08  Bruno Haible  <bruno@clisp.org>
81804
81805         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
81806
81807 2004-09-08  Bruno Haible  <bruno@clisp.org>
81808
81809         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
81810         length is > INT_MAX.
81811         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
81812         more.
81813
81814 2004-09-08  Bruno Haible  <bruno@clisp.org>
81815
81816         * lib/stdint_.h: New file, taken from GNU clisp.
81817
81818 2004-09-08  Bruno Haible  <bruno@clisp.org>
81819             Oskar Liljeblad  <oskar@osk.mine.nu>
81820
81821         * modules/stdint: New file.
81822         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
81823
81824 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81825
81826         Import from coreutils.
81827         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
81828         strings on unbounded length.  alloca's performance benefits aren't
81829         that important here.
81830         (V_STRDUP): Remove.
81831         (parse_with_separator): New function, with most of the internals
81832         of the old parse_user_spec.  Allow user to omit both user and group,
81833         for compatibility with FreeBSD.
81834         Clone only the user name, not the entire spec.
81835         Do not set *uid, *gid unless entirely successful.
81836         Avoid memory leak in some failing cases.
81837         Fix regression for USER.GROUP reported by Dmitry V. Levin in
81838         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
81839         (parse_user_spec): Rewrite to use parse_with_separator.
81840
81841 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81842
81843         * modules/userspec: Don't depend on alloca.
81844
81845 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81846
81847         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
81848
81849 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
81850
81851         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
81852         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
81853         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
81854
81855 2004-08-16  Simon Josefsson  <jas@extundo.com>
81856
81857         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
81858         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
81859         Add --dry-run for --import.
81860         Let user provided command line parameters override configure.ac
81861         settings.
81862
81863 2004-08-12  Simon Josefsson  <jas@extundo.com>
81864
81865         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
81866         as discussed with Paul Eggert in threads rooted at
81867         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
81868         and
81869         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
81870         Before, the test was empty, and relied on ELIDE_CODE in source
81871         code.)
81872         (gl_PREREQ_GETOPT): New macro.
81873         (gl_GETOPT): Use them.
81874
81875 2004-08-12  Simon Josefsson  <jas@extundo.com>
81876
81877         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
81878         * lib/getopt_.h: Renamed from getopt.h.
81879
81880 2004-08-12  Simon Josefsson  <jas@extundo.com>
81881
81882         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
81883         Change default library name from libfoo to libgnu.
81884         Now, if you have a configure.ac that says:
81885                 gl_SOURCE_BASE(gl)
81886                 gl_M4_BASE(gl/m4)
81887                 gl_MODULES(error getopt etcetera)
81888                 gl_INIT
81889         you can import all you need by running:
81890                 ../gnulib/gnulib-tool --import
81891
81892         * modules/getopt (Files): Rename getopt.h to getopt_.h.
81893         (Makefile.am): Rewrite, use logic from argz.
81894         (Include): Use <getopt.h> instead of "getopt.h".
81895
81896 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
81897
81898         * modules/argp (Files): Add m4/unlocked-io.m4.
81899         (Depends-on): Add extensions.
81900
81901 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
81902
81903         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
81904         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
81905         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
81906         Check for program_invocation_name, program_invocation_short_name,
81907         flockfile, funlockfile, features.h, _getopt_long_only_r.
81908
81909 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
81910
81911         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
81912         its complicated substitute.
81913         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
81914         and program_invocation_name.
81915         (__argp_basename) [!_LIBC]: Remove; the only use was
81916         replaced by its body.
81917         (__argp_short_program_name): Change condition from
81918         !defined __argp_short_program_name to
81919         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
81920         to match argp-namefrob.h.
81921         (__argp_failure): Don't assume strerror_r returns char *.
81922         * lib/argp-parse.c (N_): Define unconditionally.
81923         (argp_default_options): Fill out initializers with 0 to avoid
81924         gcc warnings.
81925
81926 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
81927
81928         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
81929         getopt1.c.
81930
81931 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
81932
81933         Merge from coreutils.
81934
81935         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
81936
81937         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
81938         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
81939
81940 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
81941
81942         Merge from coreutils.
81943
81944         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
81945         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
81946         for Reliant Unix 5.43.
81947
81948         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
81949         (union fooround): Use uintmax_t, not long int.
81950         The rest is a merge from libc:
81951         [defined _LIBC]: Include <shlib-compat.h>.
81952         (_obstack) [defined _LIBC]: Remove after 2.3.4.
81953
81954         * lib/settime.c (settime): Recode to avoid warning with
81955         Sun Forte C 6U2.
81956
81957         * lib/strverscmp.c: Convert to UTF-8.
81958
81959 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
81960
81961         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
81962         m4/uintmax_t.m4.
81963
81964 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
81965
81966         * modules/xalloc-die: New file.
81967         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
81968
81969         * modules/md5 (Files): Add m4/uint32_t.m4.
81970         * modules/sha1: Renamed from modules/sha.
81971         (Files):
81972         Rename lib/sha.h to lib/sha1.h.
81973         Rename lib/sha.c to lib/sha1.c.
81974         Rename m4/sha.m4 to m4/sha1.m4.
81975         (lib_SOURCES): Likewise.
81976         (configure.ac): Rename gl_SHA to gl_SHA1.
81977         (Include): sha.h -> sha1.h.
81978
81979 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
81980
81981         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
81982         * m4/sha1.m4: Renamed from sha.m4.
81983         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
81984
81985 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
81986
81987         * lib/obstack.h (obstack_empty_p):
81988         Don't assume that chunk->contents is suitably aligned.
81989         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
81990         Likewise. Problem reported by Benno in
81991         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
81992
81993         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
81994         readable.  This could be improved further but it'd take some work.
81995
81996 2004-08-08  Simon Josefsson  <jas@extundo.com>
81997
81998         * modules/xgethostname (Depends-on): Remove exit and error (not
81999         used).
82000
82001         * modules/getpass-gnu: Add getpass.h.
82002         (Depends-on): Add stdbool.
82003         * modules/getpass: Add getpass.h.
82004
82005 2004-08-08  Simon Josefsson  <jas@extundo.com>
82006
82007         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
82008         Check getpass declaration.
82009
82010 2004-08-08  Simon Josefsson  <jas@extundo.com>
82011
82012         * lib/xgethostname.c: Don't include error.h (not used).
82013
82014         * lib/getpass.h: Add.
82015         * lib/getpass.c: Include getpass.h first.
82016
82017 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
82018
82019         * lib/xalloc-die.c: New file.
82020         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
82021         All uses removed.
82022         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
82023         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
82024         xalloc-die.c.
82025         (_, N_, xalloc_die): Move to xalloc-die.c.
82026         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
82027         so that we needn't mess with xalloc_msg_memory_exhausted.
82028
82029         * lib/sha1.h: Renamed from sha.h.
82030         (SHA1_H): Renamed from _SHA_H.
82031         (sha1_ctx): Renamed from sha_ctx.
82032         (sha1_init_ctx): Renamed from sha_init_ctx.
82033         (sha1_process_block): Renamed from sha_process_block.
82034         (sha1_process_bytes): Renamed from sha_process_bytes.
82035         (sha1_finish_ctx): Renamed from sha_finish_ctx.
82036         (sha1_read_ctx): Renamed from sha_read_ctx.
82037         (sha1_stream): Renamed from sha_stream.
82038         (sha1_buffer): Renamed from sha_buffer.
82039         * lib/sha1.c: Likewise; renamed from sha.c.
82040         Do not include <sys/types.h>.
82041         Include <stddef.h> rather than <stdlib.h>.
82042
82043 2004-08-08  Bruno Haible  <bruno@clisp.org>
82044
82045         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
82046         FILESYSTEM_PREFIX_LEN.
82047         * lib/progreloc.c: Likewise.
82048         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
82049
82050 2004-08-06  Simon Josefsson  <jas@extundo.com>
82051
82052         * modules/progname (Depends-on): Don't depend on stdbool.
82053
82054 2004-08-06  Simon Josefsson  <jas@extundo.com>
82055
82056         * modules/getsubopt: New file.
82057         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82058         getsubopt.
82059
82060 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
82061
82062         More merge from coreutils.
82063
82064         * m4/utimens.m4, m4/utimecmp.m4: New files.
82065         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
82066         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
82067         prereq.m4, sha.m4: Import changes from coreutils.
82068
82069 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
82070
82071         More merge from coreutils.
82072         * modules/raise, modules/readtokens0, modules/utimens:
82073         * modules/utimecmp, module/xnanosleep: New files.
82074         * modules/strftime: Add lib/strftime.h.
82075         Change include from <time.h> to "strftime.h".
82076         * modules/yesno: Add lib/yesno.h.
82077         * modules/backupfile: Remove lib/addext.c.
82078         * modules/euidaccess: Add stat-macros.h.
82079         * modules/canonicalize, modules/euidaccess,
82080         modules/filemode, modules/lchown, modules/makepath,
82081         modules/rmdir, modules/stat: Likewise.
82082
82083 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
82084
82085         Merge from tar.
82086         * lib/argp-help.c (make_hol, hol_append): Don't assume that
82087         SIZE_MAX is a valid preprocessor constant.
82088         (__argp_basename): Change from "#ifndef _LIBC"
82089         to "#ifndef __argp_short_program_name", so that
82090         we don't compile these functions for tar.
82091
82092         More merges from coreutils.
82093         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
82094         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
82095         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
82096         * lib/addext.c: Remove; no longer needed.
82097         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
82098         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
82099         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
82100         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
82101         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
82102         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
82103         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
82104         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
82105         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
82106         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
82107         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
82108         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
82109         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
82110         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
82111         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
82112         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
82113         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
82114         Import changes from coreutils.
82115
82116 2004-08-05  Simon Josefsson  <jas@extundo.com>
82117
82118         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
82119
82120 2004-08-05  Simon Josefsson  <jas@extundo.com>
82121
82122         * m4/getsubopt.m4: New file.
82123
82124 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
82125
82126         Merge from coreutils.
82127
82128         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
82129         * m4/getcwd-path-max.m4: New files.
82130
82131         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
82132         FILESYSTEM_PREFIX_LEN ->
82133         FILE_SYSTEM_PREFIX_LEN.
82134         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
82135         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
82136         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
82137         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
82138
82139         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
82140         prerequisite modules now handle the DOS stuff.
82141         Don't check for unistd.h.
82142
82143 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
82144
82145         Merge from coreutils.
82146
82147         * lib/.gdb-history: Remove; this doesn't belong here.
82148
82149         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
82150         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
82151         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
82152         * lib/getcwd.c: New files.
82153
82154         * lib/dirname.h: Include <stdbool.h>.
82155         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
82156         for consistency with POSIX terminology.  All uses changed.
82157         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
82158         (strip_trailing_slashes): Use bool for booleans.
82159         * lib/stripslash.c (strip_trailing_slashes): Likewise.
82160
82161         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
82162         sometimes returns a positive errno value even when it succeeds.
82163         (print_errno_message) [!LIBC]: Fall back on strerror if
82164         __strerror_r fails.
82165
82166         * lib/path-concat.c (mempcpy): Don't define if a system header defines
82167         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
82168         (longest_relative_suffix): New function.
82169         (path_concat): Use it.  Assume first argument is not NULL.
82170         Port to DOS.  Omit redundant separators.
82171         Report an error instead of returning NULL.
82172         Use mempcpy instead of memcpy.
82173         (xpath_concat): Remove: not declared or used.
82174
82175         * lib/same.h: Include <stdbool.h>
82176         (same_name): Return bool, not int.
82177         * lib/same.c (same_name): Likewise.
82178         (errno): Don't declare; we assume C89 or better now.
82179
82180         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
82181         if not already defined.
82182
82183         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
82184         * lib/dup-safer.c (errno): Likewise.
82185
82186 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
82187
82188         Merge from coreutils.
82189         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
82190         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
82191         * modules/path-concat: Don't depend on strdup.
82192
82193 2004-08-03  Simon Josefsson  <jas@extundo.com>
82194
82195         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
82196         * lib/progname.h: Don't include stdbool.h.
82197
82198 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
82199
82200         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
82201         * MODULES.html.sh (func_all_modules): Remove fatal.
82202
82203 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
82204
82205         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
82206
82207 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
82208
82209         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
82210         working.
82211
82212 2004-08-02  Simon Josefsson  <jas@extundo.com>
82213
82214         * lib/getsubopt.h: New file, with comments from Bruno Haible.
82215         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
82216         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
82217
82218 2004-08-01  Simon Josefsson  <jas@extundo.com>
82219
82220         * lib/xgetdomainname.c: Include stdlib.h, for free().
82221
82222 2004-07-19  Bruno Haible  <bruno@clisp.org>
82223
82224         * MODULES.html.sh (func_all_modules): Add dummy.
82225
82226 2004-07-16  Simon Josefsson  <jas@extundo.com>
82227
82228         * modules/dummy: New file.
82229
82230 2004-07-16  Simon Josefsson  <jas@extundo.com>
82231
82232         * lib/dummy.c: New file.
82233
82234 2004-07-16  Bruno Haible  <bruno@clisp.org>
82235
82236         * lib/backupfile.h: Add extern "C" for C++.
82237         * lib/closeout.h: Likewise.
82238         * lib/copy-file.h: Likewise.
82239         * lib/findprog.h: Likewise.
82240         * lib/full-write.h: Likewise.
82241         * lib/pathname.h: Likewise.
82242         * lib/progname.h: Likewise.
82243         * lib/stpcpy.h: Likewise.
82244         * lib/stpncpy.h: Likewise.
82245         * lib/strcase.h: Likewise.
82246         * lib/strstr.h: Likewise.
82247         * lib/xalloc.h: Likewise.
82248
82249         * lib/mbswidth.h: Add extern "C" for C++.
82250         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
82251
82252 2004-07-13  Robert Millan  <robertmh@gnu.org>
82253
82254         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
82255
82256 2004-07-09  Simon Josefsson  <jas@extundo.com>
82257
82258         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
82259         failed without this.)
82260
82261 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
82262
82263         * modules/chown (Files): Add lib/fchown-stub.c, since
82264         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
82265
82266 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
82267
82268         * lib/fchown-stub.c: New file.
82269
82270 2004-06-24  Jim Meyering  <jim@meyering.net>
82271
82272         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
82273
82274 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82275
82276         * modules/argz: Omit "#include".
82277
82278         * MODULES.html.sh (func_all_modules): Add calloc, to match
82279         2004-06-01 addition of calloc module.
82280
82281 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82282
82283         * m4/argz.m4: New file, which is autoupdated from libtool.
82284
82285 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82286
82287         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
82288         libtool.
82289
82290 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82291
82292         * config/srclist-update: Don't insist on "USA." before the
82293         close-comment, as libtool omits the period and puts the */ on a
82294         separate line.
82295         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
82296         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
82297
82298 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
82299
82300         * modules/argz: New file.
82301         * MODULES.html.sh (func_all_modules): Add argz.
82302
82303 2004-06-12  Jim Meyering  <jim@meyering.net>
82304         and  Paul Eggert  <eggert@cs.ucla.edu>
82305
82306         * modules/hash (Files): Add lib/xalloc.h.
82307         * modules/pipe (Depends-on): Add wait-process.
82308         * modules/stat (Depends-on): Add xalloc.
82309         * modules/userspec (Files): Add lib/userspec.h.
82310         * modules/xstrto
82311
82312         Upgrade from gettext-0.13.
82313         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
82314         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
82315         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
82316
82317 2004-06-10  Jim Meyering  <jim@meyering.net>
82318
82319         * lib/calloc.c: New file.
82320
82321 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
82322
82323         * lib/getdate.y (yylex): Allow space between sign and number.
82324         Problem reported by Dan Jacobson.
82325
82326 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
82327
82328         Merge from coreutils CVS.
82329
82330         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
82331         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
82332         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
82333         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
82334         xstrtol.m4: Fix copyright date and/or serial number.
82335
82336         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
82337         See if we need an fchown replacement.
82338         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
82339         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
82340         and use the replacement function if we detect either defect.
82341
82342         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
82343         gl_UTIMECMP.
82344
82345 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
82346         and  Jim Meyering  <jim@meyering.net>
82347
82348         Merge from coreutils CVS.
82349
82350         * lib/stat-macros.h: New file, with contents from file-type.h
82351         and coreutils' system.h.
82352         * lib/file-type.c: Include "stat-macros.h".
82353         * lib/file-type.h (file_type): Move all macro definitions to new file,
82354         stat-macros.h.
82355
82356         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
82357         Wrap old code with this conditional.
82358         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
82359         function that does not dereference symlinks.
82360         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
82361
82362         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
82363         dependency problems.
82364         (xreadlink): Accept new arg SIZE, for efficiency.
82365         All decls and uses changed.
82366         * lib/xreadlink.h: Include <stddef.h>, for size_t.
82367
82368         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
82369         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
82370
82371         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
82372         sysexits.h.
82373
82374 2004-06-01  Jim Meyering  <jim@meyering.net>
82375
82376         * m4/calloc.m4: New file.
82377
82378 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
82379
82380         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
82381         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
82382         Also, fix a typo in a diagnostic.
82383
82384 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
82385
82386         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
82387         or AC_FUNC_REALLOC.
82388
82389 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
82390
82391         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
82392         macros to be defined.
82393         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
82394         the allocator returns NULL because the requested size is zero.
82395
82396 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82397
82398         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
82399         var.  Add comment explaining why libc still defines it.  This
82400         merges the following patch from glibc:
82401         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
82402
82403 2004-05-20  Andreas Schwab  <schwab@suse.de>
82404
82405         * m4/free.m4: Replace free if it not known to work, not the other
82406         way round.
82407
82408 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
82409
82410         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
82411         present in glibc since revision 1.1 of this file.
82412         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
82413         obstack_alignment_mask, obstack_alloc, obstack_base,
82414         obstack_blank, obstack_blank_fast, obstack_chunk_size,
82415         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
82416         obstack_grow0, obstack_init, obstack_int_grow,
82417         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
82418         obstack_next_free, obstack_object_size, obstack_ptr_grow,
82419         obstack_ptr_grow_fast, obstack_room): Remove declarations of
82420         nonexistent functions.
82421
82422 2004-05-18  Karl Berry  <karl@gnu.org>
82423
82424         * config/srclist.txt: break link for vasnprintf.c.
82425
82426 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
82427
82428         Port obstack to the AS/400, where pointers are 16 bytes wide and
82429         you cannot cast an integer to a valid pointer.  This patch is
82430         currently waiting to be integrated into glibc; see
82431         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
82432
82433         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
82434         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
82435         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
82436         (struct obstack): temp member is now a union of a pointer and
82437         an integer, instead of an integer.  All integer uses changed.
82438         This does not affect the physical layout of struct obstack,
82439         except on hosts (like the AS/400) where the size or alignment of
82440         void * is greater than that of ptrdiff_t.
82441         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
82442         __STDC__)]: Store temporary in pointer member of union, not
82443         integer member.
82444         * lib/obstack.c: Include <stddef.h>, for offsetof.
82445         (struct fooalign): Remove; it doesn't need a name.
82446         (union fooround): Change double to long double, and add void *.
82447         (DEFAULT_ALIGNMENT): Use offsetof to compute.
82448         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
82449         not a macro.  Hence the values are always int; so remove all
82450         casts-to-int in uses.
82451
82452 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
82453
82454         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
82455         we can get this patch merged into glibc.
82456
82457 2004-05-17  Derek R. Price  <derek@ximbiot.com>
82458             Paul Eggert  <eggert@cs.ucla.edu>
82459
82460         * m4/argp: Depend on alloca.
82461
82462 2004-05-17  Derek R. Price  <derek@ximbiot.com>
82463             Paul Eggert  <eggert@cs.ucla.edu>
82464
82465         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
82466         freecoding.
82467
82468 2004-05-17  Bruno Haible  <bruno@clisp.org>
82469
82470         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
82471         precision that consists of a '.' followed by an empty digit string.
82472         Patch by Tor Lillqvist <tml@iki.fi>.
82473
82474 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
82475
82476         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
82477         for backward compatibility with older code.  We need our own
82478         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
82479         it under some other name, and our alloca.h will define it.
82480
82481 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
82482             Derek Price  <derek@ximbiot.com>
82483
82484         * lib/alloca.c: Include <alloca.h>, to get our interface.
82485         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
82486         include <alloca.h> first.  Use C89 prototype for alloca; this
82487         requires including <stddef.h> for size_t.  Use extern "C" if C++.
82488         Use #elif for simplicity, since we can assume C89 now.
82489         Don't try to source the system alloca.h since it will not be found
82490         and to prevent recursively including its replacement.
82491         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
82492         * lib/regex.c: Likewise.
82493
82494 2004-05-16  Derek Price  <derek@ximbiot.com>
82495             Paul Eggert  <eggert@cs.ucla.edu>
82496
82497         getline cleanup.  This changes the getndelim2 API: both order of
82498         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
82499         no delimiter).
82500
82501         * lib/getline.c: Don't include stddef.h or stdio.h, since our
82502         interface does that.
82503         (getline): Always use getdelim, so that we don't have two
82504         copies of this code.
82505         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
82506         if available.
82507         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
82508         (GETNDELIM2_MAXIMUM): New macro.
82509         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
82510         instead of the old practice of delim2==0.  All callers changed.
82511         Return -1 on overflow, instead of returning junk.
82512         Do not set *linesize unless allocation succeeds.
82513         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
82514         that we include sys/types.h.
82515         * lib/getnline.h: Likewise.
82516         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
82517         (getndelim2): Reorder arguments.
82518         * lib/getnline.c (getnline, getndelim):
82519         Don't discard the NMAX argument.
82520         (getnline): Invoke getndelim, to avoid code duplication.
82521         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
82522         of (size_t) -1 by callers of the getnline family.
82523
82524 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
82525
82526         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
82527         Check for gettimeofday.
82528         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
82529         Check for settimeofday, stime.
82530
82531 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
82532
82533         * lib/nanosleep.c (suspended): Change its type from int to
82534         sig_atomic_t volatile.
82535         (first_call): Make it private to rpl_nanosleep, and have it
82536         be zero initially as that's a bit faster.
82537         (my_usleep): Round up fractional times instead of truncating them,
82538         as this is the usual meaning for 'sleep'.
82539
82540         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
82541         doesn't work.
82542         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
82543         (ENOSYS): Define if not defined.
82544         (settime): Fall back on stime if it exists and settimeofday fails.
82545         But don't bother with fallbacks if a method fails with errno == EPERM.
82546
82547 2004-05-11  Jim Meyering  <jim@meyering.net>
82548
82549         Prior to this change, the save_cwd caller required read access to the
82550         current directory on most systems (ones with the fchdir function).
82551
82552         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
82553         fails, try write-only, and finally, resort to using xgetcwd.
82554
82555 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
82556
82557         * lib/obstack.c, obstack.h: Import changes from libc.
82558
82559 2004-04-28  Bruno Haible  <bruno@clisp.org>
82560
82561         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
82562         also implicitly appends .exe to executables.
82563         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
82564         accepts Windows pathnames.
82565         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
82566         Treat Cygwin like Windows, since it now accepts Windows pathnames.
82567         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
82568         Treat Cygwin like Windows, since it now accepts Windows pathnames.
82569         Reported by Derek Robert Price <derek@ximbiot.com>.
82570
82571 2004-04-21  Karl Berry  <karl@gnu.org>
82572
82573         * config/srclist.txt (localcharset.c): break sync.
82574
82575 2004-04-20  Paul Eggert  <eggert@twinsun.com>
82576
82577         * m4/host-os.m4: Add a copyright notice.
82578
82579 2004-04-20  Jim Meyering  <jim@meyering.net>
82580
82581         Change UTILS_ to gl_ in AC_DEFINE'd names.
82582         Change utils_- and jm_-prefixed variables, too.
82583         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
82584         UTILS_FUNC_MKDIR_TRAILING_SLASH.
82585         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
82586
82587         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
82588         Don't emit trailing blanks.
82589         Also rename jm_-prefixed variables to have gl_ prefix.
82590
82591         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
82592         Also rename jm_-prefixed variables to have gl_ prefix.
82593
82594         * m4/jm-macros.m4: Reflect the renamings.
82595         * m4/prereq.m4: Likewise.
82596
82597 2004-04-20  Jim Meyering  <jim@meyering.net>
82598
82599         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
82600         memory.
82601
82602 2004-04-20  Jim Meyering  <jim@meyering.net>
82603             Bruno Haible  <bruno@clisp.org>
82604
82605         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
82606         memory when realloc fails.
82607
82608 2004-04-19  Jim Meyering  <jim@meyering.net>
82609
82610         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
82611         now that readutmp.c may call `free (0)'.
82612
82613 2004-04-19  Bruno Haible  <bruno@clisp.org>
82614
82615         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
82616         * m4/inttypes_h.m4: Likewise.
82617         * m4/stdint_h.m4: Likewise.
82618         * m4/intmax_t.m4: Likewise.
82619         * m4/uintmax_t.m4: Likewise.
82620
82621 2004-04-18  Jim Meyering  <jim@meyering.net>
82622
82623         * m4/prereq.m4: Don't forbid jm_ prefix.
82624
82625         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
82626         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
82627         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
82628         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
82629         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
82630         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
82631         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
82632         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
82633         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
82634         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
82635         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
82636         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
82637         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
82638         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
82639         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
82640         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
82641         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
82642         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
82643         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
82644
82645 2004-04-18  Jim Meyering  <jim@meyering.net>
82646
82647         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
82648         failure, don't leak memory and do call END_UTMP_ENT.
82649
82650 2004-04-16  Jim Meyering  <jim@meyering.net>
82651
82652         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
82653         coreutils' stat program.
82654         (gl_PREREQ): Don't require jm_PREREQ_STAT.
82655
82656 2004-04-11  Paul Eggert  <eggert@twinsun.com>
82657
82658         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
82659         C89.
82660         (CHAR_BIT): Remove, since we assume C89.
82661         Include <stdint.h> if available, as per current Autoconf CVS advice.
82662
82663 2004-03-31  Jim Meyering  <jim@meyering.net>
82664
82665         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
82666         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
82667         * m4/xalloc.m4: Likewise.
82668
82669 2004-03-30  Paul Eggert  <eggert@twinsun.com>
82670
82671         Merge from coreutils.
82672
82673         * m4/inttostr.m4: New file.
82674         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
82675         Require AM_STDBOOL_H and gl_TIMESPEC instead.
82676         Require gl_CLOCK_TIME.
82677         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
82678
82679 2004-03-30  Paul Eggert  <eggert@twinsun.com>
82680
82681         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
82682         not bool, to be more consistent with Unix conventions.
82683         Suggested by Bruno Haible.
82684
82685         Merge from coreutils.
82686
82687         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
82688         * lib/umaxtostr.c: New files.
82689
82690         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
82691         the usual <time.h> dance.
82692         (get_date): Change signature to support fractional time stamps.
82693         All callers changed.
82694         * lib/getdate.y: Include "getdate.h" first, as we can now
82695         assume C89 and don't need to worry about 'const'.
82696         Similarly, include "unlocked-io.h" near start, not in middle.
82697         Include <limits.h>.
82698         (textint.value): Use long int rather than int.
82699         (textint.digits): Use size_t rather than int.
82700         (BILLION, LOG10_BILLION): New constants.
82701         (parser_control): New member rel_ns.  Members day_ordinal,
82702         time_zone, month, day, hour, minutes, rel_year, rel_month,
82703         rel_day, rel_hour, rel_minutes, rel_seconds
82704         are now long int, not int.  Member seconds is now struct timespec,
82705         not int.  New member timespec_seen.  Members dates_seen, days_seen,
82706         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
82707         not int.
82708         (%union.intval): Now long int, not int.
82709         New member timespec.
82710         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
82711         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
82712         (spec): Now is a timespec or an item list.
82713         (timespec, items): New nonterminals.
82714         (time, rel, relunit, number, get_date):
82715         Add support for fractional seconds.
82716         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
82717         (gmtime, localtime, mktime): Remove decls; not needed with C89.
82718         (to_hour): First arg is now long int, not int.
82719         (to_year): Returns long int, not int.
82720         Don't treat year -70 like 70.
82721         (tm_diff): Returns long int, not int.
82722         (lookup_word): Use bool instead of int when appropriate.
82723         (yylex): Use size_t for count, not int.
82724         Detect overflow when parsing large integer constants.
82725         Add support for fractions.
82726         (get_date): Make pointers 'const' if possible.
82727         Use more-portable code to detect integer overflow.
82728         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
82729         Don't use ctime; it's not reliable if the year has >4 digits.
82730
82731         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
82732         This is for compatibility with BSD.
82733
82734         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
82735         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
82736         From coreutils' system.h.
82737
82738         * lib/userspec.c: Don't include "posixver.h".
82739         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
82740         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
82741         compatible extension.  Simplify code by removing a boolean int
82742         that was always nonzero if a string was nonnull.
82743
82744 2004-03-30  Jim Meyering  <jim@meyering.net>
82745
82746         Merge from coreutils.
82747
82748         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
82749         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
82750         on some systems one must include <grp.h> before it.
82751         Reported by Christian Krackowizer.
82752
82753 2004-03-30  Jim Meyering  <jim@meyering.net>
82754
82755         Merge from coreutils.
82756
82757         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
82758
82759         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
82760         an empty input stream.
82761
82762         * lib/readtokens.c: Include <stdbool.h>.
82763         (readtoken): Use `size_t' rather than int/long.
82764         All callers adjusted.
82765         Use `bool' rather than `int' where appropriate.
82766         Use memset rather than an explicit loop.
82767         Use x2nrealloc rather than xrealloc.
82768         Allow the use of `\0' as a delimiter.
82769         (readtokens): Likewise.
82770         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
82771
82772 2004-03-30  Jim Meyering  <jim@meyering.net>
82773
82774         * m4/realloc.m4: Remove file, since now it does no more than
82775         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
82776         the `configure.ac' section of module/realloc.
82777         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
82778
82779 2004-03-30  Bruno Haible  <bruno@clisp.org>
82780
82781         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
82782         nonnull.
82783
82784 2004-03-29  Paul Eggert  <eggert@twinsun.com>
82785
82786         Merge changes to getloadavg.c from coreutils and Emacs.
82787
82788         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
82789         Define to an expression, not to the empty string.
82790         Include cloexec.h and xalloc.h.
82791         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
82792         Use set_cloexec_flag rather than rolling our own.
82793         * lib/cloexec.c, lib/cloexec.h: New files.
82794
82795 2004-03-29  Paul Eggert  <eggert@twinsun.com>
82796
82797         * m4/cloexec.m4: New file.
82798
82799 2004-03-18  Paul Eggert  <eggert@twinsun.com>
82800
82801         * lib/getopt.h: Sync with libc CVS.
82802
82803 2004-03-18  Paul Eggert  <eggert@twinsun.com>
82804             Bruno Haible  <bruno@clisp.org>
82805
82806         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
82807         mbswidth.
82808
82809 2004-03-18  Paul Eggert  <eggert@twinsun.com>
82810             Bruno Haible  <bruno@clisp.org>
82811
82812         * lib/mbswidth.h: Include <wchar.h> only if
82813         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
82814         <wchar.h>.
82815         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
82816
82817 2004-03-09  Paul Eggert  <eggert@twinsun.com>
82818
82819         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
82820         Sync with libc CVS.
82821         * lib/getopt_int.h: New file, also synced from libc.
82822
82823 2004-03-09  Paul Eggert  <eggert@twinsun.com>
82824
82825         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
82826         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
82827         Bring back getopt.c, getopt.h, getopt1.c.
82828
82829 2004-03-07  Paul Eggert  <eggert@twinsun.com>
82830
82831         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
82832         All uses changed.  Check for sa_sigaction member; this fixes
82833         a bug first reported by Jason Andrade in
82834         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
82835
82836 2004-03-07  Paul Eggert  <eggert@twinsun.com>
82837
82838         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
82839         '#if' expressions.  Unlike the code it replaces, it does not
82840         depend on (defined _SC_PAGESIZE).  However, it does depend on
82841         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
82842         first reported by Jason Andrade in
82843         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
82844
82845 2004-02-25  Simon Josefsson  <jas@extundo.com>
82846
82847         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
82848
82849 2004-02-25  Simon Josefsson  <jas@extundo.com>
82850
82851         * lib/strdup.h: New file.
82852         * lib/strdup.c: Include it.
82853         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
82854         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
82855
82856 2004-02-23  Karl Berry  <karl@gnu.org>
82857
82858         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
82859         (from fencepost.gnu.org:/gd/gnuorg).
82860
82861 2004-02-23  Karl Berry  <karl@gnu.org>
82862
82863         * config/srclistvars.sh (GNUORG) [karl]: redefine.
82864         * config/srclist.txt: add maintain/standards documents.
82865
82866 2004-02-18  Bruno Haible  <bruno@clisp.org>
82867
82868         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
82869         Reported by Derek Robert Price <derek@ximbiot.com>.
82870
82871 2004-02-16  Karl Berry  <karl@gnu.org>
82872
82873         * config/mkinstalldirs, install-sh: update from automake.
82874
82875 2004-02-06  Karl Berry  <karl@gnu.org>
82876
82877         * m4/po.m4: update from gettext 0.14.1.
82878
82879 2004-02-06  Karl Berry  <karl@gnu.org>
82880
82881         * lib/config.charset: update from gettext 0.14.1.
82882
82883 2004-02-05  Paul Eggert  <eggert@twinsun.com>
82884
82885         Add comments and code, prompted by suggestions from Bruno Haible
82886         for sh-quote.
82887         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
82888         describing the enum quoting_style values.
82889         * lib/quotearg.c (quotearg_alloc): New function.
82890         (quotearg_buffer_restyled): Treat lone { and } as special.
82891         Treat = as special.  Work around bug with older shells
82892         that "see" a '\' that is really the 2nd byte of a multibyte char.
82893         Quote empty string with shell_quoting_style.
82894
82895 2004-02-03  Bruno Haible  <bruno@clisp.org>
82896
82897         * m4/pipe.m4: New file, from GNU gettext.
82898
82899 2004-02-03  Bruno Haible  <bruno@clisp.org>
82900
82901         * lib/pipe.h: New file, from GNU gettext.
82902         * lib/pipe.c: New file, from GNU gettext.
82903
82904 2004-01-27  Bruno Haible  <bruno@clisp.org>
82905
82906         * m4/execute.m4: New file, from GNU gettext.
82907
82908 2004-01-27  Bruno Haible  <bruno@clisp.org>
82909
82910         * lib/execute.h: New file, from GNU gettext.
82911         * lib/execute.c: New file, from GNU gettext.
82912         * lib/w32spawn.h: New file, from GNU gettext.
82913
82914 2004-01-24  Paul Eggert  <eggert@twinsun.com>
82915
82916         Merge from diffutils.
82917
82918         * lib/file-type.c (file_type): Add typed memory objects.
82919         * lib/file-type.h (S_TYPEISTMO): New macro.
82920
82921         * lib/c-stack.h (c_stack_action): Remove argv argument.
82922         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
82923         (die): Don't calculate message unless segv_action returns.
82924         (get_stack_location, min_address_from_argv, max_address_from_argv,
82925         volatile stack_base, volatile_stack_size): Remove.
82926         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
82927         that every segmentation violation is a stack overflow.  (Ouch!)
82928         See Debian bug 136249 (still outstanding) for more info about why
82929         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
82930
82931 2004-01-24  Paul Eggert  <eggert@twinsun.com>
82932
82933         Exit-status fix from coreutils.
82934
82935         Use exit_failure consistently in place of EXIT_FAILURE,
82936         so that program exit statuses are consistent on failure.
82937
82938         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
82939         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
82940         * lib/argmatch.h: Comment fix to match the above.
82941         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
82942         Now a macro referring to exit_failure, instead of a separate
82943         variable.  Include "exitfail.h" to get it.
82944         * lib/xstrtol.h: Include "exitfail.h".
82945         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
82946
82947         * lib/long-options.c (parse_long_options): Use prototype
82948         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
82949         for clarity.
82950
82951 2004-01-21  Jim Meyering  <jim@meyering.net>
82952
82953         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
82954         so as not to conflict with a different-sized __mktime_internal
82955         function in GNU libc.
82956         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
82957         Problem building statically-linked `ls' reported by Michael Brunnbauer.
82958
82959 2004-01-20  Karl Berry  <karl@gnu.org>
82960
82961         * config/config.guess: update from config.
82962
82963         * config/srclistvars.sh: GNUWWWLICENSES for karl.
82964
82965 2004-01-20  Bruno Haible  <bruno@clisp.org>
82966
82967         Safer stack allocation.
82968         * lib/setenv.c: Include allocsa.h.
82969         (alloca): Remove fallback definition.
82970         (freea): Remove macro.
82971         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
82972         instead of freea.
82973
82974 2004-01-20  Bruno Haible  <bruno@clisp.org>
82975
82976         * m4/eealloc.m4: New file, from GNU gettext.
82977
82978 2004-01-20  Bruno Haible  <bruno@clisp.org>
82979
82980         * m4/allocsa.m4: New file, from GNU gettext.
82981
82982 2004-01-20  Bruno Haible  <bruno@clisp.org>
82983
82984         * lib/xallocsa.h: New file, from GNU gettext.
82985         * lib/xallocsa.c: New file, from GNU gettext.
82986
82987 2004-01-20  Bruno Haible  <bruno@clisp.org>
82988
82989         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
82990
82991 2004-01-20  Bruno Haible  <bruno@clisp.org>
82992
82993         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
82994         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
82995         specially.
82996
82997 2004-01-20  Bruno Haible  <bruno@clisp.org>
82998
82999         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
83000         patch.
83001
83002 2004-01-20  Bruno Haible  <bruno@clisp.org>
83003
83004         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
83005
83006 2004-01-20  Bruno Haible  <bruno@clisp.org>
83007
83008         * lib/eealloc.h: New file.
83009
83010 2004-01-20  Bruno Haible  <bruno@clisp.org>
83011
83012         * lib/binary-io.h: Avoid warnings on Cygwin.
83013
83014 2004-01-20  Bruno Haible  <bruno@clisp.org>
83015
83016         * lib/allocsa.h: New file, from GNU gettext.
83017         * lib/allocsa.c: New file, from GNU gettext.
83018
83019 2004-01-18  Karl Berry  <karl@gnu.org>
83020
83021         * doc/gpl.texi, doc/lgpl.texi: new files.
83022
83023 2004-01-18  Karl Berry  <karl@gnu.org>
83024
83025         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
83026         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
83027
83028 2004-01-15  Paul Eggert  <eggert@twinsun.com>
83029
83030         Merge from coreutils.
83031
83032         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
83033         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
83034         (gl_DEFAULT_POSIX2_VERSION): Move
83035         the documentation from 'configure' into 'config.hin',
83036         so that 'configure --help' isn't burdened by it and
83037         we don't have to worry about its formatting there.
83038         Reword the documentation so that it's more succinct
83039         and can be run together into a single paragraph.
83040         * m4/same.m4 (gl_SAME): Check for pathconf.
83041
83042 2004-01-15  Paul Eggert  <eggert@twinsun.com>
83043
83044         Merge from coreutils.
83045
83046         * lib/posixver.c: Include posixver.h.
83047
83048         * lib/same.c: Include <stdbool.h>, <limits.h>.
83049         (_POSIX_NAME_MAX): Define if not defined.
83050         (MIN): New macro.
83051         (same_name): If file names are silently truncated, report
83052         that the file names are the same if they are the same after
83053         the silent truncation.
83054
83055         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
83056         conversion function.
83057         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
83058         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
83059         longer needed.
83060
83061 2004-01-15  Jim Meyering  <jim@meyering.net>
83062
83063         Merge from coreutils.
83064
83065         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
83066         if no library is required.
83067         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
83068         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
83069         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
83070         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
83071         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
83072         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
83073         value, $ac_cv_search_crypt, if it's "none required".
83074         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
83075         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
83076         not gl_FUNC_GETLOADAVG.
83077         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
83078         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
83079
83080 2004-01-15  Jim Meyering  <jim@meyering.net>
83081
83082         Merge from coreutils.
83083
83084         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
83085         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
83086         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
83087
83088         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
83089         optional configure-time default.
83090
83091         * lib/version-etc.c (version_etc_copyright): Update copyright date.
83092
83093         * lib/xreadlink.c (xreadlink): Correct outdated comment.
83094
83095 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
83096
83097         Merge from coreutils.
83098
83099         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
83100         value, $ac_cv_search_nanosleep, if it's "none required".
83101
83102 2004-01-14  Paul Eggert  <eggert@twinsun.com>
83103
83104         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
83105         with like-named macro in fnmatch.c.
83106         (EXT): Use an internal constant instead.
83107
83108         Merge fnmatch patches from glibc.
83109         * lib/fnmatch.c (mbsinit): Remove define.
83110         Add libc_hidden_ver (__fnmatch, fnmatch).
83111         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
83112         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
83113
83114 2004-01-14  Karl Berry  <karl@gnu.org>
83115
83116         * config/install-sh: update from automake.
83117
83118 2004-01-13  Karl Berry  <karl@gnu.org>
83119
83120         * config/install-sh: update from automake.
83121
83122 2004-01-09  Karl Berry  <karl@gnu.org>
83123
83124         * config/install-sh: update from automake.
83125
83126 2004-01-05  Karl Berry  <karl@gnu.org>
83127
83128         * config/config.{sub,guess}: update from config.
83129
83130 2003-12-31  Karl Berry  <karl@gnu.org>
83131
83132         * config/depcomp: update from automake.
83133
83134 2003-12-14  Karl Berry  <karl@gnu.org>
83135
83136         * lib/config.charset: update from gettext-runtime.
83137
83138 2003-12-03  Paul Eggert  <eggert@twinsun.com>
83139
83140         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
83141         Bug reported by Alfred M. Szmidt.
83142
83143 2003-12-03  Bruno Haible  <bruno@clisp.org>
83144
83145         * m4/gettext.m4: Upgrade from gettext-0.13.
83146         * m4/po.m4: Upgrade from gettext-0.13.
83147         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
83148         * m4/intmax.m4: New file, from gettext-0.13.
83149         * m4/printf-posix.m4: New file, from gettext-0.13.
83150
83151 2003-11-29  Karl Berry  <karl@gnu.org>
83152
83153         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
83154
83155 2003-11-25  Paul Eggert  <eggert@twinsun.com>
83156             Bruno Haible  <bruno@clisp.org>
83157
83158         * lib/printf-parse.h: Don't include sys/types.h.
83159         (ARG_NONE): New macro.
83160         (char_directive): Change type of *arg_index fields to size_t.
83161         * lib/printf-parse.c: Don't include sys/types.h.
83162         (SSIZE_MAX): Remove macro.
83163         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
83164         Remove unnecessary overflow check.
83165         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
83166         fields.
83167
83168 2003-11-25  Bruno Haible  <bruno@clisp.org>
83169
83170         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
83171
83172 2003-11-25  Bruno Haible  <bruno@clisp.org>
83173
83174         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
83175         gt_TYPE_SSIZE_T.
83176
83177 2003-11-24  Paul Eggert  <eggert@twinsun.com>
83178
83179         * modules/alloca: Remove dependency on xalloc.
83180
83181 2003-11-24  Paul Eggert  <eggert@twinsun.com>
83182
83183         * lib/alloca.c: Remove dependency on xalloc module.
83184         (xalloc_die): Remove.
83185         (memory_full) [!defined emacs]: New macro.
83186         [!defined emacs]: Don't include xalloc.h.
83187         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
83188         address arithmetic overflows.  Change datatypes a bit to avoid
83189         unnecessary casts.
83190
83191 2003-11-22  Jim Meyering  <jim@meyering.net>
83192
83193         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
83194         s/size/size_t/.
83195
83196 2003-11-21  Karl Berry  <karl@gnu.org>
83197
83198         * config/config.{sub,guess}: update from config.
83199
83200 2003-11-18  Karl Berry  <karl@gnu.org>
83201
83202         * config/config.{sub,guess}: update from config.
83203
83204         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
83205
83206 2003-11-17  Paul Eggert  <eggert@twinsun.com>
83207
83208         * README: Mention that S+T cannot overflow if S is the size of
83209         an existing object and T is sufficiently small.
83210
83211 2003-11-17  Jim Meyering  <jim@meyering.net>
83212
83213         On systems without utime and without a utimes function capable of
83214         dealing with a NULL struct utimbuf* argument, this utime replacement
83215         could -- in unusual circumstances -- leak a file descriptor.
83216         * lib/utime.c: Include <unistd.h> and <errno.h>.
83217         (utime_null): Be sure to close `fd' and to preserve errno.
83218         Reported by Geoff Collyer via Arnold Robbins.
83219
83220 2003-11-17  Bruno Haible  <bruno@clisp.org>
83221
83222         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
83223         (Depends-on): Add xsize.
83224
83225 2003-11-17  Bruno Haible  <bruno@clisp.org>
83226
83227         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
83228
83229 2003-11-17  Bruno Haible  <bruno@clisp.org>
83230
83231         * lib/vasnprintf.c (alloca): Remove fallback definition.
83232         (freea): Remove definition.
83233         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
83234         Reported by Paul Eggert.
83235
83236 2003-11-16  Paul Eggert  <eggert@twinsun.com>
83237             Bruno Haible  <bruno@clisp.org>
83238
83239         Protect against address arithmetic overflow.
83240         * lib/printf-args.h: Include stddef.h.
83241         (arguments): Change type of field 'count' to size_t.
83242         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
83243         'unsigned int' where appropriate.
83244         * lib/printf-parse.h: Include sys/types.h.
83245         (char_directive): Change type of *arg_index fields to ssize_t.
83246         (char_directives): Change type of fields 'count', max_*_length to
83247         size_t.
83248         * lib/printf-parse.c: Include sys/types.h and xsize.h.
83249         (SSIZE_MAX): Define fallback value.
83250         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
83251         instead of 'int' where appropriate. Check a_allocated, d_allocated
83252         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
83253         * lib/vasnprintf.c: Include xsize.h.
83254         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
83255         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
83256         overflow. Avoid wraparound when converting a width or precision from
83257         decimal to binary.
83258
83259 2003-11-16  Bruno Haible  <bruno@clisp.org>
83260
83261         Update from GNU gettext.
83262         * lib/printf-parse.c: Generalize to it can be compiled for wide
83263         strings.
83264         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
83265         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
83266         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
83267         SNPRINTF): New macros.
83268         Don't include <alloca.h> if the file is used inside libintl.
83269         (local_wcslen): New function, for Solaris 2.5.1.
83270         (VASNPRINTF): Use it instead of wcslen.
83271
83272 2003-11-16  Bruno Haible  <bruno@clisp.org>
83273
83274         * lib/xsize.h (xmax): New function.
83275         (xsum, xsum3, xsum4): Declare as "pure" functions.
83276
83277 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83278
83279         * modules/xalloc (Files): Undo latest change, since xalloc.h
83280         no longer needs SIZE_MAX or PTRDIFF_MAX.
83281
83282 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83283
83284         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
83285         gl_PTRDIFF_MAX.
83286
83287 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83288
83289         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
83290         "return", to pacify some unknown compiler.  Problem reported
83291         by Joerg Schilling.
83292
83293 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83294
83295         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
83296         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
83297         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
83298         heuristic is just as accurate as far as we know, and it removes a
83299         dependency on size_max.m4 and ptrdiff_max.m4.
83300
83301 2003-11-11  Bruno Haible  <bruno@clisp.org>
83302
83303         * modules/xsize (Files): Add m4/size_max.m4.
83304         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
83305
83306 2003-11-11  Bruno Haible  <bruno@clisp.org>
83307
83308         * m4/size_max.m4: New file.
83309         * m4/ptrdiff_max.m4: New file.
83310         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
83311         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
83312         (gl_XALLOC): Invoke it.
83313
83314 2003-11-11  Bruno Haible  <bruno@clisp.org>
83315
83316         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
83317         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
83318         defined.
83319
83320 2003-11-10  Paul Eggert  <eggert@twinsun.com>
83321
83322         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
83323         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
83324         rejected some allocations of exactly SIZE_MAX - 2 bytes.
83325         From Bruno Haible.
83326         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
83327         not (size_t) -1, since it's defined here.
83328
83329 2003-11-09  Karl Berry  <karl@gnu.org>
83330
83331         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
83332
83333 2003-11-06  Paul Eggert  <eggert@twinsun.com>
83334
83335         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
83336         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
83337         Reject sizes of exactly SIZE_MAX bytes.
83338         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
83339         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
83340
83341 2003-11-05  Bruno Haible  <bruno@clisp.org>
83342
83343         * lib/xsize.h: Include limits.h, to avoid a possible collision with
83344         SIZE_MAX defined in <limits.h> on Solaris.
83345
83346 2003-11-04  Jim Meyering  <jim@meyering.net>
83347
83348         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
83349         variable names, rather than @VAR@.
83350         * modules/poll: Likewise.
83351
83352 2003-11-04  Bruno Haible  <bruno@clisp.org>
83353
83354         * modules/xsize: New file.
83355         * modules/linebreak: Depend on xsize.
83356         * MODULES.html.sh (func_all_modules): Add xsize.
83357
83358 2003-11-04  Bruno Haible  <bruno@clisp.org>
83359
83360         * m4/xsize.m4: New file.
83361
83362 2003-11-04  Bruno Haible  <bruno@clisp.org>
83363
83364         * lib/xsize.h: New file.
83365         * lib/linebreak.c: Include xsize.h.
83366         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
83367         argument for overflow.
83368         Suggested by Paul Eggert.
83369
83370 2003-11-03  Karl Berry  <karl@gnu.org>
83371
83372         * config/config.{guess,sub}: update from config.
83373
83374 2003-11-03  Jim Meyering  <jim@meyering.net>
83375
83376         * modules/userspec (lib_SOURCES): Add userspec.h.
83377         (Include): Add "userspec.h".
83378         Improve description.
83379
83380 2003-11-03  Jim Meyering  <jim@meyering.net>
83381
83382         * lib/userspec.c: Include "userspec.h".
83383         * lib/userspec.h: New file.
83384
83385 2003-11-03  Bruno Haible  <bruno@clisp.org>
83386
83387         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
83388
83389 2003-11-03  Bruno Haible  <bruno@clisp.org>
83390
83391         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
83392         available, to avoid (extremely rare) race condition.
83393         Suggested by Paul Eggert.
83394
83395 2003-11-02  Karl Berry  <karl@gnu.org>
83396
83397         * config/srclist.txt (vasprintf.c): sync broken, sigh.
83398
83399 2003-10-31  Paul Eggert  <eggert@twinsun.com>
83400
83401         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
83402         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
83403         (read_filesystem_list): Set and use me_type_malloced.
83404         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
83405         whatever the type happens to be), for brevity and consistency.
83406         Check for size calculation overflow on Alphas running OSF/1.
83407
83408 2003-10-31  Jim Meyering  <jim@meyering.net>
83409
83410         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
83411
83412         * lib/linebuffer.c: Include <string.h> for declaration of memset.
83413
83414 2003-10-30  Paul Eggert  <eggert@twinsun.com>
83415             Bruno Haible  <bruno@clisp.org>
83416
83417         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
83418         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
83419
83420 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83421
83422         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
83423         netbsd*-gnu*.  Suggested by Robert Millan.
83424
83425 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83426
83427         * modules/group-member: Depend on stdbool.
83428
83429 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83430
83431         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
83432
83433 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83434
83435         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
83436         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
83437         after the 'gnu' in these cases.  This fixes some bugs in the
83438         previous change, and is based on suggestions by Robert Millan.
83439
83440 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83441
83442         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
83443         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
83444         no longer needed.
83445         * lib/quotearg.c (quotearg_n_options): Use it.
83446         * lib/group-member.c: Include <stdbool.h>.
83447         (free_group_info): Arg is now const *; don't free arg.
83448         (get_group_info): Now returns bool and accepts struct group_info *,
83449         rather than returning a malloc'ed struct group_info *.
83450         All uses changed.  Check for overflow in internal size calculation.
83451
83452         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
83453         rather than xmalloc/xrealloc.
83454         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
83455         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
83456         conformance bug: the old code used a pointer after freeing the
83457         storage that it addressed.
83458         * lib/hash.c (hash_initialize): Simplify the code by using
83459         xalloc_oversized rather than doing it by hand.
83460         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
83461         the buffer preserved.  Use free and xmalloc instead.
83462         * lib/quotearg.c (quotearg_n_options): Likewise.
83463         Use a simpler test for size overflow.  Don't use xalloc_oversized
83464         because unsigned int might be wider than size_t (!); this suggests
83465         that we should switch from unsigned int to size_t for slot numbers.
83466
83467 2003-10-28  Paul Eggert  <eggert@twinsun.com>
83468
83469         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
83470         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
83471         NetBSD kernels.  Requested by Richard Stallman.
83472
83473 2003-10-27  Paul Eggert  <eggert@twinsun.com>
83474
83475         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
83476         to allocate the returned structure.  Do not allocate a subarray,
83477         as x2nrealloc will do that.
83478         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
83479         instead of xnrealloc.
83480         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
83481
83482 2003-10-27  Bruno Haible  <bruno@clisp.org>
83483
83484         * lib/stdbool_.h: Better support for BeOS.
83485
83486 2003-10-26  Paul Eggert  <eggert@twinsun.com>
83487
83488         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
83489         now uses inline.
83490
83491 2003-10-26  Paul Eggert  <eggert@twinsun.com>
83492
83493         * lib/xalloc.h (xalloc_oversized): New static inline function, for
83494         callers that want to do their own size-overflow checking.  Include
83495         <stdbool.h>, since xalloc_oversized returns bool.
83496         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
83497         to use xalloc_oversized.
83498
83499         Add two functions x2realloc, x2nrealloc, for programs that grow
83500         arrays dynamically by doubling their sizes.
83501         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
83502         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
83503         New functions.
83504
83505         Port to C99 semantics for 'inline' of external functions.
83506         Bug reported by Bruno Haible.
83507         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
83508         with the old contents of xnmalloc.
83509         (xnmalloc, xmalloc): Use it.
83510         (xnrealloc_inline): New static inline function,
83511         with the old contents of xnrealloc.
83512         (xnrealloc, xrealloc): Use it.
83513
83514         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
83515         that.
83516
83517 2003-10-26  Karl Berry  <karl@gnu.org>
83518
83519         * config/srclist.txt (COPYING.DOC): no longer available from
83520         /gd/gnuorg; don't know where the ultimate source is.
83521
83522 2003-10-25  Paul Eggert  <eggert@twinsun.com>
83523
83524         Fix several address-calculation bugs in the hash modules,
83525         plus some minor code cleanup.
83526
83527         * lib/hash.h: Include <stdbool.h>, for bool.
83528         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
83529         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
83530         hash_get_n_entries, hash_get_max_bucket_length,
83531         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
83532         hash_rehash): Use size_t rather than unsigned.
83533         * lib/hash.c (struct hash_table, hash_get_n_buckets,
83534         hash_get_n_buckets_used, hash_get_n_entries,
83535         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
83536         hash_get_entries, hash_do_for_each, hash_string, is_prime,
83537         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
83538         Likewise.
83539         (SIZE_MAX): Define if not defined.
83540         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
83541         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
83542         hash_print):
83543         Use const * when possible.
83544         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
83545         (check_tuning): Fix bug: if tuning parameters were very close to
83546         0 or 1, rounding errors could have caused subscript violations.
83547         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
83548         (hash_initialize): Add 'fail:' label
83549         to free table and return NULL, and use it to simplify code.
83550         Use calloc rather than clearing the storage ourself.
83551         (hash_initialize, hash_rehash): Check for arithmetic overflow in
83552         buffer size calculations.
83553         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
83554         Include <stddef.h>, for size_t.
83555         * lib/hash-pjw.c (hash_pjw): Likewise.
83556         Switch to method described by Bruno Haible.
83557         Include <limits.h>, for CHAR_BIT.
83558         (SIZE_BITS): New macro.
83559
83560 2003-10-23  Paul Eggert  <eggert@twinsun.com>
83561
83562         * m4/getline.m4 (AM_FUNC_GETLINE):
83563         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
83564         hosts.  Problem reported by Derek Robert Price in
83565         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
83566         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
83567         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
83568
83569 2003-10-21  Paul Eggert  <eggert@twinsun.com>
83570
83571         * lib/getndelim2.c (getndelim2): When size calculation overflows,
83572         ceiling the allocation at NMAX bytes rather than silently
83573         discarding input bytes before NMAX is reached.  This makes
83574         a difference only if NMAX exceeds SIZE_MAX / 2.
83575
83576         * lib/obstack.c: Merge from glibc.
83577         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
83578         Add libc_hidden_def (_obstack_newchunk).
83579         (_obstack_free) [! defined _LIBC]: Remove.
83580         [defined _LIBC]: Make a strong alias from obstack_free, rather than
83581         a clone of the function body.
83582         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
83583         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
83584
83585         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
83586         glibc.
83587         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
83588         arg to memcpy.
83589
83590         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
83591         (obstack_ptr_grow_fast, obstack_int_grow_fast):
83592         Don't use lvalue casts, as GCC plans to remove support for them
83593         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
83594         was also present in the non-GCC version, indicating that this
83595         code had always been buggy and had never been widely used.
83596         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
83597         Use the fast variant of each macro, rather than copying the
83598         definiens of the fast variant; that way, we'll be more likely to
83599         catch future bugs in the fast variants.
83600
83601 2003-10-20  Bruno Haible  <bruno@clisp.org>
83602
83603         * modules/wait-process: New file.
83604         * MODULES.html.sh (func_all_modules): Add wait-process.
83605
83606 2003-10-20  Bruno Haible  <bruno@clisp.org>
83607
83608         * m4/wait-process.m4: New file.
83609
83610 2003-10-20  Bruno Haible  <bruno@clisp.org>
83611
83612         * lib/wait-process.h: New file, from GNU gettext.
83613         * lib/wait-process.c: New file, from GNU gettext.
83614
83615 2003-10-19  Jim Meyering  <jim@meyering.net>
83616
83617         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
83618         HPUX 10.20.
83619
83620 2003-10-18  Karl Berry  <karl@gnu.org>
83621
83622         * config/config.guess: update from config.
83623
83624 2003-10-16  Paul Eggert  <eggert@twinsun.com>
83625
83626         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
83627         (getgroups): First arg is int, not size_t.
83628         Don't let 'free' mangle errno.
83629
83630 2003-10-16  Paul Eggert  <eggert@twinsun.com>
83631
83632         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
83633
83634 2003-10-16  Karl Berry  <karl@gnu.org>
83635
83636         * config/config.{guess,sub}: update from config.
83637
83638 2003-10-16  Jim Meyering  <jim@meyering.net>
83639
83640         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
83641         memcpy.
83642
83643 2003-10-15  Paul Eggert  <eggert@twinsun.com>
83644
83645         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
83646         (SIZE_MAX): Remove.
83647         (new_exclude, add_exclude_file): Initial size no longer needs to
83648         be a power of 2.
83649         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
83650         our own address arithmetic overflow checking.
83651
83652         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
83653         (fnmatch): Do not alloca more than 2000 wide characters;
83654         instead, use malloc for large buffers.
83655         Check for address arithmetic overflow, and return -1
83656         with errno set to ENOMEM in that case.
83657         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
83658         (NEW_PATTERN): Do not alloca more than 8000 bytes;
83659         instead, return -1.  Check for address arithmetic overflow.
83660
83661 2003-10-14  Paul Eggert  <eggert@twinsun.com>
83662
83663         Handle invalid suffixes and overflow independently, so that
83664         callers can treat them independently as needed.  Fix some bugs in
83665         suffix handling, e.g., "100k@" was not diagnosed as an invalid
83666         suffix for a human-readable blocksize.  The major caller-visible
83667         change is the addition of a new
83668         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
83669         that both overflow and suffix chars were found.
83670
83671         * lib/human.c (humblock): Don't check separately for invalid suffix
83672         char; that is xstrtoumax's job (now that its bug is fixed).
83673         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
83674         INTMAX_MAX]: New macros.
83675         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
83676         TYPE_MAXIMUM): New macros.
83677         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
83678         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
83679         if overflow occurs, as it's what __strtol does and it's more useful
83680         in practice.
83681         (__xstrtol): If __strtol reports some error other than ERANGE,
83682         reflect it to the caller as LONGINT_INVALID.  If it reports
83683         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
83684         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
83685         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
83686         value.
83687         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
83688         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
83689         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
83690         [defined UINTMAX_MAX]: New macros.
83691
83692 2003-10-14  Bruno Haible  <bruno@clisp.org>
83693
83694         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
83695
83696 2003-10-14  Bruno Haible  <bruno@clisp.org>
83697
83698         * m4/sig_atomic_t: New file, from GNU gettext.
83699         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
83700
83701 2003-10-14  Bruno Haible  <bruno@clisp.org>
83702
83703         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
83704         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
83705         Also use volatile where needed.
83706
83707 2003-10-12  Paul Eggert  <eggert@twinsun.com>
83708
83709         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
83710         Change maintainer from Bruno Haible to 'all'.
83711
83712 2003-10-12  Paul Eggert  <eggert@twinsun.com>
83713
83714         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
83715
83716 2003-10-12  Paul Eggert  <eggert@twinsun.com>
83717
83718         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
83719         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
83720         and define in terms of the other primitives.
83721         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
83722         (SIZE_MAX): Define if not already defined.
83723         (array_size_overflow): New function.
83724         (xalloc_die): Abort instead of exiting if 'error' returns.
83725         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
83726         (xmalloc, xrealloc): Use them.
83727         (xcalloc): Check for address arithmetic overflow.
83728         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
83729         a bit faster than strcpy.
83730
83731 2003-10-10  Simon Josefsson  <jas@extundo.com>
83732
83733         * modules/argp (Depends-on): Add restrict and strcase.
83734
83735 2003-10-10  Simon Josefsson  <jas@extundo.com>
83736
83737         * m4/argp.m4: Add AC_C_INLINE.
83738
83739 2003-10-08  Paul Eggert  <eggert@twinsun.com>
83740
83741         Merge getpass from libc, plus a few fixes.
83742
83743         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
83744         Include <stdbool.h>.
83745         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
83746         __fsetlocking to empty.
83747         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
83748         do include <bits/libc-lock.h>.
83749         Do not include <fcntl.h>; not needed.
83750         [_LIBC]: Include <wchar.h>.
83751         (NOTCANCEL_MODE): New macro.
83752         (flockfile, funlockfile) [_LIBC]: New macros.
83753         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
83754         [!_LIBC]: New macros.
83755         (call_fclose): New function.
83756         (getpass): Use it.  Save tty stream separately; this simplifies the
83757         code and makes it more reliable if stdin happens to equal stdout.
83758         Invoke __fsetlocking on tty.
83759         Handle thread cancellation if needed.
83760         Namespace cleanup (use __tcgetattr, __getline).
83761         Use bool for Booleans.
83762         [USE_IN_LIBIO]: Handle wide streams.
83763         [!_LIBC]: Unconditionally do the fseek, since we don't know what
83764         stream might go where.
83765
83766         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
83767         doesn't have to include <stdio.h> before us.
83768         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
83769         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
83770         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
83771         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
83772         if not declared, so that we can use getpass.c code from libc without
83773         rewriting it.
83774         (flockfile, ftrylockfile, funlockfile): New macros.
83775
83776 2003-10-08  Paul Eggert  <eggert@twinsun.com>
83777
83778         * modules/getpass: Depend on stdbool.
83779
83780 2003-10-08  Paul Eggert  <eggert@twinsun.com>
83781
83782         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
83783
83784 2003-10-07  Karl Berry  <karl@gnu.org>
83785
83786         * config/config.{guess,sub}: update from config.
83787
83788 2003-10-06  Jim Meyering  <jim@meyering.net>
83789             Bruno Haible  <bruno@clisp.org>
83790
83791         This lets translators provide better translations for the
83792         "Written by ..." part of --version output.
83793         * lib/version-etc.h: Include stdarg.h.
83794         (version_etc_copyright): Declare as readonly.
83795         (version_etc): Make this function variadic with a NULL-terminated list
83796         of author name strings.
83797         (version_etc_va): New declaration.
83798         * lib/version-etc.c: Include stdarg.h, stdlib.h.
83799         (version_etc_copyright): Declare as readonly.
83800         (version_etc_va): New function. Provide a different translatable string
83801         for each possible number of authors < 10. Abbreviate when there are 10
83802         authors or more.
83803         (version_etc): Make this function variadic. Call version_etc_va.
83804         Suggestion from Gary V. Vaughan.
83805
83806         * lib/long-options.h (parse_long_options): Change prototype: the
83807         authors string is moved to the end and becomes variadic.
83808         * lib/long-options.c: Include stdarg.h.
83809         (parse_long_options): Make this function variadic, too.
83810         Call version_etc_va, not version_etc.
83811
83812 2003-10-06  Bruno Haible  <bruno@clisp.org>
83813
83814         * modules/version-etc-2: Remove file.
83815         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
83816
83817 2003-10-06  Bruno Haible  <bruno@clisp.org>
83818
83819         * modules/fatal-signal: New file.
83820         * MODULES.html.sh (func_all_modules): Add fatal-signal.
83821
83822 2003-10-06  Bruno Haible  <bruno@clisp.org>
83823
83824         * m4/fatal-signal.m4: New file.
83825         * m4/signalblocking.m4: New file, from GNU gettext.
83826
83827 2003-10-06  Bruno Haible  <bruno@clisp.org>
83828
83829         * lib/version-etc-2.h: Remove file.
83830         * lib/version-etc-2.c: Remove file.
83831
83832 2003-10-06  Bruno Haible  <bruno@clisp.org>
83833
83834         * lib/fatal-signal.h: New file, from GNU gettext.
83835         * lib/fatal-signal.c: New file, from GNU gettext.
83836
83837 2003-10-05  Paul Eggert  <eggert@twinsun.com>
83838
83839         * README: Rework advice for preventing empty .o files.
83840         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
83841         not <sys/types.h>.
83842
83843 2003-10-04  Karl Berry  <karl@gnu.org>
83844
83845         * lib/argp*: update from libc.
83846
83847 2003-10-04  Karl Berry  <karl@gnu.org>
83848
83849         * config/config.{guess,sub}: update from config.
83850
83851 2003-10-02  Bruno Haible  <bruno@clisp.org>
83852
83853         * modules/lchown (Include): Add lchown.h.
83854         * modules/time_r (Include): Use "..." syntax.
83855         * modules/xgetdomainname (Include): Add xgetdomainname.h.
83856
83857 2003-10-01  Simon Josefsson  <jas@extundo.com>
83858
83859         * MODULES.html.sh (func_all_modules): Move gethostname from section
83860         'based on' to section 'lacking' POSIX:2001.
83861
83862 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
83863
83864         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
83865         to output mode on the same stream.
83866
83867 2003-09-29  Paul Eggert  <eggert@twinsun.com>
83868
83869         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
83870         Fix arg typo in previous patch.
83871
83872 2003-09-28  Jim Meyering  <jim@meyering.net>
83873
83874         * lib/error.c: Correct cpp indentation.
83875
83876 2003-09-27  Paul Eggert  <eggert@twinsun.com>
83877
83878         * modules/free: New file.
83879
83880 2003-09-27  Paul Eggert  <eggert@twinsun.com>
83881
83882         * m4/free.m4: New file.
83883
83884 2003-09-27  Paul Eggert  <eggert@twinsun.com>
83885
83886         * lib/minmax.h (MIN, MAX)
83887         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
83888         Omit the special code that used __typeof__, since we worry that
83889         it could be more trouble than it's worth.  See:
83890         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
83891         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
83892
83893         * lib/free.c: New file.
83894
83895 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
83896
83897         Trivial fixes to Makefile.am parts of module listings.
83898         * modules/strstr: Append strstr.h to lib_SOURCES.
83899         * modules/strcase: Likewise, for strcase.h.
83900
83901 2003-09-27  Karl Berry  <karl@gnu.org>
83902
83903         * config/mkinstalldirs: update from automake.
83904
83905 2003-09-26  Paul Eggert  <eggert@twinsun.com>
83906
83907         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
83908         (error_tail): Do not loop, reallocating temporary buffer, since
83909         the output cannot contain more wide characters than the input
83910         contains bytes, the size must be big enough already.  This avoids
83911         one potential size overflow calculation.  Check for size overflow
83912         when calculating temporary buffer size.  Free temporary buffer
83913         when done, if it was allocated with malloc; this plugs a memory
83914         leak.  Remove casts from void * to pointers, that are no longer
83915         needed now that we're assuming C89 or better.
83916
83917         Merge error changes from glibc.
83918
83919         * lib/error.c, error.h: Update copyright notice header to match glibc.
83920         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
83921         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
83922         Disable cancellation while printing error.
83923         * lib/error.h: Prepend __ to parameter names.
83924
83925 2003-09-26  Jim Meyering  <jim@meyering.net>
83926
83927         * lib/error.c (error_tail): Move some declarations
83928         into inner scope where the local variables are used.
83929
83930 2003-09-26  Bruno Haible  <bruno@clisp.org>
83931
83932         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
83933         stpncpy().
83934         Don't define stpncpy through config.h; it's now done through stpncpy.h.
83935
83936 2003-09-26  Bruno Haible  <bruno@clisp.org>
83937
83938         * lib/stpncpy.h (gnu_stpncpy): New declaration.
83939         (stpncpy): Define as alias for gnu_stpncpy.
83940         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
83941
83942 2003-09-25  Simon Josefsson  <jas@extundo.com>
83943
83944         * lib/xgetdomainname.h: New file.
83945         * lib/xgetdomainname.c: New file.
83946
83947 2003-09-25  Simon Josefsson  <jas@extundo.com>
83948             Bruno Haible  <bruno@clisp.org>
83949
83950         * modules/getdomainname: New file.
83951         * modules/xgetdomainname: New file.
83952         * MODULES.html.sh (func_all_modules): Add getdomainname,
83953         xgetdomainname.
83954
83955 2003-09-25  Simon Josefsson  <jas@extundo.com>
83956             Bruno Haible  <bruno@clisp.org>
83957
83958         * m4/getdomainname.m4: New file.
83959
83960 2003-09-25  Simon Josefsson  <jas@extundo.com>
83961             Bruno Haible  <bruno@clisp.org>
83962
83963         * lib/getdomainname.h: New file.
83964         * lib/getdomainname.c: New file.
83965
83966 2003-09-25  Karl Berry  <karl@gnu.org>
83967
83968         * lib/argp-fmtstream.c, argp-help.c: update from libc.
83969
83970 2003-09-25  Karl Berry  <karl@gnu.org>
83971
83972         * config/install-sh: update from automake.
83973
83974 2003-09-25  Bruno Haible  <bruno@clisp.org>
83975
83976         * modules/version-etc-2: New file, from modules/version-etc with
83977         modifications.
83978         * MODULES.html.sh (func_all_modules): Add version-etc-2.
83979
83980 2003-09-25  Bruno Haible  <bruno@clisp.org>
83981
83982         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
83983         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
83984
83985 2003-09-24  Simon Josefsson  <jas@extundo.com>
83986
83987         * modules/xgethostname: Add xgethostname.h.
83988
83989 2003-09-24  Paul Eggert  <eggert@twinsun.com>
83990
83991         * lib/linebuffer.c (freebuffer): Don't free the argument, just
83992         the buffer associated with the argument.  Bug reported by
83993         Simon Josefsson.
83994
83995 2003-09-24  Paul Eggert  <eggert@twinsun.com>
83996
83997         * README: Document assumptions that 'int' is at least 32 bits
83998         wide, that integer arithmetic is 2's complement without overflow,
83999         that there are no holes in integer values, that adding sizes of
84000         two nonoverlapping objects can't overflow, and that all-bits-zero
84001         yields scalar zero.  Fix spelling and capitalization typos.
84002
84003 2003-09-19  Karl Berry  <karl@gnu.org>
84004
84005         * lib/argp.h: update from libc.
84006
84007 2003-09-17  Paul Eggert  <eggert@twinsun.com>
84008
84009         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
84010         to avoid spurious warnings like "AC_RUN_IFELSE was called before
84011         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
84012
84013 2003-09-17  Paul Eggert  <eggert@twinsun.com>
84014
84015         * gnulib-tool: Use "test -h", not "test -L", for portability
84016         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
84017         (tags_regexp): Remove, since \| doesn't conform to POSIX.
84018         (sed_extract_prog): Issue s commands one-by-one, rather than
84019         using \| in one s command.
84020
84021 2003-09-16  Paul Eggert  <eggert@twinsun.com>
84022
84023         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
84024         input error, instead of returning NULL the next time we are called
84025         (and therefore losing track of errno).
84026
84027 2003-09-16  Bruno Haible  <bruno@clisp.org>
84028
84029         * gnulib-tool (func_create_testdir): Warn about duplicated
84030         dependencies.
84031
84032 2003-09-15  Paul Eggert  <eggert@twinsun.com>
84033
84034         * modules/argmatch, modules/fatal, modules/obstack,
84035         modules/xalloc, modules/xgethostname: Sort dependencies by
84036         importance, not alphabetically.
84037
84038 2003-09-15  Paul Eggert  <eggert@twinsun.com>
84039
84040         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
84041         fails, so that the caller gets the proper errno.
84042
84043         * lib/readutmp.c (read_utmp): Likewise.
84044         Check for fstat error.  Close stream and free storage
84045         when failing.
84046
84047 2003-09-14  Karl Berry  <karl@gnu.org>
84048
84049         * config/srclist.txt (strdup.c): disable for c89 changes.
84050
84051 2003-09-14  Jim Meyering  <jim@meyering.net>
84052
84053         * lib/getloadavg.c: Correct cpp indentation.
84054         * lib/strdup.c: Likewise.
84055         * lib/vasnprintf.c: Likewise.
84056
84057 2003-09-14  Bruno Haible  <bruno@clisp.org>
84058
84059         * modules/fwriteerror: New file.
84060         * MODULES.html.sh (func_all_modules): Add fwriteerror.
84061
84062 2003-09-14  Bruno Haible  <bruno@clisp.org>
84063
84064         * lib/fwriteerror.h: New file.
84065         * lib/fwriteerror.c: New file.
84066
84067 2003-09-12  Paul Eggert  <eggert@twinsun.com>
84068
84069         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
84070         modules/xgethostname, modules/xalloc: Depend on exit.
84071
84072 2003-09-12  Paul Eggert  <eggert@twinsun.com>
84073
84074         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
84075
84076         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
84077         and AC_MINIX, too, so that their extensions are available.
84078
84079         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
84080         This macro has been superseded by gl_BACKUPFILE.
84081
84082         More patches to assume C89 or better.
84083
84084         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
84085
84086         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
84087         unconditionally.
84088         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
84089         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
84090         Include <string.h>, <stdlib.h> unconditionally.
84091         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
84092         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
84093         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
84094         headers or for string.h.
84095         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
84096         or strtoul.
84097
84098         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
84099         headers.
84100         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
84101         * m4/userspec.m4 (gl_USERSPEC): Likewise.
84102         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
84103         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
84104         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
84105         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
84106         memcpy, memset.
84107         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
84108         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
84109         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
84110         strtol.
84111         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
84112         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
84113         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
84114         strtoul.
84115
84116 2003-09-12  Paul Eggert  <eggert@twinsun.com>
84117
84118         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
84119         * lib/obstack.c [!defined _LIBC]: Likewise.
84120         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
84121         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
84122         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
84123
84124         More changes to assume C89 or better.
84125
84126         * lib/error.c (error_tail): Assume vprintf.
84127
84128         * lib/argmatch.c (getenv): Remove decl.
84129         * lib/progreloc.c (get_full_program_name): Define via prototype.
84130         * lib/setenv.c (clearenv): Likewise.
84131         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
84132         needed.
84133         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
84134         (malloc, memcpy): Remove decls.
84135         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
84136         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
84137         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
84138         (memcpy): Remove macro.
84139         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
84140         (__P): Remove.  All uses removed.
84141         (PTR): Remove.  All uses changed to void *.
84142         (CHAR_BIT, NULL): Remove.
84143         (spaces, zeros, memset_space, memset_zero)
84144         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
84145         Remove.
84146         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
84147         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
84148         Define with prototype.
84149         Remove now-unnecessary prototype decl.
84150         (extra_args_spec): Assume ANSI C.  All uses changed.
84151         (extra_args_spec_iso): Remove.
84152         (my_strftime, emacs_strftimeu): Define via prototype.
84153         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
84154         unconditionally.
84155         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
84156         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
84157         (strtoul, strtol): Remove decls.
84158         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
84159         LONG_MAX): Remove.
84160         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
84161         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
84162         (LOCALE_PARAM_PROTO): New macro.
84163         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
84164         (INTERNAL (strtol), strtol): Define with a prototype.
84165         (PARAMS): Remove.  All uses removed.
84166         * lib/tempname.c: Include <string.h> unconditionally.
84167         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
84168         * lib/xgethostname.c (main): Define with a prototype.
84169         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
84170         Include <stdlib.h> unconditionally.
84171         (calloc, malloc, realloc, free): Remove decls.
84172         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
84173         Include <stdlib.h> unconditionally.  Sort include file names.
84174         (strtod): Remove.
84175         (xstrtod): Define with a prototype.
84176         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
84177         (strtol, strtoul): Remove decls.
84178
84179 2003-09-11  Paul Eggert  <eggert@twinsun.com>
84180
84181         More patches to assume C89 or better.
84182         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
84183         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
84184         string.h, memchr, STDC_HEADERS.
84185
84186 2003-09-11  Paul Eggert  <eggert@twinsun.com>
84187
84188         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
84189         Include <stdlib.h>, <string.h> unconditionally.
84190         Remove now-unnecessary cast to char *.
84191         * lib/strnlen.c: Include <string.h> unconditionally.
84192         * lib/yesno.c (yesno): Define with a prototype.
84193
84194 2003-09-11  Bruno Haible  <bruno@clisp.org>
84195
84196         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
84197
84198 2003-09-10  Jim Meyering  <jim@meyering.net>
84199
84200         * lib/error.c: Correct indentation of cpp directives.
84201
84202 2003-09-10  Bruno Haible  <bruno@clisp.org>
84203
84204         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
84205         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
84206         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
84207         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
84208         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
84209         <stdlib.h> and <string.h> checks.
84210         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
84211         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
84212
84213 2003-09-10  Bruno Haible  <bruno@clisp.org>
84214
84215         * lib/strcspn.c: Include <string.h> unconditionally.
84216         * lib/strpbrk.c: Include <string.h> unconditionally.
84217         * lib/strstr.c: Include <string.h> unconditionally.
84218         * lib/unicodeio.c: Include <string.h> unconditionally.
84219         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
84220         * lib/unsetenv.c: Likewise.
84221         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
84222         * lib/yesno.c: Include <stdlib.h> unconditionally.
84223         (rpmatch): Add prototype.
84224
84225 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84226
84227         More patches to assume C89 or better.
84228         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
84229         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
84230         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
84231         or for string.h.
84232         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
84233         stdlib.h.
84234         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
84235         C headers.
84236         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
84237         string.h.
84238         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
84239         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
84240         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
84241         or for string.h.
84242         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
84243         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
84244         C headers.
84245         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
84246         memcpy.
84247         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
84248         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
84249         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
84250         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
84251         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
84252         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
84253         string.h, free.
84254         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
84255         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
84256         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
84257         C headers, or for string.h.
84258         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
84259         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
84260         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
84261         headers, memory.h, stdlib.h, string.h, strings.h.
84262         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
84263         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
84264         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
84265         strchr.
84266         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
84267         headers, memory.h, string.h.
84268         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
84269         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
84270         free.
84271         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
84272         headers.
84273         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
84274         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
84275         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
84276         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
84277         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
84278
84279 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84280
84281         More K&R removal.
84282
84283         * lib/acosl.c (main): Use a prototype.
84284         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
84285         tanl.c: Likewise.
84286
84287         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
84288
84289         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
84290         (getopt, etopt_long, getopt_long_only, _getopt_internal)
84291         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
84292         with a prototype.
84293         * lib/getopt.c (const): Remove macro.
84294         Include <string.h> unconditionally.
84295         (my_index): Remove; all uses changed to strchr.
84296         (strlen): Remove decl.
84297         (exchange): Remove forward decl; no longer needed.
84298         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
84299         Define with prototype.
84300         * lib/getopt1.c (const): Remove macro.
84301         (getopt_long, getopt_long_only, main): Define with prototype.
84302
84303         * lib/getugroups.c: Include <string.h> unconditionally.
84304
84305         * lib/getusershell.c: Include <stdlib.h> unconditionally.
84306         (getusershell, setusershell, endusershell, readname, main):
84307         Define with prototypes.
84308
84309         * lib/group-member.c: Include group-member.h first.
84310         Include <stdlib.h> unconditionally.
84311
84312         * lib/hard-locale.c: Include hard-locale.h first.
84313         Include <stdlib.h>, <string.h> unconditionally.
84314
84315         * lib/hash.c (free, malloc): Remove decls.
84316         Include <stdlib.h> unconditionally.
84317
84318         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
84319         (getenv): Do not declare.
84320
84321         * lib/idcache.c: Include <string.h> unconditionally.
84322
84323         * lib/long-options.c: Include long-options.h first, to test interface.
84324         Include <stdlib.h> unconditionally.
84325
84326         * lib/makepath.c: Include makepath.h first, to test interface.
84327         Include <stdlib.h> and <string.h> unconditionally.
84328
84329         * lib/linebuffer.c: Include <stdlib.h>.
84330         (free): Remove decl.
84331
84332         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
84333         stddef.h. rpl_malloc returns void *, not char *.
84334         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
84335         prototype.
84336
84337         * lib/md5.h: Include <limits.h> unconditionally.
84338         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
84339         (__P): Remove; all uses removed.
84340         * lib/md5.c: Include "md5.h" first.
84341         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
84342         md5_buffer, md5_process_bytes, md5_process_block):
84343         Define with prototypes.
84344         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
84345         * lib/sha.c: Include "sha.h" first.
84346         Include <stdlib.h>, <string.h> unconditionally.
84347
84348         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
84349         * lib/memcmp.c (__ptr_t): Likewise.
84350         * lib/memrchr.c (__ptr_t): Likewise.
84351         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
84352         Include <string.h> unconditionally.
84353         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
84354         * lib/memchr.c: Include <stdlib.h> unconditionally.
84355         * lib/memchr.c (LONG_MAX): Remove.
84356         * lib/memrchr.c (LONG_MAX): Likewise.
84357         * lib/memchr.c (__memchr): Define via a prototype.
84358         * lib/memrchr.c (__memrchr): Likewise.
84359         * lib/memcmp.c (__P): Remove, and remove all uses.
84360         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
84361         Remove forward decls; no longer needed.
84362         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
84363         Use types required by C89 in prototype.
84364
84365         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
84366         * lib/savedir.c: Likewise.
84367         * lib/mkdir.c (free): Remove decl.
84368         * lib/rmdir.c (rmdir): Define with a prototype.
84369         * lib/savedir.c: Include savedir.h first, to test interface.
84370
84371         * lib/mktime.c (STDC_HEADERS): Remove.
84372         Include <stdlib.h>, <string.h> unconditionally.
84373
84374         * lib/modechange.c: Include <stdlib.h> unconditionally.
84375         (malloc): Remove decl.
84376
84377         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
84378         (free): Remove decl.
84379
84380         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
84381         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
84382         (This type really should be intptr_t, but that's a C99ism.)
84383         (_obstack_memcpy): Remove: all uses changed to memcpy.
84384         Include <string.h> unconditionally.
84385         (struct obstack): Assume __STDC__ for types of members
84386         chunkfun, freefun, extra_arg.
84387         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
84388         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
84389         obstack_begin, obstack_specify_allocation,
84390         obstack_specify_allocation_with_arg, obstack_chunkfun,
84391         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
84392         Remove unprototyped decls and the macros that use them.
84393         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
84394         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
84395         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
84396         (defined __STDC__ && __STDC__)]:
84397         Remove nonprototyped code.
84398         Include <stdlib.h> unconditionally.
84399         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
84400         _obstack_allocated_p, _obstack_free, obstack_free,
84401         _obstack_memory_used, print_and_abort):
84402         Define using prototypes.
84403         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
84404         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
84405         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
84406         obstack_next_free, obstack_object_size, obstack_room) [0]:
84407         Remove unused, unprototyped code.
84408
84409         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
84410
84411         * lib/physmem.c (physmem_total, physmem_available, main): Define
84412         with prototypes.
84413
84414         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
84415         (main): Define with a prototype.
84416
84417         * lib/posixver.c (getenv): Remove decl.
84418
84419         * lib/putenv.c (malloc): Returns void *, not char *.
84420         Include <string.h> unconditionally.
84421         (strchr, memcpy, NULL): Do not define.
84422
84423         * lib/readtokens.c: Include readtokens.h first, to test interface.
84424         Include <stdlib.h>, <string.h> unconditionally.
84425         (init_tokenbuffer): Define with a prototype.
84426
84427         * lib/regex.c (PARAMS): Remove.  All uses removed.
84428         All uses of _RE_ARGS removed, too.
84429         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
84430         unconditionally.
84431         (bzero): Assume memset exists.
84432         (memcmp, memcpy, NULL): Remove.
84433         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
84434         char, or assignments to local vars of type signed char.
84435         (init_syntax_once, PREFIX(extract_number_and_incr),
84436         PREFIX(print_partial_compiled_pattern),
84437         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
84438         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
84439         PREFIX(regex_grow_registers), PREFIX(regex_compile),
84440         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
84441         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
84442         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
84443         wcs_compile_range, byte_compile_range, truncate_wchar,
84444         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
84445         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
84446         count_mbs_length, wcs_re_match_2_internal,
84447         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
84448         PREFIX(alt_match_null_string_p),
84449         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
84450         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
84451         regfree, PREFIX(extract_number)): Define with prototype.  Remove
84452         now-unnecessary declaration, if any.
84453         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
84454         regcomp, regexec):
84455         Remove now-unnecessary casts among pointer types.
84456         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
84457
84458         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
84459         (free): Remove decl.
84460
84461         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
84462
84463         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
84464         (free): Remove decl.
84465
84466         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
84467         * lib/xgetcwd.c: Likewise.
84468
84469         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
84470         (free): Remove decl.
84471
84472         * lib/strchrnul.c (strchrnul): Define with a prototype.
84473         Fix bug: c_in was not converted to char before searching.
84474
84475         The following changes are not K&R related:
84476
84477         * lib/group-member.h: Include <sys/types.h>, so that this file is
84478         self-contained.
84479         * lib/makepath.h: Likewise.
84480
84481         * lib/getusershell.c (readname, default_index, line_size, readname):
84482         Use size_t, not int, for sizes.
84483         (readname): If the size overflows, report an error instead of
84484         looping forever.
84485
84486 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84487
84488         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
84489         libc.
84490
84491 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84492
84493         * README: New section: portability guidelines.
84494
84495 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
84496
84497         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
84498         C89 spec.
84499
84500 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
84501
84502         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
84503
84504 2003-09-08  Paul Eggert  <eggert@twinsun.com>
84505
84506         Assume C89 or better; remove K&R cruft.
84507         A few of these changes were first proposed by Derek Robert Price
84508         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
84509
84510         * lib/addext.c: Include <string.h> unconditionally.
84511         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
84512         Don't declare getenv or malloc.
84513
84514         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
84515         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
84516         (NULL): Remove.
84517         (find_stack_direction, alloca): Use prototypes.
84518
84519         * lib/atexit.c (atexit): Define using a prototype.
84520
84521         * lib/basename.c, dirname.c, stripslash.c:
84522         Include <string.h> unconditionally.
84523
84524         * lib/bcopy.c: Include <stddef.h>.
84525         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
84526
84527         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
84528
84529         * lib/error.h (error, error_at_line, error_print_progname)
84530         [! (defined (__STDC__) && __STDC__)]: Remove decls.
84531         * lib/error.c: Include error.h first, to check interface.
84532         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
84533         (VA_START): Remove; all uses changeed to va_start.
84534         (exit, strerror): Remove decls.
84535         (error_print_progname): Prototype uncondionally.
84536         Don't include <errno.h>; no longer needed.
84537         (private_strerror): Remove.
84538         (error_tail): Always define.
84539         (error, error_at_line): Assume C89 or better; always use prototypes.
84540         * lib/fatal.c: Include "fatal.h" first, to test interface.
84541         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
84542         (VA_START): Remove; all uses changed to va_start.
84543         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
84544         this case.
84545         (exit): Remove decl.
84546         (fatal): Prototype unconditionally.  Assume va_start works.
84547         Abort at end, to pacify gcc.
84548
84549         * lib/euidaccess.c (main): Define with a prototype.
84550
84551         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
84552
84553         * lib/exitfail.c: Include <stdlib.h> unconditionally.
84554
84555         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
84556         prototypes.
84557         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
84558         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
84559         (getenv): Remove decl.
84560         (fnmatch): Define using a prototype.
84561         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
84562         (FCT): Define using a prototype.
84563
84564         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
84565
84566         * lib/gethostname.c: Include <stddef.h>.
84567         (gethostname): Define with prototype.  Length is size_t, not int.
84568
84569 2003-09-08  Paul Eggert  <eggert@twinsun.com>
84570
84571         Assume C89 or better; remove K&R cruft.
84572         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
84573         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
84574         string.h, getenv, malloc.
84575         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
84576         headers.
84577         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
84578         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
84579         do not check for strerror.
84580         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
84581         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
84582         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
84583         do not check for doprnt or vprintf.
84584         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
84585         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
84586
84587 2003-09-08  Paul Eggert  <eggert@twinsun.com>
84588
84589         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
84590         getversion.c should have been removed then, but was accidentally
84591         preserved.
84592
84593         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
84594         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
84595
84596 2003-09-08  Karl Berry  <karl@gnu.org>
84597
84598         * config/config.sub, config.guess, srclistvars.sh: update from savannah
84599                 config, forget about prep.
84600
84601         * config/depcomp, missing: update from automake.
84602
84603 2003-09-07  Paul Eggert  <eggert@twinsun.com>
84604
84605         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
84606         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
84607
84608 2003-09-07  Paul Eggert  <eggert@twinsun.com>
84609
84610         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
84611         copy_tm_result.  Bug reported by Simon Josefsson in
84612         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
84613
84614 2003-09-06  Paul Eggert  <eggert@twinsun.com>
84615
84616         * m4/time_r.m4: New file.
84617         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
84618         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
84619         is. Check for timegm declaration.
84620         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
84621         Do not check for gmtime_r.
84622         Replace mktime if __mktime_internal does not exist and if mktime
84623         hasn't been replaced already.
84624
84625 2003-09-06  Paul Eggert  <eggert@twinsun.com>
84626
84627         * lib/time_r.c, lib/time_r.h: New files.
84628
84629         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
84630         __localtime_r.
84631         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
84632         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
84633
84634         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
84635         __gmtime_r.
84636         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
84637         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
84638         Include <time_r.h>.
84639
84640         * lib/timegm.c: Switch to glibc implementation, with the following
84641         changes:
84642         [defined HAVE_CONFIG_H]: Include <config.h>.
84643         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
84644         (__mktime_internal) [!defined _LIBC]: New decl.
84645         (__gmtime_r) [!defined _LIBC]: New macro and function.
84646         (timegm): Use a prototype, since gnulib assumes C89.
84647         Do not bother declaring tmp to be const, as it's not really usefu.
84648         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
84649         (timegm): Declare only if HAVE_DECL_TIMEGM.
84650
84651 2003-09-06  Paul Eggert  <eggert@twinsun.com>
84652
84653         * MODULES.html.sh (func_all_modules): Add time_r.
84654         * modules/time_r: New file.
84655         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
84656         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
84657
84658 2003-09-03  Paul Eggert  <eggert@twinsun.com>
84659
84660         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
84661         Bug reported by Lute Kamstra in
84662         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
84663
84664         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
84665         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
84666         course with correspondingly smaller numbers for tomorrow and
84667         yesterday.  From Tadayoshi Funaba.  Originally installed into
84668         sh-utils on 1999-08-07, but the patch got lost (I guess during the
84669         coreutils merge?).
84670
84671 2003-08-31  Simon Josefsson  <jas@extundo.com>
84672
84673         * modules/timegm: New file.
84674         * MODULES.html.sh (func_all_modules): Add timegm.
84675
84676 2003-08-31  Simon Josefsson  <jas@extundo.com>
84677
84678         * m4/timegm.m4: New file.
84679
84680 2003-08-31  Simon Josefsson  <jas@extundo.com>
84681
84682         * lib/timegm.h: New file.
84683         * lib/timegm.c: New file.  Based on
84684         wget-1.8.2/src/http.c:mktime_from_utc.
84685
84686 2003-08-31  Karl Berry  <karl@gnu.org>
84687
84688         * lib/argp.h: update from libc.
84689
84690 2003-08-28  Bruno Haible  <bruno@clisp.org>
84691
84692         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
84693         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
84694         followed by '#define fnmatch fnmatch_posix' gives an error.
84695
84696 2003-08-28  Bruno Haible  <bruno@clisp.org>
84697
84698         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
84699         warning on QNX, which defines O_BINARY to 000000.
84700
84701 2003-08-27  Jim Meyering  <jim@meyering.net>
84702
84703         * m4/mkstemp.m4: Require that the system mkstemp be able to create
84704         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
84705         would fail after 32.  Reported by Danny Levinson.  Details here:
84706         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
84707
84708 2003-08-24  Bruno Haible  <bruno@clisp.org>
84709
84710         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
84711         MSVC7 <stdio.h> is included later.
84712
84713 2003-08-22  Simon Josefsson  <jas@extundo.com>
84714
84715         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
84716
84717 2003-08-20  Karl Berry  <karl@gnu.org>
84718
84719         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
84720
84721 2003-08-20  Bruno Haible  <bruno@clisp.org>
84722
84723         * modules/progname: New file.
84724         * MODULES.html.sh (func_all_modules): Add progname.
84725
84726 2003-08-20  Bruno Haible  <bruno@clisp.org>
84727
84728         * lib/progname.h: New file, from GNU gettext.
84729         * lib/progname.c: New file, from GNU gettext.
84730         * lib/progreloc.c: New file, from GNU gettext.
84731
84732 2003-08-19  Jim Meyering  <jim@meyering.net>
84733
84734         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
84735         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
84736
84737 2003-08-19  Bruno Haible  <bruno@clisp.org>
84738
84739         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
84740         more.
84741
84742 2003-08-19  Bruno Haible  <bruno@clisp.org>
84743
84744         * lib/xstrdup.c: Assume <string.h> exists.
84745
84746 2003-08-18  Paul Eggert  <eggert@twinsun.com>
84747
84748         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
84749         in makefile rules.
84750
84751 2003-08-18  Jim Meyering  <jim@meyering.net>
84752
84753         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
84754         * m4/lib-ld.m4: Likewise.
84755
84756 2003-08-18  Jim Meyering  <jim@meyering.net>
84757
84758         * lib/setenv.h: Indent nested cpp directive.
84759         * lib/vasnprintf.c: Remove trailing blanks.
84760
84761 2003-08-17  Simon Josefsson  <jas@extundo.com>
84762
84763         * modules/xstrndup: New file.
84764         * MODULES.html.sh (func_all_modules): Add xstrndup.
84765
84766 2003-08-17  Simon Josefsson  <jas@extundo.com>
84767
84768         * modules/argp: Fix autoconf macro name. Add more dependencies.
84769
84770 2003-08-17  Simon Josefsson  <jas@extundo.com>
84771
84772         * m4/xstrndup.m4: New file.
84773
84774 2003-08-17  Simon Josefsson  <jas@extundo.com>
84775
84776         * m4/argp.m4: New file.
84777
84778 2003-08-17  Simon Josefsson  <jas@extundo.com>
84779             Bruno Haible  <bruno@clisp.org>
84780
84781         * lib/xstrndup.h: New file.
84782         * lib/xstrndup.c: New file.
84783
84784 2003-08-17  Bruno Haible  <bruno@clisp.org>
84785
84786         * modules/strndup (Files, Include): Add lib/strndup.h.
84787
84788 2003-08-17  Bruno Haible  <bruno@clisp.org>
84789
84790         * modules/euidaccess (Files): Add lib/euidaccess.h.
84791
84792 2003-08-17  Bruno Haible  <bruno@clisp.org>
84793
84794         * lib/strndup.h: New file.
84795
84796 2003-08-17  Bruno Haible  <bruno@clisp.org>
84797
84798         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
84799         like AC_GNU_SOURCE.
84800         * modules/extensions (configure.ac): Comment out the invocation of
84801         gl_USE_SYSTEM_EXTENSIONS.
84802
84803 2003-08-16  Paul Eggert  <eggert@twinsun.com>
84804
84805         Merges from coreutils, etc.
84806         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
84807         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
84808         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
84809         fixing a typo.
84810         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
84811         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
84812
84813 2003-08-16  Paul Eggert  <eggert@twinsun.com>
84814
84815         Document merge from coreutils.
84816         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
84817         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
84818         * modules/utime: Add m4/utimes-null.m4.
84819
84820 2003-08-16  Paul Eggert  <eggert@twinsun.com>
84821
84822         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
84823         space, undoing this 2003-08-12 change:
84824         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
84825
84826 2003-08-16  Paul Eggert  <eggert@twinsun.com>
84827
84828         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
84829         strtoul.c from libc, undoing this 2003-08-12 change:
84830         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
84831
84832 2003-08-16  Jim Meyering  <jim@meyering.net>
84833
84834         Merges from coreutils.
84835         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
84836         prefix.  Adjust cache variables similarly.  Create 500 rather than
84837         just 300 files, to exercise bug on Darwin6.5, too.
84838         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
84839         $missing_dir.
84840         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
84841         AM_SYS_POSIX_TERMIOS.
84842         Reported by mkc@mathdogs.com.
84843         Also change use of $am_cv_sys_posix_termios
84844         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
84845         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
84846         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
84847         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
84848         in /proc/mounts until it finds one with matching device number.  This
84849         is unnecessary when the FILE argument *is* a mount point.  No stat call
84850         is necessary in that case.  So, disable the statvfs-testing code on
84851         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
84852         as RedHat bug# 84846.
84853         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
84854         to 1MB, so as not to render systems with no stack size limit (e.g.,
84855         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
84856         Include <unistd.h>.  On some systems,
84857         it is required for the definition of _SC_PAGESIZE.
84858
84859 2003-08-16  Jim Meyering  <jim@meyering.net>
84860
84861         Merge from coreutils.
84862         * lib/xstrtoimax.c: #else #if -> #elif.
84863         * lib/xstrtoumax.c: Likewise.
84864
84865 2003-08-16  Jim Meyering  <jim@meyering.net>
84866
84867         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
84868         * m4/utimes.m4: Removed.
84869         * m4/utimes-null.m4: Renamed from utimes.m4.
84870
84871         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
84872         to 1MB, so as not to render systems with no stack size limit (e.g.,
84873         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
84874         Include <unistd.h>.  On some systems,
84875         it is required for the definition of _SC_PAGESIZE.
84876
84877 2003-08-16  Jim Meyering  <jim@meyering.net>
84878         and Paul Eggert  <eggert@cs.ucla.edu>
84879
84880         Merges from coreutils, etc.
84881
84882         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
84883         using the latest version from cvs.  This avoids problems with #line
84884         directives using a vendor (Sun) compiler.
84885         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
84886         Don't set GETGROUPS_LIB here; now it's
84887         done via getgroups.m4's wrapper function.
84888         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
84889         rather than just in sh-util/configure.in, so that the
84890         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
84891         same.
84892         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
84893         AC_FUNC_GETLOADAVG where to find getloadavg.c.
84894         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
84895         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
84896         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
84897         Remove code that is now done by the newly-required macros.
84898         Append $(EXEEXT) to DF_PROG.
84899         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
84900         Do not invoke or require the following here,
84901         since prereq.m4 or some gnulib .m4 now does this for us:
84902         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
84903         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
84904         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
84905         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
84906         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
84907         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
84908         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
84909         AC_FUNC_OBSTACK.
84910         Do not replace the following functions, as this is now the job
84911         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
84912         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
84913         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
84914         atexit getpass, strdup, getpagesize.
84915         Replace 'raise'.
84916         Do not check for the following functions, as this is now the job
84917         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
84918         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
84919         setregid.
84920         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
84921         Check for sys/sysctl.h.
84922         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
84923         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
84924         of checking for ssize_t ourselves.
84925
84926         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
84927         Require every macro that gnulib/modules/* suggests for us.
84928         (jm_PREREQ_ADDEXT): New macro.
84929         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
84930         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
84931
84932         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
84933         (gl_PHYSMEM): Use it.
84934         Also check for `table' function.
84935         Check for new headers and functions.
84936         Add check for sys/sysmp.h.
84937         With suggestions from Kaveh Ghazi.
84938         Ignore headers that are present but cannot be compiled.  This
84939         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
84940         C 5.4.
84941
84942 2003-08-15  Paul Eggert  <eggert@twinsun.com>
84943
84944         Document merge from coreutils.
84945         * modules/userspec: Depend on posixver.
84946         * modules/strftime: Depend on tzset.
84947
84948 2003-08-15  Paul Eggert  <eggert@twinsun.com>
84949
84950         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
84951         rather than tab, after '#' in shell-script copyright notices.
84952         Suggested by Bruno Haible.
84953
84954 2003-08-15  Paul Eggert  <eggert@twinsun.com>
84955
84956         * config/srclist-update: Use three spaces, rather than tab, after '#'
84957         in shell-script copyright notices.  Suggested by Bruno Haible.
84958         Remove unnecessary parenthesization in regular expression.
84959
84960 2003-08-15  Jim Meyering  <jim@meyering.net>
84961
84962         Merge from coreutils.
84963         * lib/xgethostname.c: Include <stdlib.h>.
84964         (xghostname): Don't exit for anything other than memory-related
84965         failure; just return NULL.
84966         * lib/userspec.c: Include "posixver.h".
84967         (parse_user_spec): Accept `.' as a separator only
84968         in pre-POSIX-200112 mode.
84969         * lib/strtoimax.c: Use #elif rather than #else #if.
84970         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
84971         Remove function, now that we can rely on a working tzset function.
84972         [!_LIBC]: Ensure that the required autoconf test has been run.
84973         [!defined _NL_CURRENT && HAVE_STRFTIME]:
84974         Use underlying_strftime for %r.
84975         * lib/sha.c: Merge in some clean-up and optimization changes from
84976         glibc.
84977         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
84978         Ensure that it is a multiple of 64.
84979         Rearrange loop exit tests so as to avoid performing an
84980         additional fread after encountering an error or EOF.
84981         * lib/realloc.c: Update copyright date.
84982
84983 2003-08-15  Jim Meyering  <jim@meyering.net>
84984         and Paul Eggert  <eggert@twinsun.com>
84985
84986         Merge from coreutils.
84987         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
84988         member but strut utmpx does not.  Needed for AIX 4.3.3.
84989         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
84990
84991 2003-08-15  Jim Meyering  <jim@meyering.net>
84992         and Paul Eggert  <eggert@cs.ucla.edu>
84993
84994         Merges from coreutils, etc.
84995         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
84996         Require gl_FUNC_TZSET_CLOBBER.
84997         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
84998         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
84999         members.
85000
85001 2003-08-14  Paul Eggert  <eggert@twinsun.com>
85002
85003         Help the merge from coreutils.
85004         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
85005         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
85006         * m4/tzset.m4: Use it too.
85007
85008 2003-08-14  Paul Eggert  <eggert@twinsun.com>
85009
85010         * modules/tzset: New file.
85011
85012 2003-08-14  Jim Meyering  <jim@meyering.net>
85013
85014         Merges from coreutils.
85015         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
85016         variable names, rather than @FNMATCH_H@.
85017         * modules/alloca: Likewise for $(ALLOCA_H).
85018
85019         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
85020         the three copies of the literal target, `fnmatch.h'.
85021         * modules/alloca (alloca.h): Likewise.
85022
85023 2003-08-14  Jim Meyering  <jim@meyering.net>
85024
85025         Merge from coreutils.
85026         * m4/tzset.m4: New file.
85027         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
85028         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
85029         otherwise, AIX 5.1 systems would end up using the latter.
85030         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
85031         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
85032         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
85033         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
85034
85035 2003-08-14  Jim Meyering  <jim@meyering.net>
85036
85037         Merge from coreutils.
85038         * lib/obstack.h: Whitespace changes.
85039         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
85040         and xcalloc return values.
85041         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
85042         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
85043         hang on OSF/1 5.1 for DIR on both local and remote file systems.
85044         Reported by (and fix confirmed by) Nelson H. F. Beebe.
85045         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
85046         error from mntctl.
85047         Use mntctl's return value to drive the entry-processing loop, since
85048         we can't rely on the value of the vmt_length member in the last
85049         entry.  On some systems doing so could result in exhausting
85050         virtual memory.  Based in part on a patch from Mike Jetzer.
85051
85052 2003-08-14  Jim Meyering  <jim@meyering.net>
85053         and Paul Eggert  <eggert@twinsun.com>
85054
85055         Merges from coreutils, plus other fixes.
85056         * lib/physmem.c: Merge in portability changes from gcc/libiberty
85057         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
85058         for credits and details.  Thanks to Kaveh Ghazi for helping
85059         to keep these files in sync.
85060         (ARRAY_SIZE): Define it.
85061         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
85062         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
85063         (memcasecmp): Don't assume size_t fits in unsigned int.
85064         Remove casts and duplicate code.
85065         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
85066         (memcpy): Remove definition.
85067         Merge in some clean-up and optimization changes from glibc.
85068         [BLOCKSIZE]: Move definition to top of file.
85069         Ensure that it is a multiple of 64.
85070         Rearrange loop exit tests so as to avoid performing an
85071         additional fread after encountering an error or EOF.
85072         * lib/md5.h (md5_uintptr): Define.
85073         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
85074         return to the initial working directory.  Preserve errno
85075         for caller.
85076         * lib/idcache.c: Include "xalloc.h".
85077         (xmalloc, xrealloc): Remove decls.
85078         (getuser): Remove casts no longer required in C89.
85079         * lib/human.c: Include stdio.h, for sprintf.
85080         * lib/group-member.c: Include "xalloc.h".
85081         (xmalloc, xrealloc): Remove decls.
85082         (get_group_info): Remove casts no longer required in C89.
85083         * lib/getusershell.c (readname): Remove casts no longer required in
85084         C89.
85085         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
85086         * lib/getline.c: Whitespace fix, from coreutils.
85087
85088 2003-08-13  Paul Eggert  <eggert@twinsun.com>
85089
85090         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
85091         Check for isascii.
85092
85093         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
85094         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
85095         Undo previous (whitespace-only) change.
85096
85097 2003-08-13  Paul Eggert  <eggert@twinsun.com>
85098
85099         * lib/exclude.c: Include <ctype.h>
85100         (IN_CTYPE_DOMAIN): New macro.
85101         (is_space): New fn.
85102         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
85103         and empty lines.
85104
85105         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
85106         Undo previous (whitespace-only) change.
85107
85108 2003-08-13  Paul Eggert  <eggert@twinsun.com>
85109
85110         * config/srclist-update: Change update back to the old behavior,
85111         leaving whitespace alone.  Use one 'sed' command rather than a
85112         pipeline.
85113         (fixlicense): Now a variable, not a function.
85114         (remove_trailing_blanks): Remove.
85115         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
85116         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
85117         Undo previous (whitespace-only) change.
85118
85119 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85120
85121         Merge from coreutils.
85122         * modules/euidaccess: Add lib_SOURCES, include for new
85123         file euidaccess.h
85124
85125 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85126
85127         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
85128         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
85129         Normalize leading white space and remove trailing white space.
85130
85131         Merge from coreutils
85132         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
85133
85134         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
85135         0.12.1.  These files are now being upgraded automatically by
85136         ../config/srclist-update.
85137
85138 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85139
85140         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
85141         Normalize leading white space and remove trailing white space.
85142         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
85143         notice, as per ../config/srclist-update.
85144
85145         Merge from coreutils.
85146         * lib/euidaccess.h: New file.
85147         * lib/euidaccess.c: Include it.
85148         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
85149         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
85150         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
85151
85152 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85153
85154         * config/srclist-update: Add copyright notice.
85155         (remove_id_lines, remove_trailing_blanks): New constants.
85156         (fixfile): Use them to normalize spacing a bit in copied files.
85157         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
85158         Normalize leading white space and remove trailing white space.
85159
85160         * config/texinfo.tex: Sync with texinfo.
85161
85162         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
85163         strtoul.c from libc, to merge coreutils whitespace changes.
85164
85165         * config/srclist.txt: Get the following m4 files from gettext:
85166         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
85167         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
85168         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
85169         wint_t.m4.
85170
85171 2003-08-12  Karl Berry  <karl@gnu.org>
85172
85173         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
85174         been made.
85175
85176 2003-08-11  Paul Eggert  <eggert@twinsun.com>
85177
85178         * modules/gnu-source, m4/gnu-source.m4:
85179         Remove; we're assuming Autoconf 2.54 or later now.
85180         Suggested by Bruno Haible.
85181         * MODULES.html.sh (func_all_modules): Remove gnu-source.
85182
85183 2003-08-11  Bruno Haible  <bruno@clisp.org>
85184
85185         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
85186
85187 2003-08-11  Bruno Haible  <bruno@clisp.org>
85188
85189         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
85190         (vasnprintf): Use it instead of wcslen.
85191
85192 2003-08-11  Bruno Haible  <bruno@clisp.org>
85193
85194         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
85195         value to ensure that _Bool promotes to int. Use #define for _Bool when
85196         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
85197
85198 2003-08-10  Karl Berry  <karl@gnu.org>
85199
85200         * lib/regex.h: update from libc (whitespace fix).
85201
85202 2003-08-09  Paul Eggert  <eggert@twinsun.com>
85203
85204         Merge some files from coreutils.  These changes were
85205         originally made by Jim Meyering.
85206         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
85207         many older Unixes require this.
85208         * lib/alloca.c (alloca): Remove cast to argument of free;
85209         no longer needed in C89.
85210         * lib/alloca_.h, regex.h: Fix white space to match
85211         what GNU indent does.
85212
85213 2003-08-09  Paul Eggert  <eggert@twinsun.com>
85214
85215         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
85216         apparently Emacs's Unicode mode got confused before my 2003-08-05
85217         checkin.
85218
85219 2003-08-08  Paul Eggert  <eggert@twinsun.com>
85220
85221         * m4/extensions.m4: New file.
85222         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
85223         Require gl_USE_SYSTEM_EXTENSIONS.
85224         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
85225         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
85226
85227 2003-08-08  Paul Eggert  <eggert@twinsun.com>
85228
85229         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
85230         * modules/extensions, modules/gnu-source: New files.
85231         * modules/timespec, modules/unlocked-io: Depend on extensions.
85232
85233 2003-08-07  Paul Eggert  <eggert@twinsun.com>
85234
85235         * modules/restrict: New file.
85236         * MODULES.html.sh (func_all_modules): Add restrict.
85237         * modules/regex: Depend on restrict.
85238
85239 2003-08-07  Paul Eggert  <eggert@twinsun.com>
85240
85241         * m4/restrict.m4: New file.
85242         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
85243
85244 2003-08-07  Bruno Haible  <bruno@clisp.org>
85245
85246         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
85247         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
85248
85249 2003-08-07  Bruno Haible  <bruno@clisp.org>
85250
85251         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
85252         makes the module 'getndelim2' compatible with the module 'getline'.
85253
85254 2003-08-05  Paul Eggert  <eggert@twinsun.com>
85255
85256         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
85257         byte with "\201" to avoid glitches when editing that source file
85258         with multi-gnome-terminal.
85259
85260 2003-08-05  Paul Eggert  <eggert@twinsun.com>
85261
85262         * lib/bumpalloc.h: Remove.
85263
85264 2003-08-05  Paul Eggert  <eggert@twinsun.com>
85265
85266         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
85267         * modules/bumpalloc: Remove.
85268
85269 2003-08-04  Paul Eggert  <eggert@twinsun.com>
85270
85271         * lib/getloadavg.c: Change copyright notice and spacing to conform to
85272         GNU coding style.
85273
85274         Merge from coreutils.
85275         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
85276         1. From glibc.
85277         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
85278         from Karl Berry, implemented by Jim Meyering.
85279         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
85280         from Dmitry V. Levin.
85281         Remove anachronistic cast of xrealloc.
85282         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
85283         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
85284         type. Otherwise, it wouldn't compile with at least /bin/cc on
85285         ymp-cray-unicos9.0.2.X.
85286         Combine two mostly-identical uses of alloca into one.
85287         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
85288
85289 2003-08-04  Dave Love  <d.love@dl.ac.uk>
85290
85291         [From Emacs.]
85292
85293         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
85294         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
85295         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
85296         obsolete NLIST_NAME_UNION.
85297         [__GNU__]: Undef BSD and FSCALE.
85298         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
85299
85300 2003-08-03  Paul Eggert  <eggert@twinsun.com>
85301
85302         * lib/stdbool_.h (_Bool): Make it signed char, instead of
85303         an enum type, so that it's guaranteed to promote to int.  See:
85304         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
85305
85306 2003-08-03  Karl Berry  <karl@gnu.org>
85307
85308         * config/depcomp: update from automake.
85309
85310 2003-07-31  Paul Eggert  <eggert@twinsun.com>
85311
85312         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
85313         (strerror): Don't assume that a printable int fits in 14 bytes.
85314
85315 2003-07-31  Bruno Haible  <bruno@clisp.org>
85316
85317         * modules/getpass-gnu: New file.
85318         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
85319
85320 2003-07-31  Bruno Haible  <bruno@clisp.org>
85321
85322         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
85323
85324 2003-07-24  Karl Berry  <karl@gnu.org>
85325
85326         * config/missing: update from automake.
85327
85328 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
85329             Bruno Haible  <bruno@clisp.org>
85330
85331         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
85332         * lib/getline.c (getline, getdelim): Likewise.
85333         Remove _GNU_SOURCE define; now it's defined in config.h through
85334         m4/getline.m4.
85335
85336 2003-07-23  Karl Berry  <karl@gnu.org>
85337
85338         * config/config.sub: update from prep.
85339
85340 2003-07-22  Paul Eggert  <eggert@twinsun.com>
85341
85342         * modules/xalloc (Depends-on): Add exitfail.
85343         * modules/xmemcoll: Likewise.
85344
85345 2003-07-22  Paul Eggert  <eggert@twinsun.com>
85346
85347         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
85348         over-parenthesization in macros.
85349
85350         Sync with coreutils.
85351
85352         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
85353         required by C99.
85354
85355         Use `exit_failure' for xalloc and xmemcoll instead of their own
85356         private exit-failure variables.
85357         * lib/xalloc.h (xalloc_exit_failure): Remove.
85358         * lib/xmalloc.c: Likewise.  Include exitfail.h.
85359         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
85360         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
85361         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
85362         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
85363
85364 2003-07-20  Jim Meyering  <jim@meyering.net>
85365
85366         * modules/closeout (Depends-on): Add exitfail.
85367         Suggestion from Bruno Haible.
85368
85369 2003-07-19  Karl Berry  <karl@gnu.org>
85370
85371         * config/config.sub: update from prep.
85372
85373 2003-07-18  Paul Eggert  <eggert@twinsun.com>
85374
85375         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
85376         Remove.
85377         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
85378         to test that it can stand by itself.  Include "exitfail.h".
85379         Clients should set exit_failure instead.
85380         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
85381
85382 2003-07-18  Bruno Haible  <bruno@clisp.org>
85383
85384         * modules/getndelim2: New file.
85385         * modules/getline: Share files with module getndelim2.
85386         * modules/getnline: Depend on getndelim2 instead of sharing files with
85387         it. Add getnline.c to lib_SOURCES.
85388         * MODULES.html.sh (func_all_modules): Add getndelim2.
85389
85390 2003-07-18  Bruno Haible  <bruno@clisp.org>
85391
85392         * m4/getndelim2.m4: New file.
85393         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
85394         invoke gl_PREREQ_GETNDELIM2.
85395         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
85396         gl_PREREQ_GETNDELIM2.
85397         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
85398         gl_GETNDELIM2.
85399
85400 2003-07-18  Bruno Haible  <bruno@clisp.org>
85401
85402         * lib/getndelim2.h: New file.
85403         * lib/getndelim2.c: Make into a module of its own. Include config.h,
85404         getndelim2.h.
85405         (getndelim2): Make non-static. Change return type to ssize_t.
85406         * lib/getline.h: Change argument names.
85407         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
85408         * lib/getnline.c: Include getndelim2.h.
85409
85410 2003-07-18  Andreas Schwab  <schwab@suse.de>
85411
85412         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
85413
85414 2003-07-17  Karl Berry  <karl@gnu.org>
85415
85416         * config/config.sub: update from prep.
85417
85418 2003-07-17  Bruno Haible  <bruno@clisp.org>
85419
85420         * modules/getnline: New file.
85421         * modules/getline: Add lib/getndelim2.c to source file list.
85422         * MODULES.html.sh (func_all_modules): Add getnline.
85423
85424 2003-07-17  Bruno Haible  <bruno@clisp.org>
85425
85426         * m4/getnline.m4: New file.
85427
85428 2003-07-17  Bruno Haible  <bruno@clisp.org>
85429
85430         * m4/Makefile.am.in: Remove file.
85431         * m4/Makefile.am: Remove file.
85432         * m4/Makefile.in: Remove file.
85433
85434 2003-07-17  Bruno Haible  <bruno@clisp.org>
85435
85436         * lib/getnline.h: New file.
85437         * lib/getnline.c: New file.
85438         * lib/getndelim2.c: New file, extracted from getline.c.
85439         (getndelim2): Renamed from getdelim2, with added nmax argument.
85440         * lib/getline.c: Include getndelim2.c.
85441         (getdelim2): Moved out to getndelim2.c.
85442         (getline, getdelim): Update.
85443
85444 2003-07-17  Bruno Haible  <bruno@clisp.org>
85445
85446         * lib/Makefile.am: Remove file.
85447         * lib/Makefile.in: Remove file.
85448
85449 2003-07-17  Bruno Haible  <bruno@clisp.org>
85450
85451         * configure.in: Remove file.
85452         * Makefile.in: Remove file.
85453
85454 2003-07-17  Bruno Haible  <bruno@clisp.org>
85455
85456         * MODULES.html.sh: Put the </BODY> right before </HTML>.
85457
85458 2003-07-16  Karl Berry  <karl@gnu.org>
85459
85460         * config/srclist-update: was running fixlicense twice, which caused
85461                 texinfo.tex to be nullified for some reason.  Simplify,
85462                 $gplsrc is no longer needed as far as I can see?
85463
85464 2003-07-16  Jim Meyering  <jim@meyering.net>
85465
85466         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
85467
85468 2003-07-15  Paul Eggert  <eggert@twinsun.com>
85469
85470         * config/srclist.txt: Get the following files from gettext-runtime/intl
85471         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
85472         ref-del.sin.  From Bruno Haible.
85473         * config/srclist-update (fixfile): Change grep pattern again, since the
85474         previous fix didn't work (there was another trailing $).  Use
85475         '[$]' to escape the $s.
85476
85477 2003-07-15  Karl Berry  <karl@gnu.org>
85478
85479         * lib/vasnprintf.c: update from gettext.
85480
85481 2003-07-15  Karl Berry  <karl@gnu.org>
85482
85483         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
85484         gets expanded when surrounded by '$'.
85485
85486 2003-07-15  Jim Meyering  <jim@meyering.net>
85487
85488         * modules/save-cwd: Don't depend on error.  From Derek Price.
85489
85490 2003-07-15  Jim Meyering  <jim@meyering.net>
85491
85492         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
85493
85494 2003-07-14  Simon Josefsson  <jas@extundo.com>
85495
85496         * modules/mempcpy: New file.
85497         * MODULES.html.sh (func_all_modules): Add mempcpy.
85498
85499 2003-07-14  Simon Josefsson  <jas@extundo.com>
85500
85501         * m4/mempcpy.m4: New file.
85502
85503 2003-07-14  Simon Josefsson  <jas@extundo.com>
85504
85505         * lib/mempcpy.h: New file.
85506         * lib/mempcpy.c: New file.
85507
85508 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85509
85510         * modules/getdate, modules/posixtm: Depend on mktime.
85511
85512 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85513
85514         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
85515         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
85516         unicodeio.c, unicodeio.h, unlocked-io.h:
85517         Switch from LGPL to GPL.
85518
85519 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85520
85521         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
85522         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
85523         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
85524         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
85525         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
85526         updated automatically by ../config/srclist-update.  This changes
85527         their license from LPGL to GPL.
85528
85529 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85530
85531         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
85532         assumed to refer to the root of the most recent stable gettext version.
85533         * config/srclistvars.sh: Add defaults for eggert.
85534         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
85535         Match "This program" as well as "The program".  This is needed
85536         for gettext.
85537
85538 2003-07-14  Jim Meyering  <jim@meyering.net>
85539
85540         Don't emit diagnostics.  Let callers do that.
85541         * lib/save-cwd.c: Don't include "error.h".
85542         (save_cwd): Don't call error.  Ensure that errno is valid
85543         when returning nonzero.
85544
85545         * lib/save-cwd.h (restore_cwd): Update prototype.
85546         * lib/save-cwd.c (restore_cwd): Remove two parameters.
85547         Simplify.  Don't call error upon failure.  Let callers do that.
85548         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
85549         when auditing is enabled.  But don't bother updating the #if.
85550
85551 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
85552
85553         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
85554         it breaks C++ compilation.
85555         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
85556
85557 2003-07-10  Simon Josefsson  <jas@extundo.com>
85558
85559         * modules/strchrnul (Makefile.am): Add strchrnul.h.
85560
85561 2003-07-10  Jim Meyering  <jim@meyering.net>
85562
85563         * m4/clock_time.m4: Remove trailing blank.
85564         * m4/intmax_t.m4: Likewise.
85565
85566 2003-07-10  Jim Meyering  <jim@meyering.net>
85567
85568         * lib/vasnprintf.c: Remove trailing blanks.
85569         Make cpp indentation consistent.
85570
85571 2003-07-09  Paul Eggert  <eggert@twinsun.com>
85572
85573         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
85574         posixver.c, strftime.c, strnlen.c, strverscmp.c:
85575         Switch from LGPL to GPL.
85576
85577 2003-07-09  Paul Eggert  <eggert@twinsun.com>
85578
85579         * config/srclist.txt: Sort sublists.  Add
85580         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
85581         that differ from gnulib for one reason or another; we'd like this list
85582         to be smaller but for now let's document what we have.
85583
85584 2003-07-08  Paul Eggert  <eggert@twinsun.com>
85585
85586         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
85587         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
85588         and sweeter "eval x=$x".
85589         * config/srclist.txt: Get lib/argp* from glibc.
85590
85591 2003-07-07  Paul Eggert  <eggert@twinsun.com>
85592
85593         * lib/mktime.c: Fix some boundary cases and remove need for floating
85594         point.
85595
85596         Issue a compile-time diagnostic if time_t is floating point, or if
85597         two's complement arithmetic is not in effect, or if arithmetic
85598         right shift does not propagate the sign.  These assumptions were
85599         all in the original code but they weren't checked.
85600
85601         (TIME_T_MIDPOINT, verify): New macros.
85602         (__isleap): Remove; it has integer overflow problems.
85603         (leapyear): New function, without those problems.
85604         (ydhms_tm_diff): Remove; splitting into two parts.
85605         (ydhms_diff): New function, containing the arithmetic part of
85606         the old ydhms_tm_diff function.  Issue a compile-time
85607         diagnostic if we are not using C99 integer division.
85608         Avoid casts when possible.
85609         (guess_time_tm): New function, containing the checking part of
85610         the old ydhms_tm_diff function.  Return the new value, rather than
85611         the difference between it and the old.  Accept a new argument T
85612         so that *T specifies the old value.  Check for overflow in the result.
85613
85614         (__mktime_internal): Use a time_t offset, not a long int offset.
85615         This undoes the 2003-06-04 change, which is no longer needed now
85616         that we have better overflow checking.
85617         (localtime_offset): Likewise.
85618
85619         (__mktime_internal): Avoid harmful overflow on hosts where time_t
85620         and long are 64-bit but int is only 32-bit.
85621         (ydhms_diff): Use long int to store year1 and yday1.
85622         Issue a compile-time diagnostic if long int is not wide enough.
85623
85624         (__mktime_internal): Use long int to store adjusted year and yday.
85625         Use plain C rather than preprocessor commands, if that doesn't
85626         affect efficiency.
85627         Check for overflow (and try to repair) after each probe
85628         rather than checking only at the very end.  This avoids some bugs
85629         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
85630         does not equal GMT offset at maximum time).
85631         Use integer to check for overflow rather than floating point; this
85632         is more portable to non-IEEE hosts, and is a tad faster.
85633         When we detect that we are oscillating between two values,
85634         don't check whether tm_isdst has the requested value, since
85635         we already know the answer.  When tm_isdst has the wrong value,
85636         use a different heuristic to find the right one, based on the
85637         extreme values actually observed in practice in tz2003a,
85638         rather than the (overly optimistic) "previous 3 calendar quarters".
85639
85640         (not_equal_tm, print_tm, check_result): Use "const T" rather than
85641         "T const" to accommodate glibc style.
85642         (check_result): Use less-confusing report format.  "long" -> "long int.
85643         (main): Likewise.
85644         Don't loop if the iteration overflows time_t.
85645         Allow a negative step in the iteration.
85646
85647 2003-07-06  Karl Berry  <karl@gnu.org>
85648
85649         * config/depcomp: update from automake.
85650         * config/config.sub: update from prep.
85651
85652 2003-07-03  Karl Berry  <karl@gnu.org>
85653
85654         * config/config.guess: update from prep.
85655
85656 2003-07-01  Paul Eggert  <eggert@twinsun.com>
85657
85658         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
85659         xreadlink.c now includes it unconditionally.
85660
85661 2003-07-01  Paul Eggert  <eggert@twinsun.com>
85662
85663         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
85664         having it depend on HAVE_SYS_TYPES_H.
85665
85666 2003-07-01  Bruno Haible  <bruno@clisp.org>
85667
85668         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
85669         <sys/types.h> should be sufficient.
85670         Reported by Paul Eggert.
85671
85672 2003-06-26  Karl Berry  <karl@gnu.org>
85673
85674         * config/depcomp: update from automake.
85675
85676 2003-06-26  Bruno Haible  <bruno@clisp.org>
85677
85678         * modules/human: Depend on module stdbool.
85679
85680 2003-06-25  Bruno Haible  <bruno@clisp.org>
85681
85682         * modules/readlink: New file.
85683         * modules/xreadlink: Depend on it.
85684         * MODULES.html.sh (func_all_modules): Add readlink.
85685
85686 2003-06-25  Bruno Haible  <bruno@clisp.org>
85687
85688         * m4/readlink.m4: New file.
85689
85690 2003-06-25  Bruno Haible  <bruno@clisp.org>
85691
85692         * lib/readlink.c: New file.
85693
85694 2003-06-22  Karl Berry  <karl@gnu.org>
85695
85696         * config/srclist.txt: update mkinstalldirs from automake.
85697         * config/mkinstalldirs: update.
85698
85699 2003-06-22  Bruno Haible  <bruno@clisp.org>
85700
85701         Portability to mingw32.
85702         * m4/ssize_t.m4: New file, from GNU gettext.
85703         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
85704         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
85705
85706 2003-06-22  Bruno Haible  <bruno@clisp.org>
85707
85708         * modules/safe-read: Add m4/ssize_t.m4.
85709         * modules/xreadlink: Add m4/ssize_t.m4.
85710
85711 2003-06-20  Bruno Haible  <bruno@clisp.org>
85712
85713         Assume C89, so PARAMS isn't needed.
85714         * lib/unicodeio.h (PARAMS): Remove.
85715         * lib/unicodeio.c: Don't use PARAMS.
85716
85717 2003-06-18  Karl Berry  <karl@gnu.org>
85718
85719         * config/config.{guess,sub}: update from prep.
85720
85721 2003-06-18  Jim Meyering  <jim@meyering.net>
85722
85723         Merge changes from coreutils.
85724         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
85725         Remove explicit declarations of xmalloc and realloc.
85726         Include xalloc.h.
85727         (read_utmp): Remove anachronistic cast of xmalloc.
85728
85729 2003-06-17  Paul Eggert  <eggert@twinsun.com>
85730
85731         Assume C89, so PARAMS isn't needed.
85732         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
85733         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
85734         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
85735         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
85736         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
85737         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
85738         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
85739         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
85740         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
85741         lib/xstrtod.h, lib/xstrtol.h: Likewise.
85742         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
85743         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
85744         no longer needed. Anyway, config.h should always be included before any
85745         other file.
85746
85747 2003-06-11  Simon Josefsson  <jas@extundo.com>
85748
85749         * modules/sysexits: New file.
85750         * MODULES.html.sh (func_all_modules): Add sysexits.
85751
85752 2003-06-11  Simon Josefsson  <jas@extundo.com>
85753
85754         * lib/sysexit_.h: New file.
85755
85756 2003-06-11  Derek Price  <derek@ximbiot.com>
85757
85758         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
85759         necessary.
85760
85761 2003-06-11  Bruno Haible  <bruno@clisp.org>
85762
85763         * m4/sysexits.m4: New file.
85764
85765 2003-06-10  Simon Josefsson  <jas@extundo.com>
85766
85767         * lib/argp.h: New file, from glibc.
85768         * lib/argp-ba.c: New file, from glibc.
85769         * lib/argp-eexst.c: New file, from glibc.
85770         * lib/argp-fmtstream.c: New file, from glibc.
85771         * lib/argp-fmtstream.h: New file, from glibc.
85772         * lib/argp-fs-xinl.c: New file, from glibc.
85773         * lib/argp-help.c: New file, from glibc.
85774         * lib/argp-namefrob.h: New file, from glibc.
85775         * lib/argp-parse.c: New file, from glibc.
85776         * lib/argp-pv.c: New file, from glibc.
85777         * lib/argp-pvh.c: New file, from glibc.
85778         * lib/argp-xinl.c: New file, from glibc.
85779
85780 2003-06-10  Simon Josefsson  <jas@extundo.com>
85781
85782         * modules/strchrnul: New file.
85783
85784 2003-06-10  Simon Josefsson  <jas@extundo.com>
85785
85786         * modules/argp: New file.
85787
85788 2003-06-10  Simon Josefsson  <jas@extundo.com>
85789
85790         * m4/strchrnul.m4: New file.
85791
85792 2003-06-10  Simon Josefsson  <jas@extundo.com>
85793
85794         * lib/strchrnul.h: New file.
85795         * lib/strchrnul.c: New file.
85796
85797 2003-06-10  Bruno Haible  <bruno@clisp.org>
85798
85799         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
85800
85801 2003-06-07  Karl Berry  <karl@gnu.org>
85802
85803         * config/config.{guess,sub}: update from prep.
85804
85805 2003-06-07  Jim Meyering  <jim@meyering.net>
85806
85807         * modules/strtod: Use $(...) notation, not @...@ for
85808         AC_REPLACE'd variables.
85809         * modules/localcharset: Likewise.
85810
85811 2003-06-07  Jim Meyering  <jim@meyering.net>
85812
85813         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
85814         in place of my name in the copyright comment.
85815         Remove definition and uses of __P.
85816
85817         From coreutils.
85818         * lib/stat.c: Don't declare xmalloc explicitly.
85819         Instead, include "xalloc.h".
85820         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
85821         xrealloc, and xcalloc return values.
85822         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
85823         Improve comment.
85824         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
85825
85826 2003-06-07  Bruno Haible  <bruno@clisp.org>
85827
85828         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
85829         avoid AC_CONFIG_LINKS.
85830         * modules/fnmatch (Makefile.am): Use explicit creation rule for
85831         fnmatch.h, to avoid AC_CONFIG_LINKS.
85832         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
85833
85834 2003-06-07  Bruno Haible  <bruno@clisp.org>
85835
85836         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
85837         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
85838         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
85839         directory.
85840         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
85841         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
85842         directory.
85843
85844 2003-06-06  Jim Meyering  <jim@meyering.net>
85845
85846         Merge from coreutils.
85847         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
85848         Consolidate declarations and initializations of *_base* locals.
85849
85850         Merge from coreutils.
85851         This avoids a core dump on systems without GNU putenv,
85852         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
85853         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
85854         (unsetenv): New static function, from GNU libc.
85855         (rpl_putenv): Use it.
85856
85857         * lib/modechange.c: Remove trailing blanks.
85858
85859         Merge from coreutils.
85860         * lib/fsusage.c: Remove declaration of statfs.
85861         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
85862
85863         * lib/posixtm.c: Include <stdbool.h> unconditionally.
85864
85865 2003-06-06  Jim Meyering  <jim@meyering.net>
85866
85867         * lib/stdbool_.h: Renamed from stdbool.h.in.
85868
85869 2003-06-06  Jim Meyering  <jim@meyering.net>
85870             Bruno Haible  <bruno@clisp.org>
85871
85872         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
85873         Adjust Makefile.am snippet not to redirect directly to target.
85874         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
85875
85876 2003-06-05  Paul Eggert  <eggert@twinsun.com>
85877
85878         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
85879         mismatch, look in future quarters as well as past.  This fixes a
85880         bug when processing fall-backwards gaps immediately after a long
85881         period of daylight-saving time.
85882
85883         * lib/mktime.c: Assume freestanding C89 or better.
85884         (HAVE_LIMITS_H): Remove.  Assume it's 1.
85885         (__P): Remove; not used.
85886         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
85887         (mktime, not_equal_tm, print_tm, check_result,
85888         main): Use prototypes.  Use const * where appropriate.
85889         (main): Fix typo in testing code that uncovered by above changes.
85890         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
85891
85892 2003-06-04  Paul Eggert  <eggert@twinsun.com>
85893
85894         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
85895         locale.h, localeconv.  This merges changes from coreutils.
85896
85897         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
85898         It can be removed after the next Autoconf is released.
85899         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
85900         needed.
85901
85902 2003-06-04  Paul Eggert  <eggert@twinsun.com>
85903
85904         * lib/mktime.c: Fix Debian bug 177940
85905         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
85906         (localtime_offset): Now long int, not time_t, because we want it
85907         to be guaranteed to be signed.  All uses changed.
85908         (__mktime_internal): If overflow would occur when adding offset,
85909         don't add it.
85910
85911         Merge 'human' changes from coreutils.  Rewrite to support
85912         locale-specific notations like thousands separators.
85913         * lib/human.c: Simplify authorship notice.
85914         Include human.h immediately after config.h.
85915         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
85916         <limits.h>: Do not include, since human.h does.
85917         (SIZE_MAX, UINTMAX_MAX): New macros.
85918         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
85919         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
85920         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
85921         (power_letter): Renamed from suffixes.
85922         (generate_suffix_backwards): Remove.
85923         (adjust_value): Now takes int style (because of human.h changes)
85924         and long double value (for greater precision on some platforms).
85925         (group_number): New function.
85926         (human_readable): Use it.  Use integer options, not enum.
85927         Put the options before the sizes in the arg list.
85928         Support all the new options.
85929         The old human_readable function has been removed;
85930         use inttostr.h instead.
85931         (human_readable, default_block_size, humblock):
85932         Use uintmax_t, not int, for block sizes.
85933         (human_readable_inexact, block_size_types): Remove.
85934         (block_size_opts): New constant.
85935         (human_options): Renamed from human_block_size, with new signature
85936         that allows block sizes up to UINTMAX_MAX.  All callers changed.
85937         * lib/human.h: Add copyright and authorship notice.
85938         Include <limits.h> and <stdbool.h> unconditionally.
85939         (PARAMS): Remove.  All uses removed.
85940         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
85941         (enum human_inexact_style): Remove tag; now a nameless enum.
85942         (human_floor, human_ceiling, human_round_to_even): Now have
85943         values 2, 0, 1 rather than -1, 1, 0.
85944         (human_group_digits, human_suppress_point_zero, human_autoscale,
85945         human_base_1024, human_SI, human_B): New constants.
85946         (human_readable_inexact, human_block_size): Remove.
85947         (human_readable): Size args are now uintmax_t, not int.
85948         (human_options): New decl.
85949
85950         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
85951         unnecessary now that we assume C89 or better.  This change
85952         imported from coreutils.
85953
85954         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
85955         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
85956         in the 2003-05-30 sync from glibc.
85957
85958         .h files should stand alone, but we shouldn't include <sys/types.h>
85959         if we can get away with just <stddef.h>.
85960
85961         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
85962         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
85963         rather than <sys/types.h>, as we merely need size_t.
85964         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
85965         to get size_t.
85966         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
85967         Include <stdio.h>, to get FILE.
85968         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
85969         memcasecmp.h has included <stddef.h> and all we need is size_t.
85970         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
85971         our interface, instead of including <sys/types.h>
85972
85973 2003-06-04  Paul Eggert  <eggert@twinsun.com>
85974
85975         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
85976         now, as glibc mktime is buggy on non-glibc systems.
85977
85978 2003-06-03  Karl Berry  <karl@gnu.org>
85979
85980         * config/config.sub: update from prep.
85981
85982 2003-06-02  Paul Eggert  <eggert@twinsun.com>
85983
85984         [from coreutils]
85985         Fix some minor time-related bugs with POSIX time arguments.
85986         Some valid time stamps were being rejected (notably -1, and
85987         time stamps before 1900 on 64-bit hosts).  And some invalid
85988         time stamps were being accepted, e.g. September 31.
85989
85990         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
85991         that we can return (time_t) -1 successfully.
85992         * lib/posixtm.c: Likewise.
85993         [HAVE_STDBOOL_H]: Include <stdbool.h>.
85994         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
85995         (t): Remove static var.
85996         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
85997         of static var.  All uses changed.
85998         (year): Do not reject years before 1900; they can occur with
85999         64-bit time_t.
86000         (posix_time_parse): Do not check for out-of-range components;
86001         that is now the caller's responsibility, since our checks were
86002         only approximations.
86003         (posixtime): Use mktime to check for out-of-range components,
86004         since it knows them exactly.
86005         If mktime returns (time_t) -1, check whether an error actually occurred
86006         by invoking localtime on -1.
86007         (main) [TEST_POSIXTIME]: Check for input data errors, and report
86008         posixtime failures better.
86009         Improve the test data (in comments only).
86010
86011 2003-06-02  Karl Berry  <karl@gnu.org>
86012
86013         * config/mkinstalldirs (version): new variable.
86014         (--version): new option.
86015         (usage): improve message.
86016
86017 2003-05-30  Karl Berry  <karl@gnu.org>
86018
86019         * lib/mktime.c: update from libc.
86020
86021 2003-05-30  Bruno Haible  <bruno@clisp.org>
86022
86023         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
86024         * config/config.rpath: Upgrade to gettext-0.12.1.
86025
86026 2003-05-30  Bruno Haible  <bruno@clisp.org>
86027
86028         * m4/gettext.m4: Upgrade to gettext-0.12.1.
86029         * m4/nls.m4: New file, from gettext-0.12.1.
86030         * m4/po.m4: New file, from gettext-0.12.1.
86031         * m4/progtest.m4: Upgrade to gettext-0.12.1.
86032
86033 2003-05-30  Bruno Haible  <bruno@clisp.org>
86034
86035         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
86036         * lib/localcharset.h: Likewise.
86037         * lib/localcharset.c: Likewise.
86038
86039 2003-05-29  Karl Berry  <karl@gnu.org>
86040
86041         * config/config.rpath: update from gettext.
86042
86043 2003-05-28  Paul Eggert  <eggert@twinsun.com>
86044
86045         Assume the headers required for C89 freestanding compilers.
86046         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
86047         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
86048         * m4/human.m4 (gl_HUMAN): Likewise.
86049         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
86050         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
86051         * m4/userspec.m4 (gl_USERSPEC): Likewise.
86052         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
86053         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
86054         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
86055
86056 2003-05-28  Paul Eggert  <eggert@twinsun.com>
86057
86058         Assume the headers required for C89 freestanding compilers.
86059         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
86060         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
86061         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
86062         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
86063         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
86064         define, since <limits.h> is guaranteed to do that.
86065         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
86066         * lib/exclude.c: Include <stdbool.h> unconditionally.
86067         * lib/tempname.c: Include <stddef.h> unconditionally.
86068         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
86069         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
86070         <stddef.h> does that.
86071         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
86072         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
86073         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
86074         needed.
86075         * lib/xstrtol.c: Likewise.
86076         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
86077         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
86078
86079         * lib/addext.c (addext): Use assignment rather than cast, to avoid
86080         warnings on some platforms.
86081
86082         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
86083         arbitrarily.
86084
86085 2003-05-26  Jim Meyering  <jim@meyering.net>
86086
86087         Merge in a change from coreutils:
86088         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
86089         that is guaranteed to be `no'.  Use `no_such_member' to indicate
86090         that condition, rather than `-1' which is slightly misleading.
86091         Change the name of the cache variable to have the gl_ prefix.
86092         Prompted by a patch from Richard Dawe for DJGPP.
86093
86094 2003-05-24  Karl Berry  <karl@gnu.org>
86095
86096         * config/config.guess: update from prep.
86097
86098 2003-05-22  Karl Berry  <karl@gnu.org>
86099
86100         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
86101
86102 2003-05-20  Karl Berry  <karl@gnu.org>
86103
86104         * config/config.guess: update from prep.
86105
86106 2003-05-18  Karl Berry  <karl@gnu.org>
86107
86108         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
86109         might actually be set by the user.
86110
86111         * config/depcomp, install-sh, mdate-sh: update from automake.
86112
86113 2003-05-17  Bruno Haible  <bruno@clisp.org>
86114
86115         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
86116         invalid expansion for AC_EGREP_CPP.
86117         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
86118         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
86119         Suggested by Akim Demaille <akim@epita.fr> in
86120         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
86121
86122 2003-05-12  Jim Meyering  <jim@meyering.net>
86123
86124         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
86125         the space-padded-by-default conversion specifiers, %e, %k, %l.
86126
86127 2003-05-12  Bruno Haible  <bruno@clisp.org>
86128
86129         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
86130         the string is longer than 4 KB.
86131
86132 2003-05-11  Karl Berry  <karl@gnu.org>
86133
86134         * config/config.{guess,sub}: update from prep.
86135
86136 2003-05-09  Bruno Haible  <bruno@clisp.org>
86137
86138         * modules/error: Add m4/strerror_r.m4 to file list.
86139
86140 2003-05-03  Bruno Haible  <bruno@clisp.org>
86141
86142         Upgrade to Unicode-4.0.
86143         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
86144         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
86145         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
86146         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
86147         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
86148         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
86149         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
86150         Change width of U+E0100..U+E01EF from 1 to 0.
86151
86152 2003-04-25  Jim Meyering  <jim@meyering.net>
86153
86154         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
86155         of type size_t, not int.
86156
86157 2003-04-25  Bruno Haible  <bruno@clisp.org>
86158
86159         * lib/copy-file.c: Include <stddef.h>, for size_t.
86160
86161 2003-04-21  Paul Eggert  <eggert@twinsun.com>
86162
86163         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
86164         code which expansion is under static control.  Patch imported from
86165         Akim Demaille's patch to Bison; see
86166         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
86167
86168 2003-04-14  Bruno Haible  <bruno@clisp.org>
86169
86170         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
86171
86172 2003-04-11  Jim Meyering  <jim@meyering.net>
86173
86174         Merge changes from Coreutils.
86175
86176         2003-03-22  Jim Meyering  <jim@meyering.net>
86177
86178         * lib/strftime.c (widen): Cast alloca return value to proper type.
86179
86180         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
86181
86182         From GNU libc.
86183         * lib/strftime.c (my_strftime): Handle very large width
86184         specifications for numeric values correctly.  Improve checks for
86185         overflow.
86186
86187         2003-01-19  Jim Meyering  <jim@meyering.net>
86188
86189         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
86190         definitions.
86191         (nl_get_alt_digit) [! defined my_strftime]: Define.
86192         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
86193         _nl_get_alt_digit and _nl_get_walt_digit.
86194
86195         * lib/strftime.c (my_strftime): Merge in locale-related changes from
86196         libc. These changes have no effect outside of _LIBC.
86197
86198 2003-04-10  Bruno Haible  <bruno@clisp.org>
86199
86200         * modules/findprog: New file.
86201         * MODULES.html.sh (func_all_modules): Add it.
86202
86203 2003-04-10  Bruno Haible  <bruno@clisp.org>
86204
86205         * m4/findprog.m4: New file.
86206         * m4/eaccess.m4: New file.
86207
86208 2003-04-10  Bruno Haible  <bruno@clisp.org>
86209
86210         * lib/findprog.h: New file, from GNU gettext.
86211         * lib/findprog.c: New file, from GNU gettext.
86212
86213 2003-04-05  Jim Meyering  <jim@meyering.net>
86214
86215         Merge changes from Coreutils.
86216
86217         * lib/exclude.h (PARAMS): Remove definition and uses.
86218         * lib/exclude.c: Remove uses of `PARAMS'.
86219
86220         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
86221         Add test-cases for DOS filenames. Declare program_name.
86222         (main): Set up program_name.  Patch by Rich Dawe.
86223
86224         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
86225         error from mntctl.
86226         Use mntctl's return value to drive the entry-processing loop, since
86227         we can't rely on the value of the vmt_length member in the last
86228         entry.  On some systems doing so could result in exhausting
86229         virtual memory.  Based in part on a patch from Mike Jetzer.
86230
86231 2003-04-04  Bruno Haible  <bruno@clisp.org>
86232
86233         * modules/linebreak: New file.
86234         * MODULES.html.sh (func_all_modules): Add it.
86235
86236 2003-04-04  Bruno Haible  <bruno@clisp.org>
86237
86238         * m4/linebreak.m4: New file.
86239
86240 2003-04-04  Bruno Haible  <bruno@clisp.org>
86241
86242         * lib/linebreak.h: New file, from GNU gettext.
86243         * lib/linebreak.c: New file, from GNU gettext with slight
86244         modifications.
86245         * lib/lbrkprop.h: New file, from GNU gettext.
86246
86247 2003-04-03  Bruno Haible  <bruno@clisp.org>
86248
86249         * modules/utf8-ucs4: New file.
86250         * modules/utf16-ucs4: New file.
86251         * modules/ucs4-utf8: New file.
86252         * modules/ucs4-utf16: New file.
86253         * MODULES.html.sh (func_all_modules): Add them.
86254
86255 2003-04-03  Bruno Haible  <bruno@clisp.org>
86256
86257         * m4/utf-ucs4.m4: New file.
86258         * m4/ucs4-utf.m4: New file.
86259
86260 2003-04-03  Bruno Haible  <bruno@clisp.org>
86261
86262         * lib/utf8-ucs4.h: New file, from GNU gettext.
86263         * lib/utf16-ucs4.h: New file, from GNU gettext.
86264         * lib/ucs4-utf8.h: New file, from GNU gettext.
86265         * lib/ucs4-utf16.h: New file, from GNU gettext.
86266
86267 2003-04-02  Bruno Haible  <bruno@clisp.org>
86268
86269         * modules/binary-io: New file.
86270         * MODULES.html.sh (func_all_modules): Add it.
86271
86272 2003-04-02  Bruno Haible  <bruno@clisp.org>
86273
86274         * lib/binary-io.h: New file, from GNU gettext.
86275
86276 2003-04-01  Bruno Haible  <bruno@clisp.org>
86277
86278         * modules/pathname: New file.
86279         * MODULES.html.sh (func_all_modules): Add it.
86280
86281 2003-04-01  Bruno Haible  <bruno@clisp.org>
86282
86283         * lib/pathname.h: New file, from GNU gettext.
86284         * lib/concatpath.c: New file, from GNU gettext.
86285
86286 2003-03-30  Bruno Haible  <bruno@clisp.org>
86287
86288         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
86289
86290 2003-03-30  Bruno Haible  <bruno@clisp.org>
86291
86292         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
86293         function chown() doesn't exist.
86294
86295 2003-03-28  Bruno Haible  <bruno@clisp.org>
86296
86297         * modules/copy-file: New file.
86298         * MODULES.html.sh (func_all_modules): Add it.
86299
86300 2003-03-28  Bruno Haible  <bruno@clisp.org>
86301
86302         * m4/copy-file.m4: New file.
86303
86304 2003-03-28  Bruno Haible  <bruno@clisp.org>
86305
86306         * lib/copy-file.h: New file, from GNU gettext.
86307         * lib/copy-file.c: New file, from GNU gettext.
86308
86309 2003-03-18  Jim Meyering  <jim@meyering.net>
86310
86311         * lib/quote.c (quote_n): Fix typo in comment.
86312
86313 2003-03-18  Bruno Haible  <bruno@clisp.org>
86314
86315         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
86316         checking.
86317         * m4/onceonly_2_57.m4: Likewise.
86318
86319 2003-03-17  Bruno Haible  <bruno@clisp.org>
86320
86321         * m4/onceonly.m4: Require autoconf 2.54 or newer.
86322         (m4_quote): Remove macro.
86323         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
86324
86325 2003-03-14  Jim Meyering  <jim@meyering.net>
86326
86327         Merge changes from Coreutils.
86328         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
86329         to be const, in order to avoid warnings.
86330         (obstack_room): Likewise.
86331         (obstack_empty_p): Likewise.
86332
86333 2003-03-14  Bruno Haible  <bruno@clisp.org>
86334
86335         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
86336         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
86337
86338 2003-03-13  Paul Eggert  <eggert@twinsun.com>
86339
86340         Merge changes from Bison.
86341         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
86342         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
86343         when compiling Bison 1.875's `bitset bset = obstack_alloc
86344         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
86345         * lib/hash.c: Include <stdbool.h> unconditionally.
86346
86347 2003-03-13  Paul Eggert  <eggert@twinsun.com>
86348
86349         * m4/onceonly.m4 (m4_quote): New macro.
86350         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
86351         Quote AC_FOREACH variable-expansions properly.
86352
86353 2003-03-13  Paul Eggert  <eggert@twinsun.com>
86354
86355         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
86356
86357 2003-03-09  Paul Eggert  <eggert@twinsun.com>
86358
86359         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
86360         Reported by Bruce Becker; see:
86361         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
86362
86363 2003-03-03  Paul Eggert  <eggert@twinsun.com>
86364             Bruno Haible  <bruno@clisp.org>
86365
86366         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
86367         Reported by John Hughes, see
86368         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
86369
86370 2003-02-20  Bruno Haible  <bruno@clisp.org>
86371
86372         * MODULES.html.sh (func_all_modules): Add poll.
86373
86374 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
86375
86376         * modules/poll: New file.
86377
86378 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
86379
86380         * lib/poll_.h: New file.
86381         * lib/poll.c: New file.
86382
86383 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
86384
86385         * m4/poll.m4: New file.
86386
86387 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
86388
86389         * modules/mathl: New file.
86390
86391 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
86392
86393         * lib/mathl.h: New file.
86394         * lib/acosl.c: New file.
86395         * lib/asinl.c: New file.
86396         * lib/atanl.c: New file.
86397         * lib/ceill.c: New file.
86398         * lib/cosl.c: New file.
86399         * lib/expl.c: New file.
86400         * lib/floorl.c: New file.
86401         * lib/frexpl.c: New file.
86402         * lib/ldexpl.c: New file.
86403         * lib/logl.c: New file.
86404         * lib/sincosl.c: New file.
86405         * lib/sinl.c: New file.
86406         * lib/sqrtl.c: New file.
86407         * lib/tanl.c: New file.
86408         * lib/trigl.c: New file.
86409         * lib/trigl.h: New file.
86410
86411 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
86412
86413         * m4/mathl.m4: New file.
86414
86415 2003-02-18  Bruno Haible  <bruno@clisp.org>
86416
86417         * MODULES.html.sh (func_all_modules): Add mathl.
86418
86419 2003-02-17  Bruno Haible  <bruno@clisp.org>
86420
86421         * modules/mkdtemp: New module.
86422         * MODULES.html.sh (func_all_modules): Add it.
86423
86424 2003-02-17  Bruno Haible  <bruno@clisp.org>
86425
86426         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
86427
86428 2003-02-17  Bruno Haible  <bruno@clisp.org>
86429
86430         * lib/mkdtemp.h: New file, from GNU gettext.
86431         * lib/mkdtemp.c: New file, from GNU gettext.
86432
86433 2003-02-02  Jim Meyering  <jim@meyering.net>
86434
86435         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
86436         e.g. glibc-2.2.93.
86437
86438 2003-01-31  Bruno Haible  <bruno@clisp.org>
86439
86440         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
86441         'rpl_rename'.
86442         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
86443         'rpl_strnlen'.
86444         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
86445         'rpl_strtod'.
86446         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
86447         'rpl_utime'.
86448
86449 2003-01-31  Bruno Haible  <bruno@clisp.org>
86450
86451         * lib/rename.c: #undef rename before defining rpl_rename.
86452         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
86453
86454 2003-01-30  Bruno Haible  <bruno@clisp.org>
86455
86456         * modules/vasnprintf, modules/vasprintf: New modules.
86457         * MODULES.html.sh (func_all_modules): Add them.
86458
86459 2003-01-30  Bruno Haible  <bruno@clisp.org>
86460
86461         * m4/signed.m4: New file, from GNU gettext.
86462         * m4/longdouble.m4: New file, from GNU gettext.
86463         * m4/wchar_t.m4: New file, from GNU gettext.
86464         * m4/wint_t.m4: New file, from GNU gettext.
86465         * m4/vasnprintf.m4: New file.
86466         * m4/vasprintf.m4: New file.
86467
86468 2003-01-30  Bruno Haible  <bruno@clisp.org>
86469
86470         * lib/printf-args.h: New file, from GNU gettext.
86471         * lib/printf-args.c: New file, from GNU gettext.
86472         * lib/printf-parse.h: New file, from GNU gettext.
86473         * lib/printf-parse.c: New file, from GNU gettext.
86474         * lib/vasnprintf.h: New file, from GNU gettext.
86475         * lib/vasnprintf.c: New file, from GNU gettext.
86476         * lib/asnprintf.c: New file, from GNU gettext.
86477         * lib/vasprintf.h: New file, from GNU gettext with modifications.
86478         * lib/vasprintf.c: New file, from GNU gettext.
86479         * lib/asprintf.c: New file, from GNU gettext.
86480
86481 2003-01-29  Bruno Haible  <bruno@clisp.org>
86482
86483         * modules/stpncpy: New module.
86484         * MODULES.html.sh (func_all_modules): Add it.
86485
86486 2003-01-29  Bruno Haible  <bruno@clisp.org>
86487
86488         * m4/stpncpy.m4: New file.
86489
86490 2003-01-29  Bruno Haible  <bruno@clisp.org>
86491
86492         * lib/stpncpy.h: New file, from GNU gettext with modifications.
86493         * lib/stpncpy.c: New file, from GNU gettext with modifications.
86494
86495 2003-01-28  Bruno Haible  <bruno@clisp.org>
86496
86497         * modules/c-ctype: New module.
86498         * MODULES.html.sh (func_all_modules): Add it.
86499
86500 2003-01-28  Bruno Haible  <bruno@clisp.org>
86501
86502         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
86503         Paul Eggert.
86504         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
86505         Paul Eggert.
86506
86507 2003-01-27  Bruno Haible  <bruno@clisp.org>
86508
86509         * modules/xsetenv: New module.
86510         * MODULES.html.sh (func_all_modules): Add it.
86511
86512 2003-01-27  Bruno Haible  <bruno@clisp.org>
86513
86514         * lib/xsetenv.h: New file, from GNU gettext.
86515         * lib/xsetenv.c: New file, from GNU gettext.
86516
86517 2003-01-23  Jim Meyering  <jim@meyering.net>
86518
86519         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
86520         from working on systems without dirfd (at least Irix and OSF1/Tru64).
86521
86522 2003-01-23  Bruno Haible  <bruno@clisp.org>
86523
86524         * modules/minmax: New module.
86525         * MODULES.html.sh (func_all_modules): Add it.
86526
86527 2003-01-23  Bruno Haible  <bruno@clisp.org>
86528
86529         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
86530         Eggert.
86531
86532 2003-01-22  Bruno Haible  <bruno@clisp.org>
86533
86534         * modules/exit: New module.
86535         * MODULES.html.sh (func_all_modules): Add it.
86536
86537 2003-01-22  Bruno Haible  <bruno@clisp.org>
86538
86539         * lib/exit.h: New file, from GNU gettext.
86540
86541 2003-01-19  Bruno Haible  <bruno@clisp.org>
86542
86543         * gnulib-tool: Recognize option --extract-maintainer.
86544         (func_get_maintainer): New function.
86545         * modules/*: Add Maintainer entry.
86546
86547 2003-01-16  Jim Meyering  <jim@meyering.net>
86548
86549         * m4/regex.m4: The `regex' struct is both input and output.
86550         Initialize it before each use.  Patch by Tim Waugh.
86551
86552 2003-01-16  Bruno Haible  <bruno@clisp.org>
86553
86554         * MODULES.html.sh: Add a table of contents. Add the module name as
86555         leftmost column. Add hyperlinks.
86556
86557 2003-01-15  Bruno Haible  <bruno@clisp.org>
86558
86559         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
86560
86561 2003-01-15  Bruno Haible  <bruno@clisp.org>
86562
86563         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
86564         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
86565         suffix.
86566
86567 2003-01-15  Bruno Haible  <bruno@clisp.org>
86568
86569         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
86570
86571 2003-01-15  Bruno Haible  <bruno@clisp.org>
86572
86573         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
86574         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
86575
86576 2003-01-14  Jim Meyering  <jim@meyering.net>
86577
86578         * lib/same.c (same_name): Tweak a comment.
86579
86580 2003-01-14  Bruno Haible  <bruno@clisp.org>
86581
86582         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
86583         when a string comparison is sufficient.
86584
86585 2003-01-14  Bruno Haible  <bruno@clisp.org>
86586
86587         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
86588         'unsigned int'.
86589
86590 2003-01-14  Bruno Haible  <bruno@clisp.org>
86591
86592         * lib/hash-pjw.c: Add comment about low quality of this function.
86593
86594 2003-01-13  Bruno Haible  <bruno@clisp.org>
86595
86596         * modules/stpcpy: Distribute lib/stpcpy.h.
86597         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
86598
86599 2003-01-13  Bruno Haible  <bruno@clisp.org>
86600
86601         * modules/*: Add a description.
86602         * modules/strpbrk: Fix Makefile.am snippet.
86603         * modules/strtoimax: Fix dependencies.
86604         * modules/strtoumax: Likewise.
86605
86606 2003-01-13  Bruno Haible  <bruno@clisp.org>
86607
86608         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
86609         * modules/alloca (Makefile.am): All object files depend on alloca.h.
86610         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
86611
86612 2003-01-13  Bruno Haible  <bruno@clisp.org>
86613
86614         * gnulib-tool (func_create_testdir): Store config/* files in the main
86615         directory.
86616         * config.rpath: Move to ...
86617         * config/config.rpath: ... here.
86618         * modules/gettext: Contains config/config.rpath, not config.rpath.
86619         * modules/iconv: Likewise.
86620
86621 2003-01-12  Paul Eggert  <eggert@twinsun.com>
86622
86623         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
86624         to avoid collisions with libcurses and libreadline.
86625
86626         * m4/getstr.m4: Remove.
86627         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
86628
86629 2003-01-12  Paul Eggert  <eggert@twinsun.com>
86630
86631         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
86632         to avoid collisions with libcurses and libreadline.
86633
86634         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
86635         * lib/getstr.h, getstr.c: Remove.
86636         * lib/getline.c: Include "getline.h", to check interface.
86637         Move body of old getstr.c here: this defines MIN_CHUNK and
86638         declares getdelim2, which is renamed from getstr.
86639         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
86640
86641         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
86642         All uses changed.
86643         * lib/linebuffer.h: Likewise.
86644         (readline): Remove backward-compatibility macro.
86645
86646 2003-01-12  Paul Eggert  <eggert@twinsun.com>
86647
86648         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
86649         to avoid collisions with libcurses and libreadline.
86650         * getstr: Remove.
86651         * MODULES.html.sh: Remove getstr.
86652         * modules/getline: Depend on unlocked-io, not getstr.
86653
86654 2003-01-12  Jim Meyering  <jim@meyering.net>
86655
86656         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
86657
86658 2003-01-10  Bruno Haible  <bruno@clisp.org>
86659
86660         * modules/alloca: Change Makefile.am requirements. Simplify Include
86661         requirements. Add lib/alloca_.h to file list.
86662
86663 2003-01-10  Bruno Haible  <bruno@clisp.org>
86664
86665         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
86666
86667 2003-01-10  Bruno Haible  <bruno@clisp.org>
86668
86669         * lib/alloca_.h: New file.
86670         * lib/getdate.y: Unconditionally include alloca.h.
86671         * lib/makepath.c: Likewise.
86672         * lib/setenv.c: Likewise.
86673         * lib/userspec.c: Likewise.
86674
86675 2003-01-09  Karl Berry  <karl@gnu.org>
86676
86677         * MODULES.html.sh: include `dirname $0` in PATH, to find
86678         gnulib-tool.
86679
86680 2003-01-09  Bruno Haible  <bruno@clisp.org>
86681
86682         * modules/stdbool: Change configure.ac, Makefile.am requirements.
86683         Simplify Include requirements. Add lib/stdbool.h.in to file list.
86684
86685 2003-01-09  Bruno Haible  <bruno@clisp.org>
86686
86687         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
86688
86689 2003-01-09  Bruno Haible  <bruno@clisp.org>
86690
86691         * lib/stdbool.h.in: New file.
86692
86693 2003-01-09  Bruno Haible  <bruno@clisp.org>
86694
86695         * gnulib-tool (func_all_modules): Ignore files ending in ~.
86696         * MODULES.html.sh: Likewise.
86697
86698 2003-01-08  Jim Meyering  <jim@meyering.net>
86699
86700         * lib/full-write.c: Undefine and define-away `const' after inclusion
86701         of errno.h, not before.  Suggestion from Bruno Haible.
86702
86703 2003-01-08  Bruno Haible  <bruno@clisp.org>
86704
86705         * modules/full-read: Depend on full-write.
86706
86707 2003-01-08  Bruno Haible  <bruno@clisp.org>
86708
86709         * lib/safe-read.c: Include specification header first, to ensure its
86710         selfcontainedness.
86711         * lib/full-write.c: Likewise.
86712
86713 2003-01-07  Jim Meyering  <jim@meyering.net>
86714
86715         * lib/full-write.c: Rework so that it may serve to define full_read,
86716         too.
86717         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
86718
86719 2003-01-07  Bruno Haible  <bruno@clisp.org>
86720
86721         * lib/strtoimax.c: Include <stdint.h> as an alternative to
86722         <inttypes.h>.
86723         * lib/xstrtol.h: Likewise.
86724         * lib/xstrtoimax.c: Likewise.
86725         * lib/xstrtoumax.c: Likewise.
86726         * lib/human.h: Likewise.
86727
86728         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
86729         on systems that have <inttypes.h> but not <stdint.h>.
86730
86731 2003-01-07  Bruno Haible  <bruno@clisp.org>
86732
86733         * MODULES.html.sh: Add copyright notice.
86734         (missed_files): Omit CVS directory entries.
86735         (func_module): Make it work with sed-3.02.
86736         * MODULES.txt: Remove file.
86737
86738 2003-01-06  Jim Meyering  <jim@meyering.net>
86739
86740         * lib/version-etc.c: Update year in translatable copyright string.
86741
86742 2003-01-03  Karl Berry  <karl@gnu.org>
86743
86744         * config/config.{guess,sub}: update from prep.
86745
86746 2003-01-02  Karl Berry  <karl@gnu.org>
86747
86748         * doc/COPYING.DOC: belatedly updated to 1.2.
86749
86750 2003-01-01  Karl Berry  <karl@gnu.org>
86751
86752         * gnulib-tool (func_verify_module): report module name $module in
86753         error message, not $1.
86754         * gnulib-tool (create-testdir): don't complain if destdir couldn't
86755         be created, only if it doesn't exist.
86756         * gnulib-tool (last_checkin_date): don't expand the $Date here.
86757
86758 2002-12-31  Paul Eggert  <eggert@twinsun.com>
86759
86760         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
86761
86762 2002-12-31  Paul Eggert  <eggert@twinsun.com>
86763
86764         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
86765         memcmp if strcoll doesn't work.
86766
86767 2002-12-31  Bruno Haible  <bruno@clisp.org>
86768
86769         * lib/utime.c (utime_null): No need to call ftruncate if the file was
86770         nonempty.
86771
86772 2002-12-31  Bruno Haible  <bruno@clisp.org>
86773
86774         * lib/memcoll.c (STRCOLL): New macro.
86775         (memcoll): Use it.
86776
86777 2002-12-31  Bruno Haible  <bruno@clisp.org>
86778
86779         * lib/localcharset.h: New file.
86780         * lib/localcharset.c: Include it.
86781         * lib/unicodeio.c: Likewise.
86782
86783 2002-12-31  Bruno Haible  <bruno@clisp.org>
86784
86785         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
86786         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
86787
86788 2002-12-31  Bruno Haible  <bruno@clisp.org>
86789
86790         * lib/getline.h: Include <stddef.h>, for size_t.
86791
86792         * lib/unicodeio.h: Include <stddef.h>, for size_t.
86793         * lib/unicodeio.c: Don't include <stddef.h>.
86794
86795 2002-12-31  Bruno Haible  <bruno@clisp.org>
86796
86797         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
86798         HAVE_TM_ZONE.
86799
86800 2002-12-24  Karl Berry  <karl@gnu.org>
86801
86802         * config/config.guess: update from prep.
86803
86804 2002-12-24  Bruno Haible  <bruno@clisp.org>
86805
86806         General infrasructure.
86807         * m4/README: Rewritten.
86808         * m4/onceonly.m4: New file.
86809         * m4/onceonly_2_57.m4: New file.
86810
86811         Module atexit.
86812         * m4/atexit.m4: New file.
86813
86814         Module strtod.
86815         * m4/strtod.m4: New file.
86816
86817         Module strtol.
86818         * m4/strtol.m4: New file.
86819
86820         Module strtoul.
86821         * m4/strtoul.m4: New file.
86822
86823         Module memchr.
86824         * m4/memchr.m4: New file.
86825
86826         Module memcmp.
86827         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
86828         (jm_FUNC_MEMCMP): Invoke it.
86829
86830         Module memcpy.
86831         * m4/memcpy.m4: New file.
86832
86833         Module memmove.
86834         * m4/memmove.m4: New file.
86835
86836         Module memset.
86837         * m4/memset.m4: New file.
86838
86839         Module strcspn.
86840         * m4/strcspn.m4: New file.
86841
86842         Module strpbrk.
86843         * m4/strpbrk.m4: New file.
86844
86845         Module strstr.
86846         * m4/strstr.m4: New file.
86847
86848         Module strerror.
86849         * m4/strerror.m4: New file.
86850
86851         Module mktime.
86852         * m4/mktime.m4: Renamed from jm-mktime.m4.
86853         (gl_PREREQ_MKTIME): New macro.
86854         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
86855
86856         Module malloc.
86857         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
86858         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
86859         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
86860
86861         Module realloc.
86862         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
86863         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
86864         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
86865
86866         Module strftime.
86867         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
86868         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
86869         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
86870         gl_TM_GMTOFF.
86871         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
86872
86873         Module xalloc.
86874         * m4/xalloc.m4: New file.
86875
86876         Module alloca.
86877         * m4/alloca.m4: New file.
86878
86879         Module putenv.
86880         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
86881         (jm_FUNC_PUTENV): Invoke it.
86882
86883         Module setenv.
86884         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
86885         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
86886         when invoked twice.
86887         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
86888         gt_FUNC_SETENV.
86889
86890         Module memrchr.
86891         * m4/memrchr.m4: New file.
86892
86893         Module stpcpy.
86894         * m4/stpcpy.m4: New file.
86895
86896         Module strcase.
86897         * m4/strcase.m4: New file.
86898
86899         Module strdup.
86900         * m4/strdup.m4: New file.
86901
86902         Module strnlen.
86903         * m4/strnlen.m4: New file.
86904
86905         Module strndup.
86906         * m4/strndup.m4: New file.
86907
86908         Module xstrtod.
86909         * m4/xstrtod.m4: New file.
86910
86911         Module xstrtol.
86912         * m4/xstrtol.m4: New file.
86913
86914         Module getdate.
86915         * m4/getdate.m4: New file.
86916
86917         Module unlocked-io.
86918         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
86919         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
86920         * m4/jm-glibc-io.m4n: Remove file.
86921
86922         Module long-options.
86923         * m4/long-options.m4: New file.
86924
86925         Module md5.
86926         * m4/md5.m4: New file.
86927
86928         Module sha.
86929         * m4/sha.m4: New file.
86930
86931         Module getstr.
86932         * m4/getstr.m4: New file.
86933
86934         Module getline.
86935         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
86936         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
86937         <sys/types.h>, for size_t. Use the function name gnu_getline, not
86938         simply getline. Infoke gl_PREREQ_GETLINE.
86939
86940         Module obstack.
86941         * m4/obstack.m4: New file.
86942
86943         Module hash.
86944         * m4/hash.m4: New file.
86945
86946         Module readtokens.
86947         * m4/readtokens.m4: New file.
86948
86949         Module strverscmp.
86950         * m4/strverscmp.m4: New file.
86951
86952         Module stdbool.
86953         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
86954         OSF/1.
86955
86956         Module strtoll.
86957         * m4/strtoll.m4: New file.
86958
86959         Module strtoull.
86960         * m4/strtoull.m4: New file.
86961
86962         Module strtoimax.
86963         * m4/strtoimax.m4: New file.
86964
86965         Module strtoumax.
86966         * m4/strtoumax.m4: New file.
86967
86968         Module xstrtoimax.
86969         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
86970         jm_AC_PREREQ_XSTRTOIMAX.
86971         Moved the strtol prerequisites to strtol.m4.
86972         Moved the strtoll prerequisites to strtoll.m4.
86973         Moved the strtoimax prerequisites to strtoimax.m4.
86974
86975         Module xstrtoumax.
86976         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
86977         jm_AC_PREREQ_XSTRTOUMAX.
86978         Moved the strtoul prerequisites to strtoul.m4.
86979         Moved the strtoull prerequisites to strtoull.m4.
86980         Moved the strtoumax prerequisites to strtoumax.m4.
86981
86982         Module chown.
86983         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
86984         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
86985
86986         Module dup2.
86987         * m4/dup2.m4: New file.
86988
86989         Module ftruncate.
86990         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
86991         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
86992
86993         Module getgroups.
86994         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
86995         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
86996
86997         Module gettimeofday.
86998         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
86999         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
87000         gl_PREREQ_GETTIMEOFDAY.
87001
87002         Module mkdir.
87003         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
87004         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
87005
87006         Module mkstemp.
87007         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
87008         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
87009         jm_AC_TYPE_UINTMAX_T.
87010         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
87011
87012         Module stat.
87013         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
87014         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
87015
87016         Module lstat.
87017         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
87018         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
87019
87020         Module timespec.
87021         * m4/timespec.m4 (gl_TIMESPEC): New macro.
87022         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
87023         * m4/st_mtim.m4: Indentation.
87024
87025         Module nanosleep.
87026         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
87027         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
87028         gl_PREREQ_NANOSLEEP.
87029
87030         Module regex.
87031         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
87032         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
87033         (gl_REGEX): New macro.
87034
87035         Module rename.
87036         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
87037         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
87038
87039         Module rmdir.
87040         * m4/rmdir.m4: New file.
87041
87042         Module utime.
87043         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
87044         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
87045         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
87046
87047         Module dirname.
87048         * m4/dirname.m4: New file.
87049
87050         Module getopt.
87051         * m4/getopt.m4: New file.
87052
87053         Module unistd-safer.
87054         * m4/unistd-safer.m4: New file.
87055
87056         Module fnmatch.
87057         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
87058         declaration.
87059         (gl_PREREQ_FNMATCH_EXTRA): New macro.
87060         (gl_FUNC_FNMATCH_POSIX): New macro.
87061         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
87062         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
87063         simply fnmatch.
87064
87065         Module exclude.
87066         * m4/exclude.m4: New file.
87067
87068         Module human.
87069         * m4/human.m4: New file.
87070
87071         Module acl.
87072         * m4/acl.m4: Nop.
87073
87074         Module backupfile.
87075         * m4/backupfile.m4: New file.
87076         * m4/d-ino.m4: Indentation.
87077
87078         Module fsusage.
87079         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
87080         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
87081         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
87082
87083         Module dirfd.
87084         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
87085         requirements.
87086
87087         Module euidaccess.
87088         * m4/euidaccess.m4: New file.
87089
87090         Module file-type.
87091         * m4/file-type.m4: New file.
87092
87093         Module fileblocks.
87094         * m4/fileblocks.m4: New file.
87095
87096         Module filemode.
87097         * m4/filemode.m4: New file.
87098
87099         Module isdir.
87100         * m4/isdir.m4: New file.
87101
87102         Module lchown.
87103         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
87104         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
87105
87106         Module makepath.
87107         * m4/makepath.m4: New file.
87108
87109         Module modechange.
87110         * m4/modechange.m4: New file.
87111
87112         Module mountlist.
87113         * m4/mountlist.m4: New file.
87114         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
87115         Indentation.
87116
87117         Module path-concat.
87118         * m4/path-concat.m4: New file.
87119
87120         Module pathmax.
87121         * m4/pathmax.m4: New file.
87122
87123         Module same.
87124         * m4/same.m4: New file.
87125
87126         Module save-cwd.
87127         * m4/save-cwd.m4: New file.
87128
87129         Module savedir.
87130         * m4/savedir.m4: New file.
87131
87132         Module xgetcwd.
87133         * m4/xgetcwd.m4: New file.
87134         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
87135
87136         Module xreadlink.
87137         * m4/xreadlink.m4: New file.
87138
87139         Module safe-read.
87140         * m4/safe-read.m4: New file.
87141
87142         Module safe-write.
87143         * m4/safe-write.m4: New file.
87144
87145         Module closeout.
87146         * m4/closeout.m4: New file.
87147
87148         Module stdio-safer.
87149         * m4/stdio-safer.m4: New file.
87150
87151         Module getpass.
87152         * m4/getpass.m4: New file.
87153
87154         Module getugroups.
87155         * m4/getugroups.m4: New file.
87156
87157         Module group-member.
87158         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
87159         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
87160
87161         Module idcache.
87162         * m4/idcache.m4: New file.
87163
87164         Module userspec.
87165         * m4/userspec.m4: New file.
87166
87167         Module gettime.
87168         * m4/clock_time.m4: New file.
87169         * m4/gettime.m4: New file.
87170
87171         Module settime.
87172         * m4/settime.m4: New file.
87173
87174         Module posixtm.
87175         * m4/posixtm.m4: New file.
87176
87177         Module gethostname.
87178         * m4/gethostname.m4: New file.
87179
87180         Module canon-host.
87181         * m4/canon-host.m4: New file.
87182
87183         Module gettext.
87184         * m4/codeset.m4: New file, from gettext-0.11.5.
87185         * m4/gettext.m4: New file, from gettext-0.11.5.
87186         * m4/glibc21.m4: New file, from gettext-0.11.5.
87187         * m4/iconv.m4: New file, from gettext-0.11.5.
87188         * m4/intdiv0.m4: New file, from gettext-0.11.5.
87189         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
87190         * m4/inttypes.m4: New file, from gettext-0.11.5.
87191         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
87192         * m4/isc-posix.m4: New file, from gettext-0.11.5.
87193         * m4/lcmessage.m4: New file, from gettext-0.11.5.
87194         * m4/lib-ld.m4: New file, from gettext-0.11.5.
87195         * m4/lib-link.m4: New file, from gettext-0.11.5.
87196         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
87197         * m4/progtest.m4: New file, from gettext-0.11.5.
87198         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
87199         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
87200         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
87201
87202         Module localcharset.
87203         * m4/localcharset.m4: New file.
87204
87205         Module hard-locale.
87206         * m4/hard-locale.m4: New file.
87207
87208         Module mbswidth.
87209         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
87210         onceonly macros.
87211         * m4/mbrtowc.m4: Add comment.
87212
87213         Module memcasecmp.
87214         * m4/memcasecmp.m4: New file.
87215
87216         Module memcoll.
87217         * m4/memcoll.m4: New file.
87218
87219         Module unicodeio.
87220         * m4/unicodeio.m4: New file.
87221
87222         Module rpmatch.
87223         * m4/rpmatch.m4: New file.
87224
87225         Module yesno.
87226         * m4/yesno.m4: New file.
87227
87228         Module exitfail.
87229         * m4/exitfail.m4: New file.
87230
87231         Module c-stack.
87232         * m4/c-stack.m4 (gl_C_STACK): New macro.
87233         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
87234
87235         Module error.
87236         * m4/error.m4 (gl_ERROR): New macro.
87237         (jm_PREREQ_ERROR): Use onceonly macros.
87238
87239         Module fatal.
87240         * m4/fatal.m4: New file.
87241
87242         Module getloadavg.
87243         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
87244         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
87245
87246         Module getpagesize.
87247         * m4/getpagesize.m4: New file.
87248
87249         Module getusershell.
87250         * m4/getusershell.m4: New file.
87251
87252         Module physmem.
87253         * m4/physmem.m4: New file.
87254
87255         Module posixver.
87256         * m4/posixver.m4: New file.
87257
87258         Module quotearg.
87259         * m4/quotearg.m4: New file.
87260
87261         Module quote.
87262         * m4/quote.m4: New file.
87263
87264         Module readutmp.
87265         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
87266
87267         Module sig2str.
87268         * m4/sig2str.m4: New file.
87269
87270         Other.
87271         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
87272         ulonglong.m4.
87273         * m4/intmax_t.m4: New file.
87274         * m4/d-type.m4: Indentation.
87275         * m4/jm-macros.m4: Update.
87276         * m4/prereq.m4 (jm_PREREQ): Update.
87277         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
87278         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
87279         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
87280         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
87281         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
87282         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
87283         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
87284         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
87285         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
87286         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
87287         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
87288         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
87289         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
87290         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
87291         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
87292         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
87293         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
87294         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
87295         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
87296
87297 2002-12-24  Bruno Haible  <bruno@clisp.org>
87298
87299         * MODULES.txt: Update according to m4/ changes.
87300
87301         Module gettext.
87302         * config.rpath: New file, from gettext-0.11.5.
87303
87304         * modules/*: New module descriptions.
87305         * gnulib-tool: New file.
87306         * MODULES.html.sh: New file.
87307
87308 2002-12-21  Karl Berry  <karl@gnu.org>
87309
87310         * doc/fdl.texi: update to version 1.2.
87311
87312 2002-12-19  Karl Berry  <karl@gnu.org>
87313
87314         * config/config.guess: update from prep.
87315
87316 2002-12-18  Bruno Haible  <bruno@clisp.org>
87317
87318         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
87319         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
87320
87321 2002-12-17  Bruno Haible  <bruno@clisp.org>
87322
87323         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
87324         stdlib.h, string.h.
87325
87326 2002-12-17  Bruno Haible  <bruno@clisp.org>
87327
87328         * lib/canon-host.c (strdup): Remove unused declaration.
87329
87330         * lib/fsusage.c: Include full_read.h.
87331         (get_fs_usage): Use full_read instead of safe_read.
87332
87333         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
87334
87335 2002-12-12  Karl Berry  <karl@gnu.org>
87336
87337         * config/config.guess: update from prep.
87338
87339 2002-12-11  Bruno Haible  <bruno@clisp.org>
87340
87341         * m4/setenv.m4: New file, from gettext-0.11.5.
87342
87343 2002-12-11  Bruno Haible  <bruno@clisp.org>
87344
87345         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
87346         not unsetenv().
87347         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
87348         modifications:
87349
87350         2002-12-11  Bruno Haible  <bruno@clisp.org>
87351
87352                 * setenv.c (alloca): Fall back to malloc.
87353                 (freea): New macro.
87354                 (setenv): Use freea() to free memory allocated with alloca().
87355
87356         2002-11-13  Bruno Haible  <bruno@clisp.org>
87357
87358                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
87359                 function declarations.
87360                 * unsetenv.c (unsetenv): Likewise.
87361
87362         2002-03-04  Bruno Haible  <bruno@clisp.org>
87363
87364                 Portability to AIX 4.3.3.
87365                 * unsetenv.c: New file, extracted from setenv.c.
87366                 * setenv.c: Move the unsetenv() function to unsetenv.c.
87367
87368         2001-12-20  Bruno Haible  <bruno@clisp.org>
87369
87370                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
87371                 use malloc instead. For SunOS 4.
87372
87373         2001-12-11  Bruno Haible  <bruno@clisp.org>
87374
87375                 * setenv.c: Declare alloca.
87376                 (compar_fn_t): New typedef.
87377                 (KNOWN_VALUE, STORE_VALUE): Use it.
87378
87379         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
87380         setenv.h.
87381
87382 2002-12-10  Paul Eggert  <eggert@twinsun.com>
87383
87384         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
87385         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
87386         Choose values that are less likely to collide with system fnmatch
87387         options.
87388         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
87389         defined (e.g., a pure POSIX system).
87390         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
87391         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
87392
87393 2002-12-06  Paul Eggert  <eggert@twinsun.com>
87394
87395         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
87396         a pain in practice to deal with generated m4 files.  This change
87397         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
87398
87399         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
87400         and jm-glibc-io.m4, as they are no longer a special case.
87401         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
87402         kludge and the auto-generation stuff.  Check only whether the
87403         functions are declared, not whether they exist, since older hosts
87404         that don't declare the functions can't use the optimization anyway.
87405
87406 2002-12-06  Jim Meyering  <jim@meyering.net>
87407
87408         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
87409
87410         Merge in changes from libc's misc/error.c, in preparation
87411         for the merge of gnulib's changes back into libc.
87412
87413         * lib/error.c (_): Define only if not already defined.
87414         Move definition to follow all #include directives.
87415         Include unlocked-io.h only if !_LIBC.
87416         [_LIBC]: Include <libio/libioP.h>.
87417         [USE_IN_LIBIO]: Include <libio/iolibio.h>
87418         (fflush): Tweak definition to use INTUSE.
87419         (putc): Define.
87420
87421 2002-12-05  Paul Eggert  <eggert@twinsun.com>
87422
87423         * lib/alloca.c [defined emacs]: Include "lisp.h".
87424         (xalloc_die) [defined emacs]: New macro.
87425         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
87426         [! defined emacs]: Include <xalloc.h>.
87427         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
87428         (pointer): Typedef to POINTER_TYPE *.
87429         (malloc): Remove decl; we now always use xmalloc.
87430         (alloca): Use old-style definition, since Emacs needs this.
87431         Check for arithmetic overflow when computing combined size.
87432
87433 2002-12-04  Paul Eggert  <eggert@twinsun.com>
87434
87435         Do not generate unlocked-io.h automatically, since it's easier to
87436         maintain it by hand.
87437
87438         * lib/unlocked-io.h: New file, from GNU diffutils,
87439         but with proper copyright notice and attribution.
87440         * lib/gen-uio: Remove.
87441         * lib/Makefile.am: Add copyright notice.
87442         (libfetish_a_SOURCES): Add unlocked-io.h.
87443         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
87444         (DISTCLEANFILES, io_functions): Remove macros.
87445         (EXTRA_DIST): Remove gen_uio.
87446         (unlocked-io.h): Remove rule.
87447
87448 2002-12-04  Jim Meyering  <jim@meyering.net>
87449
87450         Reflect the fact that stat.c and lstat.c are no longer generated.
87451         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
87452         (DISTCLEANFILES): Likewise.
87453         (EXTRA_DIST): Likewise.
87454         (all_local): Don't depend on stat.c or lstat.c.
87455         (stat.c, lstat.c): Remove rules.
87456         (EXTRA_DIST): Remove xstat.in.
87457
87458         * lib/xstat.in: Remove file.  Contents moved into stat.c.
87459         * lib/stat.c: New file.  Contents mostly from xstat.in.
87460         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
87461         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
87462
87463         * lib/safe-read.c: Rework so that it may serve to define safe_write,
87464         too.
87465         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
87466
87467 2002-12-03  Jim Meyering  <jim@meyering.net>
87468
87469         * lib/safe-read.c, safe-write.c: Change variable names and comments,
87470         but not semantics, to minimize the differences between these two files.
87471         (safe_read): Change comment to mention SAFE_READ_ERROR.
87472
87473         * lib/safe-read.c (IS_EINTR): Define.
87474         (safe_read): Use IS_EINTR in place of in-function cpp directives.
87475
87476 2002-12-02  Jim Meyering  <jim@meyering.net>
87477
87478         * lib/safe-read.c (EINTR): Define.
87479         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
87480         (INT_MAX): Provide fallback.
87481         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
87482
87483         * lib/safe-read.h (SAFE_READ_ERROR): Define.
87484
87485 2002-12-02  Bruno Haible  <bruno@clisp.org>
87486
87487         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
87488         Define, taken from safe-read.c.
87489         (INT_MAX): Provide fallback.
87490         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
87491         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
87492
87493         * lib/safe-read.c (EINTR): Remove definition.
87494         (safe_read): Don't use EINTR if it is absent.
87495
87496 2002-12-01  Jim Meyering  <jim@meyering.net>
87497
87498         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
87499         zero.
87500         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
87501
87502 2002-11-27  Paul Eggert  <eggert@twinsun.com>
87503
87504         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
87505         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
87506         with `if (! (value < limit)) abort ();', for readability.
87507
87508 2002-11-26  Karl Berry  <karl@gnu.org>
87509
87510         * lib/strdup.c: copy from libc again, with jim's ok.
87511         * lib/.cppi-disable: re-add strdup.c
87512
87513 2002-11-25  Karl Berry  <karl@gnu.org>
87514
87515         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
87516         instead of "strtol.c".
87517
87518 2002-11-25  Karl Berry  <karl@gnu.org>
87519
87520         * config/install-sh: update from automake for variable quoting, $0 in
87521         error msgs, etc.
87522
87523         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
87524         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
87525         entry.
87526
87527 2002-11-25  Jim Meyering  <jim@meyering.net>
87528
87529         * lib/mktime.c: Sync from libc, now that it has the latest fix.
87530
87531 2002-11-24  Karl Berry  <karl@gnu.org>
87532
87533         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
87534         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
87535
87536 2002-11-24  Jim Meyering  <jim@meyering.net>
87537
87538         Update from coreutils:
87539
87540         * lib/mktime.c: Merge in changes from libc.
87541
87542         Avoid a link-time failure on some Linux systems.
87543         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
87544         (otherwise).
87545         (__mon_yday): Declare with the STATIC attribute.
87546         (__mktime_internal): Likewise.
87547         Based on a report from Greg Schafer.
87548
87549 2002-11-23  Jim Meyering  <jim@meyering.net>
87550
87551         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
87552         Use `unsigned', not `int', as type of index.
87553
87554         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
87555
87556         * lib/fsusage.c: Remove unneeded parentheses around operands of
87557         `defined'.
87558
87559 2002-11-22  Paul Eggert  <eggert@twinsun.com>
87560
87561         * lib/quotearg.h: Allow multiple inclusion by surrounding with
87562         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
87563         so that we can be included first.
87564         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
87565         * lib/quotearg.c: Include quotearg.h immediately after config.h.
87566         No need to include stddef.h or sys/types.h any more.
87567         Surround local include files with "", not "<>".
87568         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
87569         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
87570         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
87571         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
87572         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
87573         (ISPRINT): Remove; no longer needed now that we assume C89.
87574
87575         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
87576         Preserve errno.
87577
87578         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
87579         quotearg_char): Use SIZE_MAX rather than
87580         (size_t) -1 when we are talking about "infinity".
87581
87582         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
87583
87584 2002-11-22  Paul Eggert  <eggert@twinsun.com>
87585
87586         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
87587         hint that one should use `if (! x) abort ();' rather than `assert
87588         (x);', and anyway it's one less thing to worry about configuring.
87589         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
87590         hash_rehash, hash_insert): Use abort rather than assert.
87591
87592 2002-11-22  Bruno Haible  <bruno@clisp.org>
87593
87594         * lib/safe-read.h: Assume C89. Add comments.
87595         (safe_read): Change return type to size_t.
87596         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
87597         byte counts > SSIZE_MAX correctly.
87598         * lib/safe-write.h: New file.
87599         * lib/safe-write.c: New file.
87600         * lib/full-read.h: New file.
87601         * lib/full-read.c: New file.
87602         * lib/full-write.h: Assume C89. Add comments.
87603         * lib/full-write.c: Include safe-write.h.
87604         (full_write): Rewritten to use safe_write.
87605         Suggested by Jim Meyering and Paul Eggert.
87606
87607 2002-11-21  Jim Meyering  <jim@meyering.net>
87608
87609         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
87610
87611         Merge in changes from the coreutils.
87612
87613         2002-09-25  Paul Eggert  <eggert@twinsun.com>
87614         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
87615         <stdint.h>.
87616         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
87617         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
87618         int.  Work more efficiently if X is the same width as uintmax_t.
87619         Do not compare X to -1, to avoid bogus compiler warning.
87620         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
87621         Don't assume that f_frsize and f_bsize are the same type.
87622
87623         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
87624         warning on FreeBSD.
87625
87626         * lib/makepath.c (make_path): Restore umask *before* creating the final
87627         component.
87628         (make_path): Minor reformatting.
87629
87630         * lib/xmalloc.c: Adjust to work with new autoconf macros,
87631         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
87632         HAVE_MALLOC/HAVE_REALLOC.
87633
87634         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
87635         dummy ones.  At least on GNU/Linux systems, `auto' means something
87636         else.
87637         From Michael Stone.
87638
87639 2002-11-21  Bruno Haible  <bruno@clisp.org>
87640
87641         Remove case insensitive option matching.
87642         * lib/argmatch.h (argcasematch): Remove declaration.
87643         (ARGCASEMATCH): Remove macro.
87644         (__xargmatch_internal): Remove case_sensitive argument.
87645         (XARGMATCH): Update.
87646         (XARGCASEMATCH): Remove macro.
87647         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
87648         case_sensitive argument.
87649         (argcasematch): Remove function.
87650         (__xargmatch_internal): Remove case_sensitive argument.
87651         (main): Use XARGMATCH instead of XARGCASEMATCH.
87652
87653         * lib/xmalloc.c: Change compile-time error message. Add comment about
87654         required autoconf version.
87655
87656 2002-11-20  Paul Eggert  <eggert@twinsun.com>
87657
87658         Merge argmatch cleanups from Bison.  Assume C89.
87659
87660         * lib/argmatch.c: Include config.h here, not in argmatch.h.
87661         Include stdlib.h, for EXIT_FAILURE.
87662         Always include <string.h>, since we assume C89.
87663         (EXIT_FAILURE): Remove pre-C89 bug workaround.
87664         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
87665         Include <stddef.h> instead, since it's all we need for size_t.
87666         (PARAMS): Remove.  All uses removed.
87667         (ARRAY_CARDINALITY): Do not bother to #undef.
87668         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
87669         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
87670         Remove unnecessary parentheses.
87671         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
87672         Insert necessary parentheses.
87673         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
87674         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
87675
87676 2002-11-19  Bruno Haible  <bruno@clisp.org>
87677
87678         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
87679         * lib/mbswidth.h: Include <stddef.h>, for size_t.
87680
87681         * lib/mbswidth.h (PARAMS): Remove macro.
87682         (mbswidth, mbsnwidth): Use ANSI C function declarations.
87683         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
87684
87685         * lib/gcd.h (PARAMS): Remove macro.
87686         (gcd): Use ANSI C function declarations.
87687         * lib/gcd.c (gcd): Likewise.
87688
87689 2002-11-15  Bruno Haible  <bruno@clisp.org>
87690
87691         * lib/strcspn.c: Include <stddef.h>.
87692         (strcspn): Use ANSI C function declaration. Change return type to
87693         size_t. Use NULL.
87694         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
87695         (strpbrk): Use NULL.
87696         * lib/strpbrk.h (PARAMS): Remove macro.
87697         (strpbrk): Use ANSI C function declaration.
87698         * lib/strstr.c: Don't include <sys/types.h>.
87699         * lib/strstr.h (PARAMS): Remove macro.
87700         (strstr): Use ANSI C function declarations.
87701
87702 2002-11-14  Karl Berry  <karl@gnu.org>
87703
87704         * config/mkinstalldirs: `do' on separate line, instead of
87705         `for var; do'.
87706
87707 2002-11-06  Bruno Haible  <bruno@clisp.org>
87708
87709         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
87710         * lib/gcd.c (gcd): Likewise.
87711
87712 2002-11-05  Bruno Haible  <bruno@clisp.org>
87713
87714         * lib/gcd.h: New file, from gettext-0.11.5.
87715         * lib/gcd.c: New file, from gettext-0.11.5.
87716
87717 2002-11-05  Bruno Haible  <bruno@clisp.org>
87718
87719         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
87720         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
87721         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
87722         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
87723
87724         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
87725         <libintl.h>.
87726         * lib/makepath.c: Include gettext.h instead of <locale.h> and
87727         <libintl.h>.
87728
87729         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
87730         * lib/human.c: Include gettext.h instead of <libintl.h>.
87731         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
87732         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
87733         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
87734         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
87735         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
87736         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
87737         (textdomain): Remove definition.
87738         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
87739
87740         * lib/long-options.c: Remove include of <libintl.h> and definition of
87741         _.
87742         * lib/same.c: Remove include of <libintl.h> and definition of _.
87743
87744 2002-11-04  Owen Taylor  <otaylor@redhat.com>
87745
87746         * lib/config.charset: A few additions for Solaris.
87747
87748 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
87749
87750         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
87751         * lib/localcharset.c (locale_charset): Declare as extern "C".
87752
87753 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
87754
87755         * lib/config.charset: msdos in uk_UA uses CP1125.
87756
87757 2002-11-04  Bruno Haible  <bruno@clisp.org>
87758
87759         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
87760         * lib/strcase.h: New file, from GNU gettext-0.11.5.
87761         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
87762         * lib/strstr.h: New file, from GNU gettext-0.11.5.
87763         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
87764
87765 2002-11-04  Bruno Haible  <bruno@clisp.org>
87766
87767         * lib/localcharset.c (locale_charset): Don't return an empty string.
87768
87769 2002-11-04  Bruno Haible  <bruno@clisp.org>
87770
87771         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
87772         aliases.
87773
87774 2002-11-04  Bruno Haible  <bruno@clisp.org>
87775
87776         * lib/config.charset: Update for newest glibc. Add canonical names
87777         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
87778
87779 2002-11-04  Bruno Haible  <bruno@clisp.org>
87780
87781         * lib/config.charset: Add support for NetBSD.
87782
87783 2002-11-04  Bruno Haible  <bruno@clisp.org>
87784
87785         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
87786
87787 2002-11-01  Bruno Haible  <bruno@clisp.org>
87788
87789         * configure.in: Add AC_CONFIG_AUX_DIR call.
87790         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
87791         test/Makefile.
87792         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
87793
87794 2002-09-28  Karl Berry  <karl@gnu.org>
87795
87796         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
87797         installed automake until the next release, since changes have been
87798         made.
87799
87800 2002-09-25  Karl Berry  <karl@gnu.org>
87801
87802         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
87803         * lib/getopt*: copy from libc/posix.
87804         * lib/gettext.h: copy from gettext.
87805         * lib/.cppi-disable: add strdup.c, gettext.h.
87806
87807 2002-09-25  Karl Berry  <karl@gnu.org>
87808
87809         * config/srclist.txt: enable gettext.h check.
87810         * config/config.{guess,sub}: update from prep.
87811         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
87812                 from automake 1.6.3.
87813         See srclist*.
87814
87815 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
87816
87817         * regex.c (PATFETCH): Remove the translating fetch.
87818         (PATFETCH_RAW): Rename to PATFETCH.
87819         (set_image_of_range): New fun.
87820         (SET_RANGE_TABLE_WORK_AREA): Use it.
87821         (regex_compile): Don't translate the pattern chars so eagerly.
87822         Only do it when inserting an `exactn' bytecode or when handling
87823         a char-range.
87824         (mutually_exclusive_p): Avoid empty statement.
87825
87826 2002-07-06  Jim Meyering  <meyering@lucent.com>
87827
87828         * m4/README: Don't mention Makefile.am.in.
87829         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
87830
87831 2002-07-01  Jim Meyering  <meyering@lucent.com>
87832
87833         * lib/c-stack.c: Include sys/time.h.
87834         From Volker Borchert.
87835
87836 2002-06-26  Paul Eggert  <eggert@twinsun.com>
87837
87838         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
87839
87840 2002-06-26  Paul Eggert  <eggert@twinsun.com>
87841
87842         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
87843         New macro.  Use it uniformly instead of
87844         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
87845         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
87846         reported by Vin Shelton.
87847
87848 2002-06-22  Paul Eggert  <eggert@twinsun.com>
87849
87850         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
87851         Do not assume SA_SIGINFO behavior.
87852         Bug reported by Jim Meyering on NetBSD 1.5.2.
87853
87854 2002-06-22  Jim Meyering  <meyering@lucent.com>
87855
87856         * m4/c-stack.m4: New file, from diffutils-2.8.2.
87857         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
87858
87859         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
87860         now that configure.ac uses AC_GNU_SOURCE.
87861         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
87862         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
87863
87864         Update to latest tools.  Suggestions from Paul Eggert.
87865         * m4/stdbool.m4: New file, from diffutils-2.8.2.
87866         * m4/gnu-source.m4: Update from diffutils-2.8.2.
87867         * m4/fnmatch.m4: Likewise.
87868         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
87869         to AC_HEADER_STDBOOL
87870
87871 2002-06-22  Jim Meyering  <meyering@lucent.com>
87872
87873         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
87874         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
87875
87876 2002-06-22  Jim Meyering  <meyering@lucent.com>
87877
87878         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
87879
87880         * lib/exitfail.c, exitfail.h: Likewise.
87881         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
87882
87883         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
87884         of fnmatch.h.
87885         (EXTRA_DIST): Add fnmatch_loop.c.
87886         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
87887
87888         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
87889         * lib/fnmatch.c: Update from diffutils-2.8.2.
87890         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
87891         * lib/fnmatch.h: Remove file.
87892
87893 2002-06-21  Jim Meyering  <meyering@lucent.com>
87894
87895         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
87896         * m4/mbrtowc.m4: Likewise.
87897
87898         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
87899         * m4/mbswidth.m4: Reflect name change:
87900         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
87901         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
87902
87903         * m4/lib-link.m4: Update from gettext-0.11.2.
87904         * m4/gettext.m4: Likewise.
87905
87906         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
87907         From Alfred M. Szmidt.
87908
87909 2002-06-18  Paul Eggert  <eggert@twinsun.com>
87910
87911         * lib/file-type.h: Report an error if neither S_ISREG nor
87912         S_IFREG is defined, instead of using a test specific to glibc
87913         2.2.  This should be safe, since POSIX requires S_ISREG and
87914         Unix Version 7 had S_IFREG.  We don't need to check for
87915         <sys/types.h> since we don't use any symbols that it defines.
87916
87917 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
87918
87919         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
87920         $@-t, so that each temporary file name is unique and valid in the first
87921         8 characters, for operation under DOS.
87922
87923 2002-06-15  Paul Eggert  <eggert@twinsun.com>
87924
87925         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
87926
87927 2002-06-15  Jim Meyering  <meyering@lucent.com>
87928
87929         Work even with DJGPP 2.03, which lacks support for symlinks.
87930         From Richard Dawe.
87931         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
87932         is defined.
87933         * lib/lchown.c (S_ISLNK): Likewise.
87934
87935 2002-06-15  Jim Meyering  <meyering@lucent.com>
87936
87937         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
87938         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
87939         have been included before this file.
87940
87941 2002-06-14  Jim Meyering  <meyering@lucent.com>
87942
87943         * lib/file-type.h: Use the version from diffutils-2.8.2.
87944         * lib/file-type.c: Likewise.
87945
87946 2002-06-07  Jim Meyering  <meyering@lucent.com>
87947
87948         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
87949         They're needed at least for NetBSD 1.5.2.
87950         ($statxfs_includes): Include those same headers.
87951         ($statxfs_includes): Include sys/vfs.h if available.
87952         ($statxfs_includes): Likewise for sys/statvfs.h.
87953         Check for the following members in both structs statfs and statvfs:
87954         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
87955
87956 2002-06-01  Jim Meyering  <meyering@lucent.com>
87957
87958         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
87959         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
87960
87961 2002-05-28  Jim Meyering  <meyering@lucent.com>
87962
87963         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
87964         Reported by Volker Borchert.
87965
87966 2002-05-27  Jim Meyering  <meyering@lucent.com>
87967
87968         Fix a problem seen only on nonconforming systems whereby ls.c's
87969         use of localtime, and then of gettimeofday would cause trouble:
87970         the localtime call used to initialize rpl_gettimeofday's save
87971         mechanism would clobber ls's current local time information so
87972         that in any long listing the first file would always be listed
87973         with date 1970-01-01.  Analysis by Volker Borchert.
87974
87975         * lib/gettimeofday.c (localtime): Undefine.
87976         (rpl_localtime): New function.
87977
87978 2002-05-27  Jim Meyering  <meyering@lucent.com>
87979
87980         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
87981         localtime.
87982
87983         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
87984         use the replacement function; it wouldn't resolve at link time.
87985         Reported by Volker Borchert.
87986
87987 2002-05-22  Jim Meyering  <meyering@lucent.com>
87988
87989         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
87990         file-type.h.
87991         * lib/file-type.h: New file.
87992         * lib/file-type.c (file_type): New file/function.  Extracted from
87993         diffutils.
87994
87995 2002-04-30  Jim Meyering  <meyering@lucent.com>
87996
87997         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
87998
87999 2002-04-29  Paul Eggert  <eggert@twinsun.com>
88000
88001         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
88002
88003 2002-04-29  Paul Eggert  <eggert@twinsun.com>
88004
88005         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
88006         Do not check for alloca.h (no longer used) or stdbool.h (was never
88007         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
88008
88009 2002-04-29  Paul Eggert  <eggert@twinsun.com>
88010
88011         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
88012
88013 2002-04-29  Jim Meyering  <meyering@lucent.com>
88014
88015         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
88016         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
88017         Use AC_FUNC_STRNLEN here instead.
88018
88019         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
88020         With autoconf-2.53a, it's part of AC_PROG_CC.
88021
88022 2002-04-28  Paul Eggert  <eggert@twinsun.com>
88023
88024         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
88025         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
88026
88027 2002-04-28  Paul Eggert  <eggert@twinsun.com>
88028
88029         * lib/sig2str.h, lib/sig2str.c: New files.
88030         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
88031
88032 2002-04-28  Paul Eggert  <eggert@twinsun.com>
88033
88034         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
88035         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
88036         of 127, since 64 is the largest conceivable number for ancient
88037         nonstandard hosts.
88038         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
88039
88040 2002-04-28  Jim Meyering  <meyering@lucent.com>
88041
88042         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
88043
88044 2002-04-24  Jim Meyering  <meyering@lucent.com>
88045
88046         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
88047         (jm_PREREQ): Use it.
88048
88049         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
88050         mach/mach.h fcntl.h.
88051         Check for this function: setlocale.
88052
88053 2002-04-24  Jim Meyering  <meyering@lucent.com>
88054
88055         * lib/gettext.h: New file, from Gettext.
88056         * lib/Makefile.am (INCLUDES): Remove -I../intl.
88057         (libfetish_a_SOURCES): Add gettext.h.
88058
88059 2002-04-16  Jim Meyering  <meyering@lucent.com>
88060
88061         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
88062         ut_pid, ut_id, ut_exit.
88063
88064 2002-04-16  Jim Meyering  <meyering@lucent.com>
88065
88066         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
88067         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
88068         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
88069
88070 2002-04-12  Jim Meyering  <meyering@lucent.com>
88071
88072         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
88073         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
88074         existence of the getmntinfo function.  Needed for Darwin 5.3.
88075
88076         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
88077         This is necessary at least on Darwin 5.3.
88078
88079         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
88080         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
88081         strnlen.o in the library, and that makes some versions of ranlib
88082         object.
88083
88084 2002-04-12  Jim Meyering  <meyering@lucent.com>
88085
88086         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
88087
88088 2002-04-09  Jim Meyering  <meyering@lucent.com>
88089
88090         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
88091         to be more precise.  Rather than saying we're checking whether the
88092         function `works', say what we're testing.
88093         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
88094         Reported by Bruno Haible.
88095
88096 2002-03-10  Jim Meyering  <meyering@lucent.com>
88097
88098         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
88099         Suggestion from Santiago Vila.
88100
88101 2002-03-08  Jim Meyering  <meyering@lucent.com>
88102
88103         * lib/rename.c: Mention that this wrapper is needed also on
88104         mips-dec-ultrix4.4 systems.
88105
88106 2002-03-02  Jim Meyering  <meyering@lucent.com>
88107
88108         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
88109         not HAVE_CLOCK_SETTIME.
88110
88111 2002-02-27  Paul Eggert  <eggert@twinsun.com>
88112
88113         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
88114         Check for clock_settime.
88115
88116 2002-02-27  Paul Eggert  <eggert@twinsun.com>
88117
88118         * lib/nanosleep.h: Rename to....
88119         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
88120
88121         * lib/gettime.c: New file.
88122         * lib/settime.c: New file.
88123         * lib/stime.c: Remove.
88124
88125         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
88126         timespec.h.  Remove nanosleep.h.
88127
88128 2002-02-25  Paul Eggert  <eggert@twinsun.com>
88129
88130         * m4/acl.m4: New file.
88131         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
88132         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
88133
88134 2002-02-25  Paul Eggert  <eggert@twinsun.com>
88135
88136         * lib/acl.c, lib/acl.h: New files.
88137         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
88138
88139 2002-02-24  Jim Meyering  <meyering@lucent.com>
88140
88141         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
88142         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
88143         cause trouble.  Reported by Nelson Beebe.
88144
88145 2002-02-23  Paul Eggert  <eggert@twinsun.com>
88146
88147         * lib/path-concat.c (xpath_concat): Reorder code to pacify
88148         compilers that don't know that xalloc_die never returns.
88149
88150 2002-02-20  Jim Meyering  <meyering@lucent.com>
88151
88152         * lib/getdate.c: Regenerate using bison-1.33.
88153
88154 2002-02-17  Jim Meyering  <meyering@lucent.com>
88155
88156         * config/config.guess (main): Don't use `head -1'; it's no longer
88157         portable. Use `sed 1q' instead.
88158
88159 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
88160
88161         * m4/codeset.m4: Upgrade to gettext-0.11.
88162         * m4/gettext.m4: Upgrade to gettext-0.11.
88163         * m4/glibc21.m4: Upgrade to gettext-0.11.
88164         * m4/iconv.m4: Upgrade to gettext-0.11.
88165         * m4/isc-posix.m4: Upgrade to gettext-0.11.
88166         * m4/lcmessage.m4: Upgrade to gettext-0.11.
88167         * m4/lib-ld.m4: New file, from gettext-0.11.
88168         * m4/lib-link.m4: New file, from gettext-0.11.
88169         * m4/lib-prefix.m4: New file, from gettext-0.11.
88170         * m4/progtest.m4: Upgrade to gettext-0.11.
88171
88172 2002-02-15  Paul Eggert  <eggert@twinsun.com>
88173
88174         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
88175         (jm_PREREQ): Use it.
88176
88177 2002-02-15  Paul Eggert  <eggert@twinsun.com>
88178
88179         * lib/posixver.c, lib/posixver.h: New files.
88180         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
88181
88182 2002-02-02  Paul Eggert  <eggert@twinsun.com>
88183             Bruno Haible  <bruno@clisp.org>
88184
88185         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
88186         (fwrite_success_callback): New declaration.
88187         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
88188         print_unicode_char. Call failure callback instead of error.
88189         (fwrite_success_callback): New function.
88190         (exit_failure_callback): New function.
88191         (fallback_failure_callback): New function.
88192         (print_unicode_char): Call unicode_to_mb.
88193
88194 2002-01-26  Jim Meyering  <meyering@lucent.com>
88195
88196         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
88197         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
88198
88199 2002-01-26  Jim Meyering  <meyering@lucent.com>
88200
88201         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
88202
88203 2002-01-22  Paul Eggert  <eggert@twinsun.com>
88204
88205         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
88206
88207 2002-01-22  Jim Meyering  <meyering@lucent.com>
88208
88209         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
88210         Otherwise, some versions of automake would omit the rule that makes
88211         Makefile from Makefile.in.
88212
88213 2002-01-21  Paul Eggert  <eggert@twinsun.com>
88214
88215         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
88216         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
88217         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
88218         (memcoll): Set errno to zero if there is no error.
88219
88220         * lib/quotearg.c (quotearg_buffer_restyled):
88221         Fix bug with quoting buffers containing NUL when backslashing escapes.
88222         This bug was exposed by the other changes in this patch.
88223         (quotearg_n_options): New arg ARGSIZE.
88224         All callers changed.
88225         (quoting_options_from_style): New function.
88226         (quotearg_n_style): Use it.
88227         (quotearg_n_style_mem): New function.
88228
88229         * lib/quotearg.h (quotearg_n_style_mem): New function.
88230
88231 2002-01-19  Jim Meyering  <meyering@lucent.com>
88232
88233         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
88234         Remove useless quotes: DF_PROG="df".
88235         * m4/strnlen.m4: New file.
88236
88237 2002-01-16  Paul Eggert  <eggert@twinsun.com>
88238
88239         * lib/backupfile.c (ISDIGIT): Comment fix.
88240         * lib/getdate.y (ISDIGIT): Likewise.
88241         * lib/posixtm.c (ISDIGIT, year): Likewise.
88242         * lib/strverscmp.c (ISDIGIT): Likewise.
88243         * lib/userspec.c (ISDIGIT): Likewise.
88244
88245 2002-01-16  Jim Meyering  <meyering@lucent.com>
88246
88247         * lib/getdate.y: Add three semicolons, each just before a closing
88248         brace. Bison (as of version 1.31) no longer papers over that mistake.
88249
88250 2002-01-05  Jim Meyering  <meyering@lucent.com>
88251
88252         * lib/version-etc.c (version_etc_copyright): Update copyright year.
88253
88254 2001-12-19  Paul Eggert  <eggert@twinsun.com>
88255
88256         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
88257         not silently exit merely because the output buffer happens to
88258         have nothing pending.
88259
88260 2001-12-18  Paul Eggert  <eggert@twinsun.com>
88261
88262         See the big note in ../ChangeLog.
88263         * lib/human.c (suffixes): Prefer K to k for 1024.
88264         (generate_suffix_backwards): New function.
88265         (human_readable_inexact): Use it.
88266         * lib/xstrtol.c (__xstrtol): If there is no number but there
88267         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
88268         Accept 'K' as well as 'k'.
88269
88270 2001-12-15  Jim Meyering  <meyering@lucent.com>
88271
88272         * lib/regex.h (__restrict_arr): Update from libc.
88273
88274         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
88275         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
88276         (STREQ): Define.
88277
88278 2001-12-14  Jim Meyering  <meyering@lucent.com>
88279
88280         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
88281         Suggestion from Bruno Haible.
88282
88283 2001-12-10  Jim Meyering  <meyering@lucent.com>
88284
88285         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
88286         xrealloc, Instead, include "xalloc.h".
88287         (initbuffer): Don't cast xmalloc return value to char*.
88288         (readline): Reword comment.
88289         Don't cast xrealloc return value to char*
88290         Return NULL, not 0.
88291
88292 2001-12-09  Jim Meyering  <meyering@lucent.com>
88293
88294         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
88295         about `signed and unsigned type in conditional expression'.
88296         * lib/posixtm.c (posix_time_parse): Likewise.
88297
88298         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
88299
88300         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
88301         to avoid a pedantic warning.
88302
88303         * lib/getstr.c: Don't include assert.h.
88304         (getstr): Remove warning-evoking assertions.
88305         Return -1 if offset parameter is out of bounds.
88306         Change the type of a local from int to size_t.
88307
88308         * lib/strftime.c (my_strftime_localtime_r): Include this function
88309         definition in the `#if ! HAVE_TM_GMTOFF' block.
88310
88311         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
88312         Include xalloc.h instead.
88313
88314 2001-12-02  Jim Meyering  <meyering@lucent.com>
88315
88316         * lib/tempname.c: Don't declare getenv, thus reverting the change of
88317         2001-11-18.  It's no longer necessary, now that stdlib.h is always
88318         included.
88319
88320         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
88321         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
88322
88323 2001-11-30  Akim Demaille  <akim@epita.fr>
88324
88325         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
88326         before being defined.
88327
88328 2001-11-27  Paul Eggert  <eggert@twinsun.com>
88329
88330         * lib/quotearg.h (quotearg_n, quotearg_n_style):
88331         First arg is int, not unsigned.
88332         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
88333         (SIZE_MAX, UINT_MAX): New macros.
88334         (quotearg_n_options): Abort if N is negative.
88335         Avoid overflow check on hosts where size_t is 64 bits and int
88336         is 32 bits, as overflow is impossible there.
88337         Fix off-by-one typo that caused unnecessary reallocation.
88338
88339 2001-11-27  Jim Meyering  <meyering@lucent.com>
88340
88341         * lib/tempname.c: Merge with version from libc.
88342         * lib/regex.c: Likewise.
88343
88344         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
88345         systems for which STDC_HEADERS is 0, it was not included, resulting in
88346         a warning about an integer-to-pointer conversion problem with getenv.
88347         Reported by Volker Borchert.
88348
88349 2001-11-26  Jim Meyering  <meyering@lucent.com>
88350
88351         * lib/gtod.h: Remove file.
88352         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
88353         * lib/gettimeofday.c: Don't include gtod.h.
88354         (GTOD_init): Remove function.
88355         (rpl_gettimeofday): Do its job here instead, rather than aborting.
88356         Suggestion from Volker Borchert.
88357
88358 2001-11-23  Jim Meyering  <meyering@lucent.com>
88359
88360         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
88361         it.
88362         * lib/hash.c (struct hash_table): Define it here instead.
88363
88364 2001-11-22  Jim Meyering  <meyering@lucent.com>
88365
88366         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
88367
88368 2001-11-20  Jim Meyering  <meyering@lucent.com>
88369
88370         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
88371         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
88372
88373 2001-11-19  Jim Meyering  <meyering@lucent.com>
88374
88375         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
88376         directory.  Use "conftestXXXXXX" as the template.
88377         Suggestion from Paul Eggert.
88378
88379         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
88380         immediately, so the test doesn't mistakenly hit the max-open-files
88381         limit.
88382
88383 2001-11-18  Paul Eggert  <eggert@twinsun.com>
88384
88385         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
88386         (TEMPORARIES): New macro.
88387         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
88388         removes an artificial limitation (e.g. HP-UX 10.20, where
88389         TMP_MAX is 17576).
88390
88391 2001-11-18  Jim Meyering  <meyering@lucent.com>
88392
88393         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
88394
88395 2001-11-18  Jim Meyering  <meyering@lucent.com>
88396
88397         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
88398         on SunOS 4.
88399
88400         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
88401         files will be created before anything else.
88402
88403 2001-11-17  Paul Eggert  <eggert@twinsun.com>
88404
88405         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
88406         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
88407
88408 2001-11-17  Jim Meyering  <meyering@lucent.com>
88409
88410         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
88411         Prompted by a report from Bob Proulx.
88412
88413         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
88414         Instead, require UTILS_FUNC_MKSTEMP.
88415
88416 2001-11-17  Jim Meyering  <meyering@lucent.com>
88417
88418         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
88419         Now, that's done as part of AC_FUNC_STRTOD.
88420
88421 2001-11-17  Jim Meyering  <meyering@lucent.com>
88422
88423         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
88424         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
88425         rather than group writable.  Patch by Juan F. Codagnone.
88426
88427         * lib/readtokens.c: Remove explicit declarations of xmalloc and
88428         xrealloc, Instead, include "xalloc.h".
88429
88430         * lib/mountlist.c: Include unlocked-io.h after all system headers.
88431         Remove explicit declarations of xmalloc, xrealloc,
88432         and xstrdup.  Instead, include "xalloc.h".
88433
88434         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
88435         unlocked-io.h.
88436         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
88437         Likewise.
88438         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
88439
88440         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
88441         Reported by Padraig Brady.
88442
88443         * lib/mkstemp.c: #undef mkstemp.
88444         Include config.h.
88445         (rpl_mkstemp): Rename from mkstemp.
88446         Protoize.
88447
88448 2001-11-16  Jim Meyering  <meyering@lucent.com>
88449
88450         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
88451         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
88452         determine the amount of total physical memory, use pstat_getstatic.
88453         HPUX-11 doesn't define _SC_PHYS_PAGES.
88454         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
88455         If sysconf couldn't be used to determine the amount of available
88456         physical memory, use both pstat_getstatic and pstat_getdynamic.
88457         Based on a patch from Bob Proulx.
88458
88459 2001-11-10  Jim Meyering  <meyering@lucent.com>
88460
88461         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
88462         (jm_PREREQ): Use it.
88463
88464 2001-11-09  Jim Meyering  <meyering@lucent.com>
88465
88466         * m4/jm-macros.m4: Require autoconf-2.52f.
88467         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
88468         Use these AC_-prefixed names, not the AM_-prefixed ones.
88469
88470         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
88471
88472 2001-11-05  Jim Meyering  <meyering@lucent.com>
88473
88474         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
88475
88476 2001-11-04  Jim Meyering  <meyering@lucent.com>
88477
88478         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
88479         $DEFS.
88480
88481 2001-11-03  Jim Meyering  <meyering@lucent.com>
88482
88483         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
88484         of AC_DEFUN.
88485
88486         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
88487         know the name of the variable in the macro definition.
88488
88489 2001-11-03  Jim Meyering  <meyering@lucent.com>
88490
88491         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
88492         in argmatch_to_argument call.
88493
88494         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
88495         argument.
88496
88497         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
88498         e.g., a fault due to an attempt to free a NULL pointer.
88499
88500 2001-11-01  Jim Meyering  <meyering@lucent.com>
88501
88502         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
88503         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
88504
88505 2001-11-01  Jim Meyering  <meyering@lucent.com>
88506
88507         * lib/dirfd.c, lib/dirfd.h: New files.
88508         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
88509
88510         * lib/hash.c (hash_print) [TESTING]: Clean up.
88511
88512 2001-10-22  Paul Eggert  <eggert@twinsun.com>
88513
88514         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
88515         to avoid a warning if -Wall.
88516
88517 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
88518
88519         * README: New file
88520         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
88521         (per RMS's instructions, this is now the canonical source)
88522         * lgpl/, gpl/: New directories.
88523
88524 2001-10-21  Paul Eggert  <eggert@twinsun.com>
88525
88526         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
88527
88528 2001-10-21  Jim Meyering  <meyering@lucent.com>
88529
88530         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
88531         this code would end up calling gettext even in packages built
88532         with --disable-nls.
88533         * lib/getopt.c (_): Likewise.
88534         * lib/regex.c (_): Likewise.
88535
88536 2001-10-20  Paul Eggert  <eggert@twinsun.com>
88537
88538         * m4/error.m4 (jm_PREREQ_ERROR):
88539         Do not invoke AC_CHECK_FUNCS with strerror_r, as
88540         AC_FUNC_STRERROR_R does that.
88541         Check for strerror declaration.
88542
88543         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
88544         are supposed to have them these days.
88545         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
88546         Merge changes from latest Autoconf CVS.
88547         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
88548         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
88549         POSIX decided to standardize on the int flavor of strerror_r.
88550
88551 2001-10-20  Paul Eggert  <eggert@twinsun.com>
88552
88553         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
88554         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
88555         Use strerror_r that is only a macro, even if it is not a function.
88556         (strerror): Check for HAVE_DECL_STRERROR before declaring.
88557         (private_strerror): Use prototypes, not old-style function definition.
88558         (print_errno_message): New function.
88559         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
88560         char*-flavored one.
88561         (error_tail, error, error_at_line): Use it.
88562
88563 2001-10-11  Jim Meyering  <meyering@lucent.com>
88564
88565         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
88566         and quote_n (1, ... to avoid clobbering a buffer.
88567
88568 2001-10-05  Jim Meyering  <meyering@lucent.com>
88569
88570         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
88571         hash-pjw.h.
88572         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
88573         * lib/hash-pjw.h: New file.
88574
88575 2001-09-30  Jim Meyering  <meyering@lucent.com>
88576
88577         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
88578         `struct fsstat' has the `f_fstypename' member.
88579         Use that to define FS_TYPE, which is now used to make
88580         the getfsstat link test tighter.
88581
88582 2001-09-30  Jim Meyering  <meyering@lucent.com>
88583
88584         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
88585         Include <sys/ucred.h>, for Apple Darwin.
88586         Include sys/mount.h and sys/fs_types.h only if available.
88587         (FS_TYPE): Define.
88588         (read_filesystem_list): Use FS_TYPE.
88589
88590 2001-09-29  Paul Eggert  <eggert@twinsun.com>
88591
88592         * lib/exclude.c (excluded_filename): 0 -> false, since it's
88593         a boolean context.
88594
88595 2001-09-29  Jim Meyering  <meyering@lucent.com>
88596
88597         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
88598         [one-argument getmntent function]): Include stdio.h before mntent.h.
88599         SunOS 4.1.x needs it for the declaration of `FILE'.
88600         Patch by Volker Borchert.
88601
88602         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
88603         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
88604         sys/fs_types.h, and make the link-test for getfsstat guard #include
88605         directives with appropriate #if HAVE_*_H tests so that we can
88606         detect getfsstat on Apple Darwin1.3.7 systems.
88607         Reported by Nelson Beebe.
88608         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
88609
88610 2001-09-28  Paul Eggert  <eggert@twinsun.com>
88611
88612         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
88613         #defines strtoimax.  Also treat the other strto* functions
88614         like strtoimax.
88615
88616         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
88617         Check for strtoul and strtoumax,
88618         as those declarations are made even in the signed case.
88619         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
88620         Likewise, for strtol and strtoimax.
88621
88622 2001-09-28  Paul Eggert  <eggert@twinsun.com>
88623
88624         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
88625         #defines strtoimax.  Also treat the other strto* functions
88626         like strtoimax.
88627
88628         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
88629         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
88630         (strtoimax, strtoumax): Do not declare if already defined as a macro.
88631
88632 2001-09-26  Jim Meyering  <meyering@lucent.com>
88633
88634         Most macros in unlocked-io.h had the wrong number of arguments.
88635         * lib/gen-uio: New script.
88636         (USE_UNLOCKED_IO): Define to 1 if not already defined.
88637         * lib/unlocked-io.hin: Remove file.
88638         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
88639         rather than trying to embed it here.
88640         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
88641         Reported by Padraig Brady.
88642
88643 2001-09-25  Volker Borchert  <bt@teknon.de>
88644
88645         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
88646         `result'.
88647
88648 2001-09-24  Jim Meyering  <meyering@lucent.com>
88649
88650         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
88651
88652 2001-09-23  Jim Meyering  <meyering@lucent.com>
88653
88654         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
88655         instead of the mere test for existence of mntent.h.  The latter
88656         would get a false-positive on AIX 3.4 systems.
88657         In the outer getmntent if-block, don't die if neither of the getmntent
88658         tests succeeds.  Instead, just fall through and continue with the
88659         remaining tests.
88660
88661 2001-09-23  Jim Meyering  <meyering@lucent.com>
88662
88663         * lib/mountlist.c: Remove useless parentheses in #if directives.
88664         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
88665         the deprecated MOUNTED symbol is no longer defined in mntent.h.
88666
88667 2001-09-22  Jim Meyering  <meyering@lucent.com>
88668
88669         * m4/gettext.m4: New file.  From gettext.
88670         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
88671         * m4/progtest.m4: Likewise
88672         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
88673         * m4/glibc21.m4: Likewise.
88674
88675         * m4/libintl.m4: Remove.  No longer used.
88676
88677 2001-09-22  Jim Meyering  <meyering@lucent.com>
88678
88679         * lib/localcharset.c: Update from latest gettext.
88680         * lib/config.charset: Likewise.
88681
88682 2001-09-20  Jim Meyering  <meyering@lucent.com>
88683
88684         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
88685         strtoimax.
88686         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
88687         strtoumax.
88688
88689 2001-09-20  Jim Meyering  <meyering@lucent.com>
88690
88691         * lib/xstrtol.c (strtoimax): Guard declaration with
88692         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
88693         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
88694         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
88695         (strtoumax): Likewise, for completeness (it wasn't necessary).
88696
88697 2001-09-17  Paul Eggert  <eggert@twinsun.com>
88698
88699         * lib/strtoimax.c (HAVE_LONG_LONG):
88700         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
88701         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
88702         to work around bug in IBM C compiler.
88703
88704 2001-09-17  Jim Meyering  <meyering@lucent.com>
88705
88706         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
88707         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
88708         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
88709         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
88710         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
88711         whenever the right hand side need not be expanded by the shell.
88712
88713 2001-09-16  Paul Eggert  <eggert@twinsun.com>
88714
88715         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
88716         library.  It's not correct, as some older glibcs are buggy.
88717         fnmatch wasn't fixed until glibc 2.2.
88718
88719         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
88720         special shell magic here.
88721
88722 2001-09-16  Jim Meyering  <meyering@lucent.com>
88723
88724         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
88725         * m4/jm-macros.m4: Require it.
88726
88727 2001-09-16  Jim Meyering  <meyering@lucent.com>
88728
88729         * lib/mkdir.c: New file.
88730
88731 2001-09-15  Jim Meyering  <meyering@lucent.com>
88732
88733         * m4/jm-macros.m4: Check for help2man.
88734
88735 2001-09-11  Jim Meyering  <meyering@lucent.com>
88736
88737         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
88738         The body, by Paul Eggert, was moved here from configure.in.
88739         * m4/jm-macros.m4: Require UTILS_HOST_OS.
88740
88741 2001-09-04  Paul Eggert  <eggert@twinsun.com>
88742
88743         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
88744         (jm_PREREQ): Use it.
88745
88746 2001-09-04  Paul Eggert  <eggert@twinsun.com>
88747
88748         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
88749         Use ssize_t, not int, to store result of readlink.
88750         Check for ssize_t overflow as well as size_t overflow,
88751         as POSIX says the result of readlink is implementation-defined
88752         when ssize_t overflows.
88753         Remove unnecessary cast to char*.
88754         Use free+malloc instead of realloc, as the storage doesn't need
88755         to be preserved and it's clearer and can be more efficient that way.
88756         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
88757         * lib/xreadlink.h (xreadlink): Update prototype.
88758
88759 2001-09-04  Paul Eggert  <eggert@twinsun.com>
88760
88761         * lib/xgetcwd.c: Revert some of the previous change; intead,
88762         fix the HAVE_GETCWD_NULL code to behave more like the
88763         !HAVE_GETCWD_NULL code used to.
88764
88765         Include "xalloc.h".
88766         (xgetcwd): Do not return NULL when memory is exhausted; instead,
88767         invoke xalloc_die.
88768
88769 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88770
88771         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
88772         sys/param.h, as pathmax.h includes them.
88773
88774 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88775
88776         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
88777         (jm_PREREQ_XGETCWD): New macro.
88778
88779         * m4/getcwd.m4: New file.
88780
88781 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88782
88783         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
88784         like the HAVE_GETCWD_NULL code.
88785         Include pathmax.h if not HAVE_GETCWD.
88786         Do not include xalloc.h.
88787         (INITIAL_BUFFER_SIZE): New symbol.
88788         Do not use xmalloc / xrealloc, since the caller is responsible for
88789         handling errors.  Preserve errno around `free' during failure.
88790         Do not overrun buffer when using getwd.
88791
88792 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88793
88794         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
88795         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
88796         getcwd (NULL, 0).
88797
88798 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88799
88800         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
88801         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
88802         spotted by Jim Meyering.
88803
88804 2001-09-03  Jim Meyering  <meyering@lucent.com>
88805
88806         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
88807         failure.
88808
88809 2001-09-02  Jim Meyering  <meyering@lucent.com>
88810
88811         * lib/error.c: Update from GNU libc.
88812
88813 2001-09-01  Jim Meyering  <meyering@lucent.com>
88814
88815         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
88816         Used by df.
88817
88818 2001-09-01  Jim Meyering  <meyering@lucent.com>
88819
88820         * lib/xreadlink.c: New file.
88821         * lib/xreadlink.h: New file.
88822         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
88823         xreadlink.h.
88824
88825         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
88826         doesn't conflict with sparc Solaris 7's definition in
88827         /usr/include/sys/int_types.h.
88828
88829         * lib/exclude.c: Use `""', not `<>' to #include non-system header
88830         files.
88831         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
88832         and strncasecmp as r-values.  Unixware didn't have declarations.
88833
88834 2001-08-31  Paul Eggert  <eggert@twinsun.com>
88835
88836         * lib/xstrtol.h: Add copyright notice.
88837         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
88838         LONGINT_INVALID_SUFFIX_CHAR.
88839
88840 2001-08-31  Paul Eggert  <eggert@twinsun.com>
88841
88842         * lib/xstrtol.c (strtoimax): New decl.
88843
88844 2001-08-31  Paul Eggert  <eggert@twinsun.com>
88845
88846         * lib/xgetcwd.c: Don't include pathmax.h.
88847         Include stdlib.h and unistd.h if available.
88848         Include xalloc.h.
88849         (xmalloc, xstrdup, free): Remove decls.
88850         (xgetcwd): Don't assume sizes fit in unsigned.
88851         Check for overflow when computing sizes.
88852         Simplify reallocation code.
88853
88854 2001-08-31  Paul Eggert  <eggert@twinsun.com>
88855
88856         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
88857         a directory's st_size can have an arbitrary value, so the old
88858         usage could waste an arbitrary amount of memory.  All uses
88859         changed.
88860         * lib/savedir.h: Update prototype.
88861
88862 2001-08-31  Paul Eggert  <eggert@twinsun.com>
88863
88864         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
88865
88866         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
88867         old strtoimax.c.
88868
88869         Also, make the following further changes to make this file's
88870         configuration more similar to that of strtol.c:
88871         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
88872         (strtoumax, uintmax_t, strtoull, strtol): Remove.
88873         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
88874         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
88875         changed to signed values.
88876
88877         And make the following changes as well:
88878         Fix copyright notice, as 1999 was missing.
88879         (verify): New macro.
88880         (strtoimax): Check sizes at compile-time, not run-time.
88881         Prefer strtol to strtoll if both work.
88882         (main): Remove; it was not that useful and was a pain to maintain.
88883
88884         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
88885
88886 2001-08-31  Jim Meyering  <meyering@lucent.com>
88887
88888         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
88889         Use an initial, malloc'd, buffer of length 128 rather than
88890         a statically allocated one of length 1024.
88891
88892 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88893
88894         Simplify code, partly by assuming autoconf 2.52 semantics.
88895
88896         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
88897
88898         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
88899         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
88900         All uses removed.
88901         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
88902         Move AC_REQUIRE to next-to-top level, to avoid confusion.
88903         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
88904         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
88905         jm_AC_HEADER_INTTYPES_H.
88906         * m4/jm-macros.m4 (jm_MACROS): Likewise.
88907
88908         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
88909
88910         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
88911         Quote first arg of AC_DEFUN.
88912         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
88913         since they are needed to parse the include file even if we need
88914         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
88915         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
88916         but with opposite signedness.
88917
88918 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88919
88920         Merge 'exclude' changes from tar 1.13.22.
88921         This fixes one or two unlikely storage allocation overflow bugs,
88922         but doesn't change user-visible behavior otherwise.
88923
88924 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88925
88926         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
88927         (jm_PREREQ_EXCLUDE): New macro.
88928
88929 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88930
88931         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
88932         tm to be declared.
88933
88934 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88935
88936         * lib/hash.c: Remove '2001' from copyright notice.
88937
88938 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88939
88940         * lib/full-write.h: New file.
88941         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
88942         * lib/full-write.c: Correct credits, as cccp.c no longer
88943         exists and anyway it was so heavily changed from the old cccp
88944         code as to be unrecognizable.  Include full-write.h.
88945         (full_write): Return size_t, with short writes meaning failure.
88946         All callers changed.  This fixes a bug with large buffers
88947         on 64-bit hosts.
88948         * lib/utime.c: Include full-write.h.
88949
88950 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88951
88952         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
88953         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
88954         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
88955         Include if available.
88956         (<xalloc.h>): Include
88957         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
88958         (verify): New macro.  Use it to verify that EXCLUDE macros do not
88959         collide with FNM macros.
88960         (struct patopts): New struct.
88961         (struct exclude): Use it, as exclude patterns now come with options.
88962         (new_exclude): Support above changes.
88963         (new_exclude, add_exclude_file):
88964         Initial size must now be a power of two to simplify overflow checking.
88965         (free_exclude, fnmatch_no_wildcards): New function.
88966         (excluded_filename): No longer requires options arg, as the options
88967         are determined by add_exclude.  Now returns bool, not int.
88968         (excluded_filename, add_exclude):
88969         Add support for the fancy new exclusion options.
88970         (add_exclude, add_exclude_file): Now takes int options arg.
88971         Check for arithmetic overflow when computing sizes.
88972         (add_exclude_file): xrealloc might modify errno, so don't
88973         realloc until after errno might be used.
88974
88975         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
88976         New macros.
88977         (free_exclude): New decl.
88978         (add_exclude, add_exclude_file): Now takes int options arg.
88979         (excluded_filename): No longer requires options arg, as the options
88980         are determined by add_exclude.  Now returns bool, not int.
88981
88982 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88983
88984         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
88985
88986 2001-08-27  Jim Meyering  <meyering@lucent.com>
88987
88988         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
88989
88990         * lib/version-etc.c (N_): Remove definition.
88991         Revert most of last change.
88992         Instead, simply don't mark the `Copyright...' string for translation.
88993         Based on advice from Paul Eggert.
88994
88995         * lib/strtoxmax.c: Tweak comment.
88996
88997 2001-08-26  Jim Meyering  <meyering@lucent.com>
88998
88999         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
89000
89001         * m4/xstrtoimax.m4: New file.
89002         * m4/xstrtoumax.m4: Add comments explaining why we
89003         AC_REPLACE_FUNCS(strtol).
89004
89005 2001-08-26  Jim Meyering  <meyering@lucent.com>
89006
89007         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
89008         of copyright with `%s' so translators don't get an untranslated
89009         message in 2002.
89010         (COPYRIGHT_YEAR): Define.
89011         (version_etc): Use fprintf rather than fputs.
89012         Suggestion from Ulrich Drepper.
89013
89014         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
89015
89016         * lib/strtoll.c: New file, from GNU libc.
89017         * lib/xstrtoimax.c: New file.
89018
89019         * lib/xstrtol.h: Add xstrtoimax.
89020         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
89021         * lib/strtoimax.c: New file.  Likewise, but first define
89022         STRTOUXMAX_SIGNED.
89023
89024         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
89025         ...
89026         * lib/strtoxmax.c: ... then renamed to this.
89027
89028 2001-08-18  Paul Eggert  <eggert@twinsun.com>
89029
89030         * m4/inttypes.m4: Add AC_PREREQ(2.13).
89031         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
89032         (jm_AC_TYPE_INTMAX_T): New macro.
89033         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
89034
89035         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
89036
89037         * m4/longlong.m4: Renamed from ulonglong.m4.
89038         * m4/inttypes.m4: Renamed from inttypes_h.m4.
89039         * m4/uintmax_t.m4: Removed.
89040
89041 2001-08-13  Paul Eggert  <eggert@twinsun.com>
89042
89043         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
89044         Port to Solaris 8, where 'sed' requires a space after the 'r'
89045         command, and where sh dislikes "$/".  Clean up the spacing a bit.
89046         Redirect output to $tmp just once.
89047
89048 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
89049
89050         * lib/addext.c (<errno.h>): Include.
89051         (errno): Declare if not defined.
89052         (addext): Work correctly when pathconf returns -1 and leaves
89053         errno alone because there is no limit.  Also, work even if
89054         pathconf returns a value greater than SIZE_MAX.
89055
89056 2001-08-12  Jim Meyering  <meyering@lucent.com>
89057
89058         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
89059         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
89060         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
89061         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
89062         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
89063         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
89064         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
89065         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
89066         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
89067         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
89068         utime.m4, utimes.m4, xstrtoumax.m4:
89069         Quote the first argument in each use of AC_DEFUN.
89070
89071 2001-08-12  Jim Meyering  <meyering@lucent.com>
89072
89073         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
89074         Simply `return getcwd (NULL, 0);'.
89075         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
89076         Use 1300 as initial value for length, not PATH_MAX.
89077
89078         * lib/pathmax.h: Clean up cpp syntax.
89079
89080 2001-08-12  Jim Meyering  <meyering@lucent.com>
89081
89082         * lib/gettimeofday.c: New file.
89083         * lib/gtod.h: New file.
89084         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
89085
89086 2001-08-05  Jim Meyering  <meyering@lucent.com>
89087
89088         * m4/jm-macros.m4: Require autoconf-2.52.
89089
89090 2001-08-04  Jim Meyering  <meyering@lucent.com>
89091
89092         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
89093         stmt, to get in sync with glibc.
89094
89095 2001-08-03  Paul Eggert  <eggert@twinsun.com>
89096
89097         The following changes are from gettext 0.10.39 as maintained by
89098         Bruno Haible.
89099
89100         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
89101         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
89102         with inverted sense.  All uses changed.
89103
89104         * lib/mbswidth.c: Don't include <limits.h>.
89105         Include <stdlib.h> and <string.h> unconditionally.
89106         (iswcntrl, mbsinit, ISCNTRL): New macros.
89107         (mbsnwidth): Use K&R style function declarations.
89108         Don't bother checking for MB_LEN_MAX == 1, since the compiler
89109         can optimize it when MB_CUR_MAX == 1.
89110         The width of control characters is zero, not 1.
89111
89112 2001-08-03  Paul Eggert  <eggert@twinsun.com>
89113
89114         The following changes are from gettext 0.10.39 as maintained by
89115         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
89116
89117         * m4/codeset.m4: Upgrade to serial AM1.
89118         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
89119         all uses changed.  Quote first arg of AC_DEFUN.
89120         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
89121
89122         * m4/iconv.m4: Upgrade to serial AM2.
89123         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
89124         Add --with-libconv-prefix.
89125         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
89126         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
89127         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
89128         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
89129         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
89130
89131         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
89132         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
89133         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
89134         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
89135         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
89136         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
89137         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
89138         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
89139         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
89140
89141         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
89142         string.h any more.
89143
89144         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
89145         not the default value.
89146
89147         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
89148         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
89149         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
89150         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
89151         Also check for iswcntrl, used for wcwidth fallback.
89152         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
89153         to Autoconf 2.13.
89154
89155 2001-08-03  Jim Meyering  <meyering@lucent.com>
89156
89157         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
89158         as it was in the original.  Reported by Paul Eggert.
89159
89160 2001-07-16  Jim Meyering  <meyering@lucent.com>
89161
89162         * m4/gettimeofday.m4: New file.
89163         Prompted by a report from Bernhard Baehr.
89164
89165 2001-07-15  Jim Meyering  <meyering@lucent.com>
89166
89167         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
89168         stuff. Now it's in ../Makefile.cfg.
89169
89170 2001-07-15  Jim Meyering  <meyering@lucent.com>
89171
89172         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
89173         (BUILT_SOURCES): Add unlocked-io.h.
89174         (io_functions): Define.
89175         (unlocked-io.h): New rule.
89176         (DISTCLEANFILES): Add unlocked-io.h.
89177         (all-local): Depend on unlocked-io.h, to ensure it is created.
89178
89179         * lib/unlocked-io.hin: New file
89180
89181         * lib/regex.c: Update from glibc.
89182
89183 2001-07-05  Jim Meyering  <meyering@lucent.com>
89184
89185         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
89186         recommendation.
89187         (libfetish_a_SOURCES): Put all .h files here instead.
89188         Remove a thus-exposed (better checks in automake) duplicate and
89189         two unnecessary .h files.
89190
89191 2001-07-04  Jim Meyering  <meyering@lucent.com>
89192
89193         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
89194         that generates jm-glibc-io.m4 so that it doesn't trigger any make
89195         distcheck failure.
89196
89197 2001-07-02  Jim Meyering  <meyering@lucent.com>
89198
89199         The following changes were prompted by suggestions from Bruno Haible.
89200
89201         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
89202         is now generated.
89203         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
89204         definition of EXTRA_DIST.
89205         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
89206         ensure that the generated file is created/updated whenever the list
89207         of $(unlocked_functions) is changed.
89208         (jm-glibc-io.m4): New rule.
89209         (unlocked-io.h): New rule -- currently unused.
89210
89211 2001-06-24  Jim Meyering  <meyering@lucent.com>
89212
89213         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
89214         unmatched right bracket, rather than kludging it with an extra,
89215         falsely-matching quote in a comment.  Patch by Akim Demaille.
89216
89217 2001-06-11  Jim Meyering  <meyering@lucent.com>
89218
89219         * lib/regex.c: Update from GNU libc.
89220
89221 2001-05-27  Jim Meyering  <meyering@lucent.com>
89222
89223         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
89224         Check for ut_type in struct utmp.
89225
89226 2001-05-27  Jim Meyering  <meyering@lucent.com>
89227
89228         * lib/readutmp.h (UT_TYPE): Define.
89229
89230 2001-05-24  Jim Meyering  <meyering@lucent.com>
89231
89232         * lib/argmatch.c: Include "quote.h".
89233         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
89234         quote function.  Reported by Göran Uddeborg.
89235
89236 2001-05-22  Jim Meyering  <meyering@lucent.com>
89237
89238         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
89239         now that we use the package-supplied version unconditionally.
89240         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
89241
89242 2001-05-21  Jim Meyering  <meyering@lucent.com>
89243
89244         * m4/regex.m4: Change a couple backticks to single quotes to avoid
89245         shell syntax errors.
89246
89247 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
89248
89249         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
89250
89251 2001-05-20  Paul Eggert  <eggert@twinsun.com>
89252
89253         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
89254         Don't bother to check library strftime, since
89255         we'll be using our own my_strftime function anyway.
89256         Define my_strftime instead of strftime.
89257
89258 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
89259
89260         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
89261         which is not yet declared.
89262
89263 2001-05-15  Jim Meyering  <meyering@lucent.com>
89264
89265         * m4/regex.m4: Use proper quoting so brackets appear in the test
89266         program.
89267         Reported by, and with help from, Bruno Haible.
89268
89269 2001-05-13  Jim Meyering  <meyering@lucent.com>
89270
89271         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
89272         undefined.
89273
89274 2001-05-11  Paul Eggert  <eggert@twinsun.com>
89275
89276         dirname code cleanup.  base_name now behaves more compatibly
89277         with POSIX basename when given file names that have trailing
89278         slashes, and similarly for dir_name.  Add new primitives
89279         base_len and dir_len.  Put the directory-name-related decls
89280         into dirname.h.
89281
89282         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
89283         * lib/backupfile.c (base_name): Likewise.
89284         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
89285         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
89286         * lib/makepath.c (strip_trailing_slashes): Likewise.
89287         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
89288         ISSLASH): Likewise.
89289         * lib/rename.c (strip_trailing_slashes): Likewise.
89290         * lib/same.c (base_name): Likewise.
89291         * lib/stripslash.c (ISSLASH): Likewise.
89292
89293         * lib/addext.c: Include <dirname.h> after size_t is defined.
89294         * lib/backupfile.c: Likewise.
89295
89296         * lib/addext.c (addext): Use base_len to trim redundant
89297         trailing slashes instead of doing it ourselves.
89298         But do not trim the last slash if it is not redundant.
89299
89300         * lib/backupfile.c (find_backup_file_name,
89301         max_backup_version): Use base_len instead of rolling it ourselves.
89302         Handle the case of "" and (on DOS) "C:" correctly.
89303
89304         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
89305         needed. Include <string.h>, <dirname.h>.
89306         (base_name): Allow file names ending in slashes, other than names
89307         that are all slashes.  In this case, return the basename followed
89308         by the slashes.  This is more general, and can be used in places
89309         where the original base_name purposely had an assertion failure.
89310         (base_len): New function.
89311
89312         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
89313         Do not include <assert.h>; no longer needed.
89314         Include xalloc.h.
89315         (memrchr): Remove decl.
89316         (dir_name_r): Remove.
89317         (dir_len): Renamed from dirlen.  All callers changed.
89318         Rewrite in terms of base_name, for simplicity and consistency.
89319         (dir_name): Never return NULL.  All callers changed.
89320         Do not include <stdlib.h> in test program; no longer needed.
89321         return 0; is fine for test program.
89322
89323         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
89324         New macros.
89325         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
89326
89327         * lib/path-concat.c (path_concat): Use base_len to compute
89328         base length, not strlen; this means we cannot rely on memcpy
89329         to null-terminate.
89330
89331         * lib/same.c (STREQ): Remove.
89332         (same_name): Handle the case where the basename ends in trailing '/'.
89333
89334         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
89335         a slash was stripped.  Do not strip the last slash after a
89336         file system prefix.
89337
89338 2001-05-11  Paul Eggert  <eggert@twinsun.com>
89339
89340         * lib/Makefile.am (libfetish_a_SOURCES):
89341         Add strftime.c, since we now compile it on all hosts.
89342
89343         * lib/strftime.c (my_strftime):
89344         Define to nstrftime if emacs, but only if my_strftime is not defined.
89345         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
89346         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
89347         Add one more extra argument: a nanoseconds value.
89348         All uses changed.
89349         (ns): New macro.
89350         (my_strftime function): Add %N format.
89351         (emacs_strftimeu): Renamed from emacs_strftime,
89352         with extra ut argument.
89353
89354 2001-05-09  Paul Eggert  <eggert@twinsun.com>
89355
89356         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
89357
89358 2001-04-21  Jim Meyering  <meyering@lucent.com>
89359
89360         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
89361         doesn't interfere.
89362
89363 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
89364
89365         * m4/ftruncate.m4: Check for chsize.
89366         Link with ftruncate.o unconditionally if ftruncate is missing.
89367         This was required when cross-compiling to i586-mingw32msvc.
89368
89369 2001-04-08  Jim Meyering  <meyering@lucent.com>
89370
89371         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
89372         recomputed; that's necessary when the offset spans a DST transition.
89373         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
89374
89375 2001-04-02  Jim Meyering  <meyering@lucent.com>
89376
89377         * lib/regex.h, regex.c: Update from GNU libc.
89378
89379 2001-03-24  Jim Meyering  <meyering@lucent.com>
89380
89381         * m4/jm-macros.m4: Require autoconf-2.49d.
89382
89383 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
89384
89385         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
89386
89387 2001-03-19  Paul Eggert  <eggert@twinsun.com>
89388
89389         * lib/version-etc.c (version_etc_copyright): Update to 2001.
89390
89391 2001-03-17  Jim Meyering  <meyering@lucent.com>
89392
89393         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
89394         now that the version in autoconf is equivalent.
89395         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
89396
89397         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
89398         Suggestion from Akim Demaille.
89399
89400         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
89401         (jm_PREREQ_TEMPNAME): New function.
89402
89403 2001-03-16  Paul Eggert  <eggert@twinsun.com>
89404
89405         * lib/tempname.c (uint64_t): Define to uintmax_t if
89406         not defined, and if UINT64_MAX is not defined.
89407         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
89408         Reported by John David Anglin.
89409
89410 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
89411
89412         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
89413         resolve alias if codeset is empty.
89414         * lib/config.charset (BeOS): Use wildcard syntax.
89415
89416 2001-03-13  Jim Meyering  <meyering@lucent.com>
89417
89418         * lib/path-concat.c (path_concat)
89419         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
89420         concatenating e.g., `C:' and `foo'.
89421         From Bruno Haible.
89422
89423 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
89424
89425         * lib/localcharset.c (locale_charset): Don't use
89426         setlocale(LC_CTYPE,NULL). Don't return NULL.
89427         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
89428
89429 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
89430
89431         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
89432         support for DOS/DJGPP.
89433
89434 2001-03-01  Paul Eggert  <eggert@twinsun.com>
89435
89436         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
89437         lacks mkstemp.  Compile our own tempname.c if we compile our own
89438         mkstemp.c, as mkstemp relies on tempname.
89439
89440 2001-03-01  Jim Meyering  <meyering@lucent.com>
89441
89442         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
89443         AH_VERBATIM really does output its argument verbatim.
89444
89445 2001-02-28  Paul Eggert  <eggert@twinsun.com>
89446
89447         * lib/Makefile.am (libfetish_a_SOURCES):
89448         Add dup-safer.c, fopen-safer.c.
89449         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
89450
89451         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
89452         * lib/unistd-safer.h: New files.
89453
89454 2001-02-25  Paul Eggert  <eggert@twinsun.com>
89455
89456         The mkstemp replacement is taken from glibc 2.2.2, with some
89457         portability fixes for use outside glibc, as follows:
89458
89459         * lib/tempname.c (struct_stat64): New macro.
89460         (direxists, __gen_tempname): Use it.
89461         This avoids a portability problem with Solaris 8.
89462
89463         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
89464         (<stddef.h>, <stdint.h>, <string.h>):
89465         Include only if STDC_HEADERS || _LIBC.
89466         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
89467         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
89468         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
89469         (__set_errno): Define this macro if <errno.h> doesn't.
89470         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
89471         Define these macros if <stdio.h> doesn't.
89472         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
89473         Define these macros if <sys/stat.h>
89474         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
89475         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
89476         __xstat64): Define if not _LIBC.
89477         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
89478         (__gen_tempname): Invoke gettimeofday only if
89479         HAVE_GETTIMEOFDAY || _LIBC;
89480         otherwise, fall back on plain "time".
89481         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
89482
89483         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
89484
89485         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
89486
89487 2001-02-18  Paul Eggert  <eggert@twinsun.com>
89488
89489         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
89490
89491 2001-02-17  Paul Eggert  <eggert@twinsun.com>
89492
89493         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
89494         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
89495         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
89496         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
89497
89498 2001-02-17  Paul Eggert  <eggert@twinsun.com>
89499
89500         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
89501         Remove workaround macros for hosts that have mbrtowc but not
89502         mbstate_t, as we now insist on proper declarations for both
89503         before using mbrtowc.
89504
89505 2001-02-17  Jim Meyering  <meyering@lucent.com>
89506
89507         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
89508         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
89509         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
89510         UnixWare 7.1.1.
89511
89512         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
89513         rather than AC_CACHE_VAL.
89514
89515 2001-02-17  Jim Meyering  <meyering@lucent.com>
89516
89517         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
89518         around included file name.
89519
89520         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
89521
89522         * lib/strftime.c: Update from GNU libc (the only changes were to
89523         comments).
89524
89525 2001-02-17  Jim Meyering  <meyering@lucent.com>
89526
89527         * lib/regex.c: Update from libc.
89528
89529 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
89530
89531         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
89532         clash.
89533
89534 2001-02-16  Paul Eggert  <eggert@twinsun.com>
89535
89536         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
89537         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
89538         Reported by Mark Hounschell via Paul Eggert.
89539
89540 2001-02-07  Jim Meyering  <meyering@lucent.com>
89541
89542         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
89543
89544 2001-02-05  Jim Meyering  <meyering@lucent.com>
89545
89546         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
89547         it includes the patch required for `large file' support with at least
89548         HP-UX's 10.20 /bin/cc.
89549
89550 2001-02-03  Jim Meyering  <meyering@lucent.com>
89551
89552         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
89553         AS_IF, now that it works once again (mysteriously).
89554         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
89555
89556 2001-01-30  Jim Meyering  <meyering@lucent.com>
89557
89558         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
89559         * m4/chown.m4: Rename conftestchown to conftest.chown.
89560         * m4/rename.m4: s/conftestdir/conftest.d1/ and
89561         s/conftestdir2/conftest.d2/.
89562         * m4/utimes.m4: s/conftestdata/conftest.data/
89563         Inspired by Pavel Roskin's change in autoconf.
89564
89565 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
89566
89567         * lib/config.charset: Update for FreeBSD 4.2.
89568
89569 2001-01-27  Jim Meyering  <meyering@lucent.com>
89570
89571         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
89572         a use of AS_IF.
89573         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
89574
89575 2001-01-26  Jim Meyering  <meyering@lucent.com>
89576
89577         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
89578         quotearg.c includes it.
89579
89580 2001-01-26  Jim Meyering  <meyering@lucent.com>
89581
89582         * lib/quotearg.c: Include stddef.h.
89583         * lib/quote.c: Include stddef.h.
89584         Reported by Axel Kittenberger.
89585
89586         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
89587         line in double quotes so that it evokes a better diagnostic.
89588         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
89589         Reported by Axel Kittenberger.
89590
89591 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
89592
89593         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
89594         as if it was a `charset'.
89595
89596 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
89597
89598         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
89599         has const.
89600
89601 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
89602
89603         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
89604         to avoid a warning.  Add back 'const' to inptr.
89605
89606 2001-01-20  Jim Meyering  <meyering@lucent.com>
89607
89608         Be sure that headers are checked before used in code compiled
89609         for the type checks.
89610         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
89611         In place of that, invoke jm_CHECK_ALL_TYPES.
89612         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
89613         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
89614         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
89615         The check for ssize_t was mistakenly run before the test for unistd.h.
89616
89617         The configure-time check for stdbool.h was missing.
89618         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
89619         (jm_PREREQ_HASH): New function.
89620
89621 2001-01-17  Jim Meyering  <meyering@lucent.com>
89622
89623         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
89624         for autoconf-2.49c.
89625         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
89626
89627 2001-01-16  Jim Meyering  <meyering@lucent.com>
89628
89629         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
89630         From Bruno Haible.
89631
89632 2001-01-14  Jim Meyering  <meyering@lucent.com>
89633
89634         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
89635         foo and bar.  Create conftestdir/ in the script, not in the C code.
89636         Remove directories in the script, not in the C code.
89637         Remove conftestdir{,2} before trying to create the directory.
89638         Make the entire configure script fail if the mkdir fails.
89639
89640 2001-01-14  Jim Meyering  <meyering@lucent.com>
89641
89642         * lib/rename.c: New file.  From Volker Borchert.
89643         Include stdlib.h, string.h or strings.h, and xalloc.h.
89644         Use strip_trailing_slashes rather than open-coding it.
89645
89646 2001-01-03  Paul Eggert  <eggert@twinsun.com>
89647
89648         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
89649
89650 2001-01-03  Jim Meyering  <meyering@lucent.com>
89651
89652         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
89653         of local `inptr' to avoid warning with some system declarations of
89654         iconv.
89655
89656 2001-01-02  Volker Borchert  <bt@teknon.de>
89657
89658         * m4/rename.m4: New file.
89659         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
89660
89661 2001-01-01  Jim Meyering  <meyering@lucent.com>
89662
89663         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
89664         even on systems with utmpx.h.  It's necessary for the declaration of
89665         utmp's ut_user member.  Reported by Andreas Jaeger.
89666
89667         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
89668         available. They are required for the declarations of getgrgid and
89669         getpwuid resp.
89670         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
89671         Reported by Andreas Jaeger.
89672
89673 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
89674
89675         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
89676         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
89677         so `make install' also works in VPATH builds.
89678
89679 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
89680
89681         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
89682         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
89683         can be used in subdirectories.
89684
89685 2000-12-29  Paul Eggert  <eggert@twinsun.com>
89686
89687         * lib/modechange.c: Do not assume that mode_t uses the
89688         traditional octal encoding.  E.g. "chmod 1 FOO" should set
89689         the other-execute bit of FOO even if S_IXOTH != 1.
89690
89691         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
89692         WOTH, XOTH, ALLM): New macros.
89693         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
89694          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
89695         Use them.
89696         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
89697         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
89698         (mode_compile):
89699         No need to use uintmax_t; unsigned long is long enough.
89700         Don't bother to get suffix since we don't use it.
89701
89702 2000-12-26  Jim Meyering  <meyering@lucent.com>
89703
89704         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
89705         better with autoheader.
89706
89707 2000-12-24  Jim Meyering  <meyering@lucent.com>
89708
89709         * lib/hash.c (is_prime): Return explicit boolean values.
89710         (hash_get_first): Return NULL to appease Irix5.6's 89.
89711         Reported by Nelson Beebe.
89712
89713 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
89714
89715         * lib/localcharset.c (locale_charset): Add support for Win32.
89716
89717 2000-12-18  Paul Eggert  <eggert@twinsun.com>
89718
89719         * lib/physmem.h, lib/physmem.c: New files.
89720
89721         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
89722         (noinst_HEADERS): Add physmem.h.
89723
89724         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
89725         't' for compatibility with Solaris 8 sort.
89726
89727 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
89728
89729         * lib/config.charset: Add support for BeOS.
89730
89731 2000-12-17  Jim Meyering  <meyering@lucent.com>
89732
89733         * m4/dos.m4 (jm_AC_DOS): New file and macro.
89734         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
89735
89736 2000-12-16  Jim Meyering  <meyering@lucent.com>
89737
89738         This bug had a serious impact on chown: `chown N:M FILE' (for integer
89739         N and M) would have treated it like `chown N:N FILE'.
89740
89741         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
89742
89743 2000-12-16  Jim Meyering  <meyering@lucent.com>
89744
89745         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
89746         SHELLS_FILE to a file name that's useful on djgpp systems.
89747         Include stdlib.h.
89748         (ADDITIONAL_DEFAULT_SHELLS): Define.
89749         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
89750         Based mostly on a patch from Prashant TR.
89751
89752 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
89753
89754         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
89755         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
89756         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
89757
89758 2000-12-08  Andreas Schwab  <schwab@suse.de>
89759
89760         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
89761         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
89762
89763 2000-12-07  Jim Meyering  <meyering@lucent.com>
89764
89765         * lib/stripslash.c (ISSLASH): Define.
89766         (strip_trailing_slashes): Use ISSLASH rather than comparing against
89767         `/'.
89768         From Prashant TR.
89769
89770         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
89771         (dir_name_r): Declare this function as static.
89772         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
89773         manifest itself on a name containing a mix of slashes and
89774         backslashes.
89775         Make this function work with names starting with a DOS-style
89776         drive letter and colon prefix.
89777         (dir_name): Append `.' if necessary.
89778         Based mostly on patches from Prashant TR and Eli Zaretskii.
89779
89780         * lib/dirname.h (dir_name_r): Remove prototype.
89781
89782 2000-12-06  Paul Eggert  <eggert@twinsun.com>
89783
89784         * m4/off_t-format.m4: Remove this file.
89785         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
89786
89787 2000-12-06  Jim Meyering  <meyering@lucent.com>
89788
89789         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
89790         replacement strtoull, we may well need the replacement strtoul, too.
89791         Check for declarations of strtoul and strtoull.
89792         Check for strtol.  Mainly as a cue to cause automake to include
89793         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
89794         Check for limits.h -- strtol.c needs it.
89795
89796 2000-12-05  Jim Meyering  <meyering@lucent.com>
89797
89798         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
89799
89800 2000-12-04  Jim Meyering  <meyering@lucent.com>
89801
89802         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
89803         Also include memory.h, stdlib.h, unistd.h if appropriate.
89804         Reported by Andreas Jaeger (conflicting declaration of malloc).
89805
89806 2000-12-02  Jim Meyering  <meyering@lucent.com>
89807
89808         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
89809         * m4/jm-macros.m4 (jm_MACROS): require it.
89810
89811 2000-12-02  Jim Meyering  <meyering@lucent.com>
89812
89813         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
89814
89815 2000-12-01  Paul Eggert  <eggert@twinsun.com>
89816
89817         * lib/memrchr.c: Include <config.h> before any system include file.
89818
89819 2000-11-30  Jim Meyering  <meyering@lucent.com>
89820
89821         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
89822
89823 2000-11-30  Jim Meyering  <meyering@lucent.com>
89824
89825         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
89826
89827 2000-11-29  Paul Eggert  <eggert@twinsun.com>
89828
89829         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
89830
89831 2000-11-26  Jim Meyering  <meyering@lucent.com>
89832
89833         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
89834
89835 2000-11-22  Paul Eggert  <eggert@twinsun.com>
89836
89837         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
89838         size of (size_t) -1; it's not portable.
89839
89840 2000-11-17  Jim Meyering  <meyering@lucent.com>
89841
89842         * lib/strstr.c: Update from GNU libc.
89843
89844 2000-11-17  Akim Demaille  <akim@epita.fr>
89845
89846         * lib/obstack.h: Formatting changes.
89847         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
89848         prevent type checking.
89849         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
89850         cast the value to (void *): assigning a `foo *' to a `void *'
89851         variable is valid.
89852         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
89853
89854 2000-11-16  Jim Meyering  <meyering@lucent.com>
89855
89856         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
89857
89858 2000-11-11  Jim Meyering  <meyering@lucent.com>
89859
89860         * lib/error.c: Add a couple #includes, merging from GNU libc version.
89861
89862 2000-11-10  Jim Meyering  <meyering@lucent.com>
89863
89864         * lib/obstack.h: Update from GNU libc.
89865         * lib/obstack.c: Likewise.
89866
89867 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
89868
89869         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
89870
89871 2000-11-06  Paul Eggert  <eggert@twinsun.com>
89872
89873         * lib/getusershell.c (setusershell): Use rewind rather than
89874         fseek/fseeko, to avoid configuration hassles with fseeko.
89875         Don't bother opening SHELLS_FILE if shellstream is NULL;
89876         it's not necessary.
89877
89878 2000-11-05  Jim Meyering  <meyering@lucent.com>
89879
89880         * lib/makepath.h (make_dir): Declare.
89881         * lib/makepath.c (make_dir): Remove `static' attribute.
89882         Tweak a comment.
89883
89884 2000-11-04  Jim Meyering  <meyering@lucent.com>
89885
89886         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
89887
89888 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
89889
89890         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
89891         last one in a bucket, advance to the next bucket.
89892
89893 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
89894
89895         * lib/fnmatch.c: Do not comment out all the code if we are using
89896         the GNU C library, because in some cases we are replacing buggy
89897         code in the GNU C library itself.
89898
89899 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
89900
89901         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
89902         (regex_compile): Catch bogus \(\1\).
89903
89904 2000-10-30  Paul Eggert  <eggert@twinsun.com>
89905
89906         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
89907         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
89908         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
89909
89910 2000-10-30  Paul Eggert  <eggert@twinsun.com>
89911
89912         * lib/error.h, getline.h, modechange.h:
89913         Remove "2000" from Copyright line, as the file hasn't been
89914         changed this year other than in the copyright notice.
89915
89916         * lib/xalloc.h: Add "2000" to Copyright line, as this file
89917         was changed this year.
89918
89919 2000-10-29  Jim Meyering  <meyering@lucent.com>
89920
89921         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
89922         renaming.
89923         * m4/ls-mntd-fs.m4: Likewise
89924
89925 2000-10-29  Jim Meyering  <meyering@lucent.com>
89926
89927         * lib/xstat.in: Fix grammar in comment.
89928
89929 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
89930
89931         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
89932         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
89933         doesn't define __restrict_arr.
89934
89935 2000-10-28  Jim Meyering  <meyering@lucent.com>
89936
89937         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
89938         (jm_PREREQ_MEMCHR): New function.
89939
89940 2000-10-28  Jim Meyering  <meyering@lucent.com>
89941
89942         * lib/memchr.c: Update from libc.
89943         Adjust for portability:
89944         [HAVE_STDLIB_H]: Include stdlib.h.
89945         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
89946         Undef __memchr, too.
89947         [!weak_alias]: Define __memchr to memchr.
89948
89949         * lib/regex.c: Update from libc.
89950         * lib/regex.h: Likewise.
89951         * lib/getopt1.c: Likewise.
89952         * lib/memcmp.c: Likewise.
89953
89954         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
89955         Avoid using fseek, when possible -- it's broken by design.
89956         Patch by Ulrich Drepper.
89957
89958 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
89959
89960         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
89961         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
89962         Giving in to popular pressure to shut up the compiler with casts.
89963
89964 2000-10-26  Jim Meyering  <meyering@lucent.com>
89965
89966         * lib/strftime.c: Update from libc.
89967
89968 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
89969
89970         * regex.c: More `unsigned char' -> `re_char' changes.
89971         Also change several `int' into `re_wchar_t'.
89972         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
89973         (PUSH_FAILURE_POINTER): Don't cast any more.
89974         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
89975         We want GCC to complain, since this piece of code makes
89976         re_match non-reentrant, which *should* be fixed.
89977         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
89978         (EXTEND_BUFFER): Use RETALLOC.
89979         (SET_LIST_BIT): Don't cast.
89980         (re_wchar_t): New type.
89981         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
89982         that those two functions will always properly return.
89983         (IMMEDIATE_QUIT_CHECK): Cast to void.
89984         (analyse_first): Use recursion rather than an explicit stack.
89985         (re_compile_fastmap): Can't fail anymore.
89986         (re_search_2): Don't check re_compile_fastmap for failure.
89987         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
89988         Now also sets the new value (passed in a new argument).
89989         (re_match_2_internal): Use it.
89990         Also, use a new var `reg' of type size_t when looping through regs
89991         rather than reuse the inappropriate `mcnt'.
89992
89993 2000-10-25  Jim Meyering  <meyering@lucent.com>
89994
89995         * lib/obstack.c: Update from libc.
89996
89997 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
89998
89999         * regex.c (regex_compile): Change the way of handling a range from
90000         a char less than 256 to a char not less than 256.
90001
90002 2000-10-24  Andrew Innes  <andrewi@gnu.org>
90003
90004         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
90005         NT-Emacs only.
90006         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
90007         so that re_search functions only quit when callers expect them to.
90008
90009 2000-10-23  Jim Meyering  <meyering@lucent.com>
90010
90011         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
90012         wrong.  That set_locale call must not have any side effects.
90013         From Paul Eggert.
90014
90015 2000-10-22  Jim Meyering  <meyering@lucent.com>
90016
90017         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
90018         [CYCLIC]: Remove now-unused definition.
90019
90020         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
90021         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
90022         Suggestion from Ulrich Drepper.
90023
90024 2000-10-21  Jim Meyering  <meyering@lucent.com>
90025
90026         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
90027         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
90028         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
90029
90030 2000-10-21  Jim Meyering  <meyering@lucent.com>
90031
90032         * lib/dirname.c (memrchr): Declare if necessary.
90033         (dir_name): Remove the restriction that there be no
90034         trailing slashes.  Now, this code skips past them, effectively
90035         ignoring them.
90036         [TEST_DIRNAME] (main): New unit tests.
90037
90038         * lib/memrchr.c: New file from GNU libc.
90039         Undef __memrchr, too.
90040         [!weak_alias]: Define __memrchr to memrchr.
90041         Guard weak_alias use with `#ifdef weak_alias'.
90042
90043 2000-10-21  Jim Meyering  <meyering@lucent.com>
90044
90045         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
90046         (dir_name): Use dir_name_r.
90047         * lib/dirname.h (dir_name_r): Declare it.
90048
90049 2000-10-17  Jim Meyering  <meyering@lucent.com>
90050
90051         * lib/quote.h (PARAMS): Define and use.
90052         Reported by Akim Demaille.
90053
90054         * lib/getopt.c: Update from libc.
90055
90056 2000-10-16  Jim Meyering  <meyering@lucent.com>
90057
90058         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
90059         setlocale.
90060         From Jan Fedak.
90061
90062 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
90063
90064         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
90065
90066 2000-09-25  Jim Meyering  <meyering@lucent.com>
90067
90068         * lib/md5.h (rol): Define (from GnuPG).
90069
90070         * lib/sha.c: Give credit (GnuPG) where due.
90071         (M): Use rol rather than open-coding it.
90072         Add a FIXME comment.
90073
90074 2000-09-21  Jim Meyering  <meyering@lucent.com>
90075
90076         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
90077         Reported by Michael Stone.
90078
90079 2000-09-20  Jim Meyering  <meyering@lucent.com>
90080
90081         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
90082         (noinst_HEADERS): Add sha.h.
90083         Based on code from Scott G. Miller and from GnuPG.
90084
90085 2000-09-18  Jim Meyering  <meyering@lucent.com>
90086
90087         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
90088         LIBS. Otherwise, everyone ends up linking with -lelf for some
90089         configurations.
90090         Reported by Mike Stone.
90091
90092 2000-09-15  Jim Meyering  <meyering@lucent.com>
90093
90094         * lib/regex.c: Update from libc.
90095
90096 2000-09-10  Jim Meyering  <meyering@lucent.com>
90097
90098         * lib/getopt.c (_getopt_internal): Update from glibc.
90099
90100 2000-09-09  Jim Meyering  <meyering@lucent.com>
90101
90102         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
90103         think it should be used as a general replacement for isascii.
90104         * lib/fnmatch.c: Likewise.
90105         * lib/mbswidth.c: Likewise
90106         * lib/regex.c: Likewise.
90107
90108         Don't use atoi.
90109         * lib/userspec.c: Include sys/param.h and limits.h.
90110         Include xstrtol.h.
90111         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
90112         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
90113         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
90114         UID, GID.  Check range.
90115
90116 2000-09-06  Jim Meyering  <meyering@lucent.com>
90117
90118         * lib/getopt.c (_getopt_internal): Update from glibc.
90119
90120 2000-08-30  Jim Meyering  <meyering@lucent.com>
90121
90122         * lib/strftime.c: Merge in changes from GNU libc.
90123
90124 2000-08-26  Jim Meyering  <meyering@lucent.com>
90125
90126         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
90127         * m4/fpending.m4: New file.
90128
90129 2000-08-26  Jim Meyering  <meyering@lucent.com>
90130
90131         * lib/closeout.c: Include "__fpending.h".
90132         (close_stdout_status): Return right away if there's nothing to flush.
90133
90134         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
90135         * lib/__fpending.c: New file.
90136         * lib/__fpending.h: New file.
90137
90138 2000-08-20  Jim Meyering  <meyering@lucent.com>
90139
90140         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
90141         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
90142         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
90143
90144 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
90145
90146         Improve fileutils installation on systems where running
90147         programs (like install) can't be unlinked.
90148         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
90149         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
90150
90151 2000-08-07  Paul Eggert  <eggert@twinsun.com>
90152
90153         Standardize on "memory exhausted" instead of "Memory exhausted"
90154         or "virtual memory exhausted".
90155         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
90156         "virtual memory exhausted".
90157         * lib/same.c (same_name): Invoke xalloc_die instead of printing
90158         our own message.
90159         * lib/userspec.c (parse_user_spec): Likewise.
90160         * lib/bumpalloc.h: comment fix
90161         * lib/same.c, userspec.c: Include xalloc.h.
90162
90163         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
90164         not char *const and pointing to a constant array.
90165         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
90166         (xrealloc): Comment fix.
90167
90168         * lib/userspec.c (parse_user_spec):
90169         Don't translate a message until just before returning,
90170         to avoid unnecessary translation.
90171
90172 2000-08-07  Jim Meyering  <meyering@lucent.com>
90173
90174         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
90175         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
90176         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
90177         getgroups.c, gethostname.c, getopt.h, group-member.c,
90178         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
90179         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
90180         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
90181         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
90182         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
90183         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
90184         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
90185         yesno.c: Back out Copyright date changes for each file with no change
90186         this year.  This eases coordination with other programs using the same
90187         source code modules.  From Paul Eggert.
90188
90189 2000-08-06  Paul Eggert  <eggert@twinsun.com>
90190
90191         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
90192         not char, for compatibility with glibc 2.1.3 strftime.c.
90193
90194 2000-08-03  Greg McGary  <greg@mcgary.org>
90195
90196         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
90197         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
90198         (EXTEND_BUFFER): Use them.
90199
90200 2000-08-01  Jim Meyering  <meyering@lucent.com>
90201
90202         * lib/dirname.c (ISSLASH): Define.
90203         (BACKSLASH_IS_PATH_SEPARATOR): Define.
90204         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
90205         both `\' and `/' may be use as path separators.
90206         Based on a patch from Prashant TR.
90207
90208 2000-07-31  Paul Eggert  <eggert@twinsun.com>
90209
90210         * lib/quotearg.c (quotearg_n_options): Don't make the initial
90211         slot vector a constant, since it might get modified.
90212
90213 2000-07-31  Jim Meyering  <meyering@lucent.com>
90214
90215         * lib/xmalloc.c: Use `virtual memory exhausted', not
90216         `Memory exhausted'.
90217         * lib/obstack.c (print_and_abort): Likewise.
90218
90219 2000-07-30  Paul Eggert  <eggert@twinsun.com>
90220
90221         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
90222         buffer, so that the caller can always quote one small
90223         component of a "memory exhausted" message in slot 0.
90224         From a suggestion by Jim Meyering.
90225
90226 2000-07-30  Jim Meyering  <meyering@lucent.com>
90227
90228         * lib/makepath.c (make_path): Quote the other instance, too.
90229
90230         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
90231         (STATIC_BUF_SIZE): Define.
90232         (quotearg_n_options): Use only statically allocated storage when
90233         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
90234         than STATIC_BUF_SIZE.
90235
90236 2000-07-29  Jim Meyering  <meyering@lucent.com>
90237
90238         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
90239         * lib/dirname.c (dir_name): Likewise.
90240
90241         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
90242         `/'.
90243
90244         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
90245         (dir_name): Assert that there are no trailing slashes.
90246
90247 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
90248
90249         * lib/mbswidth.h (mbswidth): Add a flags argument.
90250         (mbswidth): New declaration.
90251         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
90252         * lib/mbswidth.c (mbswidth): Add a flags argument.
90253         (mbsnwidth): New function.
90254
90255 2000-07-24  Jim Meyering  <meyering@lucent.com>
90256
90257         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
90258
90259 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90260
90261         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
90262
90263 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90264
90265         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
90266         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
90267         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
90268         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
90269         invoke multibyte primitives.
90270
90271 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90272
90273         * lib/quotearg.c:
90274         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
90275         so that mbstate_t is always defined.
90276
90277         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
90278         be 1 in at least one GCC installation, and this configuration
90279         error is likely to be common.  Ignoring MB_LEN_MAX hurts
90280         performance on hosts that have mbrtowc but have only unibyte
90281         locales, but I assume these hosts are rare.
90282
90283 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90284
90285         * lib/mbswidth.c (_XOPEN_SOURCE):
90286         Don't define; this causes problems on Solaris 7.
90287         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
90288
90289 2000-07-23  Jim Meyering  <meyering@lucent.com>
90290
90291         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
90292         too: getgrgid, getpwuid, getuid.
90293
90294 2000-07-23  Jim Meyering  <meyering@lucent.com>
90295
90296         * lib/basename.c (base_name): Add an assertion.
90297
90298 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
90299
90300         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
90301         shadow its mbsinit function.
90302
90303 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
90304
90305         * lib/mbswidth.h: New file.
90306         * lib/mbswidth.c: New file.
90307         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
90308         (noinst_HEADERS): Add mbswidth.h.
90309
90310 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
90311
90312         * lib/config.charset: Add support for FreeBSD. Improve support for
90313         HP-UX and IRIX 6.
90314
90315 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
90316
90317         * m4/mbswidth.m4: New file.
90318         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
90319
90320 2000-07-15  Jim Meyering  <meyering@lucent.com>
90321
90322         * lib/makepath.c: Include quote.h.
90323         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
90324         corresponding argument in a `quote (...)' call.
90325         Give better diagnostics.
90326
90327         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
90328         (noinst_HEADERS): Add quote.h.
90329
90330         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
90331         from tar's src/misc.c.
90332         * lib/quote.h: New file.  Prototypes for same.
90333
90334 2000-07-14  Paul Eggert  <eggert@twinsun.com>
90335
90336         From a suggestion by Bruno Haible.
90337         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
90338         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
90339         to decide whether to define the BeOS workaround macro;
90340         this adjusts to the change to AC_MBSTATE_T.
90341
90342 2000-07-14  Jim Meyering  <meyering@lucent.com>
90343
90344         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
90345         jm_AC_TYPE_UINTMAX_T.
90346
90347 2000-07-13  Paul Eggert  <eggert@twinsun.com>
90348
90349         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
90350
90351         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
90352         quotearg_buffer_restyled): Add support for
90353         clocale_quoting_style.  Undo previous change to
90354         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
90355         and "{RIGHT QUOTATION MARK}" msgids.
90356
90357 2000-07-10  Paul Eggert  <eggert@twinsun.com>
90358
90359         From a suggestion by Bruno Haible.
90360         * m4/mbstate_t.m4 (AC_MBSTATE_T):
90361         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
90362         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
90363         and mbstate_t, to a single-part test that simply defines mbstate_t.
90364         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
90365         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
90366
90367 2000-07-10  Jim Meyering  <meyering@lucent.com>
90368
90369         * m4/strerror_r.m4: Mirror the correction made in autoconf.
90370
90371         * m4/gnu-source.m4: Output to confdefs.h directly.
90372         Suggestion from Akim Demaille.
90373
90374 2000-07-09  Paul Eggert  <eggert@twinsun.com>
90375
90376         The old behavior of quoting `like this' doesn't look good with
90377         newer, ISO-style fonts.  See:
90378         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
90379
90380         Instead, quote "like this" by default.  Let the translator
90381         tailor the locale-specific quoting behavior by providing
90382         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
90383
90384         * lib/quotearg.c (N_): New macro.
90385         (gettext_default): New function.
90386         (quotearg_buffer_restyled): Use
90387         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
90388         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
90389
90390 2000-07-09  Jim Meyering  <meyering@lucent.com>
90391
90392         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
90393         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
90394
90395         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
90396         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
90397
90398 2000-07-09  Jim Meyering  <meyering@lucent.com>
90399
90400         * lib/Most files: Update copyright dates to include 2000.
90401
90402 2000-07-08  Jim Meyering  <meyering@lucent.com>
90403
90404         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
90405         if not defined.
90406         (xgethostname): Remove now-unnecessary #ifdef.
90407         Move declaration of `err' into loop where it's used.
90408
90409 2000-07-05  Paul Eggert  <eggert@twinsun.com>
90410         and Bruno Haible  <haible@clisp.cons.org>
90411
90412         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
90413         only if the test for an object-type mbstate_t fails.  This
90414         prevents us from mistakenly reporting that mbstate_t is a
90415         system object type after we "#define mbstate_t int" to work
90416         around its lack.
90417
90418 2000-07-05  Paul Eggert  <eggert@twinsun.com>
90419         and Bruno Haible  <haible@clisp.cons.org>
90420
90421         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
90422
90423 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
90424
90425         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
90426         to strerror_r.
90427         Include <ctype.h> for use of isalpha.
90428
90429 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
90430
90431         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
90432         by allocating a larger buffer. Test the gethostname return value for
90433         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
90434         returns an error and ENAMETOOLONG isn't defined.
90435
90436 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
90437
90438         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
90439         dimension.
90440
90441 2000-07-04  Jim Meyering  <meyering@lucent.com>
90442
90443         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
90444         of the deprecated AC_CHECKING.
90445
90446 2000-07-04  Jim Meyering  <meyering@lucent.com>
90447
90448         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
90449         Reported by Bruno Haible.
90450
90451 2000-07-04  Jim Meyering  <meyering@lucent.com>
90452
90453         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
90454         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
90455         lacks mbrtowc.
90456
90457 2000-07-03  Paul Eggert  <eggert@twinsun.com>
90458
90459         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
90460         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
90461
90462 2000-07-03  Paul Eggert  <eggert@twinsun.com>
90463         and Bruno Haible  <haible@clisp.cons.org>
90464
90465         * lib/quotearg.c (mbrtowc):
90466         Assign to *pwc, and return 1 only if result is nonzero.
90467         (iswprint): Use ISPRINT when substituting our own mbrtowc.
90468
90469 2000-07-03  Jim Meyering  <meyering@lucent.com>
90470
90471         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
90472
90473 2000-07-03  Jim Meyering  <meyering@lucent.com>
90474
90475         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
90476         This is necessary to get a definition of e.g., UTMP_FILE on
90477         HP-UX 10.20.
90478         From Bob Proulx.
90479
90480 2000-07-02  Jim Meyering  <meyering@lucent.com>
90481
90482         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
90483
90484         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
90485         AC_LIBOBJ(function_name).
90486         * m4/chown.m4: Likewise.
90487         * m4/fnmatch.m4: Likewise.
90488         * m4/ftruncate.m4: Likewise.
90489         * m4/getgroups.m4: Likewise.
90490         * m4/getline.m4: Likewise.
90491         * m4/group-member.m4: Likewise.
90492         * m4/jm-macros.m4: Likewise.
90493         * m4/lstat.m4: Likewise.
90494         * m4/malloc.m4: Likewise.
90495         * m4/memcmp.m4: Likewise.
90496         * m4/nanosleep.m4: Likewise.
90497         * m4/putenv.m4: Likewise.
90498         * m4/realloc.m4: Likewise.
90499         * m4/regex.m4: Likewise.
90500         * m4/stat.m4: Likewise.
90501         * m4/strftime.m4: Likewise.
90502
90503 2000-07-02  Jim Meyering  <meyering@lucent.com>
90504
90505         * lib/quotearg.c (mbstate_t): Don't define here.
90506
90507 2000-07-02  Jim Meyering  <meyering@lucent.com>
90508
90509         * lib/nanosleep.c (SIGCONT): Define if not already defined.
90510
90511 2000-07-01  Jim Meyering  <meyering@lucent.com>
90512
90513         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
90514
90515 2000-07-01  Jim Meyering  <meyering@lucent.com>
90516
90517         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
90518         problem.
90519
90520 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
90521
90522         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
90523         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
90524
90525 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
90526
90527         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
90528         per change in ../m4/ls-mntd-fs.m4.
90529         (read_filesystem_list): Ignore symbolic links.
90530
90531 2000-06-29  Jim Meyering  <meyering@lucent.com>
90532
90533         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
90534         for declaration of strcmp.
90535
90536         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
90537
90538         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
90539         Avoid warning by casting result to `char *' to remove `const'.
90540
90541 2000-06-28  Jim Meyering  <meyering@lucent.com>
90542
90543         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
90544         included by quotearg.c, for which we perform this test.  From
90545         Bruno Haible.
90546
90547 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
90548
90549         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
90550         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
90551         <utmpx.h> exists, put readutmp.o into LIBOBJS.
90552
90553 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
90554
90555         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
90556
90557 2000-06-26  Paul Eggert  <eggert@twinsun.com>
90558
90559         savedir now sets errno on failure and invokes xmalloc to get memory.
90560         Fix a couple of other minor bugs while we're at it.
90561
90562         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
90563         (NAMLEN): Remove macro.
90564         (malloc, realloc): Remove decls.
90565         (stpcpy): Likewise.
90566         ("xalloc.h"): Include.
90567         (NAME_SIZE_DEFAULT): New macro.
90568         (savedir): Use xmalloc / xrealloc to allocate memory.
90569         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
90570         Skip "" directory entries.
90571         Use strlen to calculate directory entry length, since the old method
90572         is rarely used these days and isn't worth supporting.
90573         Don't use a pointer after freeing it.
90574         Check for integer overflow when calculating allocation size.
90575         Use memcpy to copy entries, instead of stpcpy.
90576         Set errno properly when returning NULL.
90577         Check for readdir error.
90578
90579 2000-06-26  Jim Meyering  <meyering@lucent.com>
90580
90581         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
90582
90583 2000-06-25  Jim Meyering  <meyering@lucent.com>
90584
90585         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
90586         Linux header bug when _XOPEN_SOURCE is defined to 500.
90587
90588 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
90589
90590         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
90591         deficiency.
90592
90593 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
90594
90595         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
90596         Include xalloc.h.
90597         Don't include <stdlib.h>.  Don't declare malloc, realloc.
90598
90599 2000-06-24  Jim Meyering  <meyering@lucent.com>
90600
90601         * m4/strerror_r.m4: Revive this file -- to try out an experimental
90602         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
90603         for which strerror does return char*, but which lacks a conveniently
90604         accessible declaration of the function.  If the compile-test says
90605         strerror_r doesn't work, then resort to a `run'-test that works on
90606         BeOS and segfaults on DEC Unix.
90607
90608 2000-06-24  Jim Meyering  <meyering@lucent.com>
90609
90610         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
90611
90612 2000-06-23  Paul Eggert  <eggert@twinsun.com>
90613
90614         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
90615         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
90616
90617 2000-06-23  Paul Eggert  <eggert@twinsun.com>
90618
90619         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
90620         (mbrtowc, mbstate_t): Define substitutes if
90621         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
90622         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
90623         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
90624
90625 2000-06-23  Jim Meyering  <meyering@lucent.com>
90626
90627         * m4/afs.m4: Add missing AC_MSG_RESULT.
90628         Reported by Bruno Haible.
90629
90630         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
90631         Suggestion from Bruno Haible.
90632
90633 2000-06-23  Jim Meyering  <meyering@lucent.com>
90634
90635         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
90636
90637 2000-06-21  Jim Meyering  <meyering@lucent.com>
90638
90639         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
90640
90641 2000-06-21  Jim Meyering  <meyering@lucent.com>
90642
90643         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
90644         (noinst_HEADERS): Add getstr.h.
90645
90646         * lib/getline.c (getstr): Move into a separate file.
90647         * lib/getstr.c (getstr): New file, extracted from getline.c, with
90648         the following changes: new parameter, delim2; both delim[12]
90649         parameters have type `int', not `char'.  The latter would lose
90650         with 8-bit delimiters.
90651         * lib/getstr.h: New file.
90652
90653 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
90654
90655         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
90656         than 1024, return a memory chunk of least possible size, instead
90657         of size PATH_MAX + 2. In the loop, increment the size proportionally.
90658         Use free/xmalloc instead of xrealloc to avoid copying for very long
90659         paths.
90660
90661 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
90662
90663         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
90664         the empty string.
90665
90666 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
90667
90668         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
90669         address, not strdup.  Include <stdlib.h> and don't declare free().
90670
90671 2000-06-19  Jim Meyering  <meyering@lucent.com>
90672
90673         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
90674
90675 2000-06-18  Jim Meyering  <meyering@lucent.com>
90676
90677         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
90678
90679         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
90680         `checking whether...' message to be consistent with that of the
90681         lstat test.
90682
90683 2000-06-18  Jim Meyering  <meyering@lucent.com>
90684
90685         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
90686         Besides, these days every porting target provides a mkdir function.
90687
90688         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
90689         needed. (this snippet comes from src/system.h).
90690
90691 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
90692
90693         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
90694
90695 2000-06-15  Paul Eggert  <eggert@twinsun.com>
90696
90697         * lib/human.c (adjust_value): New function.
90698         (human_readable_inexact): Apply rounding style even when
90699         printing approximate values.
90700
90701 2000-06-14  Paul Eggert  <eggert@twinsun.com>
90702
90703         * lib/human.c (human_readable_inexact): Allow an input block
90704         size that is not a multiple of the output block size, and vice versa.
90705         Reported by Piergiorgio Sartor.
90706
90707 2000-06-14  Paul Eggert  <eggert@twinsun.com>
90708
90709         * lib/getdate.y (get_date): Apply relative times after time
90710         zone indicator, not before.  Reported by Todd A. Jacobs.
90711
90712 2000-06-13  Jim Meyering  <meyering@lucent.com>
90713
90714         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
90715
90716         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
90717
90718 2000-06-12  Paul Eggert  <eggert@twinsun.com>
90719
90720         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
90721
90722 2000-06-12  Jim Meyering  <meyering@lucent.com>
90723
90724         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
90725         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
90726         optional argument.
90727         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
90728         the optional argument, `lib'.
90729
90730 2000-06-08  Jim Meyering  <meyering@lucent.com>
90731
90732         * m4/largefile.m4: Remove file (now that it's part of autoconf).
90733
90734 2000-06-04  Paul Eggert  <eggert@twinsun.com>
90735
90736         Rewrite largefile configuration so that we don't need to run
90737         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
90738         AC_CANONICAL_HOST in configure.in -- jmm]
90739
90740         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
90741         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
90742         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
90743         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
90744         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
90745         All uses changed.
90746         Instead of inspecting the output of getconf, try to compile the
90747         test program without and with the macro definition.
90748         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
90749         for getconf.  Instead, check for the needed flags by compiling
90750         test programs.
90751
90752 2000-06-04  Paul Eggert  <eggert@twinsun.com>
90753
90754         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
90755
90756 2000-06-04  Jim Meyering  <meyering@lucent.com>
90757
90758         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
90759         SunOS 4.1.4 for which gid_t is an unsigned type.
90760
90761 2000-06-03  Jim Meyering  <meyering@lucent.com>
90762
90763         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
90764         now that autoconf requires that.
90765
90766         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
90767         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
90768         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
90769
90770 2000-06-03  Jim Meyering  <meyering@lucent.com>
90771
90772         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
90773
90774 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
90775
90776         * m4/glibc21.m4: New file.
90777         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
90778
90779 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
90780
90781         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
90782         newer, don't install charset.alias.
90783         * lib/config.charset: Change the Linux/glibc rules so they become empty
90784         on glibc-2.1 or newer.
90785
90786 2000-06-02  Jim Meyering  <meyering@lucent.com>
90787
90788         * lib/mountlist.c: Back out last change.  Instead, do this...
90789         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
90790         me_dummy member using the same `ignore'-testing code.
90791         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
90792         fs_type strings.
90793         From Mark D. Roth.
90794
90795 2000-05-29  Jim Meyering  <meyering@lucent.com>
90796
90797         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
90798         mounts with the `ignore' attribute.  Based on a patch from
90799         Mark D. Roth.
90800
90801 2000-05-28  Jim Meyering  <meyering@lucent.com>
90802
90803         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
90804         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
90805         * m4/stat.m4: Likewise.
90806         * m4/lstat.m4: Likewise.
90807         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
90808
90809         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
90810         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
90811
90812 2000-05-26  Jim Meyering  <meyering@lucent.com>
90813
90814         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
90815
90816 2000-05-24  Jim Meyering  <meyering@lucent.com>
90817
90818         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
90819         autoconf requires that.
90820         * m4/lib-check.m4: Likewise.
90821         * m4/jm-macros.m4: Likewise.
90822         * m4/strftime.m4: Likewise.
90823
90824         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
90825         AC_CHECK_DECLS, now that autoconf requires that.
90826
90827 2000-05-22  Jim Meyering  <meyering@lucent.com>
90828
90829         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
90830         * m4/lstat.m4: Likewise.
90831
90832 2000-05-22  Jim Meyering  <meyering@lucent.com>
90833
90834         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
90835
90836 2000-05-20  Jim Meyering  <meyering@lucent.com>
90837
90838         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
90839         (jm_PREREQ): Use it.
90840
90841 2000-05-18  Jim Meyering  <meyering@lucent.com>
90842
90843         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
90844         back, too, since it may have been modified by allocate_entry.
90845         (hash_delete): Rewrite to use neither the assignment operator
90846         nor the comma operator in an if-expression.
90847
90848 2000-05-15  Paul Eggert  <eggert@twinsun.com>
90849
90850         * lib/closeout.c:
90851         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
90852         Remove; no longer needed.
90853         "quotearg.h": Add include.
90854         (file_name): Do not bother to explicitly initialize to NULL; it's less
90855         efficient on some hosts.
90856         (close_stdout_status): Remove test as to whether stdout was already
90857         closed; it breaks for the case "echo x | sort >&-".
90858         Quote file name colons.
90859         Do not assume that _("write error") lacks format strings.
90860
90861 2000-05-15  Jim Meyering  <meyering@lucent.com>
90862
90863         * lib/version-etc.c (version_etc_copyright): Update the copyright
90864         string used in all --version output.
90865
90866 2000-05-14  Jim Meyering  <meyering@lucent.com>
90867
90868         * lib/closeout.c (close_stdout_set_file_name): New function.
90869         (close_stdout_status): Use new file-scoped global.
90870         Return right away if fstat says the stdout file descriptor is invalid.
90871         * lib/closeout.h (close_stdout_set_file_name): Declare.
90872
90873 2000-05-10  Jim Meyering  <meyering@lucent.com>
90874
90875         * lib/closeout.c [default_exit_status]: New file-scoped variable.
90876         (close_stdout_set_status): New function.
90877         * lib/closeout.h (close_stdout_set_status): Declare.
90878
90879 2000-05-09  Jim Meyering  <meyering@lucent.com>
90880
90881         * m4/gettext.m4: Rename this...
90882         * m4/libintl.m4: ...to this.
90883
90884 2000-05-08  Jim Meyering  <meyering@lucent.com>
90885
90886         * lib/long-options.c: Don't include closeout.h.
90887         (parse_long_options): Don't call close_stdout for --version.
90888
90889 2000-05-06  Paul Eggert  <eggert@twinsun.com>
90890
90891         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
90892         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
90893         2.1.3 bug.  This avoids a clash when files like regex.c define
90894         _GNU_SOURCE.
90895
90896 2000-05-06  Jim Meyering  <meyering@lucent.com>
90897
90898         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
90899         (AC_REPLACE_FUNCS): Add strnlen.
90900
90901         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
90902         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
90903
90904         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
90905         AC_SEARCH_LIBS call for nanosleep.
90906         (LIB_NANOSLEEP): Set and AC_SUBST.
90907
90908 2000-05-06  Jim Meyering  <meyering@lucent.com>
90909
90910         * lib/strnlen.c: Undefine __strnlen and strnlen.
90911         [!weak_alias]: Define __strnlen to strnlen.
90912
90913         * lib/atexit.c: New file, from libiberty.
90914
90915 2000-05-06  Jim Meyering  <meyering@lucent.com>
90916
90917         * lib/closeout.c (close_stdout_status): Also check for errors on the
90918         stderr stream.
90919
90920 2000-05-05  Jim Meyering  <meyering@lucent.com>
90921
90922         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
90923         AC_SEARCH_LIBS call for clock_gettime.
90924         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
90925
90926         * m4/search-libs.m4: Update from autoconf.
90927
90928         su doesn't work on Solaris 2.6.
90929         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
90930         <shadow.h>.  Reported by Dragos Harabor.
90931
90932 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
90933
90934         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
90935         memcpy instead of xmalloc, xrealloc, path_concat.
90936         (locale_charset): Treat empty environment variables as absent.
90937         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
90938
90939 2000-05-04  Jim Meyering  <meyering@lucent.com>
90940
90941         * lib/getopt.c: Update from glibc.
90942         * lib/obstack.c: Likewise.
90943         * lib/obstack.h: Likewise.
90944         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
90945         file
90946
90947         * lib/regex.h: Likewise.
90948         * lib/strndup.c: Likewise.
90949         * lib/strnlen.c: New file, from glibc.
90950
90951 2000-05-03  Jim Meyering  <meyering@lucent.com>
90952
90953         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
90954
90955 2000-05-02  Paul Eggert  <eggert@twinsun.com>
90956
90957         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
90958         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
90959         compile-time test, rather than inspecting host and OS, to
90960         decide whether to define _LARGEFILE_SOURCE.
90961
90962 2000-05-01  Jim Meyering  <meyering@lucent.com>
90963
90964         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
90965
90966         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
90967         Based on a patch from Bruno Haible.
90968
90969 2000-05-01  Jim Meyering  <meyering@lucent.com>
90970
90971         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
90972
90973 2000-04-29  Jim Meyering  <meyering@lucent.com>
90974
90975         * lib/path-concat.c: Declare strdup only if it's not defined.
90976         * lib/canon-host.c: Likewise.
90977
90978 2000-04-28  Jim Meyering  <meyering@lucent.com>
90979
90980         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
90981         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
90982         is included first, then limits.h is included by locale.h by libintl.h.
90983         From John David Anglin.
90984
90985 2000-04-25  Jim Meyering  <meyering@lucent.com>
90986
90987         * lib/makepath.c (S_IRWXUGO): Define.
90988         (make_path): Always perform explicit chmod if MODE specifies any
90989         of the `special' permission bits.  Prompted by a bug report against
90990         install from Mate Wierdl and Joost van Baal.
90991
90992 2000-04-18  Jim Meyering  <meyering@lucent.com>
90993
90994         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
90995         (jm_PREREQ): Use it.
90996
90997 2000-04-18  Jim Meyering  <meyering@lucent.com>
90998
90999         * lib/README: New file.
91000
91001         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
91002         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
91003
91004 2000-04-17  Jim Meyering  <meyering@lucent.com>
91005
91006         Get it right :-)
91007         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
91008         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
91009         Suggestion from Akim Demaille.
91010
91011 2000-04-17  Jim Meyering  <meyering@lucent.com>
91012
91013         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
91014         the definition of it to rpl_strftime also defined-away the system's
91015         declaration.
91016
91017 2000-04-15  Jim Meyering  <meyering@lucent.com>
91018
91019         Use `C' to denote so-called `contiguous' files, the same way
91020         that tar does.
91021         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
91022         (ftypelet): Use S_ISCTG.
91023         From Michael Deutschmann.
91024
91025 2000-04-14  Jim Meyering  <meyering@lucent.com>
91026
91027         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
91028         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
91029         clobbered.
91030
91031 2000-04-14  Jim Meyering  <meyering@lucent.com>
91032
91033         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
91034
91035 2000-04-13  Jim Meyering  <meyering@lucent.com>
91036
91037         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
91038         AH_VERBATIM to insert required #ifndef into config.h.in.
91039         Suggestion from Akim Demaille.
91040
91041 2000-04-12  Jim Meyering  <meyering@lucent.com>
91042
91043         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
91044         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
91045         Christian Krackowizer.
91046
91047         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
91048         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
91049         (AC_SYS_LARGEFILE): Require.
91050         (AM_C_PROTOTYPES): Require.
91051
91052 2000-04-08  Jim Meyering  <meyering@lucent.com>
91053
91054         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
91055         names don't conflict.  Reported by Eli Zaretskii.
91056
91057 2000-04-07  Jim Meyering  <meyering@lucent.com>
91058
91059         * lib/putenv.c: Move inclusion of errno.h so it follows that of
91060         sys/types.h, to work around system header problems on AIX 3.2.5.
91061         From Bruno Haible.
91062
91063 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
91064
91065         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
91066         bug.  Deal with the different error behavior of Irix iconv.
91067
91068 2000-04-05  Paul Eggert  <eggert@twinsun.com>
91069
91070         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
91071         IRIX if the installer said otherwise.
91072
91073 2000-04-05  Jim Meyering  <meyering@lucent.com>
91074
91075         Portability tweaks required for ultrix4.3.
91076         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
91077         (jm_CHECK_DECLS): Add getutent to the list of functions.
91078         (_jm_DECL_HEADERS): Add utmpx.h.
91079         From John David Anglin.
91080
91081         * m4/strftime.m4: Back out the 2000-04-02 change.
91082         Instead of that change, simply undefine putenv in the test program.
91083
91084 2000-04-05  Jim Meyering  <meyering@lucent.com>
91085
91086         Portability tweaks required for ultrix4.3.
91087         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
91088         getutent.
91089         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
91090         * lib/canon-host.c: Declare strdup.
91091         * lib/path-concat.c: Likewise.
91092         From John David Anglin.
91093
91094 2000-04-04  Jim Meyering  <meyering@lucent.com>
91095
91096         Be more DOS 8.3-friendly.
91097         * lib/ref-add.sin: Renamed from ref-add.sed.in.
91098         * lib/ref-del.sin: Renamed from ref-del.sed.in.
91099         * lib/Makefile.am: Reflect renaming.
91100         Reported by Eli Zaretskii.
91101
91102         Use a temporary file name that won't clash with `charset.alias'
91103         in the DOS 8.3 name space.
91104         * lib/Makefile.am (charset_tmp): Define.
91105         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
91106         (uninstall-local): Likewise.
91107         Reported by Eli Zaretskii.
91108
91109 2000-04-03  Jim Meyering  <meyering@lucent.com>
91110
91111         * m4/gettext.m4: Fix typo in comment.
91112
91113         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
91114         textutils/configure.in).  Suggestion from Paul Eggert.
91115         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
91116
91117 2000-04-02  Paul Eggert  <eggert@twinsun.com>
91118
91119         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
91120         variable in the shell rather than using putenv, which isn't
91121         portable.  This avoids the configure-time inter-test dependency
91122         on the potentially-renamed putenv function.
91123
91124 2000-03-30  Paul Eggert  <eggert@twinsun.com>
91125
91126         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
91127         before checking struct stat.st_blksize, so that
91128         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
91129
91130 2000-03-29  Paul Eggert  <eggert@twinsun.com>
91131
91132         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
91133         since strftime.c uses HAVE_STRFTIME to decide whether to use
91134         the underlying strftime.
91135
91136 2000-03-29  Paul Eggert  <eggert@twinsun.com>
91137
91138         * lib/time/strftime.c (my_strftime): Make sure we call the system
91139         strftime, not ourselves, when invoking the underlying strftime.
91140
91141 2000-03-24  Jim Meyering  <meyering@lucent.com>
91142
91143         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
91144         (charset_alias): Define.
91145         (install-exec-local): Factor out common code.
91146         (uninstall-local): Split lines longer than 80.
91147         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
91148         (SUFFIXES): Define.
91149         (.sed.in.sed): New rule.  Don't redirect directly to $@.
91150         (CLEANFILES): Add ref-add.sed and ref-del.sed.
91151
91152 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
91153
91154         * lib/config.charset: Output a line containing "Packages using this
91155         file".
91156         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
91157         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
91158         ref-del.sed): New rules.
91159
91160 2000-03-17  Jim Meyering  <meyering@lucent.com>
91161
91162         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
91163         Otherwise, include <strings.h>
91164
91165 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
91166
91167         * lib/unicodeio.c (utf8_wctomb): New function.
91168         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
91169         format instead of in UCS-4 with platform dependent endianness.
91170
91171 2000-03-10  Jim Meyering  <meyering@lucent.com>
91172
91173         * m4/lib-check.m4: Look for getspnam in -lgen, too.
91174         From Marco Franzen.
91175
91176 2000-03-07  Paul Eggert  <eggert@twinsun.com>
91177
91178         * lib/savedir.c (savedir): Work even if directory size is
91179         negative; this can happen with some screwy NFS configurations.
91180
91181 2000-03-06  Jim Meyering  <meyering@lucent.com>
91182
91183         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
91184         if it's NULL (because we ran out of memory).  From Bruno Haible.
91185
91186 2000-03-05  Jim Meyering  <meyering@lucent.com>
91187
91188         * lib/localcharset.c ("path-concat.h"): Include.
91189         (get_charset_aliases): Use path_concat instead of ANSI string
91190         concatenation.
91191
91192         * lib/unicodeio.h (PARAMS): Define.
91193         Use it to guard prototype.
91194
91195 2000-03-04  Jim Meyering  <meyering@lucent.com>
91196
91197         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
91198         for lib/localcharset.c.
91199
91200 2000-03-04  Jim Meyering  <meyering@lucent.com>
91201
91202         * lib/Makefile.am (install-exec-local): Create $(libdir) before
91203         installing into it.
91204         (uninstall-local): Uncomment this rule so `make distcheck' works
91205         once again.
91206
91207         * lib/unicodeio.c (<errno.h>): Include it.
91208         (errno): Declare if not defined.
91209
91210         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
91211
91212         * lib/config.charset: New version, incorporating remarks from a linux
91213         i18n mailing list.  From Bruno Haible.
91214
91215 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
91216
91217         * m4/codeset.m4: New file.
91218         * m4/iconv.m4: New file.
91219         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
91220
91221 2000-03-03  Jim Meyering  <meyering@lucent.com>
91222
91223         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
91224
91225 2000-03-02  Jim Meyering  <meyering@lucent.com>
91226
91227         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
91228         the messages come out on separate lines.
91229
91230         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
91231         rather than jm_CHECK_DECLARATIONS.
91232         * m4/decl.m4: Remove now-unused file.
91233
91234         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
91235         geteuid.
91236
91237 2000-03-02  Jim Meyering  <meyering@lucent.com>
91238
91239         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
91240
91241 2000-03-01  Jim Meyering  <meyering@lucent.com>
91242
91243         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
91244         * lib/unicodeio.c: Likewise.
91245
91246 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
91247
91248         * lib/config.charset: New file.
91249         * lib/localcharset.c: New file.
91250         * lib/unicodeio.h, lib/unicodeio.c: New files.
91251         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
91252         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
91253         (noinst_HEADERS): Add unicodeio.h.
91254         (all-local, install-exec-local, charset.alias): New targets.
91255
91256 2000-02-28  Paul Eggert  <eggert@twinsun.com>
91257
91258         * lib/quotearg.c (ALERT_CHAR): New macro.
91259         (quotearg_buffer_restyled): Use it.
91260
91261 2000-02-27  Jim Meyering  <meyering@lucent.com>
91262
91263         * m4/check-decl.m4: Add getenv to the list.
91264
91265 2000-02-27  Jim Meyering  <meyering@lucent.com>
91266
91267         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
91268         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
91269
91270         * lib/backupfile.c: Guard inclusion of stdlib.h with
91271         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
91272         Declare malloc if needed.
91273
91274         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
91275         `#ifndef HAVE_DECL..'
91276         now that autoconf always defines the HAVE_DECL_ symbols.
91277         * lib/human.c: Likewise.
91278         * lib/same.c: Likewise.
91279         * lib/strtoumax.c: Likewise.
91280
91281         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
91282         declaration check was not run.
91283         * lib/hash.c: Likewise.
91284         * lib/human.c: Likewise.
91285         * lib/same.c: Likewise.
91286         * lib/strtoumax.c: Likewise.
91287
91288         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
91289         `.', then first look up the entire `.'-containing string as a login
91290         name.
91291
91292 2000-02-23  Jim Meyering  <meyering@lucent.com>
91293
91294         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
91295         in place of my hack.
91296
91297 2000-02-18  Paul Eggert  <eggert@twinsun.com>
91298
91299         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
91300         (textint): New typedef.
91301         (parser_control): Member year changed from int to textint.
91302         All uses changed.
91303         (YYSTYPE): Removed; replaced by %union with int and textint members.
91304         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
91305         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
91306         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
91307         (tSNUMBER, tUNUMBER): Now of type <textintval>.
91308         (date, number, to_year): Use width of number in digits, not its value,
91309         to determine whether it's a 2-digit year, or a 2-digit time.
91310         (yylex): Store number of digits of numeric tokens.
91311         Reported by John Kendall.
91312
91313         (parser_control): Changed from struct parser_control to typedef (for
91314         consistency).  All uses changed.
91315
91316         (tID): Removed; not used.
91317         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
91318
91319 2000-02-14  Paul Eggert  <eggert@twinsun.com>
91320
91321         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
91322         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
91323
91324 2000-02-12  Jim Meyering  <meyering@lucent.com>
91325
91326         * lib/userspec.c (ISDIGIT): Define it.
91327         (isdigit): Remove definition.
91328         (is_number): Use ISDIGIT, not isdigit.
91329         <libintl.h>: Include.
91330         (_ and N_): Define.
91331         (parse_user_spec): Mark translatable strings.
91332
91333 2000-02-10  Jim Meyering  <meyering@lucent.com>
91334
91335         With these changes, nanosleep.[ch] are finally enough like the other
91336         lib/* replacement files to compile on a few more losing systems.
91337
91338         * lib/nanosleep.h: Don't include config.h.
91339         Remove prototype from declaration of nanosleep.
91340         (PARAMS): Remove now-unneeded definition.
91341         * lib/nanosleep.c: #undef nanosleep.
91342         (rpl_nanosleep): Rename from nanosleep.
91343
91344 2000-02-10  Jim Meyering  <meyering@lucent.com>
91345
91346         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
91347         gnu_nanosleep to rpl_nanosleep.
91348
91349 2000-02-09  Jim Meyering  <meyering@lucent.com>
91350
91351         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
91352         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
91353
91354 2000-02-08  Akim Demaille  <akim@epita.fr>
91355
91356         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
91357         `[' and `]' and remove uses of `changequote'.
91358         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
91359         (AC_SYS_LARGEFILE): Likewise.
91360         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
91361         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
91362         of changequote.
91363         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
91364         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
91365         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
91366         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
91367
91368 2000-02-05  Jim Meyering  <meyering@lucent.com>
91369
91370         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
91371         Remove explicit use of AC_HEADER_TIME.  It is required by
91372         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
91373         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
91374         in autoconf whereby the expansion of the latter ended up preceding
91375         the expansion of its prerequisite, AC_HEADER_TIME.
91376         Reported by Volker Borchert.
91377
91378 2000-02-03  Jim Meyering  <meyering@lucent.com>
91379
91380         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
91381
91382 2000-02-03  Jim Meyering  <meyering@lucent.com>
91383
91384         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
91385         rather than with `#if HAVE_UTMPNAME'.
91386
91387 2000-02-02  Jim Meyering  <meyering@lucent.com>
91388
91389         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
91390         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
91391         Reported by Eli Zaretskii.
91392
91393 2000-02-01  Jim Meyering  <meyering@lucent.com>
91394
91395         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
91396
91397 2000-01-31  Jim Meyering  <meyering@lucent.com>
91398
91399         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
91400         functions.  Add the time.h and sys/time.h headers along with the
91401         AC_REQUIRE'ment of AC_HEADER_TIME.
91402
91403 2000-01-31  Jim Meyering  <meyering@lucent.com>
91404
91405         * lib/nanosleep.h (nanosleep): Guard declaration with
91406         `#if ! HAVE_DECL_NANOSLEEP'.
91407         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
91408         the declaration in that vendor's sys/timers.h.
91409         Reported by Christian Krackowizer.
91410
91411         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
91412         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
91413         (ISPRINT): Likewise.
91414         Reported by Tom Tromey.
91415
91416 2000-01-30  Jim Meyering  <meyering@lucent.com>
91417
91418         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
91419
91420         * m4/prereq.m4 (utmp_includes): Define.
91421         Check for ut_user and ut_name members in both struct utmpx
91422         and struct utmp.
91423
91424 2000-01-30  Jim Meyering  <meyering@lucent.com>
91425
91426         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
91427         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
91428         header files where only utmpx.ut_user is declared.
91429
91430         * lib/readutmp.h (UT_USER): Define.
91431
91432 2000-01-29  Jim Meyering  <meyering@lucent.com>
91433
91434         * m4/lib-check.m4: New file containing library-related checks from
91435         fileutils and sh-utils (textutils had none).
91436
91437 2000-01-28  Jim Meyering  <meyering@lucent.com>
91438
91439         * m4/perl.m4: Change format of warning message to look more like that
91440         from the missing script.  Suggestion from François Pinard.
91441
91442 2000-01-25  Jim Meyering  <meyering@lucent.com>
91443
91444         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
91445         well as time.h in the compile check.
91446         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
91447         Fix typo in cross-compiling case: s/yes/no/.
91448
91449 2000-01-23  Jim Meyering  <meyering@lucent.com>
91450
91451         * m4/jm-macros.m4: Move df-related tests here from
91452         fileutils/configure.in
91453
91454         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
91455         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
91456
91457         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
91458         s/space/ac_fsusage_space/.
91459         (jm_FILE_SYSTEM_USAGE): Take two parameters.
91460
91461         * m4/ftruncate.m4: New file (derived from part of
91462         fileutils/configure.in).
91463         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
91464         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
91465
91466         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
91467         AC_SUBST these here, rather than just in sh-util/configure.in, so
91468         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
91469         all the same.
91470         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
91471         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
91472         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
91473         (AC_SUBST(POW_LIBM)): Likewise.
91474         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
91475
91476 2000-01-23  Jim Meyering  <meyering@lucent.com>
91477
91478         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
91479         obstack.c.
91480
91481 2000-01-22  Jim Meyering  <meyering@lucent.com>
91482
91483         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
91484
91485         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
91486
91487         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
91488         configure.in
91489         (AC_CHECK_HEADERS): Likewise for sh-utils.
91490         (AC_CHECK_HEADERS): Likewise for textutils.
91491         Merge the three lists of headers.
91492
91493         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
91494         from fileutils' configure.in.
91495
91496         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
91497         code. Moved tests into their own function (_jm_DECL_HEADERS) in
91498         check-decl.m4.
91499
91500         * m4/check-decl.m4: Use #if rather than #ifdef.
91501         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
91502         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
91503         (_jm_DECL_HEADERS): Define new function.
91504         (jm_CHECK_DECLARATIONS): Require it.
91505
91506 2000-01-22  Jim Meyering  <meyering@lucent.com>
91507
91508         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
91509         [! HAVE_DECL_STRTOULL]: Declare strtoull.
91510         Required for some AIX systems.  Reported by Christian Krackowizer.
91511         [TESTING] (main): New function.
91512
91513         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
91514         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
91515         letters.
91516
91517         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
91518         iswprint.
91519
91520         * lib/strverscmp.c (ISDIGIT): Define.
91521         (strverscmp): Use ISDIGIT, not isdigit.
91522
91523 2000-01-19  Jim Meyering  <meyering@lucent.com>
91524
91525         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
91526         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
91527         defines `struct timespec' in <sys/time.h>
91528
91529         * m4/c-bs-a.m4: Remove uses of changequote altogether.
91530         Thanks to Akim for explaining.
91531
91532 2000-01-17  Paul Eggert  <eggert@twinsun.com>
91533
91534         * lib/nanosleep.c (nanosleep):
91535         Don't use SA_INTERRUPT to decide whether to call sigaction, as
91536         POSIX.1 doesn't require SA_INTERRUPT and some systems
91537         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
91538         it's been part of POSIX.1 since day 1 (in 1988).
91539
91540 2000-01-17  Jim Meyering  <meyering@lucent.com>
91541
91542         * lib/interlock: Remove unused file.  Reported by François Pinard.
91543
91544 2000-01-16  Paul Eggert  <eggert@twinsun.com>
91545
91546         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
91547         alert, backslash, formfeed, and vertical tab unnecessarily in
91548         shell quoting style.
91549
91550 2000-01-16  Jim Meyering  <meyering@lucent.com>
91551
91552         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
91553         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
91554         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
91555         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
91556
91557 2000-01-16  Jim Meyering  <meyering@lucent.com>
91558
91559         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
91560         because the latter didn't work.
91561
91562 2000-01-15  Jim Meyering  <meyering@lucent.com>
91563
91564         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
91565         (AC_REPLACE_FUNCS): Add memcpy and memset.
91566         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
91567         Add strpbrk.
91568         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
91569
91570 2000-01-12  Jim Meyering  <meyering@lucent.com>
91571
91572         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
91573         (jm_PREREQ): Use it.
91574         (jm_PREREQ_READUTMP): New macro.
91575         (jm_PREREQ): Use it.
91576
91577 2000-01-11  Paul Eggert  <eggert@twinsun.com>
91578
91579         Quote multibyte characters correctly.
91580         * m4/c-bs-a.m4: New file.
91581         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
91582         (jm_PREREQ): Use it.
91583
91584 2000-01-11  Paul Eggert  <eggert@twinsun.com>
91585
91586         * m4/uintmax_t.m4: Port to autoconf 2.13.
91587
91588 2000-01-08  Jim Meyering  <meyering@ascend.com>
91589
91590         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
91591         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
91592
91593 2000-01-04  Jim Meyering  <meyering@ascend.com>
91594
91595         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
91596         jm_STRUCT_DIRENT_D_TYPE.
91597         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
91598         jm_STRUCT_DIRENT_D_INO.
91599         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
91600         jm_STRUCT_UTIMBUF.
91601         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
91602         renamings.
91603         * m4/utime.m4: Likewise.
91604
91605         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
91606         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
91607
91608 2000-01-03  Paul Eggert  <eggert@twinsun.com>
91609
91610         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
91611         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
91612
91613 2000-01-02  Jim Meyering  <meyering@ascend.com>
91614
91615         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
91616         remember if this is necessary.
91617
91618 1999-12-26  Jim Meyering  <meyering@ascend.com>
91619
91620         * m4/jm-macros.m4: Use it here.
91621         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
91622
91623 1999-12-23  Jim Meyering  <meyering@ascend.com>
91624
91625         * m4/jm-macros.m4: Check for clock_gettime (moved from
91626         fileutils/configure.in)
91627         Check for gettimeofday.
91628
91629 1999-12-20  Jim Meyering  <meyering@ascend.com>
91630
91631         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
91632         autoconf-2.14a-1999-12-20.
91633
91634 1999-12-19  Jim Meyering  <meyering@ascend.com>
91635
91636         * m4/lstat-slash.m4: New file.
91637         * m4/jm-macros.m4: Use the new macro:
91638         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
91639
91640 1999-12-07  Jim Meyering  <meyering@ascend.com>
91641
91642         * m4/perl.m4: Require that File::Compare be available, too.
91643         Too many systems seem to lack it.
91644
91645         * m4/strftime.m4: Add checks for most of the cpp macros tested in
91646         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
91647
91648 1999-11-18  Paul Eggert  <eggert@twinsun.com>
91649
91650         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
91651         problem with the QNX 4.25 shell, which doesn't propagate exit
91652         status of failed commands inside shell assignments.
91653
91654 1999-11-17  Jim Meyering  <meyering@ascend.com>
91655
91656         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
91657
91658 1999-11-07  Jim Meyering  <meyering@ascend.com>
91659
91660         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
91661
91662 1999-11-06  Jim Meyering  <meyering@ascend.com>
91663
91664         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
91665         * m4/jm-macros.m4 (jm_MACROS): Use it here.
91666
91667 1999-11-05  Jim Meyering  <meyering@ascend.com>
91668
91669         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
91670         configure.in of textutils, fileutils, and sh-utils into this one
91671         (shared between those packages) file.
91672         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
91673         AC_STRUCT_ST_BLKSIZE.
91674
91675 1999-11-03  Jim Meyering  <meyering@ascend.com>
91676
91677         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
91678         of AC_CHECK_TYPE checks includes unistd.h.
91679         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
91680         Suggestion from Akim Demaille.
91681
91682 1999-10-30  Jim Meyering  <meyering@ascend.com>
91683
91684         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
91685         m4-quoted string.
91686         * m4/ls-mntd-fs.m4: Likewise.
91687         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
91688         * m4/jm-winsz1.m4: Likewise.
91689
91690         * m4/const.m4: Remove file, since the fix made it into the experimental
91691         version of autoconf.
91692         * m4/mktime.m4: Likewise.
91693
91694         * m4/check-type.m4: Remove file, now that the latest version of
91695         AC_CHECK_TYPE takes a third arg to specify additional #includes.
91696
91697         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
91698         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
91699         AC_CHECK_TYPE.
91700
91701 1999-10-04  Jim Meyering  <meyering@ascend.com>
91702
91703         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
91704
91705 1999-09-22  Paul Eggert  <eggert@twinsun.com>
91706
91707         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
91708         2.95.1 bug with HP-UX 10.20.
91709
91710 1999-09-17  Jim Meyering  <meyering@ascend.com>
91711
91712         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
91713         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
91714         due to missing strdup (against sh-utils-2.0).
91715
91716 1999-08-29  Jim Meyering  <meyering@ascend.com>
91717
91718         * m4/jm-macros.m4: Require jm_BISON.
91719         * m4/bison.m4: New file.
91720
91721 1999-08-17  Paul Eggert  <eggert@twinsun.com>
91722
91723         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
91724         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
91725
91726 1999-08-05  Jim Meyering  <meyering@ascend.com>
91727
91728         * m4/getline.m4: Rename test file from conftestdata to conftest.data
91729         to avoid conflicts with `conftest' on 8+3 filesystems.
91730         Suggestion from Eli Zaretskii.
91731
91732 1999-08-04  Jim Meyering  <meyering@ascend.com>
91733
91734         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
91735         fileutils and sh-utils (textutils's getline test was inadequate).
91736         (AM_FUNC_GETLINE): Run this test.
91737         (AC_CHECK_FUNCS): Check for getdelim.
91738         Reported by Bob Proulx.
91739
91740 1999-08-02  Jim Meyering  <meyering@ascend.com>
91741
91742         * m4/jm-macros.m4: Add a comment.
91743
91744 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91745
91746         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
91747         <inttypes.h> defines strtoumax as a macro (and not as a
91748         function).
91749
91750 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91751
91752         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
91753         that we can shift, multiply and divide unsigned long long
91754         values; Ultrix cc can't do it.
91755
91756 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91757
91758         * m4/mktime.m4: New file, which is a preview of what should appear
91759         in the next public autoconf release.
91760
91761 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91762
91763         * m4/lfs.m4: Remove this file.
91764         * m4/largefile.m4: New file.  It contains the old contents of
91765         lfs.m4, except that all names with prefix AC_LFS have been
91766         changed to use the prefix AC_SYS_LARGEFILE instead, to be
91767         compatible with future autoconf versions.  Also, some minor m4
91768         quoting problems have been fixed.
91769
91770 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91771
91772         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
91773         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
91774         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
91775         and simplify the shell code.
91776
91777 1999-08-01  Jim Meyering  <meyering@ascend.com>
91778
91779         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
91780         m4.
91781
91782 1999-07-20  Jim Meyering  <meyering@ascend.com>
91783
91784         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
91785
91786 1999-07-15  Jim Meyering  <meyering@ascend.com>
91787
91788         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
91789
91790 1999-05-22  Jim Meyering  <meyering@ascend.com>
91791
91792         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
91793
91794 1999-05-20  Jim Meyering  <meyering@ascend.com>
91795
91796         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
91797         Add a colon after each `then' in case $4 is empty.
91798
91799 1999-05-16  Jim Meyering  <meyering@ascend.com>
91800
91801         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
91802
91803 1999-05-10  Jim Meyering  <meyering@ascend.com>
91804
91805         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
91806
91807         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
91808         AC_FUNC_MKTIME.
91809
91810 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
91811
91812         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
91813
91814 1999-05-04  Paul Eggert  <eggert@twinsun.com>
91815
91816         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
91817         not CPPFLAGS, so that linking works correctly in IRIX.
91818
91819 1999-04-30  Paul Eggert  <eggert@twinsun.com>
91820
91821         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
91822
91823 1999-04-20  Paul Eggert  <eggert@twinsun.com>
91824
91825         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
91826         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
91827         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
91828         jm_AC_TYPE_UNSIGNED_LONG_LONG.
91829         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
91830
91831         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
91832
91833 1999-04-20  Jim Meyering  <meyering@ascend.com>
91834
91835         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
91836         AC_REPLACE xstroull if necessary.  From Paul Eggert.
91837         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
91838
91839 1999-04-18  Jim Meyering  <meyering@ascend.com>
91840
91841         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
91842         * m4/jm-macros.m4: Use it.
91843
91844 1999-04-06  Jim Meyering  <meyering@ascend.com>
91845
91846         * m4/strftime.m4: Remove test for %f.
91847
91848 1999-03-29  Jim Meyering  <meyering@ascend.com>
91849
91850         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
91851         superset of the AC_TYPE_* checks in the textutils, fileutils,
91852         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
91853         AC_TYPE_PID_T.
91854
91855 1999-03-28  Jim Meyering  <meyering@ascend.com>
91856
91857         * m4/jm-macros.m4: Define GNU_PACKAGE here.
91858         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
91859         replaced e.g., in the *.sh files of the sh-utils.
91860
91861 1999-03-20  Jim Meyering  <meyering@ascend.com>
91862
91863         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
91864         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
91865         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
91866
91867 1999-03-19  Jim Meyering  <meyering@ascend.com>
91868
91869         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
91870
91871 1999-03-12  Jim Meyering  <meyering@ascend.com>
91872
91873         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
91874
91875 1999-03-07  Jim Meyering  <meyering@ascend.com>
91876
91877         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
91878         declared.
91879
91880 1999-02-17  Jim Meyering  <meyering@ascend.com>
91881
91882         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
91883         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
91884
91885 1999-02-07  Jim Meyering  <meyering@ascend.com>
91886
91887         * m4/group-member.m4: New file -- extracted from sh-utils'
91888         configure.in.
91889
91890         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
91891         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
91892
91893 1999-02-06  Jim Meyering  <meyering@ascend.com>
91894
91895         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
91896         * m4/fnmatch.m4: Likewise.
91897         * m4/getgroups.m4: Likewise.
91898         * m4/lstat.m4: Likewise.
91899         * m4/malloc.m4: Likewise.
91900         * m4/putenv.m4: Likewise.
91901         * m4/realloc.m4: Likewise.
91902         * m4/regex.m4: Likewise.
91903         * m4/stat.m4: Likewise.
91904         * m4/strftime.m4: Likewise.
91905         Suggestion from Alain Magloire.
91906
91907         * m4/chown.m4: Use `.$ac_objext', not `.o'.
91908         * m4/fnmatch.m4: Likewise.
91909         * m4/getgroups.m4: Likewise.
91910         * m4/getline.m4: Likewise.
91911         * m4/lstat.m4: Likewise.
91912         * m4/malloc.m4: Likewise.
91913         * m4/memcmp.m4: Likewise.
91914         * m4/putenv.m4: Likewise.
91915         * m4/realloc.m4: Likewise.
91916         * m4/regex.m4: Likewise.
91917         * m4/stat.m4: Likewise.
91918         * m4/strftime.m4: Likewise.
91919         Suggestion from Alain Magloire.
91920
91921         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
91922         an argument.
91923
91924         * m4/regex.m4: Add a run-time Test for proper operation of
91925         re_compile_pattern.
91926
91927 1999-01-31  Jim Meyering  <meyering@ascend.com>
91928
91929         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
91930
91931 1999-01-30  Jim Meyering  <meyering@ascend.com>
91932
91933         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
91934
91935         * m4/jm-mktime.m4: Make this a wrapper around the official
91936         AM_FUNC_MKTIME rather than my private copy, now that the official one
91937         is up to date.
91938         * m4/mktime.m4: Remove file.
91939
91940         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
91941         * m4/uptime.m4: Likewise.
91942         * m4/uintmax_t.m4: Likewise.
91943
91944 1999-01-28  Jim Meyering  <meyering@ascend.com>
91945
91946         * m4/jm-macros.m4: Use jm_AFS.
91947         * m4/afs.m4: New file (from fileutils' configure.in).
91948
91949         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
91950         * m4/chown.m4: Likewise.
91951         * m4/d-ino.m4: Likewise.
91952         * m4/d-type.m4: Likewise.
91953         * m4/fnmatch.m4: Likewise.
91954         * m4/getgroups.m4: Likewise.
91955         * m4/gettext.m4: Likewise.
91956         * m4/jm-mktime.m4: Likewise.
91957         * m4/jm-winsz2.m4: Likewise.
91958         * m4/lcmessage.m4: Likewise.
91959         * m4/ls-mntd-fs.m4: Likewise.
91960         * m4/malloc.m4: Likewise.
91961         * m4/memcmp.m4: Likewise.
91962         * m4/putenv.m4: Likewise.
91963         * m4/realloc.m4: Likewise.
91964         * m4/st_mtim.m4: Likewise.
91965         * m4/strftime.m4: Likewise.
91966
91967 1999-01-16  Jim Meyering  <meyering@ascend.com>
91968
91969         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
91970         (ARGMATCH_DIE_DECL): Define.
91971
91972 1999-01-12  Jim Meyering  <meyering@ascend.com>
91973
91974         * m4/Makefile.am.in: Rewrite to avoid using fmt.
91975         Reported by Lars Hecking.
91976
91977 1999-01-10  Jim Meyering  <meyering@ascend.com>
91978
91979         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
91980         gross kludge.
91981         * m4/inttypes_h.m4: Likewise.
91982         * m4/lstat.m4: Likewise.
91983         * m4/malloc.m4: Likewise.
91984         * m4/readdir.m4: Likewise.
91985         * m4/realloc.m4: Likewise.
91986         * m4/st_dm_mode.m4: Likewise.
91987         * m4/stat.m4: Likewise.
91988         * m4/utimbuf.m4: Likewise.
91989         * m4/utimes.m4: Likewise.
91990
91991         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
91992         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
91993         comments in config.h.in are meaningful.
91994
91995         * m4/jm-macros.m4: Require autoconf-2.13 here.
91996
91997         * m4/regex.m4: By default, don't use the included regex.c on systems
91998         with glibc 2.  Suggestion from Uli Drepper.
91999
92000 1999-01-02  Jim Meyering  <meyering@ascend.com>
92001
92002         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
92003
92004 1998-12-18  Jim Meyering  <meyering@ascend.com>
92005
92006         * m4/Makefile.am.in (Makefile.am): Simplify rule.
92007         Based on a suggestion from Lars Hecking.
92008
92009 1998-11-16  Paul Eggert  <eggert@twinsun.com>
92010
92011         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
92012
92013 1998-11-16  Jim Meyering  <meyering@ascend.com>
92014
92015         * m4/lfs.m4: Double-quote the `uname...` expression.
92016
92017 1998-11-14  Jim Meyering  <meyering@ascend.com>
92018
92019         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
92020         * m4/stat.m4: Likewise.
92021
92022 1998-11-03  Jim Meyering  <meyering@ascend.com>
92023
92024         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
92025         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
92026
92027 1998-10-18  Jim Meyering  <meyering@ascend.com>
92028
92029         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
92030
92031 1998-10-17  Jim Meyering  <meyering@ascend.com>
92032
92033         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
92034         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
92035         calls for those previously hard-coded headers.  Instead, take a new
92036         parameter.
92037         (jm_CHECK_DECLARATIONS): Reflect interface change.
92038         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
92039         (jm_CHECK_DECL_LOCALTIME_R): New macro.
92040
92041         * m4/mktime.m4: Test for spring-forward gap before long-running test.
92042
92043 1998-10-14  Jim Meyering  <meyering@ascend.com>
92044
92045         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
92046         instead of "TZ=America/Vancouver".  From Paul Eggert.
92047
92048 1998-10-11  Jim Meyering  <meyering@ascend.com>
92049
92050         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
92051         This adds a test for a recently added compatibility fix for mktime.c.
92052         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
92053
92054 1998-09-27  Jim Meyering  <meyering@ascend.com>
92055
92056         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
92057
92058         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
92059         ../configure.in, including a change from Gordon Matzigkeit to allow
92060         cross-compiling for the Hurd.
92061
92062         * m4/glibc.m4: New file/macro to test for the GNU C Library
92063         versions 1 and 2.  From Gordon Matzigkeit.
92064         Indent.
92065
92066 1998-09-21  Jim Meyering  <meyering@ascend.com>
92067
92068         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
92069
92070 1998-08-18  Paul Eggert  <eggert@twinsun.com>
92071
92072         Port nanosecond-resolution times to UnixWare 2.1.2 and
92073         pedantic Solaris 2.6.
92074
92075         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
92076         AC_STRUCT_ST_MTIM.
92077         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
92078         Generate name of ns member, instead of just 1 or undef.
92079         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
92080
92081 1998-08-15  Jim Meyering  <meyering@ascend.com>
92082
92083         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
92084         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
92085         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
92086         instead of jm_TYPE_SSIZE_T.
92087
92088 1998-08-12  Jim Meyering  <meyering@ascend.com>
92089
92090         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
92091
92092 1998-08-02  Jim Meyering  <meyering@ascend.com>
92093
92094         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
92095         in acconfig.h manually.
92096
92097 1998-07-31  Paul Eggert  <eggert@twinsun.com>
92098
92099         * m4/st_mtim.m4: New file.
92100
92101 1998-07-28  Jim Meyering  <meyering@ascend.com>
92102
92103         * m4/utimes.m4: Undef stat.
92104
92105 1998-07-25  Jim Meyering  <meyering@ascend.com>
92106
92107         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
92108         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
92109
92110 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
92111
92112         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
92113         uid and gid actually remain unchanged.
92114
92115 1998-07-07  Jim Meyering  <meyering@ascend.com>
92116
92117         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
92118
92119 1998-07-04  Jim Meyering  <meyering@ascend.com>
92120
92121         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
92122         to prove that this macro can be used in packages without regex.c.
92123
92124 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
92125
92126         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
92127         is to be used.
92128
92129 1998-07-03  Jim Meyering  <meyering@ascend.com>
92130
92131         * m4/gettext.m4: Add -lintl if it's found to be necessary.
92132
92133         * m4/gettext.m4: New file -- from gettext-0.10.35.
92134         * m4/lcmessage.m4: Likewise.
92135         * m4/progtest.m4: Likewise.
92136
92137         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
92138         * m4/jm-macros.m4: Require the new macro.
92139
92140 1998-06-29  Jim Meyering  <meyering@ascend.com>
92141
92142         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
92143         for the definition of NGROUPS (used in a system header included
92144         by sys/mount.h).
92145
92146 1998-06-28  Jim Meyering  <meyering@ascend.com>
92147
92148         * m4/ls-mntd-fs.m4: New file.
92149         * m4/fstypename.m4: New file.
92150
92151         * m4/jm-macros.m4: Require the new macro.
92152         * m4/jm-glibc-io.m4: New file.
92153
92154 1998-05-19  Jim Meyering  <meyering@ascend.com>
92155
92156         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
92157         * m4/lchown.m4: New file.
92158
92159         * m4/Makefile.am.in: New file.
92160         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
92161
92162 1998-05-14  Jim Meyering  <meyering@ascend.com>
92163
92164         * m4/Makefile.am (EXTRA_DIST): Add them.
92165         * m4/jm-macros.m4: New file.
92166         * m4/utimbuf.m4: New file.
92167
92168 1998-05-12  Jim Meyering  <meyering@ascend.com>
92169
92170         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
92171
92172 1998-05-11  Jim Meyering  <meyering@ascend.com>
92173
92174         * m4/isc-posix.m4: New file.
92175
92176 1998-05-10  Jim Meyering  <meyering@ascend.com>
92177
92178         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
92179
92180 1998-05-09  Jim Meyering  <meyering@ascend.com>
92181
92182         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
92183         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
92184         with automake.
92185
92186         * m4/ssize_t.m4: New file.
92187         * m4/mktime.m4: Remove file -- the new automake has this now.
92188
92189 1998-04-26  Jim Meyering  <meyering@ascend.com>
92190
92191         * m4/assert.m4: New file.
92192         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
92193
92194 1998-04-05  Jim Meyering  <meyering@ascend.com>
92195
92196         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
92197         (jm_PREREQ): Use it here.
92198
92199 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
92200
92201         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
92202         in acconfig.h.
92203
92204 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
92205
92206         * m4/prereq.m4: New file.
92207         * m4/error.m4: New file.
92208         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
92209
92210 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
92211
92212         * m4/getline.m4: Don't set am_cv_func_working_getline before the
92213         cache-check for the same variable -- that defeated the purpose of
92214         the test; the test program was never run.  This was a problem only
92215         on systems with losing getline functions -- HP-UX 10.20 is one.
92216         Reported by Bjorn Helgaas.
92217
92218 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
92219
92220         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
92221
92222 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
92223
92224         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
92225
92226         * m4/const.m4: New file.  Use an initializer in this declaration
92227         typedef int charset[2]; const charset x;
92228         Reported by Bob Glickstein.
92229
92230 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
92231
92232         * m4/chown.m4: Fix reversed types on -1 args to chown.
92233         From Kaveh Ghazi.
92234
92235 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
92236
92237         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
92238         Add lseek and memchr.
92239
92240         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
92241         T.E.Dickey <dickey@clark.net> said that some older preprocessors
92242         have a 20-character limit on names.
92243
92244 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
92245
92246         * m4/inttypes_h.m4: New file.
92247         * m4/uintmax_t.m4: New file.
92248         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
92249
92250
92251         -----
92252
92253         Local Variables:
92254         coding: utf-8
92255         End:
92256
92257         Copyright (C) 1997-2012 Free Software Foundation, Inc.
92258
92259         Copying and distribution of this file, with or without
92260         modification, are permitted provided the copyright notice
92261         and this notice are preserved.