c7a6e10719528f96daefe45a19a3602589a8149c
[gnulib.git] / ChangeLog
1 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
2
3         stdnoreturn: new module
4         This implements a replacement for C11's <stdnoreturn.h>.
5         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
6         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
7         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
8         * tests/test-stdnoreturn.c: New files.
9
10 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
11
12         regex: fix false multibyte matches in some regular expressions
13         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
14         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
15         * lib/regex_internal.c (re_string_skip_chars):
16         Fix miscomputation of remain_len that may cause incomplete
17         multi-byte character and false match.
18
19 2012-02-24  Jim Meyering  <meyering@redhat.com>
20
21         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
22         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
23         uses with "==" *before* the call, e.g., 0 == strcmp (...)
24         Remove now-unnecessary str''cmp obfuscation.
25         Suggested by Akim Demaille.
26
27 2012-02-24  Bruno Haible  <bruno@clisp.org>
28
29         streq: Rename macro.
30         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
31         * NEWS: Mention the change.
32         * lib/mbrtowc.c (mbrtowc): Update.
33         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
34         * lib/wcwidth.c (wcwidth): Update.
35         Suggested by Akim Demaille and Jim Meyering.
36
37 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
38
39         regex: fix typo in definition of MIN
40         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
41         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
42
43 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
44             Bruno Haible  <bruno@clisp.org>
45
46         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
47         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
48         entries into a stack-allocated buffer directly.
49         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
50
51 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
52             Bruno Haible  <bruno@clisp.org>
53
54         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
55
56          - There were several instances of this pattern:
57
58              for (;;) {
59                n = acl (f, GETACLCNT, 0, NULL);
60                [ allocate an array A of size N ]
61                if (acl (f, GETACL, n, a) == n)
62                  break;
63              }
64
65            This loop might never terminate if some other process is constantly
66            manipulating the file's ACL.  The loop should be rewritten to
67            terminate.
68
69          - The acl (... GETACLNT ...) call is merely an optimization; its value
70            is merely a hint as to how big to make the array.  A better
71            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
72            and just guess a reasonably-big size, growing the size and trying
73            again if it's not large enough.  This guarantees termination, and
74            saves a system call.
75
76         * lib/acl-internal.h: Include <limits.h>.
77         (MIN, SIZE_MAX): New macros.
78         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
79         a stack-allocated buffer, and use malloc if it does not fit. Don't
80         use GETACLCNT.
81         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
82
83 2012-02-19  Bruno Haible  <bruno@clisp.org>
84
85         acl: Fix endless loop on Solaris with vxfs.
86         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
87         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
88         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
89         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
90         * tests/test-sameacls.c (main)[Solaris]: Likewise.
91         Reported by Bill Jones in
92         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
93
94 2012-02-19  Bruno Haible  <bruno@clisp.org>
95
96         acl: Fix copy-acl test failure on Solaris 11 2011-11.
97         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
98         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
99         that this function returns 0 in some more cases.
100
101 2012-02-19  Bruno Haible  <bruno@clisp.org>
102
103         acl: Update doc references.
104         * doc/acl-resources.txt: Update links to Solaris documentation.
105
106 2012-02-19  Bruno Haible  <bruno@clisp.org>
107
108         Fix test failure in many locales on Solaris 11.
109         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
110         'tr' arguments.
111         * tests/test-pipe-filter-ii1.c (main): Likewise.
112         * build-aux/bootstrap (check_versions): Run 'tr' command with range
113         expressions in the C locale.
114         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
115         * m4/host-os.m4 (gl_HOST_OS): Likewise.
116
117 2012-02-19  Bruno Haible  <bruno@clisp.org>
118
119         gnulib-tool: Improve usage message.
120         * gnulib-tool (func_usage): Move doc of --help and --version to the
121         section "Operation modes".
122
123 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
124
125         README-release: make it easier to execute commands
126         * top/README-release: break commands out on to separate lines.
127
128 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
129
130         GNUmakefile: simplify detection of unconfigured trees
131         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
132         whether the tree make is being run from is already configured or
133         not.  Related simplifications.
134
135 2012-02-13  Simon Josefsson  <simon@josefsson.org>
136
137         * gnulib-tool (func_usage): Document --help and --version.
138
139 2012-02-11  Jim Meyering  <meyering@redhat.com>
140
141         bootstrap: don't exit 0 upon gnulib-tool failure
142         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
143         its exit status, not 0.
144
145 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
146
147         README-release: various improvements
148         * top/README-release: Give a command to push changes for the
149         release.  Add "distcheck" to list of other pre-release checks.
150         Fix instance of "make stable" which should be "make TYPE".
151
152 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
153
154         maint: replace FSF snail-mail addresses with URLs
155         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
156         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
157         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
158         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
159         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
160         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
161         * lib/check-version.c, lib/check-version.h, lib/config.charset:
162         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
163         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
164         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
165         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
166         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
167         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
168         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
169         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
170         * lib/glthread/thread.c, lib/glthread/thread.h:
171         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
172         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
173         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
174         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
175         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
176         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
177         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
178         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
179         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
180         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
181         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
182         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
183         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
184         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
185         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
186         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
187         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
188         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
189         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
190         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
191         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
192         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
193         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
194         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
195         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
196         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
197         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
198         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
199         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
200         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
201         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
202         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
203         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
204         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
205         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
206         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
207         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
208         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
209         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
210         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
211         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
212         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
213         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
214         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
215         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
216         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
217         * tests/test-poll.c, tests/test-quotearg-simple.c:
218         * tests/test-quotearg.c, tests/test-quotearg.h:
219         * tests/test-round-ieee.c, tests/test-round1.c:
220         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
221         * tests/test-roundl-ieee.c, tests/test-roundl.c:
222         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
223         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
224         * tests/test-strerror.c, tests/test-strerror_r.c:
225         * tests/test-strsignal.c, tests/test-strverscmp.c:
226         * tests/test-xmemdup0.c:
227         Replace FSF snail mail addresses with URLs, as per GNU coding
228         standards.  See glibc bug
229         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
230
231 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
232
233         README-release: capitalize a word and split a line
234         * top/README-release: Fix punctuation and spacing.
235
236 2012-02-08  Akim Demaille  <demaille@gostai.com>
237
238         fatal-signal: use C prototypes (with explicit void).
239         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
240         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
241
242 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
243
244         regex: spelling fix
245         * lib/regexec.c: spelling fix
246
247         regex: rely on stdint.h for SIZE_MAX
248         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
249
250 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
251
252         regex: merge glibc changes
253
254         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
255         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
256         (init_word_char): Work even if bitset words are not exactly 32 or
257         64 bits wide.  Don't assume there are no padding bits.
258         * lib/regex.c [_LIBC]: Do not include <config.h>.
259         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
260         and -Wtype-limits.
261         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
262         needless disagreement with glibc.  All uses changed.  Define it to
263         1 only if _GNU_SOURCE, to match glibc.
264         (_REG_RM_NAME): Remove; no longer needed, since the names in
265         question are now all protected by __USE_GNU.
266         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
267         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
268         * lib/regex_internal.h (MIN): New macro.
269
270         2012-01-03 Ulrich Drepper <drepper@gmail.com>
271         * lib/regcomp.c (init_word_char): Optimize regex a bit.
272
273         2011-12-30 Jakub Jelinek <jakub@redhat.com>
274         * lib/regex_internal.c (re_string_fetch_byte_case):
275         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
276         is miscompiled, and it turns out it is because of an incorrect
277         attribute on re_string_fetch_byte_case.  Unlike
278         re_string_peek_byte_case, this one is really not pure, it modifies
279         memory (increments pstr->cur_idx), and with the pure attribute GCC
280         assumed it doesn't and it cached the presumed value of
281         regexp->cur_idx in a variable across the
282          for (;; ++i)
283            {
284              if (i >= BRACKET_NAME_BUF_SIZE)
285                return REG_EBRACK;
286              if (token->type == OP_OPEN_CHAR_CLASS)
287                ch = re_string_fetch_byte_case (regexp);
288              else
289                ch = re_string_fetch_byte (regexp);
290              if (re_string_eoi(regexp))
291                return REG_EBRACK;
292              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
293                break;
294              elem->opr.name[i] = ch;
295            }
296
297         2011-11-29 Andreas Schwab <schwab@redhat.com>
298         * lib/regcomp.c (build_equiv_class):
299         Fix access after end of search string in regex matcher.
300
301         2011-11-12 Ulrich Drepper <drepper@redhat.com>
302         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
303
304         2011-10-12 Ulrich Drepper <drepper@redhat.com>
305         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
306
307         2011-10-11 Ulrich Drepper <drepper@redhat.com>
308         * lib/regcomp.c (parse_branch, parse_sub_exp):
309         More regex memory leak fixes and tests.
310         (parse_sub_exp, parse_bracket_exp):
311         Fix memory leak for some invalid regular expressions.
312
313         2011-05-28 Ulrich Drepper <drepper@gmail.com>
314         * lib/regex_internal.c, lib/regexec.c:
315         Fix unnecessary overallocation due to incomplete character.  When
316         incomplete characters are found at the end of a string the code
317         ran amok and allocated lots of memory.  Stricter limits are now in
318         place.
319
320         2011-05-20 Reuben Thomas <rrt@sc3d.org>
321         * lib/regex.h: Update documentation.
322
323         2011-05-16 Aharon Robbins <arnold@skeeve.com>
324         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
325
326         2010-05-05 Andreas Schwab <schwab@redhat.com>
327         * lib/regexec.c (find_collation_sequence_value):
328         Fix lookup of collation sequence value during regexp matching.
329
330         2010-01-22 Ulrich Drepper <drepper@redhat.com>
331         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
332
333         2008-01-16 Ulrich Drepper <drepper@redhat.com>
334         * lib/regex.h: Cleanup namespace.
335
336         2007-11-26 Ulrich Drepper <drepper@redhat.com>
337         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
338
339         2007-08-26 Ulrich Drepper <drepper@redhat.com>
340         * lib/regex_internal.h: Prevent some declarations and definitions
341         to be seen when used in tests.
342
343         2005-05-06 Ulrich Drepper <drepper@redhat.com>
344         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
345         __libc_lock_* macros if not _LIBC.
346         (struct re_dfa_t): Add lock.
347
348 2012-02-07  Eric Blake  <eblake@redhat.com>
349
350         maint.mk: also prohibit lower-case @var@
351         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
352         lower case, like @top_srcdir@.
353
354 2012-02-04  Eric Blake  <eblake@redhat.com>
355
356         canonicalize: avoid uninitialized memory use
357         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
358         random '/' left in dest.
359         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
360
361 2012-02-04  Bruno Haible  <bruno@clisp.org>
362
363         isatty: Fix test failure of ptsname_r on native Windows.
364         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
365         and don't set errno.
366         (isatty): Test first whether fd is valid. Set errno when returning 0.
367
368 2012-02-04  Bruno Haible  <bruno@clisp.org>
369
370         spawn-pipe tests: Fix a NULL program name in a diagnostic.
371         * tests/test-spawn-pipe-main.c: Include progname.h.
372         (main): Invoke set_program_name.
373         * modules/spawn-pipe-tests (Depends-on): Add progname.
374
375         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
376         * tests/test-nonblocking-socket-main.c: Include progname.h.
377         (main): Invoke set_program_name.
378         * modules/nonblocking-socket-tests (Depends-on): Add progname.
379
380         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
381         * tests/test-nonblocking-pipe-main.c: Include progname.h.
382         (main): Invoke set_program_name.
383         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
384
385 2012-02-04  Eric Blake  <eblake@redhat.com>
386
387         canonicalize-lgpl: fix // handling
388         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
389
390         canonicalize: fix // handling
391         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
392         /// to //, since only // is special.
393
394 2012-02-04  Bruno Haible  <bruno@clisp.org>
395
396         ioctl: Fix test failure on native Windows.
397         * lib/ioctl.c: Include msvc-nothrow.h.
398         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
399
400 2012-02-04  Bruno Haible  <bruno@clisp.org>
401
402         fsync: Avoid test failure on native Windows.
403         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
404         read-only.
405
406 2012-02-04  Bruno Haible  <bruno@clisp.org>
407
408         sys_select: Avoid syntax error on OpenBSD 5.0.
409         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
410         currently being included, just include the system's <sys/select.h>.
411
412 2012-02-04  Bruno Haible  <bruno@clisp.org>
413
414         sys_select: Avoid syntax error on OpenBSD 5.0.
415         * lib/sys_select.in.h: Include <signal.h> only after the include_next
416         <sys/select.h>, not before.
417         Reported by Jiri B <jirib@devio.us>.
418
419 2012-02-04  Bruno Haible  <bruno@clisp.org>
420
421         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
422         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
423         global variables.
424         * tests/test-get-rusage-data.c (main): Likewise.
425         Reported by Jim Meyering.
426
427 2012-02-04  Bruno Haible  <bruno@clisp.org>
428
429         stdioext: Fix last commit.
430         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
431
432 2012-02-03  Bruno Haible  <bruno@clisp.org>
433
434         stdioext: Add tentative support for Plan9.
435         * lib/stdio-impl.h: Include <errno.h>.
436         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
437         * lib/freadable.c (freadable): Likewise.
438         * lib/fwritable.c (fwritable): Likewise.
439         * lib/fbufmode.c (fbufmode): Likewise.
440         * lib/freading.c (freading): Likewise.
441         * lib/fwriting.c (fwriting): Likewise.
442         * lib/freadptr.c (freadptr): Likewise.
443         * lib/freadseek.c (freadptrinc): Likewise.
444         * lib/freadahead.c (freadahead): Likewise.
445         * lib/fpurge.c (fpurge): Likewise.
446         * lib/fseeko.c (rpl_fseeko): Likewise.
447         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
448         Reported by Jens Staal <staal1978@gmail.com>.
449
450 2012-02-02  Jim Meyering  <meyering@redhat.com>
451
452         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
453         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
454         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
455         not even to try to add the attribute.  Instead, add a pragma to suppress
456         the suggestion/warning.
457
458 2012-01-31  Karl Berry  <karl@gnu.org>
459
460         setstate doc: typo.
461         * doc/posix-functions/setstate.texi (setstate): { not (.
462
463 2012-01-31  Bruno Haible  <bruno@clisp.org>
464
465         popen: Make more robust on Windows.
466         * lib/popen.c: On native Windows, use the _popen based code even if
467         HAVE_POPEN is set.
468         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
469         environment variable on native Windows.
470
471 2012-01-30  Bruno Haible  <bruno@clisp.org>
472
473         pclose: Fix typo.
474         * lib/stdio.in.h (pclose): Fix typo in warning message.
475
476 2012-01-30  Bruno Haible  <bruno@clisp.org>
477
478         doc about getlogin_r, setstate.
479         * doc/posix-functions/getlogin_r.texi: List the incompatible
480         declaration problem under "not fixed by gnulib".
481         * doc/posix-functions/setstate.texi: Mention incompatible declaration
482         problem on Solaris 11 and other platforms.
483
484 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
485             Bruno Haible  <bruno@clisp.org>
486
487         poll tests: Make test more robust.
488         * tests/test-poll.c: Include macros.h.
489         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
490         return value of various I/O operations.
491         * modules/poll-tests (Files): Add tests/macros.h.
492
493 2012-01-30  Bruno Haible  <bruno@clisp.org>
494
495         sys_stat: Fix support for mingw64 and MSVC.
496         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
497         header files already do it.
498         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
499         stat itself.
500         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
501
502 2012-01-30  Bruno Haible  <bruno@clisp.org>
503
504         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
505         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
506         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
507
508 2012-01-29  Bruno Haible  <bruno@clisp.org>
509
510         quotearg: Fix test failure on MacOS X 10.5.
511         * tests/test-quotearg-simple.c: Include localcharset.h.
512         (main): If the locale encoding is not ASCII, bypass the tests of
513         locale_quoting_style and clocale_quoting_style.
514         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
515
516 2012-01-29  Jim Meyering  <meyering@redhat.com>
517
518         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
519         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
520         detect uses of canonicalize_file_name.
521
522 2012-01-28  Bruno Haible  <bruno@clisp.org>
523
524         test-framework-sh: Fix test failure with AIX 7.1 diff.
525         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
526         in column 1, like 'diff -c' does.
527         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
528         whether 'diff -u' is used. Instead, test whether the output contains
529         some '@' character.
530
531 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
532
533         strtoimax: eliminate need for stdint.h, inttypes.h checks
534         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
535         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
536         the prerequisites for a recently-introduced strtoimax test.
537         I guess this might cause strtoimax to be replaced when not
538         strictly necessary on older hosts, but this shouldn't introduce
539         any bugs and it should make Emacs 'configure' faster on typical
540         modern hosts.  Problem discovered when importing the latest gnulib
541         to an Emacs test version.
542         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
543
544 2012-01-28  Bruno Haible  <bruno@clisp.org>
545
546         sys_time: Override 'struct timeval' on some native Windows platforms.
547         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
548         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
549         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
550         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
551         needs to be overridden.
552         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
553         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
554         * tests/test-sys_select.c: Check that the tv_sec member has the same
555         size as a 'time_t'.
556         * tests/test-sys_time.c: Likewise.
557         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
558         is set, set also REPLACE_GETTIMEOFDAY.
559         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
560         convert the resulting 'struct timeval' before returning.
561         * lib/select.c: Include <sys/time.h>.
562         (select, timeval): Undefine at the right place.
563         * modules/select (Depends-on): Add sys_time.
564         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
565         some Windows platforms.
566         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
567
568 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
569
570         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
571         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
572         an integer.
573         * lib/fcntl.c (dupfd): Likewise.
574         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
575
576 2012-01-28  Bruno Haible  <bruno@clisp.org>
577
578         fcntl: Avoid compilation error on native Windows.
579         * modules/fcntl (Depends-on): Add 'close'.
580
581 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
582
583         select, poll, isatty: Avoid warnings on x86_64 mingw64.
584         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
585         pointer to an integer.
586         * lib/poll.c (IsConsoleHandle): Likewise.
587         * lib/isatty.c (IsConsoleHandle): Likewise.
588
589 2012-01-28  Jim Meyering  <meyering@redhat.com>
590
591         doc: clarify README-release
592         * top/README-release: Clarify: you should make a point to have
593         the latest stable versions of build tools in your PATH, and the
594         reference to buildreq is solely for its list of tool names, not
595         for its minimal-functional version numbers.
596         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
597
598         maint.mk: use more readable (yet functionally equivalent) quoting
599         It is common to quote a single quote in a single quoted string like
600         this:  '...'\''...'.  Unless you know the idiom, that looks like
601         gibberish, so prefer to double-quote the string when possible.
602         Then you can use a more readable, lone single quote: "...'..."
603         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
604         "don't" is more readable than the equivalent 'don'\''t'.
605         (sc_cast_of_x_alloc_return_value): Likewise.
606         (sc_cast_of_alloca_return_value): Likewise.
607         (sc_makefile_path_separator_check): Similar: use ":" in '...',
608         rather than '\'':'\''.
609
610 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
611
612         stdalign: relax _Alignof and tighten _Alignas test
613         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
614         as it was too strict: alignof must divide offsetof, but it need
615         not equal offsetof.  Inspired by Joseph S. Myers's comment
616         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
617         Conversely, tighten the _Alignas test a bit, as the resulting
618         alignment must be exactly 8.
619
620 2012-01-27  Bruno Haible  <bruno@clisp.org>
621
622         stdalign: Document the last change.
623         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
624
625 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
626
627         stdalign: check that alignof and offsetof are consistent
628         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
629         Problem reported for gnulib by Richard W.M. Jones in
630         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
631
632 2012-01-27  Jim Meyering  <meyering@redhat.com>
633
634         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
635         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
636         convert a sequence with gaps to the minimal containing range.
637         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
638         * tests/test-update-copyright.sh: Test for this.
639         The FSF confirmed it is ok to do this, assuming there is at
640         least one significant change per year in the affected range:
641         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
642
643 2012-01-26  Bruno Haible  <bruno@clisp.org>
644
645         pipe2: refine doc about thread-safety
646         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
647         multithread-safety problem.
648         * doc/glibc-functions/accept4.texi: Likewise.
649
650 2012-01-26  Bruno Haible  <bruno@clisp.org>
651
652         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
653         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
654         In the test program, include <fcntl.h>, for O_RDONLY.
655
656 2012-01-26  Eric Blake  <eblake@redhat.com>
657
658         pipe2: document lack of thread-safety in replacement
659         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
660         issue in replacement.
661         * doc/glibc-functions/accept4.texi (accept4): Likewise.
662         Based on a report by Eric Wong.
663
664 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
665             Bruno Haible  <bruno@clisp.org>
666
667         malloca: Avoid warnings on x86_64 mingw64.
668         * lib/malloca.c: Include <stdint.h>.
669         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
670         * modules/malloca (Depends-on): Add stdint.
671         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
672
673 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
674
675         obstack: remove __STDC__ conditionals
676         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
677         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
678         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
679         m4/include_next.m4 as the only gnulib-maintained places that still
680         refer to __STDC__.
681
682 2012-01-24  Bruno Haible  <bruno@clisp.org>
683
684         havelib: Modern quoting.
685         * build-aux/config.rpath: Quote 'like this', not `like this', as per
686         the recent change to the GNU coding standards.
687
688 2012-01-24  Bruno Haible  <bruno@clisp.org>
689
690         stdint: Improve support for Android.
691         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
692         Reported by Simon Josefsson <simon@josefsson.org>.
693
694 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
695
696         doc: omit trailing empty lines from INSTALL etc.
697         * doc/Makefile (INSTALL): Omit trailing empty lines.
698         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
699         omit trailing empty lines.  This simplifies the build procedure.
700
701 2012-01-23  Jim Meyering  <meyering@redhat.com>
702
703         tests: avoid spurious warnings about gl_sockets_startup
704         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
705         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
706         reporting a "statement with no effect".
707         * tests/test-accept.c (main): Mark as "(void)".
708         * tests/test-accept4.c (main): Likewise.
709         * tests/test-bind.c (main): Likewise.
710         * tests/test-connect.c (main): Likewise.
711         * tests/test-getpeername.c (main): Likewise.
712         * tests/test-getsockname.c (main): Likewise.
713         * tests/test-getsockopt.c (main): Likewise.
714         * tests/test-listen.c (main): Likewise.
715         * tests/test-recv.c (main): Likewise.
716         * tests/test-recvfrom.c (main): Likewise.
717         * tests/test-send.c (main): Likewise.
718         * tests/test-sendto.c (main): Likewise.
719         * tests/test-setsockopt.c (main): Likewise.
720         * tests/test-shutdown.c (main): Likewise.
721
722 2012-01-21  Bruno Haible  <bruno@clisp.org>
723
724         locale-fr.m4: Fix for Android.
725         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
726         failure of the test program on Bionic libc.
727
728 2012-01-21  Jim Meyering  <meyering@redhat.com>
729
730         bootstrap: fail when bootstrap_post_import_hook fails
731         Otherwise, it's far too easy to miss diagnostics emitted
732         between gnulib-tool's output and that of running configure.
733         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
734
735 2012-01-17  Jim Meyering  <meyering@redhat.com>
736
737         maint: enable sc_trailing_blank
738         * build-aux/pmccabe.css: Remove trailing blanks.
739         * doc/acl-cygwin.txt: Likewise.
740         * doc/gnu-oids.texi: Likewise
741         * cfg.mk: Enable sc_trailing_blank.
742         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
743
744 2012-01-17  Jim Meyering  <meyering@redhat.com>
745
746         maint: enable sc_prohibit_openat_without_use
747         * cfg.mk: Enable sc_prohibit_openat_without_use.
748         Exempt lib/selinux-at.c.
749
750 2012-01-17  Jim Meyering  <meyering@redhat.com>
751
752         maint: enable sc_prohibit_cloexec_without_use
753         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
754         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
755
756 2012-01-17  Jim Meyering  <meyering@redhat.com>
757
758         maint: enable sc_prohibit_intprops_without_use
759         * cfg.mk: Enable sc_prohibit_intprops_without_use
760         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
761
762 2012-01-17  Jim Meyering  <meyering@redhat.com>
763
764         maint: enable sc_prohibit_hash_pjw_without_use
765         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
766         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
767         to match any use of \<hash_pjw\>, i.e., not necessarily with a
768         following " (".
769
770 2012-01-17  Jim Meyering  <meyering@redhat.com>
771
772         maint: enable double-word-prohibiting rule
773         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
774         Exempt three files.
775
776 2012-01-17  Jim Meyering  <meyering@redhat.com>
777
778         maint: remove empty lines at EOF, but excluding modules/*
779         Apply syntax rules at home as well as abroad.  Most changes
780         were induced by running this:
781           make srcdir=. _build-aux=build-aux -f top/maint.mk \
782             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
783             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
784         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
785         Exempt modules/* and two binary files.
786         Also exempt doc/INSTALL*, per request from Bruno Haible.
787         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
788         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
789         * doc/Copyright/request-assign.future: Likewise.
790         * doc/Copyright/request-disclaim.changes: Likewise.
791         * doc/INSTALL: Likewise.
792         * doc/INSTALL.ISO: Likewise.
793         * doc/INSTALL.UTF-8: Likewise.
794         * doc/acl-cygwin.txt: Likewise.
795         * doc/acl-resources.txt: Likewise.
796         * doc/fdl-1.2.texi: Likewise.
797         * doc/fdl-1.3.texi: Likewise.
798         * doc/fdl.texi: Likewise.
799         * lib/argp-pin.c: Likewise.
800         * lib/round.c: Likewise.
801         * lib/unicase/u16-totitle.c: Likewise.
802         * lib/unictype/block_test.c: Likewise.
803         * lib/uninorm/canonical-decomposition.c: Likewise.
804         * m4/README: Likewise.
805         * m4/relocatable-lib.m4: Likewise.
806         * tests/test-isnand-nolibm.c: Likewise.
807         * tests/test-isnand.c: Likewise.
808         * tests/uninorm/NormalizationTest.txt: Likewise.
809
810 2012-01-17  Jim Meyering  <meyering@redhat.com>
811
812         maint: add framework to run syntax-check rules against gnulib sources
813         * cfg.mk: New file, to disable all currently-failing tests.
814         We'll enable them one by one, as they are made to pass.
815         * Makefile (sc_maint): New rule.
816
817 2012-01-21  Bruno Haible  <bruno@clisp.org>
818
819         stdint: Add support for Android.
820         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
821         include the system's <stdint.h>.
822         Reported by Simon Josefsson <simon@josefsson.org>.
823
824 2012-01-19  Jim Meyering  <meyering@redhat.com>
825
826         bootstrap: add bootstrap_post_import_hook
827         Bison does still need something like the gnulib_mk_hook whose
828         invocation I had to remove along with slurp in commit 767ccd40.
829         Technically, we could get along without it, but doing so would
830         have required living with a warning and a mandatory post-bootstrap
831         automake rerun.
832         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
833         (bootstrap_post_import_hook): New function.
834         Invoke it after gnulib-tool --import and before autoreconf.
835
836 2012-01-18  Jim Meyering  <meyering@redhat.com>
837
838         gitlog-to-changelog: don't use "no_"-prefixed variable name
839         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
840         to enable both --cluster and --no-cluster.  Change variable name,
841         s/\$no_cluster/$cluster/, and reverse usage to match.
842
843         gitlog-to-changelog: use "||", not "or" in expressions
844         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
845         expressions.
846
847 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
848
849         gitlog-to-changelog: new option --no-cluster
850         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
851         clustering of adjacent commit messages.
852
853 2012-01-17  Jim Meyering  <meyering@redhat.com>
854
855         maint: spell file systems with two words, not one
856         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
857         two words, not one.
858
859 2012-01-16  Jim Meyering  <meyering@redhat.com>
860
861         bootstrap: add a FIXME comment to ensure we eventually remove the hack
862         * build-aux/bootstrap (gnulib_tool_options): Add comment.
863
864 2012-01-16  Eric Blake  <eblake@redhat.com>
865
866         bootstrap: cater to autoconf 2.59
867         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
868         is not available.
869
870         bootstrap: properly check for libtool
871         * build-aux/bootstrap (libtoolize): Also run libtool when older
872         usage is detected.
873
874 2012-01-15  Bruno Haible  <bruno@clisp.org>
875
876         Improve support for MSVC 9.
877         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
878         clashes on MSVC.
879         * lib/fcntl.in.h: Likewise.
880         * lib/stdlib.in.h: Likewise.
881         * lib/sys_stat.in.h: Likewise.
882
883 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
884
885         gnupload: we hold the master copy of this script now
886         For motivation and more information, see:
887         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
888         * build-aux/gnupload: Make it clear in the heading comments that the
889         master copy of this file is maintained by gnulib.  Since we are at
890         it, bump its copyright year and ...
891         ($scriptversion): ... the date in its version.
892         ($usage): Patches and bug reports should be sent to the gnulib list,
893         not the automake one.
894         * config/srclist.txt: Don't try to sync 'gnupload' from automake
895         anymore.
896
897 2012-01-15  Bruno Haible  <bruno@clisp.org>
898
899         Fix module 'random'.
900         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
901         initstate, setstate are declared.
902
903 2012-01-14  Bruno Haible  <bruno@clisp.org>
904
905         Tests for module 'random'.
906         * modules/random-tests: New file.
907         * tests/test-random.c: New file, based on tests/test-random_r.c.
908
909         New module 'random'.
910         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
911         declarations.
912         * lib/random.c: New file, based on glibc/stdlib/random.c.
913         * m4/random.m4: New file.
914         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
915         HAVE_RANDOM.
916         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
917         * modules/random: New file.
918         * config/srclist.txt: Add an entry for random.c.
919         * doc/posix-functions/random.texi: Mention the 'random' module.
920         * doc/posix-functions/initstate.texi: Likewise.
921         * doc/posix-functions/setstate.texi: Likewise.
922         * doc/posix-functions/srandom.texi: Likewise.
923
924 2012-01-12  Bruno Haible  <bruno@clisp.org>
925
926         random_r: Use common idioms.
927         * lib/random_r.c: Include <stdlib.h> first.
928
929         random_r: Override incompatible API on AIX, OSF/1.
930         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
931         Override the system function if REPLACE_RANDOM_R is 1.
932         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
933         and OSF/1, set REPLACE_RANDOM_R.
934         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
935         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
936         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
937         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
938         * doc/glibc-functions/random_r.texi: Likewise.
939         * doc/glibc-functions/setstate_r.texi: Likewise.
940
941         random_r: Support for MSVC 9.
942         * lib/random_r.c: Include stdint.h, not inttypes.h.
943
944 2012-01-12  Eric Blake  <eblake@redhat.com>
945
946         inet_ntop: guard extra work by IF_LINT
947         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
948         better code generation when not checking for warnings.
949         Suggested by Paul Eggert and Jim Meyering.
950
951         strptime: fix regression on mingw
952         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
953         Fix regression.  Reported by Bruno Haible.
954
955 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
956             Bruno Haible  <bruno@clisp.org>
957
958         copy-file: add error-code-returning variant.
959         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
960         (qcopy_file_preserving): New declaration.
961         * lib/copy-file.c (qcopy_file_preserving): Renamed from
962         copy_file_preserving. Change return type to 'int'. Don't emit an error
963         message here.
964         (copy_file_preserving): New function.
965         * tests/test-copy-file.c: Include <stdlib.h>.
966         (main): Test qcopy_file_preserving if the environment variable
967         NO_STDERR_OUTPUT is set.
968         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
969         with NO_STDERR_OUTPUT
970         * tests/test-copy-file-2.sh: Likewise.
971
972 2012-01-10  Bruno Haible  <bruno@clisp.org>
973
974         copy-file: Use 'quote' module consistently.
975         * lib/copy-file.c (copy_file_preserving): Use quote().
976
977         copy-file: Refactor.
978         * lib/copy-file.c: Include quote.h.
979         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
980         message here.
981         * modules/copy-file (Depends-on): Add quote.
982
983         acl: Export qcopy_acl.
984         * lib/acl.h (qcopy_acl): New declaration.
985         * lib/copy-acl.c (qcopy_acl): Make non-static.
986
987         acl: Rename a local variable.
988         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
989
990         acl: Align return values of copy_acl and qcopy_acl.
991         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
992         maybe < -1.
993
994 2012-01-11  Eric Blake  <eblake@redhat.com>
995
996         strptime: silence gcc warnings
997         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
998         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
999         Reported by Daniel P. Berrange.
1000
1001         inet_ntop: silence gcc warning
1002         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
1003         Reported by Daniel P. Berrange.
1004
1005 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
1006
1007         getloadavg test: skip the test on GNU/Linux without /proc mounted
1008         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
1009         file.  When /proc is not mounted, it always fails with ENOENT.
1010         * tests/test-getloadavg.c (main): Treat ENOENT return code from
1011         getloadavg(3) the same way as ENOSYS and ENOTSUP.
1012
1013 2012-01-10  Bruno Haible  <bruno@clisp.org>
1014
1015         regex: Avoid link error on MSVC 9.
1016         * modules/regex (Depends-on): Add wctype.
1017
1018 2012-01-10  Bruno Haible  <bruno@clisp.org>
1019
1020         doc: Mention --with-tests option.
1021         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
1022         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
1023         --with-tests.
1024         Reported by Reuben Thomas.
1025
1026 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
1027
1028         users.txt: order package names lexicographically.
1029         * users.txt: Order package names lexicographically.
1030
1031 2012-01-10  Jim Meyering  <meyering@redhat.com>
1032
1033         maint.mk: fix description in comment
1034         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
1035
1036         ignore-value: remove deprecated ignore_ptr function
1037         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
1038         * NEWS: Note this.
1039
1040 2012-01-09  Jim Meyering  <meyering@redhat.com>
1041
1042         test-init.sh: avoid a subshell
1043         * tests/test-init.sh: Remove protective subshell.
1044         Suggested by Bernhard Voelker.  While a subshell is normally
1045         required to protect against older shells (Solaris, FreeBSD) that
1046         warn about a missing program before performing redirection, the
1047         shell-selection tests performed by init.sh probably exclude any
1048         offending shell.
1049
1050 2012-01-08  Bruno Haible  <bruno@clisp.org>
1051
1052         setlocale tests: Avoid test failure on Solaris 11 2011-11.
1053         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
1054         variable.
1055
1056 2012-01-08  Bruno Haible  <bruno@clisp.org>
1057
1058         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
1059         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
1060         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
1061         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
1062         macro.
1063         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
1064         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
1065         * lib/spawn_faction_addopen.c: Add workaround implementation if
1066         HAVE_WORKING_POSIX_SPAWN.
1067         * modules/spawn (Makefile): Substitute
1068         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
1069         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
1070         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
1071         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
1072         (Depends-on): Update conditions.
1073         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
1074         the Solaris 11 bug.
1075
1076 2012-01-08  Bruno Haible  <bruno@clisp.org>
1077
1078         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
1079         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
1080         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
1081         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
1082         macro.
1083         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
1084         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
1085         * lib/spawn_faction_adddup2.c: Add workaround implementation if
1086         HAVE_WORKING_POSIX_SPAWN.
1087         * modules/spawn (Makefile): Substitute
1088         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
1089         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
1090         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
1091         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
1092         (Depends-on): Update conditions.
1093         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
1094         the Solaris 11 bug.
1095
1096 2012-01-08  Bruno Haible  <bruno@clisp.org>
1097
1098         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
1099         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
1100         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
1101         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
1102         HAVE_WORKING_POSIX_SPAWN.
1103         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
1104         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
1105         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
1106         * lib/spawn_faction_addclose.c: Add workaround implementation if
1107         HAVE_WORKING_POSIX_SPAWN.
1108         * modules/spawn (Makefile): Substitute
1109         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
1110         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
1111         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
1112         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
1113         (Depends-on): Update conditions.
1114         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
1115         the Solaris 11 bug.
1116
1117 2012-01-08  Bruno Haible  <bruno@clisp.org>
1118
1119         doc: Update for Solaris 11 2011-11.
1120         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
1121         * m4/printf.m4: Update comments.
1122
1123 2012-01-08  Bruno Haible  <bruno@clisp.org>
1124
1125         mktime: Avoid compilation error on Solaris 11.
1126         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
1127
1128 2012-01-08  Bruno Haible  <bruno@clisp.org>
1129
1130         doc: Small fix.
1131         * doc/posix-headers/nl_types.texi: Correct platforms list.
1132
1133 2012-01-08  Simon Josefsson  <simon@josefsson.org>
1134
1135         Add lgpl-3.0 module.
1136         * MODULES.html.sh (Support for building documentation): Add
1137         lgpl-3.0.
1138         * modules/lgpl-3.0: New file.
1139
1140 2012-01-08  Jim Meyering  <meyering@redhat.com>
1141
1142         select.c: indent with spaces, not TABs
1143         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
1144
1145 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
1146
1147         quotearg: do not use grave accent for left quote
1148         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
1149         locale_quoting_style.
1150         (quotearg_buffer_restyled): Fix example.
1151         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
1152
1153 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
1154
1155         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
1156         Most programs do not have translation catalogs for English and much
1157         less separate catalogs for British and American English.  Drop the
1158         suggestion to translators about these two, and provide it
1159         automatically for Unicode locales.  Like most programs, even those
1160         using American English, we use single quotation marks.  This conflicts
1161         with the American typographic convention, but works better when you
1162         cite the entire error message within double quotes.  It also tries not
1163         to clash with established practice and with what non-gnulib programs
1164         will usually do.
1165         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
1166         using an UTF-8 or GB-18030 locale.  The list of other locales with
1167         quotes was provided by Bruno Haible.
1168         (quotearg_buffer_restyled): Adjust instructions to translators.
1169         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
1170         text, since this would be wrong when using Unicode.
1171         * modules/quotearg: Depend on c-strcaseeq.
1172
1173 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
1174
1175         quotearg: fix Wikipedia link
1176         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
1177
1178 2012-01-07  Simon Josefsson  <simon@josefsson.org>
1179
1180         Fix for mingw with MSVC9.
1181         * m4/ld-version-script.m4: Check that compiler rejects version
1182         scripts with syntax errors.  Reported by Bruno Haible
1183         <bruno@clisp.org>.
1184
1185 2012-01-06  Bruno Haible  <bruno@clisp.org>
1186
1187         Talk about "native Windows API", not "Woe32".
1188         * lib/accept4.c: Update comments to mention native Windows.
1189         * lib/execute.c: Likewise.
1190         * lib/fatal-signal.c: Likewise.
1191         * lib/localcharset.c: Likewise.
1192         * lib/nanosleep.c: Likewise.
1193         * lib/nl_langinfo.c: Likewise.
1194         * lib/pclose.c: Likewise.
1195         * lib/pipe-filter-gi.c: Likewise.
1196         * lib/pipe-filter-ii.c: Likewise.
1197         * lib/pipe.c: Likewise.
1198         * lib/pipe2.c: Likewise.
1199         * lib/popen.c: Likewise.
1200         * lib/progreloc.c: Likewise.
1201         * lib/relocatable.c: Likewise.
1202         * lib/sigaction.c: Likewise.
1203         * lib/sigprocmask.c: Likewise.
1204         * lib/spawn-pipe.h: Likewise.
1205         * lib/spawn-pipe.c: Likewise.
1206         * lib/spawni.c: Likewise.
1207         * lib/stat-time.h: Likewise.
1208         * lib/w32spawn.h: Likewise.
1209         * tests/test-isatty.c: Likewise.
1210         * lib/config.charset: More comments.
1211         * doc/gnulib-intro.texi: Mention native Windows.
1212         * doc/posix-functions/_Exit_C99.texi: Likewise.
1213         * doc/posix-headers/fcntl.texi: Likewise.
1214
1215 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
1216
1217         argp: Avoid crash if translator uses % characters in a translation.
1218         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
1219         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
1220
1221 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
1222
1223         doc: C11 and C++11 are now official
1224         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
1225         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
1226         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
1227         * modules/stdalign:
1228         Replace references to draft C1X to C11, and to draft C++0X to C++11.
1229
1230 2012-01-06  Bruno Haible  <bruno@clisp.org>
1231
1232         uc-is-grapheme-break tests: Tweak.
1233         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
1234         message.
1235
1236 2012-01-06  Bruno Haible  <bruno@clisp.org>
1237
1238         test-init.sh: correct the test for diff -u
1239         * tests/test-init.sh: Also redirect stdout to /dev/null.
1240
1241 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1242
1243         Use ', not `, for quoting output.
1244         * build-aux/announce-gen (usage, sizes, print_news_deltas)
1245         (print_changelog_deltas, get_tool_versions, main program):
1246         * build-aux/git-version-gen:
1247         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
1248         * build-aux/move-if-change (help):
1249         * build-aux/useless-if-before-free (usage, main program):
1250         * check-module (parse_module_file, usage)
1251         (find_included_lib_files, check_module):
1252         * lib/argmatch.c (main) [TEST]:
1253         * lib/argp-help.c (_help):
1254         * lib/getopt1.c (main) [TEST]:
1255         * lib/git-merge-changelog.c (usage):
1256         * lib/xstrtol-error.c (xstrtol_error):
1257         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
1258         * m4/argz.m4 (gl_FUNC_ARGZ):
1259         * m4/bison.m4 (gl_BISON):
1260         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
1261         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
1262         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
1263         * m4/fpending.m4 (gl_PREREQ_FPENDING):
1264         * m4/gc-random.m4 (gl_GC_RANDOM):
1265         * m4/intl.m4 (gt_CHECK_DECL):
1266         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
1267         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
1268         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
1269         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
1270         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
1271         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
1272         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
1273         * tests/test-dirname.c (main):
1274         * tests/test-getpass.c (main):
1275         * tests/test-iconvme.c (main):
1276         * tests/test-parse-datetime.c (LOG):
1277         * tests/test-xstrtoimax.sh:
1278         * tests/test-xstrtol.sh:
1279         * tests/test-xstrtoll.sh:
1280         * tests/test-xstrtoumax.sh:
1281         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
1282         * top/GNUmakefile (abort-due-to-no-makefile):
1283         Quote 'like this', not `like this', as per the recent change to
1284         the GNU coding standards.
1285
1286 2012-01-05  Bruno Haible  <bruno@clisp.org>
1287
1288         strtoimax: Don't force a replacement on systems where intmax_t is int.
1289         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
1290         'intmax_t' is not larger than 'int'.
1291         Reported by Pádraig Brady <P@draigBrady.com>.
1292
1293 2012-01-05  Bruno Haible  <bruno@clisp.org>
1294
1295         doc: Mention NetBSD bugs.
1296         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
1297         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
1298
1299 2012-01-05  Bruno Haible  <bruno@clisp.org>
1300
1301         strtoumax tests: Enhance tests.
1302         * tests/test-strtoumax.c (main): Add tests for large values.
1303
1304 2012-01-05  Bruno Haible  <bruno@clisp.org>
1305
1306         strtoimax: Work around AIX 5.1 bug.
1307         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
1308         definition.
1309         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
1310         Set HAVE_STRTOIMAX.
1311         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
1312         REPLACE_STRTOIMAX.
1313         * modules/inttypes-incomplete (Makefile.am): Substitute
1314         REPLACE_STRTOIMAX.
1315         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
1316         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
1317         (Depends-on): Update conditions.
1318         * tests/test-strtoimax.c (main): Add tests for large values.
1319         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
1320
1321 2012-01-05  Bruno Haible  <bruno@clisp.org>
1322
1323         inttypes: Modernize.
1324         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
1325         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
1326         (Makefile.am): Update inttypes.h rule.
1327
1328 2012-01-05  Jim Meyering  <meyering@redhat.com>
1329
1330         init.sh: don't waste a subshell just to redirect stderr
1331         * tests/init.sh: In testing for diff -u and diff -c, use a
1332         stderr-redirecting exec inside `...` rather than a subshell.
1333
1334         test-init.sh: avoid failure on HP-UX 11.00
1335         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
1336         resolves to diff -c or cmp.  Reported by Bruno Haible.
1337
1338 2012-01-05  Bruno Haible  <bruno@clisp.org>
1339
1340         Tests for module 'strtoull'.
1341         * modules/strtoull-tests: New file.
1342         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
1343
1344 2012-01-05  Bruno Haible  <bruno@clisp.org>
1345
1346         Tests for module 'strtoll'.
1347         * modules/strtoll-tests: New file.
1348         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
1349
1350 2012-01-05  Bruno Haible  <bruno@clisp.org>
1351
1352         Tests for module 'strtoul'.
1353         * modules/strtoul-tests: New file.
1354         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
1355
1356 2012-01-05  Bruno Haible  <bruno@clisp.org>
1357
1358         Tests for module 'strtol'.
1359         * modules/strtol-tests: New file.
1360         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
1361
1362 2012-01-04  Jim Meyering  <meyering@redhat.com>
1363
1364         test-init.sh: accommodate Solaris 5.10's different diff -u output
1365         * tests/test-init.sh: Also exempt @@ lines from the comparison
1366         of diff output, since Solaris 5.10 and GNU diff formats differ.
1367         Reported by Stefano Lattarini.
1368
1369 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
1370
1371         test-posixtm: don't assume signed integer wraparound
1372         * tests/test-posixtm.c (main): Don't assume wraparound semantics
1373         after signed integer overflow.  Inspired by (though it may not
1374         fix) Bruno Haible's bug report in
1375         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
1376
1377         Spell out "Windows 9x" and "Windows XP".
1378         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
1379         "Windows 9x" and "WinXP" with "Windows XP".
1380
1381 2012-01-04  Jim Meyering  <meyering@redhat.com>
1382
1383         test-vc-list-files-cvs.sh: remove obsolete comment
1384         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
1385         double exit.  Now that's all encapsulated via skip_ and Exit.
1386
1387 2012-01-04  Bruno Haible  <bruno@clisp.org>
1388
1389         Talk about "native Windows API", not "Win32".
1390         * lib/classpath.c: Update comments to mention native Windows.
1391         * lib/csharpexec.c: Likewise.
1392         * lib/dup2.c: Likewise.
1393         * lib/error.c: Likewise.
1394         * lib/fcntl.c: Likewise.
1395         * lib/filename.h: Likewise.
1396         * lib/findprog.c: Likewise.
1397         * lib/get-rusage-as.c: Likewise.
1398         * lib/get-rusage-data.c: Likewise.
1399         * lib/getpagesize.c: Likewise.
1400         * lib/javaexec.c: Likewise.
1401         * lib/msvc-inval.c: Likewise.
1402         * lib/msvc-nothrow.c: Likewise.
1403         * lib/nanosleep.c: Likewise.
1404         * lib/nonblocking.c: Likewise.
1405         * lib/printf-parse.c: Likewise.
1406         * lib/setlocale.c: Likewise.
1407         * lib/sigaction.c: Likewise.
1408         * lib/strerror_r.c: Likewise.
1409         * lib/tmpdir.c: Likewise.
1410         * lib/vasnprintf.c: Likewise.
1411         * lib/w32spawn.h: Likewise.
1412         * lib/waitpid.c: Likewise.
1413         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
1414         * m4/locale-ar.m4: Likewise.
1415         * m4/locale-fr.m4: Likewise.
1416         * m4/locale-ja.m4: Likewise.
1417         * m4/locale-tr.m4: Likewise.
1418         * m4/locale-zh.m4: Likewise.
1419         * m4/printf.m4: Likewise.
1420         * tests/test-cloexec.c: Likewise.
1421         * tests/test-copy-acl.sh: Likewise.
1422         * tests/test-copy-file.sh: Likewise.
1423         * tests/test-file-has-acl.sh: Likewise.
1424         * tests/test-set-mode-acl.sh: Likewise.
1425         * tests/test-dup-safer.c: Likewise.
1426         * tests/test-dup2.c: Likewise.
1427         * tests/test-dup3.c: Likewise.
1428         * tests/test-fcntl.c: Likewise.
1429         * tests/test-nonblocking-pipe.h: Likewise.
1430         * tests/test-nonblocking-socket.h: Likewise.
1431         * tests/test-pipe.c: Likewise.
1432         * tests/test-pipe2.c: Likewise.
1433         * tests/test-spawn-pipe-child.c: Likewise.
1434         * doc/acl-resources.txt: Likewise.
1435         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
1436         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
1437         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
1438         * lib/localcharset.c: Update comments to mention native Windows.
1439         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
1440         * lib/localename.c: Likewise.
1441         * lib/progreloc.c: Likewise.
1442         * lib/relocatable.c: Likewise.
1443         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
1444         (windows_compute_revents): Renamed from win32_compute_revents.
1445         (windows_compute_revents_socket): Renamed from
1446         win32_compute_revents_socket.
1447         * lib/select.c: Update comments to mention native Windows.
1448         (windows_poll_handle): Renamed from win32_poll_handle.
1449         * m4/threadlib.m4: Update comments to mention native Windows.
1450         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
1451         --enable-threads=windows instead of --enable-threads=win32. Set
1452         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
1453         * lib/glthread/lock.h: Update comments to mention native Windows.
1454         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
1455         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
1456         USE_WIN32_THREADS.
1457         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
1458         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
1459         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
1460         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
1461         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
1462         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
1463         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
1464         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
1465         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
1466         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
1467         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
1468         * tests/test-tls.c: Likewise.
1469         Rationale:
1470         Microsoft renamed the "Win32 API" to "Windows API", as it is available
1471         on both 32-bit and 64-bit Windows systems.
1472         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
1473         line of distinction is between "native Windows" on one side and Unix/
1474         POSIX systems on the other side. More details in
1475         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
1476         Suggested by Paul Eggert.
1477
1478 2012-01-03  Bruno Haible  <bruno@clisp.org>
1479
1480         isatty: Support for MSVC 9.
1481         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
1482         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
1483         (_isatty_nothrow): New function.
1484         (isatty): Use it instead of _isatty.
1485         (IsConsoleHandle): Add comment, from Paolo Bonzini.
1486         * lib/poll.c (IsConsoleHandle): Likewise.
1487         * lib/select.c (IsConsoleHandle): Likewise.
1488         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
1489         (gl_PREREQ_ISATTY): New macro.
1490         * modules/isatty (Depends-on): Add msvc-inval.
1491         (configure.ac): Invoke gl_PREREQ_ISATTY.
1492
1493 2012-01-03  Jim Meyering  <meyering@redhat.com>
1494
1495         maint.mk: remove temporary transition aid from over 1.5 years ago
1496         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
1497         purpose was to aid in the transition (avoiding silent malfunction)
1498         from that old name to the new _sc_search_regexp.  This shim was
1499         added by commit 219c504b.
1500
1501         init.sh: do not try to accommodate compare arguments starting with "-"
1502         * tests/init.sh (compare_dev_null_): Do not try to accommodate
1503         compare arguments that start with "-".  Besides, we do not worry
1504         about this when invoking diff or cmp; why start now with sed?
1505         Using "--" to separate options from argument would trigger sed
1506         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
1507         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
1508
1509 2012-01-02  Bruno Haible  <bruno@clisp.org>
1510
1511         Enhance tests for module 'isatty'.
1512         * modules/isatty-tests (Depends-on): Add pipe-posix.
1513         * tests/test-isatty.c: Include <fcntl.h>.
1514         (DEV_NULL): New macro.
1515         (main): Test the resut of isatty() also on regular files, pipes, and
1516         /dev/null.
1517
1518         New module 'isatty'.
1519         * lib/unistd.in.h (isatty): New declaration.
1520         * lib/isatty.c: New file, based on an idea of
1521         Bastien Roucariès <roucaries.bastien@gmail.com>.
1522         * m4/isatty.m4: New file.
1523         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
1524         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
1525         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
1526         REPLACE_ISATTY.
1527         * modules/isatty: New file.
1528         * doc/posix-functions/isatty.texi: Mention the new module.
1529         Suggested by Paolo Bonzini.
1530
1531 2012-01-02  Bruno Haible  <bruno@clisp.org>
1532
1533         canonicalize: Tweak 2011-12-29 commit.
1534         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
1535         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
1536
1537 2012-01-02  Jim Meyering  <meyering@redhat.com>
1538
1539         gitlog-to-changelog: describe input syntax in --help output
1540         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
1541
1542         gitlog-to-changelog: fix typo in --help: show backslash before email @
1543         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
1544         in sources, but not in actual output.
1545
1546 2011-12-30  Jim Meyering  <meyering@redhat.com>
1547
1548         gitlog-to-changelog: don't malfunction when name contains %-directive
1549         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
1550         in a name string cause trouble.  E.g., with a user name of "%s",
1551         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
1552
1553 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
1554
1555         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
1556         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
1557         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
1558         the "  (tiny change)" notation that is appended to the standard
1559         ChangeLog "date  name  email" header line.
1560
1561 2012-01-01  Jim Meyering  <meyering@redhat.com>
1562
1563         test-framework-sh: init.sh: fix "make dist" failure
1564         When using gnulib-tool's --with-tests option and any module that
1565         depends on test-framework-sh, "make dist" would fail due to the
1566         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
1567         in the gltests directory, and not in the gllib/ directory.
1568         One way to work around that is to move the EXTRA_DIST += init.sh
1569         from the primary module to the -tests one:
1570         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
1571         * modules/test-framework-sh (Makefile.am): ...not here.
1572         Reported by Tom G. Christensen in
1573         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
1574
1575         version-etc: update copyright year reported by --version
1576         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
1577
1578 2011-12-31  Pádraig Brady  <P@draigBrady.com>
1579
1580         canonicalize: only stat() if required
1581         * lib/canonicalize.c (canonicalize_filename_mode):
1582         Avoid calling l?stat() when both CAN_MISSING,
1583         and CAN_NOLINKS are set, as we neither need
1584         to resolve symlinks or test component existence.
1585
1586 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
1587
1588         doc: cover st_ino issues once; add OpenVMS etc.
1589         * doc/posix-functions/stat.texi (stat):
1590         * doc/posix-functions/lstat.texi (lstat):
1591         * doc/posix-functions/fstatat.texi (fstatat):
1592         * doc/posix-functions/fstat.texi (fstat):
1593         Move general 'struct stat' stuff to sys_stat.texi,
1594         leaving behind a pointer.
1595         * doc/posix-headers/sys_stat.texi (sys/stat.h):
1596         Merge duplicate info about 'struct stat' problems into here.
1597         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
1598         and suggest partial workarounds.
1599
1600         same-inode: port to OpenVMS
1601         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
1602         three st_ino values.
1603
1604 2011-12-30  Pádraig Brady  <P@draigBrady.com>
1605
1606         canonicalize: fix references to stat() and lstat()
1607         * lib/canonicalize.c (canonicalize_filename_mode):
1608         Ensure references always resolve to a replacement
1609         function if required (even via a macro).
1610
1611 2011-12-30  Jim Meyering  <meyering@redhat.com>
1612
1613         gitlog-to-changelog: remove a little duplication
1614         * build-aux/gitlog-to-changelog (main): Grep @lines once,
1615         rather than twice.
1616
1617 2011-12-29  Pádraig Brady  <P@draigBrady.com>
1618
1619         canonicalize: add support for not resolving symlinks
1620         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
1621         indicate we don't want to follow symlinks.  Also
1622         provide CAN_MODE_MASK to aid setting these existing
1623         mutually exclusive values.
1624         * lib/canonicalize.c (canonicalize_filename_mode):
1625         Extract the flags from can_mode parameter, which
1626         are currently just used to select between stat()
1627         and lstat().  Also ensure that mutually exclusive
1628         values are flagged immediately as invalid.
1629         * tests/test-canonicalize.c: Verify symlinks are
1630         not followed, and that invalid flag combinations
1631         are diagnosed.
1632
1633 2011-12-25  Jim Meyering  <meyering@redhat.com>
1634
1635         gitlog-to-changelog: do not clump multi-paragraph entries
1636         Identical header lines (date,name,email+coauthors) are suppressed,
1637         thus putting all entries with those same characteristics under
1638         a single header.  However, when a log entry consists of two or
1639         more paragraphs, it may not be clear where it starts and ends.
1640         This change makes it so that such an entry is always separated
1641         from others by a header line, even when that header would
1642         otherwise be suppressed.
1643         * build-aux/gitlog-to-changelog: Implement the above.
1644         Inspired by a related request from Stefano Lattarini in
1645         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
1646
1647 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
1648
1649         announce-gen: fix `cmd' typo in diagnostic
1650         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
1651         diagnostic: a missing '$' meant that the command was not output.
1652
1653 2011-12-23  Jim Meyering  <meyering@redhat.com>
1654
1655         test-framework-sh: distribute init.sh
1656         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
1657         Otherwise, "make -C gnulib-tests check" (at least in grep) would
1658         fail due to the lack of init.sh.
1659
1660         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
1661         * modules/atexit-tests: Rather than listing tests/init.sh,
1662         now that there's a module for it, simply depend on that new module.
1663         * modules/closein-tests: Likewise.
1664         * modules/exclude-tests: Likewise.
1665         * modules/getcwd-tests: Likewise.
1666         * modules/perror-tests: Likewise.
1667         * modules/pread-tests: Likewise.
1668         * modules/pwrite-tests: Likewise.
1669         * modules/vc-list-files-tests: Likewise.
1670         * modules/verify-tests: Likewise.
1671         * modules/xalloc-die-tests: Likewise.
1672         * modules/xstrtoimax-tests: Likewise.
1673         * modules/xstrtol-tests: Likewise.
1674         * modules/xstrtoll-tests: Likewise.
1675         * modules/xstrtoumax-tests: Likewise.
1676         * modules/yesno-tests: Likewise.
1677
1678 2011-12-22  Jim Meyering  <meyering@redhat.com>
1679
1680         test-framework-sh: add minimal tests of init.sh's compare function
1681         * modules/test-framework-sh-tests: New file.
1682         * tests/test-init.sh: New file.
1683
1684         test-framework-sh: new module
1685         * modules/test-framework-sh: New file.
1686         * MODULES.html.sh (Support for maintaining and releasing projects):
1687         List it.
1688
1689         init.sh: do not emit simulated diff output to stderr
1690         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
1691
1692 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
1693
1694         .gitignore: ignore gnulib.dvi and regex.info
1695         * doc/.gitignore:add gnulib.dvi and regex.info
1696
1697 2011-12-22  Jim Meyering  <meyering@redhat.com>
1698
1699         init.sh: correct previous change
1700         * tests/init.sh (compare): My previous change was wrong.
1701         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
1702
1703         init.sh: avoid unwarranted test failure when using "set -e"
1704         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
1705         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
1706         a use like "compare exp out" would get evoke an unconditional failure.
1707
1708 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
1709
1710         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
1711         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
1712         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
1713         autoreconf that did not.
1714         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
1715         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
1716
1717 2011-12-17  Jim Meyering  <meyering@redhat.com>
1718
1719         bootstrap: remove some now-unneeded code
1720         This script arose back when gnulib-tool was young.
1721         Since then, it has seen improvements that render much of this
1722         script unnecessary.  In particular, it can now make symlinks
1723         to the files it uses.  Also, I no longer see as much value in
1724         marking files as read-only via comments.
1725         If you relied on the symlink-creation feature of the preceding
1726         version of this script, you can get most of that functionality
1727         by adding the --symlink option to the definition of
1728         gnulib_tool_option_extras in your bootstrap.conf file.
1729         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
1730         Run autopoint and libtoolize *before* gnulib-tool.
1731         After it, run an abbreviated autoreconf, rather than a loop around
1732         all tools.
1733         (slirp, bt_mark_as_generated): Remove functions.
1734
1735 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1736
1737         ftoastr: fix typo
1738         * lib/ftoastr.h: Fix misspelling in comment.
1739
1740 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
1741
1742         * top/README-release: fix punctuation.
1743
1744 2011-12-17  Jim Meyering  <meyering@redhat.com>
1745
1746         bootstrap: correct the recent buildreq change
1747         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
1748         had no effect.
1749         * build-aux/bootstrap (buildreq): Bracket each search term with
1750         "*...*", so that the shell "case" statement works as intended.
1751         Add comments.
1752
1753 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
1754
1755         build: let bootstrap resort to wget when downloading .po files
1756         * build-aux/bootstrap (download_po_files): Fallback to wget when
1757         downloading the .po files via rsync fails.  This is necessary to
1758         bootstrap from behind a strict firewall.
1759
1760 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
1761
1762         stdint: don't assume C++11 when compiling with g++
1763         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
1764         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
1765         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
1766         work also in C++ before C++11, as that improperly inhibits
1767         generating a substitute stdint.h for that case.
1768
1769 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
1770
1771         alloca: protect comment from gnulib-tool
1772         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
1773         that gnulib-tool doesn't think it's a license, and munge it to
1774         say "GCC version 3".
1775
1776 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
1777
1778         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
1779         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
1780         $(abs_top_builddir) instead of $(top_builddir).
1781
1782 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
1783
1784         strftime-tests: also test nanoseconds
1785         * tests/test-strftime.c (T): Add a test of %N.
1786
1787 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
1788
1789         inttypes, stdint: add C++11 support
1790         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
1791         when including inttypes.h and stdint.h.  Support this change to
1792         the standard.
1793         * doc/posix-headers/inttypes.texi (inttypes.h):
1794         * doc/posix-headers/stdint.texi (stdint.h): Document this.
1795         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
1796         Define if not defined already, for the benefit of pre-C++11 hosts.
1797         Define the standard format macros (e.g., PRId8) always.
1798         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
1799         Likewise, if __cpluspus.  Define the standard constant and limit
1800         macros (e.g., INT8_C, INT8_MAX) always.
1801         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
1802         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
1803         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
1804         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
1805         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
1806         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
1807         Likewise.
1808
1809 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
1810
1811         nonblocking tests: Fix test failure on Linux/PPC.
1812         Suggested by Prerna Saxena in
1813         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
1814         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
1815         Set to 1100000.
1816
1817 2011-12-12  Jim Meyering  <meyering@redhat.com>
1818
1819         argmatch: don't hard-code `' when listing valid option arguments
1820         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
1821         use the quote function to add quotes.  Use fputs rather than
1822         fprintf for the format string with no format directive.
1823
1824 2011-12-07  Eric Blake  <eblake@redhat.com>
1825
1826         bootstrap: detect tools required by gnulib-tool
1827         * build-aux/bootstrap (buildreq): Provide minimum implicit
1828         dependencies.
1829         * DEPENDENCIES: Mention patch as a prereq.
1830
1831 2011-12-04  Bruno Haible  <bruno@clisp.org>
1832
1833         sethostname: Port to Windows platforms.
1834         * lib/sethostname.c: Provide an alternate implementation for Windows
1835         platforms.
1836         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
1837         (main): Skip the test if sethostname() fails with EPERM. On Windows
1838         platforms, don't check the result of gethostname().
1839
1840 2011-12-04  Bruno Haible  <bruno@clisp.org>
1841             Jim Meyering  <meyering@redhat.com>
1842
1843         tests: Avoid spurious error message on platforms without mktemp program.
1844         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
1845
1846 2011-12-04  Bruno Haible  <bruno@clisp.org>
1847
1848         sethostname: Fix documentation.
1849         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
1850         "not fixed" section.
1851
1852 2011-12-03  Bruno Haible  <bruno@clisp.org>
1853
1854         gnulib-tool: Verify that the License field is present and non-empty.
1855         * gnulib-tool (func_get_license_raw): New function, extracted from
1856         func_get_license.
1857         (func_get_license): Use it. Warn if the module is not a test module and
1858         has no license.
1859         Suggested by Jim Meyering.
1860
1861 2011-12-03  Bruno Haible  <bruno@clisp.org>
1862
1863         sethostname tests: Fix link error on mingw.
1864         * tests/test-sethostname1.c: New file, extracted from
1865         tests/test-sethostname.c.
1866         * tests/test-sethostname2.c: New file, extracted from
1867         tests/test-sethostname.c.
1868         * tests/test-sethostname.c: Remove file.
1869         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
1870         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
1871         (Depends-on): Add gethostname.
1872         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
1873         Link the latter with $(GETHOSTNAME_LIB).
1874
1875         sethostname tests: Fix compilation error on mingw.
1876         * tests/test-sethostname.c: Don't include <sys/types.h>.
1877         (geteuid): Use a dummy value without uid_t.
1878         * modules/sethostname-tests (Depends-on): Remove sys_types.
1879
1880         sethostname tests: Avoid a gcc warning.
1881         * tests/test-sethostname.c (main): Remove an unused variable.
1882
1883         Tweak last commit.
1884         * modules/sethostname-tests (Files): Sort by decreasing importance.
1885         (configure.ac): Check for geteuid.
1886         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
1887         the test when there's nothing to test. Drop an unnecessary cast.
1888         Improve an error message. Verify that the final sethostname() call
1889         succeeds.
1890
1891 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
1892
1893         Add a test suite for the sethostname module.
1894         * modules/sethostname-tests: New file.  A test program
1895         for the sethostname module.
1896         * tests/test-sethostname.c: Likewise.
1897
1898 2011-12-03  Bruno Haible  <bruno@clisp.org>
1899
1900         Tweak last commit.
1901         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
1902         Fix preprocessor directives indentation. Fix typos.
1903         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
1904         * modules/unistd (Makefile): Likewise.
1905
1906 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
1907
1908         Integrate the sethostname module into unistd.
1909         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
1910         into the unistd.h header.
1911         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
1912         preprocessor directives.
1913         * modules/unistd: Setup the Makefile substitutions of the
1914         SETHOSTNAME preprocessor directives.
1915
1916 2011-12-03  Bruno Haible  <bruno@clisp.org>
1917
1918         Tweak last commit.
1919         * lib/sethostname.c: Don't include <string.h>.
1920         (sethostname): No need to copy the argument string to the stack. Don't
1921         call clearerr. Preserve errno when fprintf failed.
1922         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
1923         Don't invoke AC_REPLACE_FUNCS.
1924         * modules/sethostname (Link): Remove empty section.
1925         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
1926         failure problem.
1927
1928 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
1929
1930         New module 'sethostname'.
1931         * lib/sethostname.c (sethostname): New file.  Provide sethostname
1932         for systems that lack it.
1933         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
1934         sethostname declaration and function.
1935         * modules/sethostname: New file.  Define the sethostname module.
1936
1937 2011-12-03  Bruno Haible  <bruno@clisp.org>
1938
1939         Tweak last commit.
1940         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
1941
1942 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
1943
1944         Split the HOST_NAME_MAX detection into a separate m4 macro.
1945         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
1946         macro so it can be used by the pending sethostname module.
1947
1948 2011-12-03  Bruno Haible  <bruno@clisp.org>
1949
1950         Fix module descriptions syntax.
1951         * modules/argv-iter (License): Fix syntax.
1952         * modules/di-set (License): Likewise.
1953         * modules/ino-map (License): Likewise.
1954         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
1955
1956 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
1957
1958         stdalign: port to Clang 3.0
1959         Problem reported by Simon Josefsson in
1960         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
1961         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
1962         which has <stdalign.h> but which does not define alignof.
1963         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
1964
1965 2011-12-01  Eric Blake  <eblake@redhat.com>
1966
1967         mktempd: silence dd usage
1968         * build-aux/mktempd (rand_bytes): Silence dd.
1969
1970 2011-11-30  Simon Josefsson  <simon@josefsson.org>
1971
1972         manywarnings: Don't mention gcc version in docstring.
1973         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
1974         Jim Meyering <meyering@redhat.com>.
1975
1976 2011-11-30  Jim Meyering  <meyering@redhat.com>
1977
1978         hash: mark a few floating point constants with "f" suffix
1979         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
1980         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
1981         floating point constants with "f", since they're destined to be
1982         saved/used as "float"s.
1983
1984 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
1985
1986         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
1987         * tests/test-float.c (test_long_double): Correct and re-enable the
1988         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
1989
1990 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
1991
1992         Avoid subtracting two pointers that don't point into the same block.
1993         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
1994         only pointers into the same memory block are subtracted. We cannot
1995         assume that sizeof (ptrdiff_t) == sizeof (void *).
1996
1997 2011-11-29  Eric Blake  <eblake@redhat.com>
1998
1999         maint.mk: add syntax check for use of compare from init.sh
2000         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
2001         moved here from coreutils.
2002
2003         manywarnings: drop -Wunsuffixed-float-constants
2004         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
2005         '1.0D', which is the only way to silence this warning for 'double'.
2006
2007 2011-11-29  Jim Meyering  <meyering@redhat.com>
2008
2009         hash: mark compute_bucket_size with the pure attribute
2010         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
2011
2012         quotearg, propername: correct pragma guard expression
2013         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
2014         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
2015
2016 2011-11-28  Jim Meyering  <meyering@redhat.com>
2017
2018         propername: do not mark proper_name with the const attribute
2019         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
2020         since it examines data pointed to by its parameter.
2021         * lib/propername.c (proper_name): Instead, add a pragma to suppress
2022         the suggestion from -Wsuggest-attribute=const.
2023
2024         propername: mark one more function as const
2025         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
2026
2027 2011-11-27  Jim Meyering  <meyering@redhat.com>
2028
2029         mark functions with const and pure attributes
2030
2031         Mark functions per suggestions from gcc-4.6 when using these options:
2032         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
2033         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
2034         Follow these guidelines: when possible, apply the attribute to
2035         an extern declaration, not to its definition.  Apply it to the
2036         definition only when the definition is static.
2037         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
2038         * lib/argv-iter.h (argv_iter_n_args): Likewise.
2039         * lib/base64.h (isbase64): Likewise.
2040         * lib/basename-lgpl.c (last_component, base_len): Likewise.
2041         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
2042         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
2043         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
2044         (c_tolower, c_toupper): Likewise.
2045         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
2046         * lib/chdir-long.c (find_non_slash): Likewise.
2047         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
2048         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
2049         * lib/file-type.h (file_type): Likewise.
2050         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
2051         * lib/filevercmp.c (verrevcmp): Likewise.
2052         * lib/freadahead.h (freadahead): Likewise.
2053         * lib/fts.c (fts_maxarglen): Likewise.
2054         * lib/hash-pjw.h (hash_pjw): Likewise.
2055         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
2056         * lib/hash.c (is_prime, next_prime): Likewise.
2057         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
2058         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
2059         (hash_table_ok, hash_get_first, hash_string): Likewise.
2060         (compute_bucket_size): Likewise.
2061         * lib/i-ring.h (i_ring_empty): Likewise.
2062         * lib/isnan.c (isnanl): Likewise.
2063         * lib/math.h (isnanl, rpl_isnanl): Likewise.
2064         * lib/memcasecmp.h (memcasecmp): Likewise.
2065         * lib/memchr2.h (memchr2): Likewise.
2066         * lib/memcmp2.h (memcmp2): Likewise.
2067         * lib/parse-datetime.y (lookup_zone): Likewise.
2068         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
2069         [!WINDOWS_SOCKETS]: Likewise.
2070         * lib/strnlen1.h (strnlen1): Likewise.
2071         * lib/uniwidth.in.h (uc_width): Likewise.
2072         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
2073         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
2074         (quoting_options_from_style): Add a comment.
2075         * lib/propername.h (proper_name): Add a comment.
2076
2077 2011-11-27  Bruno Haible  <bruno@clisp.org>
2078
2079         Remove unused macros from !_LIBC code in glibc-borrowed files.
2080         * lib/fnmatch.c (STRCOLL): Remove macro.
2081         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
2082         * lib/glob.c (__stat, __readdir64): Remove macros.
2083         * lib/tempname.c (__open64, __xstat64): Remove macros.
2084         Suggested by Paul Eggert.
2085
2086 2011-11-27  Bruno Haible  <bruno@clisp.org>
2087
2088         getcwd: Fix link error on MSVC 9.
2089         * modules/getcwd (Depends-on): Add readdir, rewinddir.
2090
2091 2011-11-27  Bruno Haible  <bruno@clisp.org>
2092
2093         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
2094         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
2095         HAVE_OPENDIR is 0.
2096         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
2097         HAVE_CLOSEDIR is 0.
2098         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
2099         is 0.
2100         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
2101
2102 2011-11-27  Bruno Haible  <bruno@clisp.org>
2103
2104         getcwd: Fix bug from 2011-08-17.
2105         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
2106         platforms that need it.
2107         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
2108         code of 4 to be a failure, not a success. This ensures that
2109         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
2110
2111 2011-11-27  Bruno Haible  <bruno@clisp.org>
2112
2113         binary-io tests: Avoid test failure on mingw when libtool is used.
2114         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
2115         Don't verify the size of t-bin-out1.tmp here.
2116         * tests/test-binary-io.sh: Verify it here.
2117         Reported by Simon Josefsson.
2118
2119 2011-11-26  Bruno Haible  <bruno@clisp.org>
2120
2121         Fix conflict between two instantiations of module 'unistd'.
2122         * gnulib-tool (func_emit_autoconf_snippet): Substitute
2123         ${include_guard_prefix} also in the autoconf snippet.
2124         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
2125         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
2126         GNULIB_UNISTD_H_GETOPT.
2127         * modules/getopt-posix (configure.ac): Set the
2128         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
2129         * modules/getopt-gnu (configure.ac): Likewise.
2130         * modules/unistd (Makefile.am): Change the substitution value of
2131         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
2132         Reported by Simon Josefsson.
2133
2134 2011-11-25  Bruno Haible  <bruno@clisp.org>
2135
2136         pagealign_alloc: Doc and comments.
2137         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
2138         module.
2139         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
2140
2141 2011-11-25  Jim Meyering  <meyering@redhat.com>
2142
2143         test-update-copyright.sh: avoid false-positive failure
2144         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
2145         around false positive failure on Cygwin/Windows.  The latter was
2146         matching erroneously-created files with names like
2147         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
2148
2149 2011-11-25  Simon Josefsson  <simon@josefsson.org>
2150
2151         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
2152         * m4/valgrind-tests.m4: Check that the parameters that will be
2153         used works, not just a subset of them.  Reported by Bruno Haible
2154         <bruno@clisp.org>.
2155
2156 2011-11-24  Jim Meyering  <meyering@redhat.com>
2157
2158         test-stdalign.c: comment out long double tests
2159         * tests/test-stdalign.c: Don't try to reduce alignment of long double
2160         variables.  That provokes errors like this from gcc-4.7.0 20111124:
2161         error: '_Alignas' specifiers cannot reduce alignment of \
2162         'static_longdouble_alignas'.
2163
2164 2011-11-22  Jim Meyering  <meyering@redhat.com>
2165
2166         init.sh: make "compare /dev/null FILE" output more readable
2167         * tests/init.sh (compare_): Document the preferred order of arguments.
2168         (emit_diff_u_header_): New function.
2169         (compare_dev_null_): Emit a simulated diff, rather than just the
2170         contents of the unexpected file.  Suggestion from Bruno Haible.
2171
2172 2011-11-21  Jim Meyering  <meyering@redhat.com>
2173             Eric Blake  <eblake@redhat.com>
2174
2175         init.sh: work around OSF/1 5.1's mishandling of /dev/null
2176         * tests/init.sh: Make our compare function slightly more portable.
2177         Reported by Bruno Haible in
2178         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
2179
2180 2011-11-21  Simon Josefsson  <simon@josefsson.org>
2181
2182         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
2183         before using it, in code that ends up in config.h.
2184
2185 2011-11-20  Bruno Haible  <bruno@clisp.org>
2186
2187         getcwd: Work around getcwd bug on AIX 5..7.
2188         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
2189         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
2190         Use a different value for gl_cv_func_getcwd_path_max. Move the
2191         definition of HAVE_PARTLY_WORKING_GETCWD from here...
2192         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
2193         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
2194         Define HAVE_MINIMALLY_WORKING_GETCWD.
2195         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
2196         where it is not even minimally working, that is, on AIX.
2197         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
2198         m4/getcwd-path-max.m4.
2199         (main): Update exit code computation.
2200         * doc/posix-functions/getcwd.texi: Mention list of platforms where
2201         getcwd does not handle long file names.
2202
2203 2011-11-20  Bruno Haible  <bruno@clisp.org>
2204
2205         getcwd: Fix bug from 2009-09-10.
2206         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
2207         like "no".
2208
2209 2011-11-20  Simon Josefsson  <simon@josefsson.org>
2210
2211         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
2212
2213 2011-11-20  Bruno Haible  <bruno@clisp.org>
2214
2215         fma tests: Avoid shadowing local variables.
2216         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
2217         expected.
2218
2219 2011-11-20  Bruno Haible  <bruno@clisp.org>
2220
2221         copysignf tests: Fix.
2222         * tests/test-copysignf.c: Fix signature check.
2223
2224 2011-11-20  Bruno Haible  <bruno@clisp.org>
2225
2226         fma: Remove unused code.
2227         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
2228         unused macros.
2229
2230 2011-11-20  Bruno Haible  <bruno@clisp.org>
2231
2232         sethostname: Fix doc about AIX.
2233         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
2234         sethostname; it has it.
2235
2236         sethostname: Mention more portability problems.
2237         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
2238         problem.
2239         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
2240
2241 2011-11-19  Bruno Haible  <bruno@clisp.org>
2242
2243         Depend on module fcntl-h when AT_FDCWD is used.
2244         * modules/utimens (Depends-on): Add fcntl-h.
2245         * modules/areadlinkat (Depends-on): Likewise.
2246         * modules/areadlinkat-with-size (Depends-on): Likewise.
2247         * modules/faccessat (Depends-on): Likewise.
2248         * modules/fchmodat (Depends-on): Likewise.
2249         * modules/fchownat (Depends-on): Likewise.
2250         * modules/getcwd (Depends-on): Likewise.
2251         * modules/mkdirat (Depends-on): Likewise.
2252         * modules/mkfifoat (Depends-on): Likewise.
2253         * modules/readlinkat (Depends-on): Likewise.
2254         * modules/symlinkat (Depends-on): Likewise.
2255         * modules/dup2-tests (Depends-on): Likewise.
2256         * modules/fdutimensat-tests (Depends-on): Likewise.
2257         * modules/futimens-tests (Depends-on): Likewise.
2258
2259 2011-11-19  Bruno Haible  <bruno@clisp.org>
2260
2261         euidaccess: Update a comment.
2262         * lib/euidaccess.c: Update comment about platforms with faccessat.
2263
2264 2011-11-19  Bruno Haible  <bruno@clisp.org>
2265
2266         openat: Fix file list.
2267         * modules/openat (Files): Remove lib/at-func.c.
2268
2269 2011-11-19  Bruno Haible  <bruno@clisp.org>
2270
2271         fstatat: Simplify.
2272         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
2273         gnulib should define rpl_fstatat, there is a
2274         "#define fstatat rpl_fstatat" in <sys/stat.h>.
2275
2276 2011-11-19  Bruno Haible  <bruno@clisp.org>
2277
2278         Ensure 'inline' can be used in tests/test-utimens-common.h.
2279         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
2280         * modules/futimens-tests (configure.ac): Likewise.
2281         * modules/utimens-tests (configure.ac): Likewise.
2282         * modules/utimensat-tests (configure.ac): Likewise.
2283
2284 2011-11-19  Simon Josefsson  <simon@josefsson.org>
2285
2286         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
2287         not hash_insert0.
2288         (hash_insert_if_absent): Doc fix.
2289
2290 2011-11-19  Simon Josefsson  <simon@josefsson.org>
2291
2292         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
2293
2294 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
2295
2296         test-getcwd: disambiguate exit status
2297         * tests/test-getcwd.c (test_long_name): Return 0..7.
2298         (main): Exit with an unambiguous exit status.  The old
2299         code yielded a mysterious mixture of two failure codes.
2300
2301         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
2302         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
2303         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
2304         rpl_fstatat or fstatat.  This should fix the other problem
2305         reported by Kai Habel in
2306         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
2307         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
2308         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
2309         and I reproduced it on a Solaris 8 host we still have in production.
2310
2311 2011-11-18  Jim Meyering  <meyering@redhat.com>
2312
2313         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
2314         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
2315         Add a sentence to the comment.
2316         (hash_insert0): New function that simply calls hash_insert_if_absent.
2317         * lib/hash.h (hash_insert_if_absent): Declare it.
2318         (hash_insert0): Add deprecation attribute.
2319         (_GL_ATTRIBUTE_DEPRECATED): Define.
2320         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
2321         not hash_insert0.
2322         * NEWS: Mention it, even though it's not really an incompatible change.
2323
2324 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
2325
2326         openat: avoid compilation failure due to lack of <errno.h> inclusion
2327         * lib/openat.c: Include <errno.h>.
2328
2329 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
2330
2331         * modules/getcwd (Depends-on): Add fdopendir.
2332         This fixes one of the two problems reported by Kai Habel in
2333         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
2334
2335         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
2336         stdalign problem reported by Ian Beckwith in
2337         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
2338         * modules/crypto/gc-arcfour (Depends-on):
2339         Depend conditionally on crypto/arcfour.
2340         * modules/crypto/gc-arctwo (Depends-on):
2341         Depend conditionally on crypto/arctwo.
2342         * modules/crypto/gc-des (Depends-on):
2343         Depend conditionally on crypto/des.
2344         * modules/crypto/gc-hmac-md5 (Depends-on):
2345         Depend conditionally on crypto/hmac-md5.
2346         * modules/crypto/gc-hmac-sha1 (Depends-on):
2347         Depend conditionally on crypto/hmac-sha1.
2348         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
2349         * modules/crypto/gc-md4 (Depends-on):
2350         Depend conditionally on crypto/md4.
2351         * modules/crypto/gc-md5 (Depends-on):
2352         Depend conditionally on crypto/md5.
2353         * modules/crypto/gc-rijndael (Depends-on):
2354         Depend conditionally on crypto/rijndael.
2355         * modules/crypto/gc-sha1 (Depends-on):
2356         Depend conditionally on crypto/sha1.
2357         * modules/crypto/gc-arcfour:
2358         * modules/crypto/gc-arctwo:
2359         * modules/crypto/gc-des:
2360         * modules/crypto/gc-hmac-md5:
2361         * modules/crypto/gc-hmac-sha1:
2362         * modules/crypto/gc-md2:
2363         * modules/crypto/gc-md4:
2364         * modules/crypto/gc-md5:
2365         * modules/crypto/gc-rijndael:
2366         * modules/crypto/gc-sha1:
2367         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
2368         now that the conditional dependencies do the work for us.
2369
2370 2011-11-17  Jim Meyering  <meyering@redhat.com>
2371
2372         tests: factor st_ctime-comparison out of two headers
2373         * tests/test-utimens-common.h (ctime_compare): Define.
2374         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
2375         * tests/test-lutimens.h (test_lutimens): Likewise.
2376         * tests/test-utimens.h (test_utimens): Likewise.
2377
2378         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
2379         Invoke the test program via an init.sh-using wrapper.
2380         * tests/test-getcwd.sh: New file.
2381         * modules/getcwd-tests (Files): Add it.
2382         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
2383
2384 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
2385
2386         gitlog-to-changelog: support multi-author commits.
2387         The FSF cares about keeping track of all authors of patches to its
2388         projects, but Git doesn't provide obvious support for multi-author
2389         changesets. Consensus seems to be forming around the use of extra
2390         Signed-off-by inspired lines in the log message formatted as
2391         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
2392         multi-author commits between version control systems.
2393         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
2394         log message and output in standard ChangeLog multi-author format.
2395         Reported by Peter Rosin <peda@lysator.liu.se>
2396
2397 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
2398             Bruno Haible  <bruno@clisp.org>
2399
2400         Fix some modules' file list.
2401         * modules/fstatat (Files): Add m4/lstat.m4.
2402         * modules/openat (Files): Likewise.
2403         * modules/unlinkat (Files): Likewise.
2404
2405 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
2406
2407         maint.mk: fix tight-scope.mk generation in VPATH builds.
2408         * top/maint.mk (tight-scope.mk): Make sure to prefix file
2409         reference with $(srcdir) so that the file is found correctly even
2410         when running `make syntax-check' in a VPATH build.
2411
2412 2011-11-13  Bruno Haible  <bruno@clisp.org>
2413             Jim Meyering  <meyering@redhat.com>
2414
2415         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
2416         * tests/init.sh (compare): Remove "No differences encountered" or
2417         synonymous output from the 'diff' program.
2418
2419 2011-11-13  Bruno Haible  <bruno@clisp.org>
2420
2421         Makefile: Tweak indentation.
2422         * Makefile: Use tab as first character in every line that contains rule
2423         commands.
2424
2425 2011-11-13  Bruno Haible  <bruno@clisp.org>
2426
2427         Syntax check for copyright statements.
2428         * check-copyright: New file.
2429         * Makefile (sc_check_copyright): New rule.
2430
2431 2011-11-13  Simon Josefsson  <simon@josefsson.org>
2432
2433         * build-aux/git-version-gen: Add --prefix to configure the tag
2434         match string.
2435
2436 2011-11-13  Simon Josefsson  <simon@josefsson.org>
2437
2438         * build-aux/git-version-gen: Add --help and --version.
2439
2440 2011-11-12  Jim Meyering  <meyering@redhat.com>
2441
2442         revamp the other test-exclude?.sh scripts to use init.sh, too
2443         * tests/test-exclude1.sh: Use init.sh.
2444         * tests/test-exclude2.sh: Likewise.
2445         * tests/test-exclude3.sh: Likewise.
2446         * tests/test-exclude4.sh: Likewise.
2447         * tests/test-exclude5.sh: Likewise.
2448         * tests/test-exclude6.sh: Likewise.
2449         * tests/test-exclude7.sh: Likewise.
2450         * tests/test-exclude8.sh: Likewise.
2451         * modules/exclude-tests (Files): List init.sh.
2452
2453         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
2454         These shell scripts ignored failure of the binary test-exclude,
2455         so making the latter return 77 didn't cause them to be skipped.
2456         * tests/test-exclude5.sh: Exit with test-exclude's error status
2457         when that program fails.  Revamp to use init.sh.
2458         * tests/test-exclude2.sh: Likewise.
2459
2460         test-exclude: fix a typo
2461         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
2462
2463 2011-11-11  Bruno Haible  <bruno@clisp.org>
2464
2465         obstack: Fix compilation error on MSVC 9.
2466         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
2467
2468 2011-11-11  Jim Meyering  <meyering@redhat.com>
2469
2470         test-exclude: skip tests rather than failing on deficient systems
2471         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
2472         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
2473         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
2474         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
2475
2476 2011-11-10  Bruno Haible  <bruno@clisp.org>
2477
2478         ptsname_r test: Avoid gcc warning on glibc systems.
2479         * tests/test-ptsname_r.c (null_ptr): New function.
2480         (test_errors): Use it.
2481
2482 2011-11-10  Bruno Haible  <bruno@clisp.org>
2483
2484         ptsname_r: Avoid compilation error on OSF/1 5.1.
2485         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
2486         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
2487         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
2488         function is not declared or incompatibly declared.
2489         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
2490         * modules/ptsname_r (Depends-on, configure.ac): Update.
2491         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
2492
2493 2011-11-10  Bruno Haible  <bruno@clisp.org>
2494
2495         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
2496         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
2497         When cross-compiling, guess yes on all platforms except AIX.
2498         Reported by Ludovic Courtès <ludo@gnu.org>.
2499
2500 2011-11-09  Bruno Haible  <bruno@clisp.org>
2501
2502         ptsname_r tests: Fix bugs.
2503         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
2504         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
2505
2506 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2507
2508         fstatat: work with cross-compilation
2509         Problem reported by Ludovic Courtès in
2510         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
2511         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
2512         "cross-compiling" and assume the bug is present.  Replace
2513         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
2514         an inverted sense, to be more conservative about our assumptions.
2515         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
2516
2517 2011-11-09  Bruno Haible  <bruno@clisp.org>
2518
2519         Improve MODULES.html output.
2520         * modules/mkfifoat (Description): Use the word "function".
2521         * modules/readlinkat (Description): Likewise.
2522         * modules/symlinkat (Description): Likewise.
2523
2524 2011-11-09  Eric Blake  <eblake@redhat.com>
2525
2526         ptsname_r-tests: new test module
2527         * modules/ptsname_r-tests: New module.
2528         * tests/test-ptsname_r.c: New file.
2529
2530         ptsname_r: new module
2531         * modules/ptsname_r: New module.
2532         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
2533         * lib/ptsname.c (__ptsname_r): Split...
2534         * lib/ptsname_r.c: ...into new file.
2535         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
2536         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
2537         * modules/stdlib (Makefile.am): Substitute witnesses.
2538         * lib/stdlib.in.h (ptsname_r): Declare it.
2539         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
2540         * MODULES.html.sh (Misc): Likewise.
2541         * modules/ptsname (Depends-on): Alter dependency.
2542         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
2543
2544 2011-11-09  Jim Meyering  <meyering@redhat.com>
2545
2546         announce-gen: be more concise when there's only one URL+tarball
2547         * build-aux/announce-gen (get_tool_versions): When you distribute
2548         only one type of tarball, combine the first two "Here are..."
2549         sections and make the key-checking grammar independent of
2550         how many tarballs there are.
2551
2552 2011-11-09  Eric Blake  <eblake@redhat.com>
2553
2554         openpty: provide a stub on mingw
2555         * lib/pty.in.h (includes): Provide forward declarations.
2556         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
2557
2558         raise: fix mingw handling of SIGPIPE
2559         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
2560
2561 2011-11-08  Bruno Haible  <bruno@clisp.org>
2562
2563         More conditional dependencies.
2564         * modules/faccessat (Depends-on): Add conditions.
2565         * modules/fchmodat (Depends-on): Likewise.
2566         * modules/fchownat (Depends-on): Likewise.
2567         * modules/fstatat (Depends-on): Likewise.
2568         * modules/mkfifoat (Depends-on): Likewise.
2569         * modules/readlinkat (Depends-on): Likewise.
2570         * modules/symlinkat (Depends-on): Likewise.
2571         * modules/unlinkat (Depends-on): Likewise.
2572         * modules/utimensat (Depends-on): Likewise.
2573         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
2574         * modules/linkat (Depends-on): Refine the conditions.
2575         * modules/renameat (Depends-on): Likewise.
2576
2577 2011-11-08  Bruno Haible  <bruno@clisp.org>
2578
2579         faccessat: Move AC_LIBOBJ invocation to module description.
2580         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
2581         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
2582         invocation from here...
2583         * modules/faccessat (configure.ac): ... to here. Invoke
2584         gl_PREREQ_FACCESSAT.
2585
2586 2011-11-08  Bruno Haible  <bruno@clisp.org>
2587
2588         faccessat: Simplify autoconf macro.
2589         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
2590         gl_FUNC_EUIDACCESS.
2591
2592 2011-11-08  Bruno Haible  <bruno@clisp.org>
2593
2594         renameat: Fix dependencies.
2595         * modules/renameat (Depends-on): Add stdbool.
2596
2597 2011-11-08  Bruno Haible  <bruno@clisp.org>
2598
2599         mkfifoat: Fix module description.
2600         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
2601         not gl_UNISTD_MODULE_INDICATOR.
2602
2603 2011-11-08  Bruno Haible  <bruno@clisp.org>
2604
2605         fstatat: Remove unused dependency.
2606         * modules/fstatat (Depends-on): Remove fstat.
2607
2608 2011-11-08  Simon Josefsson  <simon@josefsson.org>
2609
2610         GNUmakefile: behave when Makefile is missing.
2611         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
2612
2613 2011-11-08  Bruno Haible  <bruno@clisp.org>
2614
2615         openat: Conditionalize dependencies.
2616         * lib/openat.c: Reduce the scope of some #includes.
2617         * modules/openat (Depends-on): Add conditions.
2618
2619 2011-11-07  Jim Meyering  <meyering@redhat.com>
2620
2621         maint.mk: extract GPG key ID without using a temporary file
2622         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
2623         without using a temporary file.  Based on a suggestion from Werner Koch
2624         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
2625
2626 2011-11-07  Eric Blake  <eblake@redhat.com>
2627
2628         grantpt: fix typo
2629         * lib/stdlib.in.h (grantpt): Check correct function.
2630
2631         maint.mk: silence new syntax check
2632         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
2633
2634 2011-11-06  Bruno Haible  <bruno@clisp.org>
2635
2636         Doc about floating-point and math API.
2637         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
2638         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
2639
2640 2011-11-06  Bruno Haible  <bruno@clisp.org>
2641
2642         stdalign tests: Skip the test when compiled by Sun C.
2643         * tests/test-stdalign.c (main): Skip the test on Sun C.
2644
2645 2011-11-06  Bruno Haible  <bruno@clisp.org>
2646
2647         ansi-c++-opt: Complete the 2011-06-05 change.
2648         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
2649         does not support namespaces, set the variable to "no", not to ":".
2650
2651 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
2652
2653         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
2654
2655 2011-11-06  Bruno Haible  <bruno@clisp.org>
2656
2657         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
2658         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
2659         (minus_zerol) [HP-UX]: New macro.
2660         (unary_minus) [HP-UX]: New function.
2661         (copysignl) [HP-UX]: Use unary_minus function.
2662
2663 2011-11-06  Bruno Haible  <bruno@clisp.org>
2664
2665         ldexp, ldexpf, ldexpl: Enhance tests.
2666         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
2667         and tests/test-ldexpl.c.
2668         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
2669         LDEXP, MIN_EXP, MAX_EXP): New macros.
2670         Include test-ldexp.h.
2671         (main): Just call test_function.
2672         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
2673         infinity.h, nan.h.
2674         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
2675         MAX_EXP): New macros.
2676         Include test-ldexp.h.
2677         (x, y): Remove variables.
2678         (main): Just call test_function.
2679         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
2680         infinity.h, nan.h.
2681         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
2682         MAX_EXP): New macros.
2683         Include test-ldexp.h.
2684         (x, y): Remove variables.
2685         (main): Just call test_function.
2686         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
2687         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
2688         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
2689         (Depends-on): Add isnand-nolibm, signbit, float.
2690         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
2691         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
2692         (Depends-on): Add isnanf-nolibm, signbit, float.
2693
2694 2011-11-06  Bruno Haible  <bruno@clisp.org>
2695
2696         math tests: Cosmetics.
2697         * tests/test-math-c++.cc: Reorder declarations.
2698
2699 2011-11-05  Bruno Haible  <bruno@clisp.org>
2700
2701         fma*: Simplify test.
2702         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
2703         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
2704
2705         Tests for module 'fmal'.
2706         * modules/fmal-tests: New file.
2707         * tests/test-fmal1.c: New file.
2708         * tests/test-fmal2.c: New file.
2709
2710         New module 'fmal'.
2711         * lib/math.in.h (fmal): New declaration.
2712         * lib/fmal.c: New file.
2713         * m4/fmal.m4: New file.
2714         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
2715         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
2716         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
2717         REPLACE_FMAL.
2718         * modules/fmal: New file.
2719         * doc/posix-functions/fmal.texi: Mention the new module and the various
2720         bugs.
2721
2722         Tests for module 'fmaf'.
2723         * modules/fmaf-tests: New file.
2724         * tests/test-fmaf1.c: New file.
2725         * tests/test-fmaf2.c: New file.
2726
2727         New module 'fmaf'.
2728         * lib/math.in.h (fmaf): New declaration.
2729         * lib/fmaf.c: New file.
2730         * m4/fmaf.m4: New file.
2731         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
2732         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
2733         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
2734         REPLACE_FMAF.
2735         * modules/fmaf: New file.
2736         * doc/posix-functions/fmaf.texi: Mention the new module and the various
2737         bugs.
2738
2739         Tests for module 'fma'.
2740         * modules/fma-tests: New file.
2741         * tests/test-fma1.c: New file.
2742         * tests/test-fma1.h: New file.
2743         * tests/test-fma2.c: New file.
2744         * tests/test-fma2.h: New file.
2745
2746         New module 'fma'.
2747         * lib/math.in.h (fma): New declaration.
2748         * lib/fma.c: New file.
2749         * m4/fma.m4: New file.
2750         * m4/fegetround.m4: New file.
2751         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
2752         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
2753         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
2754         REPLACE_FMA.
2755         * modules/fma: New file.
2756         * doc/posix-functions/fma.texi: Mention the new module and the various
2757         bugs.
2758
2759         Extend gl_MATHFUNC.
2760         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
2761         Support 'void' as argument type.
2762         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
2763
2764 2011-11-05  Jim Meyering  <meyering@redhat.com>
2765
2766         maint.mk: also prohibit inclusion of dirent.h without use
2767         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
2768
2769 2011-11-05  Bruno Haible  <bruno@clisp.org>
2770
2771         ldexpl tests: Avoid test failure on MSVC 9.
2772         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
2773         value. Needed in order to enforce the conversion from a value greater
2774         than LDBL_MAX to Infinity.
2775
2776 2011-11-05  Bruno Haible  <bruno@clisp.org>
2777
2778         New modules 'at-internal', 'openat-h', split off from module 'openat'.
2779         * modules/at-internal: New file, extracted from modules/openat.
2780         * modules/openat-h: New file.
2781         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
2782         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
2783         * modules/openat (Description): Add reference to POSIX function.
2784         (Files): Remove lib/openat.h, lib/openat-proc.c.
2785         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
2786         intprops, unistd.
2787         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
2788         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
2789         gl_FCNTL_MODULE_INDICATOR.
2790         (Include): Remove unistd.h, openat.h.
2791         * modules/areadlinkat (Files): Add lib/at-func.c.
2792         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
2793         openat-die, openat-h, save-cwd.
2794         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
2795         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
2796         openat-die, openat-h, save-cwd, unistd.
2797         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
2798         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
2799         openat-h, save-cwd. Remove fcntl-h, openat.
2800         * modules/fchmodat (Files): Remove lib/openat.h.
2801         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
2802         openat, stdbool, unistd.
2803         * modules/fchownat (Files): Remove lib/openat.h.
2804         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
2805         openat, stdbool, sys_stat.
2806         * modules/fdopendir (Files): Remove lib/openat-priv.h,
2807         lib/openat-proc.c.
2808         (Depends-on): Add at-internal.
2809         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
2810         * modules/fstatat (Files): Remove lib/openat.h.
2811         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
2812         stdbool, unistd.
2813         * modules/fts (Depends-on): Add openat-h.
2814         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
2815         openat.
2816         * modules/mkdirat (Files): Remove lib/openat.h.
2817         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
2818         openat, stdbool, sys_stat.
2819         * modules/mkfifoat (Files): Add lib/at-func.c.
2820         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
2821         openat-h, save-cwd. Remove fcntl-h, openat.
2822         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
2823         * modules/readlinkat (Files): Add lib/at-func.c.
2824         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
2825         openat-h, save-cwd. Remove fcntl-h, openat.
2826         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
2827         openat.
2828         * modules/selinux-at (Files): Add lib/at-func.c.
2829         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
2830         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
2831         * modules/symlinkat (Files): Add lib/at-func.c.
2832         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
2833         openat-h, save-cwd. Remove fcntl-h, openat.
2834         * modules/unlinkat (Files): Remove lib/openat.h.
2835         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
2836         stdbool.
2837         * modules/utimensat (Files): Add lib/at-func.c.
2838         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
2839         openat-die, openat-h, save-cwd.
2840         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
2841         * modules/fdutimensat-tests (Depends-on): Add openat.
2842         * modules/fstatat-tests (Depends-on): Add openat-h.
2843         * modules/readlinkat-tests (Depends-on): Add openat.
2844         * modules/symlinkat-tests (Depends-on): Add openat.
2845
2846 2011-11-05  Bruno Haible  <bruno@clisp.org>
2847
2848         openat: Include <stdbool.h>.
2849         * lib/openat.c: Include <stdbool.h>.
2850
2851 2011-11-04  Bruno Haible  <bruno@clisp.org>
2852
2853         fchownat, renameat, unlinkat: Fix dependencies.
2854         * modules/fchownat (Depends-on): Add fstatat.
2855         * modules/renameat (Depends-on): Likewise.
2856         * modules/unlinkat (Depends-on): Likewise.
2857
2858 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
2859
2860         openat: remove direct dependency on dirent
2861         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
2862         and hasn't been needed ever since fdopendir was split into its own
2863         module on 2009-08-31.
2864         * modules/openat (Depends-on): Remove dirent.
2865
2866 2011-11-04  Bruno Haible  <bruno@clisp.org>
2867
2868         renameat: Optimize code size.
2869         * modules/renameat (configure.ac): Don't compile at-func2.c if
2870         REPLACE_RENAMEAT is 1.
2871
2872 2011-11-04  Bruno Haible  <bruno@clisp.org>
2873
2874         openat tests: Fix file list.
2875         * modules/openat-tests (Files): Add tests/test-open.h.
2876
2877 2011-11-04  Bruno Haible  <bruno@clisp.org>
2878
2879         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
2880         * modules/fchmodat (Depends-on): Add openat-die.
2881         * modules/fchownat (Depends-on): Likewise.
2882         * modules/linkat (Depends-on): Likewise.
2883         * modules/renameat (Depends-on): Likewise.
2884         * modules/openat (Depends-on): Add dirent.
2885
2886 2011-11-04  Jim Meyering  <meyering@redhat.com>
2887
2888         at-func*.c: fix comments
2889         * lib/at-func2.c: Correct/improve first-line comment.
2890         * lib/at-func.c: Correct grammar in first-line comment.
2891
2892 2011-11-04  Bruno Haible  <bruno@clisp.org>
2893
2894         New module 'mkdirat', split off from module 'openat'.
2895         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
2896         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
2897         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
2898         * modules/mkdirat: New file, extracted from modules/openat.
2899         * modules/openat (Files): Remove lib/mkdirat.c.
2900         (Depends-on): Remove mkdir.
2901         (configure.ac): Remove AC_LIBOBJ of mkdirat.
2902         (Include): Remove <sys/stat.h>.
2903         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
2904         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
2905         tests/test-mkdir.h.
2906         (Depends-on): Remove ignore-value.
2907         (Makefile.am): Remove rules for test-mkdirat.
2908         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
2909         of module 'openat'.
2910         * NEWS: Mention the change.
2911
2912 2011-11-04  Bruno Haible  <bruno@clisp.org>
2913
2914         closedir: Avoid warning on mingw.
2915         * lib/closedir.c: Include <unistd.h>.
2916
2917 2011-11-04  Bruno Haible  <bruno@clisp.org>
2918
2919         New module 'fstatat', split off from module 'openat'.
2920         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
2921         defined.
2922         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
2923         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
2924         gl_FUNC_FSTATAT.
2925         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
2926         * modules/fstatat: New file, extracted from modules/openat.
2927         * modules/openat (Files): Remove lib/fstatat.c.
2928         (Depends-on): Remove lstat.
2929         (configure.ac): Remove AC_LIBOBJ of fstatat.
2930         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
2931         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
2932         tests/test-lstat.h, tests/test-stat.h.
2933         (Depends-on): Remove getcwd-lgpl.
2934         (Makefile.am): Remove rules for test-fstatat.
2935         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
2936         of module 'openat'.
2937         * NEWS: Mention the change.
2938         * modules/getcwd (Depends-on): Add fstatat.
2939         * modules/linkat (Depends-on): Likewise.
2940         * modules/mkfifoat-tests (Depends-on): Likewise.
2941         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
2942
2943 2011-11-03  Bruno Haible  <bruno@clisp.org>
2944
2945         New module 'unlinkat', split off from module 'openat'.
2946         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
2947         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
2948         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
2949         * modules/unlinkat: New file, extracted from modules/openat. Correct
2950         the dependency conditions.
2951         * modules/openat (Files): Remove lib/unlinkat.c.
2952         (Depends-on): Remove rmdir, unlink.
2953         (configure.ac): Remove AC_LIBOBJ of unlinkat.
2954         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
2955         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
2956         tests/test-rmdir.h, tests/test-unlink.h.
2957         (Depends-on): Remove unlinkdir.
2958         (Makefile.am): Remove rules for test-unlinkat.
2959         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
2960         of module 'openat'.
2961         * NEWS: Mention the change.
2962         * modules/linkat-tests (Depends-on): Add unlinkat.
2963         * modules/mkfifoat-tests (Depends-on): Likewise.
2964         * modules/readlinkat-tests (Depends-on): Likewise.
2965
2966 2011-11-02  Bruno Haible  <bruno@clisp.org>
2967
2968         New module 'fchmodat', split off from module 'openat'.
2969         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
2970         defined.
2971         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
2972         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
2973         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
2974         * modules/fchmodat: New file, extracted from modules/openat.
2975         * modules/openat (Files): Remove lib/fchmodat.c.
2976         (configure.ac): Remove AC_LIBOBJ of fchmodat.
2977         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
2978         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
2979         (Makefile.am): Remove rules for test-fchmodat.
2980         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
2981         of module 'openat'.
2982         * NEWS: Mention the change.
2983
2984 2011-11-02  Jim Meyering  <meyering@redhat.com>
2985
2986         putenv: indent #definition of "environ" to placate cppi
2987         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
2988
2989         gitlog-to-changelog: provide a ChangeLog-repair mechanism
2990         Git logs are often treated as immutable, because editing them
2991         changes the SHA1 checksums of all descendants.  Thus, errors in
2992         git logs tend to stay there forever.  However, when we generate
2993         a ChangeLog file -- typically for distribution -- from that git log,
2994         we can actually make corrections in the generated file.  The key
2995         lies in recording in machine-readable/applicable form the desired
2996         corrections.  See --help for description and an example.
2997         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
2998         (usage): Describe it; alphabetize option descriptions.
2999         (main): Honor the new option, carefully.
3000
3001 2011-11-01  Jim Meyering  <meyering@redhat.com>
3002
3003         gitlog-to-changelog: avoid an infloop
3004         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
3005         that ends up being empty.
3006
3007 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
3008
3009         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
3010         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
3011         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
3012         contains (possibly-quoted) backslashes.  This should avoid
3013         all-too-common shell bugs if COMPLICATED contains backslashes in
3014         the "wrong" places.  Reported by David Evans in
3015         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
3016         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
3017         because we want ASCII ranges.  Is there some reason we don't use
3018         the C locale everywhere in this script?
3019         (func_module, top level): Avoid unwanted pathname expansion when
3020         $repo_url_prefix or $repo_url_suffix_repl contain shell
3021         metacharacters like '?' and '*'.
3022
3023 2011-11-01  Bruno Haible  <bruno@clisp.org>
3024
3025         fchownat: Improve description.
3026         * modules/fchownat (Description): Add link to function.
3027
3028 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
3029
3030         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
3031         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
3032         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
3033         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
3034
3035 2011-11-01  Bruno Haible  <bruno@clisp.org>
3036
3037         alignof: Avoid collision with stdalign module.
3038         * lib/alignof.h (alignof): Remove macro.
3039         * NEWS: Mention the change.
3040         Reported by Paul Eggert.
3041
3042 2011-11-01  Bruno Haible  <bruno@clisp.org>
3043
3044         New module 'fchownat', split off from module 'openat'.
3045         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
3046         defined.
3047         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
3048         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
3049         invoke gl_FUNC_FCHOWNAT.
3050         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
3051         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
3052         * modules/fchownat: New file, extracted from modules/openat.
3053         * modules/openat (Files): Remove lib/fchownat.c.
3054         (Depends-on): Remove lchown.
3055         (configure.ac): Remove AC_LIBOBJ of fchownat.
3056         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
3057         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
3058         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
3059         (Depends-on): Remove mgetgroups, usleep, stat-time.
3060         (configure.ac): Remove test for getegid.
3061         (Makefile.am): Remove rules for test-fchownat.
3062         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
3063         of module 'openat'.
3064         * NEWS: Mention the change.
3065
3066 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
3067
3068         stdalign: port better to MSVC and to Sun C 5.11
3069         This fixes some of the problems reported by Bruno Haible in
3070         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
3071         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
3072         shortcomings of MSVC and of Sun C 5.11.
3073         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
3074         around __declspec arg.
3075         * modules/stdalign-tests (Files): Add tests/macros.h.
3076         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
3077         Include macros.h, for ASSERT.
3078         (DECLARE_ALIGNED): Remove.
3079         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
3080         to catch bug), and to 1 if not (simplifies the rest of the code).
3081         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
3082         (CHECK_AUTO): Remove.
3083         (CHECK_ALIGNED): Check only the alignment of the static vars,
3084         since auto var alignment isn't supported by Sun C 5.11.
3085         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
3086         ASSERT failures are easier to diagnose.
3087
3088 2011-10-31  Bruno Haible  <bruno@clisp.org>
3089
3090         doc about some IRIX 5.3 problems.
3091         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
3092         on IRIX 5.3.
3093         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
3094         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
3095         5.3.
3096         * doc/posix-functions/grantpt.texi: Likewise.
3097         * doc/posix-functions/unlockpt.texi: Likewise.
3098         * doc/posix-functions/lgamma.texi: Likewise.
3099         * doc/posix-functions/nextafter.texi: Likewise.
3100         * doc/posix-functions/remainder.texi: Likewise.
3101         * doc/posix-functions/select.texi: Mention misplaced declaration on
3102         IRIX 5.3.
3103         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3104
3105 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
3106
3107         gitlog-to-changelog: fix git-log invocation.
3108         git-log mishandles date strings before 1970-01-01 UTC, and there is
3109         no use to specify --since=1970-01-01 by default anyway.
3110         * build-aux/gitlog-to-changelog: By default, when no --since option
3111         was given, do not specify explicit --since option to git-log.
3112
3113 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
3114
3115         gitlog-to-changelog: new option --append-dot.
3116         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
3117         first non-blank line of each commit message terminated with a dot.
3118
3119 2011-10-30  Bruno Haible  <bruno@clisp.org>
3120
3121         ffsl, ffsll: Avoid compilation error due to 'restrict'.
3122         * lib/ffsl.h: Include <config.h>.
3123         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
3124
3125 2011-10-30  Jim Meyering  <meyering@redhat.com>
3126
3127         GNUmakefile: reenable "make syntax-check" for most projects
3128         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
3129         build-aux variable", "syntax-check" would do nothing but succeed with
3130         the "No version control files detected..." diagnostic (unless you
3131         happened to override _build-aux via cfg.mk).
3132         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
3133         to precede inclusion of maint.mk.  Otherwise, these variables would
3134         be used undefined in any project that does not override the default.
3135
3136 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
3137
3138         gitlog-to-changelog: treat a message with only blank lines as empty.
3139         * build-aux/gitlog-to-changelog: Move the code that removes leading and
3140         trailing blank lines before the code that issues a warning about an
3141         empty commit message.
3142
3143 2011-10-30  Jim Meyering  <meyering@redhat.com>
3144
3145         test-parse-datetime.c: avoid new DST-related false positive test failure
3146         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
3147         based on the time/date we'll convert, not the current time.
3148         Otherwise, the moment we cross a DST boundary like today's in
3149         Europe, (CEST to CET), that offset ends up being one hour off.
3150
3151 2011-10-27  Bruno Haible  <bruno@clisp.org>
3152
3153         fstat: Tweak documentation.
3154         * modules/fstat (Description): More precise description.
3155
3156 2011-10-27  Bruno Haible  <bruno@clisp.org>
3157
3158         Update documentation regarding 'largefile' module.
3159         * doc/posix-functions/fstat.texi: Tweak wording.
3160         * doc/posix-functions/opendir.texi: Mention that the module fixes the
3161         problems with huge directories and/or small ino_t types.
3162         * doc/posix-functions/readdir.texi: Likewise.
3163         * doc/posix-functions/rewinddir.texi: Likewise.
3164
3165 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
3166
3167         maint.mk: don't maintain a second build-aux variable.
3168         * maint.mk (build_aux): Removed.  The maintainer-makefile module
3169         depends on GNUmakefile, which already maintains a cfg.mk
3170         overridable $(_build-aux) for projects with a non-standard
3171         build-aux directory location, although without the $(srcdir)
3172         prefix.  Use that variable consistently instead of introducing a
3173         second one.  Adjust all call sites.
3174
3175 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
3176
3177         Add stdalign module and use it in other modules.
3178         This is based on a previous proposal by Bruno Haible
3179         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
3180
3181         stdalign: new module
3182         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
3183         * modules/stdalign: New files.
3184         * MODULES.html.sh (c1x_core_properties): Add stdalign.
3185         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
3186
3187         stdalign-tests: new module
3188         * modules/stdalign-tests, tests/test-stdalign.c: New files.
3189
3190         argp: use stdalign
3191         * lib/argp-parse.c: Include <stdalign.h>.
3192         (alignof): Remove.
3193         * modules/argp (Depends-on): Add stdalign.
3194
3195         crypto libraries: use stdalign
3196         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
3197         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
3198         Do not include <stdlib.h> twice, in md4.c.
3199         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
3200         because we are accessing a pointer's bit-pattern, not a size.
3201         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
3202         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
3203         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
3204         * modules/crypto/sha512: Likewise.
3205
3206         sys_socket: use stdalign, not alignof
3207         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
3208         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
3209
3210 2011-10-27  Bruno Haible  <bruno@clisp.org>
3211
3212         raise test: Avoid a test failure on Linux/MIPS.
3213         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
3214         because 99 is a valid signal on Linux/MIPS.
3215
3216 2011-10-27  Bruno Haible  <bruno@clisp.org>
3217
3218         nonblocking tests: Fix test failure on Linux/MIPS.
3219         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
3220         Set to 270000.
3221
3222 2011-10-27  Bruno Haible  <bruno@clisp.org>
3223
3224         utimensat: Work around problem on Linux/hppa.
3225         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
3226         values.
3227         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
3228
3229 2011-10-25  Jim Meyering  <meyering@redhat.com>
3230
3231         maint.mk: fix a bug in sc_prohibit_stddef_without_use
3232         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
3233         after symbols like NULL, size_t, etc.
3234         Reported by Alfred M. Szmidt.
3235
3236         maint.mk: exempt ENODATA from a syntax-check rule
3237         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
3238         from the sc_prohibit_always-defined_macros syntax-check rule.
3239         Add a comment.  See this for more details:
3240         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
3241
3242 2011-10-23  Jim Meyering  <meyering@redhat.com>
3243
3244         fts: close parent dir FD before returning from post-traversal fts_read
3245         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
3246         unlink A, even though an FD open on A remained.  This is suboptimal
3247         (holding a file descriptor open longer than needed), but otherwise not
3248         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
3249         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
3250         that represents a real problem: it causes the removal of A to fail
3251         with e.g., "rm: cannot remove `A': Device or resource busy"
3252
3253         fts visits each directory twice and keeps a cache (fts_fd_ring) of
3254         directory file descriptors.  After completing the final, FTS_DP,
3255         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
3256         cache, but then proceeded to add a new FD to it via the subsequent
3257         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
3258         final file descriptor would be closed only via fts_close's call to
3259         fd_ring_clear.  Now, it is usually closed earlier, via the final
3260         FTS_DP-returning fts_read call.
3261         * lib/fts.c (restore_initial_cwd): New function, converted from
3262         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
3263         Update callers.
3264         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
3265         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
3266
3267 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
3268             Bruno Haible  <bruno@clisp.org>
3269             Jim Meyering  <jim@meyering.net>
3270
3271         readme-release: improve safety of release prep instructions.
3272         * README-release: Don't git pull all branches when only master
3273         is needed for the release process.
3274         Run make maintainer-clean before changing trees and merging.
3275         Don't try to run ./configure right after git pull in case files
3276         that influence the bootstrap process have changed, move the
3277         ./configure step to after running ./bootstrap.
3278         Don't bootstrap "one last time"... it's the first time!
3279
3280 2011-10-22  Bruno Haible  <bruno@clisp.org>
3281
3282         errno, strerror-override: Support for MSVC 10.
3283         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
3284         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
3285         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
3286         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
3287         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
3288         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
3289         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
3290         Assign values compatible with MSVC 10.
3291         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
3292         New macros.
3293         (GNULIB_defined_EWINSOCK): New macro.
3294         * lib/strerror-override.c (strerror_override): Update accordingly.
3295         * lib/strerror-override.h: Likewise.
3296         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
3297         longer equal to the corresponding errno value.
3298         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3299
3300 2011-10-22  Bruno Haible  <bruno@clisp.org>
3301
3302         perror: Recognize when test program crashes.
3303         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
3304         strerror, set gl_cv_func_perror_works to no.
3305         Reported by Daniel Richard G. <skunk@iskunk.org>.
3306
3307         perror: Fix indentation.
3308         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
3309
3310 2011-10-22  Bruno Haible  <bruno@clisp.org>
3311
3312         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
3313         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
3314         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
3315         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
3316         functions, not as a macro.
3317         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
3318         macros.
3319         (isfinite, isinf, isnan, signbit): Check overloaded functions and
3320         absence of macro.
3321         Suggested by Eric Blake.
3322         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3323
3324 2011-10-21  Bruno Haible  <bruno@clisp.org>
3325
3326         relocatable-prog-wrapper: Don't leave object files behind.
3327         * build-aux/install-reloc: Re-synchronize list of .o files to be
3328         removed with list of compilation units.
3329
3330 2011-10-20  Bruno Haible  <bruno@clisp.org>
3331
3332         openpty, posix_openpt: Remove code duplication.
3333         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
3334         * lib/openpty.c: Include <stdlib.h>.
3335         (openpty): Use posix_openpt on all platforms except IRIX.
3336         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
3337
3338 2011-10-20  Bruno Haible  <bruno@clisp.org>
3339
3340         unlockpt: Detect invalid argument.
3341         * lib/unlockpt.c: Include <fcntl.h>.
3342         (unlockpt): Check whether fd is valid, using fcntl().
3343         * modules/unlockpt (Depends-on): Add fcntl-h.
3344
3345 2011-10-20  Bruno Haible  <bruno@clisp.org>
3346
3347         openpty: Avoid compilation error on AIX 6.1.
3348         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
3349
3350 2011-10-20  Bruno Haible  <bruno@clisp.org>
3351
3352         posix_openpt: Support for OpenBSD.
3353         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
3354         (posix_openpt) [OpenBSD]: New code.
3355         * lib/grantpt.c: Include <fcntl.h>.
3356         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
3357         * modules/grantpt (Depends-on): Add fcntl-h.
3358
3359 2011-10-20  Bruno Haible  <bruno@clisp.org>
3360
3361         posix_openpt test: Coding style.
3362         * tests/test-posix_openpt.c: Use GNU coding style.
3363
3364 2011-10-20  Bruno Haible  <bruno@clisp.org>
3365
3366         grantpt: Support --avoid=pt_chown.
3367         * modules/grantpt (Files): Add lib/pty-private.h.
3368
3369 2011-10-20  Bruno Haible  <bruno@clisp.org>
3370
3371         posix_openpt: Fix autoconf macro.
3372         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
3373         unneeded check for _getpty.
3374
3375 2011-10-20  Bruno Haible  <bruno@clisp.org>
3376
3377         openpty: Update comments.
3378         * lib/openpty.c: Add comments about Minix.
3379
3380 2011-10-19  Eric Blake  <eblake@redhat.com>
3381
3382         openpty: relax license
3383         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
3384
3385         pt_chown: use configmake to simplify build
3386         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
3387
3388         ptsname and others: relax license
3389         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
3390         * modules/unlockpt (License): Likewise.
3391         * modules/pt_chown (License): Likewise.
3392         * modules/ptsname (License): Likewise.
3393         * modules/ttyname_r (License): Likewise.
3394
3395 2011-10-19  Jim Meyering  <meyering@redhat.com>
3396
3397         posix_openpt: remove spurious #endif
3398         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
3399
3400 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
3401
3402         maint.mk: Respect $(build_aux) in web-manual rule.
3403         * top/maint.mk (web-manual): Find gen-announce script in user's
3404         $(build_aux) directory instead of hard-coding 'build-aux'.
3405
3406 2011-10-19  Bruno Haible  <bruno@clisp.org>
3407
3408         posix_openpt: Fix compilation error.
3409         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
3410         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
3411         Mention the openpty module as an alternative.
3412
3413 2011-10-19  Bruno Haible  <bruno@clisp.org>
3414
3415         Support for old NeXTstep 3.3 frexp().
3416         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
3417         execution time of the test to 5 seconds.
3418         Reported by Daniel Richard G. <skunk@iskunk.org>.
3419
3420 2011-10-19  Bruno Haible  <bruno@clisp.org>
3421
3422         Support for old NeXTstep 3.3 sed.
3423         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
3424         part, use /.../, not \|...|. Escape periods in the header file name.
3425         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
3426         Reported by Daniel Richard G. <skunk@iskunk.org>.
3427
3428 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
3429
3430         Support for old NeXTstep 3.3 gcc.
3431         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
3432         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
3433         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
3434         * lib/spawn.in.h (_Restrict_arr_): Likewise.
3435         * lib/regex.h (_Restrict_arr_): Likewise.
3436         * lib/regex_internal.h (re_token_t): Likewise.
3437         * lib/regexec.c (check_node_accept_bytes): Likewise.
3438         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
3439
3440 2011-10-18  Eric Blake  <eblake@redhat.com>
3441
3442         posix_openpt: new module
3443         * modules/posix_openpt: New module.
3444         * m4/posix_openpt.m4: New file.
3445         * lib/posix_openpt.c: Likewise.
3446         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
3447         (gl_STDLIB_H_DEFAULTS): Set defaults.
3448         * modules/stdlib (Makefile.am): Substitute macros.
3449         * lib/stdlib.in.h (posix_openpt): Declare.
3450         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
3451         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
3452         * modules/posix_openpt-tests: New test module.
3453         * tests/test-posix_openpt.c: New test.
3454
3455 2011-10-15  Bruno Haible  <bruno@clisp.org>
3456
3457         xstrtoll: Fix compilation failure.
3458         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
3459         from lib/strtol.c.
3460         * doc/posix-headers/limits.texi: Mention missing numerical limits on
3461         some platforms.
3462         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3463
3464 2011-10-15  Bruno Haible  <bruno@clisp.org>
3465
3466         vasnprintf: Optimize bit search operation.
3467         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
3468         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
3469         gl_DOUBLE_EXPONENT_LOCATION.
3470         * modules/vasnprintf (Files): Add m4/exponentd.m4.
3471         * modules/unistdio/u8-vasnprintf (Files): Likewise.
3472         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
3473         * modules/unistdio/u16-vasnprintf (Files): Likewise.
3474         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
3475         * modules/unistdio/u32-vasnprintf (Files): Likewise.
3476         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
3477         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
3478         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
3479
3480 2011-10-15  Bruno Haible  <bruno@clisp.org>
3481
3482         vasnprintf: Fix comments.
3483         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
3484
3485 2011-10-14  Bruno Haible  <bruno@clisp.org>
3486
3487         Tests for module 'integer_length_ll'.
3488         * modules/integer_length_ll-tests: New file.
3489         * tests/test-integer_length_ll.c: New file.
3490
3491         New module 'integer_length_ll'.
3492         * lib/integer_length_ll.c: New file.
3493         * modules/integer_length_ll: New file.
3494
3495 2011-10-14  Bruno Haible  <bruno@clisp.org>
3496
3497         Tests for module 'integer_length_l'.
3498         * modules/integer_length_l-tests: New file.
3499         * tests/test-integer_length_l.c: New file.
3500
3501         New module 'integer_length_l'.
3502         * lib/integer_length_l.c: New file.
3503         * modules/integer_length_l: New file.
3504
3505 2011-10-14  Bruno Haible  <bruno@clisp.org>
3506
3507         Tests for module 'integer_length'.
3508         * modules/integer_length-tests: New file.
3509         * tests/test-integer_length.c: New file.
3510
3511         New module 'integer_length'.
3512         * lib/integer_length.h: New file.
3513         * lib/integer_length.c: New file.
3514         * modules/integer_length: New file.
3515
3516 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
3517
3518         popen: Fix dependency conditions.
3519         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
3520
3521 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
3522
3523         perror: Fix autoconf test.
3524         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
3525         <stdlib.h> and <string.h>.
3526
3527 2011-10-14  Bruno Haible  <bruno@clisp.org>
3528
3529         ffsl: Optimize on 64-bit platforms.
3530         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
3531         unrolling.
3532
3533 2011-10-13  Bruno Haible  <bruno@clisp.org>
3534
3535         ffsl: Optimize on 32-bit platforms.
3536         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
3537         use ffs() without a loop.
3538
3539         ffsl, ffsll: Optimize for GCC.
3540         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
3541         * lib/ffsl.c (GCC_BUILTIN): New macro.
3542         * lib/ffsll.c (GCC_BUILTIN): Likewise.
3543
3544 2011-10-13  Bruno Haible  <bruno@clisp.org>
3545
3546         ffs, bcopy, memset: Support symbol renaming via config.h.
3547         * lib/ffs.c: Include <config.h>.
3548         * lib/bcopy.c: Likewise.
3549         * lib/memset.c: Likewise.
3550
3551 2011-10-10  Bruno Haible  <bruno@clisp.org>
3552
3553         atanl: Simplify for platforms where 'long double' == 'double'.
3554         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3555         alternative implementation.
3556         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3557         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3558         * modules/atanl (Depends-on): Add atan. Update conditions.
3559
3560 2011-10-10  Bruno Haible  <bruno@clisp.org>
3561
3562         acosl: Simplify for platforms where 'long double' == 'double'.
3563         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3564         alternative implementation.
3565         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3566         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3567         * modules/acosl (Depends-on): Add acos. Update conditions.
3568
3569 2011-10-10  Bruno Haible  <bruno@clisp.org>
3570
3571         asinl: Simplify for platforms where 'long double' == 'double'.
3572         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3573         alternative implementation.
3574         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3575         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3576         * modules/asinl (Depends-on): Add asin. Update conditions.
3577
3578 2011-10-10  Bruno Haible  <bruno@clisp.org>
3579
3580         tanl: Simplify for platforms where 'long double' == 'double'.
3581         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3582         implementation.
3583         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3584         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3585         * modules/tanl (Depends-on): Add tan. Update conditions.
3586         (configure.ac): Don't compile trigl.c if
3587         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3588
3589 2011-10-10  Bruno Haible  <bruno@clisp.org>
3590
3591         cosl: Simplify for platforms where 'long double' == 'double'.
3592         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3593         implementation.
3594         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3595         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3596         * modules/cosl (Depends-on): Add cos. Update conditions.
3597         (configure.ac): Don't compile sincosl.c and trigl.c if
3598         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3599
3600 2011-10-10  Bruno Haible  <bruno@clisp.org>
3601
3602         sinl: Simplify for platforms where 'long double' == 'double'.
3603         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3604         implementation.
3605         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3606         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3607         * modules/sinl (Depends-on): Add sin. Update conditions.
3608         (configure.ac): Don't compile sincosl.c and trigl.c if
3609         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3610
3611 2011-10-10  Bruno Haible  <bruno@clisp.org>
3612
3613         logl: Simplify for platforms where 'long double' == 'double'.
3614         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3615         implementation.
3616         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3617         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3618         * modules/logl (Depends-on): Add log. Update conditions.
3619
3620 2011-10-10  Bruno Haible  <bruno@clisp.org>
3621
3622         expl: Simplify for platforms where 'long double' == 'double'.
3623         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3624         implementation.
3625         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3626         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3627         * modules/expl (Depends-on): Add exp. Update conditions.
3628
3629 2011-10-10  Bruno Haible  <bruno@clisp.org>
3630
3631         sqrtl: Simplify for platforms where 'long double' == 'double'.
3632         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3633         alternative implementation.
3634         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3635         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3636         * modules/sqrtl (Depends-on): Update conditions.
3637
3638 2011-10-10  Bruno Haible  <bruno@clisp.org>
3639
3640         ldexpl: Simplify for platforms where 'long double' == 'double'.
3641         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3642         alternative implementation.
3643         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3644         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3645         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
3646
3647 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
3648
3649         ffsll: set correct witness
3650         * modules/ffsll (configure.ac): Fix typo.
3651
3652 2011-10-10  Bruno Haible  <bruno@clisp.org>
3653
3654         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
3655         * lib/printf-frexpl.c: Include <config.h>.
3656         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3657         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
3658         second time.
3659         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
3660         gl_LONG_DOUBLE_VS_DOUBLE.
3661         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
3662         conditions.
3663
3664 2011-10-10  Bruno Haible  <bruno@clisp.org>
3665
3666         frexpl: Simplify for platforms where 'long double' == 'double'.
3667         * lib/frexpl.c: Include <config.h>.
3668         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3669         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3670         time.
3671         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3672         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3673         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
3674         * modules/frexpl (Depends-on): Add frexp. Update conditions.
3675         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
3676         conditions.
3677
3678 2011-10-10  Jim Meyering  <meyering@redhat.com>
3679
3680         test-renameat: don't leave behind a temporary file
3681         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
3682           ERROR: files left in build directory after distclean:
3683           ./gltests/test-renameat.too
3684           make[1]: *** [distcleancheck] Error 1
3685         Reported by Tom G. Christensen.
3686
3687 2011-10-09  Bruno Haible  <bruno@clisp.org>
3688
3689         rint: Determine RINT_LIBM correctly on AIX 7.
3690         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
3691         directly, not only through a function pointer. Also accept an optional
3692         4th argument with extra code.
3693         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
3694         rintf() call by gcc when optimizing.
3695
3696         mathfunc.m4: Refactor.
3697         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
3698         m4 variable.
3699
3700 2011-10-09  Bruno Haible  <bruno@clisp.org>
3701
3702         rintl: Simplify for platforms where 'long double' == 'double'.
3703         * lib/rintl.c: Include <config.h>.
3704         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3705         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3706         time.
3707         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3708         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3709         * modules/rintl (Depends-on): Add rint. Update conditions.
3710
3711 2011-10-09  Bruno Haible  <bruno@clisp.org>
3712
3713         roundl: Simplify for platforms where 'long double' == 'double'.
3714         * lib/roundl.c: Include <config.h>.
3715         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3716         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3717         time.
3718         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3719         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3720         * modules/roundl (Depends-on): Add round. Update conditions.
3721
3722 2011-10-09  Bruno Haible  <bruno@clisp.org>
3723
3724         truncl: Simplify for platforms where 'long double' == 'double'.
3725         * lib/truncl.c: Include <config.h>.
3726         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3727         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3728         time.
3729         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3730         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3731         * modules/truncl (Depends-on): Add trunc. Update conditions.
3732
3733 2011-10-09  Bruno Haible  <bruno@clisp.org>
3734
3735         ceill: Simplify for platforms where 'long double' == 'double'.
3736         * lib/ceill.c: Include <config.h>.
3737         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3738         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3739         time.
3740         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3741         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3742         * modules/ceill (Depends-on): Add ceil. Update conditions.
3743
3744 2011-10-09  Bruno Haible  <bruno@clisp.org>
3745
3746         floorl: Simplify for platforms where 'long double' == 'double'.
3747         * lib/floorl.c: Include <config.h>.
3748         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3749         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3750         time.
3751         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3752         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3753         * modules/floorl (Depends-on): Add floor. Update conditions.
3754
3755 2011-10-09  Bruno Haible  <bruno@clisp.org>
3756
3757         rint: Fix ordering constraints.
3758         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
3759         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
3760         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
3761
3762 2011-10-09  Bruno Haible  <bruno@clisp.org>
3763
3764         copysignl: Simplify for platforms where 'long double' == 'double'.
3765         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3766         alternative.
3767         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3768         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3769         * modules/copysignl (Depends-on): Add copysign. Update conditions.
3770
3771 2011-10-09  Bruno Haible  <bruno@clisp.org>
3772
3773         Tests for module 'rintl'.
3774         * modules/rintl-tests: New file.
3775         * tests/test-rintl.c: New file.
3776
3777         New module 'rintl'.
3778         * lib/math.in.h (rintl): New declaration.
3779         * lib/rintl.c: New file.
3780         * m4/rintl.m4: New file.
3781         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
3782         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
3783         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
3784         * modules/rintl: New file.
3785         * tests/test-math-c++.cc: Check the declaration of rintl.
3786         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
3787         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
3788         * doc/posix-functions/rintl.texi: Mention the new module.
3789
3790 2011-10-09  Bruno Haible  <bruno@clisp.org>
3791
3792         Tests for module 'rintf'.
3793         * modules/rintf-tests: New file.
3794         * tests/test-rintf.c: New file.
3795
3796         New module 'rintf'.
3797         * lib/math.in.h (rintf): New declaration.
3798         * lib/rintf.c: New file.
3799         * m4/rintf.m4: New file.
3800         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
3801         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
3802         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
3803         * modules/rintf: New file.
3804         * tests/test-math-c++.cc: Check the declaration of rintf.
3805         * doc/posix-functions/rintf.texi: Mention the new module.
3806
3807 2011-10-09  Bruno Haible  <bruno@clisp.org>
3808
3809         rint: Support for MSVC.
3810         * lib/math.in.h (rint): New declaration.
3811         * lib/rint.c: New file.
3812         * m4/rint.m4: New file.
3813         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
3814         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
3815         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
3816         * modules/rint (Description): Fix.
3817         (Files): Add lib/rint.c, m4/rint.m4.
3818         (Depends-on): Add math.
3819         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
3820         gl_MATH_MODULE_INDICATOR.
3821         * tests/test-math-c++.cc: Check the declaration of rint.
3822         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
3823         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
3824         * doc/posix-functions/rint.texi: Mention the replacement provided by
3825         the module.
3826
3827         rint tests: More tests.
3828         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
3829         minus-zero.h, infinity.h, nan.h.
3830         (main): Skip the test if the current rounding mode is not standard. Add
3831         tests for negative numbers, minus zero, infinity, NaN.
3832         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
3833         tests/nan.h.
3834         (Depends-on): Add isnand-nolibm.
3835
3836 2011-10-09  Bruno Haible  <bruno@clisp.org>
3837
3838         Tests for module 'copysignl'.
3839         * modules/copysignl-tests: New file.
3840         * tests/test-copysignl.c: New file.
3841
3842         New module 'copysignl'.
3843         * lib/math.in.h (copysignl): New declaration.
3844         * lib/copysignl.c: New file.
3845         * m4/copysignl.m4: New file.
3846         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
3847         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
3848         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
3849         HAVE_COPYSIGNL.
3850         * modules/copysignl: New file.
3851         * tests/test-math-c++.cc: Check the declaration of copysignl.
3852         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
3853         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
3854         * doc/posix-functions/copysignl.texi: Mention the new module.
3855
3856 2011-10-09  Bruno Haible  <bruno@clisp.org>
3857
3858         Tests for module 'copysignf'.
3859         * modules/copysignf-tests: New file.
3860         * tests/test-copysignf.c: New file.
3861
3862         New module 'copysignf'.
3863         * lib/math.in.h (copysignf): New declaration.
3864         * lib/copysignf.c: New file.
3865         * m4/copysignf.m4: New file.
3866         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
3867         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
3868         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
3869         HAVE_COPYSIGNF.
3870         * modules/copysignf: New file.
3871         * tests/test-math-c++.cc: Check the declaration of copysignf.
3872         * doc/posix-functions/copysignf.texi: Mention the new module.
3873
3874 2011-10-09  Bruno Haible  <bruno@clisp.org>
3875
3876         Ensure that HAVE_* variables are set to 1 before they are set to 0.
3877         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
3878         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
3879         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3880         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
3881         gl_SIGNAL_H_DEFAULTS.
3882
3883 2011-10-09  Bruno Haible  <bruno@clisp.org>
3884
3885         poll: Make macro safer.
3886         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
3887         ac_cv_header_poll_h is not set.
3888
3889 2011-10-09  Bruno Haible  <bruno@clisp.org>
3890
3891         copysign: Provide replacement.
3892         * lib/math.in.h (copysign): New declaration.
3893         * lib/copysign.c: New file.
3894         * m4/copysign.m4: New file.
3895         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
3896         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
3897         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
3898         HAVE_COPYSIGN.
3899         * modules/copysign (Description): Clarify.
3900         (Files): Add lib/copysign.c, m4/copysign.m4.
3901         (Depends-on): Add math, signbit.
3902         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
3903         gl_MATH_MODULE_INDICATOR.
3904         * tests/test-math-c++.cc: Check the declaration of copysign.
3905         * doc/posix-functions/copysign.texi: Mention the effects of the module
3906         on Minix and MSVC.
3907
3908 2011-10-09  Bruno Haible  <bruno@clisp.org>
3909
3910         isinf: Ensure macro on AIX 5.1.
3911         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
3912         macro.
3913         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
3914
3915 2011-10-09  Bruno Haible  <bruno@clisp.org>
3916
3917         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
3918         * modules/snprintf-posix-tests (configure.ac): Require
3919         gl_LONG_DOUBLE_VS_DOUBLE.
3920         * modules/sprintf-posix-tests (configure.ac): Likewise.
3921         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
3922         * modules/vasprintf-posix-tests (configure.ac): Likewise.
3923         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
3924         * modules/vsprintf-posix-tests (configure.ac): Likewise.
3925         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
3926         tests on platforms where 'long double' is the same as 'double'.
3927         * tests/test-sprintf-posix.h (test_function): Likewise.
3928         * tests/test-vasnprintf-posix.c (test_function): Likewise.
3929         * tests/test-vasprintf-posix.c (test_function): Likewise.
3930
3931         *printf: Fix for platforms where 'long double' == 'double'.
3932         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
3933         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
3934         * modules/dprintf-posix (Files): Add m4/math_h.m4.
3935         * modules/fprintf-posix (Files): Likewise.
3936         * modules/obstack-printf-posix (Files): Likewise.
3937         * modules/snprintf-posix (Files): Likewise.
3938         * modules/sprintf-posix (Files): Likewise.
3939         * modules/vasnprintf (Files): Likewise.
3940         * modules/vasnprintf-posix (Files): Likewise.
3941         * modules/vasprintf-posix (Files): Likewise.
3942         * modules/vdprintf-posix (Files): Likewise.
3943         * modules/vfprintf-posix (Files): Likewise.
3944         * modules/vsnprintf-posix (Files): Likewise.
3945         * modules/vsprintf-posix (Files): Likewise.
3946         * modules/unistdio/u8-vasnprintf (Files): Likewise.
3947         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
3948         * modules/unistdio/u16-vasnprintf (Files): Likewise.
3949         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
3950         * modules/unistdio/u32-vasnprintf (Files): Likewise.
3951         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
3952         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
3953
3954         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
3955         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
3956         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3957         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
3958         'long double'.
3959         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
3960
3961         isinf: Fix for platforms where 'long double' == 'double'.
3962         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
3963         Don't blindly assume 80-bit 'long double'.
3964
3965         isfinite: Fix for platforms where 'long double' == 'double'.
3966         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
3967         Don't blindly assume 80-bit 'long double'.
3968
3969         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
3970         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
3971         * modules/isfinite-tests (configure.ac): Require
3972         gl_LONG_DOUBLE_VS_DOUBLE.
3973         * modules/isinf-tests (configure.ac): Likewise.
3974         * modules/isnan-tests (configure.ac): Likewise.
3975         * modules/isnanl-tests (configure.ac): Likewise.
3976         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
3977         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
3978         tests on platforms where 'long double' is the same as 'double'.
3979         * tests/test-isinf.c (test_isinfl): Likewise.
3980         * tests/test-isnan.c (test_long_double): Likewise.
3981         * tests/test-isnanl.h (main): Likewise.
3982
3983 2011-10-08  Bruno Haible  <bruno@clisp.org>
3984
3985         Tests for module 'tanhf'.
3986         * modules/tanhf-tests: New file.
3987         * tests/test-tanhf.c: New file.
3988
3989         New module 'tanhf'.
3990         * lib/math.in.h (tanhf): New declaration.
3991         * lib/tanhf.c: New file.
3992         * m4/tanhf.m4: New file.
3993         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
3994         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
3995         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
3996         * modules/tanhf: New file.
3997         * tests/test-math-c++.cc: Check the declaration of tanhf.
3998         * doc/posix-functions/tanhf.texi: Mention the new module.
3999
4000         tanh: Use a .m4 file.
4001         * m4/tanh.m4: New file.
4002         * modules/tanh (Files): Add it.
4003         (configure.ac): Just invoke gl_FUNC_TANH.
4004
4005 2011-10-08  Bruno Haible  <bruno@clisp.org>
4006
4007         Tests for module 'coshf'.
4008         * modules/coshf-tests: New file.
4009         * tests/test-coshf.c: New file.
4010
4011         New module 'coshf'.
4012         * lib/math.in.h (coshf): New declaration.
4013         * lib/coshf.c: New file.
4014         * m4/coshf.m4: New file.
4015         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
4016         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
4017         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
4018         * modules/coshf: New file.
4019         * tests/test-math-c++.cc: Check the declaration of coshf.
4020         * doc/posix-functions/coshf.texi: Mention the new module.
4021
4022         cosh: Use a .m4 file.
4023         * m4/cosh.m4: New file.
4024         * modules/cosh (Files): Add it.
4025         (configure.ac): Just invoke gl_FUNC_COSH.
4026
4027 2011-10-08  Bruno Haible  <bruno@clisp.org>
4028
4029         Tests for module 'sinhf'.
4030         * modules/sinhf-tests: New file.
4031         * tests/test-sinhf.c: New file.
4032
4033         New module 'sinhf'.
4034         * lib/math.in.h (sinhf): New declaration.
4035         * lib/sinhf.c: New file.
4036         * m4/sinhf.m4: New file.
4037         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
4038         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
4039         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
4040         * modules/sinhf: New file.
4041         * tests/test-math-c++.cc: Check the declaration of sinhf.
4042         * doc/posix-functions/sinhf.texi: Mention the new module.
4043
4044         sinh: Use a .m4 file.
4045         * m4/sinh.m4: New file.
4046         * modules/sinh (Files): Add it.
4047         (configure.ac): Just invoke gl_FUNC_SINH.
4048
4049 2011-10-08  Bruno Haible  <bruno@clisp.org>
4050
4051         Tests for module 'atan2f'.
4052         * modules/atan2f-tests: New file.
4053         * tests/test-atan2f.c: New file.
4054
4055         New module 'atan2f'.
4056         * lib/math.in.h (atan2f): New declaration.
4057         * lib/atan2f.c: New file.
4058         * m4/atan2f.m4: New file.
4059         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
4060         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
4061         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
4062         * modules/atan2f: New file.
4063         * tests/test-math-c++.cc: Check the declaration of atan2f.
4064         * doc/posix-functions/atan2f.texi: Mention the new module.
4065
4066         atan2: Use a .m4 file.
4067         * m4/atan2.m4: New file.
4068         * modules/atan2 (Files): Add it.
4069         (configure.ac): Just invoke gl_FUNC_ATAN2.
4070
4071 2011-10-08  Bruno Haible  <bruno@clisp.org>
4072
4073         Tests for module 'atanf'.
4074         * modules/atanf-tests: New file.
4075         * tests/test-atanf.c: New file.
4076
4077         New module 'atanf'.
4078         * lib/math.in.h (atanf): New declaration.
4079         * lib/atanf.c: New file.
4080         * m4/atanf.m4: New file.
4081         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
4082         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
4083         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
4084         * modules/atanf: New file.
4085         * tests/test-math-c++.cc: Check the declaration of atanf.
4086         * doc/posix-functions/atanf.texi: Mention the new module.
4087
4088         atan: Use a .m4 file.
4089         * m4/atan.m4: New file.
4090         * modules/atan (Files): Add it.
4091         (configure.ac): Just invoke gl_FUNC_ATAN.
4092
4093 2011-10-08  Bruno Haible  <bruno@clisp.org>
4094
4095         Tests for module 'acosf'.
4096         * modules/acosf-tests: New file.
4097         * tests/test-acosf.c: New file.
4098
4099         New module 'acosf'.
4100         * lib/math.in.h (acosf): New declaration.
4101         * lib/acosf.c: New file.
4102         * m4/acosf.m4: New file.
4103         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
4104         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
4105         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
4106         * modules/acosf: New file.
4107         * tests/test-math-c++.cc: Check the declaration of acosf.
4108         * doc/posix-functions/acosf.texi: Mention the new module.
4109
4110         acos: Use a .m4 file.
4111         * m4/acos.m4: New file.
4112         * modules/acos (Files): Add it.
4113         (configure.ac): Just invoke gl_FUNC_ACOS.
4114
4115 2011-10-08  Bruno Haible  <bruno@clisp.org>
4116
4117         Tests for module 'asinf'.
4118         * modules/asinf-tests: New file.
4119         * tests/test-asinf.c: New file.
4120
4121         New module 'asinf'.
4122         * lib/math.in.h (asinf): New declaration.
4123         * lib/asinf.c: New file.
4124         * m4/asinf.m4: New file.
4125         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
4126         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
4127         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
4128         * modules/asinf: New file.
4129         * tests/test-math-c++.cc: Check the declaration of asinf.
4130         * doc/posix-functions/asinf.texi: Mention the new module.
4131
4132         asin: Use a .m4 file.
4133         * m4/asin.m4: New file.
4134         * modules/asin (Files): Add it.
4135         (configure.ac): Just invoke gl_FUNC_ASIN.
4136
4137 2011-10-08  Bruno Haible  <bruno@clisp.org>
4138
4139         Tests for module 'tanf'.
4140         * modules/tanf-tests: New file.
4141         * tests/test-tanf.c: New file.
4142
4143         New module 'tanf'.
4144         * lib/math.in.h (tanf): New declaration.
4145         * lib/tanf.c: New file.
4146         * m4/tanf.m4: New file.
4147         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
4148         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
4149         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
4150         * modules/tanf: New file.
4151         * tests/test-math-c++.cc: Check the declaration of tanf.
4152         * doc/posix-functions/tanf.texi: Mention the new module.
4153
4154         tan: Use a .m4 file.
4155         * m4/tan.m4: New file.
4156         * modules/tan (Files): Add it.
4157         (configure.ac): Just invoke gl_FUNC_TAN.
4158
4159 2011-10-08  Bruno Haible  <bruno@clisp.org>
4160
4161         Tests for module 'cosf'.
4162         * modules/cosf-tests: New file.
4163         * tests/test-cosf.c: New file.
4164
4165         New module 'cosf'.
4166         * lib/math.in.h (cosf): New declaration.
4167         * lib/cosf.c: New file.
4168         * m4/cosf.m4: New file.
4169         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
4170         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
4171         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
4172         * modules/cosf: New file.
4173         * tests/test-math-c++.cc: Check the declaration of cosf.
4174         * doc/posix-functions/cosf.texi: Mention the new module.
4175
4176         cos: Use a .m4 file.
4177         * m4/cos.m4: New file.
4178         * modules/cos (Files): Add it.
4179         (configure.ac): Just invoke gl_FUNC_COS.
4180
4181 2011-10-08  Bruno Haible  <bruno@clisp.org>
4182
4183         Tests for module 'sinf'.
4184         * modules/sinf-tests: New file.
4185         * tests/test-sinf.c: New file.
4186
4187         New module 'sinf'.
4188         * lib/math.in.h (sinf): New declaration.
4189         * lib/sinf.c: New file.
4190         * m4/sinf.m4: New file.
4191         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
4192         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
4193         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
4194         * modules/sinf: New file.
4195         * tests/test-math-c++.cc: Check the declaration of sinf.
4196         * doc/posix-functions/sinf.texi: Mention the new module.
4197
4198         sin: Use a .m4 file.
4199         * m4/sin.m4: New file.
4200         * modules/sin (Files): Add it.
4201         (configure.ac): Just invoke gl_FUNC_SIN.
4202
4203 2011-10-08  Bruno Haible  <bruno@clisp.org>
4204
4205         Tests for module 'powf'.
4206         * modules/powf-tests: New file.
4207         * tests/test-powf.c: New file.
4208
4209         New module 'powf'.
4210         * lib/math.in.h (powf): New declaration.
4211         * lib/powf.c: New file.
4212         * m4/powf.m4: New file.
4213         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
4214         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
4215         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
4216         * modules/powf: New file.
4217         * tests/test-math-c++.cc: Check the declaration of powf.
4218         * doc/posix-functions/powf.texi: Mention the new module.
4219
4220         pow: Use a .m4 file.
4221         * m4/pow.m4: New file.
4222         * modules/pow (Files): Add it.
4223         (configure.ac): Just invoke gl_FUNC_POW.
4224
4225 2011-10-08  Bruno Haible  <bruno@clisp.org>
4226
4227         Tests for module 'log10f'.
4228         * modules/log10f-tests: New file.
4229         * tests/test-log10f.c: New file.
4230
4231         New module 'log10f'.
4232         * lib/math.in.h (log10f): New declaration.
4233         * lib/log10f.c: New file.
4234         * m4/log10f.m4: New file.
4235         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
4236         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
4237         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
4238         * modules/log10f: New file.
4239         * tests/test-math-c++.cc: Check the declaration of log10f.
4240         * doc/posix-functions/log10f.texi: Mention the new module.
4241
4242         log10: Use a .m4 file.
4243         * m4/log10.m4: New file.
4244         * modules/log10 (Files): Add it.
4245         (configure.ac): Just invoke gl_FUNC_LOG10.
4246
4247 2011-10-08  Bruno Haible  <bruno@clisp.org>
4248
4249         Tests for module 'logf'.
4250         * modules/logf-tests: New file.
4251         * tests/test-logf.c: New file.
4252
4253         New module 'logf'.
4254         * lib/math.in.h (logf): New declaration.
4255         * lib/logf.c: New file.
4256         * m4/logf.m4: New file.
4257         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
4258         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
4259         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
4260         * modules/logf: New file.
4261         * tests/test-math-c++.cc: Check the declaration of logf.
4262         * doc/posix-functions/logf.texi: Mention the new module.
4263
4264         log: Use a .m4 file.
4265         * m4/log.m4: New file.
4266         * modules/log (Files): Add it.
4267         (configure.ac): Just invoke gl_FUNC_LOG.
4268
4269 2011-10-08  Bruno Haible  <bruno@clisp.org>
4270
4271         Tests for module 'expf'.
4272         * modules/expf-tests: New file.
4273         * tests/test-expf.c: New file.
4274
4275         New module 'expf'.
4276         * lib/math.in.h (expf): New declaration.
4277         * lib/expf.c: New file.
4278         * m4/expf.m4: New file.
4279         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
4280         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
4281         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
4282         * modules/expf: New file.
4283         * tests/test-math-c++.cc: Check the declaration of expf.
4284         * doc/posix-functions/expf.texi: Mention the new module.
4285
4286         exp: Use a .m4 file.
4287         * m4/exp.m4: New file.
4288         * modules/exp (Files): Add it.
4289         (configure.ac): Just invoke gl_FUNC_EXP.
4290
4291 2011-10-08  Bruno Haible  <bruno@clisp.org>
4292
4293         Tests for module 'sqrtf'.
4294         * modules/sqrtf-tests: New file.
4295         * tests/test-sqrtf.c: New file.
4296
4297         New module 'sqrtf'.
4298         * lib/math.in.h (sqrtf): New declaration.
4299         * lib/sqrtf.c: New file.
4300         * m4/sqrtf.m4: New file.
4301         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
4302         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
4303         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
4304         * modules/sqrtf: New file.
4305         * tests/test-math-c++.cc: Check the declaration of sqrtf.
4306         * doc/posix-functions/sqrtf.texi: Mention the new module.
4307
4308 2011-10-08  Bruno Haible  <bruno@clisp.org>
4309
4310         Tests: Avoid link failures w.r.t. libintl.
4311         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
4312         $(LIBINTL).
4313         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
4314         $(LIBINTL).
4315         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
4316         against $(LIBINTL).
4317         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
4318         $(LIBINTL).
4319         * modules/openat-tests (Makefile.am): Link test-fchmodat against
4320         $(LIBINTL).
4321         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
4322
4323 2011-10-08  Bruno Haible  <bruno@clisp.org>
4324
4325         pow tests: Defeat compiler optimizations.
4326         * tests/test-pow.c (main): Assign arguments to x and y before use.
4327
4328 2011-10-08  Bruno Haible  <bruno@clisp.org>
4329
4330         gnulib-tool: Improve last commit.
4331         * gnulib-tool (func_modules_transitive_closure): Simplify code.
4332         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
4333         ignore dependencies that are not among the modules list.
4334
4335 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
4336
4337         gnulib-tool: don't follow dependencies to avoided modules
4338         This fixes a bug that is related to the previous one.
4339         * gnulib-tool (func_modules_transitive_closure)
4340         (func_emit_autoconf_snippets):
4341         Check whether a dependency is acceptable before using it.
4342         (--extract-dependencies): Report an error if --avoid is also used,
4343         since this combination of options is not yet supported.
4344
4345         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
4346         Problem reported by Peter Dyballa in
4347         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
4348         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
4349         when echoing "$condition".
4350
4351 2011-10-07  Bruno Haible  <bruno@clisp.org>
4352
4353         Fix documentation about math functions on MacOS X.
4354         * doc/posix-functions/exp2.texi: Don't say the function is missing on
4355         MacOS X 10.5.
4356         * doc/posix-functions/fdim.texi: Likewise.
4357         * doc/posix-functions/feclearexcept.texi: Likewise.
4358         * doc/posix-functions/fegetenv.texi: Likewise.
4359         * doc/posix-functions/fegetround.texi: Likewise.
4360         * doc/posix-functions/feholdexcept.texi: Likewise.
4361         * doc/posix-functions/feraiseexcept.texi: Likewise.
4362         * doc/posix-functions/fesetenv.texi: Likewise.
4363         * doc/posix-functions/fesetround.texi: Likewise.
4364         * doc/posix-functions/fetestexcept.texi: Likewise.
4365         * doc/posix-functions/feupdateenv.texi: Likewise.
4366         * doc/posix-functions/fmax.texi: Likewise.
4367         * doc/posix-functions/fmin.texi: Likewise.
4368         * doc/posix-functions/log2.texi: Likewise.
4369         * doc/posix-functions/modff.texi: Likewise.
4370         * doc/posix-functions/nan.texi: Likewise.
4371         * doc/posix-functions/nanf.texi: Likewise.
4372         * doc/posix-functions/nextafterf.texi: Likewise.
4373         * doc/posix-functions/remquo.texi: Likewise.
4374
4375 2011-10-07  Bruno Haible  <bruno@clisp.org>
4376
4377         modff: Drop assumption about library that defines modff.
4378         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
4379         AC_CHECK_FUNCS.
4380         * modules/modff (Files): Add m4/mathfunc.m4.
4381
4382 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
4383
4384         raise tests: Avoid a GCC warning.
4385         * tests/test-raise.c (handler): Use _Noreturn.
4386
4387 2011-10-07  Bruno Haible  <bruno@clisp.org>
4388
4389         Tests for module 'ldexpf'.
4390         * modules/ldexpf-tests: New file.
4391         * tests/test-ldexpf.c: New file.
4392
4393         New module 'ldexpf'.
4394         * lib/math.in.h (ldexpf): New declaration.
4395         * lib/ldexpf.c: New file.
4396         * m4/ldexpf.m4: New file.
4397         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
4398         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
4399         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
4400         * modules/ldexpf: New file.
4401         * tests/test-math-c++.cc: Check the declaration of ldexpf.
4402         * doc/posix-functions/ldexpf.texi: Mention the new module.
4403
4404 2011-10-06  Bruno Haible  <bruno@clisp.org>
4405
4406         frexpf: Work around problems on IRIX and mingw.
4407         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
4408         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
4409         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
4410         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
4411         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
4412         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
4413         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
4414
4415 2011-10-06  Bruno Haible  <bruno@clisp.org>
4416
4417         fabsf: Drop assumption about library that defines fabsf.
4418         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
4419         AC_CHECK_FUNCS.
4420         * modules/fabsf (Files): Add m4/mathfunc.m4.
4421
4422 2011-10-06  Bruno Haible  <bruno@clisp.org>
4423
4424         frexpf: Drop assumption about library that defines frexpf.
4425         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
4426         'int *', 'float *', 'long double *', 'float', 'long double'.
4427         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
4428         AC_CHECK_FUNCS.
4429         * modules/frexpf (Files): Add m4/mathfunc.m4.
4430
4431         Tests for module 'frexpf'.
4432         * modules/frexpf-tests: New file.
4433         * tests/test-frexpf.c: New file.
4434
4435         New module 'frexpf'.
4436         * lib/math.in.h (frexpf): New declaration.
4437         * lib/frexpf.c: New file.
4438         * m4/frexpf.m4: New file.
4439         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
4440         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
4441         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
4442         * modules/frexpf: New file.
4443         * tests/test-math-c++.cc: Check the declaration of frexpf.
4444         * doc/posix-functions/frexpf.texi: Mention the new module.
4445
4446 2011-10-06  Bruno Haible  <bruno@clisp.org>
4447
4448         math: Sort function declarations of math.in.h.
4449         * lib/math.in.h (frexp, logb): Move declarations.
4450
4451 2011-10-05  Bruno Haible  <bruno@clisp.org>
4452
4453         Tests for module 'modff'.
4454         * modules/modff-tests: New file.
4455         * tests/test-modff.c: New file.
4456
4457         New module 'modff'.
4458         * lib/math.in.h (modff): New declaration.
4459         * lib/modff.c: New file.
4460         * m4/modff.m4: New file.
4461         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
4462         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
4463         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
4464         * modules/modff: New file.
4465         * tests/test-math-c++.cc: Check the declaration of modff.
4466         * doc/posix-functions/modff.texi: Mention the new module.
4467
4468         modf tests: Make test sharper.
4469         * tests/test-modf.c (main): Strengthen upper bound.
4470
4471         modf: Use a .m4 file.
4472         * m4/modf.m4: New file.
4473         * modules/modf (Files): Add it.
4474         (configure.ac): Just invoke gl_FUNC_MODF.
4475
4476 2011-10-05  Bruno Haible  <bruno@clisp.org>
4477
4478         Tests for module 'fmodf'.
4479         * modules/fmodf-tests: New file.
4480         * tests/test-fmodf.c: New file.
4481
4482         New module 'fmodf'.
4483         * lib/math.in.h (fmodf): New declaration.
4484         * lib/fmodf.c: New file.
4485         * m4/fmodf.m4: New file.
4486         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
4487         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
4488         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
4489         * modules/fmodf: New file.
4490         * tests/test-math-c++.cc: Check the declaration of fmodf.
4491         * doc/posix-functions/fmodf.texi: Mention the new module.
4492
4493         fmod: Use a .m4 file.
4494         * m4/fmod.m4: New file.
4495         * modules/fmod (Files): Add it.
4496         (configure.ac): Just invoke gl_FUNC_FMOD.
4497
4498 2011-10-05  Bruno Haible  <bruno@clisp.org>
4499
4500         Tests for module 'fabsf'.
4501         * modules/fabsf-tests: New file.
4502         * tests/test-fabsf.c: New file.
4503
4504         New module 'fabsf'.
4505         * lib/math.in.h (fabsf): New declaration.
4506         * lib/fabsf.c: New file.
4507         * m4/fabsf.m4: New file.
4508         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
4509         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
4510         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
4511         * modules/fabsf: New file.
4512         * tests/test-math-c++.cc: Check the declaration of fabsf.
4513         * doc/posix-functions/fabsf.texi: Mention the new module.
4514
4515         fabs: Use a .m4 file.
4516         * m4/fabs.m4: New file.
4517         * modules/fabs (Files): Add it.
4518         (configure.ac): Just invoke gl_FUNC_FABS.
4519
4520 2011-10-05  Jim Meyering  <meyering@redhat.com>
4521
4522         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
4523         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
4524         ls -lL regression introduced in coreutils-8.12, it does so at the
4525         cost of an additional stat call in the common case.  Besides, now
4526         that the kernel change that prompted commit 95f7c57f has been reverted
4527         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
4528         we have no use for commit 95f7c57f, "file-has-acl: use
4529         acl_extended_file_nofollow if available".
4530
4531 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
4532
4533         file-has-acl: revert unintended change in behavior of ls -L
4534         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
4535         derived from...
4536         (file_has_acl): ...code here.  Call it.
4537         This problem was introduced with 2011-07-22 commit 95f7c57f,
4538         "file-has-acl: use acl_extended_file_nofollow if available".
4539         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
4540
4541 2011-10-03  Bruno Haible  <bruno@clisp.org>
4542
4543         poll: Avoid link errors on MSVC.
4544         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
4545         * modules/poll (Depends-on): Add sockets.
4546         (Link): New section.
4547         * NEWS: Mention the change.
4548         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
4549         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
4550         $(LIB_POLL) instead of $(LIBSOCKET).
4551
4552 2011-10-03  Bruno Haible  <bruno@clisp.org>
4553
4554         sys_select tests: Fix link error on MSVC 9.
4555         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
4556         with $(LIB_SELECT) instead of $(LIBSOCKET).
4557
4558 2011-10-03  Bruno Haible  <bruno@clisp.org>
4559
4560         sys_select: Fix compilation error on mingw.
4561         * lib/sys_select.in.h: On native Windows, include <io.h>.
4562
4563 2011-10-03  Bruno Haible  <bruno@clisp.org>
4564
4565         wmemset: Support for MSVC.
4566         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
4567         whether wmemset() exists.
4568
4569 2011-10-03  Bruno Haible  <bruno@clisp.org>
4570
4571         wmemmove: Support for MSVC.
4572         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
4573         whether wmemmove() exists.
4574
4575 2011-10-03  Bruno Haible  <bruno@clisp.org>
4576
4577         wmemcpy: Support for MSVC.
4578         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
4579         whether wmemcpy() exists.
4580
4581 2011-10-03  Bruno Haible  <bruno@clisp.org>
4582
4583         wmemcmp: Support for MSVC.
4584         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
4585         whether wmemcmp() exists.
4586
4587 2011-10-03  Bruno Haible  <bruno@clisp.org>
4588
4589         wmemchr: Support for MSVC.
4590         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
4591         whether wmemchr() exists.
4592
4593 2011-10-03  Bruno Haible  <bruno@clisp.org>
4594
4595         glthread/*, strsignal: Support for MSVC.
4596         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
4597         including <winsock.h> on MSVC 9.
4598         * lib/glthread/lock.h: Likewise.
4599         * lib/glthread/thread.h: Likewise.
4600         * lib/glthread/tls.h: Likewise.
4601         * lib/glthread/yield.h: Likewise.
4602         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
4603         if HAVE_UNISTD_H is false.
4604         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
4605
4606 2011-10-03  Bruno Haible  <bruno@clisp.org>
4607
4608         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
4609         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
4610         Set to 100000.
4611
4612 2011-10-03  Bruno Haible  <bruno@clisp.org>
4613
4614         acl: Fix specification.
4615         * lib/file-has-acl.c (file_has_acl): Fix specification.
4616
4617 2011-10-03  Bruno Haible  <bruno@clisp.org>
4618
4619         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
4620         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
4621         (compute_curr_prefix, shared_library_fullname,
4622         find_shared_library_fullname, get_shared_library_fullname, relocate):
4623         Use it together with PIC && INSTALLDIR.
4624         Reported by <jojelino@gmail.com>
4625         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
4626
4627 2011-10-01  Jim Meyering  <meyering@redhat.com>
4628
4629         maint.mk: adjust a release-related rule not to require use of gzip
4630         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
4631         Instead, check each file in $(DIST_ARCHIVES).  This is better for
4632         projects that build only .tar.xz files.  Also fix an erroneous test.
4633
4634         test-linkat: don't leave behind a temporary file
4635         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
4636         Otherwise, coreutils' "make distcheck" would fail with this:
4637           Only in /c/cu/tests/torture/coreutils/test/\
4638             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
4639           make[2]: *** [my-distcheck] Error 1
4640
4641         float, math: add omitted file
4642         * lib/itold.c: Add file, required for yesterday's float change.
4643
4644 2011-10-01  Bruno Haible  <bruno@clisp.org>
4645
4646         isinf: Fix for OpenBSD/x86.
4647         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
4648         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
4649         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
4650
4651 2011-10-01  Bruno Haible  <bruno@clisp.org>
4652
4653         isfinite: Fix syntax error in configure test.
4654         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
4655
4656         isfinite: Fix typo.
4657         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
4658         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
4659
4660 2011-10-01  Bruno Haible  <bruno@clisp.org>
4661
4662         nonblocking tests: Fix test failure on Linux/IA-64.
4663         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
4664         Set to 270000.
4665
4666 2011-10-01  Bruno Haible  <bruno@clisp.org>
4667
4668         mkfifoat tests: Fix a test failure on mingw.
4669         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
4670         with error ENOSYS.
4671
4672 2011-09-30  Bruno Haible  <bruno@clisp.org>
4673
4674         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
4675         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
4676         'long double'. Set REPLACE_ITOLD.
4677         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
4678         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
4679         * lib/itold.c: New file.
4680         * modules/float (Files): Add lib/itold.c.
4681         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
4682         (Makefile.am): Substitute REPLACE_ITOLD.
4683         * modules/math (Depends-on): Add float.
4684         (Makefile.am): Substitute REPLACE_ITOLD.
4685         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
4686         * doc/posix-headers/math.texi: Likewise.
4687         * doc/posix-functions/logl.texi: Likewise.
4688
4689 2011-09-30  Bruno Haible  <bruno@clisp.org>
4690
4691         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
4692         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
4693         Set to 140000.
4694
4695 2011-09-30  Bruno Haible  <bruno@clisp.org>
4696
4697         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
4698         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
4699         invocation, say "right after AC_PROG_CC_STDC", not "right after
4700         AC_PROG_CC".
4701         Reported by Gary V. Vaughan <gary@gnu.org>.
4702
4703 2011-09-30  Bruno Haible  <bruno@clisp.org>
4704
4705         Centralize C99 requirement.
4706         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
4707         * modules/stdarg (configure.ac-early): Invoke it instead of
4708         AC_PROG_CC_STDC.
4709         Reported by Gary V. Vaughan and Paul Eggert.
4710
4711 2011-09-29  Bruno Haible  <bruno@clisp.org>
4712
4713         float: Fix LDBL_MAX value on Linux/PowerPC.
4714         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
4715         on Linux/PowerPC.
4716         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
4717         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
4718         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
4719         platform.
4720         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
4721
4722 2011-09-29  Bruno Haible  <bruno@clisp.org>
4723
4724         doc: Improve doc about gl_EARLY.
4725         * doc/gnulib-tool.texi (Initial import): Mention where to place an
4726         AC_PROG_CC_STDC invocation.
4727         Reported by Gary V. Vaughan <gary@gnu.org>.
4728
4729 2011-09-28  Bruno Haible  <bruno@clisp.org>
4730
4731         fgetc, fputc, fread, fwrite tests: Fix link error.
4732         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
4733         on non-MSVC platforms.
4734         * tests/test-fputc.c (main): Likewise.
4735         * tests/test-fread.c (main): Likewise.
4736         * tests/test-fwrite.c (main): Likewise.
4737         Reported by Jim Meyering.
4738
4739 2011-09-27  Bruno Haible  <bruno@clisp.org>
4740
4741         fputc, fwrite tests: Avoid test failure on MSVC.
4742         * tests/test-fgetc.c: Include msvc-inval.h.
4743         (main): Invoke gl_msvc_inval_ensure_handler.
4744         * tests/test-fputc.c: Include msvc-inval.h.
4745         (main): Invoke gl_msvc_inval_ensure_handler.
4746         * tests/test-fread.c: Include msvc-inval.h.
4747         (main): Invoke gl_msvc_inval_ensure_handler.
4748         * tests/test-fwrite.c: Include msvc-inval.h.
4749         (main): Invoke gl_msvc_inval_ensure_handler.
4750         * modules/fgetc-tests (Depends-on): Add msvc-inval.
4751         * modules/fputc-tests (Depends-on): Likewise.
4752         * modules/fread-tests (Depends-on): Likewise.
4753         * modules/fwrite-tests (Depends-on): Likewise.
4754
4755 2011-09-27  Bruno Haible  <bruno@clisp.org>
4756
4757         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
4758         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
4759         (raise): Remove older, duplicated declaration.
4760         (_gl_raise_SIGPIPE): New declaration.
4761         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
4762         (rpl_raise): Remove function.
4763         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
4764         a gnulib-defined SIGPIPE here.
4765         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
4766         'sigprocmask' has detected missing signal-blocking and the module
4767         'sigpipe' is enabled.
4768         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
4769
4770 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
4771
4772         base64-tests: avoid memory leak
4773         * tests/test-base64.c (main): Plug memory leak.
4774
4775         base32: new module
4776         * modules/base32: New module.
4777         * lib/base32.c: New file.
4778         * lib/base32.h: Likewise.
4779         * m4/base32.m4: Likewise.
4780         * modules/base32-tests: New test.
4781         * tests/test-base32.c: Likewise.
4782         * MODULES.html.sh (Misc): Mention it.
4783
4784 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
4785
4786         gnulib: use more-standard license notice wording
4787         * gnulib-tool (func_emit_copyright_notice): When emitting a
4788         license notice into a file, use the standard wording as suggested
4789         by the current information for GNU maintainers, except say "file"
4790         rather than "program".  The new wording gives a license version
4791         number, which addresses an issue raised by Glenn Morris in
4792         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
4793         * m4/onceonly.m4: Use that same wording here, too.
4794
4795         dup2: minor simplification
4796         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
4797         as lib/dup2.c no longer uses 'inline'.
4798
4799 2011-09-25  Bruno Haible  <bruno@clisp.org>
4800
4801         strings: Fix compilation error on MSVC.
4802         * lib/strings.in.h: Include <stddef.h> for size_t.
4803
4804 2011-09-25  Bruno Haible  <bruno@clisp.org>
4805
4806         fflush et al.: Document limitation on MSVC.
4807         * doc/posix-functions/fflush.texi: Document possible crash in handling
4808         mode other than DEFAULT_HANDLING.
4809         * doc/posix-functions/fgetc.texi: Likewise.
4810         * doc/posix-functions/fputc.texi: Likewise.
4811         * doc/posix-functions/fread.texi: Likewise.
4812         * doc/posix-functions/fwrite.texi: Likewise.
4813
4814 2011-09-25  Bruno Haible  <bruno@clisp.org>
4815
4816         msvc-inval: Allow three invalid parameter handling modes.
4817         * lib/msvc-inval.h: Don't include <stdlib.h> here.
4818         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
4819         macros.
4820         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
4821         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
4822         SANE_LIBRARY_HANDLING as a no-op.
4823         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
4824         <stdlib.h>.
4825         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
4826
4827 2011-09-25  Bruno Haible  <bruno@clisp.org>
4828
4829         msvc-inval: Make handler multithread-safe.
4830         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
4831         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
4832         declarations.
4833         (gl_msvc_inval_current): New declaration.
4834         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
4835         Operate on the structure returned by gl_msvc_inval_current().
4836         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
4837         Remove varaiables.
4838         (tls_index, tls_initialized): New variables.
4839         (not_per_thread): New variable.
4840         (gl_msvc_inval_current): New function.
4841         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
4842         returned by gl_msvc_inval_current().
4843
4844 2011-09-25  Bruno Haible  <bruno@clisp.org>
4845
4846         msvc-inval: Install handler globally.
4847         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
4848         !_MSC_VER.
4849         (gl_msvc_invalid_parameter_handler): Remove declaration.
4850         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
4851         declarations.
4852         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
4853         Install the handler globally, don't uninstall it.
4854         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
4855         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
4856         currently valid, call RaiseException instead.
4857         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
4858         for !_MSC_VER.
4859
4860 2011-09-25  Bruno Haible  <bruno@clisp.org>
4861
4862         strerror_r-posix: Fix for MSVC 9.
4863         * lib/strerror_r.c (local_snprintf): New function.
4864         (snprintf): Define to local_snprintf, not to _snprintf.
4865
4866 2011-09-25  Bruno Haible  <bruno@clisp.org>
4867
4868         ftruncate: Support for MSVC 9.
4869         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
4870         (chsize_nothrow): New function.
4871         (chsize): Redefine as a macro.
4872         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
4873         * modules/ftruncate (Depends-on): Add msvc-inval.
4874
4875 2011-09-25  Bruno Haible  <bruno@clisp.org>
4876
4877         New module 'fstat'.
4878         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
4879         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
4880         * lib/fchdir.c (rpl_fstat): Remove function.
4881         * m4/fstat.m4: New file.
4882         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
4883         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
4884         declared.
4885         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
4886         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
4887         * modules/fstat: New file.
4888         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
4889         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
4890         is set.
4891         * doc/posix-functions/fstat.texi: Mention the new module and the
4892         problem on MSVC.
4893         * NEWS: Mention the change.
4894         * modules/acl (Depends-on): Add fstat.
4895         * modules/chdir-safer (Depends-on): Likewise.
4896         * modules/chown (Depends-on): Likewise.
4897         * modules/copy-file (Depends-on): Likewise.
4898         * modules/fchdir (Depends-on): Likewise.
4899         * modules/fdopendir (Depends-on): Likewise.
4900         * modules/fopen (Depends-on): Likewise.
4901         * modules/fts (Depends-on): Likewise.
4902         * modules/getcwd (Depends-on): Likewise.
4903         * modules/isapipe (Depends-on): Likewise.
4904         * modules/linkat (Depends-on): Likewise.
4905         * modules/lseek (Depends-on): Likewise.
4906         * modules/mkdir-p (Depends-on): Likewise.
4907         * modules/open (Depends-on): Likewise.
4908         * modules/openat (Depends-on): Likewise.
4909         * modules/read-file (Depends-on): Likewise.
4910         * modules/renameat (Depends-on): Likewise.
4911         * modules/utimens (Depends-on): Likewise.
4912
4913 2011-09-25  Bruno Haible  <bruno@clisp.org>
4914
4915         linkat: Fix compilation on MSVC 9.
4916         * lib/linkat.c: Don't include <stdint.h>.
4917
4918 2011-09-25  Bruno Haible  <bruno@clisp.org>
4919
4920         fclose: Support for MSVC 9.
4921         * lib/fclose.c: Include msvc-inval.h.
4922         (fclose_nothrow): New function.
4923         (rpl_fclose): Use it.
4924         * modules/fclose (Depends-on): Add msvc-inval.
4925         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
4926
4927 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
4928
4929         dup2: minor simplifications
4930         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
4931         that it's a performance win.
4932         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
4933         ! defined __CYGWIN__)" to "ifdef F_GETFL".
4934
4935 2011-09-24  Jim Meyering  <meyering@redhat.com>
4936
4937         test-futimens: avoid a warning from gcc -Wshadow
4938         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
4939         to avoid a shadowing warning.
4940
4941 2011-09-24  Bruno Haible  <bruno@clisp.org>
4942
4943         fdopen: Support for MSVC 9.
4944         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
4945         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
4946         * lib/fdopen.c: Include msvc-inval.h.
4947         (fdopen_nothrow): New function.
4948         (rpl_fdopen): Use it.
4949         * modules/fdopen (Depends-on): Add msvc-inval.
4950         * modules/fclose-tests (Depends-on): Add fdopen.
4951         * modules/fflush-tests (Depends-on): Likewise.
4952         * modules/fgetc-tests (Depends-on): Likewise.
4953         * modules/fputc-tests (Depends-on): Likewise.
4954         * modules/fread-tests (Depends-on): Likewise.
4955         * modules/freopen-tests (Depends-on): Likewise.
4956         * modules/fseeko-tests (Depends-on): Likewise.
4957         * modules/ftello-tests (Depends-on): Likewise.
4958         * modules/fwrite-tests  (Depends-on): Likewise.
4959         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
4960
4961 2011-09-24  Bruno Haible  <bruno@clisp.org>
4962
4963         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
4964         * modules/fgetc-tests (Depends-on): Add unistd.
4965         * modules/fputc-tests (Depends-on): Likewise.
4966         * modules/fread-tests (Depends-on): Likewise.
4967         * modules/fwrite-tests (Depends-on): Likewise.
4968
4969 2011-09-24  Bruno Haible  <bruno@clisp.org>
4970
4971         dup: Simplify autoconf test.
4972         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
4973         on gl_MSVC_INVAL's result.
4974
4975 2011-09-24  Bruno Haible  <bruno@clisp.org>
4976
4977         Tests for function fwrite().
4978         * modules/fwrite-tests: New file.
4979         * tests/test-fwrite.c: New file.
4980         * modules/stdio-tests (Depends-on): Add fwrite-tests.
4981
4982         Tests for function fread().
4983         * modules/fread-tests: New file.
4984         * tests/test-fread.c: New file.
4985         * modules/stdio-tests (Depends-on): Add fread-tests.
4986
4987         Activate fputc tests.
4988         * modules/stdio-tests (Depends-on): Add fputc-tests.
4989
4990         Enhance fgetc, fputc tests.
4991         * tests/test-fgetc.c (main): Also test the stream's error indicator.
4992         * tests/test-fputc.c (main): Likewise.
4993
4994 2011-09-24  Bruno Haible  <bruno@clisp.org>
4995
4996         write: Support for MSVC 9.
4997         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
4998         is not 1.
4999         * lib/write.c (write_nothrow): New function.
5000         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
5001         not 1. Use write_nothrow.
5002         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
5003         invalid parameter handler.
5004         (gl_PREREQ_WRITE): New macro.
5005         * modules/write (Depends-on): Add msvc-inval.
5006         (configure.ac): Invoke gl_PREREQ_WRITE.
5007         * doc/posix-functions/write.texi: Mention the problem on MSVC.
5008
5009 2011-09-24  Bruno Haible  <bruno@clisp.org>
5010
5011         read: Fix last commit.
5012         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
5013
5014 2011-09-24  Bruno Haible  <bruno@clisp.org>
5015
5016         dup2: Fix last commit.
5017         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
5018         (rpl_dup2): Disable fcntl workaround on native Windows.
5019
5020         sigprocmask: Make code safer.
5021         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
5022         section that changes macro definitions for this compilation unit.
5023
5024 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
5025
5026         dup2: clarify by coalescing Windows-specific material
5027         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
5028         "msvc-nothrow.h"' to the Windows-specific section, so that the
5029         Emacs source need not contain these include files.
5030         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
5031         Windows-specific fixes into this function rather than just the
5032         nothrow fix, as this shortens and clarifies the code.  Always
5033         define as a function, as that's a bit cleaner than having it be
5034         sometimes a function and sometimes a macro.
5035         (rpl_dup2): Move the Windows-specific stuff out of here and into
5036         ms_windows_dup2.  Don't protect the Haiku-related fix with
5037         "#if !defined __linux__", as the same code also works around
5038         a Linux kernel bug, and it doesn't add any system calls on any
5039         platform.  Add comment about FreeBSD 6.1.
5040
5041         sigprocmask: move #include directive
5042         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
5043         Windows-specific section, so that the Emacs source need not
5044         contain msvc-inval.h.
5045
5046 2011-09-23  Bruno Haible  <bruno@clisp.org>
5047
5048         read: Support for MSVC 9.
5049         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
5050         is not 1.
5051         * lib/read.c (read_nothrow): New function.
5052         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
5053         read_nothrow.
5054         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
5055         invalid parameter handler.
5056         (gl_PREREQ_READ): New macro.
5057         * modules/read (Depends-on): Add msvc-inval.
5058         (configure.ac): Invoke gl_PREREQ_READ.
5059         * doc/posix-functions/read.texi: Mention the problem on MSVC.
5060
5061 2011-09-23  Bruno Haible  <bruno@clisp.org>
5062
5063         close: Support for MSVC 9.
5064         * lib/close.c: Include <errno.h>, msvc-inval.h.
5065         (close_nothrow): New function.
5066         (rpl_close): Use it.
5067         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
5068         invalid parameter handler.
5069         * modules/close (Depends-on): Add msvc-inval.
5070         * modules/dup2-tests (Depends-on): Add close.
5071         * modules/dup3-tests (Depends-on): Likewise.
5072         * modules/fcntl-tests (Depends-on): Likewise.
5073         * modules/spawn-pipe-tests (Depends-on): Likewise.
5074         * modules/unistd-safer-tests (Depends-on): Likewise.
5075         * doc/posix-functions/close.texi: Mention the problem on MSVC.
5076
5077 2011-09-23  Bruno Haible  <bruno@clisp.org>
5078
5079         New module 'dup'.
5080         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
5081         Allow replacement.
5082         * lib/dup.c: New file.
5083         * lib/fchdir.c (rpl_dup): Remove function.
5084         * m4/dup.m4: New file.
5085         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
5086         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
5087         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
5088         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
5089         * modules/dup: New file.
5090         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
5091         'dup' module is in use.
5092         * modules/fdopendir (Depends-on): Add dup.
5093         * modules/fdutimensat-tests (Depends-on): Likewise.
5094         * modules/fts (Depends-on): Likewise.
5095         * modules/futimens-tests (Depends-on): Likewise.
5096         * modules/posix_spawnp-tests (Depends-on): Likewise.
5097         * modules/unistd-safer-tests (Depends-on): Likewise.
5098         * modules/utimens-tests (Depends-on): Likewise.
5099         * doc/posix-functions/dup.texi: Mention the new module and the problem
5100         on MSVC.
5101
5102 2011-09-23  Bruno Haible  <bruno@clisp.org>
5103
5104         getdtablesize: Support for MSVC 9.
5105         * lib/getdtablesize.c: Include msvc-inval.h.
5106         (_setmaxstdio_nothrow): New function.
5107         (_setmaxstdio): Redefine it.
5108         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
5109         * modules/getdtablesize (Depends-on): Add msvc-inval.
5110         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
5111
5112 2011-09-23  Bruno Haible  <bruno@clisp.org>
5113
5114         signal-h: Rename from signal.
5115         * modules/signal-h: Renamed from modules/signal.
5116         * modules/pthread_sigmask (Depends-on): Update.
5117         * modules/raise (Depends-on): Likewise.
5118         * modules/sigaction (Depends-on): Likewise.
5119         * modules/sigpipe (Depends-on): Likewise.
5120         * modules/sigprocmask (Depends-on): Likewise.
5121         * modules/sys_select (Depends-on): Likewise.
5122         * modules/signal-h-tests: Renamed from modules/signal-tests.
5123         (Files, Depends-on, Makefile.am): Update.
5124         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
5125         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
5126         (Files, Makefile.am): Update.
5127         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
5128         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
5129         * modules/signal: New placeholder file.
5130         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
5131         * doc/posix-headers/signal.texi: Update.
5132         * NEWS: Mention the change.
5133
5134 2011-09-23  Bruno Haible  <bruno@clisp.org>
5135
5136         sigprocmask: Avoid crashes through signal() on MSVC 9.
5137         * lib/sigprocmask.c: Include msvc-inval.h.
5138         (signal_nothrow): New function.
5139         (signal): Redefine it.
5140         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
5141         * modules/sigprocmask (Depends-on): Add msvc-inval.
5142         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
5143
5144 2011-09-23  Bruno Haible  <bruno@clisp.org>
5145
5146         Tests for module 'raise'.
5147         * modules/raise-tests: New file.
5148         * tests/test-raise.c: New file.
5149
5150         raise: Support for MSVC.
5151         * lib/signal.in.h (raise): New declaration.
5152         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
5153         for native Windows platforms.
5154         * m4/raise.m4: New file.
5155         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
5156         HAVE_RAISE, REPLACE_RAISE.
5157         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
5158         REPLACE_RAISE.
5159         * modules/raise (Status, Notice): Remove fields.
5160         (Files): Add m4/raise.m4.
5161         (Depends-on): Add signal, msvc-inval.
5162         (configure.ac): Use the common idioms.
5163         (Maintainer): Add me.
5164         * tests/test-signal-c++.cc: Check the signature of raise.
5165         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
5166
5167 2011-09-23  Bruno Haible  <bruno@clisp.org>
5168
5169         pipe2: Fix compilation on pre-C99 compilers.
5170         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
5171
5172 2011-09-23  Bruno Haible  <bruno@clisp.org>
5173
5174         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
5175         * lib/msvc-nothrow.h: New file.
5176         * lib/msvc-nothrow.c: New file.
5177         * m4/msvc-nothrow.m4: New file.
5178         * modules/msvc-nothrow: New file.
5179         * lib/dup2.c: Include msvc-nothrow.h.
5180         (rpl_dup2): No need to protect _get_osfhandle call here.
5181         * lib/accept4.c: Include msvc-nothrow.h.
5182         * lib/error.c: Likewise.
5183         * lib/fcntl.c: Likewise.
5184         * lib/lseek.c: Likewise.
5185         * lib/nonblocking.c: Likewise.
5186         * lib/poll.c: Likewise.
5187         * lib/read.c: Likewise.
5188         * lib/select.c: Likewise.
5189         * lib/sockets.h: Likewise.
5190         * lib/sockets.c: Likewise.
5191         * lib/stdio-read.c: Likewise.
5192         * lib/stdio-write.c: Likewise.
5193         * lib/write.c: Likewise.
5194         * lib/w32sock.h: Likewise.
5195         * lib/w32spawn.h: Likewise.
5196         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
5197         * lib/fsync.c: Likewise.
5198         * lib/isapipe.c: Likewise.
5199         * modules/dup2 (Depends-on): Add msvc-nothrow.
5200         * modules/accept4 (Depends-on): Likewise.
5201         * modules/error (Depends-on): Likewise.
5202         * modules/fcntl (Depends-on): Likewise.
5203         * modules/lseek (Depends-on): Likewise.
5204         * modules/nonblocking (Depends-on): Likewise.
5205         * modules/poll (Depends-on): Likewise.
5206         * modules/read (Depends-on): Likewise.
5207         * modules/select (Depends-on): Likewise.
5208         * modules/sockets (Depends-on): Likewise.
5209         * modules/sigpipe (Depends-on): Likewise.
5210         * modules/write (Depends-on): Likewise.
5211         * modules/accept (Depends-on): Likewise.
5212         * modules/bind (Depends-on): Likewise.
5213         * modules/connect (Depends-on): Likewise.
5214         * modules/gethostname (Depends-on): Likewise.
5215         * modules/getpeername (Depends-on): Likewise.
5216         * modules/getsockname (Depends-on): Likewise.
5217         * modules/getsockopt (Depends-on): Likewise.
5218         * modules/ioctl (Depends-on): Likewise.
5219         * modules/listen (Depends-on): Likewise.
5220         * modules/recv (Depends-on): Likewise.
5221         * modules/recvfrom (Depends-on): Likewise.
5222         * modules/send (Depends-on): Likewise.
5223         * modules/sendto (Depends-on): Likewise.
5224         * modules/setsockopt (Depends-on): Likewise.
5225         * modules/shutdown (Depends-on): Likewise.
5226         * modules/socket (Depends-on): Likewise.
5227         * modules/execute (Depends-on): Likewise.
5228         * modules/spawn-pipe (Depends-on): Likewise.
5229         * modules/flock (Depends-on): Likewise.
5230         * modules/fsync (Depends-on): Likewise.
5231         * modules/isapipe (Depends-on): Likewise.
5232         * tests/test-cloexec.c: Include msvc-nothrow.h.
5233         * tests/test-dup-safer.c: Likewise.
5234         * tests/test-dup2.c: Likewise.
5235         * tests/test-dup3.c: Likewise.
5236         * tests/test-fcntl.c: Likewise.
5237         * tests/test-pipe.c: Likewise.
5238         * tests/test-pipe2.c: Likewise.
5239         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
5240         * modules/unistd-safer-tests (Depends-on): Likewise.
5241         * modules/dup2-tests (Depends-on): Likewise.
5242         * modules/dup3-tests (Depends-on): Likewise.
5243         * modules/fcntl-tests (Depends-on): Likewise.
5244         * modules/pipe-posix-tests (Depends-on): Likewise.
5245         * modules/pipe2-tests (Depends-on): Likewise.
5246
5247 2011-09-23  Bruno Haible  <bruno@clisp.org>
5248
5249         dup2: Make code more maintainable.
5250         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
5251         (rpl_dup2): Use it.
5252         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
5253         * modules/dup2 (configure.ac): Invoke it.
5254         Reported by Paul Eggert.
5255
5256 2011-09-23  Bruno Haible  <bruno@clisp.org>
5257
5258         msvc-inval: Fix compilation error.
5259         * lib/msvc-inval.h: Include <excpt.h>.
5260
5261 2011-09-23  Bruno Haible  <bruno@clisp.org>
5262
5263         mkdir: Tweak for MSVC 9.
5264         * lib/sys_stat.in.h: Update comments.
5265         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
5266
5267         Tests for module 'chdir'.
5268         * modules/chdir-tests: New file.
5269         * tests/test-chdir.c: New file.
5270
5271         New module 'chdir'.
5272         * modules/chdir: New file.
5273         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
5274         (chdir): New declaration.
5275         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
5276         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
5277         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
5278         * tests/test-unistd-c++.cc: Check signature of chdir.
5279         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
5280         * modules/chdir-long (Depends-on): Add chdir.
5281         * modules/fchdir (Depends-on): Likewise.
5282         * modules/rename (Depends-on): Likewise.
5283         * modules/savewd (Depends-on): Likewise.
5284
5285         rmdir: Support for mingw, MSVC 9.
5286         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
5287         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
5288
5289         getcwd: Tweak for MSVC 9.
5290         * lib/unistd.in.h: Update comments.
5291         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
5292
5293 2011-09-22  Bruno Haible  <bruno@clisp.org>
5294
5295         strerror_r-posix: Avoid a link error on MSVC.
5296         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
5297         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
5298
5299 2011-09-22  Bruno Haible  <bruno@clisp.org>
5300
5301         select: Avoid link errors on MSVC.
5302         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
5303         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
5304         * modules/pselect (Link): Likewise.
5305         * NEWS: Mention the change.
5306         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
5307         test-select-stdin against $(LIB_SELECT).
5308         * modules/pselect-tests (Makefile.am): Link test-pselect against
5309         $(LIB_SELECT).
5310
5311 2011-09-22  Bruno Haible  <bruno@clisp.org>
5312
5313         select: Avoid compilation error on MSVC.
5314         * lib/select.c: Don't include <stdbool.h>.
5315
5316 2011-09-21  Bruno Haible  <bruno@clisp.org>
5317
5318         Consolidate all uses of PATH_MAX in *.m4 files.
5319         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
5320         macros.
5321         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
5322         and gl_PATHMAX_SNIPPET.
5323         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
5324         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5325         * modules/chdir-long (Files): Add m4/pathmax.m4.
5326         * modules/getcwd (Files): Likewise.
5327
5328 2011-09-21  Bruno Haible  <bruno@clisp.org>
5329
5330         ftruncate: Un-deprecate, concentrate on Win32 support.
5331         * modules/ftruncate (Status, Notice): Remove sections.
5332         (Depends-on): Add largefile.
5333         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
5334         non-mingw platforms.
5335         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
5336         include <io.h>.
5337         * modules/perror-tests (Depends-on): Add ftruncate.
5338         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
5339         'ftruncate' module.
5340
5341 2011-09-21  Bruno Haible  <bruno@clisp.org>
5342
5343         Add dependencies to new dirent related modules.
5344         * modules/opendir (Depends-on): Add closedir.
5345         * modules/getcwd (Depends-on): Add opendir, closedir.
5346         * modules/dirent-safer-tests (Depends-on): Likewise.
5347         * modules/fdopendir-tests (Depends-on): Likewise.
5348         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
5349         * modules/renameat-tests (Depends-on): Likewise.
5350
5351 2011-09-21  Bruno Haible  <bruno@clisp.org>
5352
5353         opendir: Avoid compilation error on mingw.
5354         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
5355         * modules/opendir (Depends-on): Add unistd.
5356
5357 2011-09-21  Bruno Haible  <bruno@clisp.org>
5358
5359         ftruncate tests: Avoid a test failure on mingw.
5360         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
5361
5362 2011-09-21  Bruno Haible  <bruno@clisp.org>
5363
5364         select tests: Avoid test failures on OSF/1 5.1 and mingw.
5365         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
5366         native Windows.
5367
5368 2011-09-21  Bruno Haible  <bruno@clisp.org>
5369
5370         New module 'fdopen'.
5371         * lib/stdio.in.h (fdopen): New declaration.
5372         * lib/fdopen.c: New file.
5373         * m4/fdopen.m4: New file.
5374         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
5375         REPLACE_FDOPEN.
5376         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
5377         REPLACE_FDOPEN.
5378         * modules/fdopen: New file.
5379         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
5380         * tests/test-stdio-c++.cc: Check signature of fdopen.
5381         * doc/posix-functions/fdopen.texi: Mention the new module.
5382
5383 2011-09-21  Bruno Haible  <bruno@clisp.org>
5384
5385         unlockpt tests: Avoid test failure on NetBSD 5.1.
5386         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
5387         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
5388
5389 2011-09-21  Bruno Haible  <bruno@clisp.org>
5390
5391         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
5392         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
5393         * tests/test-getlogin_r.c (main): Likewise.
5394
5395 2011-09-20  Bruno Haible  <bruno@clisp.org>
5396
5397         time tests: Don't require pid_t.
5398         * doc/posix-headers/time.texi: Revert last change.
5399         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
5400         * tests/test-time.c: Comment out the check for pid_t.
5401
5402 2011-09-20  Bruno Haible  <bruno@clisp.org>
5403
5404         fsync tests: Avoid a test failure on mingw.
5405         * tests/test-fsync.c (main): Allow a failure with EIO.
5406
5407 2011-09-20  Bruno Haible  <bruno@clisp.org>
5408
5409         euidaccess: Update comments.
5410         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
5411
5412 2011-09-20  Bruno Haible  <bruno@clisp.org>
5413
5414         Ensure EBADF returns for socket functions on mingw.
5415         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
5416         descriptor is invalid.
5417         * lib/bind.c (rpl_bind): Likewise.
5418         * lib/connect.c (rpl_connect): Likewise.
5419         * lib/getpeername.c (rpl_getpeername): Likewise.
5420         * lib/getsockname.c (rpl_getsockname): Likewise.
5421         * lib/getsockopt.c (rpl_getsockopt): Likewise.
5422         * lib/listen.c (rpl_listen): Likewise.
5423         * lib/recv.c (rpl_recv): Likewise.
5424         * lib/recvfrom.c (rpl_recvfrom): Likewise.
5425         * lib/send.c (rpl_send): Likewise.
5426         * lib/sendto.c (rpl_sendto): Likewise.
5427         * lib/setsockopt.c (rpl_setsockopt): Likewise.
5428         * lib/shutdown.c (rpl_shutdown): Likewise.
5429
5430 2011-09-20  Bruno Haible  <bruno@clisp.org>
5431
5432         select tests: EBADF tests.
5433         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
5434         test_bad_fd): New functions.
5435         (test_function): Invoke also test_bad_fd.
5436
5437 2011-09-20  Bruno Haible  <bruno@clisp.org>
5438
5439         Tests for module 'posix_spawn_file_actions_addopen.
5440         * modules/posix_spawn_file_actions_addopen-tests: New file.
5441         * tests/test-posix_spawn_file_actions_addopen.c: New file.
5442
5443         Tests for module 'posix_spawn_file_actions_adddup2'.
5444         * modules/posix_spawn_file_actions_adddup2-tests: New file.
5445         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
5446
5447         Tests for module 'posix_spawn_file_actions_addclose'.
5448         * modules/posix_spawn_file_actions_addclose-tests: New file.
5449         * tests/test-posix_spawn_file_actions_addclose.c: New file.
5450
5451 2011-09-20  Bruno Haible  <bruno@clisp.org>
5452
5453         Tests for module 'unlockpt'.
5454         * modules/unlockpt-tests: New file.
5455         * tests/test-unlockpt.c: New file.
5456         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
5457
5458         Tests for module 'grantpt'.
5459         * modules/grantpt-tests: New file.
5460         * tests/test-grantpt.c: New file.
5461         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
5462
5463 2011-09-20  Bruno Haible  <bruno@clisp.org>
5464
5465         freopen tests: EBADF tests.
5466         * tests/test-freopen.c: Include errno.h, unistd.h.
5467         (main): Add tests for EBADF, commented out for the moment.
5468
5469         fclose tests: EBADF tests.
5470         * tests/test-fclose.c (main): Add tests for EBADF.
5471
5472         fflush tests: EBADF tests.
5473         * tests/test-fflush.c: Include errno.h, macros.h.
5474         (main): Add tests for EBADF.
5475
5476         ftello tests: EBADF tests.
5477         * tests/test-ftello4.sh: New file.
5478         * tests/test-ftello4.c: New file.
5479         * modules/ftello-tests (Files): Add them.
5480         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
5481
5482         fseeko tests: EBADF tests.
5483         * tests/test-fseeko4.sh: New file.
5484         * tests/test-fseeko4.c: New file.
5485         * modules/fseeko-tests (Files): Add them.
5486         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
5487
5488         Tests for function fputc().
5489         * modules/fputc-tests: New file.
5490         * tests/test-fputc.c: New file.
5491         * modules/stdio-tests (Depends-on): Add fputc-tests.
5492
5493         Tests for function fgetc().
5494         * modules/fgetc-tests: New file.
5495         * tests/test-fgetc.c: New file.
5496         * modules/stdio-tests (Depends-on): Add fgetc-tests.
5497
5498         Tests for function fdopen().
5499         * modules/fdopen-tests: New file.
5500         * tests/test-fdopen.c: New file.
5501         * modules/stdio-tests (Depends-on): Add fdopen-tests.
5502
5503         Tests for module 'vdprintf'.
5504         * modules/vdprintf-tests: New file.
5505         * tests/test-vdprintf.c: New file.
5506
5507         Tests for module 'dprintf'.
5508         * modules/dprintf-tests: New file.
5509         * tests/test-dprintf.c: New file.
5510
5511 2011-09-20  Bruno Haible  <bruno@clisp.org>
5512
5513         Tests for module 'ioctl'.
5514         * modules/ioctl-tests: New file.
5515         * tests/test-ioctl.c: New file.
5516
5517 2011-09-20  Bruno Haible  <bruno@clisp.org>
5518
5519         fcntl tests: EBADF tests.
5520         * tests/test-fcntl.c (main): Add more tests for EBADF.
5521
5522 2011-09-20  Bruno Haible  <bruno@clisp.org>
5523
5524         utimensat tests: EBADF tests.
5525         * tests/test-utimensat.c (main): Add tests for EBADF.
5526
5527         renameat tests: EBADF tests.
5528         * tests/test-renameat.c (main): Add tests for EBADF.
5529
5530         mkfifoat tests: EBADF tests.
5531         * tests/test-mkfifoat.c (main): Add tests for EBADF.
5532
5533         readlinkat tests: EBADF tests.
5534         * tests/test-readlinkat.c (main): Add tests for EBADF.
5535
5536         symlinkat tests: EBADF tests.
5537         * tests/test-symlinkat.c (main): Add tests for EBADF.
5538
5539         linkat tests: EBADF tests.
5540         * tests/test-linkat.c (main): Add tests for EBADF.
5541
5542         Tests for module 'faccessat'.
5543         * modules/faccessat-tests: New file.
5544         * tests/test-faccessat.c: New file.
5545
5546         fdopendir tests: EBADF tests.
5547         * tests/test-fdopendir.c (main): Add more tests for EBADF.
5548
5549         openat tests: EBADF tests.
5550         * tests/test-fchownat.c (main): Add tests for EBADF.
5551         * tests/test-fstatat.c (main): Likewise.
5552         * tests/test-mkdirat.c (main): Likewise.
5553         * tests/test-openat.c (main): Likewise.
5554         * tests/test-unlinkat.c (main): Likewise.
5555         * tests/test-fchmodat.c: New file.
5556         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
5557         (Makefile.am): Also run 'test-fchmodat'.
5558
5559 2011-09-20  Bruno Haible  <bruno@clisp.org>
5560
5561         utimens, futimens, fdutimensat tests: EBADF tests.
5562         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
5563
5564         Tests for function fstat().
5565         * modules/fstat-tests: New file.
5566         * tests/test-fstat.c: New file.
5567         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
5568
5569 2011-09-20  Bruno Haible  <bruno@clisp.org>
5570
5571         test-ttyname_r tests: EBADF tests.
5572         * tests/test-ttyname_r.c (main): Add tests for EBADF.
5573
5574         Tests for module 'isatty'.
5575         * modules/isatty-tests: New file.
5576         * tests/test-isatty.c: New file.
5577
5578         Tests for module 'write'.
5579         * modules/write-tests: New file.
5580         * tests/test-write.c: New file.
5581
5582         Tests for module 'read'.
5583         * modules/read-tests: New file.
5584         * tests/test-read.c: New file.
5585
5586         pwrite tests: EBADF tests.
5587         * tests/test-pwrite.c (main): Add tests for EBADF.
5588
5589         pread tests: EBADF tests.
5590         * tests/test-pread.c (main): Add tests for EBADF.
5591
5592         lseek tests: EBADF tests.
5593         * tests/test-lseek.c (main): Add more tests for EBADF.
5594
5595         Tests for module 'ftruncate'.
5596         * modules/ftruncate-tests: New file.
5597         * tests/test-ftruncate.sh: New file.
5598         * tests/test-ftruncate.c: New file.
5599
5600         fsync tests: EBADF tests.
5601         * tests/test-fsync.c (main): Add more tests for EBADF.
5602
5603         fdatasync tests: EBADF tests.
5604         * tests/test-fdatasync.c (main): Add more tests for EBADF.
5605
5606         Tests for module 'fchown'.
5607         * modules/fchown-tests: New file.
5608         * tests/test-fchown.c: New file.
5609
5610         Tests for module 'fchmod'.
5611         * modules/fchmod-tests: New file.
5612         * tests/test-fchmod.c: New file.
5613
5614         fchdir tests: EBADF tests.
5615         * tests/test-fchdir.c (main): Add more tests for EBADF.
5616
5617         dup2 tests: EBADF tests.
5618         * tests/test-dup2.c (main): Add more tests for EBADF.
5619
5620         Tests for module 'dup'.
5621         * modules/dup-tests: New file.
5622         * tests/test-dup.c: New file.
5623
5624         Tests for module 'close'.
5625         * modules/close-tests: New file.
5626         * tests/test-close.c: New file.
5627
5628 2011-09-20  Bruno Haible  <bruno@clisp.org>
5629
5630         Tests for module 'shutdown'.
5631         * modules/shutdown-tests: New file.
5632         * tests/test-shutdown.c: New file.
5633
5634         Tests for module 'setsockopt'.
5635         * modules/setsockopt-tests: New file.
5636         * tests/test-setsockopt.c: New file.
5637
5638         Tests for module 'sendto'.
5639         * modules/sendto-tests: New file.
5640         * tests/test-sendto.c: New file.
5641
5642         Tests for module 'send'.
5643         * modules/send-tests: New file.
5644         * tests/test-send.c: New file.
5645
5646         Tests for module 'recvfrom'.
5647         * modules/recvfrom-tests: New file.
5648         * tests/test-recvfrom.c: New file.
5649
5650         Tests for module 'recv'.
5651         * modules/recv-tests: New file.
5652         * tests/test-recv.c: New file.
5653
5654         Tests for module 'listen'.
5655         * modules/listen-tests: New file.
5656         * tests/test-listen.c: New file.
5657
5658         Tests for module 'getsockopt'.
5659         * modules/getsockopt-tests: New file.
5660         * tests/test-getsockopt.c: New file.
5661
5662         Tests for module 'getsockname'.
5663         * modules/getsockname-tests: New file.
5664         * tests/test-getsockname.c: New file.
5665
5666         Tests for module 'getpeername'.
5667         * modules/getpeername-tests: New file.
5668         * tests/test-getpeername.c: New file.
5669
5670         Tests for module 'connect'.
5671         * modules/connect-tests: New file.
5672         * tests/test-connect.c: New file.
5673
5674         Tests for module 'bind'.
5675         * modules/bind-tests: New file.
5676         * tests/test-bind.c: New file.
5677
5678         accept4 tests: Fix for native Windows.
5679         * tests/test-accept4.c: Include sockets.h.
5680         (main): Invoke gl_sockets_startup.
5681         * modules/accept4-tests (Depends-on): Add sockets.
5682
5683         accept tests: Fix for native Windows.
5684         * tests/test-accept.c: Include sockets.h.
5685         (main): Invoke gl_sockets_startup.
5686         * modules/accept-tests (Depends-on): Add sockets.
5687
5688 2011-09-19  Bruno Haible  <bruno@clisp.org>
5689
5690         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
5691         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
5692         do...while(0).
5693         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
5694         Suggested by Paul Eggert.
5695
5696 2011-09-19  Bruno Haible  <bruno@clisp.org>
5697
5698         sched: Ensure pid_t is defined.
5699         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
5700         not define pid_t.
5701         * lib/sched.in.h: Include <sys/types.h>.
5702         * doc/posix-headers/sched.texi: Mention the pid_t problem.
5703         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5704
5705 2011-09-19  Bruno Haible  <bruno@clisp.org>
5706
5707         msvc-inval: Ensure the entire expansion is a single statement.
5708         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
5709         of braces.
5710
5711 2011-09-19  Jim Meyering  <meyering@redhat.com>
5712
5713         tests: use printf, not echo in init.sh's warn_ function
5714         * tests/init.sh (warn_): Use printf, not echo.  The latter would
5715         misbehave when given strings containing a backslash or starting
5716         with e.g., -n.  James Youngman suggested setting IFS.
5717
5718 2011-09-19  Eric Blake  <eblake@redhat.com>
5719
5720         futimens: enhance test
5721         * tests/test-futimens.h (test_futimens): Also check for EBADF on
5722         closed non-negative fd.
5723
5724         date: accept 'hence' as opposite of 'ago'
5725         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
5726         * tests/test-parse-datetime.c (main): Enhance test.
5727         Suggested by Jesse Wilson.
5728
5729 2011-09-19  Jim Meyering  <meyering@redhat.com>
5730
5731         getcwd: don't fail in a deep directory on a system without openat
5732         Before this change, getcwd would fail when called from a directory
5733         of depth PATH_MAX / 3 or greater.  That was due to the fact that
5734         the non-openat implementation used "..", "../..", "../../..", etc.
5735         to access ancestor directories.  With too many, that string would
5736         be longer than PATH_MAX.
5737         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
5738         using gnulib's openat replacement.
5739         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
5740         we're using the replacement function.
5741
5742 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
5743
5744         maint.mk: avoid warnings from perl about missing files
5745         * top/maint.mk (def_sym_regex): Ignore files listed in
5746         $(gl_other_headers_) that do not exist, say because a project
5747         does not use a corresponding module.
5748
5749 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
5750
5751         stat: use pathmax.h only if needed
5752         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
5753         This is better for Emacs, which does not have a mingw port and
5754         therefore can avoid the pathmax module.
5755
5756         utimens: remove dependency on dup2
5757         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
5758         to work around the Linux kernel bug.
5759         * modules/utimens (Depends-on): Remove dup2.
5760
5761 2011-09-18  Bruno Haible  <bruno@clisp.org>
5762
5763         inet_ntop, inet_pton: Look for it also in libresolv.
5764         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
5765         libnsl, search for it in libresolv.
5766         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
5767         Needed on Solaris 7.
5768
5769 2011-09-18  Bruno Haible  <bruno@clisp.org>
5770
5771         accept, accept4 tests: Avoid link error on Solaris.
5772         * modules/accept-tests (Makefile.am): Link test-accept against
5773         $(LIBSOCKET).
5774         * modules/accept4-tests (Makefile.am): Link test-accept4 against
5775         $(LIBSOCKET).
5776
5777         accept4: Avoid link error on Solaris.
5778         * modules/accept4 (Link): New section.
5779
5780         socket functions: Avoid link errors on Solaris.
5781         * modules/accept (Depends-on): Add socketlib.
5782         (Link): New section.
5783         * modules/bind (Depends-on): Add socketlib.
5784         (Link): New section.
5785         * modules/connect (Depends-on): Add socketlib.
5786         (Link): New section.
5787         * modules/getpeername (Depends-on): Add socketlib.
5788         (Link): New section.
5789         * modules/getsockname (Depends-on): Add socketlib.
5790         (Link): New section.
5791         * modules/getsockopt (Depends-on): Add socketlib.
5792         (Link): New section.
5793         * modules/listen (Depends-on): Add socketlib.
5794         (Link): New section.
5795         * modules/recv (Depends-on): Add socketlib.
5796         (Link): New section.
5797         * modules/recvfrom (Depends-on): Add socketlib.
5798         (Link): New section.
5799         * modules/send (Depends-on): Add socketlib.
5800         (Link): New section.
5801         * modules/sendto (Depends-on): Add socketlib.
5802         (Link): New section.
5803         * modules/setsockopt (Depends-on): Add socketlib.
5804         (Link): New section.
5805         * modules/shutdown (Depends-on): Add socketlib.
5806         (Link): New section.
5807         * modules/socket (Depends-on): Add socketlib.
5808         (Link): New section.
5809
5810 2011-09-18  Bruno Haible  <bruno@clisp.org>
5811
5812         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
5813         * tests/test-ptsname.c (main): Terminate the test if it takes longer
5814         than 5 seconds.
5815         * modules/ptsname-tests (configure.ac): Test for alarm.
5816
5817 2011-09-18  Bruno Haible  <bruno@clisp.org>
5818
5819         posix_spawn_file_actions_add*: Fix module dependencies.
5820         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
5821         posix_spawn_file_actions_init.
5822         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
5823         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
5824
5825 2011-09-18  Bruno Haible  <bruno@clisp.org>
5826
5827         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
5828         * tests/test-rename.h (test_rename): Allow error code EEXIST.
5829         * tests/test-renameat.c (main): Likewise.
5830
5831 2011-09-18  Bruno Haible  <bruno@clisp.org>
5832
5833         Tests for module 'accept4'.
5834         * modules/accept4-tests: New file.
5835         * tests/test-accept4.c: New file.
5836
5837 2011-09-18  Bruno Haible  <bruno@clisp.org>
5838
5839         Tests for module 'accept'.
5840         * modules/accept-tests: New file.
5841         * tests/test-accept.c: New file.
5842
5843 2011-09-18  Bruno Haible  <bruno@clisp.org>
5844
5845         dup2: Support for MSVC.
5846         * lib/dup2.c: Include msvc-inval.h.
5847         (rpl_dup2): Handle invalid parameter notifications during dup2 and
5848         _get_osfhandle calls.
5849         * modules/dup2 (Depends-on): Add msvc-inval.
5850         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
5851
5852         New module 'msvc-inval'.
5853         * lib/msvc-inval.h: New file.
5854         * lib/msvc-inval.c: New file.
5855         * m4/msvc-inval.m4: New file.
5856         * modules/msvc-inval: New file.
5857
5858 2011-09-17  Bruno Haible  <bruno@clisp.org>
5859
5860         Tests for module 'pclose'.
5861         * modules/pclose-tests: New file.
5862
5863         New module 'pclose'.
5864         * lib/stdio.in.h (pclose): New declaration.
5865         * lib/pclose.c: New file.
5866         * m4/pclose.m4: New file.
5867         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
5868         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
5869         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
5870         * modules/pclose: New file.
5871         * modules/popen-tests (Depends-on): Add pclose.
5872         * modules/popen-safer-tests (Depends-on): Likewise.
5873         * doc/posix-functions/pclose.texi: Mention the new module.
5874
5875 2011-09-17  Bruno Haible  <bruno@clisp.org>
5876
5877         popen: Support for MSVC.
5878         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
5879         * lib/popen.c (popen): Provide alternate definition for native Windows.
5880         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
5881         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
5882         * modules/popen (Depends-on, configure.ac): Update condition.
5883         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
5884         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
5885         fixed.
5886
5887 2011-09-17  Bruno Haible  <bruno@clisp.org>
5888
5889         isnanl, isnand, isnanf: Work around MSVC bug.
5890         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
5891
5892 2011-09-17  Bruno Haible  <bruno@clisp.org>
5893
5894         sys_socket tests: Fix recent mistake.
5895         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
5896
5897 2011-09-17  Bruno Haible  <bruno@clisp.org>
5898
5899         putenv: Support for MSVC.
5900         * modules/putenv (Depends-on): Add environ.
5901         * lib/putenv.c (environ): Disable declaration.
5902         * lib/unistd.in.h: Update comment.
5903
5904 2011-09-17  Bruno Haible  <bruno@clisp.org>
5905
5906         math: Avoid macro redefinition warnings on MSVC.
5907         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
5908         Undefine before redefining.
5909
5910 2011-09-17  Bruno Haible  <bruno@clisp.org>
5911
5912         doc: Mention functions which are declared as macros.
5913         * doc/posix-functions/*[fl].texi: Mention that some functions are
5914         defined as macros with arguments only.
5915
5916 2011-09-17  Bruno Haible  <bruno@clisp.org>
5917
5918         Add dependencies to new dirent related modules.
5919         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
5920         * modules/fts (Depends-on): Likewise.
5921         * modules/glob (Depends-on): Likewise.
5922         * modules/savedir (Depends-on): Likewise.
5923         * modules/scandir (Depends-on): Likewise.
5924         * modules/dirent-safer (Depends-on): Add opendir, closedir.
5925         * modules/fdopendir (Depends-on): Add opendir.
5926
5927 2011-09-17  Bruno Haible  <bruno@clisp.org>
5928
5929         inet_pton: Support for MSVC on Windows Vista or newer.
5930         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
5931         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
5932         HAVE_DECL_INET_PTON is defined.
5933         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
5934         On platforms with <winsock2.h>, test whether inet_pton is declared in
5935         <ws2tcpip.h>. If so, arrange to replace it.
5936         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
5937         REPLACE_INET_PTON.
5938         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
5939         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
5940         (Depends-on, configure.ac): Update condition.
5941         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
5942
5943 2011-09-17  Bruno Haible  <bruno@clisp.org>
5944
5945         inet_ntop: Support for MSVC on Windows Vista or newer.
5946         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
5947         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
5948         HAVE_DECL_INET_NTOP is defined.
5949         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
5950         On platforms with <winsock2.h>, test whether inet_ntop is declared in
5951         <ws2tcpip.h>. If so, arrange to replace it.
5952         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
5953         REPLACE_INET_NTOP.
5954         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
5955         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
5956         (Depends-on, configure.ac): Update condition.
5957         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
5958
5959 2011-09-16  Eric Blake  <eblake@redhat.com>
5960
5961         test-fsync: yet another enhancement
5962         * tests/test-fsync.c (main): Also test behavior on read-only text
5963         file.
5964
5965 2011-09-16  Bruno Haible  <bruno@clisp.org>
5966
5967         Enhance fsync, fdatasync tests.
5968         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
5969         * tests/test-fdatasync.c (main): Likewise.
5970
5971 2011-09-16  Bruno Haible  <bruno@clisp.org>
5972
5973         Support for MSVC compiler: Ensure mode_t gets defined.
5974         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
5975         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
5976         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
5977         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
5978         * tests/test-fcntl-h.c: Check that mode_t is defined.
5979         * tests/test-sys_stat.c: Likewise.
5980         * tests/test-sys_types.c: Likewise.
5981         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
5982         * doc/posix-headers/sys_stat.texi: Likewise.
5983         * doc/posix-headers/sys_types.texi: Likewise.
5984
5985 2011-09-16  Bruno Haible  <bruno@clisp.org>
5986
5987         sys_stat: Support for MSVC.
5988         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
5989         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
5990         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
5991         MSVC.
5992
5993 2011-09-16  Bruno Haible  <bruno@clisp.org>
5994
5995         Support for MSVC compiler: Ensure off_t gets defined.
5996         * lib/unistd.in.h: Include <sys/types.h>.
5997         * tests/test-fcntl-h.c: Check that off_t is defined.
5998         * tests/test-sys_stat.c: Likewise.
5999         * tests/test-sys_types.c: Likewise.
6000
6001 2011-09-16  Eric Blake  <eblake@redhat.com>
6002
6003         fdatasync: port to Solaris
6004         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
6005         * modules/fdatasync (Link): Document it.
6006         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
6007
6008         fdatasync: port to MacOS X 10.7
6009         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
6010         declared.
6011         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
6012         * modules/unistd (Makefile.am): Substitute it.
6013         * lib/unistd.in.h (fdatasync): Declare on MacOS.
6014         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
6015
6016         fdatasync: minor improvements
6017         * modules/fdatasync (Depends-on): Add condition for fsync.
6018         * lib/fdatasync.c (fdatasync): Add comment.
6019         * tests/test-unistd-c++.cc: Test fdatasync.
6020
6021         unistd: update refs to newer POSIX
6022         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
6023         Suggested by Bruno Haible.
6024
6025         fdatasync: new module
6026         * modules/fsync (Description): Document difference to fdatasync.
6027         * modules/fdatasync: New module.
6028         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
6029         * lib/fdatasync.c (fdatasync): Likewise.
6030         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
6031         defaults.
6032         * modules/unistd (Makefile.am): Set witnesses.
6033         * lib/unistd.in.h (fdatasync): Declare.
6034         * MODULES.html.sh: Document it.
6035         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
6036         * modules/fdatasync-tests: New test.
6037         * tests/test-fdatasync.c: Likewise.
6038
6039 2011-09-16  Eric Blake  <eblake@redhat.com>
6040
6041         test-fsync: enhance tests
6042         * modules/fsync-tests (Depends-on): Add errno, for mingw.
6043         * tests/test-fsync.c (main): Enhance test.
6044
6045 2011-09-15  Bruno Haible  <bruno@clisp.org>
6046
6047         Support for MSVC compiler: Ensure ssize_t gets defined.
6048         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
6049         * doc/posix-headers/stdio.texi: Likewise.
6050         * modules/stdio (Depends-on): Add ssize_t.
6051         * modules/sys_socket (Depends-on): Likewise.
6052         * modules/sys_types (Depends-on): Likewise.
6053         * modules/sys_uio (Depends-on): Likewise.
6054         * modules/unistd (Depends-on): Likewise.
6055         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
6056         * tests/test-sys_types.c: Check that ssize_t is defined.
6057
6058 2011-09-14  Bruno Haible  <bruno@clisp.org>
6059
6060         Avoid using #, the m4 comment starter character, near brackets.
6061         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
6062         delimiter character in sed expressions.
6063         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
6064         Suggested by Eric Blake.
6065
6066         Properly quote AC_CHECK_DECLS' 4th argument.
6067         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
6068         argument.
6069         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
6070         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
6071         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
6072         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
6073         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
6074         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
6075         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
6076         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
6077         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
6078         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
6079         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
6080         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
6081         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
6082         * m4/isinf.m4 (gl_ISINF): Likewise.
6083         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6084         * m4/readutmp.m4 (gl_READUTMP): Likewise.
6085         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
6086         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6087         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6088         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
6089         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
6090         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
6091         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
6092         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
6093         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
6094         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6095         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
6096         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
6097         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
6098         Reported by Eric Blake.
6099
6100         Properly quote AC_CHECK_DECL's 4th argument.
6101         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
6102         argument.
6103         * m4/argp.m4 (gl_ARGP): Likewise.
6104         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
6105         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
6106         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
6107         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
6108         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
6109         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
6110         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
6111         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
6112         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
6113         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
6114         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
6115         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
6116         Reported by Eric Blake.
6117
6118 2011-09-14  Eric Blake  <eblake@redhat.com>
6119
6120         opendir: avoid compile warning
6121         * lib/opendir.c (includes): Always include errno.h.
6122         Reported by Tatsuro MATSUOKA.
6123
6124 2011-09-14  Jim Meyering  <meyering@redhat.com>
6125
6126         maint.mk: sc_tight_scope: propagate failure from sub-make
6127         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
6128         Reported by Martin von Gagern.
6129
6130 2011-09-13  Bruno Haible  <bruno@clisp.org>
6131
6132         tempname: Support for MSVC.
6133         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
6134         MSVC.
6135         * modules/tempname (Depends-on): Add fcntl-h.
6136
6137 2011-09-13  Bruno Haible  <bruno@clisp.org>
6138
6139         sys_time: Support for MSVC.
6140         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
6141         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
6142         include <winsock2.h>.
6143         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
6144         function declarations that collide with POSIX.
6145         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
6146         (Makefile.am): Substitute HAVE_WINSOCK2_H.
6147
6148 2011-09-13  Bruno Haible  <bruno@clisp.org>
6149
6150         stat: Support for MSVC.
6151         * lib/stat.c: Include pathmax.h.
6152         * modules/stat (Depends-on): Add pathmax.
6153
6154         pathmax: Support for native Windows.
6155         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
6156
6157 2011-09-12  Bruno Haible  <bruno@clisp.org>
6158
6159         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
6160         * lib/dirent.in.h (struct dirent): New type.
6161         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
6162         DT_WHT): New macros.
6163         (DIR): New type.
6164         (opendir, closedir): Declare only if the module 'opendir' is enabled.
6165         (readdir, rewinddir): New declarations.
6166         * lib/dirent-private.h: New file.
6167         * lib/opendir.c: New file.
6168         * lib/readdir.c: New file.
6169         * lib/rewinddir.c: New file.
6170         * lib/closedir.c: New file.
6171         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
6172         * m4/opendir.m4: New file.
6173         * m4/readdir.m4: New file.
6174         * m4/rewinddir.m4: New file.
6175         * m4/closedir.m4: New file.
6176         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
6177         REPLACE_CLOSEDIR here.
6178         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
6179         readdir, rewinddir are declared.
6180         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
6181         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
6182         HAVE_REWINDDIR, HAVE_CLOSEDIR.
6183         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
6184         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
6185         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
6186         * modules/opendir: New file.
6187         * modules/readdir: New file.
6188         * modules/rewinddir: New file.
6189         * modules/closedir: New file.
6190         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
6191         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
6192         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
6193         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
6194         * NEWS: Mention the 'fchdir' change.
6195
6196 2011-09-11  Bruno Haible  <bruno@clisp.org>
6197
6198         asm-underscore.m4: Support for MSVC.
6199         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
6200         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
6201
6202 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
6203
6204         Doc about crypt functions.
6205         * doc/posix-functions/crypt.texi: Expand range of glibc versions
6206         needing for _GNU_SOURCE to get crypt.
6207         * doc/posix-functions/encrypt.texi: Likewise.
6208         * doc/posix-functions/setkey.texi: Likewise.
6209
6210 2011-09-11  Bruno Haible  <bruno@clisp.org>
6211
6212         doc: Update regarding MSVC 9.
6213         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
6214         tested".
6215         * doc/posix-functions/*.texi: Update with info about MSVC 9.
6216         * doc/posix-headers/*.texi: Likewise.
6217         * doc/pastposix-functions/*.texi: Likewise.
6218         * doc/glibc-functions/*.texi: Likewise.
6219         * doc/glibc-headers/*.texi: Likewise.
6220
6221 2011-09-11  Bruno Haible  <bruno@clisp.org>
6222
6223         unistd et al.: Don't assume <unistd.h> exists.
6224         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
6225         does not exist.
6226         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
6227         exist. But include <stdlib.h>.
6228         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
6229         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
6230         symlink() does not exist.
6231         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
6232         include <io.h> instead.
6233         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
6234         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
6235         include <direct.h> instead.
6236         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
6237         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
6238         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
6239         <io.h> instead.
6240         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
6241         correctly if the system does not have hard links.
6242         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
6243         <direct.h> instead.
6244         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
6245         it when looking for function declarations.
6246         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
6247         <direct.h> and <io.h> instead.
6248         * doc/posix-headers/unistd.texi: More details about MSVC problem.
6249
6250 2011-09-11  Bruno Haible  <bruno@clisp.org>
6251
6252         strcase: Support for MSVC.
6253         * modules/strcase (Status, Notice): Remove obsoletion mark.
6254         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
6255         * doc/posix-functions/strncasecmp.texi: Likewise.
6256
6257         strings: Don't assume <strings.h> exists.
6258         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
6259         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
6260         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
6261         * doc/posix-headers/strings.texi: Mention the MSVC problem.
6262
6263 2011-09-11  Bruno Haible  <bruno@clisp.org>
6264
6265         dirent: Don't assume <dirent.h> exists.
6266         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
6267         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
6268         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
6269         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
6270
6271 2011-09-11  Bruno Haible  <bruno@clisp.org>
6272
6273         Fix wint_t on MSVC.
6274         * lib/wchar.in.h (wint_t): On MSVC, override it.
6275         * lib/wctype.in.h (wint_t): Likewise.
6276         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
6277         MSVC.
6278         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
6279         * doc/posix-headers/wctype.texi: Likewise.
6280
6281 2011-09-11  Bruno Haible  <bruno@clisp.org>
6282
6283         sys_types: Fix typo.
6284         * lib/sys_types.in.h: Fix typo in comment.
6285         Reported by Paul Eggert.
6286
6287         Support for MSVC compiler: Ensure size_t gets defined.
6288         * modules/strings (Depends-on): Add 'sys_types'.
6289         * modules/sys_uio (Depends-on): Likewise.
6290         * lib/sys_uio.in.h: Update comment.
6291
6292         C++ tests for module 'sys_types'.
6293         * modules/sys_types-c++-tests: New file.
6294         * tests/test-sys_types-c++.cc: New file.
6295
6296         Tests for module 'sys_types'.
6297         * modules/sys_types-tests: New file.
6298         * tests/test-sys_types.c: New file.
6299
6300         New module 'sys_types'.
6301         * lib/sys_types.in.h: New file.
6302         * m4/sys_types_h.m4: New file.
6303         * modules/sys_types: New file.
6304         * doc/posix-headers/sys_types.texi: Mention the new module and the
6305         size_t problem on MSVC 9.
6306
6307 2011-09-11  Bruno Haible  <bruno@clisp.org>
6308
6309         Support for MSVC compiler: Avoid division by a literal 0.
6310         * lib/math.in.h (NAN): Define through a function call also on MSVC.
6311         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
6312         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
6313         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
6314         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
6315         * tests/infinity.h: New file.
6316         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
6317         on MSVC.
6318         * tests/test-ceilf1.c: Include infinity.h.
6319         (main): Use Infinityf.
6320         * tests/test-ceil1.c: Include infinity.h.
6321         (main): Use Infinityd.
6322         * tests/test-ceill.c: Include infinity.h.
6323         (main): Use Infinityl.
6324         * tests/test-dprintf-posix.c: Include infinity.h.
6325         (test_function): Use Infinityd.
6326         * tests/test-floorf1.c: Include infinity.h.
6327         (main): Use Infinityf.
6328         * tests/test-floor1.c: Include infinity.h.
6329         (main): Use Infinityd.
6330         * tests/test-floorl.c: Include infinity.h.
6331         (main): Use Infinityl.
6332         * tests/test-fprintf-posix.c: Include infinity.h.
6333         (test_function): Use Infinityd.
6334         * tests/test-frexp.c: Include infinity.h.
6335         (main): Use Infinityd.
6336         * tests/test-frexpl.c: Include infinity.h.
6337         (main): Use Infinityl.
6338         * tests/test-isfinite.c: Include infinity.h.
6339         (test_isfinitef): Use Infinityf.
6340         (test_isfinited): Use Infinityd.
6341         (test_isfinitel): Use Infinityl.
6342         * tests/test-isinf.c: Include infinity.h.
6343         (test_isinff): Use Infinityf.
6344         (test_isinfd): Use Infinityd.
6345         (test_isinfl): Use Infinityl.
6346         * tests/test-isnan.c: Include infinity.h.
6347         (test_float): Use Infinityf.
6348         (test_double): Use Infinityd.
6349         (test_long_double): Use Infinityl.
6350         * tests/test-isnanf.h: Include infinity.h.
6351         (main): Use Infinityf.
6352         * tests/test-isnand.h: Include infinity.h.
6353         (main): Use Infinityd.
6354         * tests/test-isnanl.h: Include infinity.h.
6355         (main): Use Infinityl.
6356         * tests/test-ldexpl.c: Include infinity.h.
6357         (main): Use Infinityl.
6358         * tests/test-printf-posix.h: Include infinity.h.
6359         (test_function): Use Infinityd.
6360         * tests/test-roundf1.c: Include infinity.h.
6361         (main): Use Infinityf.
6362         * tests/test-round1.c: Include infinity.h.
6363         (main): Use Infinityd.
6364         * tests/test-roundl.c: Include infinity.h.
6365         (main): Use Infinityl.
6366         * tests/test-signbit.c: Include infinity.h.
6367         (test_signbitf): Use Infinityf.
6368         (test_signbitd): Use Infinityd.
6369         (test_signbitl): Use Infinityl.
6370         * tests/test-snprintf-posix.h: Include infinity.h.
6371         (test_function): Use Infinityd, Infinityl.
6372         * tests/test-sprintf-posix.h: Include infinity.h.
6373         (test_function): Use Infinityd, Infinityl.
6374         * tests/test-truncf1.c: Include infinity.h.
6375         (main): Use Infinityf.
6376         * tests/test-trunc1.c: Include infinity.h.
6377         (main): Use Infinityd.
6378         * tests/test-truncl.c: Include infinity.h.
6379         (main): Use Infinityl.
6380         * tests/test-vasnprintf-posix.c: Include infinity.h.
6381         (test_function): Use Infinityd, Infinityl.
6382         * tests/test-vasprintf-posix.c: Include infinity.h.
6383         (test_function): Use Infinityd, Infinityl.
6384         * modules/ceilf-tests (Files): Add tests/infinity.h.
6385         * modules/ceil-tests (Files): Likewise.
6386         * modules/ceill-tests (Files): Likewise.
6387         * modules/dprintf-posix-tests (Files): Likewise.
6388         * modules/floorf-tests (Files): Likewise.
6389         * modules/floor-tests (Files): Likewise.
6390         * modules/floorl-tests (Files): Likewise.
6391         * modules/fprintf-posix-tests (Files): Likewise.
6392         * modules/frexp-tests (Files): Likewise.
6393         * modules/frexp-nolibm-tests (Files): Likewise.
6394         * modules/frexpl-tests (Files): Likewise.
6395         * modules/frexpl-nolibm-tests (Files): Likewise.
6396         * modules/isfinite-tests (Files): Likewise.
6397         * modules/isinf-tests (Files): Likewise.
6398         * modules/isnan-tests (Files): Likewise.
6399         * modules/isnanf-tests (Files): Likewise.
6400         * modules/isnanf-nolibm-tests (Files): Likewise.
6401         * modules/isnand-tests (Files): Likewise.
6402         * modules/isnand-nolibm-tests (Files): Likewise.
6403         * modules/isnanl-tests (Files): Likewise.
6404         * modules/isnanl-nolibm-tests (Files): Likewise.
6405         * modules/ldexpl-tests (Files): Likewise.
6406         * modules/printf-posix-tests (Files): Likewise.
6407         * modules/roundf-tests (Files): Likewise.
6408         * modules/round-tests (Files): Likewise.
6409         * modules/roundl-tests (Files): Likewise.
6410         * modules/signbit-tests (Files): Likewise.
6411         * modules/snprintf-posix-tests (Files): Likewise.
6412         * modules/sprintf-posix-tests (Files): Likewise.
6413         * modules/truncf-tests (Files): Likewise.
6414         * modules/trunc-tests (Files): Likewise.
6415         * modules/truncl-tests (Files): Likewise.
6416         * modules/vasnprintf-posix-tests (Files): Likewise.
6417         * modules/vasprintf-posix-tests (Files): Likewise.
6418         * modules/vdprintf-posix-tests (Files): Likewise.
6419         * modules/vfprintf-posix-tests (Files): Likewise.
6420         * modules/vprintf-posix-tests (Files): Likewise.
6421         * modules/vsnprintf-posix-tests (Files): Likewise.
6422         * modules/vsprintf-posix-tests (Files): Likewise.
6423         * modules/xprintf-posix-tests (Files): Likewise.
6424
6425 2011-09-11  Bruno Haible  <bruno@clisp.org>
6426
6427         Ensure pid_t gets defined.
6428         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
6429         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
6430         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
6431         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6432         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
6433         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
6434         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
6435         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6436         * tests/test-fcntl-h.c: Check that pid_t is defined.
6437         * tests/test-sched.c: Likewise.
6438         * tests/test-termios.c: Likewise.
6439         * tests/test-time.c: Likewise.
6440         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
6441         * doc/posix-headers/signal.texi: Likewise.
6442         * doc/posix-headers/sys_types.texi: Likewise.
6443         * doc/posix-headers/time.texi: Likewise.
6444
6445 2011-09-11  Bruno Haible  <bruno@clisp.org>
6446
6447         acl: Fix compilation on Solaris 10 (older version).
6448         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
6449         of ACE_EVERYONE.
6450         * lib/set-mode-acl.c (qset_acl): Likewise.
6451         Reported by Christian Jullien <eligis@orange.fr>.
6452
6453 2011-09-10  Bruno Haible  <bruno@clisp.org>
6454
6455         iconv, unsetenv: Add support for MSVC compiler.
6456         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
6457         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
6458
6459 2011-09-10  Bruno Haible  <bruno@clisp.org>
6460
6461         *printf: Add support for MSVC compiler.
6462         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
6463         handles the exception caused by the %n directive. When cross-compiling,
6464         guess no on native Windows.
6465         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
6466         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
6467         emulate it through vsnprintf.
6468         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
6469         * doc/posix-functions/dprintf.texi: Update documentation regarding
6470         MSVC 9.
6471         * doc/posix-functions/fprintf.texi: Likewise.
6472         * doc/posix-functions/printf.texi: Likewise.
6473         * doc/posix-functions/snprintf.texi: Likewise.
6474         * doc/posix-functions/sprintf.texi: Likewise.
6475         * doc/posix-functions/swprintf.texi: Likewise.
6476         * doc/posix-functions/vdprintf.texi: Likewise.
6477         * doc/posix-functions/vfprintf.texi: Likewise.
6478         * doc/posix-functions/vprintf.texi: Likewise.
6479         * doc/posix-functions/vsnprintf.texi: Likewise.
6480         * doc/posix-functions/vsprintf.texi: Likewise.
6481         * doc/glibc-functions/asprintf.texi: Likewise.
6482         * doc/glibc-functions/obstack_printf.texi: Likewise.
6483         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
6484         * doc/glibc-functions/vasprintf.texi: Likewise.
6485
6486 2011-09-10  Bruno Haible  <bruno@clisp.org>
6487
6488         nocrash: Add support for native Windows.
6489         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
6490
6491 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
6492             Bruno Haible  <bruno@clisp.org>
6493
6494         absolute-header, include-next: Add support for MSVC compiler.
6495         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
6496         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
6497         directory separator in #line directives.
6498         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
6499         recognize also backslash as directory separator in #line directives.
6500
6501 2011-09-08  Jim Meyering  <meyering@redhat.com>
6502
6503         maint.mk: mark the post-release commit log with "maint: " prefix
6504         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
6505         one-line commit-log summary.
6506
6507 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
6508             Bruno Haible  <bruno@clisp.org>
6509
6510         Doc about crypt functions.
6511         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
6512         systems.
6513         * doc/posix-functions/encrypt.texi: Likewise.
6514         * doc/posix-functions/setkey.texi: Likewise.
6515
6516 2011-09-08  Simon Josefsson  <simon@josefsson.org>
6517
6518         * lib/gc.h: Fix copyright header.
6519
6520 2011-09-07  Bruno Haible  <bruno@clisp.org>
6521
6522         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
6523         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
6524         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
6525
6526 2011-09-07  Bruno Haible  <bruno@clisp.org>
6527
6528         openat: Work around compilation error with OSF/1 5.1 DTK cc.
6529         * lib/fopen.c: Use different syntax for include of <stdio.h>.
6530         * lib/freopen.c: Likewise.
6531         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
6532         * lib/lstat.c: Likewise.
6533         * lib/stat.c: Likewise.
6534         * lib/open.c: Use different syntax for include of <fcntl.h>.
6535         * lib/openat.c: Include fcntl.h again, explicitly.
6536
6537 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
6538
6539         parse-datetime: document the newly accepted format
6540         * doc/parse-datetime.texi (Combined date and time of day items):
6541         New section.
6542
6543 2011-09-06  Bruno Haible  <bruno@clisp.org>
6544
6545         acl: Fix a test failure on newer Solaris 10 with ZFS.
6546         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
6547         ENOSYS as no ACL.
6548         Reported by Jim Meyering.
6549
6550 2011-09-06  Bruno Haible  <bruno@clisp.org>
6551
6552         acl: Update for AIX >= 5.3 with NFS.
6553         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
6554         ENOSYS as no ACL.
6555
6556         acl: Fix a test failure on AIX >= 5.3 with NFS.
6557         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
6558         as no ACL.
6559
6560 2011-09-06  Bruno Haible  <bruno@clisp.org>
6561
6562         acl: Fix a test failure on IRIX 6.5 with NFS.
6563         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
6564         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
6565         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
6566         * lib/copy-acl.c (qcopy_acl): Likewise.
6567
6568 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
6569
6570         openat: port to AIX 7.1 with large files
6571         AIX 7.1 does a "#define openat open64at" if large files are in use,
6572         so we can't simply #undef openat.  Use the orig_openat trick (similar
6573         to orig_open in lib/open.c) to work around the problem.  Problem
6574         reported by Kevin Brott for GNU tar, in the thread containing
6575         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
6576         * lib/openat.c (__need_system_fcntl_h): Define first.
6577         Include <fcntl.h> and <sys/types.h> before undefining.
6578         (orig_openat) [HAVE_OPENAT]: New inline function.
6579         (openat) [HAVE_OPENAT]: Do not undef.
6580         (rpl_openat): Use orig_openat, not openat.
6581
6582 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
6583             Bruno Haible  <bruno@clisp.org>
6584
6585         acl: Avoid errors on NonStop Kernel.
6586         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
6587         ENOTSUP errors.
6588
6589 2011-09-05  Bruno Haible  <bruno@clisp.org>
6590
6591         acl: Clean up Solaris code.
6592         * lib/acl-internal.h: Remove no-op #if.
6593         * lib/file-has-acl.c: Likewise.
6594         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
6595         * lib/copy-acl.c (qcopy_acl): Likewise.
6596
6597 2011-09-05  Bruno Haible  <bruno@clisp.org>
6598
6599         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
6600         binaries built on the original Solaris 10.
6601         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
6602         trivial.
6603
6604 2011-09-05  Bruno Haible  <bruno@clisp.org>
6605
6606         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
6607         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
6608         10.
6609         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
6610         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
6611         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
6612         instead of acl_get, facl_get, acl_set, facl_set.
6613
6614 2011-09-05  Bruno Haible  <bruno@clisp.org>
6615
6616         copy-file: Try unit tests on more file systems.
6617         * tests/test-copy-file-1.sh: New file.
6618         * tests/test-copy-file-2.sh: New file.
6619         * modules/copy-file-tests (Files): Add them.
6620         (Makefile.am): Add them to TESTS.
6621
6622         acl: Try unit tests on more file systems.
6623         * tests/test-file-has-acl-1.sh: New file.
6624         * tests/test-file-has-acl-2.sh: New file.
6625         * tests/test-set-mode-acl-1.sh: New file.
6626         * tests/test-set-mode-acl-2.sh: New file.
6627         * tests/test-copy-acl-1.sh: New file.
6628         * tests/test-copy-acl-2.sh: New file.
6629         * modules/acl-tests (Files): Add them.
6630         (Makefile.am): Add them to TESTS.
6631
6632 2011-09-04  Bruno Haible  <bruno@clisp.org>
6633
6634         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
6635         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
6636         10.
6637         (OLD_ALLOW, OLD_DENY): New macros.
6638         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
6639         ACE_ACCESS_ALLOWED_ACE_TYPE.
6640         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
6641         ACE_ACCESS_DENIED_ACE_TYPE.
6642         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
6643         (NEW_ACE_EXECUTE): Fix value.
6644         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
6645         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
6646         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
6647         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
6648         NEW_ACE_SYNCHRONIZE): New macros.
6649         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
6650         instead of acl_fromtext, acl_set, facl_set.
6651         Fixes a coreutils/tests/cp/perm failure.
6652
6653 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
6654
6655         openat: test for fstatat (..., 0) bug
6656         Further testing with tar suggests that fstatat (..., 0)
6657         does not work in general, on AIX 7.1; see
6658         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
6659         So, give up entirely on AIX 7.1's fstatat, and fall back on our
6660         replacement fstatat (which is what older AIX releases were using
6661         anyway).
6662         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
6663         use is now changed to orig_fstatat.  This was probably the right
6664         thing to do anyway.
6665         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
6666         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
6667         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
6668         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
6669         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
6670         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
6671         if the bug is found.
6672
6673         openat: test for fstatat (AT_FDCWD, ..., 0) bug
6674         This tests for another fstatat bug on AIX 7.1:
6675         fstatat (AT_FDCWD, ..., 0) does not work.  See
6676         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
6677         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
6678         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
6679         (rpl_fstatat): Adjust so that it works around either (or both)
6680         bugs if present.
6681         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
6682
6683 2011-09-03  Karl Berry  <karl@gnu.org>
6684
6685         * doc/regex.texi (Character Class Operators): Avoid literal ":"
6686         in index entries.
6687
6688 2011-09-02  Bruno Haible  <bruno@clisp.org>
6689
6690         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
6691         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
6692         values of AR, ARFLAGS, RANLIB.
6693         Reported by John W. Eaton <jwe@gnu.org> for Octave.
6694
6695 2011-09-02  Bruno Haible  <bruno@clisp.org>
6696
6697         Find 'ar' program that fits with --host argument.
6698         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
6699
6700 2011-09-02  Bruno Haible  <bruno@clisp.org>
6701
6702         tests: init.sh: Support any non-GNU diff.
6703         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
6704         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
6705         Solaris 8.
6706
6707 2011-09-02  Bruno Haible  <bruno@clisp.org>
6708
6709         tests: init.sh: work also with any non-GNU diff that supports -u
6710         * tests/init.sh: Relax check for diff -u support.
6711         Rather than checking for GNU diff via --version, simply check
6712         for support for -u itself.  Useful at least on OpenBSD 4.9,
6713         AIX 7.1, IRIX 6.5, and Solaris 10.
6714
6715 2011-09-01  Bruno Haible  <bruno@clisp.org>
6716
6717         strtoimax, strtoumax: Document problem on HP-UX 11.
6718         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
6719         * doc/posix-functions/strtoumax.texi: Likewise.
6720
6721 2011-09-01  Bruno Haible  <bruno@clisp.org>
6722
6723         strtoumax: Avoid link error on OSF/1 with DTK cc.
6724         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
6725         defined as a function.
6726         * modules/strtoumax (Depends-on, configure.ac): Test only whether
6727         strtoumax is defined, not whether it is declared.
6728
6729 2011-09-01  Bruno Haible  <bruno@clisp.org>
6730
6731         strtoimax: Avoid link error on OSF/1 with DTK cc.
6732         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
6733         defined as a function.
6734         * modules/strtoimax (Depends-on, configure.ac): Test only whether
6735         strtoimax is defined, not whether it is declared.
6736
6737 2011-09-01  Bruno Haible  <bruno@clisp.org>
6738
6739         imaxdiv: Avoid link error on OSF/1 with DTK cc.
6740         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
6741         as a function.
6742         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
6743         whether it is declared.
6744
6745 2011-09-01  Bruno Haible  <bruno@clisp.org>
6746
6747         imaxabs: Avoid link error on OSF/1 with DTK cc.
6748         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
6749         as a function.
6750         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
6751         whether it is declared.
6752
6753 2011-09-01  Bruno Haible  <bruno@clisp.org>
6754
6755         Tests for module 'strtoumax'.
6756         * modules/strtoumax-tests: New file.
6757         * tests/test-strtoumax.c: New file.
6758
6759         Tests for module 'strtoimax'.
6760         * modules/strtoimax-tests: New file.
6761         * tests/test-strtoimax.c: New file.
6762
6763         Tests for module 'imaxdiv'.
6764         * modules/imaxdiv-tests: New file.
6765         * tests/test-imaxdiv.c: New file.
6766
6767         Tests for module 'imaxabs'.
6768         * modules/imaxabs-tests: New file.
6769         * tests/test-imaxabs.c: New file.
6770
6771 2011-09-01  Bruno Haible  <bruno@clisp.org>
6772
6773         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
6774         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
6775         pthread_create.
6776
6777 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6778
6779         openat: work around AIX 7.1 fstatat issue
6780         This should fix the problem that was not properly fixed
6781         in the previous change, dated 2011-08-30.
6782         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
6783         __need_system_stat_h defined.
6784         (orig_fstatat) [HAVE_FSTATAT]: New function.
6785         (rpl_fstatat): Go back to the old way of doing things,
6786         except call orig_fstatat instead of fstatat.
6787         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
6788         Remove unnecessary check whether fstatat fills in st_size etc.
6789
6790 2011-09-01  Bruno Haible  <bruno@clisp.org>
6791
6792         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
6793         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
6794         just include the system's header.
6795
6796 2011-08-31  Jim Meyering  <meyering@redhat.com>
6797
6798         tests: avoid spurious assertion failure in test-float.c on ppc64
6799         * tests/test-float.c (test_long_double): Comment out an assertion,
6800         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
6801         with gcc-4.4.4.
6802
6803         maint: indent with spaces, not TABs
6804         I need to get in the habit of running gnulib's "make check".
6805         Both of these would have been caught.
6806         * m4/largefile.m4: Indent with spaces, not TABs.
6807         * lib/parse-datetime.y (iso_8601_time): Likewise.
6808         Spotted by Pádraig Brady.
6809
6810         test-parse-datetime.c: accommodate a relatively strict gcc warning
6811         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
6812         to avoid a warning from gcc's -Werror=missing-declarations.
6813         Insert a few spaces-before-funcall-parenthesis.
6814
6815 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
6816
6817         parse-datetime: accept ISO 8601 date and time rep with "T" separator
6818         The parser now accepts ISO 8601 date-time strings with "T" as the
6819         separator.  It has long parsed dates like "2004-02-29 16:21:42"
6820         with a space between the date and time strings.  Now it also parses
6821         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
6822         variants like "2004-02-29T16:21:42.333-07:00"
6823         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
6824         of day representation using the 'T' separator character.
6825         * doc/parse-datetime.texi (General date syntax): replace use of
6826         deprecated --iso-8601 option with --rfc-3339 in example of date
6827         command output formats that can be parsed.
6828         * tests/test-parse-datetime.c (tm_diff): New function, taken from
6829         lib/parse-datetime.y.
6830         (gmt_offset): New function.
6831         (main): Add additional test cases to validate ISO8601 extended
6832         date and time of day parsing.
6833
6834 2011-08-31  Bruno Haible  <bruno@clisp.org>
6835
6836         freopen: Documentation.
6837         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
6838         name.
6839         Reported by Claudio Bley <claudio.bley@gmail.com>.
6840
6841 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
6842
6843         freopen: Don't crash if the filename argument is NULL.
6844         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
6845         NULL.
6846
6847 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6848
6849         openat: work around AIX 7.1 fstatat bug
6850         Problem reported by Kevin Brott for GNU tar, in the thread containing
6851         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
6852         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
6853         FSTATAT_ST_SIZE_ETC_BROKEN.
6854         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
6855         rpl_fstatat.
6856         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
6857         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
6858         AC_CHECK_FUNCS_ONCE for fstatat.
6859         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
6860         fchmodat, mkdirat, openat and unlinkat.
6861
6862 2011-08-30  Bruno Haible  <bruno@clisp.org>
6863
6864         Avoid endless recursions if config.h includes some header files.
6865         * lib/fopen.c (__need_FILE): Define already before including config.h.
6866         * lib/freopen.c (__need_FILE): Likewise.
6867         * lib/open.c (__need_system_fcntl_h): Likewise.
6868         * lib/stat.c (__need_system_sys_stat_h): Likewise.
6869         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
6870         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6871
6872 2011-08-25  Karl Berry  <karl@gnu.org>
6873
6874         * config/srclist.txt (ylwrap): new try.
6875         * build-aux/ylwrap: new file.
6876
6877 2011-08-23  Bruno Haible  <bruno@clisp.org>
6878
6879         tmpdir: Use a good default directory on native Windows.
6880         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
6881         (P_tmpdir): Default to _P_tmpdir on native Windows.
6882         (path_search): On native Windows, try the value returned by GetTempPath
6883         before trying P_tmpdir.
6884         * modules/tmpdir (Depends-on): Add pathmax.
6885         Suggested by John Darrington <john@darrington.wattle.id.au>.
6886
6887 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
6888
6889         doc: fix typo in README-release
6890         * top/README-release: Capitalize first word of a sentence.
6891
6892 2011-08-19  Jim Meyering  <meyering@redhat.com>
6893
6894         fts: do not exhaust memory when processing million-entry directories
6895         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
6896         directory would require about 256*N bytes of memory.  Thus, it was
6897         easy to construct a directory too large to be processed by any of
6898         those tools.  With this change, fts' maximum memory utilization is
6899         now limited to around 30MB.
6900         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
6901         (fts_read): When we've processed the final entry (i.e., when
6902         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
6903         using the parent entry to read any remaining entries.  Dispatch
6904         depending on what fts_build returns:
6905         - NULL+stop, aka failure: stop
6906         - NULL otherwise: move up in the dir hierarchy
6907         - non-NULL: handle this new entry
6908         (fts_build): Declare and use new local, continue_readdir.
6909         Prepare to be called from fts_read, when the entries
6910         from a partially-read directory have just been exhausted.
6911         In that case, we'll skip the opendir and instead use the parent's
6912         fts_dirp and derive dir_fd from that.
6913         Finally, in the readdir loop, if we read max_entries entries,
6914         exit the loop ensuring *not* to call closedir.  This is required
6915         so that fts_dirp can be reused on a subsequent call.
6916         Prompted by Ben England's report of memory exhaustion in find
6917         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
6918
6919         maint: fts: move decl of `dp' down into while loop; split a long line
6920         * lib/fts.c (fts_build): No semantic change.
6921
6922         fts: add/use new struct member, fts_dirp
6923         We are about to use this to manage any directory with
6924         too many entries to read all of them into memory at once.
6925         To do that, we'll need to save the DIR* pointer in each
6926         affected FTSENT struct.
6927         * lib/fts_.h: Include <dirent.h>.
6928         (struct FTSENT) [fts_dirp]: New member.
6929         * lib/fts.c (closedir_and_clear): Define.
6930         Use it in place of closedir so that we are sure to
6931         clear the new fts_dirp member when done with it.
6932         (fts_alloc): Initialize the new member.
6933         (fts_lfree): Free, if needed.
6934
6935         maint: fts: give __opendir2 a new parameter and rename
6936         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
6937         than surreptitiously using sole caller's "dir_fd".
6938         (fts_opendir): Rename from __opendir2.
6939
6940         maint: fts.c: remove __opendir2's now-unused parameter, oflag
6941         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
6942
6943         maint: fts.c: correct off-by-one indentation
6944         * lib/fts.c (fts_build): Correct indentation, change style
6945         of a couple of block comments, and bracing style.
6946
6947         maint: fts.c: move __opendir2 #define "up" out of function body
6948         * lib/fts.c (__opendir2): Move "up".  No semantic change.
6949
6950         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
6951         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
6952         out for a long time and besides was useful only on BSD systems.
6953
6954 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
6955
6956         regex: port to Stratus OpenVOS
6957         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
6958         define to empty, rather than attempting nonportable optimizations.
6959         Problem reported by Paul Green in:
6960         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
6961         and fix suggested by Eric Blake in:
6962         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
6963
6964 2011-08-17  Eric Blake  <eblake@redhat.com>
6965
6966         getcwd: fix test failures on mingw
6967         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
6968         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
6969         test if long directory cannot be created, and allow mingw errno.
6970
6971         getcwd-lgpl: fix m4 to match relaxed test for BSD
6972         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
6973         (gl_FUNC_GETCWD_SIGNATURE): New macro.
6974         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
6975         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
6976         signature problem.
6977
6978         getcwd: fix compilation on mingw64
6979         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
6980         getcwd.
6981         Reported by Marc-André Lureau.
6982
6983         pipe2: silence compiler warning
6984         * lib/pipe2.c (pipe2): Hide label if it is not used.
6985
6986 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
6987
6988         relocatable-prog: fix link error
6989         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
6990         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
6991         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
6992         into modules/relocatable-lib without noticing that
6993         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
6994         also needs to build relocatable.c.
6995
6996 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
6997
6998         getaddrinfo: fix sh typo in gai_strerrorA decl checking
6999         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
7000         shell code: it contained a 'break' that was not in a loop.
7001         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
7002         via a shell-language loop; this may have been true in old Autoconf
7003         versions, but it's not true in Autoconf 2.68.  I found this bug
7004         when testing coreutils git on Solaris 8, whose shell complains
7005         about the syntax error.
7006
7007 2011-08-12  Simon Josefsson  <simon@josefsson.org>
7008
7009         * lib/base64.c: Fix comment to reference RFC 4648.
7010         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
7011         <gvtulder@gmail.com>.
7012
7013 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
7014
7015         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
7016
7017         po/Makefile.in.in: fix make -q problem
7018         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
7019         rule, since there's no file named 'check-macro-version' and its
7020         use as a file breaks make -q.
7021         (all): Don't depend on check-macro-version.
7022         (CHECK_MACRO_VERSION): New macro.
7023         (stamp-po): Use it.
7024
7025         configmake: fix make -q problem
7026         * modules/configmake (configmake.h): Update configmake.h's time stamp
7027         even if the file does not change.  Otherwise, 'make -q' fails.
7028         Problem reported by Simon Josefsson in
7029         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
7030
7031 2011-08-11  Jim Meyering  <meyering@redhat.com>
7032
7033         git-version-gen: correct the advice in a comment
7034         * build-aux/git-version-gen: Correct comment.
7035         Don't recommend to list .tarball-version in .gitignore.
7036
7037 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7038
7039         base64: fix off-by-one buffer size bug
7040         Problem and (trivial) fix reported by Gijs van Tulder in
7041         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
7042         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
7043         * tests/test-base64.c (main): Catch the bug.
7044
7045 2011-08-10  Eric Blake  <eblake@redhat.com>
7046
7047         closein: correct comments
7048         * lib/closein.c (close_stdin): Improve comments.
7049
7050 2011-08-09  Bruno Haible  <bruno@clisp.org>
7051
7052         More tests for 'fseeko'.
7053         * tests/test-fseeko3.c: New file, from Eric Blake.
7054         * tests/test-fseeko3.sh: New file.
7055         * modules/fseeko-tests (Files): Add them.
7056         (TESTS): Add test-fseeko3.sh.
7057         (check_PROGRAMS): Add test-fseeko3.
7058
7059 2011-08-09  Eric Blake  <eblake@redhat.com>
7060
7061         fseeko: remove unneeded hack
7062         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
7063
7064         fseeko: fix bug on glibc
7065         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
7066         Reported by John W. Eaton.
7067
7068 2011-08-08  Bruno Haible  <bruno@clisp.org>
7069
7070         unictype/base: Fix interoperability with preinstalled libunistring.
7071         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
7072         Reported by Simon Josefsson.
7073
7074 2011-08-08  Bruno Haible  <bruno@clisp.org>
7075
7076         iswblank: Detect declaration correctly.
7077         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
7078         AC_CHECK_DECLS invocation.
7079
7080 2011-08-08  Bruno Haible  <bruno@clisp.org>
7081
7082         tcgetsid: Detect declaration correctly.
7083         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
7084         AC_CHECK_DECLS invocation.
7085         Reported by Simon Josefsson.
7086
7087 2011-08-08  Eric Blake  <eblake@redhat.com>
7088
7089         largefile: fix typo that regressed large file support
7090         * modules/largefile (configure.ac-early): Fix section name.
7091
7092 2011-08-06  Karl Berry  <karl@gnu.org>
7093
7094         * MODULES.html.sh (func_all_files): _Noreturn is no longer
7095         a separate module.
7096
7097 2011-08-05  Simon Josefsson  <simon@josefsson.org>
7098
7099         openat: Fix warnings and commens when building unlinkat.c on Hurd.
7100         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
7101         get prototype for free.
7102
7103 2011-08-04  Bruno Haible  <bruno@clisp.org>
7104
7105         Tests for module 'pathmax'.
7106         * modules/pathmax-tests: New file.
7107         * tests/test-pathmax.c: New file.
7108
7109         canonicalize-lgpl: Support larger filenames on the Hurd.
7110         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
7111         Reported by Paul Eggert.
7112
7113         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
7114         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
7115         * lib/chdir-long.h: Include pathmax.h.
7116         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
7117         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
7118         (PATH_MAX): Remove code that is done by pathmax.h.
7119         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
7120         * lib/tmpfile.c: Add a comment.
7121         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
7122         * modules/chdir-long (Depends-on): Add pathmax.
7123         * modules/getcwd (Depends-on): Add pathmax.
7124         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
7125         is not defined.
7126         * doc/posix-headers/limits.texi: Mention the pathmax module.
7127         * NEWS: Mention the change.
7128
7129 2011-08-02  Bruno Haible  <bruno@clisp.org>
7130
7131         pthread_sigmask: Actually use results of gl_THREADLIB.
7132         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
7133         gl_THREADLIB, not gl_[]THREADLIB.
7134         Reported by Eric Blake.
7135
7136 2011-08-02  Jim Meyering  <meyering@redhat.com>
7137
7138         maint.mk: relax the default _gl_TS_function_match regexp
7139         * top/maint.mk (_gl_TS_function_match): Don't require at least one
7140         space between function name and "(" in an "extern" declaration.
7141         That would fail to match a decl with no space there: extern void foo();
7142
7143 2011-07-31  Iain Nicol  <iain@thenicols.net>
7144
7145         git-version-gen: document that EXTRA_DIST must include .version
7146         * build-aux/git-version-gen: In the how-to-use comment, document
7147         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
7148         will fail when run from an unpacked distribution tarball.
7149
7150 2011-08-01  Bruno Haible  <bruno@clisp.org>
7151
7152         wctype-h: Fix last change.
7153         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
7154         REPLACE_TOWLOWER to 0.
7155         Reported by Sam Steingold <sds@gnu.org>.
7156
7157 2011-07-31  Bruno Haible  <bruno@clisp.org>
7158
7159         frexpl: Update autoconf test.
7160         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
7161         according to changes of 2011-06-20.
7162
7163 2011-07-31  Bruno Haible  <bruno@clisp.org>
7164
7165         sys_utsname: Add support for Minix.
7166         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
7167         <sys/utsname.h>.
7168         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
7169         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
7170
7171 2011-07-31  Bruno Haible  <bruno@clisp.org>
7172
7173         strings: Add support for Minix.
7174         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
7175         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
7176         * doc/posix-headers/strings.texi: Document the Minix problem.
7177
7178 2011-07-31  Bruno Haible  <bruno@clisp.org>
7179
7180         wctype-h: Add support for Minix.
7181         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
7182         REPLACE_TOWLOWER.
7183         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
7184         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
7185         REPLACE_ISWCNTRL.
7186
7187 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
7188
7189         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
7190         This is a performance improvement for 64-bit hosts: it causes the
7191         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
7192
7193 2011-07-31  Bruno Haible  <bruno@clisp.org>
7194
7195         stdioext: Add support for Minix.
7196         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
7197         * lib/fpurge.c (fpurge): Likewise.
7198         * lib/freadahead.c (freadahead): Likewise.
7199         * lib/freadable.c (freadable): Likewise.
7200         * lib/freading.c (freading): Likewise.
7201         * lib/freadptr.c (freadptr): Likewise.
7202         * lib/freadseek.c (freadptrinc): Likewise.
7203         * lib/fseeko.c (rpl_fseeko): Likewise.
7204         * lib/fseterr.c (fseterr): Likewise.
7205         * lib/fwritable.c (fwritable): Likewise.
7206         * lib/fwriting.c (fwriting): Likewise.
7207         * lib/fflush.c (clear_ungetc_buffer): Update comment.
7208         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
7209
7210 2011-07-31  Bruno Haible  <bruno@clisp.org>
7211
7212         errno: Port to Minix.
7213         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
7214         ECONNABORTED are defined.
7215         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
7216         GNULIB_defined_ECONNABORTED): New macros.
7217         * lib/strerror-override.h (strerror_override): Test also
7218         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
7219         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
7220         ECONNABORTED.
7221         * doc/posix-headers/errno.texi: Mention the Minix problem.
7222
7223 2011-07-31  Bruno Haible  <bruno@clisp.org>
7224
7225         Work around declaration collisions on Minix.
7226         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
7227         defined, set REPLACE_MBSINIT.
7228         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
7229         defined, set REPLACE_MBRTOWC.
7230         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
7231         set REPLACE_MBRLEN.
7232         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
7233         defined, set REPLACE_MBSRTOWCS.
7234         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
7235         defined, set REPLACE_WCRTOMB.
7236         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
7237         defined, set REPLACE_WCSRTOMBS.
7238
7239 2011-07-31  Bruno Haible  <bruno@clisp.org>
7240
7241         Add support for Minix with ACK compiler.
7242         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
7243         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
7244         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
7245
7246 2011-07-31  Bruno Haible  <bruno@clisp.org>
7247
7248         Documentation about Minix.
7249         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
7250         * doc/glibc-headers/*.texi: Likewise.
7251         * doc/posix-functions/*.texi: Likewise.
7252         * doc/glibc-functions/*.texi: Likewise.
7253
7254 2011-07-31  Bruno Haible  <bruno@clisp.org>
7255
7256         snippet/warn-on-use: Fix indentation.
7257         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
7258
7259 2011-07-25  Jim Meyering  <meyering@redhat.com>
7260
7261         tests: test-update-copyright.sh: remove unnecessary "rm" commands
7262         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
7263         commands.
7264
7265 2011-07-27  Jim Meyering  <meyering@redhat.com>
7266
7267         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
7268         * top/maint.mk (gl_extract_significant_defines_): Now that
7269         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
7270         gnulib/lib/signal.in.h, and now that we recommend to
7271         define-if-undefined those two symbols in application code,
7272         we must filter them out of the "significant" list.
7273         This avoids a "make syntax-check" failure in coreutils.
7274
7275 2011-07-26  Eric Blake  <eblake@redhat.com>
7276
7277         warnings: add comments about previous patch
7278         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
7279         * m4/include_next.m4: Likewise.
7280         * m4/warn-on-use.m4: Likewise.
7281         * m4/warnings.m4: Likewise, and simplify use.
7282         Suggested by Stefano Lattarini.
7283
7284         include-next, warnings: support older autoconf
7285         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
7286         AS_VAR_PUSHDEF in a way that works with older autoconf.
7287         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
7288         Reported by Daniel P. Berrange.
7289
7290 2011-07-25  Bruno Haible  <bruno@clisp.org>
7291
7292         fseek, ftell: Fix doc.
7293         * doc/posix-functions/fseek.texi: Reword statement about
7294         AC_SYS_LARGEFILE.
7295         * doc/posix-functions/ftell.texi: Likewise.
7296
7297 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
7298             Bruno Haible  <bruno@clisp.org>
7299
7300         Add dependencies to the 'largefile' module.
7301         * modules/fopen (Depends-on): Add 'largefile'.
7302         * modules/freopen (Depends-on): Likewise.
7303         * modules/fseeko (Depends-on): Likewise.
7304         * modules/ftello (Depends-on): Likewise.
7305         * modules/glob (Depends-on): Likewise.
7306         * modules/lseek (Depends-on): Likewise.
7307         * modules/lstat (Depends-on): Likewise.
7308         * modules/mkostemp (Depends-on): Likewise.
7309         * modules/mkostemps (Depends-on): Likewise.
7310         * modules/mkstemp (Depends-on): Likewise.
7311         * modules/mkstemps (Depends-on): Likewise.
7312         * modules/open (Depends-on): Likewise.
7313         * modules/openat (Depends-on): Likewise.
7314         * modules/pread (Depends-on): Likewise.
7315         * modules/pwrite (Depends-on): Likewise.
7316         * modules/scandir (Depends-on): Likewise.
7317         * modules/stat (Depends-on): Likewise.
7318         * modules/tmpfile (Depends-on): Likewise.
7319         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
7320         since the containing module now depends on the largefile module.
7321         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
7322         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
7323         off_t is fixed by gnulib.
7324         * doc/posix-functions/freopen.texi: Likewise.
7325         * doc/posix-functions/fseeko.texi: Likewise.
7326         * doc/posix-functions/fstatat.texi: Likewise.
7327         * doc/posix-functions/ftello.texi: Likewise.
7328         * doc/posix-functions/glob.texi: Likewise.
7329         * doc/posix-functions/lseek.texi: Likewise.
7330         * doc/posix-functions/lstat.texi: Likewise.
7331         * doc/posix-functions/mkstemp.texi: Likewise.
7332         * doc/posix-functions/open.texi: Likewise.
7333         * doc/posix-functions/openat.texi: Likewise.
7334         * doc/posix-functions/pread.texi: Likewise.
7335         * doc/posix-functions/pwrite.texi: Likewise.
7336         * doc/posix-functions/scandir.texi: Likewise.
7337         * doc/posix-functions/stat.texi: Likewise.
7338         * doc/posix-functions/tmpfile.texi: Likewise.
7339         * doc/glibc-functions/mkostemp.texi: Likewise.
7340         * doc/glibc-functions/mkostemps.texi: Likewise.
7341         * doc/glibc-functions/mkstemps.texi: Likewise.
7342
7343 2011-07-25  Bruno Haible  <bruno@clisp.org>
7344
7345         fcntl: Move AC_LIBOBJ invocation to module description.
7346         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
7347         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
7348
7349         fcntl: Remove call-in from fchdir.m4.
7350         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
7351         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
7352
7353         dup3: Remove potential call-in from fchdir.m4.
7354         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
7355         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
7356
7357         dup2: Move AC_LIBOBJ invocation to module description.
7358         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
7359         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
7360         Don't invoke AC_LIBOBJ.
7361         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
7362
7363         dup2: Remove call-in from fchdir.m4.
7364         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
7365         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
7366
7367         fclose: Move AC_LIBOBJ invocation to module description.
7368         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
7369         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
7370         to 1.
7371         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
7372
7373         fclose: Remove call-in from close.m4.
7374         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
7375         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
7376
7377         close: Move AC_LIBOBJ invocation to module description.
7378         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
7379         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
7380         1.
7381         * modules/close (configure.ac): Invoke AC_LIBOBJ.
7382
7383         close: Remove call-in from fchdir.m4.
7384         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
7385         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
7386
7387         open: Move AC_LIBOBJ invocation to module description.
7388         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
7389         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
7390         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
7391
7392         open: Remove call-in from fchdir.m4.
7393         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
7394         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
7395
7396         fchdir: Start to remove gl_REPLACE_* idiom.
7397         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
7398         (gl_FUNC_FCHDIR): Invoke it.
7399
7400 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
7401
7402         * lib/ftell.c (ftell): Comment out cast.
7403
7404         close: use gl_REPLACE_FCLOSE only if defined
7405         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
7406         is defined.  The close module doesn't depend on the fclose module
7407         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
7408         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
7409         I reproduced the problem with "./gnulib-tool --test close sys_socket".
7410
7411 2011-07-24  Jim Meyering  <meyering@redhat.com>
7412
7413         test-select.h: avoid warning when using gcc's -Wmissing-declarations
7414         * tests/test-select.h (test_function): Declare as "static".
7415
7416 2011-07-24  Bruno Haible  <bruno@clisp.org>
7417
7418         doc: Mention the effects of AC_SYS_LARGEFILE.
7419         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
7420         on this function.
7421         * doc/posix-functions/aio_error.texi: Likewise.
7422         * doc/posix-functions/aio_fsync.texi: Likewise.
7423         * doc/posix-functions/aio_read.texi: Likewise.
7424         * doc/posix-functions/aio_return.texi: Likewise.
7425         * doc/posix-functions/aio_suspend.texi: Likewise.
7426         * doc/posix-functions/aio_write.texi: Likewise.
7427         * doc/posix-functions/fgetpos.texi: Likewise.
7428         * doc/posix-functions/fopen.texi: Likewise.
7429         * doc/posix-functions/freopen.texi: Likewise.
7430         * doc/posix-functions/fsetpos.texi: Likewise.
7431         * doc/posix-functions/fstatvfs.texi: Likewise.
7432         * doc/posix-functions/ftruncate.texi: Likewise.
7433         * doc/posix-functions/ftw.texi: Likewise.
7434         * doc/posix-functions/getrlimit.texi: Likewise.
7435         * doc/posix-functions/glob.texi: Likewise.
7436         * doc/posix-functions/lio_listio.texi: Likewise.
7437         * doc/posix-functions/lockf.texi: Likewise.
7438         * doc/posix-functions/mkstemp.texi: Likewise.
7439         * doc/posix-functions/mmap.texi: Likewise.
7440         * doc/posix-functions/nftw.texi: Likewise.
7441         * doc/posix-functions/openat.texi: Likewise.
7442         * doc/posix-functions/opendir.texi: Likewise.
7443         * doc/posix-functions/posix_fadvise.texi: Likewise.
7444         * doc/posix-functions/posix_fallocate.texi: Likewise.
7445         * doc/posix-functions/pread.texi: Likewise.
7446         * doc/posix-functions/pwrite.texi: Likewise.
7447         * doc/posix-functions/readdir.texi: Likewise.
7448         * doc/posix-functions/readdir_r.texi: Likewise.
7449         * doc/posix-functions/rewinddir.texi: Likewise.
7450         * doc/posix-functions/scandir.texi: Likewise.
7451         * doc/posix-functions/seekdir.texi: Likewise.
7452         * doc/posix-functions/setrlimit.texi: Likewise.
7453         * doc/posix-functions/statvfs.texi: Likewise.
7454         * doc/posix-functions/telldir.texi: Likewise.
7455         * doc/posix-functions/tmpfile.texi: Likewise.
7456         * doc/posix-functions/truncate.texi: Likewise.
7457         * doc/glibc-functions/fallocate.texi: Likewise.
7458         * doc/glibc-functions/fstatfs.texi: Likewise.
7459         * doc/glibc-functions/fts_children.texi: Likewise.
7460         * doc/glibc-functions/fts_read.texi: Likewise.
7461         * doc/glibc-functions/getdirentries.texi: Likewise.
7462         * doc/glibc-functions/mkostemp.texi: Likewise.
7463         * doc/glibc-functions/mkostemps.texi: Likewise.
7464         * doc/glibc-functions/mkstemps.texi: Likewise.
7465         * doc/glibc-functions/preadv.texi: Likewise.
7466         * doc/glibc-functions/pwritev.texi: Likewise.
7467         * doc/glibc-functions/sendfile.texi: Likewise.
7468         * doc/glibc-functions/statfs.texi: Likewise.
7469
7470 2011-07-24  Bruno Haible  <bruno@clisp.org>
7471
7472         doc: Fix typo.
7473         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
7474
7475 2011-07-24  Bruno Haible  <bruno@clisp.org>
7476
7477         doc: Mention fsusage.
7478         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
7479
7480 2011-07-24  Bruno Haible  <bruno@clisp.org>
7481
7482         doc: Mention new glibc headers and functions.
7483         * doc/glibc-headers/gshadow.texi: New file.
7484         * doc/glibc-functions/endsgent.texi: New file.
7485         * doc/glibc-functions/fgetsgent.texi: New file.
7486         * doc/glibc-functions/fgetsgent_r.texi: New file.
7487         * doc/glibc-functions/getsgent.texi: New file.
7488         * doc/glibc-functions/getsgent_r.texi: New file.
7489         * doc/glibc-functions/getsgnam.texi: New file.
7490         * doc/glibc-functions/getsgnam_r.texi: New file.
7491         * doc/glibc-functions/putsgent.texi: New file.
7492         * doc/glibc-functions/setsgent.texi: New file.
7493         * doc/glibc-functions/sgetsgent.texi: New file.
7494         * doc/glibc-functions/sgetsgent_r.texi: New file.
7495         * doc/glibc-functions/malloc_info.texi: New file.
7496         * doc/glibc-functions/preadv.texi: New file.
7497         * doc/glibc-functions/pwritev.texi: New file.
7498         * doc/glibc-functions/register_printf_modifier.texi: New file.
7499         * doc/glibc-functions/register_printf_specifier.texi: New file.
7500         * doc/glibc-functions/register_printf_type.texi: New file.
7501         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
7502         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
7503         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
7504         * doc/glibc-functions/pthread_getname_np.texi: New file.
7505         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
7506         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
7507         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
7508         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
7509         * doc/glibc-functions/pthread_setname_np.texi: New file.
7510         * doc/glibc-functions/pthread_sigqueue.texi: New file.
7511         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
7512         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
7513         * doc/glibc-functions/qsort_r.texi: New file.
7514         * doc/glibc-functions/quick_exit.texi: New file.
7515         * doc/glibc-functions/syncfs.texi: New file.
7516         * doc/gnulib.texi: Include them.
7517         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
7518         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
7519         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
7520         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
7521         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
7522         * doc/glibc-functions/execvpe.texi: Likewise.
7523
7524 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7525
7526         ftell: don't include <unistd.h>
7527         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
7528         guaranteed to define off_t, and the ftell module depends on the
7529         stdio module.
7530
7531         ftell: do not assume wraparound signed arithmetic
7532         * lib/ftell.c: Include <limits.h>.
7533         (ftell): Don't assume wraparound signed arithmetic.
7534
7535 2011-07-24  Bruno Haible  <bruno@clisp.org>
7536
7537         close: No longer depend on module 'fclose'.
7538         * modules/close (Depends-on): Remove fclose.
7539         * NEWS: Mention the change.
7540         Suggested by Sam Steingold <sds@gnu.org>.
7541
7542 2011-07-24  Bruno Haible  <bruno@clisp.org>
7543
7544         fsusage: Enable large volume support on AIX >= 5.2.
7545         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
7546         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
7547         instead of STAT_STATVFS.
7548         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
7549
7550         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
7551         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
7552         f_blocks field only on MacOS X.
7553
7554         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
7555         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
7556         * modules/fsusage (Depends-on): Add largefile.
7557
7558 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7559
7560         * README: Modernize discussion of signed integers.
7561         Assuming overflow wraparound is no longer safe.
7562         Mention ones' complement and signed magnitude.
7563
7564 2011-07-22  Bruno Haible  <bruno@clisp.org>
7565
7566         select tests, pselect tests: Refactor.
7567         * tests/test-select.h: New file, extracted from tests/test-select.c.
7568         (select_fn): New type.
7569         (test, do_select, do_select_nowait, do_select_wait, test_tty,
7570         test_connect_first, test_accept_first, test_pair, test_socket_pair,
7571         test_pipe): Add my_select argument.
7572         (test_function): Renamed from main. Add my_select argument.
7573         * tests/test-select.c: Move most code to tests/test-select.h. Include
7574         test-select.h.
7575         * modules/select-tests (Files): Add tests/test-select.h.
7576         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
7577         (my_select, main): New functions.
7578         * modules/pselect-tests (Files): Add tests/test-select.h,
7579         tests/macros.h, tests/signature.h.
7580         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
7581         (configure.ac): Check for <sys/wait.h>.
7582
7583 2011-07-22  Bruno Haible  <bruno@clisp.org>
7584
7585         sys_select tests: Check the signature of FD_*.
7586         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
7587         signature tests from here...
7588         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
7589         here.
7590         * modules/sys_select-tests (Files): Add tests/signature.h.
7591
7592 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
7593
7594         largefile: new module, replacing large-inode
7595         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
7596         * MODULES.html.sh: Add largefile, remove large-inode.
7597         * modules/largefile, m4/largefile.m4: New files.
7598         * modules/large-inode, m4/large-inode.m4: Remove.
7599
7600         fsusage: port to MacOS X 10.7 with 4 TiB file systems
7601         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
7602         implementations that use only 32 bits to count blocks.
7603         On typical hosts with 1024-byte blocks, this fails with file
7604         systems as small as 4 TiB.  Problem reported by Herb Wartens
7605         <http://debbugs.gnu.org/9140> and this should also fix a similar
7606         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
7607
7608         large-inode: New module
7609         * MODULES.html.sh: Add it.
7610         * modules/large-inode, m4/large-inode.m4: New files.
7611
7612         extensions: Enable extensions on MacOS X 10.5 and later.
7613         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
7614
7615 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
7616
7617         file-has-acl: use acl_extended_file_nofollow if available
7618         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
7619         (acl_extended_file): New macro.
7620         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
7621         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
7622
7623 2011-07-21  Bruno Haible  <bruno@clisp.org>
7624
7625         Declare system functions in a way that works with C++.
7626         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
7627         declare fdopendir as extern "C".
7628         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
7629         declare frexpl as extern "C".
7630         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
7631         declare gai_strerror as extern "C".
7632         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
7633         programs, declare gai_strerror as extern "C".
7634         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
7635         declare getlogin_r as extern "C".
7636         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
7637         as extern "C".
7638         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
7639         declare ldexpl as extern "C".
7640         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
7641         as extern "C".
7642         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
7643         program, declare getmntinfo as extern "C".
7644         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
7645         stpncpy as extern "C".
7646         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
7647         program, declare __xpg_strerror_r as extern "C".
7648         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
7649         strndup as extern "C".
7650         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
7651         declare memset and bzero as extern "C".
7652         Reported by Sam Steingold <sds@gnu.org>.
7653
7654 2011-07-12  Jim Meyering  <meyering@redhat.com>
7655
7656         maint.mk: prohibit inclusion of "verify.h" without use
7657         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
7658
7659 2011-07-19  Pádraig Brady  <P@draigBrady.com>
7660
7661         timer-time: A new module to check for timer_settime()
7662         * m4/timer_time.m4: Check for the posix function.
7663         * modules/timer-time: Add the new module.
7664         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
7665         Mention it.
7666
7667 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
7668             Bruno Haible  <bruno@clisp.org>
7669
7670         pthread_sigmask: assume POSIX threads if --avoid=threadlib
7671         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
7672         not defined, assume POSIX threads and look for pthread_sigmask in
7673         $LIBS, without changing $CPPFLAGS.
7674
7675 2011-07-19  Bruno Haible  <bruno@clisp.org>
7676
7677         strstr: Update cross-compilation guess.
7678         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
7679         CPUs, guess no, in view of glibc
7680         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
7681         Suggested by Eric Blake. Reported by Reuben Thomas.
7682
7683 2011-07-19  Pádraig Brady  <P@draigBrady.com>
7684
7685         getopt-gnu: suppress core dumps from detection code
7686         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
7687         to suppress core dumps that may well occur on glibc systems.
7688         * modules/getopt-gnu: Depend on nocrash.
7689
7690 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
7691
7692         pthread_sigmask: ensure usleep is declared
7693         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
7694         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
7695
7696 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
7697
7698         doc: Document NonStop portability issues.
7699         * doc/posix-functions/sigaction.texi (sigaction):
7700         * doc/posix-headers/signal.texi (signal.h):
7701         Document NonStop.  See Joachim Schmitz in
7702         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
7703
7704 2011-07-15  Bruno Haible  <bruno@clisp.org>
7705
7706         ffsl, ffsll: Avoid unportable behaviour.
7707         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
7708
7709 2011-07-15  Bruno Haible  <bruno@clisp.org>
7710
7711         ffs: More tests.
7712         * tests/test-ffs.c (NBITS): New macro.
7713         (main): Add more tests.
7714         * tests/test-ffsl.c (NBITS): New macro.
7715         (main): Add more tests.
7716         * tests/test-ffsll.c (NBITS): New macro.
7717         (main): Add more tests.
7718
7719 2011-07-15  Eric Blake  <eblake@redhat.com>
7720
7721         ffsl, ffsll: new modules
7722         * modules/ffsl: New file.
7723         * modules/ffsll: Likewise.
7724         * m4/ffsl.m4: Likewise.
7725         * m4/ffsll.m4: Likewise.
7726         * lib/ffsl.c: Likewise.
7727         * lib/ffsl.h: Likewise.
7728         * lib/ffsll.c: Likewise.
7729         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
7730         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
7731         * modules/string (Makefile.am): Substitute witnesses.
7732         * lib/strings.in.h (ffsl, ffsll): Declare.
7733         * modules/ffsl-tests: New test file.
7734         * modules/ffsll-tests: Likewise.
7735         * tests/test-ffsl.c: Likewise.
7736         * tests/test-ffsll.c: Likewise.
7737         * MODULES.html.sh (Integer arithmetic functions): Mention it.
7738         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
7739         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
7740
7741         ffs: fix m4 prerequisite
7742         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
7743
7744         ffs: avoid undefined behavior
7745         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
7746         * tests/test-ffs.c (naive, main): Avoid signed shifts.
7747         Reported by Bruno Haible.
7748
7749 2011-07-12  Bruno Haible  <bruno@clisp.org>
7750
7751         pthread_sigmask: Rely on module 'threadlib'.
7752         * modules/pthread_sigmask (Depends-on): Add threadlib.
7753         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
7754         is defined.
7755
7756 2011-07-12  Bruno Haible  <bruno@clisp.org>
7757
7758         regex: Depend on module 'strcase'.
7759         * modules/regex (Depends-on): Add strcase, for strcasecmp().
7760
7761 2011-07-12  Jim Meyering  <meyering@redhat.com>
7762
7763         warn-on-use: fix typo in file name
7764         * modules/snippet/warn-on-use (Files): Correct file name:
7765         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
7766
7767 2011-07-12  Bruno Haible  <bruno@clisp.org>
7768
7769         strings: Document module.
7770         * doc/posix-headers/strings.texi: Mention module 'strings'.
7771
7772 2011-07-12  Bruno Haible  <bruno@clisp.org>
7773
7774         Rename module '_Noreturn' to 'snippet/_Noreturn'.
7775         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
7776         (Files, Makefile.am): Update.
7777         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
7778         * modules/stdlib (Depends-on): Update.
7779
7780 2011-07-12  Bruno Haible  <bruno@clisp.org>
7781
7782         * NEWS: Mention the changes.
7783
7784         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
7785         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
7786         (Files, Makefile.am): Update.
7787         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
7788         * modules/arpa_inet (Depends-on): Update.
7789         * modules/ctype (Depends-on): Update.
7790         * modules/dirent (Depends-on): Update.
7791         * modules/fcntl-h (Depends-on): Update.
7792         * modules/glob (Depends-on): Update.
7793         * modules/iconv-h (Depends-on): Update.
7794         * modules/inttypes-incomplete (Depends-on): Update.
7795         * modules/langinfo (Depends-on): Update.
7796         * modules/locale (Depends-on): Update.
7797         * modules/math (Depends-on): Update.
7798         * modules/netdb (Depends-on): Update.
7799         * modules/poll-h (Depends-on): Update.
7800         * modules/pty (Depends-on): Update.
7801         * modules/search (Depends-on): Update.
7802         * modules/signal (Depends-on): Update.
7803         * modules/spawn (Depends-on): Update.
7804         * modules/stdio (Depends-on): Update.
7805         * modules/stdlib (Depends-on): Update.
7806         * modules/string (Depends-on): Update.
7807         * modules/strings (Depends-on): Update.
7808         * modules/sys_file (Depends-on): Update.
7809         * modules/sys_ioctl (Depends-on): Update.
7810         * modules/sys_select (Depends-on): Update.
7811         * modules/sys_socket (Depends-on): Update.
7812         * modules/sys_stat (Depends-on): Update.
7813         * modules/sys_time (Depends-on): Update.
7814         * modules/sys_times (Depends-on): Update.
7815         * modules/sys_utsname (Depends-on): Update.
7816         * modules/sys_wait (Depends-on): Update.
7817         * modules/termios (Depends-on): Update.
7818         * modules/time (Depends-on): Update.
7819         * modules/unistd (Depends-on): Update.
7820         * modules/wchar (Depends-on): Update.
7821         * modules/wctype-h (Depends-on): Update.
7822         * MODULES.html.sh (Support for building libraries and executables):
7823         Update.
7824
7825         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
7826         * modules/snippet/unused-parameter: Renamed from
7827         modules/unused-parameter.
7828         (Files, Makefile.am): Update.
7829         * build-aux/snippet/unused-parameter.h: Renamed from
7830         build-aux/unused-parameter.h.
7831         * modules/selinux-h (Depends-on): Update.
7832         * modules/unistr/base (Depends-on): Update.
7833         * MODULES.html.sh (Core language properties): Update.
7834
7835         Rename module 'link-warning' to 'snippet/link-warning'.
7836         * modules/snippet/link-warning: Renamed from modules/link-warning.
7837         (Files, Makefile.am): Update.
7838         * build-aux/snippet/link-warning.h: Renamed from
7839         build-aux/link-warning.h.
7840         * MODULES.html.sh (Support for building libraries and executables):
7841         Update.
7842
7843         Rename module 'c++defs' to 'snippet/c++defs'.
7844         * modules/snippet/c++defs: Renamed from modules/c++defs.
7845         (Files, Makefile.am): Update.
7846         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
7847         * modules/arpa_inet (Depends-on): Update.
7848         * modules/ctype (Depends-on): Update.
7849         * modules/dirent (Depends-on): Update.
7850         * modules/fcntl-h (Depends-on): Update.
7851         * modules/glob (Depends-on): Update.
7852         * modules/iconv-h (Depends-on): Update.
7853         * modules/langinfo (Depends-on): Update.
7854         * modules/locale (Depends-on): Update.
7855         * modules/math (Depends-on): Update.
7856         * modules/netdb (Depends-on): Update.
7857         * modules/poll-h (Depends-on): Update.
7858         * modules/pty (Depends-on): Update.
7859         * modules/search (Depends-on): Update.
7860         * modules/signal (Depends-on): Update.
7861         * modules/spawn (Depends-on): Update.
7862         * modules/stdio (Depends-on): Update.
7863         * modules/stdlib (Depends-on): Update.
7864         * modules/string (Depends-on): Update.
7865         * modules/strings (Depends-on): Update.
7866         * modules/sys_ioctl (Depends-on): Update.
7867         * modules/sys_select (Depends-on): Update.
7868         * modules/sys_socket (Depends-on): Update.
7869         * modules/sys_stat (Depends-on): Update.
7870         * modules/sys_time (Depends-on): Update.
7871         * modules/sys_wait (Depends-on): Update.
7872         * modules/termios (Depends-on): Update.
7873         * modules/time (Depends-on): Update.
7874         * modules/unistd (Depends-on): Update.
7875         * modules/wchar (Depends-on): Update.
7876         * modules/wctype-h (Depends-on): Update.
7877
7878         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
7879         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
7880         (Files, Makefile.am): Update.
7881         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
7882         * modules/argv-iter (Depends-on): Update.
7883         * modules/arpa_inet (Depends-on): Update.
7884         * modules/dirent (Depends-on): Update.
7885         * modules/fcntl-h (Depends-on): Update.
7886         * modules/fnmatch (Depends-on): Update.
7887         * modules/getopt-posix (Depends-on): Update.
7888         * modules/glob (Depends-on): Update.
7889         * modules/iconv-h (Depends-on): Update.
7890         * modules/inttypes-incomplete (Depends-on): Update.
7891         * modules/locale (Depends-on): Update.
7892         * modules/math (Depends-on): Update.
7893         * modules/netdb (Depends-on): Update.
7894         * modules/search (Depends-on): Update.
7895         * modules/signal (Depends-on): Update.
7896         * modules/spawn (Depends-on): Update.
7897         * modules/stdio (Depends-on): Update.
7898         * modules/stdlib (Depends-on): Update.
7899         * modules/string (Depends-on): Update.
7900         * modules/strings (Depends-on): Update.
7901         * modules/sys_socket (Depends-on): Update.
7902         * modules/sys_stat (Depends-on): Update.
7903         * modules/sys_time (Depends-on): Update.
7904         * modules/sys_times (Depends-on): Update.
7905         * modules/sys_utsname (Depends-on): Update.
7906         * modules/time (Depends-on): Update.
7907         * modules/unistd (Depends-on): Update.
7908         * modules/wchar (Depends-on): Update.
7909         * MODULES.html.sh (Support for building libraries and executables):
7910         Update.
7911
7912 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
7913
7914         Improvements on _Noreturn and related modules.
7915
7916         modules/_Exit-tests: test _Noreturn too
7917         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
7918         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
7919         (main): Use them.
7920
7921         stdnoreturn, stdnoreturn-tests: remove modules
7922         They're not needed here and a bit premature for use elsewhere.  See
7923         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
7924         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
7925         * tests/test-stdnoreturn.c: Remove files.
7926         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
7927         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
7928         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
7929         and using noreturn.
7930         * modules/openat, modules/sigpipe-die, modules/xalloc:
7931         * modules/xmemdup0, modules/xstrtol:
7932         Remove dependency on stdnoreturn.
7933
7934         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
7935         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
7936         Reparenthesize to avoid GCC warning.
7937         Support Microsoft's syntax.
7938         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
7939
7940         _Noreturn-tests: remove module
7941         * modules/_Noreturn-tests: Remove.
7942         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
7943         * tests/test-_Noreturn.c: Remove.
7944         * tests/test-stdnoreturn.c: Merge from the old
7945         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
7946
7947 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
7948
7949         _Noreturn, stdnoreturn, and related modules.
7950
7951         * top/maint.mk: Adjust to new noreturn support.
7952         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
7953         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
7954
7955         xalloc: use stdnoreturn.h
7956         * lib/xalloc.h: Include <stdnoreturn.h>.
7957         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
7958         * modules/xalloc (Depends-on): Add stdnoreturn.
7959
7960         xstrtol: use stdnoreturn.h
7961         * lib/xstrtol.h: Include <stdnoreturn.h>.
7962         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
7963         * modules/xstrtol (Depends-on): Add stdnoreturn.
7964
7965         xmemdup0: use stdnoreturn.h
7966         * lib/xmemdup0.h: Include <stdnoreturn.h>.
7967         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
7968         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
7969
7970         sigpipe-die: use stdnoreturn.h
7971         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
7972         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
7973         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
7974
7975         openat: use stdnoreturn.h
7976         * lib/openat.h: Include <stdnoreturn.h>.
7977         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
7978         * modules/openat (Depends-on): Add stdnoreturn.
7979
7980         * lib/openat-die.c (openat_save_fail): Modernize comment.
7981
7982         * lib/xalloc-die.c (xalloc_die): Modernize comment.
7983
7984         * lib/glthread/thread.h: Modernize comment.
7985
7986         obstack: use _Noreturn
7987         * lib/obstack.c (__attribute__): Remove macro.
7988         (print_and_abort): Use _Noreturn.
7989
7990         c-stack: use _Noreturn
7991         * lib/c-stack.c (die, overflow_handler, segv_handler):
7992         Use _Noreturn rather than __attribute__((noreturn)).
7993
7994         argmatch-tests, exclude_tests: use _Noreturn
7995         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
7996         Remove.
7997         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
7998
7999         stdlib: use _Noreturn
8000         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
8001         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
8002         * modules/stdlib (Depends-on): Add _Noreturn.
8003         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
8004
8005         stdnoreturn-tests: new module
8006         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
8007
8008         stdnoreturn: new module
8009         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
8010         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
8011
8012         _Noreturn-tests: new module
8013         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
8014
8015         _Noreturn: new module
8016         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
8017         New section, mentioning it.
8018         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
8019
8020         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
8021
8022 2011-07-11  Eric Blake  <eblake@redhat.com>
8023
8024         ffs: new module
8025         * modules/ffs: New file.
8026         * m4/ffs.m4: Likewise.
8027         * lib/ffs.c: Likewise.
8028         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
8029         * modules/strings (Makefile.am): Substitute witness.
8030         (Depends-on): Add c++defs.
8031         * lib/strings.in.h (ffs): Declare.
8032         * modules/ffs-tests: New test file.
8033         * tests/test-ffs.c: Test new module.
8034         * MODULES.html.sh (Integer arithmetic functions): Mention it.
8035         * doc/posix-functions/ffs.texi (ffs): Likewise.
8036
8037         regex: avoid compiler warning
8038         * lib/regex.c (includes): Include <strings.h>, for use of
8039         strcasecmp in regcomp.c.
8040         Reported by Joachim Schmitz.
8041
8042 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8043
8044         stdint: respect system's intmax_t if INTMAX_MAX
8045         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
8046         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
8047         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
8048         long but int64_t is long long, and where we will clash with the
8049         system intmax_t if we override it.  See
8050         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
8051         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
8052         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
8053         similarly for UINTMAX_C.
8054
8055 2011-07-08  Bruno Haible  <bruno@clisp.org>
8056
8057         pthread_sigmask tests: Avoid a compiler warning.
8058         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
8059         non-zero.
8060
8061         sigprocmask tests: A better way to avoid a compiler warning.
8062         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
8063         (main): Complain if system() returns non-zero.
8064         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
8065
8066 2011-07-08  Bruno Haible  <bruno@clisp.org>
8067
8068         pthread_sigmask: Work around IRIX bug.
8069         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
8070         bug.
8071         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
8072         there may be unblocked pending signals.
8073         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
8074
8075 2011-07-08  Bruno Haible  <bruno@clisp.org>
8076
8077         pthread_sigmask: Work around Cygwin bug.
8078         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
8079         bug.
8080         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
8081         the system's pthread_sigmask function.
8082         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
8083
8084 2011-07-08  Bruno Haible  <bruno@clisp.org>
8085
8086         pthread_sigmask: Work around bug in single-threaded implementation.
8087         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
8088         FreeBSD, HP-UX, Solaris bug.
8089         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
8090         * lib/pthread_sigmask.c: Include <stddef.h>.
8091         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
8092         the system's pthread_sigmask function.
8093         * modules/pthread_sigmask (configure.ac): Invoke
8094         gl_PREREQ_PTHREAD_SIGMASK.
8095         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
8096         HP-UX, Solaris.
8097
8098 2011-07-08  Eric Blake  <eblake@redhat.com>
8099
8100         test-sigprocmask: avoid compiler warning
8101         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
8102         * tests/test-sigprocmask.c (main): Use it to silence warning.
8103         Reported by Jim Meyering.
8104
8105         test-snprintf: avoid compiler warning
8106         * tests/test-snprintf.c (main): Avoid shadowed declaration.
8107         * tests/test-vsnprintf.c (main): Likewise.
8108         Reported by Jim Meyering.
8109
8110 2011-07-08  Bruno Haible  <bruno@clisp.org>
8111
8112         Tests for module 'pthread_sigmask'.
8113         * modules/pthread_sigmask-tests: New file.
8114         * tests/test-pthread_sigmask1.c: New file, based on
8115         tests/test-sigprocmask.c.
8116         * tests/test-pthread_sigmask2.c: New file.
8117
8118 2011-07-08  Jim Meyering  <meyering@redhat.com>
8119
8120         test-getopt.h: avoid warning about an unused variable
8121         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
8122
8123 2011-07-07  Jim Meyering  <meyering@redhat.com>
8124
8125         maint: reduce list of files exempt from sc_prohibit_leading_TABs
8126         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
8127         now that it no longer contains leading TABs.
8128         Remove unused "url=FIXME" statement.
8129
8130 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
8131
8132         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
8133         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
8134         When gl_THREADLIB is not in use, assume that the POSIX sematics
8135         are desired.  This is better for Emacs, which uses POSIX semantics
8136         on GNUish and/or POSIXish platforms, and does not use threads at
8137         all otherwise.
8138
8139         pthread_sigmask: fix typo when testing for libraries
8140         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
8141         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
8142
8143 2011-07-08  Eric Blake  <eblake@redhat.com>
8144
8145         fts: introduce FTS_NOATIME
8146         * lib/fts_.h (FTS_NOATIME): New bit flag.
8147         (FTS_OPTIONMASK): Adjust.
8148         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
8149         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
8150
8151 2011-07-08  Bruno Haible  <bruno@clisp.org>
8152
8153         Tests for module 'thread'.
8154         * modules/thread-tests: New file.
8155         * tests/test-thread_self.c: New file.
8156         * tests/test-thread_create.cc: New file.
8157
8158 2011-07-08  Bruno Haible  <bruno@clisp.org>
8159
8160         thread: Avoid gcc warnings when using gl_thread_self().
8161         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
8162         'void *'.
8163         (gl_thread_self_pointer): Update.
8164
8165 2011-07-07  Bruno Haible  <bruno@clisp.org>
8166
8167         signal-c++-tests: Check declaration of pthread_sigmask.
8168         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
8169         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
8170         $(LIB_PTHREAD_SIGMASK).
8171
8172 2011-07-07  Bruno Haible  <bruno@clisp.org>
8173
8174         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
8175         * lib/signal.in.h (pthread_sigmask): Override if
8176         REPLACE_PTHREAD_SIGMASK is 1.
8177         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
8178         REPLACE_PTHREAD_SIGMASK.
8179         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
8180         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
8181         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
8182         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
8183         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
8184
8185 2011-07-07  Bruno Haible  <bruno@clisp.org>
8186
8187         pthread_sigmask: Ensure declaration in <signal.h>.
8188         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
8189         include <pthread.h>.
8190         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
8191         problem.
8192
8193 2011-07-07  Bruno Haible  <bruno@clisp.org>
8194
8195         pthread_sigmask: Document the module.
8196         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
8197
8198 2011-07-07  Bruno Haible  <bruno@clisp.org>
8199
8200         pthread_sigmask: Follow gnulib conventions.
8201         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
8202         gl_PTHREAD_SIGMASK.
8203         * modules/pthread_sigmask (configure.ac): Update.
8204
8205 2011-07-07  Bruno Haible  <bruno@clisp.org>
8206
8207         pthread_sigmask: Make declaration C++ safe.
8208         * lib/signal.in.h: In two special conditions, just do an #include_next.
8209         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
8210         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
8211         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
8212         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
8213         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
8214         not REPLACE_PTHREAD_MASK.
8215         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
8216         not REPLACE_PTHREAD_MASK.
8217         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
8218
8219 2011-07-07  Bruno Haible  <bruno@clisp.org>
8220
8221         pthread_sigmask: Fix return value.
8222         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
8223         * lib/pthread_sigmask.c: New file.
8224         * modules/pthread_sigmask (Files): Add it.
8225         (configure.ac): Invoke AC_LIBOBJ.
8226
8227 2011-07-07  Eric Blake  <eblake@redhat.com>
8228
8229         getopt: more portable argv creation
8230         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
8231         const, use char arrays rather than strings.
8232         Suggested by Paul Eggert.
8233
8234 2011-07-07  Bruno Haible  <bruno@clisp.org>
8235
8236         Tests for module 'sigprocmask'.
8237         * modules/sigprocmask-tests: New file.
8238         * tests/test-sigprocmask.c: New file.
8239
8240 2011-07-07  Bruno Haible  <bruno@clisp.org>
8241
8242         float tests: Tweak.
8243         * tests/test-float.c (main): Tweak skip message.
8244
8245 2011-07-07  Eric Blake  <eblake@redhat.com>
8246
8247         getopt: avoid compiler warning during configure
8248         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
8249         assigning string literals to non-const pointer.
8250
8251         getopt-gnu: avoid crash in glibc getopt
8252         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
8253         * tests/test-getopt.h (test_getopt): Enhance test.
8254         * tests/test-getopt_long.h (test_getopt_long): Likewise.
8255         * doc/posix-functions/getopt.texi (getopt): Document it.
8256         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
8257         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
8258         Likewise.
8259
8260 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
8261
8262         getopt: handle W; without long options in getopt [BZ #12922]
8263         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
8264         but no long options are defined, just return 'W'.
8265
8266 2011-07-07  Bruno Haible  <bruno@clisp.org>
8267
8268         Avoid literal tabs.
8269         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
8270         variable containing a tab instead of a literal tab.
8271         Reported by Jim Meyering.
8272
8273 2011-07-07  Bruno Haible  <bruno@clisp.org>
8274
8275         Comments.
8276         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
8277
8278 2011-07-06  Bruno Haible  <bruno@clisp.org>
8279
8280         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
8281         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
8282         <winsock2.h>.
8283         (rpl_fd_isset, FD_ISSET): New definitions, copied from
8284         lib/sys_socket.in.h.
8285         (close, gethostname): Hide declarations from <winsock2.h>.
8286         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
8287         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
8288         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
8289         (select): Don't override if gnulib's <sys/select.h> was already
8290         included.
8291         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
8292         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
8293         setsockopt, shutdown, select): Tweak indentation.
8294
8295 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8296
8297         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
8298         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
8299         in an application that does not use the sys_select module.
8300
8301 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
8302
8303         poll: do not return 0 on timeout=-1
8304         * lib/poll.c: Loop with yield if no events occured
8305
8306 2011-07-06  Eric Blake  <eblake@redhat.com>
8307
8308         pthread_sigmask: always replace when not using pthread
8309         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
8310         replacement when using some threading other than pthread.  Fix
8311         logic bug.
8312
8313 2011-07-06  Bruno Haible  <bruno@clisp.org>
8314
8315         Comments.
8316         * m4/printf.m4: Update comments about mingw.
8317
8318 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8319
8320         sys_select: define sigset_t more portably
8321         * lib/sys_select.in.h: Always include <sys/types.h>, since
8322         we now need sigset_t and mingw defines it there.
8323         Include <signal.h> before split inclusion guard, to avoid
8324         mishaps on Solaris, whose <signal.h> eventually includes us.
8325         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
8326         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
8327         which come from ...
8328         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
8329         gl_CHECK_TYPE_SIGSET_T.
8330         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
8331         does the real work.
8332         * modules/sys_select (Depends-on): Add 'signal'.
8333
8334         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
8335         Suggested by Bruno Haible.
8336
8337         pselect: Use pthread_sigmask, not sigprocmask.
8338         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
8339         multithreaded apps better than sigprocmask does.
8340         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
8341         sigprocmask directly.
8342
8343 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
8344
8345         * lib/pselect.c (pselect): Use plain name, without "rpl_".
8346         Don't #undef,  since we don't need any underlying pselect.
8347         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
8348         (Depends-on): Add select.
8349         (Link): Add $(LIBSOCKET).
8350         These changes suggested by Bruno Haible.
8351
8352         pselect: document better
8353         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
8354         * doc/posix-functions/pselect.texi (pselect): Document new module.
8355
8356         pthread_sigmask: new module
8357         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
8358         * doc/posix-functions/pthread_sigmask.texi: Document new module.
8359         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
8360         This is done only as a macro; I don't know how well that'll
8361         work for C++.  Move <sys/types.h> include before the include_next,
8362         to avoid mishap on Solaris.
8363         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
8364         * modules/signal (Makefile.am): Substitute the check's results.
8365         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
8366
8367         test-pselect: new module
8368         * modules/pselect-tests, tests/test-pselect.c: New files.
8369         * tests/test-select.c, tests/test-sys_select-c++.cc:
8370         If TEST_PSELECT is defined, test pselect instead of testing select.
8371
8372         * tests/test-sys_select.c (sigset_t): Test for it, too.
8373         Suggested by Bruno Haible.
8374
8375 2011-07-05  Eric Blake  <eblake@redhat.com>
8376
8377         snprintf: guarantee %1$d, for libintl
8378         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
8379         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
8380         * doc/posix-functions/snprintf.texi (snprintf): Update.
8381         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
8382         * tests/test-snprintf.c (main): Enhance test.
8383         * tests/test-vsnprintf.c (main): Likewise.
8384
8385 2011-07-05  Jim Meyering  <meyering@redhat.com>
8386
8387         maint: exempt stdio-read.c and stdio-write.c from the cppi check
8388         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
8389         per Bruno's request, to accommodate this idiom (no space after "#")
8390         even when the function is inside an #if block:
8391         char *
8392         gets (char *s)
8393         #undef gets
8394         {
8395           ...
8396         }
8397
8398 2011-07-04  Jim Meyering  <meyering@redhat.com>
8399
8400         maint: indent with spaces, not TABs, and add a rule to check this
8401         * tests/test-userspec.c: Indent with spaces, not TABs.
8402         * tests/test-argp.c: Likewise.
8403         * tests/test-c-stack2.sh: Likewise.
8404         * tests/test-parse-duration.sh: Likewise
8405         * m4/strtod.m4: Likewise.
8406         * m4/alloca.m4: Likewise.
8407         * m4/pselect.m4: Likewise.
8408         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
8409
8410 2011-07-03  Jim Meyering  <meyering@redhat.com>
8411
8412         maint.mk: correct omissions in prohibit_argmatch_without_use check
8413         This rule would mistakenly report that argmatch.h is included without
8414         use even when both the argmatch and invalid_arg macro were used.
8415         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
8416         of argmatch and invalid_arg.
8417
8418 2011-07-03  Bruno Haible  <bruno@clisp.org>
8419
8420         Comments about EINTR.
8421         * lib/safe-read.h: Explain the purpose of this module.
8422         * lib/safe-write.h: Likewise.
8423         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
8424         module.
8425         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
8426         module.
8427         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8428
8429 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
8430
8431         xnanosleep: Rewrite to use new dtotimespec module.
8432         It has the conversion code that used to be in xnanosleep.
8433         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
8434         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
8435         (TIME_T_MAX): Remove.
8436         (xnanosleep): Rewrite in terms of dtotimespec.
8437         * modules/xnanosleep (Depends-on): Add dtotimespec.
8438         Remove intprops, stdbool.
8439
8440         timespec-add, timespec-sub: new modules
8441         * lib/timespec.h (timespec_add, timespec_sub): New decls.
8442         * lib/timespec-add.c, lib/timespec-sub.c:
8443         * modules/timespec-add, modules/timespec-sub: New files.
8444
8445         dtotimespec: new module
8446         * lib/timespec.h (dtotimespec): New decl.
8447         * lib/dtotimespec.c, modules/dtotimespec: New files.
8448
8449         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
8450
8451         pselect: new module
8452         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
8453         (pselect): New decls.
8454         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
8455         since the standard pselect decl uses 'restrict'.
8456         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
8457         HAVE_PSELECT, REPLACE_PSELECT.
8458         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
8459         HAVE_PSELECT, REPLACE_PSELECT.
8460         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
8461
8462         sys_select: don't depend on sys_socket
8463         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
8464         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
8465         This fix works on GNU and GNU-like platforms, but has not been tested
8466         on native Windows.
8467         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
8468         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
8469         gl_HEADER_SYS_SOCKET.
8470         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
8471         gl_PREREQ_SYS_H_WINSOCK2.
8472
8473 2011-06-29  Eric Blake  <eblake@redhat.com>
8474
8475         pipe2: fix C89 compile problem
8476         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
8477         Reported by Bruno Haible.
8478
8479         pipe, pipe2: don't corrupt fd on error
8480         * lib/pipe.c (pipe): Leave fd unchanged on error.
8481         * lib/pipe2.c (pipe2): Likewise.
8482         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
8483         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
8484
8485 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
8486
8487         mmap-anon: do not use regular expressions inadvertently
8488         * m4/mmap-anon.m4: Remove trailing period from strings sought
8489         in the output.
8490
8491 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
8492
8493         nanosleep: fix integer overflow problem
8494         * lib/nanosleep.c (my_usleep): Don't assume signed integer
8495         arithmetic wraps around on overflow.
8496
8497         nanosleep: simplify carrying
8498         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
8499         first call to the underyling nanosleep, not for the last one.
8500         This doesn't fix any bugs, but it simplifies the computation of
8501         the remaining delay.  Found while auditing integer overflow issues.
8502
8503         dup2: remove test for existence of fcntl
8504         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
8505         "#if HAVE_FCNTL", in the configure-time test program.
8506         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
8507         and therefore speeds up "configure" a bit.  Found while
8508         adding the dup2 module to Emacs.
8509
8510 2011-06-24  Eric Blake  <eblake@redhat.com>
8511
8512         maint.mk: enhance useless header checks
8513         * top/maint.mk (_sc_header_without_use): Check both include
8514         styles.
8515         (sc_prohibit_assert_without_use)
8516         (sc_prohibit_close_stream_without_use)
8517         (sc_prohibit_getopt_without_use)
8518         (sc_prohibit_quotearg_without_use)
8519         (sc_prohibit_quote_without_use)
8520         (sc_prohibit_long_options_without_use)
8521         (sc_prohibit_inttostr_without_use)
8522         (sc_prohibit_ignore_value_without_use)
8523         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
8524         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
8525         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
8526         (sc_prohibit_hash_pjw_without_use)
8527         (sc_prohibit_safe_read_without_use)
8528         (sc_prohibit_argmatch_without_use)
8529         (sc_prohibit_canonicalize_without_use)
8530         (sc_prohibit_root_dev_ino_without_use)
8531         (sc_prohibit_openat_without_use)
8532         (sc_prohibit_c_ctype_without_use)
8533         (sc_prohibit_signal_without_use)
8534         (sc_prohibit_stdio--_without_use)
8535         (sc_prohibit_stdio-safer_without_use)
8536         (sc_prohibit_strings_without_use)
8537         (sc_prohibit_intprops_without_use)
8538         (sc_prohibit_stddef_without_use)
8539         (sc_prohibit_xfreopen_without_use): Update clients.
8540
8541 2011-06-24  Jim Meyering  <meyering@redhat.com>
8542
8543         syntax-check: keep one maint.mk rule in sync with its header
8544         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
8545         of the bug Eric has just fixed, with today's commit 25e4c2ec.
8546         I prefer to avoid temporary files here, so use <(...), but that
8547         is not supported by /bin/sh, so...
8548         (SHELL): Define to /bin/bash.
8549
8550 2011-06-24  Eric Blake  <eblake@redhat.com>
8551
8552         maint.mk: update sc_prohibit_intprops_without_use
8553         * top/maint.mk (_intprops_names): Match recent changes.
8554
8555 2011-06-24  Bruno Haible  <bruno@clisp.org>
8556
8557         strerror-override: No-op tweak.
8558         * lib/strerror-override.h (strerror_override): Reorder conditions,
8559         for consistency with lib/strerror-override.c.
8560
8561 2011-06-23  Eric Blake  <eblake@redhat.com>
8562
8563         maint.mk: test further PATH_MAX issues
8564         * top/maint.mk (sc_prohibit_path_max_array): Rename...
8565         (sc_prohibit_path_max_allocation): ...and also test alloca.
8566         Suggested by Jim Meyering.
8567
8568 2011-06-22  Eric Blake  <eblake@redhat.com>
8569
8570         maint.mk: add syntax-check to avoid char[PATH_MAX]
8571         * top/maint.mk (sc_prohibit_path_max_array): New rule.
8572
8573         stat: be robust to PATH_MAX definition
8574         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
8575         * modules/stat (Depends-on): Add verify.
8576
8577         link: work around IRIX bug
8578         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
8579         * lib/link.c (rpl_link): Work around it.
8580         * tests/test-link.h (test_link): Enhance test.
8581         * doc/posix-functions/link.texi (link): Document the bug.
8582
8583         getopt: silence clang warning
8584         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
8585         dereference.
8586         Reported by Gustavo Martin Domato.
8587
8588 2011-06-22  Jim Meyering  <meyering@redhat.com>
8589
8590         bootstrap: do not insert a blank line into each .gitignore file
8591         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
8592
8593 2011-06-21  Eric Blake  <eblake@redhat.com>
8594
8595         perror: test for output mismatch
8596         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
8597         perror on IRIX.
8598
8599         strerror_r: fix OpenBSD behavior on out-of-range
8600         * lib/strerror_r.c (strerror_r): Always use maximal string.
8601         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
8602
8603         strerror_r: fix OpenBSD behavior on 0
8604         * lib/strerror-override.c (strerror_override): Also override 0
8605         when needed.
8606         * lib/strerror-override.h (strerror_override): Likewise.
8607         * lib/strerror.c (strerror): Simplify, now that 0 override is done
8608         earlier.
8609         * lib/strerror_r.c (strerror_r): Likewise.
8610         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
8611         behavior...
8612         (gl_FUNC_STRERROR_0): ...into new macro.
8613         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
8614         is overridden.
8615         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
8616         * modules/strerror-override (Files): Add strerror.m4.
8617         (configure.ac): Also provide override for 0 when needed.
8618         * doc/posix-functions/strerror.texi (strerror): Document this.
8619         * doc/posix-functions/perror.texi (perror): Likewise.
8620
8621         perror: adjust array size
8622         * modules/perror (Depends-on): Add strerror-override.
8623         * lib/perror.c (perror): Use it to avoid magic number.
8624
8625         strerror-override: reduce size
8626         * lib/strerror-override.c (strerror_override): Use fewer lines.
8627
8628 2011-06-20  Bruno Haible  <bruno@clisp.org>
8629
8630         pathmax: Ensure correct value for PATH_MAX on HP-UX.
8631         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
8632
8633 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
8634
8635         alloca: port to compilers that can optimize like GCC 4.6.0
8636         * lib/alloca.c (find_stack_direction): New signature, taken from
8637         Autoconf git.  This works with GCC 4.6.0.  This code should never
8638         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
8639         be used with other compilers that optimize as well as GCC 4.6.0 does.
8640         (alloca): Adjust to new signature.
8641         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
8642         New macro, which patches Autoconf in a similar way.
8643
8644         c-stack: stop worrying about stack direction
8645         * lib/c-stack.c (find_stack_direction): Remove.
8646         (segv_handler): Don't worry about stack direction growth, as it's
8647         too much of a pain to configure this correctly, given how compilers
8648         are optimizing-away our stack-growth detection code.  Instead, assume
8649         that any access to just before or just after the stack is OK.
8650         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
8651         Don't require AC_FUNC_ALLOCA; no longer needed.
8652
8653 2011-06-20  Eric Blake  <eblake@redhat.com>
8654
8655         test-stat: don't allocate PATH_MAX bytes
8656         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
8657         PATH_MAX-sized buffer.
8658         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
8659         * modules/stat-tests (Depends-on): Likewise.
8660         * tests/test-fstatat.c (includes): Drop pathmax.h.
8661         * tests/test-stat.c (includes): Likewise.
8662         Reported by Bruno Haible.
8663
8664 2011-06-20  Bruno Haible  <bruno@clisp.org>
8665
8666         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
8667         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
8668         * lib/float.c: New file.
8669         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
8670         REPLACE_FLOAT_LDBL.
8671         * modules/float (Files): Add lib/float.c.
8672         (configure.ac): Invoke AC_LIBOBJ.
8673         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
8674
8675 2011-06-20  Bruno Haible  <bruno@clisp.org>
8676
8677         Tests for module 'float'.
8678         * modules/float-tests: New file.
8679         * tests/test-float.c: New file.
8680
8681 2011-06-19  Bruno Haible  <bruno@clisp.org>
8682
8683         isinf: Coding style.
8684         * lib/isinf.c: Use GNU coding style.
8685
8686 2011-06-19  Bruno Haible  <bruno@clisp.org>
8687
8688         linkat test: Avoid test failure on AIX 7.1.
8689         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
8690         * tests/test-link.h (test_link): Likewise.
8691
8692 2011-06-19  Bruno Haible  <bruno@clisp.org>
8693
8694         pread test: Avoid test failure on OpenBSD 4.9.
8695         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
8696
8697 2011-06-19  Bruno Haible  <bruno@clisp.org>
8698
8699         sprintf-posix: Fix test failure on AIX 7.1.
8700         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
8701         * doc/posix-functions/dprintf.texi: Mention limited precision problem
8702         on AIX.
8703         * doc/posix-functions/fprintf.texi: Likewise.
8704         * doc/posix-functions/printf.texi: Likewise.
8705         * doc/posix-functions/snprintf.texi: Likewise.
8706         * doc/posix-functions/sprintf.texi: Likewise.
8707         * doc/posix-functions/vdprintf.texi: Likewise.
8708         * doc/posix-functions/vfprintf.texi: Likewise.
8709         * doc/posix-functions/vprintf.texi: Likewise.
8710         * doc/posix-functions/vsnprintf.texi: Likewise.
8711         * doc/posix-functions/vsprintf.texi: Likewise.
8712
8713 2011-06-19  Bruno Haible  <bruno@clisp.org>
8714
8715         roundl-ieee: Fix test failure on AIX 7.1.
8716         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
8717         * doc/posix-functions/roundl.texi: Mention problem with negative
8718         arguments.
8719
8720 2011-06-19  Bruno Haible  <bruno@clisp.org>
8721
8722         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
8723         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
8724         * doc/posix-functions/round.texi: Mention problem with negative
8725         arguments.
8726         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
8727
8728 2011-06-19  Bruno Haible  <bruno@clisp.org>
8729
8730         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
8731         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
8732         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
8733         * doc/posix-functions/roundf.texi: Mention problem with negative
8734         arguments.
8735         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
8736
8737 2011-06-19  Bruno Haible  <bruno@clisp.org>
8738
8739         ceilf-ieee: Work around bug on MacOS X 10.5.
8740         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
8741
8742         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
8743         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
8744         IEEE compliant, avoid compiler optimizations.
8745         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
8746         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
8747         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
8748         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
8749         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
8750         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
8751         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8752         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
8753         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
8754         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
8755
8756 2011-06-19  Bruno Haible  <bruno@clisp.org>
8757
8758         ceilf-ieee: Work around bug on AIX 7.1.
8759         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
8760         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
8761
8762 2011-06-19  Bruno Haible  <bruno@clisp.org>
8763
8764         ceil-ieee: Work around bug on AIX 7.1.
8765         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
8766         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
8767
8768 2011-06-18  Bruno Haible  <bruno@clisp.org>
8769
8770         fsync test: Avoid test failure on MacOS X and AIX.
8771         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
8772         EINVAL.
8773
8774 2011-06-18  Bruno Haible  <bruno@clisp.org>
8775
8776         openat, fdopendir tests: Fix link errors.
8777         * modules/openat-tests (Depends-on): Add progname.
8778         * modules/fdopendir-tests (Depends-on): Likewise.
8779         * tests/test-fchownat.c: Include progname.h.
8780         (main): Call set_program_name.
8781         * tests/test-fstatat.c: Include progname.h.
8782         (main): Call set_program_name.
8783         * tests/test-mkdirat.c: Include progname.h.
8784         (main): Call set_program_name.
8785         * tests/test-openat.c: Include progname.h.
8786         (main): Call set_program_name.
8787         * tests/test-unlinkat.c: Include progname.h.
8788         (main): Call set_program_name.
8789         * tests/test-fdopendir.c: Include progname.h.
8790         (main): Call set_program_name.
8791
8792 2011-06-18  Bruno Haible  <bruno@clisp.org>
8793
8794         Doc update.
8795         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
8796         HP-UX.
8797         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
8798
8799 2011-06-18  Bruno Haible  <bruno@clisp.org>
8800
8801         getcwd tests: Avoid compilation error on HP-UX 11.31.
8802         * modules/getcwd-tests (Depends-on): Add pathmax.
8803         * tests/test-getcwd.c: Include pathmax.h.
8804
8805 2011-06-18  Bruno Haible  <bruno@clisp.org>
8806
8807         isfinite, isinf: Fix link error on AIX 6 and 7.
8808         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
8809         needed, also test the macro with a 'float' argument.
8810         * m4/isinf.m4 (gl_ISINF): Likewise.
8811
8812 2011-06-18  Bruno Haible  <bruno@clisp.org>
8813
8814         getloadavg: Don't clobber LIBS. Regression from previous commit.
8815         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
8816         AC_CHECK_LIB from here...
8817         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
8818         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
8819         gl_func_getloadavg_done.
8820         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8821
8822 2011-06-18  Bruno Haible  <bruno@clisp.org>
8823
8824         clean-temp: Improve documentation.
8825         * lib/clean-temp.h: Explain better how to use this module.
8826         Reported by John Darrington <john@darrington.wattle.id.au>.
8827
8828 2011-06-17  Bruno Haible  <bruno@clisp.org>
8829
8830         pread, pwrite: Avoid cc warning on AIX.
8831         * lib/unistd.in.h (pread): Undefine before defining as a macro.
8832         (pwrite): Likewise.
8833
8834 2011-06-17  Bruno Haible  <bruno@clisp.org>
8835
8836         spawn-pipe tests: Fix link error.
8837         * tests/test-spawn-pipe-child.c: Undefine fprintf.
8838         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8839
8840 2011-06-17  Bruno Haible  <bruno@clisp.org>
8841
8842         Tests: Remove unnecessary dependency.
8843         * modules/canonicalize-tests (Depends-on): Remove progname.
8844         * modules/chown-tests (Depends-on): Likewise.
8845         * modules/dirname-tests (Depends-on): Likewise.
8846         * modules/fdopendir-tests (Depends-on): Likewise.
8847         * modules/fdutimensat-tests (Depends-on): Likewise.
8848         * modules/hash-tests (Depends-on): Likewise.
8849         * modules/lchown-tests (Depends-on): Likewise.
8850         * modules/linkat-tests (Depends-on): Likewise.
8851         * modules/renameat-tests (Depends-on): Likewise.
8852         * modules/spawn-pipe-tests (Depends-on): Likewise.
8853         * modules/utimensat-tests (Depends-on): Likewise.
8854
8855 2011-06-17  Bruno Haible  <bruno@clisp.org>
8856
8857         spawn-pipe tests: Fix link error.
8858         * tests/test-spawn-pipe-child.c: Undefine fflush.
8859
8860 2011-06-17  Bruno Haible  <bruno@clisp.org>
8861
8862         Fix tests link errors.
8863         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
8864         * modules/chown-tests (Makefile.am): Don't link test-chown with
8865         LIBINTL.
8866         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
8867         LIBINTL.
8868         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
8869         LIBINTL.
8870         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
8871         LIBINTL.
8872
8873 2011-06-16  Bruno Haible  <bruno@clisp.org>
8874
8875         crypto/gc-sha1: Fix recent regression.
8876         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
8877         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
8878
8879         crypto/gc-md5: Fix recent regression.
8880         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
8881
8882         crypto/gc-md4: Fix recent regression.
8883         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
8884         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
8885
8886         crypto/gc-arctwo: Fix recent regression.
8887         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
8888         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
8889
8890         crypto/gc-rijndael: Fix recent regression.
8891         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
8892         (configure.ac): Invoke AC_LIBOBJ here.
8893         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
8894         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8895
8896         crypto/gc-hmac-sha1: Fix recent regression.
8897         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
8898         (configure.ac): Invoke AC_LIBOBJ here.
8899         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
8900         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8901
8902         crypto/gc-hmac-md5: Fix recent regression.
8903         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
8904         (configure.ac): Invoke AC_LIBOBJ here.
8905         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
8906         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8907
8908         crypto/gc-des: Fix recent regression.
8909         * modules/crypto/gc-des (Files): Remove m4/des.m4.
8910         (configure.ac): Invoke AC_LIBOBJ here.
8911         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
8912         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8913
8914         crypto/gc-arcfour: Fix recent regression.
8915         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
8916         (configure.ac): Invoke AC_LIBOBJ here.
8917         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
8918         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8919
8920 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
8921
8922         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
8923         After the 2011-05-21 change, this macro requires
8924         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
8925         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
8926
8927 2011-06-16  Bruno Haible  <bruno@clisp.org>
8928
8929         fprintftime: Move AC_LIBOBJ invocations to module description.
8930         * m4/fprintftime.m4: Remove file.
8931         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
8932         (configure.ac): Remove gl_FPRINTFTIME call.
8933         (Makefile.am): Augment lib_SOURCES.
8934         Reported by Jim Meyering.
8935
8936 2011-06-16  Bruno Haible  <bruno@clisp.org>
8937
8938         tmpfile-safer: Finish 2011-05-23 commit.
8939         * m4/stdio-safer.m4: Really remove file.
8940         Reported by Jim Meyering.
8941
8942 2011-06-16  Bruno Haible  <bruno@clisp.org>
8943
8944         syntax-check: Fix typo.
8945         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
8946         printf-posix.m4.
8947         Reported by Jim Meyering.
8948
8949 2011-06-13  Jim Meyering  <meyering@redhat.com>
8950
8951         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
8952         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
8953
8954 2011-05-23  Bruno Haible  <bruno@clisp.org>
8955
8956         yesno: Move AC_LIBOBJ invocations to module description.
8957         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
8958         * modules/yesno (Makefile.am): Augment lib_SOURCES.
8959
8960 2011-05-23  Bruno Haible  <bruno@clisp.org>
8961
8962         xstrtol: Move AC_LIBOBJ invocations to module description.
8963         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
8964         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
8965
8966 2011-05-23  Bruno Haible  <bruno@clisp.org>
8967
8968         xstrtold: Move AC_LIBOBJ invocations to module description.
8969         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
8970         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
8971
8972 2011-05-23  Bruno Haible  <bruno@clisp.org>
8973
8974         xstrtod: Move AC_LIBOBJ invocations to module description.
8975         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
8976         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
8977
8978 2011-05-23  Bruno Haible  <bruno@clisp.org>
8979
8980         xnanosleep: Move AC_LIBOBJ invocations to module description.
8981         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
8982         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
8983
8984 2011-05-23  Bruno Haible  <bruno@clisp.org>
8985
8986         xgetcwd: Move AC_LIBOBJ invocations to module description.
8987         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
8988         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
8989
8990 2011-05-23  Bruno Haible  <bruno@clisp.org>
8991
8992         xalloc: Move AC_LIBOBJ invocations to module description.
8993         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
8994         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
8995
8996 2011-05-23  Bruno Haible  <bruno@clisp.org>
8997
8998         write-any-file: Move AC_LIBOBJ invocations to module description.
8999         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
9000         invocation.
9001         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
9002
9003 2011-05-23  Bruno Haible  <bruno@clisp.org>
9004
9005         utimens: Move AC_LIBOBJ invocations to module description.
9006         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
9007         * modules/utimens (Makefile.am): Augment lib_SOURCES.
9008
9009 2011-05-23  Bruno Haible  <bruno@clisp.org>
9010
9011         utimecmp: Move AC_LIBOBJ invocations to module description.
9012         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
9013         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
9014
9015 2011-05-23  Bruno Haible  <bruno@clisp.org>
9016
9017         userspec: Move AC_LIBOBJ invocations to module description.
9018         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
9019         * modules/userspec (Makefile.am): Augment lib_SOURCES.
9020
9021 2011-05-23  Bruno Haible  <bruno@clisp.org>
9022
9023         unlinkdir: Move AC_LIBOBJ invocations to module description.
9024         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
9025         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
9026
9027 2011-05-23  Bruno Haible  <bruno@clisp.org>
9028
9029         unistd-safer: Move AC_LIBOBJ invocations to module description.
9030         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
9031         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
9032
9033 2011-05-23  Bruno Haible  <bruno@clisp.org>
9034
9035         tempname: Move AC_LIBOBJ invocations to module description.
9036         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
9037         * modules/tempname (Makefile.am): Augment lib_SOURCES.
9038
9039 2011-05-23  Bruno Haible  <bruno@clisp.org>
9040
9041         strftime: Move AC_LIBOBJ invocations to module description.
9042         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
9043         * modules/strftime (Makefile.am): Augment lib_SOURCES.
9044
9045 2011-05-23  Bruno Haible  <bruno@clisp.org>
9046
9047         stdlib-safer: Move AC_LIBOBJ invocations to module description.
9048         * m4/stdlib-safer.m4: Remove file.
9049         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
9050         (configure.ac): Remove gl_STDLIB_SAFER call.
9051         (Makefile.am): Augment lib_SOURCES.
9052
9053 2011-05-23  Bruno Haible  <bruno@clisp.org>
9054
9055         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
9056         * m4/stdio-safer.m4: Remove file.
9057         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
9058         (configure.ac): Remove gl_TMPFILE_SAFER call.
9059         (Makefile.am): Augment lib_SOURCES.
9060
9061 2011-05-23  Bruno Haible  <bruno@clisp.org>
9062
9063         popen-safer: Move AC_LIBOBJ invocations to module description.
9064         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
9065         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
9066         (configure.ac): Remove gl_POPEN_SAFER call.
9067         (Makefile.am): Augment lib_SOURCES.
9068
9069 2011-05-23  Bruno Haible  <bruno@clisp.org>
9070
9071         freopen-safer: Move AC_LIBOBJ invocations to module description.
9072         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
9073         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
9074         (configure.ac): Remove gl_FREOPEN_SAFER call.
9075         (Makefile.am): Augment lib_SOURCES.
9076
9077 2011-05-23  Bruno Haible  <bruno@clisp.org>
9078
9079         fopen-safer: Move AC_LIBOBJ invocations to module description.
9080         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
9081         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
9082         (configure.ac): Remove gl_FOPEN_SAFER call.
9083         (Makefile.am): Augment lib_SOURCES.
9084
9085 2011-05-23  Bruno Haible  <bruno@clisp.org>
9086
9087         crypto/sha512: Move AC_LIBOBJ invocations to module description.
9088         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
9089         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
9090
9091 2011-05-23  Bruno Haible  <bruno@clisp.org>
9092
9093         crypto/sha256: Move AC_LIBOBJ invocations to module description.
9094         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
9095         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
9096
9097 2011-05-23  Bruno Haible  <bruno@clisp.org>
9098
9099         crypto/sha1: Move AC_LIBOBJ invocations to module description.
9100         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
9101         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
9102
9103 2011-05-23  Bruno Haible  <bruno@clisp.org>
9104
9105         settime: Move AC_LIBOBJ invocations to module description.
9106         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
9107         * modules/settime (Makefile.am): Augment lib_SOURCES.
9108
9109 2011-05-23  Bruno Haible  <bruno@clisp.org>
9110
9111         savedir: Move AC_LIBOBJ invocations to module description.
9112         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
9113         * modules/savedir (Makefile.am): Augment lib_SOURCES.
9114
9115 2011-05-23  Bruno Haible  <bruno@clisp.org>
9116
9117         save-cwd: Move AC_LIBOBJ invocations to module description.
9118         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
9119         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
9120
9121 2011-05-23  Bruno Haible  <bruno@clisp.org>
9122
9123         same: Move AC_LIBOBJ invocations to module description.
9124         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
9125         * modules/same (Makefile.am): Augment lib_SOURCES.
9126
9127 2011-05-23  Bruno Haible  <bruno@clisp.org>
9128
9129         safe-write: Move AC_LIBOBJ invocations to module description.
9130         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
9131         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
9132         instead of gl_SAFE_WRITE.
9133         (Makefile.am): Augment lib_SOURCES.
9134
9135 2011-05-23  Bruno Haible  <bruno@clisp.org>
9136
9137         safe-read: Move AC_LIBOBJ invocations to module description.
9138         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
9139         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
9140         of gl_SAFE_READ.
9141         (Makefile.am): Augment lib_SOURCES.
9142
9143 2011-05-23  Bruno Haible  <bruno@clisp.org>
9144
9145         safe-alloc: Move AC_LIBOBJ invocations to module description.
9146         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
9147         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
9148
9149 2011-05-23  Bruno Haible  <bruno@clisp.org>
9150
9151         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
9152         * m4/rijndael.m4: Remove file.
9153         * modules/crypto/rijndael (Files): Remove it.
9154         (configure.ac): Remove gl_RIJNDAEL call.
9155         (Makefile.am): Augment lib_SOURCES.
9156
9157 2011-05-23  Bruno Haible  <bruno@clisp.org>
9158
9159         readtokens: Move AC_LIBOBJ invocations to module description.
9160         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
9161         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
9162
9163 2011-05-23  Bruno Haible  <bruno@clisp.org>
9164
9165         read-file: Move AC_LIBOBJ invocations to module description.
9166         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
9167         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
9168         of gl_FUNC_READ_FILE.
9169         (Makefile.am): Augment lib_SOURCES.
9170
9171 2011-05-23  Bruno Haible  <bruno@clisp.org>
9172
9173         quotearg: Move AC_LIBOBJ invocations to module description.
9174         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
9175         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
9176
9177 2011-05-23  Bruno Haible  <bruno@clisp.org>
9178
9179         quote: Move AC_LIBOBJ invocations to module description.
9180         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
9181         * modules/quote (Makefile.am): Augment lib_SOURCES.
9182
9183 2011-05-23  Bruno Haible  <bruno@clisp.org>
9184
9185         posixver: Move AC_LIBOBJ invocations to module description.
9186         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
9187         * modules/posixver (Makefile.am): Augment lib_SOURCES.
9188
9189 2011-05-23  Bruno Haible  <bruno@clisp.org>
9190
9191         posixtm: Move AC_LIBOBJ invocations to module description.
9192         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
9193         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
9194
9195 2011-05-23  Bruno Haible  <bruno@clisp.org>
9196
9197         physmem: Move AC_LIBOBJ invocations to module description.
9198         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
9199         * modules/physmem (Makefile.am): Augment lib_SOURCES.
9200
9201 2011-05-23  Bruno Haible  <bruno@clisp.org>
9202
9203         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
9204         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
9205         invocation.
9206         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
9207
9208 2011-05-23  Bruno Haible  <bruno@clisp.org>
9209
9210         mpsort: Move AC_LIBOBJ invocations to module description.
9211         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
9212         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
9213
9214 2011-05-23  Bruno Haible  <bruno@clisp.org>
9215
9216         modechange: Move AC_LIBOBJ invocations to module description.
9217         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
9218         * modules/modechange (Makefile.am): Augment lib_SOURCES.
9219
9220 2011-05-23  Bruno Haible  <bruno@clisp.org>
9221
9222         mkdir-p: Move AC_LIBOBJ invocations to module description.
9223         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
9224         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
9225
9226 2011-05-23  Bruno Haible  <bruno@clisp.org>
9227
9228         mkancesdirs: Move AC_LIBOBJ invocations to module description.
9229         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
9230         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
9231
9232 2011-05-23  Bruno Haible  <bruno@clisp.org>
9233
9234         mgetgroups: Move AC_LIBOBJ invocations to module description.
9235         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
9236         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
9237
9238 2011-05-23  Bruno Haible  <bruno@clisp.org>
9239
9240         memxor: Move AC_LIBOBJ invocations to module description.
9241         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
9242         * modules/memxor (Makefile.am): Augment lib_SOURCES.
9243
9244 2011-05-23  Bruno Haible  <bruno@clisp.org>
9245
9246         memcoll: Move AC_LIBOBJ invocations to module description.
9247         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
9248         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
9249
9250 2011-05-23  Bruno Haible  <bruno@clisp.org>
9251
9252         memcasecmp: Move AC_LIBOBJ invocations to module description.
9253         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
9254         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
9255
9256 2011-05-23  Bruno Haible  <bruno@clisp.org>
9257
9258         crypto/md5: Move AC_LIBOBJ invocations to module description.
9259         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
9260         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
9261
9262 2011-05-23  Bruno Haible  <bruno@clisp.org>
9263
9264         crypto/md4: Move AC_LIBOBJ invocations to module description.
9265         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
9266         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
9267
9268 2011-05-23  Bruno Haible  <bruno@clisp.org>
9269
9270         crypto/md2: Move AC_LIBOBJ invocations to module description.
9271         * m4/md2.m4: Remove file.
9272         * modules/crypto/md2 (Files): Remove it.
9273         (configure.ac): Remove gl_MD2 call.
9274         (Makefile.am): Augment lib_SOURCES.
9275
9276 2011-05-23  Bruno Haible  <bruno@clisp.org>
9277
9278         long-options: Move AC_LIBOBJ invocations to module description.
9279         * m4/long-options.m4: Remove file.
9280         * modules/long-options (Files): Remove it.
9281         (configure.ac): Remove gl_LONG_OPTIONS call.
9282         (Makefile.am): Augment lib_SOURCES.
9283
9284 2011-05-23  Bruno Haible  <bruno@clisp.org>
9285
9286         i-ring: Move AC_LIBOBJ invocations to module description.
9287         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
9288         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
9289
9290 2011-05-23  Bruno Haible  <bruno@clisp.org>
9291
9292         idcache: Move AC_LIBOBJ invocations to module description.
9293         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
9294         * modules/idcache (Makefile.am): Augment lib_SOURCES.
9295
9296 2011-05-23  Bruno Haible  <bruno@clisp.org>
9297
9298         human: Move AC_LIBOBJ invocations to module description.
9299         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
9300         * modules/human (Makefile.am): Augment lib_SOURCES.
9301
9302 2011-05-23  Bruno Haible  <bruno@clisp.org>
9303
9304         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
9305         * m4/hmac-sha1.m4: Remove file.
9306         * modules/crypto/hmac-sha1 (Files): Remove it.
9307         (configure.ac): Remove gl_HMAC_SHA1 call.
9308         (Makefile.am): Augment lib_SOURCES.
9309
9310 2011-05-23  Bruno Haible  <bruno@clisp.org>
9311
9312         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
9313         * m4/hmac-md5.m4: Remove file.
9314         * modules/crypto/hmac-md5 (Files): Remove it.
9315         (configure.ac): Remove gl_HMAC_MD5 call.
9316         (Makefile.am): Augment lib_SOURCES.
9317
9318 2011-05-23  Bruno Haible  <bruno@clisp.org>
9319
9320         hash: Move AC_LIBOBJ invocations to module description.
9321         * m4/hash.m4: Remove file.
9322         * modules/hash (Files): Remove it.
9323         (configure.ac): Remove gl_HASH call.
9324         (Makefile.am): Augment lib_SOURCES.
9325
9326 2011-05-23  Bruno Haible  <bruno@clisp.org>
9327
9328         hard-locale: Move AC_LIBOBJ invocations to module description.
9329         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
9330         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
9331
9332 2011-05-23  Bruno Haible  <bruno@clisp.org>
9333
9334         getugroups: Move AC_LIBOBJ invocations to module description.
9335         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
9336         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
9337
9338 2011-05-23  Bruno Haible  <bruno@clisp.org>
9339
9340         gettime: Move AC_LIBOBJ invocations to module description.
9341         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
9342         * modules/gettime (Makefile.am): Augment lib_SOURCES.
9343
9344 2011-05-23  Bruno Haible  <bruno@clisp.org>
9345
9346         getndelim2: Move AC_LIBOBJ invocations to module description.
9347         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
9348         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
9349
9350 2011-05-23  Bruno Haible  <bruno@clisp.org>
9351
9352         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
9353         * m4/gc-pbkdf2-sha1.m4: Remove file.
9354         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
9355         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
9356         (Makefile.am): Augment lib_SOURCES.
9357
9358 2011-05-23  Bruno Haible  <bruno@clisp.org>
9359
9360         fts: Move AC_LIBOBJ invocations to module description.
9361         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
9362         * modules/fts (configure.ac): ... to here.
9363
9364 2011-05-23  Bruno Haible  <bruno@clisp.org>
9365
9366         file-type: Move AC_LIBOBJ invocations to module description.
9367         * m4/file-type.m4: Remove file.
9368         * modules/file-type (Files): Remove it.
9369         (configure.ac): Remove gl_FILE_TYPE call.
9370         (Makefile.am): Augment lib_SOURCES.
9371
9372 2011-05-23  Bruno Haible  <bruno@clisp.org>
9373
9374         filenamecat*: Respect rules for use of AC_LIBOBJ.
9375         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
9376         Remove AC_LIBOBJ invocation.
9377         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
9378         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
9379
9380 2011-05-23  Bruno Haible  <bruno@clisp.org>
9381
9382         filemode: Move AC_LIBOBJ invocations to module description.
9383         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
9384         * modules/filemode (Makefile.am): Augment lib_SOURCES.
9385
9386 2011-05-23  Bruno Haible  <bruno@clisp.org>
9387
9388         openat-safer: Move AC_LIBOBJ invocations to module description.
9389         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
9390         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
9391
9392 2011-05-23  Bruno Haible  <bruno@clisp.org>
9393
9394         fcntl-safer: Move AC_LIBOBJ invocations to module description.
9395         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
9396         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
9397
9398 2011-05-23  Bruno Haible  <bruno@clisp.org>
9399
9400         exclude: Move AC_LIBOBJ invocations to module description.
9401         * m4/exclude.m4: Remove file.
9402         * modules/exclude (Files): Remove it.
9403         (configure.ac): Remove gl_EXCLUDE call.
9404         (Makefile.am): Augment lib_SOURCES.
9405
9406 2011-05-23  Bruno Haible  <bruno@clisp.org>
9407
9408         dirname*: Respect rules for use of AC_LIBOBJ.
9409         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
9410         invocations.
9411         * modules/dirname (Makefile.am): Augment lib_SOURCES.
9412         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
9413
9414 2011-05-23  Bruno Haible  <bruno@clisp.org>
9415
9416         dirent-safer: Move AC_LIBOBJ invocations to module description.
9417         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
9418         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
9419
9420 2011-05-23  Bruno Haible  <bruno@clisp.org>
9421
9422         crypto/des: Move AC_LIBOBJ invocations to module description.
9423         * m4/des.m4: Remove file.
9424         * modules/crypto/des (Files): Remove it.
9425         (configure.ac): Remove gl_DES call.
9426         (Makefile.am): Augment lib_SOURCES.
9427
9428 2011-05-23  Bruno Haible  <bruno@clisp.org>
9429
9430         cycle-check: Move AC_LIBOBJ invocations to module description.
9431         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
9432         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
9433
9434 2011-05-23  Bruno Haible  <bruno@clisp.org>
9435
9436         c-strtold: Move AC_LIBOBJ invocations to module description.
9437         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
9438         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
9439
9440 2011-05-23  Bruno Haible  <bruno@clisp.org>
9441
9442         c-strtod: Move AC_LIBOBJ invocations to module description.
9443         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
9444         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
9445
9446 2011-05-23  Bruno Haible  <bruno@clisp.org>
9447
9448         crc: Move AC_LIBOBJ invocations to module description.
9449         * m4/crc.m4: Remove file.
9450         * modules/crc (Files): Remove it.
9451         (configure.ac): Remove gl_CRC call.
9452         (Makefile.am): Augment lib_SOURCES.
9453
9454 2011-05-23  Bruno Haible  <bruno@clisp.org>
9455
9456         close-stream: Move AC_LIBOBJ invocations to module description.
9457         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
9458         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
9459
9460 2011-05-23  Bruno Haible  <bruno@clisp.org>
9461
9462         closeout: Move AC_LIBOBJ invocations to module description.
9463         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
9464         * modules/closeout (Makefile.am): Augment lib_SOURCES.
9465
9466 2011-05-23  Bruno Haible  <bruno@clisp.org>
9467
9468         closein: Move AC_LIBOBJ invocations to module description.
9469         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
9470         * modules/closein (Makefile.am): Augment lib_SOURCES.
9471
9472 2011-05-23  Bruno Haible  <bruno@clisp.org>
9473
9474         cloexec: Move AC_LIBOBJ invocations to module description.
9475         * m4/cloexec.m4: Remove file.
9476         * modules/cloexec (Files): Remove it.
9477         (configure.ac): Remove gl_CLOEXEC call.
9478         (Makefile.am): Augment lib_SOURCES.
9479
9480 2011-05-23  Bruno Haible  <bruno@clisp.org>
9481
9482         check-version: Move AC_LIBOBJ invocations to module description.
9483         * m4/check-version.m4: Remove file.
9484         * modules/check-version (Files): Remove it.
9485         (configure.ac): Remove gl_CHECK_VERSION call.
9486         (Makefile.am): Augment lib_SOURCES.
9487
9488 2011-05-23  Bruno Haible  <bruno@clisp.org>
9489
9490         chdir-safer: Move AC_LIBOBJ invocations to module description.
9491         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
9492         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
9493
9494 2011-05-23  Bruno Haible  <bruno@clisp.org>
9495
9496         canonicalize: Move AC_LIBOBJ invocations to module description.
9497         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
9498         AC_LIBOBJ invocation.
9499         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
9500
9501 2011-05-23  Bruno Haible  <bruno@clisp.org>
9502
9503         canon-host: Move AC_LIBOBJ invocations to module description.
9504         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
9505         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
9506         instead of gl_CANON_HOST.
9507         (Makefile.am): Augment lib_SOURCES.
9508
9509 2011-05-23  Bruno Haible  <bruno@clisp.org>
9510
9511         backupfile: Move AC_LIBOBJ invocations to module description.
9512         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
9513         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
9514
9515 2011-05-23  Bruno Haible  <bruno@clisp.org>
9516
9517         argmatch: Move AC_LIBOBJ invocations to module description.
9518         * m4/argmatch.m4: Remove file.
9519         * modules/argmatch (Files): Remove it.
9520         (configure.ac): Remove gl_ARGMATCH call.
9521         (Makefile.am): Augment lib_SOURCES.
9522
9523 2011-05-23  Bruno Haible  <bruno@clisp.org>
9524
9525         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
9526         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
9527         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
9528
9529 2011-05-23  Bruno Haible  <bruno@clisp.org>
9530
9531         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
9532         * m4/arcfour.m4: Remove file.
9533         * modules/crypto/arcfour (Files): Remove it.
9534         (configure.ac): Remove gl_ARCFOUR call.
9535         (Makefile.am): Augment lib_SOURCES.
9536
9537 2011-05-22  Bruno Haible  <bruno@clisp.org>
9538
9539         write: Move AC_LIBOBJ invocations to module description.
9540         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
9541         * modules/write (configure.ac): ... to here.
9542
9543 2011-05-22  Bruno Haible  <bruno@clisp.org>
9544
9545         wmemset: Move AC_LIBOBJ invocations to module description.
9546         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
9547         here...
9548         * modules/wmemset (configure.ac): ... to here.
9549
9550 2011-05-22  Bruno Haible  <bruno@clisp.org>
9551
9552         wmemmove: Move AC_LIBOBJ invocations to module description.
9553         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
9554         here...
9555         * modules/wmemmove (configure.ac): ... to here.
9556
9557 2011-05-22  Bruno Haible  <bruno@clisp.org>
9558
9559         wmemcpy: Move AC_LIBOBJ invocations to module description.
9560         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
9561         here...
9562         * modules/wmemcpy (configure.ac): ... to here.
9563
9564 2011-05-22  Bruno Haible  <bruno@clisp.org>
9565
9566         wmemcmp: Move AC_LIBOBJ invocations to module description.
9567         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
9568         here...
9569         * modules/wmemcmp (configure.ac): ... to here.
9570
9571 2011-05-22  Bruno Haible  <bruno@clisp.org>
9572
9573         wmemchr: Move AC_LIBOBJ invocations to module description.
9574         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
9575         here...
9576         * modules/wmemchr (configure.ac): ... to here.
9577
9578 2011-05-22  Bruno Haible  <bruno@clisp.org>
9579
9580         wcswidth: Move AC_LIBOBJ invocations to module description.
9581         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
9582         here...
9583         * modules/wcswidth (configure.ac): ... to here.
9584
9585 2011-05-22  Bruno Haible  <bruno@clisp.org>
9586
9587         wcwidth: Respect rules for use of AC_LIBOBJ.
9588         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
9589         invocation from here...
9590         * modules/wcwidth (configure.ac): ... to here.
9591         (Depends-on): Update conditions.
9592
9593 2011-05-22  Bruno Haible  <bruno@clisp.org>
9594
9595         wctype: Move AC_LIBOBJ invocations to module description.
9596         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
9597         invocation from here...
9598         * modules/wctype (configure.ac): ... to here.
9599         (Depends-on): Update conditions.
9600
9601 2011-05-22  Bruno Haible  <bruno@clisp.org>
9602
9603         wctrans: Move AC_LIBOBJ invocations to module description.
9604         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
9605         invocation from here...
9606         * modules/wctrans (configure.ac): ... to here.
9607
9608 2011-05-22  Bruno Haible  <bruno@clisp.org>
9609
9610         wctomb: Move AC_LIBOBJ invocations to module description.
9611         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
9612         invocations from here...
9613         * modules/wctomb (configure.ac): ... to here.
9614
9615 2011-05-22  Bruno Haible  <bruno@clisp.org>
9616
9617         wctob: Move AC_LIBOBJ invocations to module description.
9618         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
9619         gl_PREREQ_WCTOB invocations from here...
9620         * modules/wctob (configure.ac): ... to here.
9621         (Depends-on): Update conditions.
9622
9623 2011-05-22  Bruno Haible  <bruno@clisp.org>
9624
9625         wcsxfrm: Move AC_LIBOBJ invocations to module description.
9626         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
9627         here...
9628         * modules/wcsxfrm (configure.ac): ... to here.
9629
9630 2011-05-22  Bruno Haible  <bruno@clisp.org>
9631
9632         wcstok: Move AC_LIBOBJ invocations to module description.
9633         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
9634         * modules/wcstok (configure.ac): ... to here.
9635
9636 2011-05-22  Bruno Haible  <bruno@clisp.org>
9637
9638         wcsstr: Move AC_LIBOBJ invocations to module description.
9639         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
9640         * modules/wcsstr (configure.ac): ... to here.
9641
9642 2011-05-22  Bruno Haible  <bruno@clisp.org>
9643
9644         wcsspn: Move AC_LIBOBJ invocations to module description.
9645         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
9646         * modules/wcsspn (configure.ac): ... to here.
9647
9648 2011-05-22  Bruno Haible  <bruno@clisp.org>
9649
9650         wcsrtombs: Move AC_LIBOBJ invocations to module description.
9651         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
9652         gl_PREREQ_WCSRTOMBS invocations from here...
9653         * modules/wcsrtombs (configure.ac): ... to here.
9654
9655 2011-05-22  Bruno Haible  <bruno@clisp.org>
9656
9657         wcsrchr: Move AC_LIBOBJ invocations to module description.
9658         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
9659         here...
9660         * modules/wcsrchr (configure.ac): ... to here.
9661
9662 2011-05-22  Bruno Haible  <bruno@clisp.org>
9663
9664         wcspbrk: Move AC_LIBOBJ invocations to module description.
9665         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
9666         here...
9667         * modules/wcspbrk (configure.ac): ... to here.
9668
9669 2011-05-22  Bruno Haible  <bruno@clisp.org>
9670
9671         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
9672         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
9673         gl_PREREQ_WCSNRTOMBS invocations from here...
9674         * modules/wcsnrtombs (configure.ac): ... to here.
9675
9676 2011-05-22  Bruno Haible  <bruno@clisp.org>
9677
9678         wcsnlen: Move AC_LIBOBJ invocations to module description.
9679         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
9680         here...
9681         * modules/wcsnlen (configure.ac): ... to here.
9682
9683 2011-05-22  Bruno Haible  <bruno@clisp.org>
9684
9685         wcsncpy: Move AC_LIBOBJ invocations to module description.
9686         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
9687         here...
9688         * modules/wcsncpy (configure.ac): ... to here.
9689
9690 2011-05-22  Bruno Haible  <bruno@clisp.org>
9691
9692         wcsncmp: Move AC_LIBOBJ invocations to module description.
9693         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
9694         here...
9695         * modules/wcsncmp (configure.ac): ... to here.
9696
9697 2011-05-22  Bruno Haible  <bruno@clisp.org>
9698
9699         wcsncat: Move AC_LIBOBJ invocations to module description.
9700         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
9701         here...
9702         * modules/wcsncat (configure.ac): ... to here.
9703
9704 2011-05-22  Bruno Haible  <bruno@clisp.org>
9705
9706         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
9707         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
9708         from here...
9709         * modules/wcsncasecmp (configure.ac): ... to here.
9710
9711 2011-05-22  Bruno Haible  <bruno@clisp.org>
9712
9713         wcslen: Move AC_LIBOBJ invocations to module description.
9714         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
9715         * modules/wcslen (configure.ac): ... to here.
9716
9717 2011-05-22  Bruno Haible  <bruno@clisp.org>
9718
9719         wcsdup: Move AC_LIBOBJ invocations to module description.
9720         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
9721         * modules/wcsdup (configure.ac): ... to here.
9722
9723 2011-05-22  Bruno Haible  <bruno@clisp.org>
9724
9725         wcscspn: Move AC_LIBOBJ invocations to module description.
9726         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
9727         here...
9728         * modules/wcscspn (configure.ac): ... to here.
9729
9730 2011-05-22  Bruno Haible  <bruno@clisp.org>
9731
9732         wcscpy: Move AC_LIBOBJ invocations to module description.
9733         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
9734         * modules/wcscpy (configure.ac): ... to here.
9735
9736 2011-05-22  Bruno Haible  <bruno@clisp.org>
9737
9738         wcscoll: Move AC_LIBOBJ invocations to module description.
9739         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
9740         here...
9741         * modules/wcscoll (configure.ac): ... to here.
9742
9743 2011-05-22  Bruno Haible  <bruno@clisp.org>
9744
9745         wcscmp: Move AC_LIBOBJ invocations to module description.
9746         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
9747         * modules/wcscmp (configure.ac): ... to here.
9748
9749 2011-05-22  Bruno Haible  <bruno@clisp.org>
9750
9751         wcschr: Move AC_LIBOBJ invocations to module description.
9752         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
9753         * modules/wcschr (configure.ac): ... to here.
9754
9755 2011-05-22  Bruno Haible  <bruno@clisp.org>
9756
9757         wcscat: Move AC_LIBOBJ invocations to module description.
9758         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
9759         * modules/wcscat (configure.ac): ... to here.
9760
9761 2011-05-22  Bruno Haible  <bruno@clisp.org>
9762
9763         wcscasecmp: Move AC_LIBOBJ invocations to module description.
9764         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
9765         here...
9766         * modules/wcscasecmp (configure.ac): ... to here.
9767
9768 2011-05-22  Bruno Haible  <bruno@clisp.org>
9769
9770         wcrtomb: Move AC_LIBOBJ invocations to module description.
9771         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
9772         invocations from here...
9773         * modules/wcrtomb (configure.ac): ... to here.
9774
9775 2011-05-22  Bruno Haible  <bruno@clisp.org>
9776
9777         wcpncpy: Move AC_LIBOBJ invocations to module description.
9778         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
9779         here...
9780         * modules/wcpncpy (configure.ac): ... to here.
9781
9782 2011-05-22  Bruno Haible  <bruno@clisp.org>
9783
9784         wcpcpy: Move AC_LIBOBJ invocations to module description.
9785         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
9786         * modules/wcpcpy (configure.ac): ... to here.
9787
9788 2011-05-22  Bruno Haible  <bruno@clisp.org>
9789
9790         waitpid: Move AC_LIBOBJ invocations to module description.
9791         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
9792         invocation from here...
9793         * modules/waitpid (configure.ac): ... to here.
9794
9795 2011-05-22  Bruno Haible  <bruno@clisp.org>
9796
9797         utimensat: Move AC_LIBOBJ invocations to module description.
9798         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
9799         here...
9800         * modules/utimensat (configure.ac): ... to here.
9801
9802 2011-05-22  Bruno Haible  <bruno@clisp.org>
9803
9804         usleep: Move AC_LIBOBJ invocations to module description.
9805         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
9806         here...
9807         * modules/usleep (configure.ac): ... to here.
9808
9809 2011-05-22  Bruno Haible  <bruno@clisp.org>
9810
9811         unlockpt: Move AC_LIBOBJ invocations to module description.
9812         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
9813         gl_PREREQ_UNLOCKPT invocations from here...
9814         * modules/unlockpt (configure.ac): ... to here.
9815
9816 2011-05-22  Bruno Haible  <bruno@clisp.org>
9817
9818         unlink: Respect rules for use of AC_LIBOBJ.
9819         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
9820         * modules/unlink (configure.ac): ... to here.
9821
9822 2011-05-22  Bruno Haible  <bruno@clisp.org>
9823
9824         uname: Move AC_LIBOBJ invocations to module description.
9825         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
9826         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
9827         here...
9828         * modules/uname (configure.ac): ... to here.
9829
9830 2011-05-22  Bruno Haible  <bruno@clisp.org>
9831
9832         ttyname_r: Move AC_LIBOBJ invocations to module description.
9833         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
9834         gl_PREREQ_TTYNAME_R invocations from here...
9835         * modules/ttyname_r (configure.ac): ... to here.
9836
9837 2011-05-22  Bruno Haible  <bruno@clisp.org>
9838
9839         tsearch: Move AC_LIBOBJ invocations to module description.
9840         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
9841         invocations from here...
9842         * modules/tsearch (configure.ac): ... to here.
9843
9844 2011-05-22  Bruno Haible  <bruno@clisp.org>
9845
9846         towctrans: Move AC_LIBOBJ invocations to module description.
9847         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
9848         AC_LIBOBJ invocation from here...
9849         * modules/towctrans (configure.ac): ... to here.
9850
9851 2011-05-22  Bruno Haible  <bruno@clisp.org>
9852
9853         tmpfile: Move AC_LIBOBJ invocations to module description.
9854         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
9855         invocations from here...
9856         * modules/tmpfile (configure.ac): ... to here.
9857
9858 2011-05-22  Bruno Haible  <bruno@clisp.org>
9859
9860         times: Move AC_LIBOBJ invocations to module description.
9861         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
9862         * modules/times (configure.ac): ... to here.
9863
9864 2011-05-22  Bruno Haible  <bruno@clisp.org>
9865
9866         time_r: Move AC_LIBOBJ invocations to module description.
9867         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
9868         invocations from here...
9869         * modules/time_r (configure.ac): ... to here.
9870
9871 2011-05-22  Bruno Haible  <bruno@clisp.org>
9872
9873         timegm: Move AC_LIBOBJ invocations to module description.
9874         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
9875         invocations from here...
9876         * modules/timegm (configure.ac): ... to here.
9877
9878 2011-05-22  Bruno Haible  <bruno@clisp.org>
9879
9880         tcgetsid: Move AC_LIBOBJ invocations to module description.
9881         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
9882         and gl_PREREQ_TCGETSID invocations from here...
9883         * modules/tcgetsid (configure.ac): ... to here.
9884         (Depends-on): Update conditions.
9885
9886 2011-05-22  Bruno Haible  <bruno@clisp.org>
9887
9888         symlinkat: Move AC_LIBOBJ invocations to module description.
9889         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
9890         here...
9891         * modules/symlinkat (configure.ac): ... to here.
9892
9893 2011-05-22  Bruno Haible  <bruno@clisp.org>
9894
9895         symlink: Move AC_LIBOBJ invocations to module description.
9896         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
9897         here...
9898         * modules/symlink (configure.ac): ... to here.
9899
9900 2011-05-22  Bruno Haible  <bruno@clisp.org>
9901
9902         strverscmp: Move AC_LIBOBJ invocations to module description.
9903         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
9904         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
9905         from here...
9906         * modules/strverscmp (configure.ac): ... to here.
9907
9908 2011-05-22  Bruno Haible  <bruno@clisp.org>
9909
9910         strtok_r: Move AC_LIBOBJ invocations to module description.
9911         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
9912         and gl_PREREQ_STRTOK_R invocations from here...
9913         * modules/strtok_r (configure.ac): ... to here.
9914         (Depends-on): Update conditions.
9915
9916 2011-05-22  Bruno Haible  <bruno@clisp.org>
9917
9918         strtoumax: Move AC_LIBOBJ invocations to module description.
9919         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
9920         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
9921         from here...
9922         * modules/strtoumax (configure.ac): ... to here.
9923
9924 2011-05-22  Bruno Haible  <bruno@clisp.org>
9925
9926         strtoimax: Move AC_LIBOBJ invocations to module description.
9927         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
9928         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
9929         from here...
9930         * modules/strtoimax (configure.ac): ... to here.
9931
9932 2011-05-22  Bruno Haible  <bruno@clisp.org>
9933
9934         strtoull: Move AC_LIBOBJ invocations to module description.
9935         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
9936         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
9937         from here...
9938         * modules/strtoull (configure.ac): ... to here.
9939
9940 2011-05-22  Bruno Haible  <bruno@clisp.org>
9941
9942         strtoll: Move AC_LIBOBJ invocations to module description.
9943         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
9944         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
9945         here...
9946         * modules/strtoll (configure.ac): ... to here.
9947
9948 2011-05-22  Bruno Haible  <bruno@clisp.org>
9949
9950         strtoul: Move AC_LIBOBJ invocations to module description.
9951         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
9952         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
9953         * modules/strtoul (configure.ac): ... to here.
9954
9955 2011-05-22  Bruno Haible  <bruno@clisp.org>
9956
9957         strtol: Move AC_LIBOBJ invocations to module description.
9958         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
9959         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
9960         * modules/strtol (configure.ac): ... to here.
9961
9962 2011-05-22  Bruno Haible  <bruno@clisp.org>
9963
9964         strtod: Move AC_LIBOBJ invocations to module description.
9965         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
9966         invocations from here...
9967         * modules/strtod (configure.ac): ... to here.
9968
9969 2011-05-22  Bruno Haible  <bruno@clisp.org>
9970
9971         strstr*: Move AC_LIBOBJ invocations to module description.
9972         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
9973         invocations from here...
9974         * modules/strstr-simple (configure.ac): ... to here.
9975         * modules/strstr (configure.ac): ... and here.
9976
9977 2011-05-22  Bruno Haible  <bruno@clisp.org>
9978
9979         strsignal: Move AC_LIBOBJ invocations to module description.
9980         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
9981         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
9982         * modules/strsignal (configure.ac): ... to here.
9983         (Depends-on): Update conditions.
9984
9985 2011-05-22  Bruno Haible  <bruno@clisp.org>
9986
9987         strsep: Move AC_LIBOBJ invocations to module description.
9988         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
9989         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
9990         here...
9991         * modules/strsep (configure.ac): ... to here.
9992
9993 2011-05-22  Bruno Haible  <bruno@clisp.org>
9994
9995         strptime: Move AC_LIBOBJ invocations to module description.
9996         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
9997         gl_PREREQ_STRPTIME invocations from here...
9998         * modules/strptime (configure.ac): ... to here.
9999
10000 2011-05-22  Bruno Haible  <bruno@clisp.org>
10001
10002         strpbrk: Move AC_LIBOBJ invocations to module description.
10003         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
10004         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
10005         here...
10006         * modules/strpbrk (configure.ac): ... to here.
10007
10008 2011-05-22  Bruno Haible  <bruno@clisp.org>
10009
10010         strnlen: Move AC_LIBOBJ invocations to module description.
10011         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
10012         invocations from here...
10013         * modules/strnlen (configure.ac): ... to here.
10014
10015 2011-05-22  Bruno Haible  <bruno@clisp.org>
10016
10017         strndup: Move AC_LIBOBJ invocations to module description.
10018         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
10019         invocations from here...
10020         * modules/strndup (configure.ac): ... to here.
10021         (Depends-on): Update conditions.
10022
10023 2011-05-22  Bruno Haible  <bruno@clisp.org>
10024
10025         strncat: Move AC_LIBOBJ invocations to module description.
10026         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
10027         invocations from here...
10028         * modules/strncat (configure.ac): ... to here.
10029
10030 2011-05-22  Bruno Haible  <bruno@clisp.org>
10031
10032         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
10033         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
10034         invocations from here...
10035         * modules/strdup (configure.ac): ... to here.
10036         * modules/strdup-posix (configure.ac): ... and here.
10037
10038 2011-05-22  Bruno Haible  <bruno@clisp.org>
10039
10040         strcspn: Move AC_LIBOBJ invocations to module description.
10041         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
10042         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
10043         here...
10044         * modules/strcspn (configure.ac): ... to here.
10045
10046 2011-05-22  Bruno Haible  <bruno@clisp.org>
10047
10048         strchrnul: Move AC_LIBOBJ invocations to module description.
10049         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
10050         gl_PREREQ_STRCHRNUL invocations from here...
10051         * modules/strchrnul (configure.ac): ... to here.
10052
10053 2011-05-22  Bruno Haible  <bruno@clisp.org>
10054
10055         strcasestr*: Move AC_LIBOBJ invocations to module description.
10056         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
10057         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
10058         * modules/strcasestr-simple (configure.ac): ... to here.
10059         * modules/strcasestr (configure.ac): ... and here.
10060
10061 2011-05-22  Bruno Haible  <bruno@clisp.org>
10062
10063         strcase: Move AC_LIBOBJ invocations to module description.
10064         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
10065         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
10066         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
10067         gl_PREREQ_STRNCASECMP invocations from here...
10068         * modules/strcase (configure.ac): ... to here.
10069
10070 2011-05-22  Bruno Haible  <bruno@clisp.org>
10071
10072         stpncpy: Move AC_LIBOBJ invocations to module description.
10073         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
10074         here...
10075         * modules/stpncpy (configure.ac): ... to here.
10076
10077 2011-05-22  Bruno Haible  <bruno@clisp.org>
10078
10079         stpcpy: Move AC_LIBOBJ invocations to module description.
10080         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
10081         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
10082         here...
10083         * modules/stpcpy (configure.ac): ... to here.
10084
10085 2011-05-21  Bruno Haible  <bruno@clisp.org>
10086
10087         stat: Move AC_LIBOBJ invocations to module description.
10088         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
10089         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
10090         here...
10091         * modules/stat (configure.ac): ... to here.
10092
10093 2011-05-21  Bruno Haible  <bruno@clisp.org>
10094
10095         sleep: Move AC_LIBOBJ invocations to module description.
10096         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
10097         * modules/sleep (configure.ac): ... to here.
10098
10099 2011-05-21  Bruno Haible  <bruno@clisp.org>
10100
10101         signbit: Move AC_LIBOBJ invocations to module description.
10102         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
10103         * modules/signbit (configure.ac): ... to here.
10104
10105 2011-05-21  Bruno Haible  <bruno@clisp.org>
10106
10107         sigprocmask: Move AC_LIBOBJ invocations to module description.
10108         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
10109         gl_PREREQ_SIGPROMASK invocations from here...
10110         * modules/sigprocmask (configure.ac): ... to here.
10111
10112 2011-05-21  Bruno Haible  <bruno@clisp.org>
10113
10114         sigaction: Move AC_LIBOBJ invocations to module description.
10115         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
10116         gl_PREREQ_SIGACTION invocations from here...
10117         * modules/sigaction (configure.ac): ... to here.
10118
10119 2011-05-21  Bruno Haible  <bruno@clisp.org>
10120
10121         sig2str: Move AC_LIBOBJ invocations to module description.
10122         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
10123         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
10124         here...
10125         * modules/sig2str (configure.ac): ... to here.
10126
10127 2011-05-21  Bruno Haible  <bruno@clisp.org>
10128
10129         setlocale: Move AC_LIBOBJ invocations to module description.
10130         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
10131         gl_PREREQ_SETLOCALE invocations from here...
10132         * modules/setlocale (configure.ac): ... to here.
10133
10134 2011-05-21  Bruno Haible  <bruno@clisp.org>
10135
10136         unsetenv: Move AC_LIBOBJ invocations to module description.
10137         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
10138         and gl_PREREQ_UNSETENV invocations from here...
10139         * modules/unsetenv (configure.ac): ... to here.
10140         (Depends-on): Update.
10141
10142 2011-05-21  Bruno Haible  <bruno@clisp.org>
10143
10144         setenv: Move AC_LIBOBJ invocations to module description.
10145         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
10146         here...
10147         * modules/setenv (configure.ac): ... to here.
10148
10149 2011-05-21  Bruno Haible  <bruno@clisp.org>
10150
10151         selinux-h: Move AC_LIBOBJ invocations to module description.
10152         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
10153         AC_LIBOBJ invocation from here...
10154         * modules/selinux-h (configure.ac): ... to here.
10155
10156 2011-05-21  Bruno Haible  <bruno@clisp.org>
10157
10158         select: Respect rules for use of AC_LIBOBJ.
10159         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
10160         here...
10161         * modules/select (configure.ac): ... to here.
10162
10163 2011-05-21  Bruno Haible  <bruno@clisp.org>
10164
10165         scandir: Move AC_LIBOBJ invocations to module description.
10166         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
10167         invocations from here...
10168         * modules/scandir (configure.ac): ... to here.
10169
10170 2011-05-21  Bruno Haible  <bruno@clisp.org>
10171
10172         rpmatch: Move AC_LIBOBJ invocations to module description.
10173         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
10174         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
10175         here...
10176         * modules/rpmatch (configure.ac): ... to here.
10177
10178 2011-05-21  Bruno Haible  <bruno@clisp.org>
10179
10180         rmdir: Respect rules for use of AC_LIBOBJ.
10181         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
10182         * modules/rmdir (configure.ac): ... to here.
10183
10184 2011-05-21  Bruno Haible  <bruno@clisp.org>
10185
10186         renameat: Move AC_LIBOBJ invocations to module description.
10187         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
10188         here...
10189         * modules/renameat (configure.ac): ... to here.
10190
10191 2011-05-21  Bruno Haible  <bruno@clisp.org>
10192
10193         rename: Respect rules for use of AC_LIBOBJ.
10194         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
10195         here...
10196         * modules/rename (configure.ac): ... to here.
10197
10198 2011-05-21  Bruno Haible  <bruno@clisp.org>
10199
10200         remove: Move AC_LIBOBJ invocations to module description.
10201         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
10202         here...
10203         * modules/remove (configure.ac): ... to here.
10204
10205 2011-05-21  Bruno Haible  <bruno@clisp.org>
10206
10207         relocatable-lib: Move AC_LIBOBJ invocations to module description.
10208         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
10209         macro.
10210         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
10211         * modules/relocatable-lib (configure.ac): ... to here.
10212         * modules/relocatable-prog-wrapper (configure.ac): Invoke
10213         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
10214
10215 2011-05-21  Bruno Haible  <bruno@clisp.org>
10216
10217         relocatable-prog: Move AC_LIBOBJ invocations to module description.
10218         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
10219         here...
10220         * modules/relocatable-prog (configure.ac): ... to here.
10221
10222 2011-05-21  Bruno Haible  <bruno@clisp.org>
10223
10224         regex: Move AC_LIBOBJ invocations to module description.
10225         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
10226         invocations from here...
10227         * modules/regex (configure.ac): ... to here.
10228
10229 2011-05-21  Bruno Haible  <bruno@clisp.org>
10230
10231         realloc-*: Move AC_LIBOBJ invocations to module description.
10232         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
10233         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
10234         AC_LIBOBJ invocations from here...
10235         * modules/realloc-gnu (configure.ac): ... to here.
10236         * modules/realloc-posix (configure.ac): ... and here.
10237
10238 2011-05-21  Bruno Haible  <bruno@clisp.org>
10239
10240         readutmp: Move AC_LIBOBJ invocations to module description.
10241         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
10242         * modules/readutmp (configure.ac): ... to here.
10243
10244 2011-05-21  Bruno Haible  <bruno@clisp.org>
10245
10246         readlinkat: Move AC_LIBOBJ invocations to module description.
10247         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
10248         here...
10249         * modules/readlinkat (configure.ac): ... to here.
10250
10251 2011-05-21  Bruno Haible  <bruno@clisp.org>
10252
10253         readlink: Move AC_LIBOBJ invocations to module description.
10254         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
10255         gl_PREREQ_READLINK invocations from here...
10256         * modules/readlink (configure.ac): ... to here.
10257
10258 2011-05-21  Bruno Haible  <bruno@clisp.org>
10259
10260         readline: Move AC_LIBOBJ invocations to module description.
10261         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
10262         gl_PREREQ_READLINE invocations from here...
10263         * modules/readline (configure.ac): ... to here.
10264
10265 2011-05-21  Bruno Haible  <bruno@clisp.org>
10266
10267         read: Move AC_LIBOBJ invocations to module description.
10268         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
10269         * modules/read (configure.ac): ... to here.
10270
10271 2011-05-21  Bruno Haible  <bruno@clisp.org>
10272
10273         rawmemchr: Move AC_LIBOBJ invocations to module description.
10274         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
10275         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
10276         from here...
10277         * modules/rawmemchr (configure.ac): ... to here.
10278
10279 2011-05-21  Bruno Haible  <bruno@clisp.org>
10280
10281         random_r: Move AC_LIBOBJ invocations to module description.
10282         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
10283         gl_PREREQ_RANDOM_R invocations from here...
10284         * modules/random_r (configure.ac): ... to here.
10285
10286 2011-05-21  Bruno Haible  <bruno@clisp.org>
10287
10288         pwrite: Move AC_LIBOBJ invocations to module description.
10289         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
10290         * modules/pwrite (configure.ac): ... to here.
10291
10292 2011-05-21  Bruno Haible  <bruno@clisp.org>
10293
10294         putenv: Move AC_LIBOBJ invocations to module description.
10295         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
10296         * modules/putenv (configure.ac): ... to here.
10297
10298 2011-05-21  Bruno Haible  <bruno@clisp.org>
10299
10300         login_tty: Move AC_LIBOBJ invocations to module description.
10301         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
10302         * modules/login_tty (configure.ac): ... to here.
10303
10304 2011-05-21  Bruno Haible  <bruno@clisp.org>
10305
10306         openpty: Move AC_LIBOBJ invocations to module description.
10307         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
10308         * modules/openpty (configure.ac): ... to here.
10309
10310 2011-05-21  Bruno Haible  <bruno@clisp.org>
10311
10312         forkpty: Move AC_LIBOBJ invocations to module description.
10313         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
10314         * modules/forkpty (configure.ac): ... to here.
10315
10316 2011-05-21  Bruno Haible  <bruno@clisp.org>
10317
10318         ptsname: Move AC_LIBOBJ invocations to module description.
10319         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
10320         invocations from here...
10321         * modules/ptsname (configure.ac): ... to here.
10322
10323 2011-05-21  Bruno Haible  <bruno@clisp.org>
10324
10325         pread: Move AC_LIBOBJ invocations to module description.
10326         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
10327         * modules/pread (configure.ac): ... to here.
10328
10329 2011-05-21  Bruno Haible  <bruno@clisp.org>
10330
10331         posix_spawn*: Move AC_LIBOBJ invocations to module description.
10332         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
10333         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
10334         * modules/posix_spawn (configure.ac): ... to here.
10335         * modules/posix_spawnp (configure.ac): ... and here.
10336
10337 2011-05-21  Bruno Haible  <bruno@clisp.org>
10338
10339         popen: Move AC_LIBOBJ invocations to module description.
10340         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
10341         invocations from here...
10342         * modules/popen (configure.ac): ... to here.
10343
10344 2011-05-21  Bruno Haible  <bruno@clisp.org>
10345
10346         poll: Move AC_LIBOBJ invocations to module description.
10347         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
10348         invocations from here...
10349         * modules/poll (configure.ac): ... to here.
10350
10351 2011-05-21  Bruno Haible  <bruno@clisp.org>
10352
10353         pipe-posix: Move AC_LIBOBJ invocations to module description.
10354         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
10355         * modules/pipe-posix (configure.ac): ... to here.
10356
10357 2011-05-21  Bruno Haible  <bruno@clisp.org>
10358
10359         openat: Respect rules for use of AC_LIBOBJ.
10360         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
10361         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
10362         * modules/openat (configure.ac): ... to here.
10363
10364 2011-05-21  Bruno Haible  <bruno@clisp.org>
10365
10366         obstack-printf*: Move AC_LIBOBJ invocations to module description.
10367         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
10368         invocation from here...
10369         * modules/obstack-printf (configure.ac): ... to here.
10370         * modules/obstack-printf-posix (configure.ac): ... and here.
10371
10372 2011-05-21  Bruno Haible  <bruno@clisp.org>
10373
10374         nl_langinfo: Move AC_LIBOBJ invocations to module description.
10375         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
10376         from here...
10377         * modules/nl_langinfo (configure.ac): ... to here.
10378
10379 2011-05-21  Bruno Haible  <bruno@clisp.org>
10380
10381         nanosleep: Move AC_LIBOBJ invocations to module description.
10382         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
10383         gl_PREREQ_NANOSLEEP invocations from here...
10384         * modules/nanosleep (configure.ac): ... to here.
10385
10386 2011-05-21  Bruno Haible  <bruno@clisp.org>
10387
10388         mountlist: Move AC_LIBOBJ invocations to module description.
10389         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
10390         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
10391         * modules/mountlist (configure.ac): ... to here.
10392
10393 2011-05-21  Bruno Haible  <bruno@clisp.org>
10394
10395         mktime: Respect rules for use of AC_LIBOBJ.
10396         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
10397         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
10398         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
10399         (gl_FUNC_MKTIME_INTERNAL): ... and here...
10400         * modules/mktime (configure.ac): ... to here.
10401         * modules/mktime-internal (configure.ac): ... and here.
10402         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
10403
10404 2011-05-21  Bruno Haible  <bruno@clisp.org>
10405
10406         mkstemps: Move AC_LIBOBJ invocations to module description.
10407         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
10408         here...
10409         * modules/mkstemps (configure.ac): ... to here.
10410
10411 2011-05-21  Bruno Haible  <bruno@clisp.org>
10412
10413         mkstemp: Move AC_LIBOBJ invocations to module description.
10414         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
10415         gl_PREREQ_MKSTEMP invocations from here...
10416         * modules/mkstemp (configure.ac): ... to here.
10417
10418 2011-05-21  Bruno Haible  <bruno@clisp.org>
10419
10420         mkostemps: Move AC_LIBOBJ invocations to module description.
10421         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
10422         here...
10423         * modules/mkostemps (configure.ac): ... to here.
10424
10425 2011-05-21  Bruno Haible  <bruno@clisp.org>
10426
10427         mkostemp: Move AC_LIBOBJ invocations to module description.
10428         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
10429         gl_PREREQ_MKOSTEMP invocations from here...
10430         * modules/mkostemp (configure.ac): ... to here.
10431
10432 2011-05-21  Bruno Haible  <bruno@clisp.org>
10433
10434         mknod: Move AC_LIBOBJ invocations to module description.
10435         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
10436         * modules/mknod (configure.ac): ... to here.
10437
10438 2011-05-21  Bruno Haible  <bruno@clisp.org>
10439
10440         mkfifoat: Move AC_LIBOBJ invocations to module description.
10441         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
10442         here...
10443         * modules/mkfifoat (configure.ac): ... to here.
10444
10445 2011-05-21  Bruno Haible  <bruno@clisp.org>
10446
10447         mkfifo: Respect rules for use of AC_LIBOBJ.
10448         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
10449         here...
10450         * modules/mkfifo (configure.ac): ... to here.
10451
10452 2011-05-21  Bruno Haible  <bruno@clisp.org>
10453
10454         mkdtemp: Move AC_LIBOBJ invocations to module description.
10455         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
10456         invocations from here...
10457         * modules/mkdtemp (configure.ac): ... to here.
10458
10459 2011-05-21  Bruno Haible  <bruno@clisp.org>
10460
10461         mkdir: Move AC_LIBOBJ invocations to module description.
10462         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
10463         * modules/mkdir (configure.ac): ... to here.
10464
10465 2011-05-21  Bruno Haible  <bruno@clisp.org>
10466
10467         memset: Move AC_LIBOBJ invocations to module description.
10468         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
10469         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
10470         here...
10471         * modules/memset (configure.ac): ... to here.
10472
10473 2011-05-21  Bruno Haible  <bruno@clisp.org>
10474
10475         memrchr: Move AC_LIBOBJ invocations to module description.
10476         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
10477         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
10478         here...
10479         * modules/memrchr (configure.ac): ... to here.
10480
10481 2011-05-21  Bruno Haible  <bruno@clisp.org>
10482
10483         mempcpy: Move AC_LIBOBJ invocations to module description.
10484         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
10485         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
10486         here...
10487         * modules/mempcpy (configure.ac): ... to here.
10488
10489 2011-05-21  Bruno Haible  <bruno@clisp.org>
10490
10491         memmove: Move AC_LIBOBJ invocations to module description.
10492         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
10493         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
10494         here...
10495         * modules/memmove (configure.ac): ... to here.
10496
10497 2011-05-21  Bruno Haible  <bruno@clisp.org>
10498
10499         memmem*: Move AC_LIBOBJ invocations to module description.
10500         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
10501         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
10502         here...
10503         (gl_FUNC_MEMMEM): ... and here...
10504         * modules/memmem-simple (configure.ac): ... to here.
10505         * modules/memmem (configure.ac): ... and here.
10506
10507 2011-05-21  Bruno Haible  <bruno@clisp.org>
10508
10509         memcpy: Move AC_LIBOBJ invocations to module description.
10510         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
10511         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
10512         here...
10513         * modules/memcpy (configure.ac): ... to here.
10514
10515 2011-05-21  Bruno Haible  <bruno@clisp.org>
10516
10517         memcmp: Simplify autoconf macro.
10518         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
10519         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
10520         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
10521
10522 2011-05-21  Bruno Haible  <bruno@clisp.org>
10523
10524         memcmp: Move AC_LIBOBJ invocations to module description.
10525         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
10526         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
10527         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
10528         * modules/memcmp (configure.ac): ... to here.
10529         (Depends-on): Update conditions.
10530
10531 2011-05-21  Bruno Haible  <bruno@clisp.org>
10532
10533         memchr: Respect rules for use of AC_LIBOBJ.
10534         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
10535         invocations from here...
10536         * modules/memchr (configure.ac): ... to here.
10537
10538 2011-05-21  Bruno Haible  <bruno@clisp.org>
10539
10540         mbtowc: Move AC_LIBOBJ invocations to module description.
10541         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
10542         invocations from here...
10543         * modules/mbtowc (configure.ac): ... to here.
10544
10545 2011-05-21  Bruno Haible  <bruno@clisp.org>
10546
10547         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
10548         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
10549         gl_PREREQ_MBSRTOWCS invocations from here...
10550         * modules/mbsrtowcs (configure.ac): ... to here.
10551
10552 2011-05-21  Bruno Haible  <bruno@clisp.org>
10553
10554         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
10555         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
10556         gl_PREREQ_MBSNRTOWCS invocations from here...
10557         * modules/mbsnrtowcs (configure.ac): ... to here.
10558
10559 2011-05-21  Bruno Haible  <bruno@clisp.org>
10560
10561         mbsinit: Move AC_LIBOBJ invocations to module description.
10562         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
10563         invocations from here...
10564         * modules/mbsinit (configure.ac): ... to here.
10565
10566 2011-05-21  Bruno Haible  <bruno@clisp.org>
10567
10568         mbrlen: Move AC_LIBOBJ invocations to module description.
10569         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
10570         invocations from here...
10571         * modules/mbrlen (configure.ac): ... to here.
10572
10573 2011-05-21  Bruno Haible  <bruno@clisp.org>
10574
10575         mbrtowc: Respect rules for use of AC_LIBOBJ.
10576         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
10577         invocations from here...
10578         * modules/mbrtowc (configure.ac): ... to here.
10579
10580 2011-05-21  Bruno Haible  <bruno@clisp.org>
10581
10582         malloc-*: Move AC_LIBOBJ invocations to module description.
10583         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
10584         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
10585         AC_LIBOBJ invocations from here...
10586         * modules/malloc-gnu (configure.ac): ... to here.
10587         * modules/malloc-posix (configure.ac): ... and here.
10588
10589 2011-05-21  Bruno Haible  <bruno@clisp.org>
10590
10591         lstat, openat: Respect rules for use of AC_LIBOBJ.
10592         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
10593         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
10594         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
10595         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
10596         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
10597         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
10598         here.
10599         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
10600
10601 2011-05-21  Bruno Haible  <bruno@clisp.org>
10602
10603         lseek: Move AC_LIBOBJ invocations to module description.
10604         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
10605         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
10606         * modules/lseek (configure.ac): ... to here.
10607
10608 2011-05-21  Bruno Haible  <bruno@clisp.org>
10609
10610         linkat: Move AC_LIBOBJ invocations to module description.
10611         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
10612         here...
10613         * modules/linkat (configure.ac): ... to here.
10614
10615 2011-05-21  Bruno Haible  <bruno@clisp.org>
10616
10617         link: Respect rules for use of AC_LIBOBJ.
10618         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
10619         * modules/link (configure.ac): ... to here.
10620
10621 2011-05-21  Bruno Haible  <bruno@clisp.org>
10622
10623         lchown: Move AC_LIBOBJ invocations to module description.
10624         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
10625         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
10626         * modules/lchown (configure.ac): ... to here.
10627
10628 2011-05-21  Bruno Haible  <bruno@clisp.org>
10629
10630         iswctype: Move AC_LIBOBJ invocations to module description.
10631         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
10632         here...
10633         * modules/iswctype (configure.ac): ... to here.
10634
10635 2011-05-21  Bruno Haible  <bruno@clisp.org>
10636
10637         iswblank: Move AC_LIBOBJ invocations to module description.
10638         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
10639         here...
10640         * modules/iswblank (configure.ac): ... to here.
10641
10642 2011-05-21  Bruno Haible  <bruno@clisp.org>
10643
10644         atanl: Move AC_LIBOBJ invocations to module description.
10645         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
10646         * modules/atanl (configure.ac): ... to here.
10647
10648 2011-05-21  Bruno Haible  <bruno@clisp.org>
10649
10650         acosl: Move AC_LIBOBJ invocations to module description.
10651         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
10652         * modules/acosl (configure.ac): ... to here.
10653
10654 2011-05-21  Bruno Haible  <bruno@clisp.org>
10655
10656         asinl: Respect rules for use of AC_LIBOBJ.
10657         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
10658         * modules/asinl (configure.ac): ... to here.
10659
10660 2011-05-21  Bruno Haible  <bruno@clisp.org>
10661
10662         tanl: Move AC_LIBOBJ invocations to module description.
10663         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
10664         * modules/tanl (configure.ac): ... to here.
10665
10666 2011-05-21  Bruno Haible  <bruno@clisp.org>
10667
10668         cosl: Move AC_LIBOBJ invocations to module description.
10669         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
10670         * modules/cosl (configure.ac): ... to here.
10671
10672 2011-05-21  Bruno Haible  <bruno@clisp.org>
10673
10674         sinl: Move AC_LIBOBJ invocations to module description.
10675         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
10676         * modules/sinl (configure.ac): ... to here.
10677
10678 2011-05-21  Bruno Haible  <bruno@clisp.org>
10679
10680         logl: Move AC_LIBOBJ invocations to module description.
10681         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
10682         * modules/logl (configure.ac): ... to here.
10683
10684 2011-05-21  Bruno Haible  <bruno@clisp.org>
10685
10686         expl: Move AC_LIBOBJ invocations to module description.
10687         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
10688         * modules/expl (configure.ac): ... to here.
10689
10690 2011-05-21  Bruno Haible  <bruno@clisp.org>
10691
10692         roundl: Move AC_LIBOBJ invocations to module description.
10693         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
10694         * modules/roundl (configure.ac): ... to here.
10695
10696 2011-05-21  Bruno Haible  <bruno@clisp.org>
10697
10698         round: Move AC_LIBOBJ invocations to module description.
10699         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
10700         * modules/round (configure.ac): ... to here.
10701
10702 2011-05-21  Bruno Haible  <bruno@clisp.org>
10703
10704         roundf: Move AC_LIBOBJ invocations to module description.
10705         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
10706         * modules/roundf (configure.ac): ... to here.
10707
10708 2011-05-21  Bruno Haible  <bruno@clisp.org>
10709
10710         truncl: Move AC_LIBOBJ invocations to module description.
10711         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
10712         * modules/truncl (configure.ac): ... to here.
10713
10714 2011-05-21  Bruno Haible  <bruno@clisp.org>
10715
10716         trunc: Move AC_LIBOBJ invocations to module description.
10717         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
10718         * modules/trunc (configure.ac): ... to here.
10719
10720 2011-05-21  Bruno Haible  <bruno@clisp.org>
10721
10722         truncf: Move AC_LIBOBJ invocations to module description.
10723         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
10724         * modules/truncf (configure.ac): ... to here.
10725
10726 2011-05-21  Bruno Haible  <bruno@clisp.org>
10727
10728         ceill: Move AC_LIBOBJ invocations to module description.
10729         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
10730         * modules/ceill (configure.ac): ... to here.
10731
10732 2011-05-21  Bruno Haible  <bruno@clisp.org>
10733
10734         ceil: Move AC_LIBOBJ invocations to module description.
10735         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
10736         * modules/ceil (configure.ac): ... to here.
10737
10738 2011-05-21  Bruno Haible  <bruno@clisp.org>
10739
10740         ceilf: Move AC_LIBOBJ invocations to module description.
10741         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
10742         * modules/ceilf (configure.ac): ... to here.
10743
10744 2011-05-21  Bruno Haible  <bruno@clisp.org>
10745
10746         floorl: Respect rules for use of AC_LIBOBJ.
10747         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
10748         * modules/floorl (configure.ac): ... to here.
10749
10750 2011-05-21  Bruno Haible  <bruno@clisp.org>
10751
10752         floor: Respect rules for use of AC_LIBOBJ.
10753         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
10754         * modules/floor (configure.ac): ... to here.
10755
10756 2011-05-21  Bruno Haible  <bruno@clisp.org>
10757
10758         floorf: Move AC_LIBOBJ invocations to module description.
10759         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
10760         * modules/floorf (configure.ac): ... to here.
10761
10762 2011-05-20  Bruno Haible  <bruno@clisp.org>
10763
10764         sqrtl: Respect rules for use of AC_LIBOBJ.
10765         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
10766         * modules/sqrtl (configure.ac): ... to here.
10767
10768 2011-05-20  Bruno Haible  <bruno@clisp.org>
10769
10770         ldexpl: Respect rules for use of AC_LIBOBJ.
10771         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
10772         * modules/ldexpl (configure.ac): ... to here.
10773
10774 2011-05-20  Bruno Haible  <bruno@clisp.org>
10775
10776         frexpl*: Respect rules for use of AC_LIBOBJ.
10777         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
10778         invocation from here...
10779         * modules/frexpl (configure.ac): ... to here.
10780         * modules/frexpl-nolibm (configure.ac): ... and here.
10781
10782 2011-05-20  Bruno Haible  <bruno@clisp.org>
10783
10784         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
10785         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
10786         invocation from here...
10787         * modules/frexp (configure.ac): ... to here.
10788         * modules/frexp-nolibm (configure.ac): ... and here.
10789
10790 2011-05-20  Bruno Haible  <bruno@clisp.org>
10791
10792         isnan: Respect rules for use of AC_LIBOBJ.
10793         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
10794         invocations here.
10795         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
10796         REPLACE_ISNAN.
10797         * modules/isnand (configure.ac): Likewise.
10798         * modules/isnanl (configure.ac): Likewise.
10799
10800 2011-05-20  Bruno Haible  <bruno@clisp.org>
10801
10802         isnanl*: Respect rules for use of AC_LIBOBJ.
10803         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
10804         invocation from here...
10805         * modules/isnanl (configure.ac): ... to here.
10806         * modules/isnanl-nolibm (configure.ac): ... and here.
10807
10808 2011-05-20  Bruno Haible  <bruno@clisp.org>
10809
10810         isnand*: Move AC_LIBOBJ invocations to module description.
10811         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
10812         invocation from here...
10813         * modules/isnand (configure.ac): ... to here.
10814         * modules/isnand-nolibm (configure.ac): ... and here.
10815
10816 2011-05-20  Bruno Haible  <bruno@clisp.org>
10817
10818         isnanf*: Move AC_LIBOBJ invocations to module description.
10819         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
10820         invocation from here...
10821         * modules/isnanf (configure.ac): ... to here.
10822         * modules/isnanf-nolibm (configure.ac): ... and here.
10823
10824 2011-05-20  Bruno Haible  <bruno@clisp.org>
10825
10826         isnan*: Separate the AC_LIBOBJ invocations.
10827         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
10828         AC_LIBOBJ invocation.
10829         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
10830         here.
10831         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
10832         AC_LIBOBJ invocation.
10833         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
10834         here.
10835         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
10836         AC_LIBOBJ invocation.
10837         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
10838         here.
10839         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
10840
10841 2011-05-08  Bruno Haible  <bruno@clisp.org>
10842
10843         isinf: Move AC_LIBOBJ invocations to module description.
10844         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
10845         * modules/isinf (configure.ac): ... to here.
10846
10847 2011-05-08  Bruno Haible  <bruno@clisp.org>
10848
10849         isfinite: Move AC_LIBOBJ invocations to module description.
10850         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
10851         * modules/isfinite (configure.ac): ... to here.
10852
10853 2011-05-08  Bruno Haible  <bruno@clisp.org>
10854
10855         isblank: Move AC_LIBOBJ invocations to module description.
10856         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
10857         here...
10858         * modules/isblank (configure.ac): ... to here.
10859
10860 2011-05-08  Bruno Haible  <bruno@clisp.org>
10861
10862         isapipe: Move AC_LIBOBJ invocations to module description.
10863         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
10864         gl_PREREQ_ISAPIPE invocations from here...
10865         * modules/isapipe (configure.ac): ... to here.
10866         (Depends-on): Update condition.
10867
10868 2011-05-08  Bruno Haible  <bruno@clisp.org>
10869
10870         ioctl: Move AC_LIBOBJ invocations to module description.
10871         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
10872         invocations from here...
10873         * modules/ioctl (configure.ac): ... to here.
10874         (Depends-on): Update condition.
10875
10876 2011-05-08  Bruno Haible  <bruno@clisp.org>
10877
10878         imaxdiv: Move AC_LIBOBJ invocations to module description.
10879         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
10880         invocations from here...
10881         * modules/imaxdiv (configure.ac): ... to here.
10882
10883 2011-05-08  Bruno Haible  <bruno@clisp.org>
10884
10885         imaxabs: Move AC_LIBOBJ invocations to module description.
10886         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
10887         invocations from here...
10888         * modules/imaxabs (configure.ac): ... to here.
10889
10890 2011-05-08  Bruno Haible  <bruno@clisp.org>
10891
10892         getaddrinfo: Move AC_LIBOBJ invocations to module description.
10893         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
10894         AC_LIBOBJ invocations from here...
10895         * modules/getaddrinfo (configure.ac): ... to here.
10896         (Depends-on): Add conditions.
10897
10898 2011-05-08  Bruno Haible  <bruno@clisp.org>
10899
10900         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
10901         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
10902         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
10903         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
10904         (gl_PREREQ_INET_PTON): ... from here.
10905         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
10906         gl_PREREQ_INET_PTON here.
10907         (Depends-on): Update condition.
10908
10909 2011-05-08  Bruno Haible  <bruno@clisp.org>
10910
10911         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
10912         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
10913         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
10914         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
10915         (gl_PREREQ_INET_NTOP): ... from here.
10916         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
10917         gl_PREREQ_INET_NTOP here.
10918         (Depends-on): Update condition.
10919
10920 2011-05-08  Bruno Haible  <bruno@clisp.org>
10921
10922         iconv_open: Move AC_LIBOBJ invocations to module description.
10923         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
10924         AC_LIBOBJ invocations from here...
10925         * modules/iconv_open (configure.ac): ... to here.
10926
10927 2011-05-08  Bruno Haible  <bruno@clisp.org>
10928
10929         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
10930         If module 'iconv_open' is among the main modules and module
10931         'iconv_open-utf' is among the tests dependencies, then
10932         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
10933         return the special iconv_t values. Therefore iconv() and iconv_close()
10934         must support these special iconv_t values, already in lib, not only in
10935         tests.
10936         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
10937         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
10938         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
10939         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
10940         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
10941         (Depends-on): Add the dependencies of iconv_open-utf.
10942         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
10943         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
10944         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
10945
10946 2011-05-08  Bruno Haible  <bruno@clisp.org>
10947
10948         group-member: Move AC_LIBOBJ invocations to module description.
10949         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
10950         gl_PREREQ_GROUP_MEMBER invocations from here...
10951         * modules/group-member (configure.ac): ... to here.
10952
10953 2011-05-08  Bruno Haible  <bruno@clisp.org>
10954
10955         grantpt: Move AC_LIBOBJ invocations to module description.
10956         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
10957         invocations from here...
10958         * modules/grantpt (configure.ac): ... to here.
10959
10960 2011-05-08  Bruno Haible  <bruno@clisp.org>
10961
10962         glob: Move AC_LIBOBJ invocations to module description.
10963         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
10964         from here...
10965         * modules/glob (configure.ac): ... to here.
10966
10967 2011-05-08  Bruno Haible  <bruno@clisp.org>
10968
10969         getusershell: Move AC_LIBOBJ invocations to module description.
10970         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
10971         Move AC_LIBOBJ invocation from here...
10972         * modules/getusershell (configure.ac): ... to here.
10973         (Depends-on): Update condition.
10974
10975 2011-05-08  Bruno Haible  <bruno@clisp.org>
10976
10977         gettimeofday: Move AC_LIBOBJ invocations to module description.
10978         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
10979         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
10980         gl_PREREQ_GETTIMEOFDAY invocations from here...
10981         * modules/gettimeofday (configure.ac): ... to here.
10982
10983 2011-05-08  Bruno Haible  <bruno@clisp.org>
10984
10985         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
10986         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
10987         just gl_FUNC_TZSET.
10988         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
10989         (gl_FUNC_TZSET_CLOBBER): Remove actions.
10990         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
10991         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
10992
10993 2011-05-08  Bruno Haible  <bruno@clisp.org>
10994
10995         getsubopt: Move AC_LIBOBJ invocations to module description.
10996         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
10997         gl_PREREQ_GETSUBOPT invocations from here...
10998         * modules/getsubopt (configure.ac): ... to here.
10999
11000 2011-05-08  Bruno Haible  <bruno@clisp.org>
11001
11002         getpass-gnu: Move AC_LIBOBJ invocations to module description.
11003         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
11004         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
11005         * modules/getpass-gnu (configure.ac): ... to here.
11006
11007 2011-05-08  Bruno Haible  <bruno@clisp.org>
11008
11009         getpass: Move AC_LIBOBJ invocations to module description.
11010         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
11011         gl_PREREQ_GETPASS invocations from here...
11012         * modules/getpass (configure.ac): ... to here.
11013
11014 2011-05-08  Bruno Haible  <bruno@clisp.org>
11015
11016         getpagesize: Move AC_LIBOBJ invocations to module description.
11017         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
11018         from here...
11019         * modules/getpagesize (configure.ac): ... to here.
11020
11021 2011-05-08  Bruno Haible  <bruno@clisp.org>
11022
11023         getopt: Move AC_LIBOBJ invocations to module description.
11024         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
11025         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
11026         invocations from here...
11027         * modules/getopt-gnu (configure.ac): ... to here.
11028         * modules/getopt-posix (configure.ac): ... and here.
11029         (Depends-on): Update condition.
11030
11031 2011-05-08  Bruno Haible  <bruno@clisp.org>
11032
11033         getopt, argp: Respect rules for use of AC_LIBOBJ.
11034         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
11035         (gl_REPLACE_GETOPT_ALWAYS): New macro.
11036         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
11037         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
11038
11039 2011-05-08  Bruno Haible  <bruno@clisp.org>
11040
11041         getlogin_r: Move AC_LIBOBJ invocations to module description.
11042         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
11043         gl_PREREQ_GETLOGIN_R invocations from here...
11044         * modules/getlogin_r (configure.ac): ... to here.
11045
11046 2011-05-08  Bruno Haible  <bruno@clisp.org>
11047
11048         getlogin: Move AC_LIBOBJ invocations to module description.
11049         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
11050         here...
11051         * modules/getlogin (configure.ac): ... to here.
11052
11053 2011-05-08  Bruno Haible  <bruno@clisp.org>
11054
11055         getloadavg: Move AC_LIBOBJ invocations to module description.
11056         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
11057         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
11058         * modules/getloadavg (configure.ac): ... to here.
11059
11060 2011-05-08  Bruno Haible  <bruno@clisp.org>
11061
11062         gethrxtime: Move AC_LIBOBJ invocations to module description.
11063         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
11064         LIB_GETHRXTIME from here...
11065         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
11066         invocations from here...
11067         * modules/gethrxtime (configure.ac): ... to here.
11068
11069 2011-05-08  Bruno Haible  <bruno@clisp.org>
11070
11071         gethostname: Move AC_LIBOBJ invocations to module description.
11072         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
11073         gl_PREREQ_GETHOSTNAME invocations from here...
11074         * modules/gethostname (configure.ac): ... to here.
11075
11076 2011-05-08  Bruno Haible  <bruno@clisp.org>
11077
11078         getgroups: Move AC_LIBOBJ invocations to module description.
11079         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
11080         here...
11081         * modules/getgroups (configure.ac): ... to here.
11082
11083 2011-05-08  Bruno Haible  <bruno@clisp.org>
11084
11085         getdtablesize: Move AC_LIBOBJ invocations to module description.
11086         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
11087         invocation from here...
11088         * modules/getdtablesize (configure.ac): ... to here.
11089
11090 2011-05-08  Bruno Haible  <bruno@clisp.org>
11091
11092         getdomainname: Move AC_LIBOBJ invocations to module description.
11093         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
11094         gl_PREREQ_GETDOMAINNAME invocations from here...
11095         * modules/getdomainname (configure.ac): ... to here.
11096
11097 2011-05-08  Bruno Haible  <bruno@clisp.org>
11098
11099         getline: Move AC_LIBOBJ invocations to module description.
11100         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
11101         invocations from here...
11102         * modules/getline (configure.ac): ... to here.
11103
11104 2011-05-08  Bruno Haible  <bruno@clisp.org>
11105
11106         getline: Simplify.
11107         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
11108         It's already handled through the module dependency.
11109
11110 2011-05-08  Bruno Haible  <bruno@clisp.org>
11111
11112         getdelim: Move AC_LIBOBJ invocations to module description.
11113         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
11114         and gl_PREREQ_GETDELIM invocations from here...
11115         * modules/getdelim (configure.ac): ... to here.
11116         (Depends-on): Fix condition.
11117
11118 2011-05-08  Bruno Haible  <bruno@clisp.org>
11119
11120         getcwd: Move AC_LIBOBJ invocations to module description.
11121         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
11122         invocations from here...
11123         * modules/getcwd (configure.ac): ... to here.
11124
11125 2011-05-08  Bruno Haible  <bruno@clisp.org>
11126
11127         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
11128         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
11129         here...
11130         * modules/getcwd-lgpl (configure.ac): ... to here.
11131
11132 2011-05-07  Bruno Haible  <bruno@clisp.org>
11133
11134         crypto/gc: Move AC_LIBOBJ invocations to module description.
11135         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
11136         * modules/crypto/gc (configure.ac): ... to here.
11137
11138 2011-05-07  Bruno Haible  <bruno@clisp.org>
11139
11140         fwriting: Move AC_LIBOBJ invocations to module description.
11141         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
11142         here...
11143         * modules/fwriting (configure.ac): ... to here.
11144
11145 2011-05-07  Bruno Haible  <bruno@clisp.org>
11146
11147         fwritable: Move AC_LIBOBJ invocations to module description.
11148         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
11149         here...
11150         * modules/fwritable (configure.ac): ... to here.
11151
11152 2011-05-07  Bruno Haible  <bruno@clisp.org>
11153
11154         futimens: Move AC_LIBOBJ invocations to module description.
11155         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
11156         here...
11157         * modules/futimens (configure.ac): ... to here.
11158
11159 2011-05-07  Bruno Haible  <bruno@clisp.org>
11160
11161         ftruncate: Move AC_LIBOBJ invocations to module description.
11162         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
11163         gl_PREREQ_FTRUNCATE invocations from here...
11164         * modules/ftruncate (configure.ac): ... to here.
11165
11166 2011-05-07  Bruno Haible  <bruno@clisp.org>
11167
11168         fsync: Move AC_LIBOBJ invocations to module description.
11169         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
11170         invocations from here...
11171         * modules/fsync (configure.ac): ... to here.
11172
11173 2011-05-07  Bruno Haible  <bruno@clisp.org>
11174
11175         fsusage: Move AC_LIBOBJ invocations to module description.
11176         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
11177         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
11178         * modules/fsusage (configure.ac): ... to here.
11179
11180 2011-05-07  Bruno Haible  <bruno@clisp.org>
11181
11182         freopen: Move AC_LIBOBJ invocations to module description.
11183         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
11184         invocations from here...
11185         * modules/freopen (configure.ac): ... to here.
11186
11187 2011-05-07  Bruno Haible  <bruno@clisp.org>
11188
11189         free: Move AC_LIBOBJ invocations to module description.
11190         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
11191         invocations from here...
11192         * modules/free (configure.ac): ... to here.
11193
11194 2011-05-07  Bruno Haible  <bruno@clisp.org>
11195
11196         freadable: Move AC_LIBOBJ invocations to module description.
11197         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
11198         here...
11199         * modules/freadable (configure.ac): ... to here.
11200
11201 2011-05-07  Bruno Haible  <bruno@clisp.org>
11202
11203         fpurge: Move AC_LIBOBJ invocations to module description.
11204         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
11205         invocations from here...
11206         * modules/fpurge (configure.ac): ... to here.
11207
11208 2011-05-07  Bruno Haible  <bruno@clisp.org>
11209
11210         fpending: Move AC_LIBOBJ invocations to module description.
11211         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
11212         gl_FUNC_FPENDING.
11213         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
11214         invocations from here...
11215         * modules/fpending (configure.ac): ... to here.
11216
11217 2011-05-07  Bruno Haible  <bruno@clisp.org>
11218
11219         fopen: Move AC_LIBOBJ invocations to module description.
11220         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
11221         invocations from here...
11222         * modules/fopen (configure.ac): ... to here.
11223
11224 2011-05-07  Bruno Haible  <bruno@clisp.org>
11225
11226         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
11227         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
11228         gl_FUNC_FNMATCH_POSIX.
11229         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
11230         invocations from here...
11231         * modules/fnmatch (configure.ac): ... to here.
11232         * modules/fnmatch-gnu (configure.ac): ... and here.
11233
11234 2011-05-07  Bruno Haible  <bruno@clisp.org>
11235
11236         flock: Move AC_LIBOBJ invocations to module description.
11237         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
11238         invocations from here...
11239         * modules/flock (configure.ac): ... to here.
11240
11241 2011-05-07  Bruno Haible  <bruno@clisp.org>
11242
11243         fileblocks: Move AC_LIBOBJ invocations to module description.
11244         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
11245         gl_PREREQ_FILEBLOCKS invocations from here...
11246         * modules/fileblocks (configure.ac): ... to here.
11247
11248 2011-05-06  Bruno Haible  <bruno@clisp.org>
11249
11250         fflush: Move AC_LIBOBJ invocations to module description.
11251         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
11252         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
11253         invocations from here...
11254         * modules/fflush (configure.ac): ... to here.
11255
11256 2011-05-06  Bruno Haible  <bruno@clisp.org>
11257
11258         fdopendir: Move AC_LIBOBJ invocations to module description.
11259         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
11260         here...
11261         * modules/fdopendir (configure.ac): ... to here.
11262         (Depends-on): Improve conditions.
11263
11264 2011-05-06  Bruno Haible  <bruno@clisp.org>
11265
11266         _Exit: Move AC_LIBOBJ invocations to module description.
11267         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
11268         invocations from here...
11269         * modules/_Exit (configure.ac): ... to here.
11270
11271 2011-05-21  Bruno Haible  <bruno@clisp.org>
11272
11273         euidaccess: Respect rules for use of AC_LIBOBJ.
11274         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
11275         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
11276         from here...
11277         * modules/euidaccess (configure.ac): ... to here.
11278
11279 2011-05-06  Bruno Haible  <bruno@clisp.org>
11280
11281         error: Move AC_LIBOBJ invocations to module description.
11282         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
11283         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
11284         invocations from here...
11285         * modules/error (configure.ac): ... to here.
11286
11287 2011-05-06  Bruno Haible  <bruno@clisp.org>
11288
11289         duplocale: Move AC_LIBOBJ invocations to module description.
11290         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
11291         gl_PREREQ_DUPLOCALE invocations from here...
11292         * modules/duplocale (configure.ac): ... to here.
11293
11294 2011-05-05  Bruno Haible  <bruno@clisp.org>
11295
11296         dirfd: Move AC_LIBOBJ invocations to module description.
11297         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
11298         gl_FUNC_DIRFD.
11299         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
11300         here...
11301         * modules/dirfd (configure.ac): ... to here.
11302         (Depends-on): Fix condition.
11303
11304 2011-05-05  Bruno Haible  <bruno@clisp.org>
11305
11306         chown: Respect rules for use of AC_LIBOBJ.
11307         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
11308         * modules/chown (configure.ac): ... to here.
11309
11310 2011-05-05  Bruno Haible  <bruno@clisp.org>
11311
11312         chdir-long: Move AC_LIBOBJ invocations to module description.
11313         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
11314         gl_PREREQ_CHDIR_LONG invocations from here...
11315         * modules/chdir-long (configure.ac): ... to here.
11316
11317 2011-05-05  Bruno Haible  <bruno@clisp.org>
11318
11319         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
11320         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
11321         from here...
11322         * modules/canonicalize-lgpl (configure.ac): ... to here.
11323
11324 2011-05-05  Bruno Haible  <bruno@clisp.org>
11325
11326         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
11327         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
11328         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
11329         REPLACE_CALLOC.
11330         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
11331         * modules/calloc-gnu (configure.ac): Likewise.
11332
11333 2011-05-05  Bruno Haible  <bruno@clisp.org>
11334
11335         btowc: Move AC_LIBOBJ invocations to module description.
11336         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
11337         invocations from here...
11338         * modules/btowc (configure.ac): ... to here.
11339
11340 2011-05-21  Bruno Haible  <bruno@clisp.org>
11341
11342         atexit: Move AC_LIBOBJ invocations to module description.
11343         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
11344         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
11345         here...
11346         * modules/atexit (configure.ac): ... to here.
11347
11348 2011-05-05  Bruno Haible  <bruno@clisp.org>
11349
11350         atoll: Move AC_LIBOBJ invocations to module description.
11351         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
11352         invocations from here...
11353         * modules/atoll (configure.ac): ... to here.
11354
11355 2011-05-05  Bruno Haible  <bruno@clisp.org>
11356
11357         argz: Move AC_LIBOBJ invocations to module description.
11358         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
11359         * modules/argz (configure.ac): ... to here.
11360
11361 2011-05-05  Bruno Haible  <bruno@clisp.org>
11362
11363         alphasort: Move AC_LIBOBJ invocations to module description.
11364         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
11365         gl_PREREQ_ALPHASORT invocations from here...
11366         * modules/alphasort (configure.ac): ... to here.
11367
11368 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
11369
11370         verify: new macro verify_expr; verify_true deprecated
11371         * NEWS: Mention this.
11372         * doc/verify.texi (Compile-time Assertions): Document this.
11373         * lib/verify.h (verify_true): Deprecate.
11374         (verify_expr): New macro.
11375         * tests/test-verify.c (function): Test verify_expr.
11376
11377 2011-06-14  Jim Meyering  <meyering@redhat.com>
11378
11379         init.sh: give more portable redirection-related advice in a comment
11380         * tests/init.sh (stderr_fileno_): Update the advice in comments.
11381         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
11382         for lots of discussion.  Stefano Lattarini suggested the solution
11383         of putting "9>&2" after the command.  Reported by Bruno Haible.
11384
11385 2011-06-13  Bruno Haible  <bruno@clisp.org>
11386
11387         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
11388         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
11389         'none'.
11390
11391 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
11392
11393         ftoastr: use strtof only if HAVE_STRTOF
11394         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
11395         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
11396         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
11397         * modules/ftoastr (configure.ac): Check for strtof.
11398
11399 2011-06-13  Bruno Haible  <bruno@clisp.org>
11400
11401         gnulib-tool: Addendum to 2011-06-08 commit.
11402         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
11403         and --witness-c-macro have been given, augment AM_CPPFLAGS.
11404
11405 2011-06-13  Bruno Haible  <bruno@clisp.org>
11406
11407         fseeko: Provide a non-inline replacement of fseek().
11408         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
11409         * modules/fseeko (Depends-on): Add fseek.
11410         * modules/fseek (License): Change to LGPLv2+.
11411
11412 2011-06-13  Bruno Haible  <bruno@clisp.org>
11413
11414         ftello: Provide a non-inline replacement of ftell().
11415         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
11416         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
11417         not have ftello() (such as on mingw).
11418         * modules/ftello (Depends-on): Add ftell.
11419         * modules/ftell (License): Change to LGPLv2+.
11420
11421 2011-05-07  Bruno Haible  <bruno@clisp.org>
11422
11423         ftell: Move AC_LIBOBJ invocations to module description.
11424         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
11425         * modules/ftell (configure.ac): ... to here.
11426
11427 2011-05-07  Bruno Haible  <bruno@clisp.org>
11428
11429         ftello: Respect rules for use of AC_LIBOBJ.
11430         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
11431         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
11432         here...
11433         * modules/ftello (configure.ac): ... to here.
11434
11435 2011-05-07  Bruno Haible  <bruno@clisp.org>
11436
11437         fseeko: Simplify.
11438         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
11439         (gl_FUNC_FSEEKO): Inline it here.
11440
11441 2011-05-07  Bruno Haible  <bruno@clisp.org>
11442
11443         fseek: Move AC_LIBOBJ invocations to module description.
11444         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
11445         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
11446         * modules/fseek (configure.ac): ... to here.
11447
11448 2011-05-07  Bruno Haible  <bruno@clisp.org>
11449
11450         fseek: Respect rules for use of AC_LIBOBJ.
11451         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
11452         here...
11453         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
11454
11455 2011-05-07  Bruno Haible  <bruno@clisp.org>
11456
11457         fseeko: Respect rules for use of AC_LIBOBJ.
11458         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
11459         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
11460         here...
11461         * modules/fseeko (configure.ac): ... to here.
11462
11463 2011-06-13  Bruno Haible  <bruno@clisp.org>
11464
11465         gnulib-tool: Allow comments in the 'Depends-on' section.
11466         * doc/gnulib.texi (Module description): Mention comment syntax in the
11467         Depends-on section.
11468         * gnulib-tool (func_get_dependencies): Filter out comment lines.
11469
11470 2011-06-13  Bruno Haible  <bruno@clisp.org>
11471
11472         file-set.h: guard __attibute__ use, now that it's not always defined
11473         * lib/file-set.h (record_file): Use __attribute__ only with compiler
11474         versions that support it.  This fixes a coreutils build failure with
11475         the vendor cc on HP-UX 11.31.
11476
11477 2011-06-12  Bruno Haible  <bruno@clisp.org>
11478
11479         acl: Add support for HP-UX >= 11.11 JFS ACLs.
11480         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
11481         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
11482         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
11483         (acl, aclsort): New declarations.
11484         (aclv_nontrivial): New declaration.
11485         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
11486         (file_has_acl): Read also the second kind of HP-UX ACLs.
11487         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
11488         kind of HP-UX ACLs if the first kind fails.
11489         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
11490         second kind of HP-UX ACLs.
11491         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
11492         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
11493         agree.
11494         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
11495         hpuxjfs.
11496         Handle hpuxjfs.
11497         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
11498         hpuxjfs.
11499         Handle hpuxjfs.
11500         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
11501         (func_test_same_acls): Use both lsacl and getacl.
11502         Handle hpuxjfs.
11503         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
11504         (func_test_same_acls): Use both lsacl and getacl.
11505         Handle hpuxjfs.
11506
11507 2011-06-12  Bruno Haible  <bruno@clisp.org>
11508
11509         acl: Complete the 2010-08-10 fix.
11510         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
11511         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
11512         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
11513         explicitly.
11514         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
11515         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
11516
11517 2011-06-12  Bruno Haible  <bruno@clisp.org>
11518
11519         spawn-pipe tests: Comments.
11520         * tests/test-spawn-pipe-child.c (main): Update comment.
11521         Reported by James Youngman <jay@gnu.org>.
11522
11523 2011-06-11  James Youngman  <jay@gnu.org>
11524
11525         New module 'stat-size'.
11526         * modules/stat-size: New module.  Provides macros for accessing
11527         file size information in instances of struct stat.  Depends on the
11528         fileblocks module because it calls st_blocks.
11529         * lib/stat-size.h: New file, adapted from coreutils' system.h.
11530         * doc/gnulib.texi: Include stat-size.texi.
11531         * doc/stat-size.texi: Documentation for this module.
11532         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
11533         * m4/fileblocks.m4: Mention that stat-size depends on the call to
11534         AC_STRUCT_ST_BLOCKS.
11535
11536 2011-06-09  Bruno Haible  <bruno@clisp.org>
11537
11538         thread: Support pthreads-win32.
11539         * lib/glthread/thread.h (gl_thread_self): Define differently on
11540         pthreads-win32.
11541         (gl_null_thread): New declaration.
11542         (gl_thread_self_pointer): New macro.
11543         * lib/glthread/thread.c (gl_null_thread): New constant.
11544         * tests/test-lock.c: Use gl_thread_self_pointer instead of
11545         gl_thread_self.
11546         * tests/test-tls.c: Likewise.
11547         Suggested by Paul Eggert. Reported by Eric Blake.
11548
11549 2011-06-09  Bruno Haible  <bruno@clisp.org>
11550
11551         thread: Fix confusion between NULL and 0.
11552         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
11553         Reported by Paul Eggert.
11554
11555 2011-06-09  Bruno Haible  <bruno@clisp.org>
11556
11557         spawn-pipe tests: Avoid test failure on HP-UX 11.
11558         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
11559         is closed.
11560
11561 2011-06-09  Bruno Haible  <bruno@clisp.org>
11562
11563         acl tests: Fix compilation error on HP-UX 11.
11564         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
11565
11566 2011-06-09  Bruno Haible  <bruno@clisp.org>
11567
11568         rmdir: Avoid test failure on HP-UX 10.20.
11569         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
11570         EEXIST.
11571
11572 2011-06-08  Eric Blake  <eblake@redhat.com>
11573
11574         perror: fix test on mingw
11575         * modules/perror-tests (Depends-on): Add dup2.
11576
11577         strerror_r-posix: fix on MacOS
11578         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
11579         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
11580         logic bug.
11581         * lib/strerror_r.c (strerror_r): Fix the bug.
11582         * lib/strerror.c (strerror): Likewise.
11583         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
11584         problem.
11585         * doc/posix-functions/strerror.texi (strerror): Likewise.
11586         * doc/posix-functions/perror.texi (perror): Likewise.
11587         * tests/test-strerror.c (main): Enhance test.
11588         * tests/test-strerror_r.c (main): Likewise.
11589
11590 2011-06-08  Bruno Haible  <bruno@clisp.org>
11591
11592         gnulib-tool: Better isolation between different gnulib-tool invocations.
11593         * gnulib-tool: New option --witness-c-macro.
11594         (witness_c_macro): New variable.
11595         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
11596         AM_CPPFLAGS define it as a C macro.
11597         (func_emit_tests_Makefile_am): Likewise.
11598         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
11599         read it from there.
11600         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
11601         m4_define, not AC_DEFUN.
11602         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
11603         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
11604         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
11605         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
11606         s|...|...|, to substitute the values of the GNULIB_* module indicator
11607         variables.
11608         * modules/dirent (Makefile.am): Likewise.
11609         * modules/fcntl-h (Makefile.am): Likewise.
11610         * modules/iconv-h (Makefile.am): Likewise.
11611         * modules/langinfo (Makefile.am): Likewise.
11612         * modules/locale (Makefile.am): Likewise.
11613         * modules/math (Makefile.am): Likewise.
11614         * modules/netdb (Makefile.am): Likewise.
11615         * modules/poll-h (Makefile.am): Likewise.
11616         * modules/pty (Makefile.am): Likewise.
11617         * modules/search (Makefile.am): Likewise.
11618         * modules/signal (Makefile.am): Likewise.
11619         * modules/spawn (Makefile.am): Likewise.
11620         * modules/stdio (Makefile.am): Likewise.
11621         * modules/stdlib (Makefile.am): Likewise.
11622         * modules/string (Makefile.am): Likewise.
11623         * modules/sys_ioctl (Makefile.am): Likewise.
11624         * modules/sys_select (Makefile.am): Likewise.
11625         * modules/sys_socket (Makefile.am): Likewise.
11626         * modules/sys_stat (Makefile.am): Likewise.
11627         * modules/sys_times (Makefile.am): Likewise.
11628         * modules/sys_utsname (Makefile.am): Likewise.
11629         * modules/sys_wait (Makefile.am): Likewise.
11630         * modules/termios (Makefile.am): Likewise.
11631         * modules/time (Makefile.am): Likewise.
11632         * modules/unistd (Makefile.am): Likewise.
11633         * modules/wchar (Makefile.am): Likewise.
11634
11635 2011-06-08  Eric Blake  <eblake@redhat.com>
11636
11637         strerror: simplify replacement
11638         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
11639         * modules/strerror (configure.ac): No prereqs needed here...
11640         * modules/strerror-override (configure.ac): ...but this needs it.
11641         (Files): Add file for needed prereq macro.
11642
11643 2011-06-08  Bruno Haible  <bruno@clisp.org>
11644
11645         strerror_r-posix: Tweaks.
11646         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
11647         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
11648         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
11649         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
11650         (gl_FUNC_STRERROR_R): ... to here.
11651         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
11652
11653 2011-06-07  Eric Blake  <eblake@redhat.com>
11654
11655         perror: document fixed bugs
11656         * doc/posix-functions/perror.texi (perror): Document recent
11657         patches.
11658
11659 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
11660
11661         stat-time: get_stat_birthtime failure is better-defined
11662         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
11663         return a timestamp whose tv_sec and tv_nsec values are both -1.
11664         Previously, the spec said only that the tv_nsec value was negative.
11665         This upward-compatible change simplifies GNU tar a bit.
11666
11667 2011-06-07  Eric Blake  <eblake@redhat.com>
11668
11669         strerror_r-posix: work around cygwin 1.7.9
11670         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
11671         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
11672         bug without replacing strerror_r.
11673         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
11674         strerror_r is buggy, but without requiring strerror_r compilation.
11675         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
11676
11677         test-perror: relax test to ignore cygwin bug
11678         * tests/test-perror2.c (main): Relax test on requiring detection
11679         of stream errors, and use unbuffered stream.
11680         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
11681         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
11682         * doc/posix-functions/fputc.texi (fputc): Likewise.
11683         * doc/posix-functions/fputs.texi (fputs): Likewise.
11684         * doc/posix-functions/fputws.texi (fputws): Likewise.
11685         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
11686         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
11687         * doc/posix-functions/getopt.texi (getopt): Likewise.
11688         * doc/posix-functions/perror.texi (perror): Likewise.
11689         * doc/posix-functions/printf.texi (printf): Likewise.
11690         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
11691         * doc/posix-functions/psignal.texi (psignal): Likewise.
11692         * doc/posix-functions/putc.texi (putc): Likewise.
11693         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
11694         Likewise.
11695         * doc/posix-functions/putchar.texi (putchar): Likewise.
11696         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
11697         Likewise.
11698         * doc/posix-functions/puts.texi (puts): Likewise.
11699         * doc/posix-functions/putwc.texi (putwc): Likewise.
11700         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
11701         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
11702         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
11703         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
11704         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
11705         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
11706         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
11707         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
11708
11709 2011-05-22  Bruno Haible  <bruno@clisp.org>
11710
11711         strerror: Move AC_LIBOBJ invocations to module description.
11712         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
11713         gl_PREREQ_STRERROR invocations from here...
11714         * modules/strerror (configure.ac): ... to here.
11715
11716 2011-05-21  Bruno Haible  <bruno@clisp.org>
11717
11718         perror: Use common idiom.
11719         * modules/perror (configure.ac): Reorder statements.
11720
11721 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
11722
11723         tests: fix usage message in 'mktempd_'
11724         * tests/init.sh (mktempd_): In the usage message, use literal
11725         'mktempd_', not '$ME' (which is even undefined), as the name of
11726         the subroutine.
11727
11728 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
11729
11730         tests init: new function 'fatal_', for hard errors
11731         Before this patch, the only way offered by tests/init.sh to
11732         properly signal a hard error was the `framework_failure_'
11733         function.  But the error message issued by that function,
11734         as its name would suggest, refers to a set-up failure in the
11735         testsuite, while hard errors can obviously also be due to
11736         other reasons.  The best way to fix this inconsistency is to
11737         introduce a new function with a more general error message.
11738         * tests/init.sh (fatal_): New function.
11739
11740 2011-06-06  Eric Blake  <eblake@redhat.com>
11741
11742         canonicalize-lgpl: use common idiom
11743         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
11744         over newer POSIX -Rf.
11745         Reported by Bruno Haible.
11746
11747         canonicalize-lgpl: work around AIX realpath bug
11748         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
11749         * doc/posix-functions/realpath.texi (realpath): Document it.
11750         Reported by Bruno Haible.
11751
11752         strerror: work around FreeBSD bug
11753         * lib/strerror.c (strerror): Special case 0.
11754         Reported by Bruno Haible.
11755
11756         strerror-override: avoid bloating errno module
11757         * modules/errno (Files, configure.ac): Move replacement strings...
11758         * modules/strerror-override: ...to new module.
11759         * modules/strerror (Depends-on): Add strerror-override.
11760         * modules/strerror_r-posix (Depends-on): Likewise.
11761         * MODULES.html.sh: Document new module.
11762         Reported by Bruno Haible.
11763
11764 2011-06-06  Bruno Haible  <bruno@clisp.org>
11765
11766         spawn-pipe tests: Rename program.
11767         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
11768         * tests/test-spawn-pipe-child.c: Update comment.
11769         * tests/test-spawn-pipe.sh: Update.
11770         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
11771
11772         spawn-pipe tests: Link the child program only against libc.
11773         * tests/test-spawn-pipe-child.c: New file, extracted from
11774         tests/test-spawn-pipe.c.
11775         (main): Expect only one argument.
11776         (is_open): New function, copied from tests/test-pipe.c.
11777         * tests/test-spawn-pipe.c: Don't include <errno.h>.
11778         (child_main): Remove function.
11779         (test_pipe): Pass only one argument to the child program.
11780         (main): Remove child process code. Expect the child program's name as
11781         first argument.
11782         * tests/test-spawn-pipe.sh: Pass the child program's name as first
11783         argument.
11784         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
11785         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
11786         test-spawn-pipe-child against no libraries.
11787
11788 2011-06-06  Bruno Haible  <bruno@clisp.org>
11789
11790         careadlinkat: Avoid mismatch between ssize_t and int.
11791         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
11792         * lib/careadlinkat.c (careadlinkatcwd): Define always.
11793
11794 2011-06-06  Jim Meyering  <meyering@redhat.com>
11795
11796         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
11797         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
11798         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
11799
11800 2011-06-05  Bruno Haible  <bruno@clisp.org>
11801
11802         ansi-c++-opt: Interoperability with libtool.
11803         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
11804         set the variable to "no", not to ":".
11805         * NEWS: Mention the change.
11806
11807 2011-06-05  Bruno Haible  <bruno@clisp.org>
11808
11809         acl: Fix test failure on AIX 7.
11810         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
11811         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
11812
11813 2011-06-05  Bruno Haible  <bruno@clisp.org>
11814
11815         pipe-filter-ii: Fix test failure on AIX and IRIX.
11816         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
11817         with EAGAIN, retry with a smaller buffer size.
11818
11819 2011-06-05  Bruno Haible  <bruno@clisp.org>
11820
11821         localename: Fix link dependencies.
11822         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
11823         * modules/localename-tests (Makefile.am): Link test-localename with
11824         $(LIBTHREAD).
11825
11826 2011-06-05  Bruno Haible  <bruno@clisp.org>
11827
11828         error: Avoid gcc warning.
11829         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
11830
11831 2011-06-05  Bruno Haible  <bruno@clisp.org>
11832
11833         unsetenv: Avoid gcc warning.
11834         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
11835
11836 2011-06-05  Bruno Haible  <bruno@clisp.org>
11837
11838         setenv: Avoid gcc warning.
11839         * lib/setenv.c (setenv): Provide declaration if system lacks it.
11840
11841 2011-06-05  Bruno Haible  <bruno@clisp.org>
11842
11843         sys_select: Ensure memset is declared also on AIX 7.
11844         * lib/sys_select.in.h: Include <string.h> also on AIX.
11845         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
11846         self-contained also on AIX 7.1.
11847
11848 2011-06-04  Jim Meyering  <meyering@redhat.com>
11849
11850         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
11851         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
11852         function name, "error".
11853         (_gl_translatable_diag_func_re): New configurable variable.
11854
11855 2011-06-04  Bruno Haible  <bruno@clisp.org>
11856
11857         getopt: Avoid gcc warning.
11858         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
11859
11860 2011-06-04  Bruno Haible  <bruno@clisp.org>
11861
11862         strerror_r: Fix comments.
11863         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
11864         commit.
11865
11866 2011-06-04  Bruno Haible  <bruno@clisp.org>
11867
11868         perror: Fix compilation error.
11869         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
11870         Undefine fprintf, not sprintf.
11871         * modules/perror (Depends-on): Remove intprops, verify.
11872
11873 2011-06-04  Bruno Haible  <bruno@clisp.org>
11874
11875         setlocale: Enable replacement on Cygwin 1.5.
11876         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
11877         Cygwin 1.5.x.
11878         * doc/posix-functions/setlocale.texi: Mention that the problem with the
11879         LC_CTYPE category also exists on Cygwin 1.5.x.
11880
11881 2011-06-04  Bruno Haible  <bruno@clisp.org>
11882
11883         strerror-override: Don't disable symbol renamings.
11884         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
11885         * lib/strerror-override.c: Include config.h.
11886         (strerror_override): Don't undefine.
11887
11888 2011-06-03  Bruno Haible  <bruno@clisp.org>
11889
11890         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
11891         * lib/localename.h: Update copyright header.
11892         * lib/localename.c: Likewise.
11893         * lib/relocatable.h: Likewise.
11894         * lib/relocatable.c: Likewise.
11895
11896 2011-06-02  Bruno Haible  <bruno@clisp.org>
11897
11898         doc: Fix a module name.
11899         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
11900
11901 2011-06-02  Bruno Haible  <bruno@clisp.org>
11902
11903         pipe2: Remove dependency on 'nonblocking' module.
11904         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
11905         O_NONBLOCK is defined by gnulib.
11906         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
11907         is zero.
11908         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
11909         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
11910         defined by gnulib.
11911         (get_nonblocking_flag): New function.
11912         (main): Test O_NONBLOCK flag only if it is nonzero.
11913         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
11914
11915 2011-06-03  Jim Meyering  <meyering@redhat.com>
11916
11917         maint: three new prohibit-header-without-use rules
11918         Prohibit use of cloexec.h, posixver.h, same.h without use.
11919         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
11920         (sc_prohibit_posixver_without_use): Likewise.
11921         (sc_prohibit_same_without_use): Likewise.
11922
11923 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
11924
11925         allocator: 'die' routine is now given requested size
11926         * lib/allocator.h (struct allocator.die): New size arg.
11927         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
11928         If the actual problem is an ssize_t limitation, not a size_t or
11929         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
11930
11931 2011-06-01  Eric Blake  <eblake@redhat.com>
11932
11933         strerror: drop strerror_r dependency
11934         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
11935         * lib/strerror-override.c (strerror_override): ...to new file.
11936         * lib/strerror-override.h: Add prototype.
11937         * lib/strerror-impl.h: Delete.
11938         * lib/strerror.c (strerror): New implementation.
11939         * modules/errno (Files): Add new files.
11940         (configure.ac): Compile new file as appropriate.
11941         * modules/strerror (Files): Drop unused file.
11942         (Depends-on): Drop strerror_r-posix.
11943         * MODULES.html.sh: Document strerror_r-posix.
11944         Requested by Sam Steingold.
11945
11946         perror: call strerror_r directly
11947         * modules/perror (Files): Drop strerror-impl.h.
11948         * lib/perror.c (perror): Use our own stack buffer, rather than
11949         calling a wrapper that uses static storage.
11950         * doc/posix-functions/perror.texi (perror): Document a limitation
11951         of our replacement.
11952
11953         strerror_r: fix includes for FreeBSD
11954         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
11955         since we use abort on some platforms.
11956         Reported by Matthias Bolte.
11957
11958 2011-05-31  Bruno Haible  <bruno@clisp.org>
11959
11960         Fix link errors in tests: openat-die uses gettext-h.
11961         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
11962         against $(LIBINTL).
11963         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
11964         against $(LIBINTL).
11965         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
11966         $(LIBINTL).
11967         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
11968         against $(LIBINTL).
11969         * modules/linkat-tests (Makefile.am): Link test-linkat against
11970         $(LIBINTL).
11971         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
11972         $(LIBINTL).
11973         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
11974         against $(LIBINTL).
11975         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
11976         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
11977         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
11978         $(LIBINTL).
11979         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
11980         $(LIBINTL).
11981         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
11982         $(LIBINTL).
11983         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11984
11985 2011-05-31  Bruno Haible  <bruno@clisp.org>
11986
11987         Fix link errors in tests: wait-process uses gettext-h.
11988         * modules/nonblocking-pipe-tests (Makefile.am): Set
11989         test_nonblocking_pipe_main_LDADD.
11990         * modules/nonblocking-socket-tests (Makefile.am): Link
11991         test-nonblocking-socket-main against $(LIBINTL).
11992         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11993
11994 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
11995
11996         assert-h: work around 'verify' incompatibility
11997         * lib/verify.h: Use @...@ directives, not ifdef.
11998         * modules/assert-h (assert.h): Implement the directives.
11999         (assert.h): Substitute the symbol-prefix more consistently.
12000
12001 2011-05-29  Jim Meyering  <meyering@redhat.com>
12002
12003         trim: remove three superfluous assignments
12004         * lib/trim.c (trim2): Remove three superfluous assignments
12005         and correct brace positioning.
12006
12007 2011-05-29  Bruno Haible  <bruno@clisp.org>
12008
12009         wctype-h: Avoid namespace pollution on Solaris 2.6.
12010         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
12011         identifiers.
12012         * doc/posix-headers/wctype.texi: Mention the problem.
12013         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12014
12015 2011-05-28  Jim Meyering  <meyering@redhat.com>
12016
12017         parse-datetime.y: accommodate -Wstrict-overflow
12018         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
12019         placate -Wstrict-overflow.
12020
12021         trim: avoid a warning from -O2 -Wstrict-overflow
12022         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
12023
12024 2011-05-29  Bruno Haible  <bruno@clisp.org>
12025
12026         gnulib-tool: Fix bug in yesterday's commit.
12027         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
12028         twice.
12029
12030 2011-05-29  Bruno Haible  <bruno@clisp.org>
12031
12032         Allow multiple gnulib generated include files to be combined.
12033         * gnulib-tool (func_compute_include_guard_prefix): New function.
12034         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
12035         ${gl_include_guard_prefix} references.
12036         (func_import, func_create_testdir): Invoke
12037         func_compute_include_guard_prefix.
12038         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
12039         * lib/ctype.in.h: Likewise.
12040         * lib/dirent.in.h: Likewise.
12041         * lib/errno.in.h: Likewise.
12042         * lib/fcntl.in.h: Likewise.
12043         * lib/float.in.h: Likewise.
12044         * lib/getopt.in.h: Likewise.
12045         * lib/iconv.in.h: Likewise.
12046         * lib/langinfo.in.h: Likewise.
12047         * lib/locale.in.h: Likewise.
12048         * lib/math.in.h: Likewise.
12049         * lib/netdb.in.h: Likewise.
12050         * lib/netinet_in.in.h: Likewise.
12051         * lib/poll.in.h: Likewise.
12052         * lib/pthread.in.h: Likewise.
12053         * lib/pty.in.h: Likewise.
12054         * lib/sched.in.h: Likewise.
12055         * lib/se-selinux.in.h: Likewise.
12056         * lib/search.in.h: Likewise.
12057         * lib/signal.in.h: Likewise.
12058         * lib/spawn.in.h: Likewise.
12059         * lib/stdarg.in.h: Likewise.
12060         * lib/stddef.in.h: Likewise.
12061         * lib/stdint.in.h: Likewise.
12062         * lib/stdio.in.h: Likewise.
12063         * lib/stdlib.in.h: Likewise.
12064         * lib/string.in.h: Likewise.
12065         * lib/strings.in.h: Likewise.
12066         * lib/sys_file.in.h: Likewise.
12067         * lib/sys_ioctl.in.h: Likewise.
12068         * lib/sys_select.in.h: Likewise.
12069         * lib/sys_socket.in.h: Likewise.
12070         * lib/sys_stat.in.h: Likewise.
12071         * lib/sys_time.in.h: Likewise.
12072         * lib/sys_times.in.h: Likewise.
12073         * lib/sys_uio.in.h: Likewise.
12074         * lib/sys_utsname.in.h: Likewise.
12075         * lib/sys_wait.in.h: Likewise.
12076         * lib/sysexits.in.h: Likewise.
12077         * lib/termios.in.h: Likewise.
12078         * lib/time.in.h: Likewise.
12079         * lib/unistd.in.h: Likewise.
12080         * lib/wchar.in.h: Likewise.
12081         * lib/wctype.in.h: Likewise.
12082         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
12083         * modules/ctype (Makefile.am): Likewise.
12084         * modules/dirent (Makefile.am): Likewise.
12085         * modules/errno (Makefile.am): Likewise.
12086         * modules/fcntl-h (Makefile.am): Likewise.
12087         * modules/float (Makefile.am): Likewise.
12088         * modules/getopt-posix (Makefile.am): Likewise.
12089         * modules/iconv-h (Makefile.am): Likewise.
12090         * modules/langinfo (Makefile.am): Likewise.
12091         * modules/locale (Makefile.am): Likewise.
12092         * modules/math (Makefile.am): Likewise.
12093         * modules/netdb (Makefile.am): Likewise.
12094         * modules/netinet_in (Makefile.am): Likewise.
12095         * modules/poll-h (Makefile.am): Likewise.
12096         * modules/pthread (Makefile.am): Likewise.
12097         * modules/pty (Makefile.am): Likewise.
12098         * modules/sched (Makefile.am): Likewise.
12099         * modules/search (Makefile.am): Likewise.
12100         * modules/selinux-h (Makefile.am): Likewise.
12101         * modules/signal (Makefile.am): Likewise.
12102         * modules/spawn (Makefile.am): Likewise.
12103         * modules/stdarg (Makefile.am): Likewise.
12104         * modules/stddef (Makefile.am): Likewise.
12105         * modules/stdint (Makefile.am): Likewise.
12106         * modules/stdio (Makefile.am): Likewise.
12107         * modules/stdlib (Makefile.am): Likewise.
12108         * modules/string (Makefile.am): Likewise.
12109         * modules/strings (Makefile.am): Likewise.
12110         * modules/sys_file (Makefile.am): Likewise.
12111         * modules/sys_ioctl (Makefile.am): Likewise.
12112         * modules/sys_select (Makefile.am): Likewise.
12113         * modules/sys_socket (Makefile.am): Likewise.
12114         * modules/sys_stat (Makefile.am): Likewise.
12115         * modules/sys_time (Makefile.am): Likewise.
12116         * modules/sys_times (Makefile.am): Likewise.
12117         * modules/sys_uio (Makefile.am): Likewise.
12118         * modules/sys_utsname (Makefile.am): Likewise.
12119         * modules/sys_wait (Makefile.am): Likewise.
12120         * modules/sysexits (Makefile.am): Likewise.
12121         * modules/termios (Makefile.am): Likewise.
12122         * modules/time (Makefile.am): Likewise.
12123         * modules/unistd (Makefile.am): Likewise.
12124         * modules/wchar (Makefile.am): Likewise.
12125         * modules/wctype-h (Makefile.am): Likewise.
12126         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
12127
12128 2011-05-29  Bruno Haible  <bruno@clisp.org>
12129
12130         assert-h: Allow multiple gnulib generated replacements to coexist.
12131         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
12132
12133 2011-05-29  Bruno Haible  <bruno@clisp.org>
12134
12135         argp: Allow coexistence with strerror_r-posix module.
12136         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
12137         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
12138         by gnulib's <string.h> replacement), assume it has the POSIX signature,
12139         not the glibc signature.
12140
12141 2011-05-28  Bruno Haible  <bruno@clisp.org>
12142
12143         gnulib-tool: Alternative structure of testdirs, similar to --import.
12144         * gnulib-tool: New option --single-configure.
12145         (func_usage): Document it.
12146         (single_configure): New variable.
12147         (func_modules_transitive_closure_separately,
12148         func_modules_transitive_closure_separately,
12149         func_determine_use_libtests, func_modules_add_dummy_separately,
12150         func_modules_to_filelist_separately): New functions, extracted from
12151         func_import.
12152         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
12153         (func_import): Use the new functions.
12154         (func_create_testdir): Set final_modules. Handle $single_configure =
12155         true case.
12156
12157 2011-05-28  Bruno Haible  <bruno@clisp.org>
12158
12159         getloadavg: Remove an unreliable safety check.
12160         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
12161         getloadavg.c is in place.
12162         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
12163         Reported by Sam Steingold <sds@gnu.org>.
12164
12165 2011-05-28  Bruno Haible  <bruno@clisp.org>
12166
12167         doc: Cleanup yet another file produced by texinfo.tex.
12168         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
12169
12170 2011-05-28  Bruno Haible  <bruno@clisp.org>
12171
12172         Finish the conditional dependencies mechanism.
12173         * gnulib-tool: New option --no-conditional-dependencies.
12174         (func_usage): Document it. Don't mark --conditional-dependencies as
12175         experimental.
12176         (cond_dependencies): The possible values can now be true, false, empty.
12177         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
12178         (func_import): Store setting in gnulib-cache.m4 and read it from there.
12179         * doc/gnulib-tool.texi (Conditional dependencies): New section.
12180
12181 2011-05-28  Bruno Haible  <bruno@clisp.org>
12182
12183         doc: Use a recent texinfo.tex.
12184         * doc/Makefile (tex_opts): New variable.
12185         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
12186
12187 2011-05-28  Jim Meyering  <meyering@redhat.com>
12188
12189         intprops.h: adjust comment to match code change
12190         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
12191         only once, it *may* have side effects.  Also fix an unrelated typo.
12192         (_GL_INT_SIGNED): Likewise.
12193
12194 2011-05-26  Simon Josefsson  <simon@josefsson.org>
12195
12196         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
12197
12198 2011-05-26  Bruno Haible  <bruno@clisp.org>
12199
12200         mbsrchr: Avoid collision with system function on Interix.
12201         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
12202         Reported by Markus Duft <mduft@gentoo.org>.
12203
12204 2011-05-15  James Youngman  <jay@gnu.org>
12205
12206         getopt: for ambiguous options, enumerate the possibilities.
12207         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
12208         the ambiguous options when an ambiguous prefix is given. This was
12209         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
12210         glibc change was
12211         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
12212
12213 2011-05-25  Eric Blake  <eblake@redhat.com>
12214
12215         getcwd: work around mingw bug
12216         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
12217         * doc/posix-functions/getcwd.texi (getcwd): Document it.
12218         Reported by Matthias Bolte.
12219
12220 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
12221
12222         test-intprops: disable -Wtype-limits diagnostics
12223         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
12224         diagnostics.  Otherwise, the integer overflow macros generate many
12225         diagnostics.  Reported by Jim Meyering in
12226         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
12227
12228         intprops: shorten, to pacify gcc -Woverlength-strings
12229         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
12230         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
12231         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
12232         likely to run afoul of C compiler limits for string constant lengths.
12233         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
12234
12235 2011-05-24  Eric Blake  <eblake@redhat.com>
12236
12237         docs: document recently fixed glibc printf bug
12238         * doc/posix-functions/fprintf.texi (fprintf): Document it.
12239         * doc/posix-functions/printf.texi (printf): Likewise.
12240         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
12241         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
12242
12243         closein-tests: convert to init.sh
12244         * modules/closein-tests (Files): Add init.sh
12245         * tests/test-closein.sh Use it.
12246
12247         yesno-tests: convert to init.sh
12248         * modules/yesno-tests (Files): Add init.sh.
12249         * tests/test-yesno.sh: Use it.
12250
12251         atexit-tests: ensure reliable exit status
12252         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
12253         Reported by Bruno Haible.
12254
12255 2011-05-24  Bruno Haible  <bruno@clisp.org>
12256
12257         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
12258         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
12259         gl_PREREQ_STRERROR_R invocations from here...
12260         * modules/strerror_r-posix (configure.ac): ... to here.
12261
12262 2011-05-24  Eric Blake  <eblake@redhat.com>
12263
12264         strerror_r: fix missing header
12265         * lib/strerror_r.c: Avoid compiler warning about snprintf.
12266
12267         strerror_r: fix AIX test failures
12268         * lib/strerror_r.c (strerror_r): Convert silent truncation to
12269         ERANGE failure.
12270
12271         strerror_r: fix Solaris test failures
12272         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
12273         failures.
12274         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
12275
12276         strerror_r: enforce POSIX recommendations
12277         * lib/strerror_r.c (safe_copy): New helper method.
12278         (strerror_r): Guarantee a non-empty string.
12279         * tests/test-strerror_r.c (main): Enhance tests to incorporate
12280         recent POSIX rulings and to match our strerror guarantees.
12281         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
12282
12283 2011-05-24  Jim Meyering  <meyering@redhat.com>
12284
12285         test-perror2.c: avoid warning about unused variable
12286         * tests/test-perror2.c (main): Remove declaration of unused "fp".
12287
12288 2011-05-24  Eric Blake  <eblake@redhat.com>
12289
12290         perror: avoid spurious test failure on HP-UX
12291         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
12292
12293         tests: fix logic bug in init.sh
12294         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
12295         shell.
12296
12297 2011-05-24  Jim Meyering  <meyering@redhat.com>
12298
12299         utimensat: do not reference an out-of-scope buffer
12300         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
12301         declared in an inner scope, yet "times" would be dereferenced outside
12302         the scope in which "ts" was valid.
12303         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
12304         of ts[2] "out/up", so that the use of aliased "times" (via
12305         "times = ts;") does not end up referencing an out-of-scope "ts"
12306
12307         opendir-safer.c: don't clobber errno; don't close negative FD
12308         * lib/opendir-safer.c (opendir_safer):
12309         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
12310         file descriptor, and more importantly, don't clobber the
12311         offending errno value with EINVAL.  Before, upon failure
12312         of dup_safer, we would pass the negative file descriptor to
12313         fdopendir, which would clobber errno.
12314
12315 2011-05-23  Bruno Haible  <bruno@clisp.org>
12316
12317         idcache: Fix module description.
12318         * modules/idcache (Include): Set to "idcache.h".
12319
12320 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
12321
12322         gnulib-tool: fix portability problem with MacOS sed
12323         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
12324         before the "}".  Problem reported by Leo in
12325         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
12326         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
12327         sed_extract_condition1, sed_extract_condition2.
12328
12329 2011-05-23  Bruno Haible  <bruno@clisp.org>
12330
12331         hash: Simplify autoconf macro.
12332         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
12333
12334 2011-05-23  Bruno Haible  <bruno@clisp.org>
12335
12336         getugroups: Fix module description.
12337         * modules/getugroups (Include): Set to "getugroups.h".
12338
12339 2011-05-23  Bruno Haible  <bruno@clisp.org>
12340
12341         linkat: Simplify autoconf macro.
12342         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
12343
12344 2011-05-23  Bruno Haible  <bruno@clisp.org>
12345             Eric Blake  <eblake@redhat.com>
12346
12347         linkat, renameat: Update dependencies.
12348         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
12349         * modules/linkat (Depends-on): Likewise. Remove also readlink,
12350         symlinkat.
12351
12352 2011-05-23  Jim Meyering  <meyering@redhat.com>
12353
12354         maint.mk: more tight_scope improvements
12355         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
12356         (_gl_TS_headers): Define only in if-0'd block.
12357         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
12358         sometimes we must *not* use it.  Adjust uses accordingly.
12359         (sc_tight_scope): Use much simpler grep-based test to determine
12360         whether we skip this rule.
12361
12362         maint.mk: generalize/improve the tight-scope rule
12363         * top/maint.mk: Emit a warning when the test is skipped.
12364         (_gl_TS_dir): Add $(srcdir)/ prefix.
12365         (_gl_TS_function_match): Simplify, rather than trying
12366         to enumerate common types.  Otherwise, it would fail to match an
12367         "extern unsigned char const *" declaration in idutils.
12368         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
12369         a way to support use of that type of macro.
12370         (_gl_TS_var_match): Simplify regexp.
12371         (_gl_TS_obj_files): New configurable variable.
12372         (_gl_TS_headers): Likewise.
12373
12374 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
12375
12376         verify: fix bug when gnulib <assert.h> is also included
12377         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
12378         is defined, not if _GL_STATIC_ASSERT_H is not defined.
12379         Perhaps there's a better way, but this fixes the immediate problem.
12380         Problem reported by Bruno Haible in
12381         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
12382
12383 2011-05-22  Bruno Haible  <bruno@clisp.org>
12384
12385         xgetcwd: Simplify autoconf macro.
12386         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
12387
12388 2011-05-22  Bruno Haible  <bruno@clisp.org>
12389
12390         New module 'mktime-internal'.
12391         * modules/mktime-internal: New file.
12392         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
12393         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
12394         mktime_internal as a C macro if libc has __mktime_internal.
12395         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
12396         conditions.
12397         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
12398
12399 2011-05-22  Bruno Haible  <bruno@clisp.org>
12400
12401         timegm: Correct mktime replacement statements.
12402         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
12403         defining mktime as a C macro. This completes a 2009-07-28 commit.
12404
12405 2011-05-22  Bruno Haible  <bruno@clisp.org>
12406
12407         timegm: Simplify autoconf macro.
12408         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
12409
12410 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
12411
12412         clock-time: change to LGPLv2+.
12413         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
12414         BSD-like but we have no mark for that; this is good enough for now.
12415
12416 2011-05-21  Bruno Haible  <bruno@clisp.org>
12417
12418         strerror_r: Fix comments.
12419         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
12420
12421 2011-05-21  Bruno Haible  <bruno@clisp.org>
12422
12423         relocatable-prog-wrapper: Fix possible link error.
12424         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
12425         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
12426         (gl_FUNC_SETENV): ... to here.
12427         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
12428         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
12429
12430 2011-05-21  Bruno Haible  <bruno@clisp.org>
12431
12432         relocatable-prog-wrapper: Assume strerror() exists.
12433         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
12434         m4/strerror.m4.
12435         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
12436         * lib/relocwrapper.c: Remove mention of strerror module.
12437         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
12438         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
12439         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
12440         C macro.
12441
12442 2011-05-21  Bruno Haible  <bruno@clisp.org>
12443
12444         select: Simplify replacement idiom.
12445         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
12446         Win32 platforms.
12447         * lib/sys_select.in.h (select): Simplify accordingly.
12448         * modules/select (Depends-on): Likewise.
12449
12450 2011-05-21  Bruno Haible  <bruno@clisp.org>
12451
12452         mkdir-p: Simplify autoconf macro.
12453         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
12454         gl_FUNC_LCHOWN.
12455
12456 2011-05-21  Eric Blake  <eblake@redhat.com>
12457
12458         strerror_r: avoid clobbering strerror on cygwin
12459         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
12460         fall back instead to sys_errlist.
12461         * modules/strerror (configure.ac): Add witness.
12462         * tests/test-strerror_r.c (main): Enhance test.
12463         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
12464         * tests/test-perror2.c (main): Free memory before exit.
12465
12466 2011-05-21  Bruno Haible  <bruno@clisp.org>
12467
12468         mkdtemp: Use gnulib naming conventions.
12469         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
12470         * modules/mkdtemp (configure.ac): Update.
12471
12472 2011-05-20  Eric Blake  <eblake@redhat.com>
12473
12474         strerror_r: avoid corrupting errno on Solaris
12475         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
12476         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
12477
12478         strerror_r: avoid compiler warning
12479         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
12480
12481         strerror_r: simplify AIX code
12482         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
12483
12484         test-perror: avoid spurious failure on FreeBSD
12485         * modules/perror-tests (Depends-on): Add strerror, now that
12486         strerror_r no longer pulls it in.
12487
12488 2011-05-20  Bruno Haible  <bruno@clisp.org>
12489
12490         strerror_r-posix: Remove unused dependencies.
12491         * modules/strerror_r-posix (Depends-on): Remove strerror.
12492         Reported by Eric Blake.
12493
12494 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
12495
12496         intprops: remove assumption about A|B representation
12497         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
12498         is a valid integer if both A and B are.  Although this is true for
12499         all known practical hosts, the C standard doesn't guarantee it,
12500         and the code need not assume it.  Also, this change may work around
12501         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
12502         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
12503
12504 2011-05-20  Eric Blake  <eblake@redhat.com>
12505
12506         perror: work around FreeBSD bug
12507         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
12508         is broken.  Move AC_LIBOBJ...
12509         * modules/perror (configure.ac): Here.
12510         * doc/posix-functions/perror.texi (perror): Document this.
12511         * tests/test-perror2.c (main): Enhance test.
12512
12513         test-perror: check for strerror interactions
12514         * tests/macros.h (STREQ): Add macro.
12515         * modules/perror-tests (Files): Add second test.
12516         * tests/test-perror2.c (main): New file.
12517         * doc/posix-functions/perror.texi (perror): Document glibc bug.
12518
12519         test-perror: rewrite to use init script
12520         * modules/perror-tests (Files): Add init.sh.
12521         * tests/test-perror.sh: Use temporary directory.
12522
12523 2011-05-20  Jim Meyering  <meyering@redhat.com>
12524
12525         maint: replace misused "a" with "an"
12526         * doc/intprops.texi: "a integer"
12527         * doc/regex.texi: "a explanation"
12528         * lib/alignof.h: "a object"
12529         * lib/argmatch.h: "a explanation"
12530         * lib/argp-help.c: "a option" and "a OPTION_DOC"
12531         * lib/stdint.in.h: "a integer"
12532         * lib/userspec.c: "a owner"
12533         * doc/gnulib.texi: Fix "a idea", and reword.
12534
12535 2011-05-19  Jim Meyering  <meyering@redhat.com>
12536
12537         maint: correct misuse of "a" and "an"
12538         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
12539         * lib/argp-help.c: "an docum...": s/an/a/
12540         * lib/argp-parse.c: "An vector": s/An/A/
12541         * lib/execute.c: "an native": s/an/a/
12542         * lib/spawn-pipe.c: Likewise.
12543         * lib/gc.h: "an Gc_rc": s/an/a/
12544         * lib/unigbrk.in.h: "an grapheme": s/an/a/
12545         * lib/fts.c: "an stat.st_dev": s/an/a/
12546
12547 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
12548
12549         intprops-tests: work around HP-UX 11.23 cc bug with constants
12550         * tests/test-intprops.c (VERIFY): New macro.
12551         (main): Use it, instead of verify, to work around the compiler bug; see
12552         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
12553
12554         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
12555         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
12556         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
12557         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
12558         (_GL_REMAINDER_OVERFLOW): Use it.
12559
12560         intprops-tests: revert unsigned part of previous change
12561         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
12562         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
12563         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
12564         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
12565
12566 2011-05-19  Bruno Haible  <bruno@clisp.org>
12567
12568         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
12569         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
12570         strerror_r() returned without filling the buffer.
12571         Reported by Eric Blake.
12572
12573 2011-05-19  Eric Blake  <eblake@redhat.com>
12574
12575         strerror_r: guarantee unchanged errno
12576         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
12577         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
12578         failure.
12579         * tests/test-strerror_r.c (main): Enhance test.
12580
12581 2011-05-19  Bruno Haible  <bruno@clisp.org>
12582
12583         strerror_r: Reorder #if blocks.
12584         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
12585         for consistency with the previous commit.
12586
12587 2011-05-19  Bruno Haible  <bruno@clisp.org>
12588
12589         perror: Avoid clobbering the strerror buffer when possible.
12590         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
12591         * lib/strerror.c: Include it.
12592         * modules/strerror (Files): Add lib/strerror-impl.h.
12593         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
12594         (my_strerror): New function, defined through lib/strerror-impl.h.
12595         (perror): Use it instead of strerror.
12596         * modules/perror (Files): Add lib/strerror-impl.h.
12597         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
12598
12599 2011-05-19  Eric Blake  <eblake@redhat.com>
12600
12601         strerror_r: fix on newer cygwin
12602         * lib/strerror_r.c (strerror_r): Cygwin now has
12603         __xpg_strerror_r, use it.
12604
12605 2011-05-19  Bruno Haible  <bruno@clisp.org>
12606
12607         strerror_r: Avoid clobbering the strerror buffer when possible.
12608         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
12609         (sys_nerr, sys_errlist): New declarations.
12610         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
12611         HP-UX, native Win32, IRIX, and 32-bit Solaris.
12612         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
12613
12614 2011-05-19  Bruno Haible  <bruno@clisp.org>
12615
12616         strerror_r: Fix test failure on mingw.
12617         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
12618         EXTEND_STRERROR_R.
12619         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
12620         macros from errno.in.h instead.
12621
12622 2011-05-19  Eric Blake  <eblake@redhat.com>
12623
12624         strerror: relax test for Solaris
12625         * tests/test-strerror.c (main): Permit Solaris behavior.
12626         * tests/test-strerror_r.c (main): Likewise.
12627
12628         strerror: enforce POSIX ruling on strerror(0)
12629         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
12630         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
12631         * lib/strerror_r.c (rpl_strerror_r): Work around it.
12632         * doc/posix-functions/strerror.texi (strerror): Document it.
12633         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
12634         * tests/test-strerror.c (main): Strengthen test.
12635         * tests/test-strerror_r.c (main): Likewise.
12636
12637 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
12638
12639         intprop-tests: port to older and more-pedantic compilers
12640         * modules/intprops-tests (Files): Add tests/macros.h.
12641         * tests/test-intprops.c: Include macros.h.
12642         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
12643         it's no longer documented to expand to an integer constant expression.
12644         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
12645         argument is floating point, as it's no longer documented to expand
12646         to an integer constant expression in that case.
12647         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
12648         compiler bugs reported by Bruno Haible.  See
12649         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
12650         (U0, U1): New constants, to work around the same bugs.  Also,
12651         in tests, use e.g., "(unsigned int) 39" rather than "39u".
12652
12653         intprops: work around C compiler bugs
12654         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
12655         bug in Sun C 5.11 2010/08/13 and other compilers; see
12656         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
12657
12658         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
12659         * doc/intprops.texi (Integer Type Determination): Fix
12660         documentation for TYPE_IS_INTEGER: it returns an constant
12661         expression, not an integer constant expression.  Fix doc for
12662         TYPE_SIGNED: it returns an integer constant expression only if its
12663         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
12664         hardly worth documented that way....)
12665
12666 2011-05-18  Bruno Haible  <bruno@clisp.org>
12667
12668         strerror_r: Avoid clobbering the strerror buffer when possible.
12669         * lib/strerror_r.c (strerror_r): Merge the three implementations.
12670         Handle gnulib defined errno values here. When strerror() returns NULL
12671         or an empty string, return EINVAL.
12672         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
12673         gnulib defined errno values here.
12674         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
12675
12676 2011-05-18  Eric Blake  <eblake@redhat.com>
12677
12678         fnmatch: avoid compiler warning
12679         * lib/fnmatch_loop.c (FCT): Use correct type.
12680         Reported by Matthias Bolte.
12681
12682 2011-05-13  Jim Meyering  <meyering@redhat.com>
12683
12684         maint.mk: three new prohibit_<HDR>_without_use rules
12685         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
12686         (sc_prohibit_stdio-safer_without_use): Likewise.
12687         (sc_prohibit_xfreopen_without_use): Likewise.
12688
12689 2011-05-17  Jim Meyering  <meyering@redhat.com>
12690
12691         announce-gen: fail if the NEWS delta is empty
12692         If there's nothing noteworthy in NEWS, then either you forgot
12693         or you shouldn't be releasing.
12694         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
12695
12696 2011-05-17  Pádraig Brady <P@draigBrady.com>
12697
12698         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
12699         reserved symbols starting with double underscore from the check.
12700
12701 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
12702
12703         intprops: add doc
12704         * doc/intprops.texi: New file, documenting intprops.
12705         * doc/gnulib.texi (Particular Modules): Include it.
12706
12707         verify: add doc to gnulib manual and fix example
12708         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
12709         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
12710         (Compile-time Assertions): Fix example so it can't overflow.
12711
12712 2011-05-17  Jim Meyering  <meyering@redhat.com>
12713
12714         warnings.m4: don't usurp save_CPPFLAGS variable name
12715         * m4/warnings.m4: Prefix local temporary variable name with gl_.
12716
12717         doc: fix typo
12718         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
12719
12720 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
12721             Bruno Haible  <bruno@clisp.org>
12722
12723         doc: Tweak recent change.
12724         * README (Portability guidelines): Tweak new text.
12725         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
12726         Interix 6.1.
12727
12728 2011-05-16  Eric Blake  <eblake@redhat.com>
12729
12730         inttypes: avoid autoconf warning
12731         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
12732         * m4/stdint.m4 (gl_STDINT_H): Likewise.
12733
12734 2011-05-16  Sam Steingold <sds@gnu.org>
12735         and Eric Blake  <eblake@redhat.com>
12736
12737         vc-list-files: accept multiple directory operands
12738         * build-aux/vc-list-files: Iterate over all remaining operands.
12739
12740 2011-05-16  Bruno Haible  <bruno@clisp.org>
12741
12742         Fix confusion regarding deprecated modules.
12743         * modules/calloc (Status, Notice): Mark module as deprecated, not
12744         obsolete.
12745         * modules/fnmatch-posix (Status, Notice): Likewise.
12746         * modules/getdate (Status, Notice): Likewise.
12747         * modules/getopt (Status, Notice): Likewise.
12748         * modules/malloc (Status, Notice): Likewise.
12749         * modules/pipe (Status, Notice): Likewise.
12750         * modules/realloc (Status, Notice): Likewise.
12751         * modules/rename-dest-slash (Status, Notice): Likewise.
12752         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
12753         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
12754         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
12755         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
12756         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
12757
12758 2011-05-16  Bruno Haible  <bruno@clisp.org>
12759
12760         doc: List the target platforms.
12761         * doc/gnulib-intro.texi (Target Platforms): New section.
12762         * doc/gnulib.texi (Introduction): Update menu.
12763         * README (Portability guidelines): Refer to the new section. Update
12764         statement about oldest supported environment. Remove rationale why
12765         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
12766         unportable C89 function.
12767         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
12768         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
12769
12770 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
12771
12772         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
12773
12774 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
12775
12776         intprops-tests: new module
12777         * modules/intprops-tests, tests/test-intprops.c: New files.
12778
12779         intprops: add safe, portable integer overflow checking
12780         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
12781         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
12782         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
12783         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
12784         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
12785         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
12786         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
12787         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
12788         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
12789         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
12790         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
12791
12792 2011-05-12  James Youngman  <jay@gnu.org>
12793
12794         Add a test for glibc's Bugzilla bug #12378.
12795         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
12796         doesn't allow the literal matching of a lone "[" (which is
12797         required by POSIX).
12798         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
12799
12800 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
12801
12802         Sync glibc change fixing Bugzilla bug #12378.
12803         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
12804         beginning and fall back to matching as normal character if the
12805         string ends before the matching ']' is found.  This is what POSIX
12806         requires.
12807
12808 2011-05-13  Eric Blake  <eblake@redhat.com>
12809
12810         getcwd-lgpl: relax test for FreeBSD
12811         * doc/posix-functions/getcwd.texi (getcwd): Document portability
12812         issue.
12813         * tests/test-getcwd-lgpl.c (main): Relax test.
12814         Reported by Matthias Bolte.
12815
12816 2011-05-11  Eric Blake  <eblake@redhat.com>
12817
12818         test-fflush: silence compiler warning
12819         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
12820
12821 2011-05-11  Bruno Haible  <bruno@clisp.org>
12822
12823         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
12824         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
12825         * modules/canonicalize (Depends-on): Add 'nocrash'.
12826         * modules/canonicalize-lgpl (Depends-on): Likewise.
12827         * doc/posix-functions/realpath.texi: Update platforms list.
12828         Reported by Ryan Schmidt <ryandesign@macports.org>.
12829
12830 2011-05-11  Bruno Haible  <bruno@clisp.org>
12831
12832         group-member: Declare function in <unistd.h>.
12833         * lib/unistd.in.h (group_member): New declaration.
12834         * lib/group-member.h: Remove file.
12835         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
12836         * tests/test-unistd-c++.cc: Check signature of group_member.
12837         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
12838         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
12839         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
12840         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
12841         HAVE_GROUP_MEMBER.
12842         * modules/group-member (Files): Remove lib/group-member.h.
12843         (Depends-on): Add unistd. Specify conditions.
12844         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
12845         (Include): Change to <unistd.h>.
12846         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
12847         HAVE_GROUP_MEMBER.
12848         * NEWS: Mention the change.
12849         * lib/euidaccess.c: Don't include group-member.h.
12850
12851 2011-05-11  Bruno Haible  <bruno@clisp.org>
12852
12853         group-member: Document module.
12854         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
12855         module.
12856
12857 2011-05-11  Bruno Haible  <bruno@clisp.org>
12858
12859         fclose: Fix mistake earlier today.
12860         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
12861
12862 2011-05-11  Eric Blake  <eblake@redhat.com>
12863
12864         fclose: preserve fflush errors
12865         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
12866         Reported by Jim Meyering.
12867
12868         bootstrap: support a prereq of 'rpcgen -' on RHEL5
12869         * build-aux/bootstrap (check_versions): When no specific version
12870         is required, merely check that the app produces an exit status
12871         that indicates its existence.
12872
12873         maint.mk: drop redundant check
12874         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
12875         the same but better.
12876
12877 2011-05-11  Bruno Haible  <bruno@clisp.org>
12878
12879         fclose: Fix possible link error.
12880         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
12881         unregister_shadow_fd. Improve comments.
12882         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
12883         Eric Blake.
12884
12885 2011-05-11  Jim Meyering  <meyering@redhat.com>
12886
12887         maint.mk: improve "can not" detection and generalize rule name
12888         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
12889         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
12890         Use the same technique as in sc_prohibit_doubled_word, so that
12891         we recognize "can not" also when the words are separated by a newline.
12892         Suggested by Eric Blake.
12893         (perl_filename_lineno_text_): Define.  Factored out of...
12894         (prohibit_doubled_word_): ...here.  Use the new definition.
12895         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
12896         (prohibit_undesirable_word_seq_RE_): New overridable variable.
12897         (ignore_undesirable_word_sequence_RE_): New overridable variable.
12898
12899 2011-05-10  Eric Blake  <eblake@redhat.com>
12900
12901         fclose: avoid double close race when possible
12902         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
12903         all but WINDOWS_SOCKETS.
12904
12905 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
12906
12907         openat: correct new comment
12908         * lib/openat-proc.c (openat_proc_name): Correct the comment.
12909
12910 2011-05-10  Jim Meyering  <meyering@redhat.com>
12911
12912         openat: add comments
12913         * lib/openat-proc.c (openat_proc_name): Add comments,
12914         mostly from Eric Blake.
12915
12916 2011-05-09  Eric Blake  <eblake@redhat.com>
12917
12918         openat: reduce syscalls in first probe of /proc
12919         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
12920         be a directory.  Simplify the probe for .. bugs.
12921         * modules/openat (Depends-on): Drop same-inode.
12922         Reported by Bastien ROUCARIES.
12923
12924 2011-05-09  Jim Meyering  <meyering@redhat.com>
12925
12926         maint.mk: change semantics/name of tight_scope variables
12927         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
12928         Rename variables to align with semantics that make them more useful.
12929
12930         maint.mk: tweak new rule's name not to impinge
12931         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
12932         (sc_tight_scope): Use new rule name rather than $@-0.
12933
12934         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
12935         * top/maint.mk (sc_tight_scope): New rule.
12936         (sc_tight_scope-0): New rule, ifdef'd out.
12937         (_gl_TS_dir): Default.
12938         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
12939         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
12940
12941 2011-05-09  Simon Josefsson  <simon@josefsson.org>
12942
12943         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
12944         Haible <bruno@clisp.org>.
12945
12946 2011-05-08  Bruno Haible  <bruno@clisp.org>
12947
12948         Comments.
12949         * m4/isnanf.m4: Add comment.
12950         * m4/isnanl.m4: Likewise.
12951
12952 2011-05-08  Bruno Haible  <bruno@clisp.org>
12953
12954         glob: Remove obsolete macro.
12955         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
12956
12957 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
12958
12959         intprops: Sun C 5.11 supports __typeof__
12960         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
12961         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
12962         which is new.
12963         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
12964
12965         intprops: switch to usual gnulib indenting and naming
12966         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
12967         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
12968
12969         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
12970
12971 2011-05-08  Jim Meyering  <meyering@redhat.com>
12972
12973         maint.mk: suppress "Entering/Leaving directory" diag in announcement
12974         * top/maint.mk (release-prep): Use make's --no-print-directory
12975         option when generating the announcement.  This eliminates the
12976         pesky "make[2]: Entering/Leaving directory" diagnostics in the
12977         generated announcement template.
12978
12979 2011-05-08  Bruno Haible  <bruno@clisp.org>
12980
12981         tzset: Fix gettimeofday wrapper on Solaris 2.6.
12982         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
12983         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
12984
12985 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
12986
12987         ignore-value, verify: Omit include files from lib_SOURCES.
12988         * modules/ignore-value, modules/verify (Makefile.am):
12989         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
12990         that leads Automake to duplicate use of am__objects_... variables
12991         in Makefile.in.  See
12992         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
12993
12994 2011-05-07  Bruno Haible  <bruno@clisp.org>
12995
12996         fclose: Simplify autoconf macro.
12997         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
12998         defined.
12999
13000 2011-05-07  Bruno Haible  <bruno@clisp.org>
13001
13002         canonicalize-lgpl: Fix autoconf macro ordering bug.
13003         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
13004         gl_STDLIB_H_DEFAULTS.
13005
13006 2011-05-06  Eric Blake  <eblake@redhat.com>
13007
13008         maintainer-makefile: make sc_po_check easier to tune
13009         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
13010         to probe for strings, such as an alternate location for gnulib.
13011
13012         fclose: guarantee behavior on seekable stdin
13013         * modules/fclose (Depends-on): Add fflush.
13014         * doc/posix-functions/fclose.texi (fclose): Document this.
13015         * tests/test-fclose.c (main): Make test for this unconditional.
13016
13017 2011-05-06  Bruno Haible  <bruno@clisp.org>
13018
13019         fflush, fpurge: Relicense under LGPLv2+.
13020         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
13021         * modules/fpurge (License): Likewise.
13022         With permission from Eric Blake and Jim Meyering.
13023         Suggested by Eric Blake.
13024
13025 2011-05-06  Karl Berry  <karl@gnu.org>
13026
13027         * MODULES.html.sh (func_all_modules): remove exit.
13028
13029 2011-05-06  Jim Meyering  <meyering@redhat.com>
13030
13031         maint.mk: use info-gnu@ as the default only for a stable release
13032         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
13033         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
13034         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
13035         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
13036
13037 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
13038
13039         assert-h: new module, which supports C1X-style static_assert
13040         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
13041         * lib/verify.h: Revamp so that this can be copied into assert.h,
13042         while retaining the ability to use it standalone as before.
13043         Rename private identifiers so as not to encroach on the
13044         standard C namespace, since this is now used by assert.h.
13045         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
13046         the old verify_true.
13047         (_GL_VERIFY_TRUE): New macro, with much of the contents of
13048         the old verify_true.  Use _GL_VERIFY_TYPE.
13049         (_GL_VERIFY): New macro, with much of the contents of the old verify.
13050         (static_assert): New macro, if _GL_STATIC_ASSERT_H
13051         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
13052         defined when this file is copied into the replacement assert.h.
13053         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
13054         and _Static_assert is not built in.
13055         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
13056         defined, and use the new macros mentioned above.
13057         * doc/posix-headers/assert.texi: Document this.
13058
13059 2011-05-05  Bruno Haible  <bruno@clisp.org>
13060
13061         fclose, fflush: Respect rules for use of AC_LIBOBJ.
13062         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
13063         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
13064         gl_REPLACE_FCLOSE here.
13065         * modules/fflush (Depends-on): Remove fclose.
13066         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
13067         combination with module 'fclose'.
13068
13069 2011-05-05  Bruno Haible  <bruno@clisp.org>
13070
13071         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
13072         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
13073         gl_FUNC_FFLUSH.
13074         (gl_FUNC_FFLUSH): Use it.
13075         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
13076         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
13077         gl_REPLACE_FSEEKO here.
13078
13079 2011-05-05  Bruno Haible  <bruno@clisp.org>
13080
13081         tzset: Relicense under LGPL.
13082         * modules/tzset (License): Change to LGPL.
13083         No agreement needed; it's a no-op.
13084
13085         strtoimax, strtoumax: Relicense under LGPL.
13086         * modules/strtoimax (License): Change to LGPL.
13087         * modules/strtoumax (License): Likewise.
13088         With permission from Jim Meyering, Paul Eggert:
13089         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
13090         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
13091
13092         getgroups: Relicense under LGPL.
13093         * modules/getgroups (License): Change to LGPL.
13094         With permission from Jim Meyering, Paul Eggert, Eric Blake:
13095         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
13096         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
13097         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13098
13099         nanosleep: Relicense under LGPL.
13100         * modules/nanosleep (License): Change to LGPL.
13101         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
13102         Haible:
13103         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
13104         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
13105         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13106         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
13107
13108         futimens: Relicense under LGPL.
13109         * modules/futimens (License): Change to LGPL.
13110         With permission from Eric Blake:
13111         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13112
13113         fflush: Relicense under LGPL.
13114         * modules/fflush (License): Change to LGPL.
13115         With permission from Eric Blake, Bruno Haible, Jim Meyering:
13116         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13117         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
13118         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
13119
13120         tmpfile: Relicense under LGPL.
13121         * modules/tmpfile (License): Change to LGPL.
13122         With permission from Ben Pfaff:
13123         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
13124
13125         isfinite: Relicense under LGPL.
13126         * modules/isfinite (License): Change to LGPL.
13127         With permission from Ben Pfaff, Bruno Haible:
13128         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
13129         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
13130
13131         acosl..tanl: Relicense under LGPL.
13132         * modules/acosl (License): Change to LGPL.
13133         * modules/asinl (License): Likewise.
13134         * modules/atanl (License): Likewise.
13135         * modules/cosl (License): Likewise.
13136         * modules/expl (License): Likewise.
13137         * modules/logl (License): Likewise.
13138         * modules/sinl (License): Likewise.
13139         * modules/sqrtl (License): Likewise.
13140         * modules/tanl (License): Likewise.
13141         Source code originally from glibc and Paolo Bonzini. Agreements:
13142         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
13143         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
13144
13145 2011-05-05  Bruno Haible  <bruno@clisp.org>
13146
13147         signal: Define sighandler_t.
13148         * lib/signal.in.h (sighandler_t): New type.
13149         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
13150         whether sighandler_t is defined.
13151         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
13152         * modules/signal (Depends-on): Add extensions.
13153         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
13154         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
13155         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
13156
13157 2011-05-05  Eric Blake  <eblake@redhat.com>
13158
13159         maint: remove useless REPLACE_*_H macros
13160         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
13161         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
13162         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
13163         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
13164         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
13165         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
13166         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
13167         * m4/btowc.m4: Update callers.
13168         * m4/dirfd.m4: Likewise.
13169         * m4/duplocale.m4: Likewise.
13170         * m4/fchdir.m4: Likewise.
13171         * m4/fdopendir.m4: Likewise.
13172         * m4/inet_ntop.m4: Likewise.
13173         * m4/inet_pton.m4: Likewise.
13174         * m4/ioctl.m4: Likewise.
13175         * m4/mbrlen.m4: Likewise.
13176         * m4/mbrtowc.m4: Likewise.
13177         * m4/mbsinit.m4: Likewise.
13178         * m4/mbsnrtowcs.m4: Likewise.
13179         * m4/mbsrtowcs.m4: Likewise.
13180         * m4/poll.m4: Likewise.
13181         * m4/setlocale.m4: Likewise.
13182         * m4/wcrtomb.m4: Likewise.
13183         * m4/wcsnrtombs.m4: Likewise.
13184         * m4/wcsrtombs.m4: Likewise.
13185         * m4/wctob.m4: Likewise.
13186         * m4/wcwidth.m4: Likewise.
13187         * modules/posix_spawn: Likewise.
13188         * modules/posix_spawn_file_actions_addclose: Likewise.
13189         * modules/posix_spawn_file_actions_adddup2: Likewise.
13190         * modules/posix_spawn_file_actions_addopen: Likewise.
13191         * modules/posix_spawn_file_actions_destroy: Likewise.
13192         * modules/posix_spawn_file_actions_init: Likewise.
13193         * modules/posix_spawnattr_destroy: Likewise.
13194         * modules/posix_spawnattr_getflags: Likewise.
13195         * modules/posix_spawnattr_getpgroup: Likewise.
13196         * modules/posix_spawnattr_getschedparam: Likewise.
13197         * modules/posix_spawnattr_getschedpolicy: Likewise.
13198         * modules/posix_spawnattr_getsigdefault: Likewise.
13199         * modules/posix_spawnattr_getsigmask: Likewise.
13200         * modules/posix_spawnattr_init: Likewise.
13201         * modules/posix_spawnattr_setflags: Likewise.
13202         * modules/posix_spawnattr_setpgroup: Likewise.
13203         * modules/posix_spawnattr_setschedparam: Likewise.
13204         * modules/posix_spawnattr_setschedpolicy: Likewise.
13205         * modules/posix_spawnattr_setsigdefault: Likewise.
13206         * modules/posix_spawnattr_setsigmask: Likewise.
13207         * modules/posix_spawnp: Likewise.
13208
13209 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
13210
13211         Add option to do-release-commit-and-tag to specify branch.
13212         * build-aux/do-release-commit-and-tag: Add --branch.
13213
13214 2011-05-03  Bruno Haible  <bruno@clisp.org>
13215
13216         Avoid unnecessary compilation units, through conditional dependencies.
13217         * modules/accept (Depends-on): Add conditions to the dependencies.
13218         * modules/acosl (Depends-on): Likewise.
13219         * modules/argz (Depends-on): Likewise.
13220         * modules/asinl (Depends-on): Likewise.
13221         * modules/atanl (Depends-on): Likewise.
13222         * modules/atoll (Depends-on): Likewise.
13223         * modules/bind (Depends-on): Likewise.
13224         * modules/btowc (Depends-on): Likewise.
13225         * modules/canonicalize-lgpl (Depends-on): Likewise.
13226         * modules/ceil (Depends-on): Likewise.
13227         * modules/ceilf (Depends-on): Likewise.
13228         * modules/ceill (Depends-on): Likewise.
13229         * modules/chdir-long (Depends-on): Likewise.
13230         * modules/chown (Depends-on): Likewise.
13231         * modules/close (Depends-on): Likewise.
13232         * modules/connect (Depends-on): Likewise.
13233         * modules/cosl (Depends-on): Likewise.
13234         * modules/dirfd (Depends-on): Likewise.
13235         * modules/dprintf (Depends-on): Likewise.
13236         * modules/dprintf-posix (Depends-on): Likewise.
13237         * modules/error (Depends-on): Likewise.
13238         * modules/euidaccess (Depends-on): Likewise.
13239         * modules/expl (Depends-on): Likewise.
13240         * modules/faccessat (Depends-on): Likewise.
13241         * modules/fchdir (Depends-on): Likewise.
13242         * modules/fclose (Depends-on): Likewise.
13243         * modules/fcntl (Depends-on): Likewise.
13244         * modules/fdopendir (Depends-on): Likewise.
13245         * modules/fflush (Depends-on): Likewise.
13246         * modules/floor (Depends-on): Likewise.
13247         * modules/floorf (Depends-on): Likewise.
13248         * modules/floorl (Depends-on): Likewise.
13249         * modules/fnmatch (Depends-on): Likewise.
13250         * modules/fopen (Depends-on): Likewise.
13251         * modules/fprintf-posix (Depends-on): Likewise.
13252         * modules/frexp (Depends-on): Likewise.
13253         * modules/frexp-nolibm (Depends-on): Likewise.
13254         * modules/frexpl (Depends-on): Likewise.
13255         * modules/frexpl-nolibm (Depends-on): Likewise.
13256         * modules/fseek (Depends-on): Likewise.
13257         * modules/fsusage (Depends-on): Likewise.
13258         * modules/ftell (Depends-on): Likewise.
13259         * modules/ftello (Depends-on): Likewise.
13260         * modules/futimens (Depends-on): Likewise.
13261         * modules/getcwd (Depends-on): Likewise.
13262         * modules/getcwd-lgpl (Depends-on): Likewise.
13263         * modules/getdelim (Depends-on): Likewise.
13264         * modules/getdomainname (Depends-on): Likewise.
13265         * modules/getgroups (Depends-on): Likewise.
13266         * modules/gethostname (Depends-on): Likewise.
13267         * modules/getline (Depends-on): Likewise.
13268         * modules/getlogin_r (Depends-on): Likewise.
13269         * modules/getopt-posix (Depends-on): Likewise.
13270         * modules/getpeername (Depends-on): Likewise.
13271         * modules/getsockname (Depends-on): Likewise.
13272         * modules/getsockopt (Depends-on): Likewise.
13273         * modules/getsubopt (Depends-on): Likewise.
13274         * modules/getusershell (Depends-on): Likewise.
13275         * modules/glob (Depends-on): Likewise.
13276         * modules/grantpt (Depends-on): Likewise.
13277         * modules/iconv_open (Depends-on): Likewise.
13278         * modules/iconv_open-utf (Depends-on): Likewise.
13279         * modules/inet_ntop (Depends-on): Likewise.
13280         * modules/inet_pton (Depends-on): Likewise.
13281         * modules/ioctl (Depends-on): Likewise.
13282         * modules/isapipe (Depends-on): Likewise.
13283         * modules/isfinite (Depends-on): Likewise.
13284         * modules/isinf (Depends-on): Likewise.
13285         * modules/lchown (Depends-on): Likewise.
13286         * modules/ldexpl (Depends-on): Likewise.
13287         * modules/link (Depends-on): Likewise.
13288         * modules/linkat (Depends-on): Likewise.
13289         * modules/listen (Depends-on): Likewise.
13290         * modules/logl (Depends-on): Likewise.
13291         * modules/lstat (Depends-on): Likewise.
13292         * modules/mbrlen (Depends-on): Likewise.
13293         * modules/mbrtowc (Depends-on): Likewise.
13294         * modules/mbsinit (Depends-on): Likewise.
13295         * modules/mbsnrtowcs (Depends-on): Likewise.
13296         * modules/mbsrtowcs (Depends-on): Likewise.
13297         * modules/mbtowc (Depends-on): Likewise.
13298         * modules/memcmp (Depends-on): Likewise.
13299         * modules/mkdir (Depends-on): Likewise.
13300         * modules/mkdtemp (Depends-on): Likewise.
13301         * modules/mkfifo (Depends-on): Likewise.
13302         * modules/mkfifoat (Depends-on): Likewise.
13303         * modules/mknod (Depends-on): Likewise.
13304         * modules/mkostemp (Depends-on): Likewise.
13305         * modules/mkostemps (Depends-on): Likewise.
13306         * modules/mkstemp (Depends-on): Likewise.
13307         * modules/mkstemps (Depends-on): Likewise.
13308         * modules/mktime (Depends-on): Likewise.
13309         * modules/nanosleep (Depends-on): Likewise.
13310         * modules/open (Depends-on): Likewise.
13311         * modules/openat (Depends-on): Likewise.
13312         * modules/perror (Depends-on): Likewise.
13313         * modules/poll (Depends-on): Likewise.
13314         * modules/popen (Depends-on): Likewise.
13315         * modules/posix_spawn (Depends-on): Likewise.
13316         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
13317         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
13318         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
13319         * modules/posix_spawnp (Depends-on): Likewise.
13320         * modules/pread (Depends-on): Likewise.
13321         * modules/printf-posix (Depends-on): Likewise.
13322         * modules/ptsname (Depends-on): Likewise.
13323         * modules/putenv (Depends-on): Likewise.
13324         * modules/pwrite (Depends-on): Likewise.
13325         * modules/readline (Depends-on): Likewise.
13326         * modules/readlink (Depends-on): Likewise.
13327         * modules/readlinkat (Depends-on): Likewise.
13328         * modules/recv (Depends-on): Likewise.
13329         * modules/recvfrom (Depends-on): Likewise.
13330         * modules/regex (Depends-on): Likewise.
13331         * modules/remove (Depends-on): Likewise.
13332         * modules/rename (Depends-on): Likewise.
13333         * modules/renameat (Depends-on): Likewise.
13334         * modules/rmdir (Depends-on): Likewise.
13335         * modules/round (Depends-on): Likewise.
13336         * modules/roundf (Depends-on): Likewise.
13337         * modules/roundl (Depends-on): Likewise.
13338         * modules/rpmatch (Depends-on): Likewise.
13339         * modules/select (Depends-on): Likewise.
13340         * modules/send (Depends-on): Likewise.
13341         * modules/sendto (Depends-on): Likewise.
13342         * modules/setenv (Depends-on): Likewise.
13343         * modules/setlocale (Depends-on): Likewise.
13344         * modules/setsockopt (Depends-on): Likewise.
13345         * modules/shutdown (Depends-on): Likewise.
13346         * modules/sigaction (Depends-on): Likewise.
13347         * modules/signbit (Depends-on): Likewise.
13348         * modules/sigprocmask (Depends-on): Likewise.
13349         * modules/sinl (Depends-on): Likewise.
13350         * modules/sleep (Depends-on): Likewise.
13351         * modules/snprintf (Depends-on): Likewise.
13352         * modules/snprintf-posix (Depends-on): Likewise.
13353         * modules/socket (Depends-on): Likewise.
13354         * modules/sprintf-posix (Depends-on): Likewise.
13355         * modules/sqrtl (Depends-on): Likewise.
13356         * modules/stat (Depends-on): Likewise.
13357         * modules/strchrnul (Depends-on): Likewise.
13358         * modules/strdup-posix (Depends-on): Likewise.
13359         * modules/strerror (Depends-on): Likewise.
13360         * modules/strerror_r-posix (Depends-on): Likewise.
13361         * modules/strndup (Depends-on): Likewise.
13362         * modules/strnlen (Depends-on): Likewise.
13363         * modules/strptime (Depends-on): Likewise.
13364         * modules/strsep (Depends-on): Likewise.
13365         * modules/strsignal (Depends-on): Likewise.
13366         * modules/strstr-simple (Depends-on): Likewise.
13367         * modules/strtod (Depends-on): Likewise.
13368         * modules/strtoimax (Depends-on): Likewise.
13369         * modules/strtok_r (Depends-on): Likewise.
13370         * modules/strtoumax (Depends-on): Likewise.
13371         * modules/symlink (Depends-on): Likewise.
13372         * modules/symlinkat (Depends-on): Likewise.
13373         * modules/tanl (Depends-on): Likewise.
13374         * modules/tcgetsid (Depends-on): Likewise.
13375         * modules/tmpfile (Depends-on): Likewise.
13376         * modules/trunc (Depends-on): Likewise.
13377         * modules/truncf (Depends-on): Likewise.
13378         * modules/truncl (Depends-on): Likewise.
13379         * modules/uname (Depends-on): Likewise.
13380         * modules/unlink (Depends-on): Likewise.
13381         * modules/unlockpt (Depends-on): Likewise.
13382         * modules/unsetenv (Depends-on): Likewise.
13383         * modules/usleep (Depends-on): Likewise.
13384         * modules/utimensat (Depends-on): Likewise.
13385         * modules/vasprintf (Depends-on): Likewise.
13386         * modules/vdprintf (Depends-on): Likewise.
13387         * modules/vdprintf-posix (Depends-on): Likewise.
13388         * modules/vfprintf-posix (Depends-on): Likewise.
13389         * modules/vprintf-posix (Depends-on): Likewise.
13390         * modules/vsnprintf (Depends-on): Likewise.
13391         * modules/vsnprintf-posix (Depends-on): Likewise.
13392         * modules/vsprintf-posix (Depends-on): Likewise.
13393         * modules/wcrtomb (Depends-on): Likewise.
13394         * modules/wcscasecmp (Depends-on): Likewise.
13395         * modules/wcscspn (Depends-on): Likewise.
13396         * modules/wcsdup (Depends-on): Likewise.
13397         * modules/wcsncasecmp (Depends-on): Likewise.
13398         * modules/wcsnrtombs (Depends-on): Likewise.
13399         * modules/wcspbrk (Depends-on): Likewise.
13400         * modules/wcsrtombs (Depends-on): Likewise.
13401         * modules/wcsspn (Depends-on): Likewise.
13402         * modules/wcsstr (Depends-on): Likewise.
13403         * modules/wcstok (Depends-on): Likewise.
13404         * modules/wcswidth (Depends-on): Likewise.
13405         * modules/wctob (Depends-on): Likewise.
13406         * modules/wctomb (Depends-on): Likewise.
13407         * modules/wctype (Depends-on): Likewise.
13408         * modules/wcwidth (Depends-on): Likewise.
13409         * modules/write (Depends-on): Likewise.
13410
13411 2011-05-03  Bruno Haible  <bruno@clisp.org>
13412
13413         Support for conditional dependencies.
13414         * doc/gnulib.texi (Module description): Document the syntax of
13415         conditional dependencies.
13416         * gnulib-tool: New option --conditional-dependencies.
13417         (func_usage): Document it.
13418         (cond_dependencies): New variable.
13419         (func_get_automake_snippet_conditional,
13420         func_get_automake_snippet_unconditional): New functions, extracted from
13421         func_get_automake_snippet.
13422         (func_get_automake_snippet): Use them.
13423         (sed_first_32_chars): New variable.
13424         (func_module_shellfunc_name): New function.
13425         (func_module_shellvar_name): New function.
13426         (func_module_conditional_name): New function.
13427         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
13428         func_cond_module_condition): New functions.
13429         (func_modules_transitive_closure): Add support for conditional
13430         dependencies.
13431         (func_emit_lib_Makefile_am): For a conditional module, enclose the
13432         conditional automake snippet in an automake conditional.
13433         (func_emit_autoconf_snippets): Emit shell functions that contain the
13434         code for conditional modules.
13435         (func_import, func_create_testdir): Update specification.
13436
13437 2011-05-03  Eric Blake  <eblake@redhat.com>
13438
13439         test-getaddrinfo: report error information
13440         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
13441
13442 2011-05-03  Jim Meyering  <meyering@redhat.com>
13443
13444         bootstrap: avoid build failure when $GZIP is set
13445         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
13446         program name.  If defined at all, it is supposed to list gzip options.
13447         Reported by Alan Curry in http://debbugs.gnu.org/8609
13448
13449 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
13450
13451         readme-release: new module with release instructions
13452         * modules/readme-release: New module.
13453         * top/README-release: New file, from coreutils, grep, diffutils.
13454         * MODULES.html.sh (Support for maintaining and releasing): Add it.
13455
13456 2011-05-02  Eric Blake  <eblake@redhat.com>
13457
13458         fflush: also replace fclose when fixing fflush
13459         * modules/fflush (Depends-on): Add fclose.
13460         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
13461         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
13462         memstreams with no backing fd.
13463         * doc/posix-functions/fclose.texi (fclose): Document the use of
13464         fflush module to fix the bug.
13465         * tests/test-fclose.c (main): Relax test when fclose is used in
13466         isolation.
13467
13468         fclose: add some tests
13469         * modules/fclose-tests: New test module.
13470         * tests/test-fclose.c: New file.
13471         * doc/posix-functions/fclose.texi (fclose): Document the bug.
13472
13473         fclose: reduced dependencies
13474         * modules/fclose (Depends-on): Switch from fflush/fseeko to
13475         simpler lseek.
13476         * lib/fclose.c (rpl_fclose): Likewise.
13477         Reported by Simon Josefsson.
13478
13479         exit: drop remaining clients
13480         * modules/argmatch (Depends-on): Replace exit with stdlib.
13481         * modules/copy-file (Depends-on): Likewise.
13482         * modules/execute (Depends-on): Likewise.
13483         * modules/exitfail (Depends-on): Likewise.
13484         * modules/obstack (Depends-on): Likewise.
13485         * modules/pagealign_alloc (Depends-on): Likewise.
13486         * modules/pipe-filter-gi (Depends-on): Likewise.
13487         * modules/pipe-filter-ii (Depends-on): Likewise.
13488         * modules/savewd (Depends-on): Likewise.
13489         * modules/spawn-pipe (Depends-on): Likewise.
13490         * modules/wait-process (Depends-on): Likewise.
13491         * modules/xsetenv (Depends-on): Likewise.
13492         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
13493         * modules/git-merge-changelog (Depends-on): Likewise.
13494         * modules/long-options (Depends-on): Likewise.
13495         * modules/pt_chown (Depends-on): Likewise.
13496         * modules/sysexits (Depends-on): Likewise.
13497
13498         freading: relax license from LGPLv3+ to LGPLv2+
13499         * modules/freading (License): Relax LGPL version.
13500
13501 2011-05-02  Bruno Haible  <bruno@clisp.org>
13502
13503         fchdir: Remove unused dependencies.
13504         * modules/fchdir (Depends-on): Remove include_next.
13505
13506 2011-05-02  Bruno Haible  <bruno@clisp.org>
13507
13508         gnulib-tool: Refactor.
13509         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
13510         from func_emit_autoconf_snippets.
13511         (func_emit_autoconf_snippets): Use it.
13512
13513 2011-05-02  Simon Josefsson  <simon@josefsson.org>
13514
13515         * NEWS: Document removal of 'exit'.
13516         * modules/exit: Remove file.
13517
13518 2011-05-01  Bruno Haible  <bruno@clisp.org>
13519
13520         Update DEPENDENCIES.
13521         * DEPENDENCIES (gettext): Recommend the newest release.
13522         Reported by Simon Josefsson.
13523
13524 2011-05-01  Bruno Haible  <bruno@clisp.org>
13525
13526         gnulib-tool: Reduce code duplication.
13527         * gnulib-tool (func_emit_autoconf_snippets): New function.
13528         (func_import, func_create_testdir): Use it.
13529
13530 2011-04-30  Eric Blake  <eblake@redhat.com>
13531
13532         fclose: don't fail on non-seekable input stream
13533         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
13534         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
13535         since fflush is allowed to fail in that case.
13536
13537 2011-04-30  Bruno Haible  <bruno@clisp.org>
13538
13539         dup3: cleanup
13540         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
13541
13542 2011-04-30  Bruno Haible  <bruno@clisp.org>
13543
13544         netdb: Make it work in C++ mode.
13545         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
13546         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
13547         module.
13548         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
13549         gl_MODULE_INDICATOR_FOR_TESTS.
13550         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
13551         * modules/netdb-c++-tests: New file.
13552         * tests/test-netdb-c++.cc: New file.
13553
13554 2011-04-30  Bruno Haible  <bruno@clisp.org>
13555
13556         New modules 'vfscanf', 'vscanf'.
13557         * modules/vfscanf: New file.
13558         * modules/vscanf: New file.
13559         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
13560         here.
13561         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
13562         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
13563
13564 2011-04-30  Bruno Haible  <bruno@clisp.org>
13565
13566         passfd: Add comments.
13567         * lib/passfd.c: Add comments about platforms.
13568
13569 2011-04-30  Bruno Haible  <bruno@clisp.org>
13570
13571         sys_uio: Make <sys/uio.h> self-contained.
13572         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
13573         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
13574
13575 2011-04-30  Bruno Haible  <bruno@clisp.org>
13576
13577         sys_socket: Ensure 'struct iovec' definition.
13578         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
13579         <sys/socket.h>.
13580         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
13581
13582 2011-04-30  Bruno Haible  <bruno@clisp.org>
13583
13584         sys_uio: Protect definition of 'struct iovec'.
13585         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
13586         it as a C struct.
13587
13588 2011-04-30  Bruno Haible  <bruno@clisp.org>
13589
13590         manywarnings: fix indentation
13591         * m4/manywarnings.m4: Indent by 2 spaces consistently.
13592
13593 2011-04-30  Pádraig Brady <P@draigBrady.com>
13594
13595         manywarnings: add -Wno-missing-field-initializers if needed.
13596         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
13597         option if it's needed to allow initialization with { 0, }
13598
13599 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
13600
13601         announce-gen: cosmetic improvement
13602         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
13603
13604 2011-04-29  Jim Meyering  <meyering@redhat.com>
13605
13606         vc-list-files: indent with spaces, not TABs
13607         * build-aux/vc-list-files: Convert leading TABs to spaces,
13608         to match the style of most other files in gnulib.
13609
13610         announce-gen: indent with spaces, not TABs
13611         * build-aux/announce-gen: Convert all TABs to spaces, to match
13612         the style of most other files in gnulib.
13613
13614 2011-04-29  Eric Blake  <eblake@redhat.com>
13615
13616         quotearg: avoid uninitialized variable use
13617         * lib/quotearg.c (quoting_options_from_style): Initialize
13618         remaining fields, and ensure that custom styles are only used via
13619         quoting_options rather than quoting_style.
13620
13621 2011-04-29  Jim Meyering  <meyering@redhat.com>
13622
13623         maint.mk: remove unused VC-tag variable
13624         * top/maint.mk (VC-tag): Remove unused variable.
13625
13626 2011-04-29  Bruno Haible  <bruno@clisp.org>
13627
13628         netdb: fix gai_strerror replacements
13629         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
13630         * modules/netdb: Substitute it.
13631
13632 2011-04-29  Jim Meyering  <meyering@redhat.com>
13633
13634         test-getcwd.c: avoid new set-but-not-used warning
13635         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
13636         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
13637         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
13638         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
13639
13640         test-hash.c: avoid a new shadowing warning
13641         * tests/test-hash.c (main): Don't shadow "dup".
13642
13643 2011-04-28  Eric Blake  <eblake@redhat.com>
13644
13645         getaddrinfo: fix gai_strerror signature
13646         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
13647         and work around mingw with UNICODE defined.
13648         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
13649         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
13650         * modules/netdb (Makefile.am): Substitute it.
13651         * lib/netdb.in.h (gai_strerror): Declare replacement.
13652         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
13653         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
13654         the fix.
13655
13656         getsockopt: avoid compiler warning
13657         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
13658         Reported by Matthias Bolte.
13659
13660         tests: drop unused link dependency
13661         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
13662         * modules/dirent-safer-tests (Makefile.am): Likewise.
13663         * modules/fdopendir-tests (Makefile.am): Likewise.
13664         * modules/mkfifoat-tests (Makefile.am): Likewise.
13665         * modules/openat-safer-tests (Makefile.am): Likewise.
13666         * modules/openat-tests (Makefile.am): Likewise.
13667         * modules/readlinkat-tests (Makefile.am): Likewise.
13668         * modules/symlinkat-tests (Makefile.am): Likewise.
13669         * modules/linkat-tests (Makefile.am): Likewise.
13670         (Depends-on): Switch to filenamecat-lgpl.
13671         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
13672         LIBINTL.
13673         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
13674         * tests/test-linkat.c (main): Don't require xalloc.
13675
13676         hash, mgetgroups: drop xalloc dependency
13677         * lib/hash.c (includes): Adjust includes.
13678         * lib/mgetgroups.c (includes): Likewise.
13679         (xgetgroups): Move...
13680         * lib/xgetgroups.c: ...to new file.
13681         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
13682         * modules/xgetgroups: New file, split from...
13683         * modules/mgetgroups: ...here.
13684         (Depends-on): Add xalloc-oversized.
13685         * modules/hash (Depends-on): Likewise.
13686         * modules/hash-tests (Depends-on): Drop xalloc.
13687         (test_hash_LDADD): Drop unused library.
13688         * tests/test-hash.c (main): Break xalloc dependency.
13689         (includes): Drop unused include.
13690
13691         xalloc-oversized: new module
13692         * modules/xalloc-oversized: New module.
13693         * modules/xalloc (Depends-on): Add it.
13694         * lib/xalloc.h (xalloc_oversized): Move...
13695         * lib/xalloc-oversized.h: ...into new file.
13696
13697         utimecmp: drop dependency on xmalloc
13698         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
13699         due to memory pressure.
13700         * modules/utimecmp (Depends-on): Drop xalloc.
13701
13702 2011-04-27  Eric Blake  <eblake@redhat.com>
13703
13704         getcwd: fix mingw bugs
13705         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
13706         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
13707         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
13708
13709 2011-04-27  Bruno Haible  <bruno@clisp.org>
13710
13711         mkstemps: Ensure declaration on MacOS X 10.5.
13712         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
13713         * doc/glibc-functions/mkstemps.texi: Document header file problem on
13714         MacOS X.
13715
13716 2011-04-27  Bruno Haible  <bruno@clisp.org>
13717
13718         mkstemp: More documentation.
13719         * doc/posix-functions/mkstemp.texi: Document header file problem on
13720         MacOS X.
13721
13722 2011-04-27  Bruno Haible  <bruno@clisp.org>
13723
13724         mkstemp: Tweak configure message when cross-compiling.
13725         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
13726         result as a guess.
13727
13728 2011-04-27  Bruno Haible  <bruno@clisp.org>
13729
13730         clean-temp: Clarify what it does.
13731         * lib/clean-temp.h: Add more comments.
13732         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
13733         module.
13734         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
13735         * doc/glibc-functions/mkstemps.texi: Likewise.
13736         * doc/glibc-functions/mkostemps.texi: Likewise.
13737
13738 2011-04-27  Eric Blake  <eblake@redhat.com>
13739
13740         fchdir: avoid extra chdir and fix test
13741         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
13742         getcwd-lgpl.
13743         * lib/fchdir.c (get_name): Any absolute name will do; it does not
13744         have to be canonical.
13745         (canonicalize_file_name): Drop unused macro.
13746         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
13747
13748         filenamecat-lgpl: fix licence
13749         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
13750         when it was first created.
13751
13752         linkat, renameat: add missing dependency
13753         * modules/linkat (Depends-on): Require getcwd-lgpl.
13754         * modules/renameat (Depends-on): Likewise.
13755
13756         tests: reduce dependencies
13757         * tests/test-linkat.c (main): Use lighter-weight getcwd.
13758         * tests/test-renameat.c (main): Likewise.
13759         * modules/linkat-tests (Depends-on): Relax dependency.
13760         * modules/renameat-tests (Depends-on): Likewise.
13761         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
13762         dependency explicit.
13763
13764         save-cwd: reduce default dependency
13765         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
13766         * lib/save-cwd.c: Update comments.
13767         * NEWS: Document the semantic change.
13768
13769         getcwd: enhance tests
13770         * tests/test-getcwd-lgpl.c: New file, taken from...
13771         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
13772         repeat long path stress tests from m4 probe.
13773         * modules/getcwd-lgpl-tests: New module.
13774         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
13775         * m4/getcwd-abort-bug.m4: Update comment.
13776         * m4/getcwd-path-max.m4: Likewise.
13777
13778         getcwd-lgpl: new module
13779         * modules/getcwd-lgpl: New module.
13780         * lib/getcwd-lgpl.c: New file.
13781         * doc/posix-functions/getcwd.texi (getcwd): Document it.
13782         * MODULES.html.sh (lacking POSIX:2008): Likewise.
13783         * modules/getcwd (configure.ac): Set C witness.
13784         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
13785
13786         getcwd: tweak comments
13787         * m4/getcwd-abort-bug.m4: Fix comments.
13788         * m4/getcwd-path-max.m4: Likewise.
13789         * m4/getcwd.m4: Likewise.
13790
13791 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
13792         and Eric Blake  <eblake@redhat.com>
13793
13794         mkstemp: replace if system version uses wrong permissions
13795         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
13796         read/write mode bits set in file created by mkstemp.
13797         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
13798
13799 2011-04-27  Eric Blake  <eblake@redhat.com>
13800
13801         passfd: avoid compiler warning
13802         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
13803         Reported by Laine Stump.
13804
13805 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
13806
13807         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
13808         required by the NetBSD (and perhaps other 4.4BSD derived) join.
13809
13810 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
13811         and Eric Blake  <eblake@redhat.com>
13812
13813         mkstemp: mention clean-temp module
13814         * lib/mkstemp.c: Add comment.
13815         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
13816
13817 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
13818
13819         inttypes: also provide default values for 32-bit tests
13820         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
13821         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
13822
13823 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
13824
13825         strtoumax: remove dependency on strtoimax
13826         This is like the strtoull change of yesterday.
13827         * modules/strtoumax (Files): Add lib/strtoimax.c.
13828         (Depends-on): Remove strtoimax and add verify.
13829
13830         inttypes-incomplete: new module
13831         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
13832         all but the PRI* and SCN* parts of gl_INTTYPES_H.
13833         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
13834         of gl_INTTYPES_H.
13835         (gl_INTTYPES_H): Rewrite in terms of these new macros.
13836         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
13837         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
13838         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
13839         * modules/strtoumax, modules/xstrtol (Depends-on):
13840         Depend on inttypes-incomplete, not inttypes.
13841         * modules/inttypes-incomplete: New module, containing the contents
13842         of the old modules/inttypes module, except that the Files: section
13843         omits m4/inttypes-pri.m4, and the configure.ac section invokes
13844         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
13845         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
13846         (Depends-on): Depend only on inttypes-incomplete.
13847         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
13848
13849         inttypes: omit now-redundant strtoimax and strtoumax work
13850         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
13851         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
13852
13853         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
13854         This supports apps that need pointers to strtoimax and strtoumax,
13855         and ports to HP-UX 11.00 64.bit, which has macros that expand to
13856         nonexistent functions.  See
13857         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
13858         et seq.
13859         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
13860         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
13861         a macro.
13862         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
13863
13864 2011-04-25  Simon Josefsson  <simon@josefsson.org>
13865
13866         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
13867
13868 2011-04-25  Bruno Haible  <bruno@clisp.org>
13869
13870         strtol, strtoul: Mark modules as obsolete.
13871         * modules/strtol (Status, Notice): New sections.
13872         * modules/strtoul (Status, Notice): New sections.
13873
13874 2011-04-25  Bruno Haible  <bruno@clisp.org>
13875
13876         strtod: Remove check for strtod, unless supporting old platforms.
13877         * modules/strtod-obsolete: New file.
13878         * m4/strtod-obsolete.m4: New file.
13879         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
13880         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
13881         * modules/strtod (Depends-on): Add strtod-obsolete.
13882         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
13883
13884 2011-04-25  Bruno Haible  <bruno@clisp.org>
13885
13886         strcase: Make module obsolete.
13887         * modules/strcase (Status, Notice): New sections.
13888
13889 2011-04-25  Bruno Haible  <bruno@clisp.org>
13890
13891         dup2: Remove check for dup2, unless supporting old obsolete platforms.
13892         * modules/dup2-obsolete: New file.
13893         * m4/dup2-obsolete.m4: New file.
13894         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
13895         gl_FUNC_DUP2_OBSOLETE is not also defined.
13896         * modules/dup2 (Depends-on): Add dup2-obsolete.
13897         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
13898
13899 2011-04-25  Bruno Haible  <bruno@clisp.org>
13900
13901         strnlen: Avoid memchr related link error on old obsolete platforms.
13902         * modules/memchr-obsolete: New file.
13903         * m4/memchr-obsolete.m4: New file.
13904         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
13905         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
13906         * modules/memchr (Depends-on): Add memchr-obsolete.
13907         * modules/strnlen (Depends-on): Likewise.
13908         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
13909
13910 2011-04-25  Jim Meyering  <meyering@redhat.com>
13911
13912         maint.mk: makefile_at_at_check extend and clean up
13913         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
13914         in addition to */Makefile.am.
13915         Exempt legitimate uses of @VAR@ notation, e.g.,
13916         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
13917         Remove obsolete coreutils-specific comment.
13918         Prompted by discussion here:
13919         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
13920
13921 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
13922
13923         strtoul: remove dependency on strtol
13924         This is so that 'configure' need not check for strtol merely because
13925         the application needs strtoul.
13926         * modules/strtoul (Files): Add lib/strtol.c.
13927         (Depends-on): Remove strtol.
13928
13929         strtoull: remove dependency on strtoul
13930         This is like the strtoll change.
13931         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
13932         (Depends-on): Remove strtoul.
13933
13934         strtoll: remove dependency on strtol
13935         This is so that 'configure' need not check for strtol merely because
13936         the application needs strtoll.
13937         * modules/strtoll (Files): Add lib/strtol.c.
13938         (Depends-on): Remove strtol.
13939
13940 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
13941
13942         inttypes: Move some configure check to module 'imaxdiv'.
13943         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
13944         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
13945         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
13946
13947 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
13948
13949         inttypes: Move some configure check to module 'imaxabs'.
13950         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
13951         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
13952         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
13953
13954 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
13955
13956         inttypes: Remove configure tests that are not needed since 2009-12-31.
13957         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
13958         gl_cv_header_working_inttypes_h.
13959
13960 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
13961
13962         * modules/strnlen (Depends-on): Remove memchr.
13963         The strnlen implementation doesn't need the memchr module's fixes; see
13964         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
13965
13966         strtol: remove dependency on wchar
13967         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
13968         * modules/strtol (Depends-on): Remove wchar.
13969
13970 2011-04-21  Eric Blake  <eblake@redhat.com>
13971
13972         passfd: fix test regression on Linux
13973         * modules/passfd-tests (configure.ac): Correct socketpair check.
13974
13975         passfd: speed up configure and drop unused code
13976         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
13977         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
13978         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
13979         Instead of probing at configure for unix_scm_rights_bsd44_way,
13980         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
13981         check to a struct member probe.
13982         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
13983         (sendfd, recvfd): Update preprocessor checks.
13984         * modules/passfd (Files): Reflect rename, and drop unused file.
13985         (Depends-on): Drop unused dependency.
13986
13987         passfd: allow compilation on mingw
13988         * modules/sys_socket (Depends-on): Add sys_uio.
13989         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
13990         iovec and a minimal struct msghdr.
13991         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
13992         * tests/test-sys_socket.c (main): Enhance test.
13993         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
13994         guaranteed to provide what we need.
13995         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
13996         * modules/passfd-tests (Depends-on): Add sys_wait.
13997         * tests/test-passfd.c (main): Skip test on mingw, for now.
13998         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
13999         partial 'struct msghdr' implementation.
14000
14001         sys_uio: new module
14002         * modules/sys_uio: New module.
14003         * modules/sys_uio-tests: Likewise.
14004         * lib/sys_uio.in.h: New file.
14005         * m4/sys_uio_h.m4: Likewise.
14006         * tests/test-sys_uio.c: Likewise.
14007         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
14008         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
14009
14010 2011-04-20  Jim Meyering  <meyering@redhat.com>
14011
14012         useless-if-before-free: avoid false-positive
14013         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
14014         disjunct so that it too requires a terminating ";".  Without that,
14015         this script would identify as useless one statement from gcc that
14016         was not:
14017           if (aligned_ptr)
14018             free (((void **) aligned_ptr) [-1]);
14019
14020 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
14021
14022         doc: update users.txt.
14023         * users.txt: Add barcode.
14024
14025 2011-04-19  Bruno Haible  <bruno@clisp.org>
14026
14027         ioctl: Remove link dependency on native Windows.
14028         * lib/fd-hook.h: Renamed from lib/close-hook.h.
14029         (gl_close_fn, gl_ioctl_fn): New types.
14030         (struct fd_hook): Renamed from struct close_hook. Change type of
14031         private_close_fn field. Add private_ioctl_fn field.
14032         (close_hook_fn): Add parameter for primary close method.
14033         (execute_close_hooks, execute_all_close_hooks): Likewise.
14034         (ioctl_hook_fn): New type.
14035         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
14036         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
14037         argument.
14038         (unregister_fd_hook): Renamed from unregister_close_hook.
14039         * lib/fd-hook.c: Renamed from lib/close-hook.c.
14040         Don't include <unistd.h>.
14041         (close): Remove undef.
14042         (anchor): Update.
14043         (execute_close_hooks): Add argument for primary close method.
14044         (execute_all_close_hooks): Likewise.
14045         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
14046         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
14047         argument. Allow each argument to be NULL.
14048         (unregister_fd_hook): Renamed from unregister_close_hook.
14049         * lib/close.c (rpl_close): Pass 'close' function pointer to
14050         execute_all_close_hooks.
14051         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
14052         (primary_ioctl): New function.
14053         (ioctl): Don't call ioctlsocket here. Instead, call
14054         execute_all_ioctl_hooks.
14055         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
14056         close method.
14057         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
14058         (fd_sockets_hook): Renamed from close_sockets_hook.
14059         (gl_sockets_startup, gl_sockets_cleanup): Update.
14060         * modules/fd-hook: Renamed from modules/close-hook. Update.
14061         * modules/close (Depends-on): Add fd-hook, remove close-hook.
14062         * modules/sockets (Depends-on): Likewise.
14063         * modules/ioctl (Depends-on): Add fd-hook.
14064         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
14065         GNULIB_SOCKET.
14066
14067 2011-04-19  Bruno Haible  <bruno@clisp.org>
14068
14069         Move the support of O_NONBLOCK in open() to the 'open' module.
14070         * modules/nonblocking (Depends-on): Remove 'open'.
14071         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
14072         gl_cv_have_open_O_NONBLOCK.
14073         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
14074         O_NONBLOCK support.
14075         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
14076
14077 2011-04-17  Bruno Haible  <bruno@clisp.org>
14078
14079         pipe2: Simplify code.
14080         * lib/pipe2.c (pipe2): Reduce code duplication.
14081
14082 2011-04-17  Bruno Haible  <bruno@clisp.org>
14083
14084         nonblocking: Add comment.
14085         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
14086
14087 2011-04-17  Bruno Haible  <bruno@clisp.org>
14088
14089         nonblocking: Add tests for sockets.
14090         * tests/test-nonblocking-socket.sh: New file.
14091         * tests/test-nonblocking-socket-main.c: New file.
14092         * tests/test-nonblocking-socket-child.c: New file.
14093         * tests/test-nonblocking-socket.h: New file.
14094         * tests/socket-server.h: New file.
14095         * tests/socket-client.h: New file.
14096         * modules/nonblocking-socket-tests: New file.
14097         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
14098
14099 2011-04-17  Bruno Haible  <bruno@clisp.org>
14100
14101         nonblocking: Add tests for pipes.
14102         * tests/test-nonblocking-pipe.sh: New file.
14103         * tests/test-nonblocking-pipe-main.c: New file.
14104         * tests/test-nonblocking-pipe-child.c: New file.
14105         * tests/test-nonblocking-pipe.h: New file.
14106         * tests/test-nonblocking-writer.h: New file.
14107         * tests/test-nonblocking-reader.h: New file.
14108         * tests/test-nonblocking-misc.h: New file.
14109         * modules/nonblocking-pipe-tests: New file.
14110         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
14111
14112 2011-04-16  Bruno Haible  <bruno@clisp.org>
14113
14114         gettext: Clarify the needed programmer actions.
14115         * modules/gettext (Notice): New field.
14116         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
14117
14118 2011-04-16  Bruno Haible  <bruno@clisp.org>
14119
14120         strchrnul: Tweak last commit.
14121         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
14122         bug.
14123         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
14124         as in _GL_FUNCDECL_SYS.
14125         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
14126         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
14127
14128 2011-04-15  Eric Blake  <eblake@redhat.com>
14129
14130         strchrnul: work around cygwin bug
14131         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
14132         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
14133         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
14134         * modules/string (Makefile.am): Substitute it.
14135         * lib/string.in.h (strchrnul): Use it.
14136
14137 2011-04-15  Bruno Haible  <bruno@clisp.org>
14138
14139         Don't require lib/stdio-write.c when only module 'stdio' is used.
14140         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
14141         invocation.
14142         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
14143
14144 2011-04-14  Bruno Haible  <bruno@clisp.org>
14145
14146         Support non-blocking pipe I/O in read() on native Windows.
14147         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
14148         (read): New declaration.
14149         * lib/read.c: New file.
14150         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
14151         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
14152         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
14153         vscanf): New declarations.
14154         * lib/stdio-read.c: New file.
14155         * m4/read.m4: New file.
14156         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
14157         REPLACE_READ.
14158         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
14159         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
14160         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
14161         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
14162         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
14163         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
14164         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
14165         * modules/read: New file.
14166         * modules/nonblocking (Files): Add lib/stdio-read.c.
14167         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
14168         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
14169         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
14170         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
14171         * modules/pread (Depends-on): Add read.
14172         * modules/safe-read (Depends-on): Likewise.
14173         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
14174         gets, scanf, vfscanf, vscanf): Verify signatures.
14175         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
14176         problem with non-blocking pipes.
14177         * doc/posix-functions/fgetc.texi: Likewise.
14178         * doc/posix-functions/fgets.texi: Likewise.
14179         * doc/posix-functions/fread.texi: Likewise.
14180         * doc/posix-functions/fscanf.texi: Likewise.
14181         * doc/posix-functions/getc.texi: Likewise.
14182         * doc/posix-functions/getchar.texi: Likewise.
14183         * doc/posix-functions/gets.texi: Likewise.
14184         * doc/posix-functions/scanf.texi: Likewise.
14185         * doc/posix-functions/vfscanf.texi: Likewise.
14186         * doc/posix-functions/vscanf.texi: Likewise.
14187
14188 2011-04-14  Bruno Haible  <bruno@clisp.org>
14189
14190         Support non-blocking pipe I/O in write() on native Windows.
14191         * lib/write.c (rpl_write): Split a write request that failed merely
14192         because the byte count was larger than the pipe buffer's size.
14193         * doc/posix-functions/write.texi: Mention the problem with large byte
14194         counts.
14195
14196 2011-04-14  Bruno Haible  <bruno@clisp.org>
14197
14198         wchar: Ensure that wchar_t gets defined on uClibc.
14199         * lib/wchar.in.h: On uClibc, include <stddef.h>.
14200         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
14201
14202 2011-04-13  Bruno Haible  <bruno@clisp.org>
14203
14204         safe-write, full-read: Avoid unnecessary compilation units.
14205         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
14206         (Depends-on): Remove safe-read. Add ssize_t.
14207         * modules/full-read (Files): Add lib/full-write.c.
14208         (Depends-on): Add full-write.
14209
14210 2011-04-13  Bruno Haible  <bruno@clisp.org>
14211
14212         Support non-blocking pipe I/O and SIGPIPE in pwrite().
14213         * modules/pwrite (Depends-on): Add 'write'.
14214
14215 2011-04-13  Bruno Haible  <bruno@clisp.org>
14216
14217         Support non-blocking pipe I/O in write() on native Windows.
14218         * lib/unistd.in.h (write): Enable replacement also if
14219         GNULIB_UNISTD_H_NONBLOCKING is 1.
14220         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
14221         (rpl_write): When failing to write on a non-blocking pipe, change
14222         errno from ENOSPC to EAGAIN.
14223         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
14224         putchar, puts, vfprintf, vprintf): Enable replacement also if
14225         GNULIB_STDIO_H_NONBLOCKING is 1.
14226         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
14227         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
14228         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
14229         CALL_WITH_SIGPIPE_EMULATION.
14230         (CALL_WITH_SIGPIPE_EMULATION): Use them.
14231         * m4/nonblocking.m4: New file.
14232         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
14233         for non-blocking I/O support.
14234         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14235         GNULIB_UNISTD_H_NONBLOCKING.
14236         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
14237         required for non-blocking I/O support.
14238         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
14239         * modules/nonblocking (Files): Add m4/nonblocking.m4,
14240         lib/stdio-write.c, m4/asm-underscore.m4.
14241         (Depends-on): Add stdio, unistd.
14242         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
14243         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
14244         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
14245         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
14246         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
14247         problem with non-blocking pipes.
14248         * doc/posix-functions/fputc.texi: Likewise.
14249         * doc/posix-functions/fputs.texi: Likewise.
14250         * doc/posix-functions/fwrite.texi: Likewise.
14251         * doc/posix-functions/printf.texi: Likewise.
14252         * doc/posix-functions/putc.texi: Likewise.
14253         * doc/posix-functions/putchar.texi: Likewise.
14254         * doc/posix-functions/puts.texi: Likewise.
14255         * doc/posix-functions/vfprintf.texi: Likewise.
14256         * doc/posix-functions/vprintf.texi: Likewise.
14257         * doc/posix-functions/write.texi: Likewise.
14258
14259 2011-04-10  Jim Meyering  <meyering@redhat.com>
14260
14261         maint.mk: prohibit doubled words
14262         Detect them also when they're separated by a newline.
14263         There are 3 ways to customize it:
14264           - disable the test on a per file basis, as usual with rules using
14265             $(VC_LIST_EXCEPT)
14266           - replace the default doubled-word-selecting regexp (affects all files)
14267           - ignore a particular file-vs-doubled-word match
14268         I nearly used that last one to ignore the "is is" match in
14269         coreutils' NEWS file, since the text was "ls -is is ..."
14270         To do that, I would have added this line to cfg.mk:
14271           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
14272         but it would have ignored any "is is" match in NEWS.
14273         Low probability, but still...
14274         Instead, I changed the text, slightly:
14275           -  ls -is is now consistent with ls -lis in ignoring values returned
14276           +  "ls -is" is now consistent with ls -lis in ignoring values returned
14277         * top/maint.mk (prohibit_double_word_RE_): Provide default.
14278         (prohibit_doubled_word_): Define.
14279         (sc_prohibit_doubled_word): New rule.
14280         (sc_prohibit_the_the): Remove.  Subsumed by the above.
14281
14282 2011-04-10  Jim Meyering  <meyering@redhat.com>
14283
14284         maint: fix doubled-word typo in comment
14285         * m4/gethostname.m4: s/is is/it is/
14286         * m4/getdomainname.m4: Likewise.
14287
14288 2011-04-10  Jim Meyering  <meyering@redhat.com>
14289
14290         maint: remove doubled word: s/it it/it/
14291         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
14292
14293 2011-04-10  Jim Meyering  <meyering@redhat.com>
14294
14295         maint.mk: remove useless semicolon and backslash
14296         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
14297         semicolon and backslash.
14298
14299 2011-04-10  Bruno Haible  <bruno@clisp.org>
14300
14301         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
14302         * modules/stdint-tests (Depends-on): Add wchar.
14303
14304 2011-04-10  Jim Meyering  <meyering@redhat.com>
14305
14306         maint: remove doubled words in comments, e.g., s/a a/a/
14307         * lib/strptime.c (day_of_the_week): s/the the/the/
14308         * tests/test-chown.h (test_chown): s/a a/a/
14309
14310         test-chown.h: correct a cast
14311         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
14312         when the destination is a stat.st_gid.
14313
14314 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
14315
14316         getaddrinfo: Fix test for sa_len member.
14317         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
14318         include <sys/types.h> before <sys/socket.h>.
14319
14320 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14321
14322         maint: change "can not" to "cannot"
14323         * doc/posix-functions/iconv.texi (iconv): This one crossed line
14324         boundaries.
14325
14326 2011-04-09  Jim Meyering  <meyering@redhat.com>
14327
14328         maint: change "a a" to "a"
14329         * tests/test-lchown.h (test_lchown): s/a a/a/
14330
14331         maint.mk: prohibit \<the the\>
14332         * top/maint.mk (sc_prohibit_the_the): New rule.
14333
14334         maint: fix "the the" in comment
14335         * lib/count-one-bits.h: s/the the/the/
14336
14337         maint: change "can not" to "cannot"
14338         But do not change the occurrences in maintain.texi or in
14339         build-aux/po/Makefile.in.in, which I presume comes from gettext.
14340         * doc/gnulib-tool.texi: s/can not/cannot/
14341         * doc/posix-functions/accept.texi (accept): Likewise.
14342         * doc/posix-functions/socket.texi (socket): Likewise.
14343         * lib/mbrtowc.c: Likewise.
14344
14345         maint.mk: prohibit use of "can not"
14346         * top/maint.mk (sc_prohibit_can_not): New rule.
14347         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
14348
14349 2011-04-09  Bruno Haible  <bruno@clisp.org>
14350
14351         careadlinkat: Guard against misuse of careadlinkatcwd.
14352         * lib/careadlinkat.c: Include <stdlib.h>.
14353         (careadlinkatcwd): Check that the fd argument is as expected.
14354
14355 2011-04-09  Bruno Haible  <bruno@clisp.org>
14356
14357         careadlinkat: Use common coding style.
14358         * lib/careadlinkat.c: Move gnulib includes after system includes.
14359
14360 2011-04-09  Bruno Haible  <bruno@clisp.org>
14361
14362         careadlinkat: Clarify specification.
14363         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
14364         (careadlinkatcwd): Add comment.
14365         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
14366
14367 2011-04-09  Bruno Haible  <bruno@clisp.org>
14368
14369         areadlinkat: Avoid link error on many platforms.
14370         * modules/areadlinkat (Depends-on): Add areadlink.
14371
14372 2011-04-09  Bruno Haible  <bruno@clisp.org>
14373
14374         allocator, careadlinkat: Fix double-inclusion guard.
14375         * lib/allocator.h: Fix double-inclusion guard.
14376         * lib/careadlinkat.h: Likewise.
14377
14378 2011-04-09  Bruno Haible  <bruno@clisp.org>
14379
14380         relocatable-prog-wrapper: Update after module 'areadlink' changed.
14381         * lib/relocwrapper.c: Update dependencies hierarchy.
14382         * build-aux/install-reloc: Update list of files to be compiled.
14383         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
14384         lib/allocator.[hc].
14385
14386 2011-04-08  Eric Blake  <eblake@redhat.com>
14387
14388         strftime: silence gnulib-tool warning
14389         * modules/strftime-tests (Depends-on): Drop automatic dependency.
14390
14391 2011-04-08  Bruno Haible  <bruno@clisp.org>
14392
14393         verify: Fix syntax error with GCC 4.6 in C++ mode.
14394         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
14395         (HAVE_STATIC_ASSERT): New macro.
14396         (verify_true, verify): Use 'static_assert' if it is supported and
14397         '_Static_assert' is not supported.
14398
14399 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
14400
14401         allocator: New module.
14402         * modules/allocator, lib/allocator.c: New files.
14403         * lib/allocator.h (stdlib_allocator): New decl.
14404         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
14405         Remove.  Do not include <stdlib.h>.
14406         (careadlinkat): Use stdlib_allocator instead of rolling our own.
14407         * modules/careadlinkat (Files): Remove lib/allocator.h.
14408         (Depends-on): Add allocator.
14409
14410         stdlib: let modules use system malloc, realloc
14411         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
14412         if !_GL_USE_STDLIB_ALLOC.
14413         (malloc, realloc): Limit this change to a smaller scope.
14414
14415         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
14416         (malloc, realloc): Don't #undef; no longer needed.
14417         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14418         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14419         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
14420         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14421         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14422         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14423         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14424         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
14425
14426         careadlinkat: rename members to avoid problem
14427         * lib/allocator.h (struct allocator): Rename members from
14428         malloc/realloc to allocate/reallocate, to avoid problems if malloc
14429         and realloc are #define'd.  Reported by Eric Blake in
14430         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
14431         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
14432
14433 2011-04-08  Eric Blake  <eblake@redhat.com>
14434
14435         nonblocking: reduce dependency
14436         * tests/test-nonblocking.c: Only test sockets when in use.
14437         * modules/nonblocking-tests (Depends-on): Drop socket.
14438         (Makefile.am): Link even if sockets are not present.
14439         * modules/pipe2-tests (Makefile.am): Likewise.
14440         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
14441
14442         pipe2: fix O_NONBLOCK support on mingw
14443         * modules/pipe2 (Depends-on): Add nonblocking.
14444         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
14445         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
14446         * tests/test-nonblocking.c (main): Likewise.
14447         * modules/pipe2-tests (Makefile.am): Avoid link failure.
14448
14449         fcntl-h: fix O_ACCMODE on cygwin
14450         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
14451         * lib/fcntl.in.h (O_ACCMODE): Fix it.
14452
14453         pipe-filter: drop O_NONBLOCK workarounds
14454         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
14455         * modules/pipe-filter-ii (Depends-on): Likewise.
14456         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
14457
14458         nonblocking: provide O_NONBLOCK for mingw
14459         * modules/nonblocking (Depends-on): Add open.
14460         (configure.ac): Set new witness macro.
14461         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
14462         * modules/fcntl-h (Makefile.am): Substitute it.
14463         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
14464         nonblocking module is in use.
14465         * lib/nonblocking.c: Adjust portability test.
14466         * lib/open.c (open): Don't let native open see gnulib flag.
14467         * tests/test-fcntl-h.c (main): Enhance test.
14468         * tests/test-open.h (test_open): Likewise.
14469         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
14470
14471         careadlinkat: fix compilation error on mingw
14472         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
14473         within struct allocator.
14474
14475 2011-04-06  Eric Blake  <eblake@redhat.com>
14476
14477         binary-io: relicense under LGPLv2+
14478         * modules/binary-io (License): Relax to LGPLv2+.
14479         Requested for libvirt, and required by pipe2.
14480
14481 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
14482
14483         verify: use _Static_assert if available
14484         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
14485         (verify_true, verify): Use it if available.  This generates better
14486         diagnostics with GCC 4.6.0 and later.
14487
14488 2011-04-05  Bruno Haible  <bruno@clisp.org>
14489
14490         Remove leftover generated .h files after config.status changed.
14491
14492         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
14493         GL_GENERATE_ALLOCA_H.
14494         * modules/alloca-opt (Makefile.am): Remove alloca.h if
14495         GL_GENERATE_ALLOCA_H evaluates to false.
14496
14497         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
14498         GL_GENERATE_ARGZ_H.
14499         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
14500         evaluates to false.
14501
14502         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
14503         GL_GENERATE_BYTESWAP_H.
14504         * modules/byteswap (Makefile.am): Remove byteswap.h if
14505         GL_GENERATE_BYTESWAP_H evaluates to false.
14506
14507         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
14508         GL_GENERATE_ERRNO_H.
14509         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
14510         evaluates to false.
14511
14512         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
14513         GL_GENERATE_FLOAT_H.
14514         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
14515         evaluates to false.
14516
14517         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
14518         GL_GENERATE_FNMATCH_H.
14519         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
14520         GL_GENERATE_FNMATCH_H evaluates to false.
14521
14522         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
14523         GL_GENERATE_GLOB_H.
14524         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
14525         evaluates to false.
14526
14527         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
14528         automake conditional GL_GENERATE_ICONV_H.
14529         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
14530         evaluates to false.
14531
14532         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
14533         GL_GENERATE_NETINET_IN_H.
14534         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
14535         GL_GENERATE_NETINET_IN_H evaluates to false.
14536
14537         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
14538         conditional GL_GENERATE_PTHREAD_H.
14539         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
14540         * modules/pthread (Makefile.am): Remove pthread.h if
14541         GL_GENERATE_PTHREAD_H evaluates to false.
14542
14543         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
14544         GL_GENERATE_SCHED_H.
14545         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
14546         evaluates to false.
14547
14548         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
14549         conditional GL_GENERATE_SELINUX_CONTEXT_H.
14550         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
14551         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
14552
14553         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
14554         GL_GENERATE_STDARG_H.
14555         * modules/stdarg (Makefile.am): Remove stdarg.h if
14556         GL_GENERATE_STDARG_H evaluates to false.
14557
14558         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
14559         GL_GENERATE_STDBOOL_H.
14560         * modules/stdbool (Makefile.am): Remove stdbool.h if
14561         GL_GENERATE_STDBOOL_H evaluates to false.
14562
14563         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
14564         conditional GL_GENERATE_STDDEF_H.
14565         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
14566         * modules/stddef (Makefile.am): Remove stddef.h if
14567         GL_GENERATE_STDDEF_H evaluates to false.
14568
14569         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
14570         GL_GENERATE_STDINT_H.
14571         * modules/stdint (Makefile.am): Remove stdint.h if
14572         GL_GENERATE_STDINT_H evaluates to false.
14573
14574         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
14575         GL_GENERATE_SYSEXITS_H.
14576         * modules/sysexits (Makefile.am): Remove sysexits.h if
14577         GL_GENERATE_SYSEXITS_H evaluates to false.
14578
14579         Reported by Karl Berry and Ralf Wildenhues.
14580
14581 2011-04-05  Bruno Haible  <bruno@clisp.org>
14582
14583         Ensure to rebuild generated .h files when config.status has changed.
14584         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
14585         config.status.
14586         * modules/ctype (Makefile.am): Likewise.
14587         * modules/dirent (Makefile.am): Likewise.
14588         * modules/errno (Makefile.am): Likewise.
14589         * modules/fcntl-h (Makefile.am): Likewise.
14590         * modules/float (Makefile.am): Likewise.
14591         * modules/getopt-posix (Makefile.am): Likewise.
14592         * modules/glob (Makefile.am): Likewise.
14593         * modules/iconv-h (Makefile.am): Likewise.
14594         * modules/inttypes (Makefile.am): Likewise.
14595         * modules/langinfo (Makefile.am): Likewise.
14596         * modules/locale (Makefile.am): Likewise.
14597         * modules/math (Makefile.am): Likewise.
14598         * modules/netdb (Makefile.am): Likewise.
14599         * modules/netinet_in (Makefile.am): Likewise.
14600         * modules/poll-h (Makefile.am): Likewise.
14601         * modules/pthread (Makefile.am): Likewise.
14602         * modules/pty (Makefile.am): Likewise.
14603         * modules/sched (Makefile.am): Likewise.
14604         * modules/search (Makefile.am): Likewise.
14605         * modules/selinux-h (Makefile.am): Likewise.
14606         * modules/signal (Makefile.am): Likewise.
14607         * modules/spawn (Makefile.am): Likewise.
14608         * modules/stdarg (Makefile.am): Likewise.
14609         * modules/stdbool (Makefile.am): Likewise.
14610         * modules/stddef (Makefile.am): Likewise.
14611         * modules/stdint (Makefile.am): Likewise.
14612         * modules/stdio (Makefile.am): Likewise.
14613         * modules/stdlib (Makefile.am): Likewise.
14614         * modules/string (Makefile.am): Likewise.
14615         * modules/strings (Makefile.am): Likewise.
14616         * modules/sys_file (Makefile.am): Likewise.
14617         * modules/sys_ioctl (Makefile.am): Likewise.
14618         * modules/sys_select (Makefile.am): Likewise.
14619         * modules/sys_socket (Makefile.am): Likewise.
14620         * modules/sys_stat (Makefile.am): Likewise.
14621         * modules/sys_time (Makefile.am): Likewise.
14622         * modules/sys_times (Makefile.am): Likewise.
14623         * modules/sys_utsname (Makefile.am): Likewise.
14624         * modules/sys_wait (Makefile.am): Likewise.
14625         * modules/sysexits (Makefile.am): Likewise.
14626         * modules/termios (Makefile.am): Likewise.
14627         * modules/time (Makefile.am): Likewise.
14628         * modules/unistd (Makefile.am): Likewise.
14629         * modules/wchar (Makefile.am): Likewise.
14630         * modules/wctype-h (Makefile.am): Likewise.
14631         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
14632
14633 2011-04-05  Bruno Haible  <bruno@clisp.org>
14634
14635         pipe2: Relicense under LGPLv2+.
14636         * modules/pipe2 (License): Change to LGPLv2+.
14637         Requested by Eric Blake, for libvirt.
14638
14639 2011-04-05  Bruce Korb  <bkorb@gnu.org>
14640
14641         bootstrap: compute gnulib_extra_files after updating build_aux
14642         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
14643         change build_aux or also supply gnulib_extra_files.  Handle correctly.
14644
14645 2011-04-05  Eric Blake  <eblake@redhat.com>
14646
14647         bootstrap: preserve git whitelist item sorting
14648         * build-aux/bootstrap (sort_patterns): New function.
14649         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
14650
14651 2011-04-05  Simon Josefsson  <simon@josefsson.org>
14652
14653         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
14654         sc_space_tab check.
14655
14656 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
14657
14658         areadlink, areadlinkat: rewrite in terms of careadlinkat
14659         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
14660         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
14661         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
14662         (malloc, realloc): Remove #undefs.
14663         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
14664         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
14665         readlink, ssize_t, stdint, unistd.
14666         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
14667         areadlink, stdint.
14668
14669         careadlinkat: new module
14670         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
14671         * modules/careadlinkat: New files, written by me with
14672         a review and feedback from Ben Pfaff in
14673         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
14674
14675 2011-04-01  Bruno Haible  <bruno@clisp.org>
14676
14677         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
14678         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
14679         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
14680         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
14681         Reported by Bruce Korb <bruce.korb@gmail.com>.
14682
14683 2011-04-01  Bruno Haible  <bruno@clisp.org>
14684
14685         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
14686         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
14687         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
14688         * modules/wcpcpy (Depends-on): Add extensions.
14689         * modules/wcpncpy (Depends-on): Likewise.
14690         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
14691         systems.
14692         * doc/posix-functions/wcpncpy.texi: Likewise.
14693         * doc/posix-functions/wcwidth.texi: Likewise.
14694
14695 2011-03-31  Eric Blake  <eblake@redhat.com>
14696
14697         nonblocking: fix mingw test failures
14698         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
14699         non-blocking flag on regular file.
14700         (get_nonblocking_flag): Set errno on invalid fd.
14701         * tests/test-nonblocking.c (main): Avoid test failure on
14702         directories if fchdir is not active.
14703         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
14704
14705 2011-03-31  Bruno Haible  <bruno@clisp.org>
14706
14707         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
14708         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
14709         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
14710         Reported by Simon Josefsson <simon@josefsson.org>.
14711
14712 2011-03-31  Bruno Haible  <bruno@clisp.org>
14713         and Eric Blake  <eblake@redhat.com>
14714
14715         nonblocking: new module
14716         * modules/nonblocking: New module.
14717         * modules/nonblocking-tests: Likewise.
14718         * lib/nonblocking.h: New file.
14719         * lib/nonblocking.c: Likewise.
14720         * tests/test-nonblocking.c: New test.
14721         * lib/ioctl.c (ioctl) [mingw]: Update comment.
14722
14723 2011-03-30  Bruno Haible  <bruno@clisp.org>
14724
14725         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
14726         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
14727         instead of 'printf' format for GCC >= 4.4.
14728         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
14729         (fprintf, printf, vfprintf, vprintf): Declare with
14730         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
14731         the system's vfprintf() function.
14732         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
14733
14734 2011-03-30  Eric Blake  <eblake@redhat.com>
14735
14736         passfd: fix scoping bug
14737         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
14738         before sendmsg/recvmsg.
14739
14740         passfd: standardize coding conventions
14741         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
14742         can be learned at compile time.
14743         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
14744         ifdefs.
14745         (sendfd, recvfd): Follow gnulib code conventions.
14746
14747         passfd: fix incorrect sendmsg arguments
14748         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
14749         incorrect msg_controllen value.
14750         * modules/passfd-tests (Depends-on): Check for alarm.
14751         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
14752         Reported by Bastien ROUCARIES.
14753
14754 2011-03-30  Bruno Haible  <bruno@clisp.org>
14755
14756         c-strcasestr: Relicense under LGPLv2+.
14757         * modules/c-strcasestr (License): Change to LGPLv2+.
14758         Requested by Eric Blake, for libvirt.
14759
14760 2011-03-30  Simon Josefsson  <simon@josefsson.org>
14761
14762         * users.txt: Add libidn2.  Fix libtasn1 link.
14763
14764 2011-03-30  Jim Meyering  <meyering@redhat.com>
14765
14766         tests: readlink* ("",... fails with EINVAL on newer kernels
14767         readlink and readlinkat have typically failed with ENOENT for
14768         the invalid, empty file name,  "".  However, with the advent
14769         of linux-2.6.39, they fail with EINVAL.
14770         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
14771         when operating on the empty file name.
14772         * tests/test-readlink.h (test_readlink): Likewise.
14773
14774 2011-03-29  Bruno Haible  <bruno@clisp.org>
14775
14776         Relicense some modules under LGPLv2+, for libidn2.
14777         * modules/array-mergesort (License): Change to LGPLv2+.
14778         * modules/c-strcaseeq (License): Likewise.
14779         * modules/striconveh (License): Likewise.
14780         * modules/striconveha (License): Likewise.
14781         * modules/uniconv/base (License): Likewise.
14782         * modules/uniconv/u8-conv-from-enc (License): Likewise.
14783         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
14784         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
14785         * modules/unictype/base (License): Likewise.
14786         * modules/unictype/bidiclass-of (License): Likewise.
14787         * modules/unictype/category-M (License): Likewise.
14788         * modules/unictype/category-none (License): Likewise.
14789         * modules/unictype/category-of (License): Likewise.
14790         * modules/unictype/category-test (License): Likewise.
14791         * modules/unictype/category-test-withtable (License): Likewise.
14792         * modules/unictype/combining-class (License): Likewise.
14793         * modules/unictype/joiningtype-of (License): Likewise.
14794         * modules/unictype/scripts (License): Likewise.
14795         * modules/uninorm/base (License): Likewise.
14796         * modules/uninorm/canonical-decomposition (License): Likewise.
14797         * modules/uninorm/composition (License): Likewise.
14798         * modules/uninorm/decompose-internal (License): Likewise.
14799         * modules/uninorm/decomposition-table (License): Likewise.
14800         * modules/uninorm/nfc (License): Likewise.
14801         * modules/uninorm/nfd (License): Likewise.
14802         * modules/uninorm/u32-normalize (License): Likewise.
14803         * modules/unistr/base (License): Likewise.
14804         * modules/unistr/u32-cpy (License): Likewise.
14805         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
14806         * modules/unistr/u32-to-u8 (License): Likewise.
14807         * modules/unistr/u32-uctomb (License): Likewise.
14808         * modules/unistr/u8-check (License): Likewise.
14809         * modules/unistr/u8-mblen (License): Likewise.
14810         * modules/unistr/u8-mbtouc (License): Likewise.
14811         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
14812         * modules/unistr/u8-mbtoucr (License): Likewise.
14813         * modules/unistr/u8-prev (License): Likewise.
14814         * modules/unistr/u8-strlen (License): Likewise.
14815         * modules/unistr/u8-to-u32 (License): Likewise.
14816         * modules/unistr/u8-uctomb (License): Likewise.
14817         * modules/unitypes (License): Likewise.
14818         Requested by Simon Josefsson.
14819
14820 2011-03-29  Simon Josefsson  <simon@josefsson.org>
14821
14822         lib-symbol-visibility: Add a notice.
14823         * modules/lib-symbol-visibility (Notice): New field.
14824
14825 2011-03-29  Bruno Haible  <bruno@clisp.org>
14826
14827         getaddrinfo: Doc fix.
14828         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
14829         section "fixed in Gnulib".
14830
14831 2011-03-28  Simon Josefsson  <simon@josefsson.org>
14832
14833         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
14834         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
14835
14836 2011-03-26  Bruno Haible  <bruno@clisp.org>
14837
14838         unictype/property-byname: Reduce the number of load-time relocations.
14839         * lib/unictype/pr_byname.c: Include <stdlib.h>.
14840         (UC_PROPERTY_INDEX_*): New enumeration values.
14841         (uc_property_byname): Convert an index from the lookup table to an
14842         uc_property_t.
14843         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
14844         values.
14845
14846 2011-03-26  Bruno Haible  <bruno@clisp.org>
14847
14848         unictype/property-byname: Allow omitted word separators and aliases.
14849         * lib/unictype/pr_byname.gperf: Add property names without word
14850         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
14851         for 'space'.
14852
14853 2011-03-26  Bruno Haible  <bruno@clisp.org>
14854
14855         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
14856         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
14857         also hyphens to space.
14858         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
14859         without spaces.
14860         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
14861
14862 2011-03-26  Bruno Haible  <bruno@clisp.org>
14863
14864         unictype/joiningtype-byname: Recognize long names as well.
14865         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
14866         a long name.
14867         * lib/unictype/joiningtype_byname.c: Include <string.h>,
14868         unictype/joiningtype_byname.h.
14869         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
14870         * lib/unictype/joiningtype_byname.gperf: New file.
14871         * modules/unictype/joiningtype-byname (Files): Add
14872         lib/unictype/joiningtype_byname.gperf.
14873         (Depends-on): Add gperf.
14874         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
14875         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
14876         long names.
14877
14878         Tests for module 'unictype/joiningtype-longname'.
14879         * modules/unictype/joiningtype-longname-tests: New file.
14880         * tests/unictype/test-joiningtype_longname.c: New file.
14881
14882         New module 'unictype/joiningtype-longname'.
14883         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
14884         * lib/unictype/joiningtype_longname.c: New file.
14885         * modules/unictype/joiningtype-longname: New file.
14886         * modules/unictype/joiningtype-all (Depends-on): Add
14887         unictype/joiningtype-longname.
14888
14889 2011-03-26  Bruno Haible  <bruno@clisp.org>
14890
14891         unictype/bidiclass-byname: Recognize long names as well.
14892         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
14893         name.
14894         * lib/unictype/bidi_byname.c: Include <string.h>,
14895         unictype/bidi_byname.h.
14896         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
14897         * lib/unictype/bidi_byname.gperf: New file.
14898         * modules/unictype/bidiclass-byname (Files): Add
14899         lib/unictype/bidi_byname.gperf.
14900         (Depends-on): Add gperf.
14901         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
14902         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
14903         long names.
14904
14905         Tests for module 'unictype/bidiclass-longname'.
14906         * modules/unictype/bidiclass-longname-tests: New file.
14907         * tests/unictype/test-bidi_longname.c: New file.
14908
14909         New module 'unictype/bidiclass-longname'.
14910         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
14911         * lib/unictype/bidi_longname.c: New file.
14912         * modules/unictype/bidiclass-longname: New file.
14913         * modules/unictype/bidiclass-all (Depends-on): Add
14914         unictype/bidiclass-longname.
14915
14916 2011-03-26  Bruno Haible  <bruno@clisp.org>
14917
14918         unictype/bidi*: Rename modules.
14919         * modules/unictype/bidiclass-all: Renamed from
14920         modules/unictype/bidicategory-all.
14921         * modules/unictype/bidiclass-name: Renamed from
14922         modules/unictype/bidiclass-name.
14923         (Description): Update.
14924         * modules/unictype/bidiclass-name-tests: Renamed from
14925         modules/unictype/bidicategory-name-tests.
14926         * modules/unictype/bidiclass-byname: Renamed from
14927         modules/unictype/bidicategory-byname.
14928         (Description): Update.
14929         * modules/unictype/bidiclass-byname-tests: Renamed from
14930         modules/unictype/bidicategory-byname-tests.
14931         * modules/unictype/bidiclass-of: Renamed from
14932         modules/unictype/bidicategory-of.
14933         (Description): Update.
14934         * modules/unictype/bidiclass-of-tests: Renamed from
14935         modules/unictype/bidicategory-of-tests.
14936         * modules/unictype/bidiclass-test: Renamed from
14937         modules/unictype/bidicategory-test.
14938         (Description): Update.
14939         * modules/unictype/bidiclass-test-tests: Renamed from
14940         modules/unictype/bidicategory-test-tests.
14941         * modules/unictype/bidicategory-all: New file, a simple redirection.
14942         * modules/unictype/bidicategory-name: Likewise.
14943         * modules/unictype/bidicategory-byname: Likewise.
14944         * modules/unictype/bidicategory-of: Likewise.
14945         * modules/unictype/bidicategory-test: Likewise.
14946         * modules/unictype/property-bidi-* (Dependencies): Update.
14947         * lib/unictype/bidi_*.c: Update comment.
14948
14949 2011-03-26  Bruno Haible  <bruno@clisp.org>
14950
14951         unictype/bidi*: Rename functions, part 2.
14952         * modules/unictype/bidicategory-name (configure.ac): Update required
14953         libunistring version.
14954         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
14955
14956 2011-03-25  Bruno Haible  <bruno@clisp.org>
14957
14958         New module 'unictype/combining-class-all'.
14959         * modules/unictype/combining-class-all: New file.
14960
14961         Tests for module 'unictype/combining-class-byname'.
14962         * modules/unictype/combining-class-byname-tests: New file.
14963         * tests/unictype/test-combiningclass_byname.c: New file.
14964
14965         New module 'unictype/combining-class-byname'.
14966         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
14967         * lib/unictype/combiningclass_byname.c: New file.
14968         * lib/unictype/combiningclass_byname.gperf: New file.
14969         * modules/unictype/combining-class-byname: New file.
14970
14971         Tests for module 'unictype/combining-class-longname'.
14972         * modules/unictype/combining-class-longname-tests: New file.
14973         * tests/unictype/test-combiningclass_longname.c: New file.
14974
14975         New module 'unictype/combining-class-longname'.
14976         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
14977         * lib/unictype/combiningclass_longname.c: New file.
14978         * modules/unictype/combining-class-longname: New file.
14979
14980         Tests for module 'unictype/combining-class-name'.
14981         * modules/unictype/combining-class-name-tests: New file.
14982         * tests/unictype/test-combiningclass_name.c: New file.
14983
14984         New module 'unictype/combining-class-name'.
14985         * lib/unictype.in.h (uc_combining_class_name): New declaration.
14986         * lib/unictype/combiningclass_name.c: New file.
14987         * modules/unictype/combining-class-name: New file.
14988
14989 2011-03-25  Bruno Haible  <bruno@clisp.org>
14990
14991         unictype/combining-class: Rename source files.
14992         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
14993         of unictype/combining.h.
14994         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
14995         Update.
14996         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
14997         * modules/unictype/combining-class (Description): Fix.
14998         (Files, Makefile.am): Update.
14999         * tests/unictype/test-combiningclass.c: Renamed from
15000         tests/unictype/test-combining.c.
15001         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
15002
15003 2011-03-25  Bruno Haible  <bruno@clisp.org>
15004
15005         unictype: Update list of canonical combining classes.
15006         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
15007
15008 2011-03-25  Bruno Haible  <bruno@clisp.org>
15009
15010         unictype/category-byname: Recognize long names as well.
15011         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
15012         a long name.
15013         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
15014         unictype/categ_byname.h.
15015         (UC_CATEGORY_INDEX_*): New enumeration values.
15016         (uc_general_category_byname): Use uc_general_category_lookup and
15017         convert from index to value.
15018         * lib/unictype/categ_byname.gperf: New file.
15019         * modules/unictype/category-byname (Files): Add
15020         lib/unictype/categ_byname.gperf.
15021         (Depends-on): Add gperf.
15022         (Makefile.am): Add rule for generating unictype/categ_byname.h.
15023         * tests/unictype/test-categ_byname.c (main): Test the recognition of
15024         long names.
15025
15026         Tests for module 'unictype/category-longname'.
15027         * modules/unictype/category-longname-tests: New file.
15028         * tests/unictype/test-categ_longname.c: New file.
15029
15030         New module 'unictype/category-longname'.
15031         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
15032         * lib/unictype/categ_longname.c: New file.
15033         * modules/unictype/category-longname: New file.
15034         * modules/unictype/category-all (Depends-on): Add it.
15035
15036 2011-03-25  Bruno Haible  <bruno@clisp.org>
15037
15038         Tests for module 'unictype/category-LC'.
15039         * modules/unictype/category-LC-tests: New file.
15040         * tests/unictype/test-categ_LC.c: New file, automatically generated.
15041
15042         New module 'unictype/category-LC'.
15043         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
15044         (UC_CATEGORY_LC): New declaration.
15045         (UC_CASED_LETTER): New macro.
15046         * lib/gen-uni-tables.c (is_category_LC): New function.
15047         (output_categories): Also handle category LC.
15048         (UC_CATEGORY_MASK_LC): New enumeration value.
15049         (general_category_byname): Also handle category LC.
15050         * lib/unictype/categ_LC.c: New file.
15051         * lib/unictype/categ_LC.h: New file, automatically generated.
15052         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
15053         category LC.
15054         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
15055         * modules/unictype/category-LC: New file.
15056         * modules/unictype/category-byname (Depends-on): Add
15057         unictype/category-LC.
15058         * modules/unictype/category-all (Depends-on): Likewise.
15059
15060 2011-03-25  Eric Blake  <eblake@redhat.com>
15061
15062         xmalloc: revert yesterday's regression
15063         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
15064         realloc's underlying behavior (allowing allocation of zero-size
15065         objects, especially if malloc-gnu is also in use).
15066
15067 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
15068
15069         maint.mk: add missing version to VC-tag
15070         * top/maint.mk: git tag was missing actual tag name; add it.
15071
15072         valgrind: do leak checking, and exit with code 1 on error (not 0)
15073         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
15074         to VALGRIND.
15075
15076 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
15077
15078         posix-modules: say what it does.
15079         * posix-modules: Add a line to the --help output saying what it does.
15080
15081 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
15082
15083         xmalloc: Do not leak if underlying realloc is C99 compatible.
15084         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
15085         This avoids a leak on C99-based systems.  See
15086         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
15087
15088 2011-03-24  Eric Blake  <eblake@redhat.com>
15089
15090         realloc: document portability problem
15091         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
15092         passing 0 size to realloc.
15093
15094 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
15095
15096         doc: update users.txt
15097         * users.txt: Add cvsps, tmpwatch
15098
15099 2011-03-23  Matt Rice  <ratmice@gmail.com>
15100
15101         doc: update users.txt
15102         * users.txt: Add gdb.
15103
15104 2011-03-23  Jim Meyering  <meyering@redhat.com>
15105
15106         doc: update users.txt
15107         Looking through matches up to the following URL (there are still
15108         several more pages), I found several projects that use gnulib:
15109         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
15110         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
15111         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
15112
15113 2011-03-22  Bruno Haible  <bruno@clisp.org>
15114
15115         unictype/bidi*: Rename functions.
15116         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
15117         uc_bidi_class, uc_is_bidi_class): New declarations.
15118         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
15119         uc_bidi_category_byname.
15120         (uc_bidi_category_byname): New function.
15121         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
15122         u_bidi_category_name.
15123         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
15124         (uc_bidi_category_name): New function.
15125         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
15126         uc_bidi_category.
15127         (uc_bidi_category): New function.
15128         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
15129         uc_is_bidi_category. Invoke uc_bidi_class.
15130         (uc_is_bidi_category): New function.
15131         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
15132         instead of uc_bidi_category_byname.
15133         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
15134         instead of uc_bidi_category_name.
15135         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
15136         uc_bidi_category.
15137         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
15138         instead of uc_is_bidi_category.
15139
15140 2011-03-21  Bruno Haible  <bruno@clisp.org>
15141
15142         New module 'unictype/joininggroup-all'.
15143         * modules/unictype/joininggroup-all: New file.
15144
15145         Tests for module 'unictype/joininggroup-of'.
15146         * modules/unictype/joininggroup-of-tests: New file.
15147         * tests/unictype/test-joininggroup_of.c: New file.
15148         * tests/unictype/test-joininggroup_of.h: New file, automatically
15149         generated by gen-uni-tables.
15150
15151         New module 'unictype/joininggroup-of'.
15152         * modules/unictype/joininggroup-of: New file.
15153         * lib/unictype/joininggroup_of.c: New file.
15154         * lib/unictype/joininggroup_of.h: New file, automatically generated by
15155         gen-uni-tables.
15156
15157         Tests for module 'unictype/joininggroup-byname'.
15158         * modules/unictype/joininggroup-byname-tests: New file.
15159         * tests/unictype/test-joininggroup_byname.c: New file.
15160
15161         New module 'unictype/joininggroup-byname'.
15162         * modules/unictype/joininggroup-byname: New file.
15163         * lib/unictype/joininggroup_byname.c: New file.
15164         * lib/unictype/joininggroup_byname.gperf: New file.
15165
15166         Tests for module 'unictype/joininggroup-name'.
15167         * modules/unictype/joininggroup-name-tests: New file.
15168         * tests/unictype/test-joininggroup_name.c: New file.
15169
15170         New module 'unictype/joininggroup-name'.
15171         * modules/unictype/joininggroup-name: New file.
15172         * lib/unictype/joininggroup_name.c: New file.
15173         * lib/unictype/joininggroup_name.h: New file.
15174
15175         New module 'unictype/joiningtype-all'.
15176         * modules/unictype/joiningtype-all: New file.
15177
15178         Tests for module 'unictype/joiningtype-of'.
15179         * modules/unictype/joiningtype-of-tests: New file.
15180         * tests/unictype/test-joiningtype_of.c: New file.
15181         * tests/unictype/test-joiningtype_of.h: New file, automatically
15182         generated by gen-uni-tables.
15183
15184         New module 'unictype/joiningtype-of'.
15185         * modules/unictype/joiningtype-of: New file.
15186         * lib/unictype/joiningtype_of.c: New file.
15187         * lib/unictype/joiningtype_of.h: New file, automatically generated by
15188         gen-uni-tables.
15189
15190         Tests for module 'unictype/joiningtype-byname'.
15191         * modules/unictype/joiningtype-byname-tests: New file.
15192         * tests/unictype/test-joiningtype_byname.c: New file.
15193
15194         New module 'unictype/joiningtype-byname'.
15195         * modules/unictype/joiningtype-byname: New file.
15196         * lib/unictype/joiningtype_byname.c: New file.
15197
15198         Tests for module 'unictype/joiningtype-name'.
15199         * modules/unictype/joiningtype-name-tests: New file.
15200         * tests/unictype/test-joiningtype_name.c: New file.
15201
15202         New module 'unictype/joiningtype-name'.
15203         * modules/unictype/joiningtype-name: New file.
15204         * lib/unictype/joiningtype_name.c: New file.
15205
15206         unictype: Add support for Arabic shaping properties.
15207         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
15208         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
15209         declarations.
15210         (UC_JOINING_GROUP_*): New enumeration values.
15211         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
15212         declarations.
15213         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
15214         (unicode_joining_type): New variable.
15215         (UC_JOINING_GROUP_*): New enumeration values.
15216         (unicode_joining_group): New variable.
15217         (fill_arabicshaping, joining_type_as_c_identifier,
15218         output_joining_type_test, output_joining_type,
15219         joining_group_as_c_identifier, output_joining_group_test,
15220         output_joining_group): New functions.
15221         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
15222         fill_arabicshaping and output_joining_type_test, output_joining_type,
15223         output_joining_group_test, output_joining_group.
15224         Reported by Simon Josefsson.
15225
15226 2011-03-21  Jim Meyering  <meyering@redhat.com>
15227
15228         strftime: fix a bug in yesterday's change
15229         * lib/strftime.c (add): Accommodate width's initial value of -1.
15230         Otherwise, nstrftime would copy uninitialized data into
15231         the result buffer.
15232
15233 2011-03-21  Jim Meyering  <meyering@redhat.com>
15234
15235         tests: add strftime-tests module
15236         * tests/test-strftime.c: New file.
15237         * modules/strftime-tests: New module.
15238
15239 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
15240
15241         strftime: don't assume a byte count fits in 'int'
15242         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
15243         found this problem by static analysis, using gcc -Wstrict-overflow
15244         (GCC 4.5.2, x86-64).  This reported an optimization that depended
15245         on an integer overflow having undefined behavior, but it turns out
15246         that the argument is a size, which might not fit in 'int' anyway,
15247
15248 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
15249
15250         stdio: don't require ignore_value around fwrite
15251
15252         This patch works around libc bug 11959
15253         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
15254         Without this patch, applications must often write
15255         ignore_value (fwrite (...)) even though the ignore_value is
15256         not helpful here.  It's common to write many objects, using
15257         fwrite/printf/etc., and then use ferror to detect output error.
15258
15259         I considered making this patch optional, but decided against it,
15260         because libc is obviously being inconsistent here: there is no
15261         reason libc should insist that user code must inspect fwrite
15262         return's value without also insisting that it inspect printf's,
15263         putchar's, etc.  If user code wants to have a strict style where
15264         all these functions' values are checked (so that ferror need not
15265         be checked), we could add support for that style in a new gnulib
15266         module, but in the meantime it's better to be consistent and to
15267         support common usage.
15268
15269         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
15270         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
15271         that we are compiling in checking mode, and if not C++, and
15272         if not already wrapping fwrite for some other reason.
15273         (fwrite): #define to rpl_fwrite if the latter is defined.
15274
15275 2011-03-20  Bruno Haible  <bruno@clisp.org>
15276
15277         verror: Fix compilation error introduced on 2011-02-13.
15278         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
15279         instead of __attribute__.
15280         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15281
15282 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
15283             Bruno Haible  <bruno@clisp.org>
15284
15285         socklen: do not depend on sys_socket
15286         While trying to modify Emacs to use gnulib's socklen module,
15287         I discovered a circular dependency: socklen depends on sys_socket
15288         and vice versa.  Emacs can use socklen, but it does not need
15289         sys_socket because it has its own substitute for sys/socket.h.
15290         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
15291         gl_TYPE_SOCKLEN_T.
15292         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
15293         gl_PREREQ_SYS_H_SOCKET.
15294         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
15295         gl_PREREQ_SYS_H_SOCKET.
15296         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
15297         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
15298         * modules/socklen (Depends-on): Do not depend on sys_socket.
15299         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
15300
15301 2011-03-20  Jim Meyering  <meyering@redhat.com>
15302
15303         maint.mk: sort file names *after* new transformation
15304         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
15305         prefix would have led to an unwarranted failure in GNU parted.
15306         Sort after that transformation.
15307
15308 2011-03-19  Jim Meyering  <meyering@redhat.com>
15309
15310         maint.mk: fix po-file syntax-check rule
15311         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
15312         Patch by Bruno Haible.
15313
15314 2011-03-19  Bruno Haible  <bruno@clisp.org>
15315
15316         socklen: Update comment.
15317         * m4/socklen.m4: Update comment about platforms.
15318
15319 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
15320             Bruno Haible  <bruno@clisp.org>
15321
15322         inet_ntop, inet_pton: Simplify.
15323         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
15324         documented to provide socklen_t and we already depend on sys_socket.
15325         * modules/inet_pton (Depends-on): Likewise.
15326         * lib/arpa_inet.in.h: Adjust comment.
15327
15328 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
15329             Bruno Haible  <bruno@clisp.org>
15330
15331         netdb: Simplify.
15332         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
15333         documented to provide socklen_t and we already depend on sys_socket.
15334         * lib/netdb.in.h: Adjust comment.
15335
15336 2011-03-19  Bruno Haible  <bruno@clisp.org>
15337
15338         sys_socket, netdb: Document problem with socklen_t.
15339         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
15340         platforms.
15341         * doc/posix-headers/netdb.texi: Likewise.
15342
15343 2011-03-18  Eric Blake  <eblake@redhat.com>
15344
15345         maint.mk: let po check work in VPATH build
15346         * top/maint.mk (po_file): Allow cfg.mk override.
15347         (sc_po_check): Allow VPATH use.
15348         Reported by Jiri Denemark.
15349
15350 2011-03-16  Jim Meyering  <meyering@redhat.com>
15351
15352         maint.mk: allow fine-grained syntax-check exclusion via Make variables
15353         Before, you would have had to create one .x-sc_ file per rule in order
15354         to exempt offending files.  Now, you may instead use a Make variable --
15355         usually defined in cfg.mk -- whose name identifies the affected rule.
15356         * top/maint.mk (_sc_excl): Define.
15357         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
15358         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
15359
15360 2011-03-13  Bruno Haible  <bruno@clisp.org>
15361
15362         ignore-value tests: Avoid warnings.
15363         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
15364         empty for gcc < 3.4.
15365
15366 2011-03-13  Bruno Haible  <bruno@clisp.org>
15367
15368         passfd: Fix link error on Solaris.
15369         * modules/passfd (Description): Correct.
15370         (Depends-on): Add socketlib.
15371         (Link): New section.
15372         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
15373
15374 2011-03-13  Bruno Haible  <bruno@clisp.org>
15375
15376         passfd: Fix link error on AIX 5.2.
15377         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
15378
15379 2011-03-13  Bruno Haible  <bruno@clisp.org>
15380
15381         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
15382         * lib/sys_socket.in.h: Include <stddef.h>.
15383         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
15384         CMSG_FIRSTHDR. Remove unused variable.
15385
15386 2011-03-13  Bruno Haible  <bruno@clisp.org>
15387
15388         passfd: Fix compilation error on OpenBSD.
15389         * lib/passfd.c: Include <sys/uio.h>.
15390
15391 2011-03-13  Bruno Haible  <bruno@clisp.org>
15392
15393         passfd test: Fix warnings.
15394         * tests/test-passfd.c: Include <sys/wait.h>.
15395         (main): Fix typo.
15396
15397 2011-03-13  Bruno Haible  <bruno@clisp.org>
15398
15399         passfd module, part 4, tweaks.
15400         * tests/test-passfd.c: Reorder includes.
15401         (main): Fix perror and printf calls.
15402
15403 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
15404
15405         passfd module, part 4.
15406         * modules/passfd-tests: New file.
15407         * tests/test-passfd.c: New file.
15408
15409 2011-03-13  Jim Meyering  <meyering@redhat.com>
15410
15411         Makefile: rely on GNU make; derive syntax-check rule names
15412         Rather than requiring that each sc_ rule be listed as a dependent
15413         of "check", use features of GNU make to derive the list.
15414         * Makefile (syntax-check-rules): Define.
15415         (check): Depend on the new variable, not the hard-coded list.
15416
15417 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
15418             Bruno Haible  <bruno@clisp.org>
15419
15420         passfd module, part 3.
15421         * lib/passfd.h (recvfd): Add a flags argument.
15422         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
15423         (recvfd): Add a flags argument.
15424         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
15425         exists.
15426         * modules/passfd (Depends-on): Add cloexec.
15427         Suggested by Eric Blake.
15428
15429 2011-03-13  Bruno Haible  <bruno@clisp.org>
15430
15431         passfd module, part 2, tweaks.
15432         * modules/passfd (Files): Reorder.
15433         (Depends-on): Remove errno.
15434         (Include): Remove <sys/socket.h>, <sys/un.h>.
15435         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
15436         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
15437         specification header. Include <sys/socket.h> always. Don't include
15438         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
15439         (sendfd): Clarify that it sets errno when it fails.
15440         (recvfd): Fix specification.
15441
15442 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
15443
15444         passfd module, part 2.
15445         * modules/passfd: New file.
15446         * lib/passfd.h: New file.
15447         * lib/passfd.c: New file.
15448
15449 2011-03-12  Bruno Haible  <bruno@clisp.org>
15450
15451         wcswidth, mbswidth: Avoid integer overflow.
15452         * lib/wcswidth.c: Include <limits.h>.
15453         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
15454         * lib/mbswidth.c: Include <limits.h>.
15455         (mbsnwidth): Avoid 'int' overflow.
15456         Reported by Jim Meyering.
15457
15458 2011-03-12  Bruno Haible  <bruno@clisp.org>
15459
15460         futimens, utimensat: Avoid endless recursion on Solaris 10.
15461         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
15462         Solaris.
15463         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
15464         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
15465
15466 2011-03-11  Jim Meyering  <meyering@redhat.com>
15467
15468         maint.mk: relax a regexp to accommodate other formatting styles
15469         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
15470         between "ngettext" and the following "(".
15471
15472 2011-03-11  Pádraig Brady <P@draigBrady.com>
15473
15474         maint.mk: suppress a false positive warning
15475         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
15476         diagnostics are marked with ngettext.
15477
15478 2011-03-10  Eric Blake  <eblake@redhat.com>
15479
15480         wchar: add explicit dependencies, for Tru64
15481         * modules/mbmemcasecoll (Depends-on): Add wchar.
15482         * modules/mbtowc (Depends-on): Likewise.
15483         * modules/vasnprintf (Depends-on): Likewise.
15484         * modules/unistdio/u-printf-args (Depends-on): Likewise.
15485         * modules/wctomb (Depends-on): Likewise.
15486         Reported by Peter O'Gorman.
15487
15488 2011-03-08  Bruno Haible  <bruno@clisp.org>
15489
15490         passfd module, part 1, tweaks.
15491         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
15492         Improve indentation. Improve AC_MSG_CHECKING messages.
15493         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
15494         gl_SOCKET_FAMILIES.
15495
15496 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
15497
15498         passfd module, part 1.
15499         * m4/afunix.m4: New file.
15500         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
15501         sockets.
15502
15503 2011-03-08  Bruno Haible  <bruno@clisp.org>
15504
15505         regex-quote: New API.
15506         * lib/regex-quote.h: Include <stdbool.h>.
15507         (struct regex_quote_spec): New type.
15508         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
15509         New declarations.
15510         (regex_quote_length, regex_quote_copy, regex_quote): Take a
15511         'const struct regex_quote_spec *' argument.
15512         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
15513         (pcre_special): New constant.
15514         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
15515         New functions.
15516         (regex_quote_length, regex_quote_copy, regex_quote): Take a
15517         'const struct regex_quote_spec *' argument.
15518         * modules/regex-quote (Depends-on): Add stdbool.
15519         * tests/test-regex-quote.c (check): Update for new API. Add test for
15520         anchored results.
15521         * NEWS: Mention the API change.
15522         Reported by Reuben Thomas and Eric Blake.
15523
15524 2011-03-06  Bruno Haible  <bruno@clisp.org>
15525
15526         regex-quote: Fix creation of POSIX extended regular expressions.
15527         * lib/regex-quote.c (ere_special): Add grouping and alternation
15528         operators.
15529
15530 2011-03-05  Bruno Haible  <bruno@clisp.org>
15531
15532         doc: Improve doc regarding autopoint vs. gnulib.
15533         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
15534         disable autopoint while running autoreconf.
15535         Suggested by Ralf Wildenhues.
15536
15537 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15538
15539         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
15540         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
15541
15542 2011-03-03  Bruce Korb  <bkorb@gnu.org>
15543
15544         parse-duration: remove xalloc.h dependency
15545         * lib/parse-duration.c (parse_period): handle NULL return from
15546         strdup instead of calling xstrdup().
15547         * modules/parse-duration: remove "xalloc" dependency
15548
15549 2011-03-03  Matthew Booth  <mbooth@redhat.com>
15550
15551         bootstrap: honor m4_base when running aclocal
15552         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
15553
15554 2011-03-02  Jim Meyering  <meyering@redhat.com>
15555
15556         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
15557         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
15558         on request from Matt Booth.
15559
15560 2011-03-01  Eric Blake  <eblake@redhat.com>
15561
15562         test-link: work on Hurd
15563         * tests/test-link.h (test_link): Hurd rejects linking directories
15564         with EISDIR instead of the POSIX-mandated EPERM.
15565
15566 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
15567
15568         stdio: simplify by moving files to printf-posix, sigpipe
15569         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
15570         since this symbol is needed only if printf is replaced.
15571         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
15572         Require gl_ASM_SYMBOL_PREFIX.
15573         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
15574         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
15575         (Depends-on): Add 'raise'.
15576         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
15577         * modules/stdio (Files): Remove lib/stdio-write.c,
15578         m4/asm-underscore.m4.
15579         (Depends-on): Remove 'raise'.
15580
15581         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
15582         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
15583         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
15584         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
15585
15586 2011-02-28  Bruno Haible  <bruno@clisp.org>
15587
15588         localcharset: Assume ANSI C behaviour of free().
15589         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
15590         calling free().
15591         Suggested by Simon Josefsson <simon@josefsson.org>.
15592
15593 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
15594             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
15595             Bruno Haible  <bruno@clisp.org>  (tiny change)
15596
15597         On Cygwin, use /proc file system instead of win32 API.
15598         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
15599         Win32 file names.
15600         (DllMain): Simplify by removing Cygwin specific code.
15601         (find_shared_library_fullname): Use Linux specific implementation also
15602         for Cygwin.
15603         (get_shared_library_fullname): Update accordingly.
15604         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
15605         Win32 file names.
15606         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
15607         Cygwin specific code.
15608
15609 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
15610             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
15611
15612         Fix OpenMP flag detection for various Fortran compilers.
15613         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
15614         OpenMP-conditional compilation construct, to force compile
15615         failure with missing OpenMP flag.
15616         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
15617
15618 2011-02-25  Eric Blake  <eblake@redhat.com>
15619
15620         strstr: expand test coverage
15621         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
15622         compilation.
15623         * tests/test-memmem.c (main): Duplicate tests.
15624         * tests/test-strcasestr.c (main): Likewise.
15625         * tests/test-c-strcasestr.c (main): Likewise.
15626
15627 2011-02-25  Jim Meyering  <meyering@redhat.com>
15628
15629         maint.mk: detect missing-NL-at-EOF, too
15630         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
15631         it also detects when a file lacks a newline at EOF.
15632         (require_exactly_one_NL_at_EOF_): Renamed from
15633         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
15634         since people may well have .x-sc_... file names tied to the
15635         existing name.  Suggested by Eric Blake.
15636
15637 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
15638
15639         dirname: move m4/dos.m4 functionality into lib/dosname.h
15640
15641         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
15642         extracts symbols from it, puts them into config.h; but it's much
15643         easier to use the symbols directly.  filename.h already does this,
15644         but it disagrees with dos.m4 in some respects.  This patch
15645         introduces a different include file dosname.h that packages up
15646         dos.m4, and then later we can work on merging filename.h and
15647         dosname.h.  Applications that need only the easy-to-configure
15648         symbols should consider including dosname.h rather than dirname.h.
15649         * NEWS: Mention incompatible changes.
15650         * m4/dos.m4: Remove.
15651         * lib/dosname.h, modules/dosname: New files.
15652         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
15653         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
15654         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
15655         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
15656         Include dosname.h, not dirname.h.
15657         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
15658         Include dosname.h, for definitions of symbols like ISSLASH
15659         that used to be in config.h.
15660         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
15661         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
15662         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
15663         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
15664         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
15665         * modules/rmdir (Files): Likewise.
15666         * modules/stat (Files): Likewise.
15667         * modules/unlink (Files): Likewise.
15668         * modules/dirname-lgpl (Depends-on): Add dosname.
15669         * modules/lstat (Depends-on): Likewise.
15670         * modules/openat (Depends-on): Likewise.
15671         * modules/rmdir (Depends-on): Likewise.
15672         * modules/savewd (Depends-on): Likewise.
15673         * modules/stat (Depends-on): Likewise.
15674         * modules/unlink (Depends-on): Likewise.
15675         * modules/openat (Depends-on): Remove dirname-lgpl.
15676         * modules/savewd (Depends-on): Likewise.
15677         * tests/test-dirname.c: Do not use removed symbols like
15678         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
15679         the remaining symbols, e.g., ISSLASH ('\\').
15680
15681 2011-02-25  Eric Blake  <eblake@redhat.com>
15682
15683         strstr: revert patches that introduced bug and pessimization
15684         * lib/str-two-way.h: Add another reference.
15685         (two_way_short_needle, two_way_long_needle): Revert changes from
15686         2011-02-24; they pessimize search speed.
15687         (critical_factorization): Partially revert changes from
15688         2010-06-22; they violate the requirement that the left half of the
15689         needle be smaller than the period of the needle.
15690
15691 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
15692
15693         filenamecat: remove unnecessary dependency on dirname-lgpl
15694         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
15695         is no direct dependency, just an indirect one via filenamecat-lgpl.
15696
15697         remove: remove unnecessary use of m4/dos.m4
15698         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
15699         * modules/remove (FILES): Remove m4/dos.m4.
15700
15701         * lib/openat-proc.c: Don't include dirname.h; not needed.
15702
15703         backupfile: remove unnecessary use of m4/dos.m4
15704         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
15705         of its symbols are used by the backupfile code.  backupfile.c does
15706         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
15707         for the rare case of programs that want all their backup file
15708         names to live within 8+3 limits, and dos.m4 doesn't address that.
15709         * modules/backupfile (Files): Remove m4/dos.m4.
15710
15711 2011-02-24  Jim Meyering  <meyering@redhat.com>
15712
15713         strstr: fix a bug whereby strstr would mistakenly return NULL
15714         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
15715         in period calculation.
15716         (two_way_long_needle): Likewise.
15717         The original problem was reported by Mike Stump in
15718         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
15719         Ralf Wildenhues provided the short needle and haystack.
15720         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
15721         Add a more involved test to trigger the bug in two_way_long_needle.
15722
15723 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
15724
15725         gnulib-tool: remove use of bold display in help screen
15726         * gnulib-tool (func_usage): Do not use bold display anymore in the
15727         help screen.  That was just meant to be a temporary emphasis for a
15728         backward-incompatible change.
15729
15730 2011-02-23  Bruno Haible  <bruno@clisp.org>
15731
15732         Fix misindentation of preprocessor directives.
15733         * lib/argp-namefrob.h: Reindent preprocessor directives.
15734         * lib/getopt_int.h (struct _getopt_data): Likewise.
15735         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
15736         * lib/vasnprintf.c (decode_long_double): Likewise.
15737         * tests/test-argmatch.c: Insert blank lines, for clarity.
15738         * tests/test-exclude.c: Likewise.
15739
15740 2011-02-22  Bruno Haible  <bruno@clisp.org>
15741
15742         ioctl: Fix for MacOS X in 64-bit mode.
15743         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
15744         value.
15745         Suggested by Eric Blake.
15746         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
15747
15748 2011-02-22  Jim Meyering  <meyering@redhat.com>
15749
15750         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
15751         * Makefile (sc_cpp_indent_check): Don't limit the check to files
15752         in lib/.
15753
15754 2011-02-22  Eric Blake  <eblake@redhat.com>
15755
15756         maint: avoid any CDPATH issue
15757         * Makefile (sc_cpp_indent_check): Anchor cd argument.
15758
15759         maint: adjust cpp indentation for my modules, as well
15760         * Makefile (sc_cpp_indent_check): Add my name.
15761         * lib/fbufmode.c: Filter through cppi.
15762         * lib/fpurge.c: Likewise.
15763         * lib/freadable.c: Likewise.
15764         * lib/freading.c: Likewise.
15765         * lib/fwritable.c: Likewise.
15766         * lib/fwriting.c: Likewise.
15767         * lib/sigaction.c: Likewise.
15768
15769 2011-02-22  Jim Meyering  <meyering@redhat.com>
15770
15771         maint: adjust cpp indentation to reflect nesting depth
15772         I.e., in a block of code that begins with an unnested "#if",
15773         put one space between the "#" in column 1 and following token.
15774         For example,
15775         -#include <sys/vfs.h>
15776         +# include <sys/vfs.h>
15777         Do this only in .c files that are part of a module I maintain.
15778         * lib/linkat.c: Filter through cppi.
15779         * lib/nanosleep.c: Likewise.
15780         * lib/openat.c: Likewise.
15781         * lib/openat-die.c: Likewise.
15782         * lib/dup3.c: Likewise.
15783         * lib/fchownat.c: Likewise.
15784         * lib/flock.c: Likewise.
15785         * lib/fsync.c: Likewise.
15786         * lib/fts.c: Likewise.
15787         * lib/getpass.c: Likewise.
15788         * lib/gettimeofday.c: Likewise.
15789         * lib/userspec.c: Likewise.
15790         * Makefile (sc_cpp_indent_check): New rule, to check this.
15791
15792 2011-02-22  Bruno Haible  <bruno@clisp.org>
15793
15794         New module 'wctomb'.
15795         * lib/stdlib.in.h (wctomb): New declaration.
15796         * lib/wctomb.c: New file.
15797         * lib/wctomb-impl.h: New file.
15798         * m4/wctomb.m4: New file.
15799         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
15800         REPLACE_WCTOMB.
15801         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
15802         REPLACE_WCTOMB.
15803         * modules/wctomb: New file.
15804         * tests/test-stdlib-c++.cc: Test signature of wctomb.
15805         * doc/posix-functions/wctomb.texi: Mention the new module.
15806         * modules/wctob (Depends-on): Add wctomb.
15807
15808 2011-02-22  Bruno Haible  <bruno@clisp.org>
15809
15810         New module 'mbtowc'.
15811         * lib/stdlib.in.h (mbtowc): New declaration.
15812         * lib/mbtowc.c: New file.
15813         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
15814         * m4/mbtowc.m4: New file.
15815         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
15816         REPLACE_MBTOWC.
15817         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
15818         REPLACE_MBTOWC.
15819         * modules/mbtowc: New file.
15820         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
15821         * doc/posix-functions/mbtowc.texi: Mention the new module.
15822         * modules/btowc (Depends-on): Add mbtowc.
15823
15824 2011-02-22  Bruno Haible  <bruno@clisp.org>
15825
15826         wcrtomb: Add more tests for native Windows platforms.
15827         * tests/test-wcrtomb-w32-1.sh: New file.
15828         * tests/test-wcrtomb-w32-2.sh: New file.
15829         * tests/test-wcrtomb-w32-3.sh: New file.
15830         * tests/test-wcrtomb-w32-4.sh: New file.
15831         * tests/test-wcrtomb-w32-5.sh: New file.
15832         * tests/test-wcrtomb-w32.c: New file.
15833         * modules/wcrtomb-tests (Files): Add them.
15834         (Makefile.am): Arrange to run these tests.
15835         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
15836         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
15837
15838 2011-02-20  Bruno Haible  <bruno@clisp.org>
15839
15840         wcrtomb: Enhance test.
15841         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
15842
15843 2011-02-20  Bruno Haible  <bruno@clisp.org>
15844
15845         mbrtowc: Tiny optimization.
15846         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
15847
15848 2011-02-20  Jim Meyering  <meyering@redhat.com>
15849
15850         test-exclude.c: remove unmatched #endif
15851         * tests/test-exclude.c: Remove stray #endif, left over from
15852         the change of a week ago.
15853
15854 2011-02-19  Jim Meyering  <meyering@redhat.com>
15855
15856         git-version-gen: skip "-dirty" check when appropriate
15857         * build-aux/git-version-gen: Don't run any git commands when the
15858         version string comes from .tarball-version.  Prior to this, we
15859         would run git update-index --refresh even from a just-unpacked
15860         tarball directory, and that could affect a .git/ directory in a
15861         parent of the build directory.  Reported by Mike Frysinger.
15862
15863 2011-02-19  Bruno Haible  <bruno@clisp.org>
15864
15865         unictype/property-byname: Reduce the size of the 'data' segment.
15866         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
15867
15868 2011-02-19  Bruno Haible  <bruno@clisp.org>
15869
15870         unictype/scripts: Reduce the size of the 'data' segment.
15871         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
15872         '%pic'.
15873         * lib/unictype/scripts_byname.gperf: Regenerated.
15874
15875 2011-02-19  Bruno Haible  <bruno@clisp.org>
15876
15877         stdint: Update documentation.
15878         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
15879
15880 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
15881
15882         stdint: omit redundant check for wchar.h
15883         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
15884         always tests whether wchar.h exists, so remove the now-redundant test.
15885
15886 2011-02-18  Bruno Haible  <bruno@clisp.org>
15887
15888         stdint: Cut dependency to module 'wchar'.
15889         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
15890         include the necessary prerequisites.
15891         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
15892         * modules/stdint (Depends-on): Remove wchar.
15893         (Makefile.am): Substitute HAVE_WCHAR_H.
15894         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
15895
15896 2011-02-18  Eric Blake  <eblake@redhat.com>
15897
15898         longlong: skip, rather than fail, on cross-compilation
15899         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
15900         when cross-compiling; regression from 2011-02-16.
15901
15902 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
15903
15904         * NEWS: Mention 2011-02-08 change to stdlib.
15905
15906 2011-02-17  Bruno Haible  <bruno@clisp.org>
15907
15908         getloadavg: Add comments about platforms.
15909         * m4/getloadavg.m4: Add comment.
15910         * lib/getloadavg.c: Likewise.
15911
15912 2011-02-17  Bruno Haible  <bruno@clisp.org>
15913
15914         getloadavg: Fix link error on Solaris 2.6.
15915         * modules/getloadavg (Link): New section.
15916         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
15917         linking test-getloadavg.
15918         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
15919         getloadavg.
15920
15921 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
15922
15923         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
15924         It was 'int', but this doesn't match the IRIX 6.5 manual.
15925         Suggested by Bruno Haible in
15926         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
15927
15928 2011-02-17  Bruno Haible  <bruno@clisp.org>
15929
15930         havelib: Fix comments.
15931         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
15932         change.
15933
15934 2011-02-17  Bruno Haible  <bruno@clisp.org>
15935
15936         havelib: Update config.rpath.
15937         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
15938
15939 2011-02-17  Bruno Haible  <bruno@clisp.org>
15940
15941         getloadavg test: Add some plausibility checks.
15942         * tests/test-getloadavg.c (check_avg): Print a warning when the value
15943         is improbable.
15944
15945 2011-02-16  Eric Blake  <eblake@redhat.com>
15946
15947         maintainer-makefile: make syntax-check a no-op from tarballs
15948         * top/maint.mk (no-vc-detected): New rule.
15949         (local-checks-available): Use it to avoid hanging if someone tries
15950         'make syntax-check' from a tarball.  Also append to any non-syntax
15951         checks already defined in cfg.mk.
15952
15953 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
15954
15955         longlong: tune, particularly for common case of c99
15956
15957         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
15958         or running anything if c99, or if unsigned long long int does not
15959         work.  In either case, we know the answer without further tests.
15960         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
15961         it at most once, and use its results for both long long int and
15962         unsigned long long int.  This is more likely to be efficient in
15963         the common case where the program wants to check for both long
15964         long int and unsigned long long int.
15965         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
15966         since the answer is already known.
15967
15968 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
15969
15970         getloadavg: set errno
15971         * lib/getloadavg.c: Set errno when returning -1.  If no other
15972         error number looks appropriate, set it to ENOSYS if the getloadavg
15973         looks like it can't possibly ever work, ENOTSUP otherwise.
15974         Suggested by Bruno Haible in
15975         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
15976
15977         getloadavg: trim unused parts and speed up 'configure'
15978         * NEWS: Document this.
15979         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
15980         always compiled if getloadavg is absent.
15981         Move test code to ...
15982         * tests/test-getloadavg.c: New file, containing previous
15983         contents of test from lib/getloadavg.c.  It also contains
15984         suggestions by Bruno Haible in
15985         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
15986         * modules/getloadavg-tests: New file.
15987         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
15988         Do tests in the same order as they're needed for getloadavg.c.
15989         Omit setgid-related tests that generate symbols KMEM_GROUP,
15990         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
15991         Do only the tests that are needed to see whether the system has
15992         getloadavg, moving the other tests into ...
15993         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
15994         NLIST_NAME_UNION; nobody should be using it.  Do not define
15995         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
15996         relevant, as the user of this module shouldn't care how getloadavg
15997         is implemented.
15998
15999         getloadavg: omit unused var
16000         * lib/getloadavg.c (getloadavg): Omit unused local variable.
16001
16002 2011-02-15  Jim Meyering  <meyering@redhat.com>
16003
16004         doc: update users.txt
16005         * users.txt: Update iwhd's URL.
16006
16007 2011-02-13  Bruno Haible  <bruno@clisp.org>
16008
16009         Consistent macro naming for macros that use GCC __attribute__.
16010         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
16011         _ATTRIBUTE_NONNULL_.
16012         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
16013         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
16014         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
16015         ATTRIBUTE_DEPRECATED.
16016         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
16017         ATTRIBUTE_NORETURN.
16018         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16019         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16020         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16021         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16022         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
16023         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
16024         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
16025         ATTRIBUTE_SENTINEL.
16026         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
16027         ATTRIBUTE_RETURN_CHECK.
16028         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
16029         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
16030         ATTRIBUTE_NORETURN.
16031         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
16032         Reported by Paul Eggert.
16033
16034 2011-02-13  Bruno Haible  <bruno@clisp.org>
16035
16036         Don't interfere with a program's definition of __attribute__.
16037         * lib/argp.h (__attribute__): Remove definition.
16038         (_GL_ATTRIBUTE_FORMAT): New macro.
16039         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
16040         * lib/argp-fmtstream.h (__attribute__): Remove definition.
16041         (_GL_ATTRIBUTE_FORMAT): New macro.
16042         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
16043         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
16044         GCC 3 or newer.
16045         * lib/error.h (__attribute__): Remove definition.
16046         (_GL_ATTRIBUTE_FORMAT): New macro.
16047         (error, error_at_line): Use it.
16048         * lib/hash.h (__attribute__): Remove definition.
16049         (ATTRIBUTE_WUR): Update definition. Define always.
16050         * lib/openat.h (__attribute__): Remove definition.
16051         (ATTRIBUTE_NORETURN): Update definition. Define always.
16052         * lib/sigpipe-die.h (__attribute__): Remove definition.
16053         (ATTRIBUTE_NORETURN): Update definition. Define always.
16054         * lib/vasnprintf.h (__attribute__): Remove definition.
16055         (_GL_ATTRIBUTE_FORMAT): New macro.
16056         (asnprintf, vasnprintf): Use it.
16057         * lib/xalloc.h (__attribute__): Remove definition.
16058         (ATTRIBUTE_NORETURN): Update definition. Define always.
16059         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
16060         * lib/xmemdup0.h (__attribute__): Remove definition.
16061         (ATTRIBUTE_NORETURN): Update definition. Define always.
16062         * lib/xprintf.h (__attribute__): Remove definition.
16063         (_GL_ATTRIBUTE_FORMAT): New macro.
16064         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
16065         * lib/xstrtol.h (__attribute__): Remove definition.
16066         (ATTRIBUTE_NORETURN): Update definition. Define always.
16067         * lib/xvasprintf.h (__attribute__): Remove definition.
16068         (_GL_ATTRIBUTE_FORMAT): New macro.
16069         (xasprintf, xvasprintf): Use it.
16070         * tests/test-argmatch.c (__attribute__): Remove definition.
16071         (ATTRIBUTE_NORETURN): Update definition. Define always.
16072         * tests/test-exclude.c (__attribute__): Remove definition.
16073         (ATTRIBUTE_NORETURN): Update definition. Define always.
16074         Reported by Paul Eggert.
16075
16076 2011-02-13  Bruno Haible  <bruno@clisp.org>
16077
16078         mbrtowc: Add more tests for native Windows platforms.
16079         * tests/test-mbrtowc-w32-1.sh: New file.
16080         * tests/test-mbrtowc-w32-2.sh: New file.
16081         * tests/test-mbrtowc-w32-3.sh: New file.
16082         * tests/test-mbrtowc-w32-4.sh: New file.
16083         * tests/test-mbrtowc-w32-5.sh: New file.
16084         * tests/test-mbrtowc-w32.c: New file.
16085         * modules/mbrtowc-tests (Files): Add them.
16086         (Makefile.am): Arrange to run these tests.
16087         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
16088         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
16089
16090 2011-02-13  Bruno Haible  <bruno@clisp.org>
16091
16092         mbrtowc: Work around native Windows bug.
16093         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
16094         guess when no suitable locale for testing was found.
16095         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
16096
16097 2011-02-13  Bruno Haible  <bruno@clisp.org>
16098
16099         mbsinit: Work around mingw bug.
16100         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
16101         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
16102         Windows.
16103         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
16104
16105 2011-02-13  Bruno Haible  <bruno@clisp.org>
16106
16107         mbsinit: Don't crash for a NULL argument.
16108         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
16109         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
16110
16111 2011-02-13  Bruno Haible  <bruno@clisp.org>
16112
16113         Don't interfere with a program's definition of __attribute__.
16114         * lib/stdio.in.h (__attribute__): Remove definition.
16115         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
16116         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
16117         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
16118         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
16119         * lib/string.in.h (__attribute__): Remove definition.
16120         Reported by Paul Eggert.
16121
16122 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
16123
16124         stdlib: don't get in the way of non-GCC __attribute__
16125         See thread starting at
16126         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
16127         Revert previous stdlib change, installing the following instead:
16128         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
16129         to get in the way of a non-GCC compiler that supports __attribute__.
16130         (_GL_ATTRIBUTE_RETURN): New macro.
16131         (_Exit): Use it instead of __attribute__.
16132
16133 2011-02-12  Bruno Haible  <bruno@clisp.org>
16134
16135         quotearg test: Avoid test failure on mingw.
16136         * tests/test-quotearg.sh: Convert the locale identifier from native
16137         Windows syntax to Unix syntax.
16138
16139 2011-02-12  Bruno Haible  <bruno@clisp.org>
16140
16141         setlocale: Prefer gnulib's override over libintl's override.
16142         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
16143         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
16144         GNULIB_defined_setlocale is set.
16145
16146 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
16147
16148         stdlib: support non-GCC __attribute__
16149
16150         Fix a serious and tricky problem encountered when attempting to
16151         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
16152         5.5, but it crashed due to memory corruption on Solaris 10 with
16153         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
16154         bits that are otherwise zero.  This tagging is optional inside
16155         Emacs but is preferred and is used when __attribute__ ((__aligned
16156         (8))) works, as it does with both recent-enough GCC and with Sun C
16157         5.11.  However, Sun C 5.11 is not GCC and does not #define
16158         __GNUC__ and __GNUC_MINOR__.
16159
16160         When I added the getloadavg module to Emacs, it brought in
16161         stdlib.in.h, which contained this fragment:
16162
16163            #ifndef __attribute__
16164            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
16165            #  define __attribute__(Spec)   /* empty */
16166            # endif
16167            #endif
16168
16169         When files that include <stdlib.h> were compiled with Sun C 5.11,
16170         the above code disabled __attribute__ ((__aligned (8))), which
16171         caused variables to not be properly aligned, which eventually led
16172         to the pointer corruption mentioned above.  (This was a bit hard
16173         to diagnose, unfortunately.)
16174
16175         Several "#define __attribute__(X) /* empty */" code snippets need
16176         to be eradicated from Gnulib to work with non-GCC compilers that
16177         support __attribute__.  The Autoconf way to do this is to test for
16178         each kind of attribute that we want support for, and selectively
16179         enable that in source code.
16180
16181         Fix this problem just for stdlib.h, by adding a test for the
16182         __noreturn__ attribute, and change stdlib.in.h to use that test
16183         when needed.  This technique can be easily generalized to the
16184         other *.in.h files and attributes, and a similar technique can be
16185         used for *.h and *.c files.  This patch is enough to solve the
16186         problem for Emacs + getloadavg, and I thought I'd publish it for
16187         feedback before undertaking further, similar fixes in other
16188         modules.
16189
16190         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
16191         because it's not needed for stdlib.h.  It merely substitutes the
16192         value directly into stdlib.h.  We may well need to #define it, or
16193         similar symbols, for other modules, but it's nice to also have an
16194         option to not #define it for applications like Emacs that do not
16195         need it.
16196
16197         * lib/stdlib.in.h (__attribute__): Do not #define.
16198         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
16199         be defined only if the _Exit module is also used.
16200         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
16201         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
16202         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
16203         platforms.
16204         * modules/_Exit (Files): Add m4/attribute.m4.
16205         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
16206         * m4/attribute.m4: New file.
16207
16208 2011-02-12  Bruno Haible  <bruno@clisp.org>
16209
16210         wcsrtombs: Work around bug on native Windows.
16211         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
16212         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
16213         instead of len.
16214         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
16215
16216 2011-02-12  Bruno Haible  <bruno@clisp.org>
16217
16218         mbsrtowcs: Work around bug on native Windows.
16219         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
16220         against mingw bug.
16221         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
16222
16223 2011-02-12  Bruno Haible  <bruno@clisp.org>
16224
16225         Avoid setlocale bugs in tests.
16226         * modules/btowc (Dependencies): Add setlocale.
16227         * modules/c-strcase (Dependencies): Likewise.
16228         * modules/mbmemcasecmp (Dependencies): Likewise.
16229         * modules/mbmemcasecoll (Dependencies): Likewise.
16230         * modules/mbrtowc (Dependencies): Likewise.
16231         * modules/mbscasecmp (Dependencies): Likewise.
16232         * modules/mbscasestr (Dependencies): Likewise.
16233         * modules/mbschr (Dependencies): Likewise.
16234         * modules/mbscspn (Dependencies): Likewise.
16235         * modules/mbsinit (Dependencies): Likewise.
16236         * modules/mbsncasecmp (Dependencies): Likewise.
16237         * modules/mbsnrtowcs (Dependencies): Likewise.
16238         * modules/mbspbrk (Dependencies): Likewise.
16239         * modules/mbspcasecmp (Dependencies): Likewise.
16240         * modules/mbsrchr (Dependencies): Likewise.
16241         * modules/mbsrtowcs (Dependencies): Likewise.
16242         * modules/mbsspn (Dependencies): Likewise.
16243         * modules/mbsstr (Dependencies): Likewise.
16244         * modules/nl_langinfo (Dependencies): Likewise.
16245         * modules/quotearg (Dependencies): Likewise.
16246         * modules/unicase/locale-language (Dependencies): Likewise.
16247         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
16248         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
16249         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
16250         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
16251         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
16252         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
16253         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
16254         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
16255         * modules/vasnprintf-posix (Dependencies): Likewise.
16256         * modules/wcrtomb (Dependencies): Likewise.
16257         * modules/wcsnrtombs (Dependencies): Likewise.
16258         * modules/wcsrtombs (Dependencies): Likewise.
16259
16260 2011-02-12  Bruno Haible  <bruno@clisp.org>
16261
16262         setlocale: Workaround native Windows bug.
16263         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
16264         succeeds but sets LC_CTYPE to "C", report a failure.
16265         * tests/test-setlocale2.sh: New file.
16266         * tests/test-setlocale2.c: New file.
16267         * modules/setlocale-tests (Files): Add the new files.
16268         (Makefile.am): Enable test-setlocale2.sh test.
16269         * doc/posix-functions/setlocale.texi: Mention workaround.
16270
16271 2011-02-11  Bruno Haible  <bruno@clisp.org>
16272
16273         Tests for module 'setlocale'.
16274         * modules/setlocale-tests: New file.
16275         * tests/test-setlocale1.sh: New file.
16276         * tests/test-setlocale1.c: New file.
16277
16278         New module 'setlocale'.
16279         * lib/locale.in.h (setlocale): New declaration.
16280         * lib/setlocale.c: New file, based on
16281         gettext/gettext-runtime/intl/setlocale.c.
16282         * m4/setlocale.m4: New file.
16283         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
16284         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
16285         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
16286         REPLACE_SETLOCALE.
16287         * modules/setlocale: New file.
16288         * tests/test-locale-c++.cc: Test the declaration of setlocale.
16289         * doc/posix-functions/setlocale.texi: Mention the new module.
16290
16291 2011-02-11  Bruno Haible  <bruno@clisp.org>
16292
16293         Prepare for locale dependent tests on mingw.
16294         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
16295         because it has the wrong locale encoding.
16296         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
16297         French_France.1252 instead of "fr".
16298         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
16299         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
16300         because it has the wrong locale encoding.
16301         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
16302         native Windows, try Turkish_Turkey.65001.
16303         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
16304         Chinese_China.54936.
16305
16306         Prepare for locale dependent tests on mingw.
16307         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
16308         differently.
16309         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
16310         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
16311         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
16312         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
16313
16314 2011-02-11  Eric Blake  <eblake@redhat.com>
16315
16316         strptime: avoid compiler warnings
16317         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
16318         compiler warnings about dead code.
16319         Reported by Daniel P. Berrange.
16320
16321 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
16322
16323         doc: update users.txt
16324         * users.txt: Add rcs.
16325
16326 2011-02-10  John W. Eaton  <jwe@gnu.org>
16327
16328         doc: update users.txt
16329         * users.txt: Add octave.
16330
16331 2011-02-10  Jim Meyering  <meyering@redhat.com>
16332
16333         doc: update users.txt
16334         * users.txt: Add iwhd.
16335
16336 2011-02-09  Bruno Haible  <bruno@clisp.org>
16337
16338         gnulib-tool: Make copyright notice adjustment more robust.
16339         * gnulib-tool (func_import): In sed_transform_main_lib_file,
16340         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
16341         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
16342         License".
16343         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
16344
16345 2011-02-06  Bruno Haible  <bruno@clisp.org>
16346
16347         New module 'towctrans'.
16348         * modules/towctrans: New file.
16349         * lib/wctype.in.h (towctrans): New declaration.
16350         * lib/towctrans.c: New file.
16351         * lib/towctrans-impl.h: New file.
16352         * m4/towctrans.m4: New file.
16353         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
16354         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
16355         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
16356         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
16357         * doc/posix-functions/towctrans.texi: Mention the new module.
16358
16359 2011-02-06  Bruno Haible  <bruno@clisp.org>
16360
16361         New module 'wctrans'.
16362         * modules/wctrans: New file.
16363         * lib/wctype.in.h (wctrans): New declaration.
16364         * lib/wctrans.c: New file.
16365         * lib/wctrans-impl.h: New file.
16366         * m4/wctrans.m4: New file.
16367         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
16368         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
16369         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
16370         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
16371         * doc/posix-functions/wctrans.texi: Mention the new module.
16372
16373 2011-02-06  Bruno Haible  <bruno@clisp.org>
16374
16375         New module 'iswctype'.
16376         * modules/iswctype: New file.
16377         * lib/wctype.in.h (iswctype): New declaration.
16378         * lib/iswctype.c: New file.
16379         * lib/iswctype-impl.h: New file.
16380         * m4/iswctype.m4: New file.
16381         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
16382         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
16383         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
16384         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
16385         * doc/posix-functions/iswctype.texi: Mention the new module and the
16386         HP-UX 11.00 problem.
16387
16388 2011-02-06  Bruno Haible  <bruno@clisp.org>
16389
16390         New module 'wctype'.
16391         * modules/wctype: Change to represent the wctype() substitute.
16392         * lib/wctype.in.h (wctype): New declaration.
16393         * lib/wctype.c: New file.
16394         * lib/wctype-impl.h: New file.
16395         * m4/wctype.m4: New file.
16396         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
16397         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
16398         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
16399         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
16400         * doc/posix-functions/wctype.texi: Mention the new module and the
16401         HP-UX 11.00 problem.
16402
16403 2011-02-06  Bruno Haible  <bruno@clisp.org>
16404
16405         wctype-h: Ensure wctype_t and wctrans_t are defined.
16406         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
16407         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
16408         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
16409         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
16410         HAVE_WCTRANS_T.
16411         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
16412
16413 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
16414
16415         flock: fix license typo
16416
16417         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
16418         omitted.
16419
16420 2011-02-08  Bruno Haible  <bruno@clisp.org>
16421
16422         Split large sed scripts, for HP-UX sed.
16423         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
16424         to avoid HP-UX limit of 99 commands, in the near future.
16425         * modules/stdlib (Makefile.am): Likewise.
16426         * modules/unistd (Makefile.am): Likewise.
16427         * modules/wchar (Makefile.am): Likewise.
16428         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
16429         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
16430         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
16431
16432 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
16433             Bruno Haible  <bruno@clisp.org>
16434
16435         stdlib: improve random_r modularization
16436         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
16437         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
16438         you also need the random_r module to get this material right.
16439         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
16440         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
16441         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
16442
16443 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
16444
16445         stdlib: don't depend on stdint
16446         * lib/stdlib.in.h: Don't include <stdint.h> merely because
16447         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
16448         be independent of whether stdint.h is needed.
16449         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
16450         here, instead of ...
16451         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
16452         struct random_data should be using the random_r module, not just
16453         the stdlib module (which wouldn't make sense: what package needs
16454         just struct random_data without also needing random_r?).
16455         * modules/stdlib (Depends-on): Remove stdint.
16456
16457         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
16458         See the thread rooted at
16459         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
16460         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
16461         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
16462         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
16463         __VMS)); previously it was always included (via fcntl--.h).
16464         (getloadavg): Do not use c_strtod.  Instead, approximate it by
16465         hand; this is good enough for load averages.  Also, do not use
16466         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
16467         flags directly if available and don't bother otherwise.  (Packages
16468         that need the extra reliability should use the modules that define
16469         these flags on older platforms that lack them.)
16470         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
16471         fcntl-safer.
16472
16473 2011-02-08  Jim Meyering  <meyering@redhat.com>
16474
16475         di-set.h, ino-map.h: add multiple-inclusion guard
16476         Technically, the guard is required only for ino-map.h, due to its
16477         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
16478         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
16479         * lib/ino-map.h: Likewise.
16480
16481 2011-02-06  Bruno Haible  <bruno@clisp.org>
16482
16483         iswblank: Ensure declaration on glibc systems.
16484         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
16485         * modules/iswblank (Dependencies): Add 'extensions'.
16486         * doc/posix-functions/iswblank.texi: Document the glibc problem.
16487
16488 2011-02-06  Bruno Haible  <bruno@clisp.org>
16489
16490         New module 'iswblank'.
16491         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
16492         * modules/iswblank: New file.
16493         * modules/wctype-h (Files): Remove lib/iswblank.c.
16494         (Makefile.am): Substitute GNULIB_ISWBLANK.
16495         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
16496         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
16497         (gl_WCTYPE_H_DEFAULTS): New macro.
16498         (gl_WCTYPE_H): Require it. Remove iswblank related code.
16499         * modules/iswblank-tests: New file.
16500         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
16501         * tests/test-wctype-h.c (main): Remove iswblank tests.
16502         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
16503         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
16504         of 'wctype-h'.
16505         * NEWS: Mention the change.
16506         * modules/mbchar (Depends-on): Add iswblank.
16507
16508 2011-02-08  Bruno Haible  <bruno@clisp.org>
16509
16510         di-set tests: Refactor.
16511         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
16512         unnecessary includes.
16513         (ASSERT): Remove macro.
16514         (main): Make C90 compliant by avoiding variable declaration after
16515         statement.
16516         * modules/di-set-tests (Files): Add tests/macros.h.
16517
16518 2011-02-08  Bruno Haible  <bruno@clisp.org>
16519
16520         ino-map tests: Refactor.
16521         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
16522         unnecessary includes.
16523         (ASSERT): Remove macro.
16524         (main): Make C90 compliant by avoiding variable declaration after
16525         statement.
16526         * modules/ino-map-tests (Files): Add tests/macros.h.
16527
16528 2011-02-08  Jim Meyering  <meyering@redhat.com>
16529
16530         di-set: add "const" to a cast
16531         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
16532         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
16533
16534 2011-02-06  Bruno Haible  <bruno@clisp.org>
16535
16536         Rename module 'wctype' to 'wctype-h'.
16537         * modules/wctype-h: Renamed from modules/wctype.
16538         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
16539         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
16540         (Files, Depends-on, Makefile.am): Update.
16541         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
16542         (Files, Makefile.am): Update.
16543         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
16544         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
16545         * doc/posix-headers/wctype.texi: Update.
16546         * doc/posix-functions/iswalnum.texi: Update.
16547         * doc/posix-functions/iswalpha.texi: Update.
16548         * doc/posix-functions/iswblank.texi: Update.
16549         * doc/posix-functions/iswcntrl.texi: Update.
16550         * doc/posix-functions/iswdigit.texi: Update.
16551         * doc/posix-functions/iswgraph.texi: Update.
16552         * doc/posix-functions/iswlower.texi: Update.
16553         * doc/posix-functions/iswprint.texi: Update.
16554         * doc/posix-functions/iswpunct.texi: Update.
16555         * doc/posix-functions/iswspace.texi: Update.
16556         * doc/posix-functions/iswupper.texi: Update.
16557         * doc/posix-functions/iswxdigit.texi: Update.
16558         * doc/posix-functions/towlower.texi: Update.
16559         * doc/posix-functions/towupper.texi: Update.
16560         * NEWS: Mention the change.
16561         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
16562         * modules/mbchar (Dependencies): Likewise.
16563         * modules/mbswidth (Dependencies): Likewise.
16564         * modules/quotearg (Dependencies): Likewise.
16565         * modules/regex (Dependencies): Likewise.
16566         * modules/wcscasecmp (Dependencies): Likewise.
16567         * modules/wcsncasecmp (Dependencies): Likewise.
16568         * modules/wcwidth (Dependencies): Likewise.
16569
16570 2011-02-06  Bruno Haible  <bruno@clisp.org>
16571
16572         New module 'wcswidth'.
16573         * modules/wcswidth: New file.
16574         * lib/wchar.in.h (wcswidth): New declaration.
16575         * lib/wcswidth.c: New file.
16576         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
16577         * m4/wcswidth.m4: New file.
16578         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
16579         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
16580         REPLACE_WCSWIDTH.
16581         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
16582         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
16583         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
16584         * doc/posix-functions/wcswidth.texi: Mention the new module.
16585
16586 2011-02-06  Bruno Haible  <bruno@clisp.org>
16587
16588         New module 'wcstok'.
16589         * modules/wcstok: New file.
16590         * lib/wchar.in.h (wcstok): New declaration.
16591         * lib/wcstok.c: New file.
16592         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
16593         * m4/wcstok.m4: New file.
16594         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
16595         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
16596         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
16597         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
16598         * doc/posix-functions/wcstok.texi: Mention the new module.
16599
16600 2011-02-06  Bruno Haible  <bruno@clisp.org>
16601
16602         New module 'wcsstr'.
16603         * modules/wcsstr: New file.
16604         * lib/wchar.in.h (wcsstr): New declaration.
16605         * lib/wcsstr.c: New file.
16606         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
16607         * m4/wcsstr.m4: New file.
16608         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
16609         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
16610         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
16611         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
16612         * doc/posix-functions/wcsstr.texi: Mention the new module.
16613
16614 2011-02-06  Bruno Haible  <bruno@clisp.org>
16615
16616         New module 'wcspbrk'.
16617         * modules/wcspbrk: New file.
16618         * lib/wchar.in.h (wcspbrk): New declaration.
16619         * lib/wcspbrk.c: New file.
16620         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
16621         * m4/wcspbrk.m4: New file.
16622         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
16623         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
16624         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
16625         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
16626         * doc/posix-functions/wcspbrk.texi: Mention the new module.
16627
16628 2011-02-06  Bruno Haible  <bruno@clisp.org>
16629
16630         New module 'wcsspn'.
16631         * modules/wcsspn: New file.
16632         * lib/wchar.in.h (wcsspn): New declaration.
16633         * lib/wcsspn.c: New file.
16634         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
16635         * m4/wcsspn.m4: New file.
16636         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
16637         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
16638         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
16639         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
16640         * doc/posix-functions/wcsspn.texi: Mention the new module.
16641
16642 2011-02-06  Bruno Haible  <bruno@clisp.org>
16643
16644         New module 'wcscspn'.
16645         * modules/wcscspn: New file.
16646         * lib/wchar.in.h (wcscspn): New declaration.
16647         * lib/wcscspn.c: New file.
16648         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
16649         * m4/wcscspn.m4: New file.
16650         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
16651         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
16652         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
16653         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
16654         * doc/posix-functions/wcscspn.texi: Mention the new module.
16655
16656 2011-02-06  Bruno Haible  <bruno@clisp.org>
16657
16658         New module 'wcsrchr'.
16659         * modules/wcsrchr: New file.
16660         * lib/wchar.in.h (wcsrchr): New declaration.
16661         * lib/wcsrchr.c: New file.
16662         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
16663         * m4/wcsrchr.m4: New file.
16664         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
16665         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
16666         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
16667         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
16668         * doc/posix-functions/wcsrchr.texi: Mention the new module.
16669
16670 2011-02-06  Bruno Haible  <bruno@clisp.org>
16671
16672         New module 'wcschr'.
16673         * modules/wcschr: New file.
16674         * lib/wchar.in.h (wcschr): New declaration.
16675         * lib/wcschr.c: New file.
16676         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
16677         * m4/wcschr.m4: New file.
16678         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
16679         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
16680         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
16681         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
16682         * doc/posix-functions/wcschr.texi: Mention the new module.
16683
16684 2011-02-06  Bruno Haible  <bruno@clisp.org>
16685
16686         New module 'wcsdup'.
16687         * modules/wcsdup: New file.
16688         * lib/wchar.in.h (wcsdup): New declaration.
16689         * lib/wcsdup.c: New file.
16690         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
16691         * m4/wcsdup.m4: New file.
16692         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
16693         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
16694         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
16695         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
16696         * doc/posix-functions/wcsdup.texi: Mention the new module.
16697
16698 2011-02-06  Bruno Haible  <bruno@clisp.org>
16699
16700         New module 'wcsxfrm'.
16701         * modules/wcsxfrm: New file.
16702         * lib/wchar.in.h (wcsxfrm): New declaration.
16703         * lib/wcsxfrm.c: New file.
16704         * lib/wcsxfrm-impl.h: New file.
16705         * m4/wcsxfrm.m4: New file.
16706         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
16707         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
16708         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
16709         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
16710         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
16711
16712 2011-02-06  Bruno Haible  <bruno@clisp.org>
16713
16714         New module 'wcscoll'.
16715         * modules/wcscoll: New file.
16716         * lib/wchar.in.h (wcscoll): New declaration.
16717         * lib/wcscoll.c: New file.
16718         * lib/wcscoll-impl.h: New file.
16719         * m4/wcscoll.m4: New file.
16720         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
16721         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
16722         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
16723         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
16724         * doc/posix-functions/wcscoll.texi: Mention the new module.
16725
16726 2011-02-06  Bruno Haible  <bruno@clisp.org>
16727
16728         New module 'wcsncasecmp'.
16729         * modules/wcsncasecmp: New file.
16730         * lib/wchar.in.h (wcsncasecmp): New declaration.
16731         * lib/wcsncasecmp.c: New file.
16732         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
16733         * m4/wcsncasecmp.m4: New file.
16734         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
16735         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
16736         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
16737         HAVE_WCSNCASECMP.
16738         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
16739         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
16740
16741 2011-02-06  Bruno Haible  <bruno@clisp.org>
16742
16743         New module 'wcscasecmp'.
16744         * modules/wcscasecmp: New file.
16745         * lib/wchar.in.h (wcscasecmp): New declaration.
16746         * lib/wcscasecmp.c: New file.
16747         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
16748         * m4/wcscasecmp.m4: New file.
16749         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
16750         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
16751         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
16752         HAVE_WCSCASECMP.
16753         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
16754         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
16755
16756 2011-02-05  Bruno Haible  <bruno@clisp.org>
16757
16758         New module 'wcsncmp'.
16759         * modules/wcsncmp: New file.
16760         * lib/wchar.in.h (wcsncmp): New declaration.
16761         * lib/wcsncmp.c: New file.
16762         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
16763         * m4/wcsncmp.m4: New file.
16764         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
16765         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
16766         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
16767         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
16768         * doc/posix-functions/wcsncmp.texi: Mention the new module.
16769
16770 2011-02-05  Bruno Haible  <bruno@clisp.org>
16771
16772         New module 'wcscmp'.
16773         * modules/wcscmp: New file.
16774         * lib/wchar.in.h (wcscmp): New declaration.
16775         * lib/wcscmp.c: New file.
16776         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
16777         * m4/wcscmp.m4: New file.
16778         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
16779         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
16780         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
16781         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
16782         * doc/posix-functions/wcscmp.texi: Mention the new module.
16783
16784 2011-02-05  Bruno Haible  <bruno@clisp.org>
16785
16786         New module 'wcsncat'.
16787         * modules/wcsncat: New file.
16788         * lib/wchar.in.h (wcsncat): New declaration.
16789         * lib/wcsncat.c: New file.
16790         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
16791         * m4/wcsncat.m4: New file.
16792         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
16793         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
16794         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
16795         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
16796         * doc/posix-functions/wcsncat.texi: Mention the new module.
16797
16798 2011-02-05  Bruno Haible  <bruno@clisp.org>
16799
16800         New module 'wcscat'.
16801         * modules/wcscat: New file.
16802         * lib/wchar.in.h (wcscat): New declaration.
16803         * lib/wcscat.c: New file.
16804         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
16805         * m4/wcscat.m4: New file.
16806         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
16807         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
16808         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
16809         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
16810         * doc/posix-functions/wcscat.texi: Mention the new module.
16811
16812 2011-02-05  Bruno Haible  <bruno@clisp.org>
16813
16814         New module 'wcpncpy'.
16815         * modules/wcpncpy: New file.
16816         * lib/wchar.in.h (wcpncpy): New declaration.
16817         * lib/wcpncpy.c: New file.
16818         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
16819         * m4/wcpncpy.m4: New file.
16820         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
16821         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
16822         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
16823         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
16824         * doc/posix-functions/wcpncpy.texi: Mention the new module.
16825
16826 2011-02-05  Bruno Haible  <bruno@clisp.org>
16827
16828         New module 'wcsncpy'.
16829         * modules/wcsncpy: New file.
16830         * lib/wchar.in.h (wcsncpy): New declaration.
16831         * lib/wcsncpy.c: New file.
16832         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
16833         * m4/wcsncpy.m4: New file.
16834         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
16835         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
16836         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
16837         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
16838         * doc/posix-functions/wcsncpy.texi: Mention the new module.
16839
16840 2011-02-05  Bruno Haible  <bruno@clisp.org>
16841
16842         New module 'wcpcpy'.
16843         * modules/wcpcpy: New file.
16844         * lib/wchar.in.h (wcpcpy): New declaration.
16845         * lib/wcpcpy.c: New file.
16846         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
16847         * m4/wcpcpy.m4: New file.
16848         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
16849         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
16850         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
16851         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
16852         * doc/posix-functions/wcpcpy.texi: Mention the new module.
16853
16854 2011-02-05  Bruno Haible  <bruno@clisp.org>
16855
16856         New module 'wcscpy'.
16857         * modules/wcscpy: New file.
16858         * lib/wchar.in.h (wcscpy): New declaration.
16859         * lib/wcscpy.c: New file.
16860         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
16861         * m4/wcscpy.m4: New file.
16862         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
16863         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
16864         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
16865         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
16866         * doc/posix-functions/wcscpy.texi: Mention the new module.
16867
16868 2011-02-05  Bruno Haible  <bruno@clisp.org>
16869
16870         New module 'wcsnlen'.
16871         * modules/wcsnlen: New file.
16872         * lib/wchar.in.h (wcsnlen): New declaration.
16873         * lib/wcsnlen.c: New file.
16874         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
16875         * m4/wcsnlen.m4: New file.
16876         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
16877         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
16878         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
16879         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
16880         * doc/posix-functions/wcsnlen.texi: Mention the new module.
16881
16882 2011-02-05  Bruno Haible  <bruno@clisp.org>
16883
16884         New module 'wcslen'.
16885         * modules/wcslen: New file.
16886         * lib/wchar.in.h (wcslen): New declaration.
16887         * lib/wcslen.c: New file.
16888         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
16889         * m4/wcslen.m4: New file.
16890         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
16891         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
16892         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
16893         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
16894         * doc/posix-functions/wcslen.texi: Mention the new module.
16895
16896 2011-02-05  Bruno Haible  <bruno@clisp.org>
16897
16898         New module 'wmemset'.
16899         * modules/wmemset: New file.
16900         * lib/wchar.in.h (wmemset): New declaration.
16901         * lib/wmemset.c: New file.
16902         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
16903         * m4/wmemset.m4: New file.
16904         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
16905         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
16906         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
16907         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
16908         * doc/posix-functions/wmemset.texi: Mention the new module.
16909
16910 2011-02-05  Bruno Haible  <bruno@clisp.org>
16911
16912         New module 'wmemmove'.
16913         * modules/wmemmove: New file.
16914         * lib/wchar.in.h (wmemmove): New declaration.
16915         * lib/wmemmove.c: New file.
16916         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
16917         * m4/wmemmove.m4: New file.
16918         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
16919         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
16920         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
16921         HAVE_WMEMMOVE.
16922         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
16923         * doc/posix-functions/wmemmove.texi: Mention the new module.
16924
16925 2011-02-05  Bruno Haible  <bruno@clisp.org>
16926
16927         New module 'wmemcpy'.
16928         * modules/wmemcpy: New file.
16929         * lib/wchar.in.h (wmemcpy): New declaration.
16930         * lib/wmemcpy.c: New file.
16931         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
16932         * m4/wmemcpy.m4: New file.
16933         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
16934         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
16935         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
16936         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
16937         * doc/posix-functions/wmemcpy.texi: Mention the new module.
16938
16939 2011-02-05  Bruno Haible  <bruno@clisp.org>
16940
16941         New module 'wmemcmp'.
16942         * modules/wmemcmp: New file.
16943         * lib/wchar.in.h (wmemcmp): New declaration.
16944         * lib/wmemcmp.c: New file.
16945         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
16946         * m4/wmemcmp.m4: New file.
16947         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
16948         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
16949         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
16950         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
16951         * doc/posix-functions/wmemcmp.texi: Mention the new module.
16952
16953 2011-02-07  Jim Meyering  <meyering@redhat.com>
16954
16955         di-set, ino-map: new modules, from coreutils
16956         * lib/di-set.c: New file.
16957         * lib/di-set.h: Likewise.
16958         * lib/ino-map.c: Likewise.
16959         * lib/ino-map.h: Likewise.
16960         * modules/di-set: Likewise.
16961         * modules/di-set-tests: Likewise.
16962         * modules/ino-map: Likewise.
16963         * modules/ino-map-tests: Likewise.
16964         * tests/test-di-set.c: Likewise.
16965         * tests/test-ino-map.c: Likewise.
16966
16967 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
16968
16969         getloadavg: merge minor changes from Emacs
16970
16971         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
16972         (getloadavg): Use memset, not bzero.
16973
16974         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
16975         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
16976         clash (bug#86).
16977
16978 2010-11-14  Bruno Haible  <bruno@clisp.org>
16979
16980         Allow multiple gnulib generated replacements to coexist.
16981         * lib/getopt.in.h (struct option): Avoid identical redefinition.
16982         * lib/inttypes.in.h (imaxdiv_t): Likewise.
16983         * lib/langinfo.in.h (nl_item): Likewise.
16984         * lib/math.in.h (_NaN, NAN): Likewise.
16985         * lib/netdb.in.h (struct addrinfo): Likewise.
16986         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
16987         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
16988         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
16989         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
16990         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
16991         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
16992         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
16993         pthread_mutexattr_init, pthread_mutexattr_settype,
16994         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
16995         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
16996         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
16997         pthread_spin_trylock, pthread_spin_unlock): Likewise.
16998         * lib/sched.in.h (struct sched_param): Likewise.
16999         * lib/se-selinux.in.h (security_class_t, security_context_t,
17000         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
17001         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
17002         lsetfilecon, fsetfilecon, security_check_context,
17003         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
17004         Likewise.
17005         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
17006         Likewise.
17007         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
17008         _gl_function_taking_int_returning_void_t, union sigval,
17009         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
17010         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
17011         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
17012         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
17013         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
17014         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
17015         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
17016         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
17017         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
17018         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
17019         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
17020         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
17021         socklen_t, rpl_fd_isset): Likewise.
17022         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
17023         * lib/sys_time.in.h (struct timeval): Likewise.
17024         * lib/sys_times.in.h (struct tms): Likewise.
17025         * lib/sys_utsname.in.h (struct utsname):
17026         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
17027         * lib/unistd.in.h (getpagesize): Likewise.
17028         * lib/wchar.in.h (mbstate_t): Likewise.
17029         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
17030         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
17031         towlower, towupper): Likewise.
17032         Reported by Sam Steingold <sds@gnu.org>.
17033
17034 2011-02-05  Eric Blake  <eblake@redhat.com>
17035
17036         unsetenv: work around Haiku issues
17037         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
17038         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
17039
17040 2010-12-30  Bruce Korb  <bkorb@gnu.org>
17041
17042         libposix: avoid calling error() within libposix
17043         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
17044         is defined.
17045
17046 2011-02-05  Eric Blake  <eblake@redhat.com>
17047
17048         strerror_r-posix: port to cygwin
17049         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
17050         implementation.
17051         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
17052         * tests/test-strerror_r.c (main): Fix test.
17053         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
17054         issue.
17055
17056 2011-02-05  Bruno Haible  <bruno@clisp.org>
17057
17058         New module 'wmemchr'.
17059         * modules/wmemchr: New file.
17060         * lib/wchar.in.h (wmemchr): New declaration.
17061         * lib/wmemchr.c: New file.
17062         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
17063         * m4/wmemchr.m4: New file.
17064         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
17065         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
17066         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
17067         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
17068         * doc/posix-functions/wmemchr.texi: Mention the new module.
17069
17070 2011-02-04  Eric Blake  <eblake@redhat.com>
17071
17072         fdopendir: detect FreeBSD bug
17073         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
17074         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
17075
17076 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
17077
17078         stdbool: do not define HAVE_STDBOOL_H
17079         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
17080         AC_HEADER_STDBOOL.  All uses changed.  Do not define
17081         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
17082         imported from the latest Autoconf git.  It was motivated by Emacs,
17083         which uses gnulib but does not need HAVE_STDBOOL_H.
17084
17085 2011-02-04  Bruno Haible  <bruno@clisp.org>
17086
17087         wcsnrtombs: Prepare for new module wwcsnrtombs.
17088         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
17089         * lib/wcsnrtombs.c: Include it.
17090         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
17091
17092         wcsrtombs: Prepare for new module wwcsrtombs.
17093         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
17094         * lib/wcsrtombs.c: Include it.
17095         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
17096
17097         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
17098         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
17099         * lib/mbsnrtowcs.c: Include it.
17100         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
17101
17102         mbsrtowcs: Prepare for new module mbsrtowwcs.
17103         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
17104         * lib/mbsrtowcs.c: Include it.
17105         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
17106
17107 2011-02-04  Bruno Haible  <bruno@clisp.org>
17108
17109         vasnprintf: Reduce use of malloc for small format strings.
17110         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
17111         (arguments): Add room for the first 7 arguments.
17112         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
17113         (char_directives, u8_directives, u16_directives, u32_directives): Add
17114         room for the first 7 directives.
17115         * lib/printf-parse.c: Include <string.h>.
17116         (PRINTF_PARSE): Change memory handling code so that it uses the first
17117         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
17118         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
17119         Reported by Pádraig Brady <P@draigbrady.com>.
17120
17121 2011-01-31  Eric Blake  <eblake@redhat.com>
17122
17123         dup2: work around Haiku bug
17124         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
17125         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
17126         * doc/posix-functions/dup2.texi (dup2): Document the bug.
17127         * tests/test-dup2.c (main): Enhance test.
17128
17129 2011-01-31  Simon Josefsson  <simon@josefsson.org>
17130
17131         doc: off_t is not available in eglibc 2.11.2 stdio.h.
17132         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
17133         declared by eglibc 2.11.2.
17134         * lib/stdio.in.h: Likewise.
17135
17136 2011-01-31  Eric Blake  <eblake@redhat.com>
17137
17138         ignore-value: add missing test dependency
17139         * tests/test-ignore-value.c: Revert previous change; stdio.h
17140         provides off_t.
17141         * modules/ignore-value-tests (Depends-on): Add missing dependency.
17142
17143 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
17144
17145         mktime: clarify long_int width checking
17146         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
17147         the top level, to make it clearer that the assumption about
17148         long_int width is being checked.  See
17149         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
17150
17151 2011-01-30  Simon Josefsson  <simon@josefsson.org>
17152
17153         ignore-value: Fix self-test.
17154         * tests/test-ignore-value.c: Include sys/types.h for off_t.
17155
17156 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
17157
17158         TYPE_MAXIMUM: avoid theoretically undefined behavior
17159         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
17160         negative number, which the C Standard says has undefined behavior.
17161         In practice this is not a problem, but might as well do it by the book.
17162         Reported by Rich Felker and Eric Blake; see
17163         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
17164         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
17165         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
17166         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17167         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
17168         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17169         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
17170
17171         mktime: #undef mktime before #defining it
17172         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
17173
17174         mktime: systematically normalize tm_isdst comparisons
17175         * lib/mktime.c (isdst_differ): New function.
17176         (__mktime_internal): Use it systematically for all isdst comparisons.
17177         This completes the fix for libc BZ #6723, and removes the need for
17178         normalizing tm_isdst.  See
17179         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
17180         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
17181
17182         mktime: fix some integer overflow issues and sidestep the rest
17183
17184         This was prompted by a bug report by Benjamin Lindner for MinGW
17185         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
17186         His bug is due to signed integer overflow (0 - INT_MIN), and I
17187         I scanned through mktime.c looking for other integer overflow
17188         problems, fixing all the bugs I found.
17189
17190         Although the C Standard says the resulting code is still not safe
17191         in the presence of integer overflow, in practice it should be good
17192         enough for all real-world two's-complement implementations, except
17193         for debugging environments that deliberately trap on integer
17194         overflow (e.g., gcc -ftrapv).
17195
17196         * lib/mktime.c (WRAPV): New macro.
17197         (SHR): Also check that long_int and time_t shift right in the
17198         usual way, before using the fast-but-unportable method.
17199         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
17200         used.  The code already assumed two's complement, so there's
17201         no need to test for alternatives.  All uses removed.
17202         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
17203         the C standard.  Problem reported by Rich Felker in
17204         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
17205         (twos_complement_arithmetic): Also check long_int and time_t.
17206         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
17207         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
17208         (__mktime_internal): Avoid integer overflow with unary subtraction
17209         in two instances where -1 - X is an adequate replacement for -X,
17210         since the calculations are approximate.
17211
17212 2011-01-29  Eric Blake  <eblake@redhat.com>
17213
17214         mktime: avoid infinite loop
17215         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
17216         type; behavior is still undefined but portable to all known targets.
17217         Reported by Rich Felker.
17218
17219 2011-01-29  Simon Josefsson  <simon@josefsson.org>
17220
17221         rename, unlink, same-inode: Relicense.
17222         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
17223         * modules/unlink (License): Likewise.
17224         * modules/same-inode (License): Likewise.
17225
17226 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
17227
17228         mktime: avoid problems on NetBSD 5 / i386
17229         * lib/mktime.c (long_int): New type.  This works around a problem
17230         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
17231         but time_t is 64 bits, and where I expect the existing code is
17232         wrong in some cases.
17233         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
17234         (ydhms_diff): Bring back the compile-time check for wide-enough
17235         year and yday.
17236
17237         mktime: fix misspelling in comment
17238         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
17239         This merges all recent glibc changes of importance.
17240
17241 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17242
17243         move-if-change: cope with concurrent mv of identical file.
17244         * build-aux/move-if-change (CMPPROG): Accept environment
17245         variable as an override for `cmp'.
17246         (usage): Document CMPPROG.
17247         Adjust comparison to drop stdout.  Cope with failure of mv if
17248         the target file exists and is identical to the source, for
17249         parallel builds.
17250         Report from H.J. Lu against binutils in PR binutils/12283.
17251
17252 2011-01-28  Bruce Korb  <bkorb@gnu.org>
17253
17254         * users.txt: Mention sharutils.
17255
17256 2011-01-28  Simon Josefsson  <simon@josefsson.org>
17257
17258         * users.txt: Mention OATH Toolkit.
17259
17260 2011-01-27  Bruno Haible  <bruno@clisp.org>
17261
17262         Prepare for supporting FreeBSD 10.
17263         * build-aux/config.libpath: Remove handling of freebsd1*.
17264
17265 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
17266
17267         Prepare for supporting FreeBSD 10.
17268         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
17269         match FreeBSD 10.0.
17270
17271 2011-01-27  Bruno Haible  <bruno@clisp.org>
17272
17273         vma-iter, get-rusage-as: Add OpenBSD support.
17274         * modules/vma-iter (configure.ac): Test for mquery.
17275         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
17276         * lib/vma-iter.c: Include <sys/mman.h>.
17277         (vma_iterate): Add an implementation based on mquery().
17278         * lib/resource-ext.h (get_rusage_as): Update comments.
17279         * lib/get-rusage-as.c: Likewise.
17280         * lib/get-rusage-data.c: Likewise.
17281
17282 2011-01-26  Karl Berry  <karl@gnu.org>
17283
17284         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
17285         variables to make it easier to override the makeinfo program used.
17286
17287 2011-01-26  Eric Blake  <eblake@redhat.com>
17288
17289         fcntl: work around Haiku F_DUPFD bugs
17290         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
17291         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
17292         cloexec bit on duplication.
17293         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
17294
17295 2011-01-26  Bruno Haible  <bruno@clisp.org>
17296
17297         Enable memory leak tests on AIX.
17298         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
17299         * tests/test-fprintf-posix3.c (main): Likewise.
17300
17301 2011-01-26  Bruno Haible  <bruno@clisp.org>
17302
17303         Tests for module 'get-rusage-data'.
17304         * modules/get-rusage-data-tests: New file.
17305         * tests/test-get-rusage-data.c: New file.
17306
17307         New module 'get-rusage-data'.
17308         * lib/resource-ext.h (get_rusage_data): New declaration.
17309         * lib/get-rusage-data.c: New file.
17310         * modules/get-rusage-data: New file.
17311
17312 2011-01-25  Bruno Haible  <bruno@clisp.org>
17313
17314         get-rusage-as: Allow for easier testing.
17315         * lib/resource-ext.h (get_rusage_as): Add comment.
17316         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
17317         (main): New function for interactive testing.
17318
17319 2011-01-25  Bruno Haible  <bruno@clisp.org>
17320
17321         vma-iter: Treat Haiku like BeOS.
17322         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
17323         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
17324
17325 2011-01-25  Eric Blake  <eblake@redhat.com>
17326
17327         c-stack: fix regression on cygwin when libsigsegv is present
17328         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
17329
17330 2011-01-24  Bruno Haible  <bruno@clisp.org>
17331
17332         vma-iter: Avoid empty intervals.
17333         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
17334         on an empty interval.
17335
17336 2011-01-24  Jim Meyering  <meyering@redhat.com>
17337
17338         u64: remove unnecessary #include
17339         * lib/u64.h: Don't include <stddef.h>.  It was not used.
17340
17341 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
17342
17343         Allow the user to avoid the HAVE_RAW_DECL_* macros.
17344         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
17345
17346 2011-01-23  Bruno Haible  <bruno@clisp.org>
17347
17348         New module 'vma-iter'.
17349         * lib/vma-iter.h: New file.
17350         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
17351         * modules/vma-iter: New file.
17352         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
17353         for get_rusage_as_via_iterator.
17354         (vma_iterate_callback): New function.
17355         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
17356         * modules/get-rusage-as (Depends-on): Add vma-iter.
17357
17358 2011-01-23  Bruno Haible  <bruno@clisp.org>
17359
17360         uninorm: Tweak includes.
17361         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
17362         Reported by Jim Meyering.
17363
17364 2011-01-23  Bruno Haible  <bruno@clisp.org>
17365
17366         get-rusage-as: Improve on NetBSD.
17367         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
17368         /proc, like on FreeBSD.
17369
17370 2011-01-23  Jim Meyering  <meyering@redhat.com>
17371
17372         xreadlink.h: remove unnecessary #include
17373         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
17374
17375         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
17376         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
17377
17378 2011-01-23  Bruno Haible  <bruno@clisp.org>
17379
17380         get-rusage-as: Fix bug.
17381         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
17382         original limit when aborting the first loop.
17383
17384 2011-01-23  Bruno Haible  <bruno@clisp.org>
17385
17386         wctype: Ensure valid C syntax.
17387         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
17388         unconditionally, instead of gl_NEXT_HEADERS conditionally.
17389
17390 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
17391
17392         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
17393         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
17394         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
17395         as they are needed only for configure's test case.
17396         This removes two unnecessary symbols from config.h.
17397
17398         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
17399         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
17400         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
17401         AC_CHECK_HEADERS_ONCE on a header that we also invoke
17402         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
17403         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
17404         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
17405         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
17406         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
17407         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
17408         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
17409         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17410         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17411         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
17412         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
17413         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
17414         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
17415         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
17416
17417 2011-01-21  Eric Blake  <eblake@redhat.com>
17418
17419         maintainer-makefile: work with older git for submodule check
17420         * top/maint.mk (public-submodule-commit): Rewrite to avoid
17421         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
17422         Reported by Matthias Bolte.
17423
17424         bootstrap: minor portability fixes
17425         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
17426         (usage): Omit leading capital and trailing . on help phrases, per
17427         GNU Coding Standards.
17428         (check_versions, top level): Prefix messages with script name.
17429
17430 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
17431
17432         bootstrap: support --no-git option
17433         * build-aux/bootstrap: Add --no-git option, to be used when
17434         --gnulib-srcdir points to the exact desired checkout.
17435
17436 2011-01-21  Eric Blake  <eblake@redhat.com>
17437
17438         strerror_r-posix: work with glibc 2.13
17439         * lib/strerror_r.c (strerror_r): Fix return type.
17440
17441 2011-01-21  Pádraig Brady  <P@draigBrady.com>
17442             Bruno Haible  <bruno@clisp.org>
17443
17444         uN_strstr: New unit tests.
17445         * modules/unistr/u8-strstr-tests: New file.
17446         * modules/unistr/u16-strstr-tests: New file.
17447         * modules/unistr/u32-strstr-tests: New file.
17448         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
17449         * tests/unistr/test-u8-strstr.c: New file.
17450         * tests/unistr/test-u16-strstr.c: New file.
17451         * tests/unistr/test-u32-strstr.c: New file.
17452
17453 2011-01-21  Pádraig Brady  <P@draigBrady.com>
17454             Bruno Haible  <bruno@clisp.org>
17455
17456         Make uN_strstr functions O(n) worst-case.
17457         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
17458         16-bit and 32-bit unit cases, use the unibyte algorithm from
17459         lib/mbsstr.c.
17460         * lib/unistr/u8-strstr.c: Include <string.h>.
17461         (UNIT_IS_UINT8_T): New macro.
17462         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
17463         (U_STRLEN, U_STRNLEN): New macros.
17464         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
17465         (U_STRLEN, U_STRNLEN): New macros.
17466         * modules/unistr/u8-strstr (Depends-on): Add strstr.
17467         (configure.ac): Update required libunistring version.
17468         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
17469         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
17470         malloca.
17471         (configure.ac): Update required libunistring version.
17472         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
17473         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
17474         malloca.
17475         (configure.ac): Update required libunistring version.
17476
17477 2011-01-21  Pádraig Brady  <P@draigBrady.com>
17478             Bruno Haible  <bruno@clisp.org>
17479
17480         Prepare for faster uN_strstr functions.
17481         * lib/str-kmp.h: Support definable UNITs.
17482         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
17483         needle_len argument.
17484         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
17485         * lib/mbscasestr.c (mbscasestr): Likewise.
17486
17487 2011-01-21  Pádraig Brady <P@draigBrady.com>
17488
17489         malloca-tests: make faster by unsetting MALLOC_PERTURB_
17490         * tests/test-malloca.c (main): Unset the environment variable
17491         to greatly speed up the test.
17492         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
17493         * modules/malloca-tests: Depend on unsetenv.
17494
17495 2011-01-21  Pádraig Brady <P@draigBrady.com>
17496
17497         ignore-value: remove stdint dependency
17498         * lib/ignore-value.h: Remove <stdint.h>
17499         * modules/ignore-value: Remove stdint dependency.
17500
17501 2011-01-21  Jim Meyering  <meyering@redhat.com>
17502
17503         maint.mk: adjust variable name to be consistent with other gl_ vars
17504         * top/maint.mk (gl_public_submodule_commit): Rename the variable
17505         to be lower case.
17506
17507 2011-01-20  Jim Meyering  <meyering@redhat.com>
17508
17509         maint.mk: make "check" depend on public-submodule-commit by default
17510         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
17511
17512 2011-01-20  Bruno Haible  <bruno@clisp.org>
17513
17514         mbfile, mbiter: Complete change from 2008-12-21.
17515         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
17516         * m4/mbiter.m4 (gl_MBITER): Likewise.
17517
17518 2011-01-20  Jim Meyering  <meyering@redhat.com>
17519
17520         init.sh: insert space between each function name and "()"
17521         * tests/init.sh: Make it a little easier to see that a function's
17522         name is "warn_", and not "warn" when looking at the first part of
17523         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
17524
17525 2011-01-20  Jim Meyering  <meyering@redhat.com>
17526
17527         mountlist: clean up code formatting
17528         * lib/mountlist.c (read_file_system_list): Split a long line,
17529         correct bracing style, use NULL in place of "(struct statfs *)0",
17530         don't parenthesize return value, add spaces around "=" and after
17531         ";-in-for-stmt".
17532
17533 2011-01-14  Markus Duft <mduft@gentoo.org>
17534
17535         mountlist: add support for Interix
17536         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
17537         Apply statvfs to all entries of /dev/fs.
17538         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
17539         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
17540
17541 2011-01-20  Jim Meyering  <meyering@redhat.com>
17542
17543         maint.mk: improve the public-submodule-commit rule
17544         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
17545         to suppress printing of its commands... unless V=1.
17546         Add git submodule's --quiet option to suppress printing of e.g.,
17547         "Entering gnulib" output.
17548         "cd" into $(srcdir) before running git submodule.
17549
17550 2011-01-20  Bruno Haible  <bruno@clisp.org>
17551
17552         include_next: Fix bug introduced on 2011-01-18.
17553         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
17554         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
17555         ac_cv_header_... variable if the second argument is not 'check'.
17556         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
17557         gl_NEXT_HEADERS_INTERNAL.
17558
17559 2011-01-20  Bruno Haible  <bruno@clisp.org>
17560
17561         Allow the user to avoid the GNULIB_TEST_* macros.
17562         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
17563         Suggested by Paul Eggert.
17564
17565 2011-01-14  Jim Meyering  <meyering@redhat.com>
17566
17567         bootstrap: avoid failure when there is no .gitmodules file
17568         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
17569         has been assigned to, even when its value is the empty string.
17570         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
17571         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
17572         Reported by John W. Eaton <jwe@gnu.org>.
17573
17574 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
17575
17576         assume <ctype.h>, ..., <time.h> exist
17577         For years gnulib has been assuming the existence of the headers
17578         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
17579         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
17580         them, since they don't appear to be needed.
17581         * README (Portability guidelines): Document this.
17582         * lib/flock.c: Assume <fcntl.h> exists.
17583         * lib/regex_internal.h: Assume <locale.h> exists.
17584         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
17585         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
17586         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
17587         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
17588         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
17589         * m4/regex.m4 (gl_REGEX): Likewise.
17590         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
17591         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
17592         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
17593         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
17594         * tests/test-argp.c: Likewise.
17595         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
17596
17597         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
17598         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
17599         AA_APPLE_UNIVERSAL_BUILD.  See
17600         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
17601         * NEWS: Document this.
17602
17603 2011-01-19  Eric Blake  <eblake@redhat.com>
17604
17605         c-stack: assume stack overflow if SA_SIGINFO unsupported
17606         * lib/c-stack.c (SIGACTION_WORKS): Rename...
17607         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
17608         sigaction will work.
17609         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
17610         behavior match Linux.
17611         * tests/test-c-stack.c (main): Prefer NULL for pointers.
17612
17613         stdbool-tests: accomodate Haiku
17614         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
17615
17616         binary-io: fix O_TEXT on Haiku
17617         * modules/binary-io (Depends-on): Add fcntl-h.
17618         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
17619         than blindly undefining O_TEXT.
17620         Reported by Scott McCreary.
17621
17622 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
17623
17624         include_next: do not check for standard headers like stddef.h
17625
17626         I found this problem when modifying Emacs to use gnulib.
17627         I noticed that it added HAVE_STDDEF_H to config.h, even though
17628         gnulib always assumes <stddef.h> exists as per README and this
17629         symbol is unnecessary.
17630         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
17631         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
17632         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
17633         faster for headers like stddef.h that are known to exist.
17634         (gl_CHECK_NEXT_HEADERS): Use it.
17635         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
17636         rather than gl_CHECK_NEXT_HEADERS.
17637         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
17638         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
17639
17640 2011-01-18  Eric Blake  <eblake@redhat.com>
17641
17642         ansi-c++-opt: skip C++ dependency style if C++ is unused
17643         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
17644         tests when we know C++ compilation is not desired.
17645         Reported by Scott McCreary.
17646
17647 2011-01-18  Bruno Haible  <bruno@clisp.org>
17648
17649         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
17650         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
17651         (main): Perform test also when getrlimit and setrlimit don't exist or
17652         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
17653         limiting the address space size using setrlimit, compare the address
17654         space size before and after the the test.
17655         * tests/test-dprintf-posix2.c: Likewise.
17656         * tests/test-fprintf-posix3.sh: Update skip messages.
17657         * tests/test-dprintf-posix2.sh: Likewise.
17658         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
17659         * modules/dprintf-posix-tests (Depends-on): Likewise.
17660         Reported by Bruce Korb <bkorb@gnu.org> and
17661         Gary V. Vaughan <gary@gnu.org>.
17662
17663 2011-01-18  Bruno Haible  <bruno@clisp.org>
17664
17665         get-rusage-as: Improvement for Cygwin.
17666         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
17667         areas that are merely reserved.
17668
17669 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
17670
17671         strftime: remove dependencies on multibyte modules
17672
17673         strftime depended on mbrlen, mbsinit, and wchar, but these modules
17674         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
17675         only if __osf__ is defined, and I suspect OSF doesn't need these
17676         other modules.  If my guess is wrong, we'll need to come up with a
17677         variant of strftime that doesn't need the multibyte modules.
17678
17679         I discovered this problem when attempting modify Emacs to use the
17680         strftime module.  With the previous gnulib, this caused Emacs to
17681         need 31 new files, ranging from lib/config.charset to
17682         m4/wint_t.m4.  This was overkill and I expect would be offputting
17683         to the Emacs maintainers.  After this change, only 6 new files are
17684         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
17685         stdbool.m4, and tm_gmtoff.m4.
17686
17687         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
17688         Suggested by Bruno Haible in
17689         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
17690         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
17691         and do not check for wchar.h.
17692         * modules/strftime (Files): Remove m4/mbstate_t.m4.
17693         (Depends-on): Remove mbrlen, mbsinit, wchar.
17694
17695 2011-01-18  Bruno Haible  <bruno@clisp.org>
17696
17697         Tests for module 'get-rusage-as'.
17698         * modules/get-rusage-as-tests: New file.
17699         * tests/test-get-rusage-as.c: New file.
17700
17701         New module 'get-rusage-as'.
17702         * modules/get-rusage-as: New file.
17703         * lib/resource-ext.h: New file.
17704         * lib/get-rusage-as.c: New file.
17705
17706 2011-01-17  Eric Blake  <eblake@redhat.com>
17707
17708         sigaction: relax license from LGPLv3+ to LGPLv2+
17709         * modules/sigaction (License): Relax to LGPLv2+.
17710
17711 2011-01-14  Bruno Haible  <bruno@clisp.org>
17712
17713         filemode: Make function declarations usable in C++ mode.
17714         * lib/filemode.h: Enclose function declarations in extern "C" block.
17715         Reported by John W. Eaton <jwe@gnu.org>.
17716
17717 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
17718
17719         save-cwd: no longer include "xgetcwd.h"
17720         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
17721         This avoids a compilation failure in projects that use save-cwd
17722         without also using the xgetcwd module.
17723
17724 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
17725
17726         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
17727         This is so that a program like Emacs, which needs only dtoastr,
17728         does not have to bother with distributing and compiling ftoastr
17729         and ldtoastr.
17730         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
17731         * modules/dtoastr, modules/ldtoastr: New files.
17732         * modules/ftoastr: Now works just for 'float'.
17733         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
17734         (Makefile.am): Remove ftoastr.h (not needed and no effect),
17735         dtoastr.c, ldtoastr.c.
17736
17737 2011-01-11  Jim Meyering  <meyering@redhat.com>
17738
17739         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
17740         There is no need to work around the lack of the fchdir function,
17741         since gnulib can now provide a replacement when required.
17742         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
17743         * modules/save-cwd (Depends-on): Add fchdir.
17744
17745 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
17746
17747         openat, save-cwd: avoid xmalloc
17748
17749         This removes a direct (but undocumented) dependency of openat on
17750         xalloc, along with an indirect dependency via save-cwd.  It also
17751         removes a dependency of save-cwd on xgetcwd, and thereby
17752         indirectly on xalloc.  This change causes the openat substitute
17753         to fall back on save_cwd when memory is tight, and for save_cwd to
17754         fail instead of dying when memory is tight, but that's good enough.
17755         Problem and initial idea for fix reported by Bastien Roucaries in
17756         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
17757
17758         * lib/openat-proc.c: Include stdlib.h (for malloc), not
17759         xalloc.h (for xmalloc).
17760         (openat_proc_name): Use malloc, not xmalloc.
17761         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
17762         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
17763
17764         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
17765         This avoids heap allocation for file names whose lengths are in
17766         the range 512..1023, with the upper bound increasing to at most
17767         4031 depending on the platform's PATH_MAX.  (We do not want
17768         pathmax.h here as it might supply a non-constant PATH_MAX.)
17769         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
17770         Perhaps they should be moved to malloca.h?
17771         (OPENAT_BUFFER_SIZE): Use them.
17772
17773 2011-01-10  Bruno Haible  <bruno@clisp.org>
17774
17775         doc: Update users.txt.
17776         * users.txt: Add recutils.
17777
17778 2011-01-09  Karl Berry  <karl@gnu.org>
17779
17780         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
17781
17782         * doc/configmake.texi: New file.
17783         * doc/gnulib.texi: Include it.
17784         * modules/configmake: Move documentation from here.
17785
17786 2011-01-09  Bruno Haible  <bruno@clisp.org>
17787
17788         Update to Unicode 6.0.0.
17789         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
17790         (get_lbp): Update for Unicode 6.0.0.
17791         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
17792         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
17793         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
17794         U+11001, U+11038..U+11046. Remove U+06DE.
17795         (uc_width): Fix bounds of planes.
17796         * tests/uniwidth/test-uc_width2.sh: Same updates as in
17797         lib/uniwidth/width.c.
17798         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
17799         trailing whitespace removed.
17800         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
17801         without comments, but with the original copyright notice.
17802         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
17803         * lib/unicase/ignorable.h: Likewise.
17804         * lib/unicase/tocasefold.h: Likewise.
17805         * lib/unicase/tolower.h: Likewise.
17806         * lib/unicase/totitle.h: Likewise.
17807         * lib/unicase/toupper.h: Likewise.
17808         * lib/unictype/bidi_of.h: Likewise.
17809         * lib/unictype/blocks.h: Likewise.
17810         * lib/unictype/categ_C.h: Likewise.
17811         * lib/unictype/categ_Cn.h: Likewise.
17812         * lib/unictype/categ_L.h: Likewise.
17813         * lib/unictype/categ_Ll.h: Likewise.
17814         * lib/unictype/categ_Lm.h: Likewise.
17815         * lib/unictype/categ_Lo.h: Likewise.
17816         * lib/unictype/categ_Lu.h: Likewise.
17817         * lib/unictype/categ_M.h: Likewise.
17818         * lib/unictype/categ_Mc.h: Likewise.
17819         * lib/unictype/categ_Me.h: Likewise.
17820         * lib/unictype/categ_Mn.h: Likewise.
17821         * lib/unictype/categ_N.h: Likewise.
17822         * lib/unictype/categ_Nd.h: Likewise.
17823         * lib/unictype/categ_No.h: Likewise.
17824         * lib/unictype/categ_P.h: Likewise.
17825         * lib/unictype/categ_Po.h: Likewise.
17826         * lib/unictype/categ_S.h: Likewise.
17827         * lib/unictype/categ_Sc.h: Likewise.
17828         * lib/unictype/categ_Sk.h: Likewise.
17829         * lib/unictype/categ_Sm.h: Likewise.
17830         * lib/unictype/categ_So.h: Likewise.
17831         * lib/unictype/categ_of.h: Likewise.
17832         * lib/unictype/combining.h: Likewise.
17833         * lib/unictype/ctype_alnum.h: Likewise.
17834         * lib/unictype/ctype_alpha.h: Likewise.
17835         * lib/unictype/ctype_graph.h: Likewise.
17836         * lib/unictype/ctype_lower.h: Likewise.
17837         * lib/unictype/ctype_print.h: Likewise.
17838         * lib/unictype/ctype_punct.h: Likewise.
17839         * lib/unictype/ctype_upper.h: Likewise.
17840         * lib/unictype/decdigit.h: Likewise.
17841         * lib/unictype/digit.h: Likewise.
17842         * lib/unictype/numeric.h: Likewise.
17843         * lib/unictype/pr_alphabetic.h: Likewise.
17844         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
17845         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
17846         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
17847         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
17848         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
17849         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
17850         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
17851         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
17852         * lib/unictype/pr_case_ignorable.h: Likewise.
17853         * lib/unictype/pr_cased.h: Likewise.
17854         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
17855         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
17856         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
17857         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
17858         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
17859         * lib/unictype/pr_combining.h: Likewise.
17860         * lib/unictype/pr_composite.h: Likewise.
17861         * lib/unictype/pr_currency_symbol.h: Likewise.
17862         * lib/unictype/pr_decimal_digit.h: Likewise.
17863         * lib/unictype/pr_deprecated.h: Likewise.
17864         * lib/unictype/pr_format_control.h: Likewise.
17865         * lib/unictype/pr_grapheme_base.h: Likewise.
17866         * lib/unictype/pr_grapheme_extend.h: Likewise.
17867         * lib/unictype/pr_grapheme_link.h: Likewise.
17868         * lib/unictype/pr_id_continue.h: Likewise.
17869         * lib/unictype/pr_id_start.h: Likewise.
17870         * lib/unictype/pr_ideographic.h: Likewise.
17871         * lib/unictype/pr_lowercase.h: Likewise.
17872         * lib/unictype/pr_math.h: Likewise.
17873         * lib/unictype/pr_numeric.h: Likewise.
17874         * lib/unictype/pr_other_alphabetic.h: Likewise.
17875         * lib/unictype/pr_other_id_continue.h: Likewise.
17876         * lib/unictype/pr_other_math.h: Likewise.
17877         * lib/unictype/pr_punctuation.h: Likewise.
17878         * lib/unictype/pr_sentence_terminal.h: Likewise.
17879         * lib/unictype/pr_terminal_punctuation.h: Likewise.
17880         * lib/unictype/pr_unassigned_code_value.h: Likewise.
17881         * lib/unictype/pr_unified_ideograph.h: Likewise.
17882         * lib/unictype/pr_uppercase.h: Likewise.
17883         * lib/unictype/pr_xid_continue.h: Likewise.
17884         * lib/unictype/pr_xid_start.h: Likewise.
17885         * lib/unictype/scripts.h: Likewise.
17886         * lib/unictype/scripts_byname.gperf: Likewise.
17887         * lib/unictype/sy_java_ident.h: Likewise.
17888         * lib/unigbrk/gbrkprop.h: Likewise.
17889         * lib/unilbrk/lbrkprop1.h: Likewise.
17890         * lib/unilbrk/lbrkprop2.h: Likewise.
17891         * lib/uninorm/decomposition-table2.h: Likewise.
17892         * lib/uniwbrk/wbrkprop.h: Likewise.
17893         * tests/unicase/test-cased.c: Likewise.
17894         * tests/unicase/test-ignorable.c: Likewise.
17895         * tests/unicase/test-uc_tolower.c: Likewise.
17896         * tests/unicase/test-uc_totitle.c: Likewise.
17897         * tests/unicase/test-uc_toupper.c: Likewise.
17898         * tests/unictype/test-categ_C.c: Likewise.
17899         * tests/unictype/test-categ_Cn.c: Likewise.
17900         * tests/unictype/test-categ_L.c: Likewise.
17901         * tests/unictype/test-categ_Ll.c: Likewise.
17902         * tests/unictype/test-categ_Lm.c: Likewise.
17903         * tests/unictype/test-categ_Lo.c: Likewise.
17904         * tests/unictype/test-categ_Lu.c: Likewise.
17905         * tests/unictype/test-categ_M.c: Likewise.
17906         * tests/unictype/test-categ_Mc.c: Likewise.
17907         * tests/unictype/test-categ_Me.c: Likewise.
17908         * tests/unictype/test-categ_Mn.c: Likewise.
17909         * tests/unictype/test-categ_N.c: Likewise.
17910         * tests/unictype/test-categ_Nd.c: Likewise.
17911         * tests/unictype/test-categ_No.c: Likewise.
17912         * tests/unictype/test-categ_P.c: Likewise.
17913         * tests/unictype/test-categ_Po.c: Likewise.
17914         * tests/unictype/test-categ_S.c: Likewise.
17915         * tests/unictype/test-categ_Sc.c: Likewise.
17916         * tests/unictype/test-categ_Sk.c: Likewise.
17917         * tests/unictype/test-categ_Sm.c: Likewise.
17918         * tests/unictype/test-categ_So.c: Likewise.
17919         * tests/unictype/test-ctype_alnum.c: Likewise.
17920         * tests/unictype/test-ctype_alpha.c: Likewise.
17921         * tests/unictype/test-ctype_graph.c: Likewise.
17922         * tests/unictype/test-ctype_lower.c: Likewise.
17923         * tests/unictype/test-ctype_print.c: Likewise.
17924         * tests/unictype/test-ctype_punct.c: Likewise.
17925         * tests/unictype/test-ctype_upper.c: Likewise.
17926         * tests/unictype/test-decdigit.h: Likewise.
17927         * tests/unictype/test-digit.h: Likewise.
17928         * tests/unictype/test-numeric.h: Likewise.
17929         * tests/unictype/test-pr_alphabetic.c: Likewise.
17930         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
17931         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
17932         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
17933         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
17934         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
17935         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
17936         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
17937         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
17938         * tests/unictype/test-pr_case_ignorable.c: Likewise.
17939         * tests/unictype/test-pr_cased.c: Likewise.
17940         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
17941         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
17942         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
17943         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
17944         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
17945         * tests/unictype/test-pr_combining.c: Likewise.
17946         * tests/unictype/test-pr_composite.c: Likewise.
17947         * tests/unictype/test-pr_currency_symbol.c: Likewise.
17948         * tests/unictype/test-pr_decimal_digit.c: Likewise.
17949         * tests/unictype/test-pr_deprecated.c: Likewise.
17950         * tests/unictype/test-pr_format_control.c: Likewise.
17951         * tests/unictype/test-pr_grapheme_base.c: Likewise.
17952         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
17953         * tests/unictype/test-pr_grapheme_link.c: Likewise.
17954         * tests/unictype/test-pr_id_continue.c: Likewise.
17955         * tests/unictype/test-pr_id_start.c: Likewise.
17956         * tests/unictype/test-pr_ideographic.c: Likewise.
17957         * tests/unictype/test-pr_lowercase.c: Likewise.
17958         * tests/unictype/test-pr_math.c: Likewise.
17959         * tests/unictype/test-pr_numeric.c: Likewise.
17960         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
17961         * tests/unictype/test-pr_other_id_continue.c: Likewise.
17962         * tests/unictype/test-pr_other_math.c: Likewise.
17963         * tests/unictype/test-pr_punctuation.c: Likewise.
17964         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
17965         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
17966         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
17967         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
17968         * tests/unictype/test-pr_uppercase.c: Likewise.
17969         * tests/unictype/test-pr_xid_continue.c: Likewise.
17970         * tests/unictype/test-pr_xid_start.c: Likewise.
17971         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
17972         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
17973         changes.
17974         * lib/unictype/categ_Cc.h: Likewise.
17975         * lib/unictype/categ_Cf.h: Likewise.
17976         * lib/unictype/categ_Co.h: Likewise.
17977         * lib/unictype/categ_Cs.h: Likewise.
17978         * lib/unictype/categ_Lt.h: Likewise.
17979         * lib/unictype/categ_Nl.h: Likewise.
17980         * lib/unictype/categ_Pc.h: Likewise.
17981         * lib/unictype/categ_Pd.h: Likewise.
17982         * lib/unictype/categ_Pe.h: Likewise.
17983         * lib/unictype/categ_Pf.h: Likewise.
17984         * lib/unictype/categ_Pi.h: Likewise.
17985         * lib/unictype/categ_Ps.h: Likewise.
17986         * lib/unictype/categ_Z.h: Likewise.
17987         * lib/unictype/categ_Zl.h: Likewise.
17988         * lib/unictype/categ_Zp.h: Likewise.
17989         * lib/unictype/categ_Zs.h: Likewise.
17990         * lib/unictype/ctype_blank.h: Likewise.
17991         * lib/unictype/ctype_cntrl.h: Likewise.
17992         * lib/unictype/ctype_digit.h: Likewise.
17993         * lib/unictype/ctype_space.h: Likewise.
17994         * lib/unictype/ctype_xdigit.h: Likewise.
17995         * lib/unictype/mirror.h: Likewise.
17996         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
17997         * lib/unictype/pr_bidi_block_separator.h: Likewise.
17998         * lib/unictype/pr_bidi_common_separator.h: Likewise.
17999         * lib/unictype/pr_bidi_control.h: Likewise.
18000         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
18001         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
18002         * lib/unictype/pr_bidi_european_digit.h: Likewise.
18003         * lib/unictype/pr_bidi_pdf.h: Likewise.
18004         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
18005         * lib/unictype/pr_bidi_whitespace.h: Likewise.
18006         * lib/unictype/pr_dash.h: Likewise.
18007         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
18008         * lib/unictype/pr_diacritic.h: Likewise.
18009         * lib/unictype/pr_extender.h: Likewise.
18010         * lib/unictype/pr_hex_digit.h: Likewise.
18011         * lib/unictype/pr_hyphen.h: Likewise.
18012         * lib/unictype/pr_ids_binary_operator.h: Likewise.
18013         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
18014         * lib/unictype/pr_ignorable_control.h: Likewise.
18015         * lib/unictype/pr_iso_control.h: Likewise.
18016         * lib/unictype/pr_join_control.h: Likewise.
18017         * lib/unictype/pr_left_of_pair.h: Likewise.
18018         * lib/unictype/pr_line_separator.h: Likewise.
18019         * lib/unictype/pr_logical_order_exception.h: Likewise.
18020         * lib/unictype/pr_non_break.h: Likewise.
18021         * lib/unictype/pr_not_a_character.h: Likewise.
18022         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
18023         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
18024         * lib/unictype/pr_other_id_start.h: Likewise.
18025         * lib/unictype/pr_other_lowercase.h: Likewise.
18026         * lib/unictype/pr_other_uppercase.h: Likewise.
18027         * lib/unictype/pr_paired_punctuation.h: Likewise.
18028         * lib/unictype/pr_paragraph_separator.h: Likewise.
18029         * lib/unictype/pr_pattern_syntax.h: Likewise.
18030         * lib/unictype/pr_pattern_white_space.h: Likewise.
18031         * lib/unictype/pr_private_use.h: Likewise.
18032         * lib/unictype/pr_quotation_mark.h: Likewise.
18033         * lib/unictype/pr_radical.h: Likewise.
18034         * lib/unictype/pr_soft_dotted.h: Likewise.
18035         * lib/unictype/pr_space.h: Likewise.
18036         * lib/unictype/pr_titlecase.h: Likewise.
18037         * lib/unictype/pr_variation_selector.h: Likewise.
18038         * lib/unictype/pr_white_space.h: Likewise.
18039         * lib/unictype/pr_zero_width.h: Likewise.
18040         * lib/unictype/sy_c_ident.h: Likewise.
18041         * lib/unictype/sy_c_whitespace.h: Likewise.
18042         * lib/unictype/sy_java_whitespace.h: Likewise.
18043         * lib/uninorm/composition-table.gperf: Likewise.
18044         * lib/uninorm/decomposition-table1.h: Likewise.
18045         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
18046         LB8.
18047         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
18048         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
18049         * modules/unictype/*: Bump version number of expected libunistring
18050         version.
18051
18052 2011-01-09  Bruno Haible  <bruno@clisp.org>
18053
18054         Update to Unicode 5.2.0.
18055         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
18056         trailing whitespace removed.
18057
18058 2011-01-09  Bruno Haible  <bruno@clisp.org>
18059
18060         New Unicode character properties, from Unicode 5.2.0.
18061         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
18062         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
18063         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
18064         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
18065         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
18066         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
18067         uc_is_property_cased, uc_is_property_case_ignorable,
18068         uc_is_property_changes_when_lowercased,
18069         uc_is_property_changes_when_uppercased,
18070         uc_is_property_changes_when_titlecased,
18071         uc_is_property_changes_when_casefolded,
18072         uc_is_property_changes_when_casemapped): New declarations.
18073         * lib/unictype/pr_byname.gperf: Add the new properties.
18074         * modules/unictype/property-byname (Depends-on): Depend on the new
18075         properties modules.
18076         * modules/unictype/property-all (Depends-on): Likewise.
18077         * MODULES.html.sh (Unicode string functions): Add
18078         unictype/property-case-ignorable, unictype/property-cased,
18079         unictype/property-changes-when-casefolded,
18080         unictype/property-changes-when-casemapped,
18081         unictype/property-changes-when-lowercased,
18082         unictype/property-changes-when-titlecased,
18083         unictype/property-changes-when-uppercased.
18084
18085         New module 'unictype/property-changes-when-casemapped'.
18086         * modules/unictype/property-changes-when-casemapped: New file.
18087         * lib/unictype/pr_changes_when_casemapped.c: New file.
18088         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
18089         generated by gen-uni-tables.
18090         * modules/unictype/property-changes-when-casemapped-tests: New file.
18091         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
18092         automatically generated by gen-uni-tables.
18093
18094         New module 'unictype/property-changes-when-casefolded'.
18095         * modules/unictype/property-changes-when-casefolded: New file.
18096         * lib/unictype/pr_changes_when_casefolded.c: New file.
18097         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
18098         generated by gen-uni-tables.
18099         * modules/unictype/property-changes-when-casefolded-tests: New file.
18100         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
18101         automatically generated by gen-uni-tables.
18102
18103         New module 'unictype/property-changes-when-titlecased'.
18104         * modules/unictype/property-changes-when-titlecased: New file.
18105         * lib/unictype/pr_changes_when_titlecased.c: New file.
18106         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
18107         generated by gen-uni-tables.
18108         * modules/unictype/property-changes-when-titlecased-tests: New file.
18109         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
18110         automatically generated by gen-uni-tables.
18111
18112         New module 'unictype/property-changes-when-uppercased'.
18113         * modules/unictype/property-changes-when-uppercased: New file.
18114         * lib/unictype/pr_changes_when_uppercased.c: New file.
18115         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
18116         generated by gen-uni-tables.
18117         * modules/unictype/property-changes-when-uppercased-tests: New file.
18118         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
18119         automatically generated by gen-uni-tables.
18120
18121         New module 'unictype/property-changes-when-lowercased'.
18122         * modules/unictype/property-changes-when-lowercased: New file.
18123         * lib/unictype/pr_changes_when_lowercased.c: New file.
18124         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
18125         generated by gen-uni-tables.
18126         * modules/unictype/property-changes-when-lowercased-tests: New file.
18127         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
18128         automatically generated by gen-uni-tables.
18129
18130         New module 'unictype/property-case-ignorable'.
18131         * modules/unictype/property-case-ignorable: New file.
18132         * lib/unictype/pr_case_ignorable.c: New file.
18133         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
18134         by gen-uni-tables.
18135         * modules/unictype/property-case-ignorable-tests: New file.
18136         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
18137         generated by gen-uni-tables.
18138
18139         New module 'unictype/property-cased'.
18140         * modules/unictype/property-cased: New file.
18141         * lib/unictype/pr_cased.c: New file.
18142         * lib/unictype/pr_cased.h: New file, automatically generated by
18143         gen-uni-tables.
18144         * modules/unictype/property-cased-tests: New file.
18145         * tests/unictype/test-pr_cased.c: New file, automatically generated by
18146         gen-uni-tables.
18147
18148 2011-01-09  Bruno Haible  <bruno@clisp.org>
18149
18150         Update to Unicode 5.2.0.
18151         * lib/gen-uni-tables.c (output_predicate, output_category,
18152         output_combclass, output_bidi_category, output_decimal_digit_test,
18153         output_decimal_digit, output_digit_test, output_digit,
18154         output_numeric_test, output_numeric, output_mirror, output_scripts,
18155         output_scripts_byname, output_blocks, output_ident_category): Fix
18156         comment header.
18157         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
18158         get_wbp.
18159         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
18160         items.
18161         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
18162         Changes_When_Lowercased, Changes_When_Uppercased,
18163         Changes_When_Titlecased, Changes_When_Casefolded,
18164         Changes_When_Casemapped.
18165         (is_property_alphabetic, is_property_default_ignorable_code_point):
18166         Update for Unicode 5.2.0.
18167         (is_property_cased, is_property_case_ignorable,
18168         is_property_changes_when_lowercased,
18169         is_property_changes_when_uppercased,
18170         is_property_changes_when_titlecased,
18171         is_property_changes_when_casefolded,
18172         is_property_changes_when_casemapped): New functions.
18173         (output_properties): Output also the properties cased, case_ignorable,
18174         changes_when_lowercased, changes_when_uppercased,
18175         changes_when_titlecased, changes_when_casefolded,
18176         changes_when_casemapped.
18177         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
18178         Unicode TR#11 revision 17 -> 19.
18179         (LBP_CP): New enumeration value.
18180         (LBP_*): Adjust values accordingly.
18181         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
18182         TR#14 revision 22 -> 24.
18183         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
18184         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
18185         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
18186         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
18187         is_WBP_MIDLETTER.
18188         (output_composition_tables): Allow for 24 bits instead of 16 bits in
18189         the code1 and code2 of each composition rule.
18190         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
18191         * lib/unicase/ignorable.h: Likewise.
18192         * lib/unicase/tocasefold.h: Likewise.
18193         * lib/unicase/tolower.h: Likewise.
18194         * lib/unicase/totitle.h: Likewise.
18195         * lib/unicase/toupper.h: Likewise.
18196         * lib/unictype/bidi_of.h: Likewise.
18197         * lib/unictype/blocks.h: Likewise.
18198         * lib/unictype/categ_C.h: Likewise.
18199         * lib/unictype/categ_Cf.h: Likewise.
18200         * lib/unictype/categ_Cn.h: Likewise.
18201         * lib/unictype/categ_L.h: Likewise.
18202         * lib/unictype/categ_Ll.h: Likewise.
18203         * lib/unictype/categ_Lm.h: Likewise.
18204         * lib/unictype/categ_Lo.h: Likewise.
18205         * lib/unictype/categ_Lu.h: Likewise.
18206         * lib/unictype/categ_M.h: Likewise.
18207         * lib/unictype/categ_Mc.h: Likewise.
18208         * lib/unictype/categ_Mn.h: Likewise.
18209         * lib/unictype/categ_N.h: Likewise.
18210         * lib/unictype/categ_Nd.h: Likewise.
18211         * lib/unictype/categ_Nl.h: Likewise.
18212         * lib/unictype/categ_No.h: Likewise.
18213         * lib/unictype/categ_P.h: Likewise.
18214         * lib/unictype/categ_Pd.h: Likewise.
18215         * lib/unictype/categ_Po.h: Likewise.
18216         * lib/unictype/categ_S.h: Likewise.
18217         * lib/unictype/categ_Sc.h: Likewise.
18218         * lib/unictype/categ_So.h: Likewise.
18219         * lib/unictype/categ_of.h: Likewise.
18220         * lib/unictype/combining.h: Likewise.
18221         * lib/unictype/ctype_alnum.h: Likewise.
18222         * lib/unictype/ctype_alpha.h: Likewise.
18223         * lib/unictype/ctype_graph.h: Likewise.
18224         * lib/unictype/ctype_lower.h: Likewise.
18225         * lib/unictype/ctype_print.h: Likewise.
18226         * lib/unictype/ctype_punct.h: Likewise.
18227         * lib/unictype/ctype_upper.h: Likewise.
18228         * lib/unictype/decdigit.h: Likewise.
18229         * lib/unictype/digit.h: Likewise.
18230         * lib/unictype/numeric.h: Likewise.
18231         * lib/unictype/pr_alphabetic.h: Likewise.
18232         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
18233         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
18234         * lib/unictype/pr_bidi_european_digit.h: Likewise.
18235         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
18236         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
18237         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
18238         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
18239         * lib/unictype/pr_combining.h: Likewise.
18240         * lib/unictype/pr_composite.h: Likewise.
18241         * lib/unictype/pr_currency_symbol.h: Likewise.
18242         * lib/unictype/pr_dash.h: Likewise.
18243         * lib/unictype/pr_decimal_digit.h: Likewise.
18244         * lib/unictype/pr_deprecated.h: Likewise.
18245         * lib/unictype/pr_diacritic.h: Likewise.
18246         * lib/unictype/pr_extender.h: Likewise.
18247         * lib/unictype/pr_grapheme_base.h: Likewise.
18248         * lib/unictype/pr_grapheme_extend.h: Likewise.
18249         * lib/unictype/pr_grapheme_link.h: Likewise.
18250         * lib/unictype/pr_id_continue.h: Likewise.
18251         * lib/unictype/pr_id_start.h: Likewise.
18252         * lib/unictype/pr_ideographic.h: Likewise.
18253         * lib/unictype/pr_ignorable_control.h: Likewise.
18254         * lib/unictype/pr_logical_order_exception.h: Likewise.
18255         * lib/unictype/pr_lowercase.h: Likewise.
18256         * lib/unictype/pr_numeric.h: Likewise.
18257         * lib/unictype/pr_other_alphabetic.h: Likewise.
18258         * lib/unictype/pr_punctuation.h: Likewise.
18259         * lib/unictype/pr_sentence_terminal.h: Likewise.
18260         * lib/unictype/pr_terminal_punctuation.h: Likewise.
18261         * lib/unictype/pr_unassigned_code_value.h: Likewise.
18262         * lib/unictype/pr_unified_ideograph.h: Likewise.
18263         * lib/unictype/pr_uppercase.h: Likewise.
18264         * lib/unictype/pr_xid_continue.h: Likewise.
18265         * lib/unictype/pr_xid_start.h: Likewise.
18266         * lib/unictype/pr_zero_width.h: Likewise.
18267         * lib/unictype/scripts.h: Likewise.
18268         * lib/unictype/scripts_byname.gperf: Likewise.
18269         * lib/unictype/sy_java_ident.h: Likewise.
18270         * lib/unigbrk/gbrkprop.h: Likewise.
18271         * lib/unilbrk/lbrkprop1.h: Likewise.
18272         * lib/unilbrk/lbrkprop2.h: Likewise.
18273         * lib/unilbrk/lbrktables.h: Likewise.
18274         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
18275         LBP_CP. Implement rule LB30.
18276         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
18277         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
18278         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
18279         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
18280         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
18281         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
18282         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
18283         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
18284         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
18285         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
18286         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
18287         bits instead of 16 bits in the code1 and code2 of each composition
18288         rule.
18289         (uc_composition): Update for Unicode 5.2.0.
18290         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
18291         * lib/uninorm/decomposition-table2.h: Likewise.
18292         * lib/uniwbrk/wbrkprop.h: Likewise.
18293         * tests/unicase/test-cased.c: Likewise.
18294         * tests/unicase/test-ignorable.c: Likewise.
18295         * tests/unicase/test-uc_tolower.c: Likewise.
18296         * tests/unicase/test-uc_totitle.c: Likewise.
18297         * tests/unicase/test-uc_toupper.c: Likewise.
18298         * tests/unictype/test-categ_C.c: Likewise.
18299         * tests/unictype/test-categ_Cf.c: Likewise.
18300         * tests/unictype/test-categ_Cn.c: Likewise.
18301         * tests/unictype/test-categ_L.c: Likewise.
18302         * tests/unictype/test-categ_Ll.c: Likewise.
18303         * tests/unictype/test-categ_Lm.c: Likewise.
18304         * tests/unictype/test-categ_Lo.c: Likewise.
18305         * tests/unictype/test-categ_Lu.c: Likewise.
18306         * tests/unictype/test-categ_M.c: Likewise.
18307         * tests/unictype/test-categ_Mc.c: Likewise.
18308         * tests/unictype/test-categ_Mn.c: Likewise.
18309         * tests/unictype/test-categ_N.c: Likewise.
18310         * tests/unictype/test-categ_Nd.c: Likewise.
18311         * tests/unictype/test-categ_Nl.c: Likewise.
18312         * tests/unictype/test-categ_No.c: Likewise.
18313         * tests/unictype/test-categ_P.c: Likewise.
18314         * tests/unictype/test-categ_Pd.c: Likewise.
18315         * tests/unictype/test-categ_Po.c: Likewise.
18316         * tests/unictype/test-categ_S.c: Likewise.
18317         * tests/unictype/test-categ_Sc.c: Likewise.
18318         * tests/unictype/test-categ_So.c: Likewise.
18319         * tests/unictype/test-ctype_alnum.c: Likewise.
18320         * tests/unictype/test-ctype_alpha.c: Likewise.
18321         * tests/unictype/test-ctype_graph.c: Likewise.
18322         * tests/unictype/test-ctype_lower.c: Likewise.
18323         * tests/unictype/test-ctype_print.c: Likewise.
18324         * tests/unictype/test-ctype_punct.c: Likewise.
18325         * tests/unictype/test-ctype_upper.c: Likewise.
18326         * tests/unictype/test-decdigit.h: Likewise.
18327         * tests/unictype/test-digit.h: Likewise.
18328         * tests/unictype/test-numeric.h: Likewise.
18329         * tests/unictype/test-pr_alphabetic.c: Likewise.
18330         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
18331         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
18332         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
18333         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
18334         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
18335         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
18336         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
18337         * tests/unictype/test-pr_combining.c: Likewise.
18338         * tests/unictype/test-pr_composite.c: Likewise.
18339         * tests/unictype/test-pr_currency_symbol.c: Likewise.
18340         * tests/unictype/test-pr_dash.c: Likewise.
18341         * tests/unictype/test-pr_decimal_digit.c: Likewise.
18342         * tests/unictype/test-pr_deprecated.c: Likewise.
18343         * tests/unictype/test-pr_diacritic.c: Likewise.
18344         * tests/unictype/test-pr_extender.c: Likewise.
18345         * tests/unictype/test-pr_grapheme_base.c: Likewise.
18346         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
18347         * tests/unictype/test-pr_grapheme_link.c: Likewise.
18348         * tests/unictype/test-pr_id_continue.c: Likewise.
18349         * tests/unictype/test-pr_id_start.c: Likewise.
18350         * tests/unictype/test-pr_ideographic.c: Likewise.
18351         * tests/unictype/test-pr_ignorable_control.c: Likewise.
18352         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
18353         * tests/unictype/test-pr_lowercase.c: Likewise.
18354         * tests/unictype/test-pr_numeric.c: Likewise.
18355         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
18356         * tests/unictype/test-pr_punctuation.c: Likewise.
18357         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
18358         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
18359         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
18360         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
18361         * tests/unictype/test-pr_uppercase.c: Likewise.
18362         * tests/unictype/test-pr_xid_continue.c: Likewise.
18363         * tests/unictype/test-pr_xid_start.c: Likewise.
18364         * tests/unictype/test-pr_zero_width.c: Likewise.
18365         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
18366         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
18367         changed behaviour: line breaking is now disallowed between a letter
18368         or '=' and '('.
18369         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
18370         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
18371         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
18372         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
18373         * tests/uniwidth/test-uc_width2.sh: Same updates as in
18374         lib/uniwidth/width.c.
18375         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
18376         without comments, but with the original copyright notice.
18377         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
18378         changes.
18379         * lib/unictype/categ_Cc.h: Likewise.
18380         * lib/unictype/categ_Co.h: Likewise.
18381         * lib/unictype/categ_Cs.h: Likewise.
18382         * lib/unictype/categ_Lt.h: Likewise.
18383         * lib/unictype/categ_Me.h: Likewise.
18384         * lib/unictype/categ_Pc.h: Likewise.
18385         * lib/unictype/categ_Pe.h: Likewise.
18386         * lib/unictype/categ_Pf.h: Likewise.
18387         * lib/unictype/categ_Pi.h: Likewise.
18388         * lib/unictype/categ_Ps.h: Likewise.
18389         * lib/unictype/categ_Sk.h: Likewise.
18390         * lib/unictype/categ_Sm.h: Likewise.
18391         * lib/unictype/categ_Z.h: Likewise.
18392         * lib/unictype/categ_Zl.h: Likewise.
18393         * lib/unictype/categ_Zp.h: Likewise.
18394         * lib/unictype/categ_Zs.h: Likewise.
18395         * lib/unictype/ctype_blank.h: Likewise.
18396         * lib/unictype/ctype_cntrl.h: Likewise.
18397         * lib/unictype/ctype_digit.h: Likewise.
18398         * lib/unictype/ctype_space.h: Likewise.
18399         * lib/unictype/ctype_xdigit.h: Likewise.
18400         * lib/unictype/mirror.h: Likewise.
18401         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
18402         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
18403         * lib/unictype/pr_bidi_block_separator.h: Likewise.
18404         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
18405         * lib/unictype/pr_bidi_common_separator.h: Likewise.
18406         * lib/unictype/pr_bidi_control.h: Likewise.
18407         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
18408         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
18409         * lib/unictype/pr_bidi_pdf.h: Likewise.
18410         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
18411         * lib/unictype/pr_bidi_whitespace.h: Likewise.
18412         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
18413         * lib/unictype/pr_format_control.h: Likewise.
18414         * lib/unictype/pr_hex_digit.h: Likewise.
18415         * lib/unictype/pr_hyphen.h: Likewise.
18416         * lib/unictype/pr_ids_binary_operator.h: Likewise.
18417         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
18418         * lib/unictype/pr_iso_control.h: Likewise.
18419         * lib/unictype/pr_join_control.h: Likewise.
18420         * lib/unictype/pr_left_of_pair.h: Likewise.
18421         * lib/unictype/pr_line_separator.h: Likewise.
18422         * lib/unictype/pr_math.h: Likewise.
18423         * lib/unictype/pr_non_break.h: Likewise.
18424         * lib/unictype/pr_not_a_character.h: Likewise.
18425         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
18426         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
18427         * lib/unictype/pr_other_id_continue.h: Likewise.
18428         * lib/unictype/pr_other_id_start.h: Likewise.
18429         * lib/unictype/pr_other_lowercase.h: Likewise.
18430         * lib/unictype/pr_other_math.h: Likewise.
18431         * lib/unictype/pr_other_uppercase.h: Likewise.
18432         * lib/unictype/pr_paired_punctuation.h: Likewise.
18433         * lib/unictype/pr_paragraph_separator.h: Likewise.
18434         * lib/unictype/pr_pattern_syntax.h: Likewise.
18435         * lib/unictype/pr_pattern_white_space.h: Likewise.
18436         * lib/unictype/pr_private_use.h: Likewise.
18437         * lib/unictype/pr_quotation_mark.h: Likewise.
18438         * lib/unictype/pr_radical.h: Likewise.
18439         * lib/unictype/pr_soft_dotted.h: Likewise.
18440         * lib/unictype/pr_space.h: Likewise.
18441         * lib/unictype/pr_titlecase.h: Likewise.
18442         * lib/unictype/pr_variation_selector.h: Likewise.
18443         * lib/unictype/pr_white_space.h: Likewise.
18444         * lib/unictype/sy_c_ident.h: Likewise.
18445         * lib/unictype/sy_c_whitespace.h: Likewise.
18446         * lib/unictype/sy_java_whitespace.h: Likewise.
18447         * modules/uni*/*: Bump version number of expected libunistring version.
18448         Reported by Simon Josefsson.
18449
18450 2011-01-09  Karl Heuer  <kwzh@gnu.org>
18451
18452         useless-if-before-free: fix typo in --help and make the internal,
18453         automatic version date update process work once again.
18454         --help output contained a NUL character instead of the
18455         backslash-zero that was intended.  Also, the "must lie within
18456         the first 8 lines" line is on line 9, and hence not getting
18457         automatically updated.
18458         * build-aux/useless-if-before-free: Fix the former by adding a
18459         backslash, and the latter by condensing the three lines of what-it-does
18460         to a single line, leaving one line of slack for the future.
18461
18462 2011-01-09  Bruno Haible  <bruno@clisp.org>
18463
18464         uniwidth/width: Fix width of U+1D173..U+1D17A.
18465         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
18466         symbolic_width, output_width_property_test): New functions.
18467         (main): Invoke output_nonspacing_property, output_width_property_test.
18468         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
18469         U+1D173..U+1D17A.
18470         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
18471         1.
18472         * modules/uniwidth/*: Bump version number of expected libunistring
18473         version.
18474         * modules/unilbrk/*: Likewise.
18475
18476 2011-01-08  Bruno Haible  <bruno@clisp.org>
18477
18478         uninorm tests: Preserve copyright of Unicode data file.
18479         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
18480         Mention modifications.
18481
18482 2011-01-08  Bruno Haible  <bruno@clisp.org>
18483
18484         gen-uni-tables: Prepare for Unicode 5.2.0.
18485         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
18486         (debug_output_lbp, output_lbp): Update.
18487
18488 2011-01-08  Bruno Haible  <bruno@clisp.org>
18489
18490         unilbrk: Clarify gen-uni-tables.c code.
18491         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
18492         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
18493         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
18494
18495 2011-01-07  Bruno Haible  <bruno@clisp.org>
18496
18497         strtod: Restore errno when successfully parsing Infinity or NaN.
18498         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
18499         restore the original errno.
18500
18501 2011-01-07  Bruno Haible  <bruno@clisp.org>
18502
18503         remove test: Avoid failure on HP-UX 11.
18504         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
18505
18506 2011-01-07  Bruno Haible  <bruno@clisp.org>
18507
18508         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
18509         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
18510         error code.
18511
18512 2011-01-07  Pádraig Brady <P@draigBrady.com>
18513
18514         ignore-value: fixup comments, and add Eric Blake
18515         as an author since he rewrote the macros.
18516         * lib/ignore-value.h (ignore_value):  State that
18517         we now support aggregates.  Also specify exactly
18518         when the GCC warn_unused_result feature was added.
18519
18520 2011-01-06  Eric Blake  <eblake@redhat.com>
18521
18522         ignore-value: support aggregate types
18523         * lib/ignore-value.h (ignore_value): Provide separate gcc
18524         definition.
18525         * modules/ignore-value-tests: New test module.
18526         * tests/test-ignore-value.c: New test.
18527
18528         maint.mk: improve sc_prohibit_strcmp regex
18529         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
18530         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
18531         definition of STRNEQ.
18532
18533         signal: work around Haiku issue with SIGBUS
18534         * lib/siglist.h: Add comment.
18535         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
18536         strsignal's favoring of SIGSEGV.
18537         * tests/test-signal.c (main): Avoid test failure.
18538         * doc/posix-headers/signal.texi (signal.h): Document the issue.
18539         Reported by Scott McCreary.
18540
18541         maint.mk: add pre-release check to ensure submodule commits are public
18542         * top/maint.mk (public-submodule-commit): New rule.
18543         (submodule-checks): New variable.
18544         (alpha beta stable): Depend on the variable.
18545
18546 2011-01-05  Pádraig Brady <P@draigBrady.com>
18547         and Jim Meyering  <meyering@redhat.com>
18548
18549         ignore-value: make ignore_value more generic; deprecate ignore_ptr
18550         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
18551         (ATTRIBUTE_DEPRECATED): Define.
18552         (_ignore_case): New function.
18553         (ignore_value): New macro, to replace the old function.
18554         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
18555         * modules/ignore-value (Depends-on): Add stdint.
18556
18557 2011-01-04  Eric Blake  <eblake@redhat.com>
18558
18559         doc: regenerate INSTALL
18560         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
18561         @firstparagraphindent support, now that autoconf dropped it.
18562         (INSTALL_PRELUDE): Reinstate old macro.
18563         * doc/install.texi: Resync from autoconf.
18564         * doc/INSTALL: Reflect recent autoconf update.
18565         * doc/INSTALL.ISO: Likewise.
18566         * doc/INSTALL.UTF-8: Likewise.
18567         Reported by Karl Berry.
18568
18569 2011-01-04  Bruce Korb  <address@hidden>
18570
18571         git-version-gen: avoid a sub-shell
18572         * build-aux/git-version-gen: Redirect stderr in `...` via
18573         "exec 2>...", rather than via an added sub-shell.
18574
18575 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
18576
18577         git-version-gen: use (...) rather than sh -c '...'
18578         * build-aux/git-version-gen: Rather than hard-coding a shell's name
18579         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
18580
18581 2011-01-03  Jim Meyering  <meyering@redhat.com>
18582
18583         git-version-gen: convert leading TABs to spaces
18584         * build-aux/git-version-gen: Expand leading TABs.
18585
18586         git-version-gen: handle failed "git rev-list"
18587         * build-aux/git-version-gen: Rather than leaking a "fatal" error
18588         from git and proceeding as if it had succeeded but printed no SHA1
18589         checksums, suppress the diagnostic and handle the failure.
18590         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
18591
18592         git-version-gen: include command name in one more diagnostic
18593         * build-aux/git-version-gen: When the required .tarball-version file
18594         was missing or unreadable, you might see the diagnostic from "cat",
18595         but no trace of the name of the invoking script.  Now, you still see
18596         the diagnostic from cat, but also get one from "git-version-gen: ".
18597         Inspired by a patch from Bruce Korb.
18598
18599         update-copyright: adjust test to match changed code
18600         * tests/test-update-copyright.sh: Change test's expected output
18601         to match new actual output.
18602
18603 2011-01-02  Bruno Haible  <bruno@clisp.org>
18604
18605         getlogin_r: Avoid test failure on HP-UX 11.
18606         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
18607         ERANGE when the second argument is zero.
18608         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
18609         portability problem.
18610
18611 2011-01-02  Bruce Korb  <bkorb@gnu.org>
18612
18613         * build-aux/update-copyright: doc Simon's changes
18614
18615 2011-01-02  Simon Josefsson  <simon@josefsson.org>
18616
18617         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
18618         environment variable.
18619
18620 2011-01-02  Bruno Haible  <bruno@clisp.org>
18621
18622         unigbrk: Avoid gcc warnings.
18623         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
18624         unused variable.
18625         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
18626         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
18627         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
18628         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
18629         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
18630         Change type of first argument to 'const char *'.
18631         (main): Remove unused variable.
18632         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
18633         type of first argument to 'const char *'.
18634         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
18635         Likewise.
18636         (main): Change type of variable 's'.
18637         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
18638         to 'int'.
18639
18640 2011-01-02  Bruno Haible  <bruno@clisp.org>
18641
18642         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
18643         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
18644         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
18645         bug.
18646         * lib/pwrite.c: Undo 2010-12-31 patch.
18647         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
18648
18649 2011-01-02  Bruno Haible  <bruno@clisp.org>
18650
18651         pread: Fix test whether it works.
18652         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
18653
18654 2011-01-02  Bruno Haible  <bruno@clisp.org>
18655
18656         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
18657         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
18658         ends in "6". Don't require a specific month name. Try also the locale
18659         names found on HP-UX 11 and Solaris 7.
18660
18661 2011-01-02  Bruno Haible  <bruno@clisp.org>
18662
18663         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
18664         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
18665         C linkage.
18666         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
18667
18668 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
18669
18670         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
18671         for consistency, since the "cluster" term is not used elsewhere.
18672         * lib/unigbrk.in.h: Update name.
18673         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
18674         * lib/unigbrk/u16-grapheme-next.c: Update name.
18675         * lib/unigbrk/u16-grapheme-prev.c: Update name.
18676         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
18677         * lib/unigbrk/u32-grapheme-next.c: Update name.
18678         * lib/unigbrk/u32-grapheme-prev.c: Update name.
18679         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
18680         * lib/unigbrk/u8-grapheme-next.c: Update name.
18681         * lib/unigbrk/u8-grapheme-prev.c: Update name.
18682         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
18683         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
18684         Suggested by Bruno Haible.
18685
18686 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
18687
18688         Remove module 'u8-grapheme-len' as too redundant with
18689         'u8-grapheme-next'.
18690         * modules/unigbrk/u8-grapheme-len: Delete file.
18691         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
18692         * lib/unigbrk.in.h: Remove prototype for deleted function.
18693         * lib/unigbrk/u8-grapheme-len.c: Delete file.
18694         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
18695
18696         Remove module 'u16-grapheme-len' as too redundant with
18697         'u16-grapheme-next'.
18698         * modules/unigbrk/u16-grapheme-len: Delete file.
18699         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
18700         * lib/unigbrk.in.h: Remove prototype for deleted function.
18701         * lib/unigbrk/u16-grapheme-len.c: Delete file.
18702         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
18703
18704         Remove module 'u32-grapheme-len' as too redundant with
18705         'u32-grapheme-next'.
18706         * modules/unigbrk/u32-grapheme-len: Delete file.
18707         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
18708         * lib/unigbrk.in.h: Remove prototype for deleted function.
18709         * lib/unigbrk/u32-grapheme-len.c: Delete file.
18710         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
18711
18712         Suggested by Bruno Haible.
18713
18714 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
18715
18716         * unigbrk.in.h: Fix typo: "ben" => "been".
18717         Reported by Bruno Haible.
18718
18719 2011-01-01  Jim Meyering  <meyering@redhat.com>
18720
18721         maint: update almost all copyright ranges to include 2011
18722         Run the new "make update-copyright" rule.
18723
18724 2011-01-01  Jim Meyering  <meyering@redhat.com>
18725
18726         maint: update-copyright: exempt doc/INSTALL*
18727         * Makefile (update-copyright): Also exclude doc/INSTALL*,
18728         since they are generated.  Suggested by Bruno Haible.
18729
18730 2011-01-01  Jim Meyering  <meyering@redhat.com>
18731
18732         maint: refine the update-copyright rule
18733         * Makefile (update-copyright): Also exclude any file that includes
18734         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
18735         code that merely generates the comment.
18736
18737 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
18738
18739         New module 'u8-grapheme-len'.
18740         * modules/unigbrk/u8-grapheme-len: New file.
18741         * modules/unigbrk/u8-grapheme-len-tests: New file.
18742         * lib/unigbrk.in.h: Add prototype for new function.
18743         * lib/unigbrk/u8-grapheme-len.c: New file.
18744         * tests/unigbrk/test-u8-grapheme-len.c: New file.
18745
18746         New module 'u16-grapheme-len'.
18747         * modules/unigbrk/u16-grapheme-len: New file.
18748         * modules/unigbrk/u16-grapheme-len-tests: New file.
18749         * lib/unigbrk.in.h: Add prototype for new function.
18750         * lib/unigbrk/u16-grapheme-len.c: New file.
18751         * tests/unigbrk/test-u16-grapheme-len.c: New file.
18752
18753         New module 'u32-grapheme-len'.
18754         * modules/unigbrk/u32-grapheme-len: New file.
18755         * modules/unigbrk/u32-grapheme-len-tests: New file.
18756         * lib/unigbrk.in.h: Add prototype for new function.
18757         * lib/unigbrk/u32-grapheme-len.c: New file.
18758         * tests/unigbrk/test-u32-grapheme-len.c: New file.
18759
18760         New module 'u8-grapheme-next'.
18761         * modules/unigbrk/u8-grapheme-next: New file.
18762         * modules/unigbrk/u8-grapheme-next-tests: New file.
18763         * lib/unigbrk.in.h: Add prototype for new function.
18764         * lib/unigbrk/u8-grapheme-next.c: New file.
18765         * tests/unigbrk/test-u8-grapheme-next.c: New file.
18766
18767         New module 'u16-grapheme-next'.
18768         * modules/unigbrk/u16-grapheme-next: New file.
18769         * modules/unigbrk/u16-grapheme-next-tests: New file.
18770         * lib/unigbrk.in.h: Add prototype for new function.
18771         * lib/unigbrk/u16-grapheme-next.c: New file.
18772         * tests/unigbrk/test-u16-grapheme-next.c: New file.
18773
18774         New module 'u32-grapheme-next'.
18775         * modules/unigbrk/u32-grapheme-next: New file.
18776         * modules/unigbrk/u32-grapheme-next-tests: New file.
18777         * lib/unigbrk.in.h: Add prototype for new function.
18778         * lib/unigbrk/u32-grapheme-next.c: New file.
18779         * tests/unigbrk/test-u32-grapheme-next.c: New file.
18780
18781         New module 'u8-grapheme-prev'.
18782         * modules/unigbrk/u8-grapheme-prev: New file.
18783         * modules/unigbrk/u8-grapheme-prev-tests: New file.
18784         * lib/unigbrk.in.h: Add prototype for new function.
18785         * lib/unigbrk/u8-grapheme-prev.c: New file.
18786         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
18787
18788         New module 'u16-grapheme-prev'.
18789         * modules/unigbrk/u16-grapheme-prev: New file.
18790         * modules/unigbrk/u16-grapheme-prev-tests: New file.
18791         * lib/unigbrk.in.h: Add prototype for new function.
18792         * lib/unigbrk/u16-grapheme-prev.c: New file.
18793         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
18794
18795         New module 'u32-grapheme-prev'.
18796         * modules/unigbrk/u32-grapheme-prev: New file.
18797         * modules/unigbrk/u32-grapheme-prev-tests: New file.
18798         * lib/unigbrk.in.h: Add prototype for new function.
18799         * lib/unigbrk/u32-grapheme-prev.c: New file.
18800         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
18801
18802         New module 'u8-grapheme-breaks'.
18803         * modules/unigbrk/u8-grapheme-breaks: New file.
18804         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
18805         * lib/unigbrk.in.h: Add prototype for new function.
18806         * lib/unigbrk/u8-grapheme-breaks.c: New file.
18807         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
18808
18809         New module 'u16-grapheme-breaks'.
18810         * modules/unigbrk/u16-grapheme-breaks: New file.
18811         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
18812         * lib/unigbrk.in.h: Add prototype for new function.
18813         * lib/unigbrk/u16-grapheme-breaks.c: New file.
18814         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
18815
18816         New module 'u32-grapheme-breaks'.
18817         * modules/unigbrk/u32-grapheme-breaks: New file.
18818         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
18819         * lib/unigbrk.in.h: Add prototype for new function.
18820         * lib/unigbrk/u32-grapheme-breaks.c: New file.
18821         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
18822
18823         New module 'ulc-grapheme-breaks'.
18824         * modules/unigbrk/ulc-grapheme-breaks: New file.
18825         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
18826         * m4/locale-ar.m4: New file.
18827         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
18828         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
18829         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
18830
18831 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
18832
18833         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
18834         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
18835         modified how this file was generated before I initially submitted
18836         the module, but failed to regenerate it.  This meant that several
18837         of the level2 entries were wrong.
18838         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
18839         Remove the division-by-2 that is folded into the table now that
18840         gbrkprop.h has been regenerated properly.  Now -1 entries are
18841         handled correctly.
18842
18843         New module 'unigbrk/uc-gbrk-prop-tests'.
18844         * modules/unigbrk/uc-gbrk-prop-tests: New file.
18845         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
18846         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
18847         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
18848
18849 2011-01-01  Bruno Haible  <bruno@clisp.org>
18850
18851         Avoid use of hexadecimal escapes.
18852         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
18853         instead of hexadecimal escapes.
18854
18855 2011-01-01  Jim Meyering  <meyering@redhat.com>
18856
18857         maint: new rule to update copyright year ranges
18858         * Makefile (update-copyright): New rule.
18859
18860         maint: indent with TABs in Makefile
18861         * Makefile: Expand leading sequences of spaces to TABs
18862
18863         version-etc: update the copyright year it reports
18864         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
18865
18866 2010-12-31  Bruno Haible  <bruno@clisp.org>
18867
18868         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
18869         * lib/isfinite.c (zerof, zerod, zerol): New variables.
18870         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
18871         zero.
18872
18873 2010-12-31  Bruno Haible  <bruno@clisp.org>
18874
18875         pwrite: Work around HP-UX 11.11 bug.
18876         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
18877         works and set REPLACE_PWRITE if not.
18878         * lib/pwrite.c (pwrite): Add an implementation that uses the system
18879         function.
18880         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
18881
18882 2010-12-31  Bruno Haible  <bruno@clisp.org>
18883
18884         pread: Work around HP-UX 11 bugs.
18885         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
18886         and set REPLACE_PREAD if not.
18887         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
18888
18889 2010-12-31  Eric Blake  <eblake@redhat.com>
18890
18891         nl_langinfo: fix YESEXPR on Irix 6.5
18892         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
18893         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
18894         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
18895         it.
18896
18897 2010-12-31  Bruno Haible  <bruno@clisp.org>
18898
18899         iconv: Document HP-UX 11 bug.
18900         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
18901
18902 2010-12-31  Bruno Haible  <bruno@clisp.org>
18903
18904         ldexpl: Fix link error on HP-UX 11.
18905         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
18906         LDEXPL_LIBM, using $ISNANL_LIBM.
18907
18908 2010-12-31  Eric Blake  <eblake@redhat.com>
18909
18910         ftello: avoid compilation failure with SunStudio c89
18911         * lib/ftello.c (ftello): Use lseek, not llseek.
18912
18913         tests: avoid failing coreutils tests on cygwin
18914         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
18915         (create_exe_shims_): Return 0 when skipping.
18916
18917 2010-12-31  Bruno Haible  <bruno@clisp.org>
18918
18919         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
18920         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
18921
18922 2010-12-31  Bruno Haible  <bruno@clisp.org>
18923
18924         waitpid: Fix link error in C++ mode.
18925         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
18926
18927 2010-12-31  Bruno Haible  <bruno@clisp.org>
18928
18929         isnan: Use GCC built-ins when possible.
18930         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
18931         __builtin_isnan.
18932         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
18933         (isnan): Define using GCC built-ins for GCC >= 4.0.
18934
18935 2010-12-31  Bruno Haible  <bruno@clisp.org>
18936
18937         isnand: Fix mistake.
18938         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
18939         __builtin_isnand.
18940
18941 2010-12-31  Bruno Haible  <bruno@clisp.org>
18942
18943         open: Avoid C++ error on HP-UX 11.
18944         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
18945
18946 2010-12-31  Bruno Haible  <bruno@clisp.org>
18947
18948         time_r: Add missing declarations on HP-UX 11.
18949         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
18950         instead of HAVE_LOCALTIME_R.
18951         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
18952         HAVE_LOCALTIME_R always.
18953         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
18954         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
18955         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
18956         HAVE_LOCALTIME_R.
18957         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
18958         * doc/posix-functions/localtime_r.texi: Likewise.
18959
18960 2010-12-29  Eric Blake  <eblake@redhat.com>
18961
18962         mountlist: tweak previous commit
18963         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
18964         Reported by Paul Eggert.
18965
18966         mountlist: fix local drive detection on cygwin
18967         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
18968         that works for cygwin.
18969
18970 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
18971
18972         ftoastr, snprintf: ftoastr + snprintf module
18973         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
18974         since the snprintf module now should be good enough here.
18975         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
18976         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
18977         and gl_MODULE_INDICATOR([snprintf]), but the former enables
18978         GNULIB_SNPRINTF only for the test directory, and the latter
18979         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
18980         seems to suffice by itself.
18981
18982 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
18983
18984         alloca: one step towards thread-safety
18985         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
18986         need for a static variable.  All callers changed.  This does not
18987         make the alloca replacement thread-safe, but it's one step.
18988
18989         tests: minor indenting change
18990         * tests/init.sh: Sync from coreutils housekeeping patch
18991         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
18992         to keep lines within 80 columns.
18993
18994 2010-12-28  Jim Meyering  <meyering@redhat.com>
18995
18996         regex: don't infloop on persistent failing calloc
18997         * lib/regexec.c (build_trtable): Return failure indication upon
18998         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
18999         In glibc, this was fixed for version 2.13:
19000         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
19001
19002 2010-12-28  Bruno Haible  <bruno@clisp.org>
19003             Paul Eggert <eggert@cs.ucla.edu>
19004
19005         linkat: Make implementation robust against system behaviour variations.
19006         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
19007         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
19008         way, and to -2 if it needs a generic runtime test.
19009         * lib/linkat.c (solaris_optimized_link_immediate,
19010         solaris_optimized_link_follow): New functions.
19011         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
19012         (check_same_link): Use it.
19013
19014 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
19015
19016         New module 'unigbrk/base'.
19017         * modules/unigbrk/base: New file.
19018         * lib/unigbrk.in.h: New file.
19019
19020         New module 'unigbrk/uc-gbrk-prop'.
19021         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
19022         * modules/unigbrk/uc-gbrk-prop: New file.
19023         * lib/unigbrk/gbrkprop.h: New file.
19024         * lib/unigbrk/uc-gbrk-prop.c: New file.
19025
19026         New module 'unigbrk/uc-is-grapheme-break'.
19027         * modules/unigbrk/uc-is-grapheme-break: New file.
19028         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
19029         * lib/unigbrk/uc-is-grapheme-break.c: New file.
19030         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
19031         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
19032         * tests/unigbrk/GraphemeBreakTest.txt: New file.
19033
19034         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
19035
19036 2010-12-27  Bruno Haible  <bruno@clisp.org>
19037
19038         linkat test: Avoid failure on Solaris 11 2010-11.
19039         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
19040
19041 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
19042
19043         utimens: work around glibc rounding bug on more platforms
19044         * lib/utimens.c (fdutimens): Work around rounding bug even if
19045         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
19046         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
19047
19048 2010-12-27  Bruno Haible  <bruno@clisp.org>
19049
19050         select tests: Improve comments.
19051         * tests/test-select.c (do_select): Add comments.
19052
19053 2010-12-27  Bruno Haible  <bruno@clisp.org>
19054
19055         select tests: Safer way of handling timeout.
19056         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
19057         at every invocation.
19058
19059 2010-12-27  Bruno Haible  <bruno@clisp.org>
19060
19061         select tests: Use 'bool' where appropriate.
19062         * tests/test-select.c (connect_to_socket): Change argument type to
19063         'bool'.
19064
19065 2010-12-27  Bruno Haible  <bruno@clisp.org>
19066
19067         select tests: Use existing modules.
19068         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
19069         (configure.ac): Don't test for unistd.h.
19070         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
19071         declared in <unistd.h>.
19072
19073 2010-12-27  Bruno Haible  <bruno@clisp.org>
19074
19075         mbrtowc: Work around a Solaris 7 bug.
19076         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
19077         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
19078         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
19079         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
19080         MBRTOWC_NULL_ARG1_BUG.
19081         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
19082         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
19083         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
19084         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
19085
19086 2010-12-27  Jim Meyering  <meyering@redhat.com>
19087
19088         read-file.c: tweak syntax
19089         * lib/read-file.c (fread_file): Remove space after "*" in function
19090         definitions.
19091
19092 2010-12-27  Bruno Haible  <bruno@clisp.org>
19093
19094         times test: Avoid gcc warnings on OSF/1.
19095         * tests/test-times.c (main): Cast printf arguments from clock_t to
19096         'long int'.
19097
19098 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
19099
19100         utimens: work around glibc rounding bug on older Linux kernels
19101         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
19102         on Linux with a glibc whose utimes might not work, then work
19103         around a longstanding glibc bug involving rounding rather than
19104         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
19105         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
19106
19107 2010-12-26  Bruno Haible  <bruno@clisp.org>
19108
19109         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
19110         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
19111         _GL_CXXALIAS_SYS.
19112         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19113
19114 2010-12-26  Bruno Haible  <bruno@clisp.org>
19115
19116         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
19117         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
19118         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
19119         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
19120         looking for the declaration.
19121         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
19122         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
19123         problem.
19124         * doc/posix-functions/inet_pton.texi: Likewise.
19125
19126 2010-12-26  Bruno Haible  <bruno@clisp.org>
19127
19128         arpa_inet: Use the common idioms with C++ support.
19129         * lib/arpa_inet.in.h: Include c++defs.h.
19130         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
19131         support.
19132         * modules/arpa_inet (Depends-on): Add c++defs.
19133         (Makefile.am): Substitute the contents of c++defs.h.
19134         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
19135         * modules/arpa_inet-c++-tests: New file.
19136         * tests/test-arpa_inet-c++.cc: New file.
19137
19138 2010-12-25  Bruno Haible  <bruno@clisp.org>
19139
19140         Fix more C++ link errors on Solaris 8.
19141         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
19142         $(LIB_EACCESS).
19143         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
19144         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
19145         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
19146         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
19147         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
19148
19149 2010-12-25  Bruno Haible  <bruno@clisp.org>
19150
19151         printf-posix: Fix link error when a non-GCC compiler is used.
19152         * lib/stdio.in.h (printf): When not using GCC, override printf
19153         correctly.
19154         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19155
19156 2010-12-25  Bruno Haible  <bruno@clisp.org>
19157
19158         strerror_r-posix: Update doc.
19159         * doc/posix-functions/strerror_r.texi: Update doc about the return
19160         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
19161
19162 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
19163
19164         utimens: simplify the logic of the previous change
19165         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
19166         This should not affect whether the test succeeds or fails.
19167
19168         utimens: configure better on hosts with NFS clock skew
19169         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
19170         uses the clock of the local host.  It might use the clock of the
19171         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
19172         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
19173
19174 2010-12-25  Bruno Haible  <bruno@clisp.org>
19175
19176         ptsname test: Avoid failure on Solaris.
19177         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
19178         open a pseudo-terminal; don't use BSD-style ptys.
19179         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
19180
19181 2010-12-25  Bruno Haible  <bruno@clisp.org>
19182
19183         ptsname: Avoid ERANGE failure on some systems.
19184         * lib/ptsname.c (buffer): Increase size.
19185
19186 2010-12-25  Bruno Haible  <bruno@clisp.org>
19187
19188         rename, renameat: Avoid test failures at NFS mounted locations.
19189         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
19190         so that subsequent mkdir calls succeed.
19191
19192 2010-12-25  Bruno Haible  <bruno@clisp.org>
19193
19194         iswblank: Fix C++ link error on Solaris 8.
19195         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
19196         _GL_FUNCDECL_SYS.
19197
19198 2010-12-25  Bruno Haible  <bruno@clisp.org>
19199
19200         unistd: Fix C++ link error on Solaris 8.
19201         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
19202
19203 2010-12-25  Bruno Haible  <bruno@clisp.org>
19204
19205         readlink doc: Mention an old glibc bug.
19206         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
19207
19208 2010-12-25  Bruno Haible  <bruno@clisp.org>
19209
19210         fcntl-h: Fix for use of C++ on glibc systems.
19211         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
19212         also on glibc systems in C++ mode.
19213         Reported by Gary V. Vaughan <gary@gnu.org>.
19214
19215 2010-12-25  Bruno Haible  <bruno@clisp.org>
19216
19217         roundl-ieee: Make it work on OSF/1 5.1 with cc.
19218         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
19219
19220 2010-12-25  Bruno Haible  <bruno@clisp.org>
19221
19222         truncl-ieee: Make it work on OSF/1 5.1 with cc.
19223         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
19224         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
19225         test whether truncl works according to ISO C 99 with IEC 60559.
19226         * m4/truncl-ieee.m4: New file.
19227         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
19228         m4/signbit.m4.
19229         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
19230
19231 2010-12-25  Bruno Haible  <bruno@clisp.org>
19232
19233         ceill-ieee: Make it work on OSF/1 5.1 with cc.
19234         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
19235         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
19236         test whether ceill works according to ISO C 99 with IEC 60559.
19237         * m4/ceill-ieee.m4: New file.
19238         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
19239         m4/signbit.m4.
19240         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
19241
19242 2010-12-25  Bruno Haible  <bruno@clisp.org>
19243
19244         Ensure all prerequisites of <wchar.h> are included.
19245         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
19246         before <wchar.h>.
19247         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
19248         gl_MBRLEN_NUL_RETVAL): Likewise.
19249         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
19250         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
19251         AC_FUNC_MBRTOWC): Likewise.
19252         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
19253         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
19254         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
19255         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
19256         Likewise.
19257         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
19258         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
19259         (gl_WCHAR_H): Improve comments.
19260         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
19261
19262 2010-12-25  Bruno Haible  <bruno@clisp.org>
19263
19264         strtok_r: Fix C syntax error in autoconf macro.
19265         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
19266         characters in test program.
19267
19268 2010-12-24  Bruno Haible  <bruno@clisp.org>
19269
19270         ceil, trunc, round: Fix gcc warnings.
19271         * lib/ceil.c (MIN): Undefine before redefining.
19272         * lib/trunc.c (MIN): Likewise.
19273         * lib/round.c (MIN): Likewise.
19274         Include <math.h> first.
19275
19276 2010-12-24  Bruno Haible  <bruno@clisp.org>
19277
19278         select tests: Avoid failures on OSF/1 5.1.
19279         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
19280         failure of closing the last socket; it may fail with ECONNRESET.
19281
19282 2010-12-24  Eric Blake  <eblake@redhat.com>
19283
19284         stdint: avoid HP-UX 10.20 preprocessor bug
19285         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
19286         than #if.
19287         * tests/test-floor2.c (main): Likewise.
19288         Reported by Peter O'Gorman.
19289
19290         pipe: make obsoletion transition easier
19291         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
19292         * modules/pipe (Files): Include revived file.
19293         (Include): Drop reference, to mirror getdate's behavior.
19294
19295 2010-12-24  Bruno Haible  <bruno@clisp.org>
19296
19297         sys_socket: Hide mismatch of declarations on NonStop Kernel.
19298         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
19299         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
19300         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19301
19302 2010-12-24  Bruno Haible  <bruno@clisp.org>
19303
19304         gethostname: Ensure declaration on NonStop Kernel.
19305         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
19306         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19307
19308 2010-12-24  Bruno Haible  <bruno@clisp.org>
19309
19310         sys_select: Ensure all necessary types on NonStop Kernel.
19311         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
19312         include <sys/time.h>.
19313         * doc/posix-headers/sys_select.texi: Mention that it's missing on
19314         NonStop Kernel.
19315         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19316
19317 2010-12-24  Bruno Haible  <bruno@clisp.org>
19318
19319         sys_select: Remove unneeded include.
19320         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
19321         have <sys/select.h>.
19322
19323 2010-12-24  Bruno Haible  <bruno@clisp.org>
19324
19325         gethostname: Provide a fallback for HOST_NAME_MAX.
19326         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
19327         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
19328         instead.
19329         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19330
19331 2010-12-24  Bruno Haible  <bruno@clisp.org>
19332
19333         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
19334         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
19335         (SA_RESTART): Likewise.
19336         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19337
19338 2010-12-24  Bruno Haible  <bruno@clisp.org>
19339
19340         signal: Define NSIG.
19341         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
19342         * tests/test-signal.c (nsig): New variable.
19343         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19344
19345 2010-12-24  Bruno Haible  <bruno@clisp.org>
19346
19347         rename, renameat: Avoid test failures on OSF/1 5.1.
19348         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
19349         alternative error codes.
19350         * tests/test-renameat.c (main): Likewise.
19351
19352 2010-12-24  Bruno Haible  <bruno@clisp.org>
19353
19354         *printf: Detect large precisions bug on Solaris 10/SPARC.
19355         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
19356         by Paul Eggert.
19357         * tests/test-snprintf-posix.h (test_function): Add this test code here
19358         too.
19359         * tests/test-sprintf-posix.h (test_function): Likewise.
19360         * tests/test-vasnprintf-posix.c (test_function): Likewise.
19361         * tests/test-vasprintf-posix.c (test_function): Likewise.
19362         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
19363         around by gnulib.
19364         * doc/posix-functions/printf.texi: Likewise.
19365         * doc/posix-functions/snprintf.texi: Likewise.
19366         * doc/posix-functions/sprintf.texi: Likewise.
19367         * doc/posix-functions/vfprintf.texi: Likewise.
19368         * doc/posix-functions/vprintf.texi: Likewise.
19369         * doc/posix-functions/vsnprintf.texi: Likewise.
19370         * doc/posix-functions/vsprintf.texi: Likewise.
19371         * doc/posix-functions/dprintf.texi: Undo last commit.
19372         * doc/posix-functions/vdprintf.texi: Likewise.
19373
19374 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
19375
19376         tests: port test-fdutimensat.c to Solaris 8
19377         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
19378         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
19379         On Solaris 8, it fails with errno == ENOSYS, because there is no
19380         futimens (so it can't use the fd), and there is no lutimens (so it
19381         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
19382
19383         vsnprintf: make more consistent with snprintf; doc fixes
19384
19385         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
19386         the byte count return problem was promoted from the snprintf-posix
19387         to the snprintf module.
19388         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
19389         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
19390         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
19391         * tests/test-snprintf.c (main): Check the byte count returned.
19392         * tests/test-vsnprintf.c (main): Likewise.
19393
19394 2010-12-23  Eric Blake  <eblake@redhat.com>
19395
19396         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
19397         * modules/sigpipe (License): Relax license.
19398
19399 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
19400
19401         doc: document Solaris printf bug with large float precisions
19402         * doc/posix-functions/dprintf.texi (dprintf):
19403         * doc/posix-functions/fprintf.texi (fprintf):
19404         * doc/posix-functions/printf.texi (printf):
19405         * doc/posix-functions/snprintf.texi (snprintf):
19406         * doc/posix-functions/sprintf.texi (sprintf):
19407         * doc/posix-functions/vdprintf.texi (vdprintf):
19408         * doc/posix-functions/vfprintf.texi (vfprintf):
19409         * doc/posix-functions/vprintf.texi (vprintf):
19410         * doc/posix-functions/vsnprintf.texi (vsnprintf):
19411         * doc/posix-functions/vsprintf.texi (vsprintf):
19412         Mention that these functions mishandle large floating point
19413         precisions on Solaris 10.  The same bug is also present in Solaris
19414         8, and I assume earlier.  This causes "cd gnulib-tests; make
19415         check" to fail on Solaris 8 (and I assume, later) when building
19416         the latest coreutils, in test-vasprintf-posix's call to
19417         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
19418         the wide flavors (e.g., wprintf) so this patch just updates the
19419         documentation for the narrow ones.
19420
19421         test-posixtm.c: add two tests
19422         * tests/test-posixtm.c: Add two tests, to highlight the
19423         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
19424         around this bug; this is merely to document it.
19425
19426 2010-12-22  Bruno Haible  <bruno@clisp.org>
19427
19428         getlogin_r: Work around portability problem on OSF/1.
19429         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
19430         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
19431         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
19432         test for a truncated result.
19433         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
19434         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
19435         * modules/getlogin_r (Depends-on): Add memchr.
19436         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
19437
19438 2010-12-22  Bruno Haible  <bruno@clisp.org>
19439
19440         ptsname: Avoid test failure on OSF/1 5.1.
19441         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
19442         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
19443         (same_slave): New function.
19444         (main): Use it to compare ptsname's result with the expected file name.
19445
19446 2010-12-22  Bruno Haible  <bruno@clisp.org>
19447
19448         Port extended stdio modules to HP NonStop Kernel.
19449         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
19450         macros.
19451         * lib/fbufmode.c: Update comments.
19452         * lib/fflush.c: Likewise.
19453         * lib/fpurge.c: Likewise.
19454         * lib/freadable.c: Likewise.
19455         * lib/freadahead.c: Likewise.
19456         * lib/freading.c: Likewise.
19457         * lib/freadptr.c: Likewise.
19458         * lib/freadseek.c: Likewise.
19459         * lib/fseeko.c: Likewise.
19460         * lib/fseterr.c: Likewise.
19461         * lib/fwritable.c: Likewise.
19462         * lib/fwriting.c: Likewise.
19463         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19464
19465 2010-12-22  Bruno Haible  <bruno@clisp.org>
19466
19467         ttyname_r: Work around bug on OSF/1 5.1.
19468         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
19469         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
19470         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
19471         present.
19472         * lib/ttyname_r.c (ttyname_r): Update comments.
19473
19474 2010-12-22  Bruno Haible  <bruno@clisp.org>
19475
19476         round: Implement result sign according to IEEE 754.
19477         * lib/round.c (MIN, MINUS_ZERO): New macros.
19478         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
19479         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
19480         * tests/test-round-ieee.c (main): Likewise.
19481         * tests/test-roundl-ieee.c (main): Likewise.
19482
19483         trunc: Implement result sign according to IEEE 754.
19484         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
19485         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
19486         * tests/test-trunc2.c: Include minus-zero.h.
19487         (MINUS_ZERO): New macro.
19488         (trunc_reference): Keep in sync with lib/trunc.c.
19489         * tests/test-truncf2.c: Include minus-zero.h.
19490         (MINUS_ZERO): New macro.
19491         (truncf_reference): Keep in sync with lib/trunc.c.
19492         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
19493         * tests/test-trunc-ieee.c (main): Likewise.
19494         * tests/test-truncl-ieee.c (main): Likewise.
19495
19496         ceil: Implement result sign according to IEEE 754.
19497         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
19498         (FUNC): Return -0.0 for -1 < x < 0.
19499         * tests/test-ceil2.c: Include minus-zero.h.
19500         (MINUS_ZERO): New macro.
19501         (ceil_reference): Keep in sync with lib/ceil.c.
19502         * tests/test-ceilf2.c: Include minus-zero.h.
19503         (MINUS_ZERO): New macro.
19504         (ceilf_reference): Keep in sync with lib/ceil.c.
19505         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
19506         * tests/test-ceil-ieee.c (main): Likewise.
19507         * tests/test-ceill-ieee.c (main): Likewise.
19508
19509         floor: Implement result sign according to IEEE 754.
19510         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
19511         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
19512         * tests/test-floorf2.c (floorf_reference): Likewise.
19513         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
19514         * tests/test-floor-ieee.c (main): Likewise.
19515         * tests/test-floorl-ieee.c (main): Likewise.
19516
19517 2010-12-22  Bruno Haible  <bruno@clisp.org>
19518
19519         getaddrinfo: Update doc.
19520         * doc/posix-functions/gai_strerror.texi: Return type is also different
19521         on AIX and HP-UX.
19522
19523 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
19524
19525         getaddrinfo, inet_ntop: Update doc for Solaris.
19526         * doc/posix-functions/gai_strerror.texi: Return type is also an
19527         issue on Solaris 9 and earlier.
19528         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
19529         on Solaris 10 and earlier.
19530
19531 2010-12-21  Bruno Haible  <bruno@clisp.org>
19532
19533         New module 'roundl-ieee'.
19534         * modules/roundl-ieee: New file.
19535         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
19536         test whether roundl works according to ISO C 99 with IEC 60559.
19537         * m4/roundl-ieee.m4: New file.
19538         * modules/roundl-ieee-tests: New file.
19539         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
19540         * tests/test-roundl.c (main): Remove signbit tests.
19541         * modules/roundl-tests (Depends-on): Remove signbit.
19542         * doc/posix-functions/roundl.texi: Mention the new module.
19543
19544 2010-12-21  Bruno Haible  <bruno@clisp.org>
19545
19546         New module 'truncl-ieee'.
19547         * modules/truncl-ieee: New file.
19548         * modules/truncl-ieee-tests: New file.
19549         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
19550         * tests/test-truncl.c (main): Remove signbit tests.
19551         * modules/truncl-tests (Depends-on): Remove signbit.
19552         * doc/posix-functions/truncl.texi: Mention the new module.
19553
19554 2010-12-21  Bruno Haible  <bruno@clisp.org>
19555
19556         New module 'ceill-ieee'.
19557         * modules/ceill-ieee: New file.
19558         * modules/ceill-ieee-tests: New file.
19559         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
19560         * tests/test-ceill.c (main): Remove signbit tests.
19561         * modules/ceill-tests (Depends-on): Remove signbit.
19562         * doc/posix-functions/ceill.texi: Mention the new module.
19563
19564 2010-12-21  Bruno Haible  <bruno@clisp.org>
19565
19566         New module 'floorl-ieee'.
19567         * modules/floorl-ieee: New file.
19568         * modules/floorl-ieee-tests: New file.
19569         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
19570         * tests/test-floorl.c (main): Remove signbit tests.
19571         * modules/floorl-tests (Depends-on): Remove signbit.
19572         * doc/posix-functions/floorl.texi: Mention the new module.
19573
19574 2010-12-21  Bruno Haible  <bruno@clisp.org>
19575
19576         New module 'round-ieee'.
19577         * modules/round-ieee: New file.
19578         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
19579         whether round works according to ISO C 99 with IEC 60559.
19580         * m4/round-ieee.m4: New file.
19581         * modules/round-ieee-tests: New file.
19582         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
19583         * tests/test-round1.c (main): Remove signbit tests.
19584         * modules/round-tests (Depends-on): Remove 'signbit'.
19585         * doc/posix-functions/round.texi: Mention the new module.
19586
19587 2010-12-21  Bruno Haible  <bruno@clisp.org>
19588
19589         New module 'trunc-ieee'.
19590         * modules/trunc-ieee: New file.
19591         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
19592         whether trunc works according to ISO C 99 with IEC 60559.
19593         * m4/trunc-ieee.m4: New file.
19594         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
19595         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
19596         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
19597         * modules/trunc-ieee-tests: New file.
19598         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
19599         * tests/test-trunc1.c (main): Remove signbit tests.
19600         * modules/trunc-tests (Depends-on): Remove 'signbit'.
19601         * doc/posix-functions/trunc.texi: Mention the new module.
19602
19603 2010-12-21  Bruno Haible  <bruno@clisp.org>
19604
19605         New module 'ceil-ieee'.
19606         * modules/ceil-ieee: New file.
19607         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
19608         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
19609         ISO C 99 with IEC 60559.
19610         * m4/ceil-ieee.m4: New file.
19611         * modules/ceil (Files): Add lib/ceil.c.
19612         (Depends-on): Add 'float'.
19613         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
19614         * lib/math.in.h (ceil): New declaration.
19615         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
19616         REPLACE_CEIL.
19617         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
19618         * modules/ceil-ieee-tests: New file.
19619         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
19620         * tests/test-math-c++.cc: Check the signature of 'ceil'.
19621         * doc/posix-functions/ceil.texi: Mention the new module.
19622
19623 2010-12-21  Bruno Haible  <bruno@clisp.org>
19624
19625         New module 'floor-ieee'.
19626         * modules/floor-ieee: New file.
19627         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
19628         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
19629         ISO C 99 with IEC 60559.
19630         * m4/floor-ieee.m4: New file.
19631         * modules/floor (Files): Add lib/floor.c.
19632         (Depends-on): Add 'float'.
19633         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
19634         * lib/math.in.h (floor): New declaration.
19635         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
19636         REPLACE_FLOOR.
19637         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
19638         * modules/floor-ieee-tests: New file.
19639         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
19640         * tests/test-math-c++.cc: Check the signature of 'floor'.
19641         * doc/posix-functions/floor.texi: Mention the new module.
19642
19643 2010-12-21  Bruno Haible  <bruno@clisp.org>
19644
19645         New module 'roundf-ieee'.
19646         * modules/roundf-ieee: New file.
19647         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
19648         test whether roundf works according to ISO C 99 with IEC 60559.
19649         * m4/roundf-ieee.m4: New file.
19650         * modules/roundf-ieee-tests: New file.
19651         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
19652         * tests/test-roundf1.c (main): Remove signbit tests.
19653         * modules/roundf-tests (Depends-on): Remove 'signbit'.
19654         * doc/posix-functions/roundf.texi: Mention the new module.
19655
19656 2010-12-21  Bruno Haible  <bruno@clisp.org>
19657
19658         New module 'truncf-ieee'.
19659         * modules/truncf-ieee: New file.
19660         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
19661         test whether truncf works according to ISO C 99 with IEC 60559.
19662         * m4/truncf-ieee.m4: New file.
19663         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
19664         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
19665         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
19666         * modules/truncf-ieee-tests: New file.
19667         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
19668         * tests/test-truncf1.c (main): Remove signbit tests.
19669         * modules/truncf-tests (Depends-on): Remove 'signbit'.
19670         * doc/posix-functions/truncf.texi: Mention the new module.
19671
19672 2010-12-21  Bruno Haible  <bruno@clisp.org>
19673
19674         New module 'ceilf-ieee'.
19675         * modules/ceilf-ieee: New file.
19676         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
19677         test whether ceilf works according to ISO C 99 with IEC 60559.
19678         * m4/ceilf-ieee.m4: New file.
19679         * modules/ceilf-ieee-tests: New file.
19680         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
19681         * tests/test-ceilf1.c (main): Remove signbit tests.
19682         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
19683         * doc/posix-functions/ceilf.texi: Mention the new module.
19684
19685 2010-12-21  Bruno Haible  <bruno@clisp.org>
19686
19687         New module 'floorf-ieee'.
19688         * modules/floorf-ieee: New file.
19689         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
19690         test whether floorf works according to ISO C 99 with IEC 60559.
19691         * m4/floorf-ieee.m4: New file.
19692         * modules/floorf-ieee-tests: New file.
19693         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
19694         * tests/test-floorf1.c (main): Remove signbit tests.
19695         * modules/floorf-tests (Depends-on): Remove 'signbit'.
19696         * doc/posix-functions/floorf.texi: Mention the new module.
19697
19698 2010-12-21  Bruno Haible  <bruno@clisp.org>
19699
19700         Support for minus zero in autoconf macros.
19701         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
19702         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
19703         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
19704         * tests/minus-zero.h: Update comments.
19705
19706 2010-12-21  Bruno Haible  <bruno@clisp.org>
19707
19708         Tests for module 'ceil'.
19709         * modules/ceil-tests: New file.
19710         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
19711         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
19712
19713 2010-12-21  Bruno Haible  <bruno@clisp.org>
19714
19715         Tests for module 'floor'.
19716         * modules/floor-tests: New file.
19717         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
19718         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
19719
19720 2010-12-21  Bruno Haible  <bruno@clisp.org>
19721
19722         math: Fix indentation.
19723         * lib/math.in.h (floorf): Fix indentation.
19724
19725 2010-12-21  Bruno Haible  <bruno@clisp.org>
19726
19727         Fix cross-compilation guesses on Solaris.
19728         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
19729         not match "solaris2.10".
19730         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
19731         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
19732         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
19733
19734 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
19735
19736         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
19737         This fixes a problem observed with the latest coreutils snapshot
19738         that caused a test to fail on Solaris 8.  src/csplit.c's call
19739         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
19740         earlier, instead of returning the number of bytes that would have
19741         been generated; this causes csplit to incorrectly report memory
19742         exhaustion.
19743         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
19744         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
19745         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
19746         comments to match.
19747         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
19748         Fix typo in matching older versions of Solaris: "solaris2.10"
19749         is matched by the shell pattern "solaris2.[0-9]*".  This matters
19750         only for guessing while cross-compiling.
19751         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
19752
19753 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
19754
19755         ftoastr: fix comment again
19756         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
19757         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
19758         Also, simplify example a bit by using flags = 0.
19759
19760 2010-12-20  Bruno Haible  <bruno@clisp.org>
19761
19762         round*, trunc*: Update documentation regarding glibc.
19763         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
19764         * doc/posix-functions/round.texi: Likewise.
19765         * doc/posix-functions/roundl.texi: Likewise.
19766         * doc/posix-functions/truncf.texi: Likewise.
19767         * doc/posix-functions/trunc.texi: Likewise.
19768         * doc/posix-functions/truncl.texi: Likewise.
19769
19770 2010-12-20  Bruno Haible  <bruno@clisp.org>
19771
19772         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
19773         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
19774         * doc/posix-functions/round.texi: Likewise.
19775         * doc/posix-functions/roundl.texi: Likewise.
19776
19777 2010-12-20  Bruno Haible  <bruno@clisp.org>
19778
19779         ttyname_r: Add missing declaration on HP-UX 11.
19780         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
19781         HAVE_TTYNAME_R.
19782         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
19783         declared. Set HAVE_TTYNAME_R always.
19784         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19785         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
19786         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
19787         HAVE_TTYNAME_R.
19788         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
19789
19790 2010-12-20  Bruno Haible  <bruno@clisp.org>
19791
19792         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
19793         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
19794         * doc/posix-functions/getlogin_r.texi: Likewise.
19795         * tests/test-getlogin.c: Include <errno.h>.
19796         (main): Avoid test failure on HP-UX 11.11.
19797         * tests/test-getlogin_r.c (main): Likewise.
19798
19799 2010-12-20  Bruno Haible  <bruno@clisp.org>
19800
19801         getlogin_r: Add missing declaration on HP-UX 11.
19802         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
19803         declared also when it exists as a function.
19804         * doc/posix-functions/getlogin_r.texi: Document this workaround.
19805
19806 2010-12-20  Bruno Haible  <bruno@clisp.org>
19807
19808         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
19809         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
19810         through wcrtomb.
19811
19812 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
19813
19814         ftoastr: fix comment
19815         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
19816         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
19817
19818 2010-12-19  Bruno Haible  <bruno@clisp.org>
19819
19820         isnan: Ensure it is a macro.
19821         * lib/math.in.h (isnan): Define as a macro if not already a macro.
19822         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
19823         Solaris.
19824
19825 2010-12-19  Bruno Haible  <bruno@clisp.org>
19826
19827         ldexpl test: Fix link error on OSF/1 5.1.
19828         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
19829
19830 2010-12-19  Bruno Haible  <bruno@clisp.org>
19831
19832         wctype: Make it work in C++ mode on OSF/1 5.1.
19833         * lib/wctype.in.h (iswblank): Declare but not define here.
19834         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
19835         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
19836         * modules/wctype (Files): Add lib/iswblank.c.
19837
19838 2010-12-19  Bruno Haible  <bruno@clisp.org>
19839
19840         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
19841         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
19842         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
19843
19844 2010-12-19  Bruno Haible  <bruno@clisp.org>
19845
19846         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
19847         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
19848         _POSIX_PII_SOCKET.
19849         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
19850         * doc/posix-functions/recvfrom.texi: Likewise.
19851         * doc/posix-functions/send.texi: Likewise.
19852         * doc/posix-functions/sendto.texi: Likewise.
19853
19854 2010-12-19  Bruno Haible  <bruno@clisp.org>
19855
19856         tcgetsid: Add missing declaration on OSF/1 5.1.
19857         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
19858         HAVE_TCGETSID.
19859         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
19860         Don't set HAVE_TCGETSID.
19861         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
19862         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
19863         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
19864         HAVE_TCGETSID.
19865         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
19866
19867 2010-12-19  Bruno Haible  <bruno@clisp.org>
19868
19869         stdio: Fix problem with popen() declaration on OSF/1 5.1.
19870         * lib/stdio.in.h: During the include_next statement, let recursive
19871         includes of this file include only the system header file.
19872
19873 2010-12-19  Bruno Haible  <bruno@clisp.org>
19874
19875         iconv_open: Fix regression from 2010-12-04.
19876         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
19877         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
19878
19879 2010-12-19  Bruno Haible  <bruno@clisp.org>
19880
19881         stdbool test: Avoid a gcc warning.
19882         * tests/test-stdbool.c (main): Fail if e1 is false.
19883         Reported by Jim Meyering.
19884
19885 2010-12-19  Jim Meyering  <meyering@redhat.com>
19886
19887         setenv: restore to working order
19888         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
19889         mistakenly removed.
19890         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
19891         HAVE_SETENV.
19892         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
19893         HAVE_SETENV.
19894
19895 2010-12-19  Bruno Haible  <bruno@clisp.org>
19896
19897         Document some different function declarations on OSF/1 5.1.
19898         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
19899         * doc/posix-functions/inet_ntop.texi: Likewise.
19900         * doc/posix-functions/gethostname.texi: Likewise.
19901         * lib/unistd.in.h (gethostname): Update comment.
19902
19903 2010-12-19  Bruno Haible  <bruno@clisp.org>
19904
19905         doc: Mention vasprintf-posix module.
19906         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
19907         the 'vasprintf-posix' module.
19908         * doc/glibc-functions/vasprintf.texi: Likewise.
19909
19910 2010-12-19  Bruno Haible  <bruno@clisp.org>
19911
19912         unsetenv: Add missing declaration on OSF/1 5.1.
19913         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
19914         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
19915         Don't set HAVE_UNSETENV. In the test program, set _BSD.
19916         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
19917         not HAVE_UNSETENV.
19918         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
19919         HAVE_UNSETENV.
19920         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
19921
19922 2010-12-19  Bruno Haible  <bruno@clisp.org>
19923
19924         setenv: Add missing declaration on OSF/1 5.1.
19925         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
19926         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
19927         declared. Don't set HAVE_SETENV.
19928         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
19929         not HAVE_SETENV.
19930         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
19931         HAVE_SETENV.
19932         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
19933
19934 2010-12-19  Bruno Haible  <bruno@clisp.org>
19935
19936         nl_langinfo tests: Avoid gcc warning.
19937         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
19938
19939 2010-12-19  Bruno Haible  <bruno@clisp.org>
19940
19941         mknod: Avoid error in C++ mode on OSF/1 with GCC.
19942         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
19943         _GL_CXXALIAS_SYS.
19944
19945 2010-12-19  Bruno Haible  <bruno@clisp.org>
19946
19947         stdbool: Relax test.
19948         * tests/test-stdbool.c (e): Don't require that casts from a variable's
19949         address to 'bool' work in static initializer, for compilers other than
19950         GCC.
19951
19952 2010-12-19  Bruno Haible  <bruno@clisp.org>
19953
19954         ftello: Add missing declaration on OSF/1 5.1.
19955         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
19956         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
19957         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
19958         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
19959         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
19960
19961 2010-12-19  Bruno Haible  <bruno@clisp.org>
19962
19963         fseeko: Add missing declaration on OSF/1 5.1.
19964         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
19965         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
19966         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
19967         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
19968         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
19969
19970 2010-12-19  Bruno Haible  <bruno@clisp.org>
19971
19972         fchdir: Add missing declaration on OSF/1 5.1.
19973         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
19974         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
19975         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
19976         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
19977         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
19978
19979 2010-12-19  Bruno Haible  <bruno@clisp.org>
19980
19981         relocatable-prog-wrapper: Separate from relocatable-prog.
19982         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
19983         uninstall-relocwrapper rule here.
19984         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
19985         Reported by Ian Beckwith <ianb@erislabs.net>.
19986
19987 2010-12-19  Bruno Haible  <bruno@clisp.org>
19988
19989         unistr/u8-mbsnlen: Add missing dependency.
19990         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
19991         Reported by Ian Beckwith <ianb@erislabs.net>.
19992
19993 2010-12-19  Bruno Haible  <bruno@clisp.org>
19994
19995         iconv: Make it possible again to use this module without 'iconv-h'.
19996         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
19997         if it is not defined.
19998         Reported by Ian Beckwith <ianb@erislabs.net>.
19999
20000 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
20001
20002         acl: port to Solaris 8 when copying from tmpfs to ufs
20003         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
20004         error number.  Problem observed on Solaris 8 with latest
20005         coreutils, with "mv A B", where A is on a tmpfs file system and B
20006         is on a ufs file system.  This caused coreutils' mv/part-symlink
20007         test to fail.
20008
20009         tests: set fail=0 at start
20010         * tests/init.sh (setup_): Move fail=0 initialization here ...
20011         (mktempd_): ... from here, so that tests can rely on fail being
20012         set to 0 initially.  This fixes a problem in coreutils; see:
20013         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
20014
20015 2010-12-18  Bruno Haible  <bruno@clisp.org>
20016
20017         memmem-simple: Stylistic changes.
20018         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
20019         Fix preprocessor directive indentation.
20020
20021 2010-12-15  Pádraig Brady <P@draigBrady.com>
20022
20023         memmem, memmem-simple: reorganize and expand empty needle check
20024         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
20025         functional checks to memmem-simple so that one has a fully functional
20026         memmem by using just this module.
20027         Restrict the performance only check to the memmem module.
20028         Also expand the empty needle check to ensure the correct
20029         pointer is returned, not just a non NULL pointer.
20030         * doc/glibc-functions/memmem.texi: Rearrange the portability
20031         documentation to correlate with the rearranged checks.
20032         Clarify exactly how the memmem and memmem-simple modules
20033         relate to each other.
20034
20035 2010-12-15  Pádraig Brady <P@draigBrady.com>
20036             Bruno Haible  <bruno@clisp.org>
20037
20038         Improve cross-compilation guesses for uClibc.
20039         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
20040         that uClibc does not have the glibc bug.
20041         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
20042         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
20043
20044 2010-12-14  Eric Blake  <eblake@redhat.com>
20045
20046         configmake: provide fallbacks for oldest supported autotools
20047         * m4/configmake.m4: New file.
20048         * modules/configmake (Files): Ship it.
20049         (configure.ac): Use it to guarantee fallbacks.
20050
20051 2010-12-13  Pádraig Brady <P@draigBrady.com>
20052
20053         read-file: Improve handling of large files
20054         * lib/read-file.c (fread_file): Minimize realloc()s
20055         for regular files, and better manage sizes around SIZE_MAX.
20056
20057 2010-12-13  Eric Blake  <eblake@redhat.com>
20058
20059         cloexec, fcntl: relax license
20060         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
20061         consent from all contributors.
20062         * modules/fcntl (License): Likewise.
20063
20064 2010-12-10  Bruno Haible  <bruno@clisp.org>
20065
20066         Tests for module 'pipe-posix'.
20067         * modules/pipe-posix-tests: New file.
20068         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
20069
20070 2010-12-10  Bruno Haible  <bruno@clisp.org>
20071
20072         pipe-posix: Make it work in C++ mode.
20073         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
20074         (pipe): Use common idiom, not a macro definition.
20075         * lib/pipe.c: New file.
20076         * m4/pipe.m4: New file.
20077         * modules/pipe-posix (Description): Enhance.
20078         (Files): Add lib/pipe.c, m4/pipe.m4.
20079         (configure.ac): Invoke gl_FUNC_PIPE.
20080         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
20081         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
20082         * tests/test-unistd-c++.cc: Check the signature of pipe.
20083
20084 2010-12-10  Bruno Haible  <bruno@clisp.org>
20085
20086         Rename module 'pipe' to 'spawn-pipe'.
20087         * modules/spawn-pipe: New file, renamed from modules/pipe.
20088         (Files, configure.ac, Makefile.am): Update.
20089         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
20090         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
20091         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
20092         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
20093         "spawn-pipe.h" instead of "pipe.h".
20094         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
20095         to gl_SPAWN_PIPE.
20096         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
20097         (Files, Makefile.am): Update.
20098         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
20099         Update.
20100         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
20101         Include "spawn-pipe.h" instead of "pipe.h".
20102         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
20103         * lib/javacomp.c: Likewise.
20104         * lib/javaversion.c: Likewise.
20105         * lib/pipe-filter-gi.c: Likewise.
20106         * lib/pipe-filter-ii.c: Likewise.
20107         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
20108         * modules/javacomp (Depends-on): Likewise.
20109         * modules/javaversion (Depends-on): Likewise.
20110         * modules/pipe-filter-gi (Depends-on): Likewise.
20111         * modules/pipe-filter-ii (Depends-on): Likewise.
20112         * MODULES.html.sh (Executing programs): Update.
20113         * NEWS: Mention the change.
20114
20115 2010-12-10  Eric Blake  <eblake@redhat.com>
20116
20117         pipe-posix: new module
20118         * modules/pipe-posix: New file.
20119         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
20120         (gl_UNISTD_H): Check for declaration.
20121         * modules/unistd (Makefile.am): Substitute it.
20122         * lib/unistd.in.h (pipe): Provide it for mingw.
20123         * doc/posix-functions/pipe.texi (pipe): Update documentation.
20124         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
20125
20126 2010-12-07  Bruno Haible  <bruno@clisp.org>
20127
20128         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
20129         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
20130         u8_strcmp_gnu.
20131         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
20132
20133 2010-12-06  Bruno Haible  <bruno@clisp.org>
20134
20135         Update internal documentation.
20136         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
20137
20138 2010-12-04  Bruno Haible  <bruno@clisp.org>
20139
20140         Put more information about failed tests into the test return codes.
20141         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
20142         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
20143         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
20144         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
20145         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
20146         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
20147         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
20148         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
20149         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
20150         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
20151         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
20152         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
20153         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
20154         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20155         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
20156         returns a bit mask.
20157         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
20158         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
20159         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
20160         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
20161         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
20162         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
20163         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
20164         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
20165         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20166         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
20167         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
20168         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
20169         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
20170         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
20171         * m4/link.m4 (gl_FUNC_LINK): Likewise.
20172         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
20173         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
20174         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
20175         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20176         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
20177         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
20178         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
20179         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
20180         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
20181         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20182         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
20183         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
20184         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
20185         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
20186         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
20187         gl_PRINTF_PRECISION): Likewise.
20188         * m4/regex.m4 (gl_REGEX): Likewise.
20189         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
20190         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
20191         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
20192         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20193         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
20194         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20195         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
20196         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
20197         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
20198         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
20199         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
20200         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
20201         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
20202         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
20203         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
20204         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
20205         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
20206         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
20207         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
20208         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
20209         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
20210         enumerated value.
20211         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
20212
20213 2010-12-04  Bruno Haible  <bruno@clisp.org>
20214
20215         Update for Solaris 11 2010-11.
20216         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
20217         Express, released in November 2010.
20218
20219 2010-12-04  Bruno Haible  <bruno@clisp.org>
20220
20221         nproc: Relax license.
20222         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
20223         and Paul Eggert.
20224         Requested by Ludovic Courtès <ludo@gnu.org>.
20225
20226 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
20227
20228         utimecmp: fine-grained src to nearby coarse-grained dest
20229
20230         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
20231         and the source is on a file system with higher-resolution time
20232         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
20233         not work, and the time stamps are close together, the algorithm to
20234         determine the exact resolution from the read-back mtime was buggy:
20235         it had a "!=" where it should have had an "==".  This bug has been
20236         in the code ever since it was introduced to gnulib.
20237         Problem reported by Dan Jacobson in
20238         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
20239
20240 2010-11-30  Bruno Haible  <bruno@clisp.org>
20241
20242         strerror_r-posix: Fix autoconf test.
20243         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
20244
20245 2010-11-28  Bruno Haible  <bruno@clisp.org>
20246             Paul Eggert  <eggert@cs.ucla.edu>
20247
20248         Tests for module 'getdomainname'.
20249         * modules/getdomainname-tests: New file.
20250         * tests/test-getdomainname.c: New file, based on
20251         tests/test-gethostname.c.
20252
20253 2010-11-28  Bruno Haible  <bruno@clisp.org>
20254             Paul Eggert  <eggert@cs.ucla.edu>
20255
20256         getdomainname: Use the system function when possible.
20257         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
20258         (getdomainname): Replace if needed. Provide the declaration if it is
20259         missing. Don't use _GL_CXXALIAS_SYS_CAST.
20260         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
20261         (getdomainname): When the system has getdomainname, call the system
20262         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
20263         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
20264         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
20265         found in libnsl. Look for the declaration also in <netdb.h>. Replace
20266         the function if its second argument is of type 'int' or if it is found
20267         in libnsl.
20268         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
20269         <sys/systeminfo.h> and sysinfo().
20270         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
20271         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20272         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
20273         HAVE_GETDOMAINNAME.
20274         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
20275         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
20276         * doc/glibc-functions/getdomainname.texi: Document the problems with
20277         the getdomainname declaration.
20278
20279 2010-11-28  Bruno Haible  <bruno@clisp.org>
20280
20281         sys_socket: Ensure ss_family field on AIX.
20282         * lib/sys_socket.in.h (ss_family): New macro definition.
20283         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
20284         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
20285         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
20286         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
20287         * modules/sys_socket (Makefile.am): Substitute
20288         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
20289         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
20290
20291 2010-11-27  Bruno Haible  <bruno@clisp.org>
20292
20293         readline: Improve configure output.
20294         * m4/readline.m4 (gl_FUNC_READLINE): Make the
20295         "checking for readline..." result understandable.
20296
20297 2010-11-27  Bruno Haible  <bruno@clisp.org>
20298
20299         *printf-posix: Detect a bug on Solaris 10/x86.
20300         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
20301         for floating-point output.
20302         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
20303         directive.
20304         * tests/test-snprintf-posix.h (test_function): Likewise.
20305         * tests/test-sprintf-posix.h (test_function): Likewise.
20306         * tests/test-vasprintf-posix.c (test_function): Likewise.
20307         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
20308         * doc/posix-functions/printf.texi: Likewise.
20309         * doc/posix-functions/snprintf.texi: Likewise.
20310         * doc/posix-functions/sprintf.texi: Likewise.
20311         * doc/posix-functions/vfprintf.texi: Likewise.
20312         * doc/posix-functions/vprintf.texi: Likewise.
20313         * doc/posix-functions/vsnprintf.texi: Likewise.
20314         * doc/posix-functions/vsprintf.texi: Likewise.
20315         * doc/glibc-functions/obstack_printf.texi: Likewise.
20316         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
20317
20318 2010-11-27  Bruno Haible  <bruno@clisp.org>
20319
20320         Fix link error when module libunistring-optional is in use.
20321         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
20322         * modules/striconveha-tests (Makefile.am): Likewise.
20323
20324 2010-11-27  Bruno Haible  <bruno@clisp.org>
20325
20326         regex: Mention link dependencies.
20327         * modules/regex (Link): New section.
20328         * modules/rpmatch (Link): Likewise.
20329         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
20330
20331 2010-11-27  Bruno Haible  <bruno@clisp.org>
20332
20333         ftoastr: Fix compilation error on Solaris.
20334         * lib/ftoastr.c: Include <config.h>.
20335
20336 2010-11-27  Bruno Haible  <bruno@clisp.org>
20337
20338         getloadavg: Update documentation.
20339         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
20340
20341 2010-11-27  Bruno Haible  <bruno@clisp.org>
20342
20343         sys_socket: Fix test whether the functions are declared.
20344         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
20345         not <sys/select.h>.
20346
20347 2010-11-27  Bruno Haible  <bruno@clisp.org>
20348
20349         getpass: Make sure to get system declaration on some platforms.
20350         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
20351         gl_USE_SYSTEM_EXTENSIONS.
20352         * modules/getpass (Depends-on): Add extensions.
20353
20354 2010-11-26  Bruno Haible  <bruno@clisp.org>
20355
20356         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
20357         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
20358         'iconv' module is present.
20359         (ICONV_CONST): New macro.
20360         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
20361         ICONV_CONST.
20362         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
20363         set ICONV_CONST.
20364         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
20365         here.
20366         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
20367         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
20368         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
20369         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
20370         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
20371         present.
20372
20373 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
20374
20375         ftoastr: comment fix
20376         * lib/ftoastr.c: "little" -> "little or no" in comment
20377
20378 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
20379
20380         stdint: port to GCC 4.3 + OSX + Octave
20381         On this platform, stdint.h is buggy and defines int64_t to long
20382         long int.  The replacement defined it to long int, causing
20383         problems with C++ style name mangling.  Instead, trust the system
20384         definition if INT64_MAX is defined, and likewise for the unsigned
20385         variant.   Problem reported by Jarno Rajahalme in
20386         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
20387         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
20388         and don't mess with int64_t and INT64_MAX in this case.
20389         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
20390
20391 2010-11-24  Bruno Haible  <bruno@clisp.org>
20392
20393         doc: Corrections regarding MacOS X 10.4 and 10.5.
20394         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
20395         MacOS X.
20396         Reported by Simon Josefsson.
20397
20398 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
20399
20400         Uninstall ".bin" files installed by relocwrapper.
20401         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
20402         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
20403         unless it is already there.
20404
20405 2010-11-21  Bruno Haible  <bruno@clisp.org>
20406
20407         Update for NetBSD 5.0.
20408         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
20409         NetBSD; the test fails on NetBSD 5.0.
20410         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
20411         about NetBSD.
20412
20413 2010-11-21  Bruno Haible  <bruno@clisp.org>
20414
20415         Update for HP-UX 11.23 and HP-UX 11.31.
20416         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
20417         HP-UX.
20418
20419 2010-11-21  Bruno Haible  <bruno@clisp.org>
20420
20421         Update for MacOS X 10.5.
20422         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
20423         MacOS X; the test fails on MacOS X 10.5.8.
20424         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
20425         about MacOS X.
20426
20427 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
20428
20429         bootstrap: add bootstrap_sync option.
20430         See discussion at
20431         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
20432         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
20433         * build-aux/bootstrap: Accept --bootstrap-sync to update
20434         bootstrap if it is not identical to the local gnulib's
20435         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
20436         enable this by default.  Accept --no-bootstrap-sync to disable
20437         it.
20438
20439 2010-11-20  Bruno Haible  <bruno@clisp.org>
20440
20441         Ensure that <features.h> is included before __GLIBC__ is tested.
20442         * lib/printf-parse.h: Include <features.h>.
20443         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
20444         Reported by Mike Frysinger <vapier@gentoo.org>.
20445
20446         Ensure that <features.h> is included before __GLIBC__ is tested.
20447         * lib/wchar.in.h: Include <features.h>.
20448         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
20449         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
20450         Reported by Mike Frysinger <vapier@gentoo.org>.
20451
20452         Ensure that <features.h> is included before __GLIBC__ is tested.
20453         * lib/arpa_inet.in.h: Include <features.h>.
20454         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
20455         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
20456         Reported by Mike Frysinger <vapier@gentoo.org>.
20457
20458         Ensure that <features.h> is included before __GLIBC__ is tested.
20459         * build-aux/link-warning.h: Include <features.h>.
20460         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
20461         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
20462         Reported by Mike Frysinger <vapier@gentoo.org>.
20463
20464         Ensure that <features.h> is included before __GLIBC__ is tested.
20465         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
20466         Reported by Mike Frysinger <vapier@gentoo.org>.
20467
20468 2010-11-20  Bruno Haible  <bruno@clisp.org>
20469
20470         memmem: Fix autoconf test.
20471         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
20472
20473 2010-11-20  Bruno Haible  <bruno@clisp.org>
20474
20475         Port to uClibc.
20476         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
20477         * lib/fcntl.in.h: Likewise.
20478         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
20479         * lib/mbrtowc.c (mbrtowc): Likewise.
20480         * lib/relocatable.c (find_shared_library_fullname): Likewise.
20481         * lib/strerror_r.c: Likewise.
20482         * lib/unistr/u8-strnlen.c: Likewise.
20483         * lib/vasnprintf.c (decimal_point_char): Likewise.
20484         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
20485         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
20486         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
20487         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
20488         * tests/test-sigaction.c (handler, main): Likewise.
20489         * lib/freading.h: Treat uClibc like a non-glibc platform.
20490         * lib/freading.c: Likewise.
20491         * lib/gettext.h: Likewise.
20492         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
20493         Likewise.
20494         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
20495         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
20496         * lib/propername.c (proper_name_utf8): Likewise.
20497         * lib/spawn.in.h: Likewise.
20498         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
20499         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
20500         mem_cd_iconveh_internal): Likewise.
20501         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
20502         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
20503         strstr, strcasestr): Likewise.
20504         * lib/unicodeio.c (unicode_to_mb): Likewise.
20505         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
20506         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
20507         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
20508         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
20509         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
20510         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
20511         * lib/unistr/u8-stpncpy.c: Likewise.
20512         * lib/vasnprintf.c (VASNPRINTF): Likewise.
20513         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
20514         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
20515         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
20516         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
20517         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
20518         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
20519         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
20520         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
20521         Likewise.
20522         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
20523         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
20524         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
20525         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20526         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
20527         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
20528         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
20529         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
20530         * tests/test-getopt.h (OPTIND_MIN): Likewise.
20531         * tests/test-striconveha.c (main): Likewise.
20532         * tests/test-vasnprintf-posix.c (test_function): Likewise.
20533         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
20534         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
20535         * doc/posix-functions/getline.texi: Likewise.
20536         Reported by Mike Frysinger <vapier@gentoo.org>.
20537
20538 2010-11-20  Bruno Haible  <bruno@clisp.org>
20539
20540         nproc: Fix condition.
20541         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
20542         HAVE_PTHREAD_AFFINITY_NP.
20543
20544 2010-11-20  Bruno Haible  <bruno@clisp.org>
20545
20546         Fix a comment.
20547         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
20548
20549 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
20550
20551         ftoastr: don't assume snprintf
20552         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
20553         Implement a subset of snprintf here, by using sprintf safely.
20554         * modules/ftoastr (Depends-on): Remove snprintf.
20555
20556 2010-11-19  Jim Meyering  <meyering@redhat.com>
20557
20558         test-rename.h: fix compilation failure
20559         * tests/test-rename.h (test_rename): Add omitted "}".
20560
20561 2010-11-17  Jim Meyering  <meyering@redhat.com>
20562
20563         maint.mk: add a URL discussing the no-@acronym policy
20564         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
20565
20566 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
20567
20568         ftoastr: depend on snprintf, improve comments
20569         * lib/ftoastr.c: Also mention Loitsch's draft.
20570         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
20571         needed in the current implementation, but it might simplify
20572         speeding up the code later.
20573         * modules/ftoastr: Depend on snprintf; this improves portability.
20574         Suggested by Bruno Haible in the same email.
20575
20576         ftoastr: port to hosts lacking strtof and strtold
20577         Problem reported by Bruno Haible in
20578         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
20579         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
20580         environment and strtold (and presumably strtof) are not available.
20581         * modules/ftoastr (Files): Add m4/c-strtod.m4.
20582         (configure.ac): Require gl_C99_STRTOLD.
20583
20584 2010-11-18  Bruno Haible  <bruno@clisp.org>
20585
20586         c-strtold: Avoid link error on AIX 7.
20587         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
20588         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
20589         (gl_C_STRTOLD): Test whether strtold_l exists.
20590         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20591
20592 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
20593
20594         intprops: new macro INT_BITS_STRLEN_BOUND
20595         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
20596         ftoastr.h.  This exposes an internal of intprops.h that was formerly
20597         not exposed.  Also, it uses a slightly tighter bound than before;
20598         though this makes no practical difference, we might as well be as
20599         tight as we easily can.
20600
20601         ftoastr: new module, for lossless conversion of floats to short strings
20602         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
20603         * modules/ftoastr: New files.
20604
20605 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
20606
20607         bootstrap: port to Solaris sed
20608         * build-aux/bootstrap (get_version): Port to Solaris sed.
20609         See Ralf Wildenhues's note in
20610         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
20611
20612 2010-11-14  Jim Meyering  <meyering@redhat.com>
20613
20614         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
20615         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
20616         and move definition closer to sole use.
20617
20618 2010-11-13  Jim Meyering  <meyering@redhat.com>
20619
20620         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
20621         Now we require at least autoconf-2.59, which means the work-around
20622         is no longer needed.
20623         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
20624         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
20625         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
20626         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
20627         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
20628
20629 2010-11-13  Bruno Haible  <bruno@clisp.org>
20630
20631         rename, renameat: Avoid test failures at NFS mounted locations.
20632         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
20633         functions.
20634         (test_rename): Use assert_nonexistent.
20635         * tests/test-rename.c: Include <dirent.h>.
20636         * tests/test-renameat.c: Likewise.
20637         Reported by Gary V. Vaughan <gary@gnu.org>.
20638
20639         rename, renameat: Document Linux bug with NFS
20640         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
20641         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
20642         * doc/posix-functions/renameat.texi: Likewise.
20643         Suggested by Eric Blake.
20644
20645 2010-11-13  Bruno Haible  <bruno@clisp.org>
20646
20647         rename test: Add comments.
20648         * tests/test-rename.h (test_rename): Add structure and comments.
20649
20650 2010-11-13  Eric Blake  <eblake@redhat.com>
20651
20652         maintainer-makefile: cover a few more files
20653         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
20654         scripts generated within C files, for libvirt.
20655
20656 2010-11-13  Bruno Haible  <bruno@clisp.org>
20657
20658         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
20659         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
20660         character, return the number of bytes that belong together, not always
20661         1.
20662         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
20663         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
20664         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
20665         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
20666         number of bytes of an invalid character.
20667         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
20668         (main): Invoke it.
20669         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
20670         results.
20671         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
20672         malformed byte sequences.
20673         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
20674         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
20675         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
20676         Reported by Ben Pfaff and Paolo Bonzini.
20677
20678 2010-11-13  Bruno Haible  <bruno@clisp.org>
20679
20680         openat: Work around glibc bug with fchownat() and empty file names.
20681         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
20682         (gl_FUNC_FCHOWNAT): Invoke it.
20683         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
20684         * doc/posix-functions/fchownat.texi: Document the glibc bug.
20685         Reported by Gary V. Vaughan <gary@gnu.org>.
20686
20687 2010-11-13  Bruno Haible  <bruno@clisp.org>
20688
20689         openat: Ensure autoconf macro ordering.
20690         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
20691         gl_USE_SYSTEM_EXTENSIONS.
20692         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
20693
20694 2010-11-13  Bruno Haible  <bruno@clisp.org>
20695
20696         Update comments.
20697         * lib/unistr/u8-check.c: Update file name in comments.
20698         * lib/unistr/u8-mblen.c: Likewise.
20699         * lib/unistr/u8-prev.c: Likewise.
20700         * lib/unistr/u8-strmblen.c: Likewise.
20701         * lib/unistr/u8-strmbtouc.c: Likewise.
20702
20703 2010-11-13  Jim Meyering  <meyering@redhat.com>
20704
20705         tests: avoid test failure on Solaris 10 due to lack of PATH export
20706         * tests/test-update-copyright.sh: Don't forget to export PATH.
20707
20708         init.sh: ensure that IFS is defined, just in case...
20709         * tests/init.sh (setup_): Ensure that IFS is defined,
20710         so that saving and restoring it works as expected.  This
20711         appears to be useful at least for an old version of dash
20712         from a long time ago (RH 6).  See here for details:
20713         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
20714
20715         maint.mk: tighten "test a == b" check
20716         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
20717         test to files that contain something like #!/bin/sh.
20718         Without this, coreutils would get two false positives in
20719         the comments of C source files.
20720
20721 2010-11-12  Eric Blake  <eblake@redhat.com>
20722
20723         bootstrap: fix typo in previous attempt
20724         * build-aux/bootstrap (buildreq): Correct the grouping.
20725         Reported by Paul Eggert.
20726
20727         maintainer-makefile: prohibit test x == x
20728         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
20729         Based on a report by Matthias Bolte.
20730
20731         bootstrap: allow FreeBSD gzip
20732         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
20733         which has no '.' and goes to stderr.
20734         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
20735         Reported by Matthias Bolte.
20736
20737         maintainer-makefile: check for i18n setup
20738         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
20739         will likely work.
20740
20741 2010-11-12  Bruno Haible  <bruno@clisp.org>
20742
20743         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
20744         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
20745         * lib/nanosleep.c (nanosleep): Likewise.
20746
20747 2010-11-11  Bruno Haible  <bruno@clisp.org>
20748
20749         fcntl-h: Fix for use of C++ on glibc systems.
20750         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
20751         also on glibc systems in C++ mode.
20752         Reported by Gary V. Vaughan <gary@gnu.org>.
20753
20754 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
20755
20756         mknod: avoid false failure with dash
20757         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
20758
20759 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
20760
20761         unlink: Fix "is it should" typo in diagnostic.
20762         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
20763         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
20764
20765 2010-11-11  Bruno Haible  <bruno@clisp.org>
20766
20767         Tests for module 'strerror_r-posix'.
20768         * modules/strerror_r-posix-tests: New file.
20769         * tests/test-strerror_r.c: New file.
20770         * tests/test-string-c++.cc: Check the signature of strerror_r.
20771
20772         New module 'strerror_r-posix'.
20773         * lib/string.in.h (strerror_r): New declaration.
20774         * lib/strerror_r.c: New file.
20775         * m4/strerror_r.m4: New file.
20776         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
20777         of strerror_r.
20778         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
20779         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
20780         * modules/strerror_r-posix: New file.
20781         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
20782         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
20783         * doc/posix-functions/strerror_r.texi: Mention the new module and the
20784         portability problems.
20785
20786 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
20787
20788         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
20789         line is also considered for output. Quoted function name in shell
20790         command, so temporary files for functions like MyClass::operator()
20791         are removed correctly without errors.
20792
20793 2010-11-09  Bruno Haible  <bruno@clisp.org>
20794
20795         * doc/posix-functions/strerror.texi: List more failing platforms.
20796
20797         * doc/posix-functions/strerror.texi: Add a comment.
20798
20799 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
20800
20801         fdopendir: fix bug on MacOS X when low on file descriptors
20802
20803         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
20804         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
20805         All callers changed.
20806         (fdopendir): Invoke save_cwd at the top level, not after using
20807         multiple dup() calls to use up file descriptors.  Then retry
20808         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
20809         less than the maximum number of open file descriptors, because
20810         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
20811         on Mac OS X 10.6.4 for tar 1.24
20812         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
20813         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
20814         and for tar 1.25
20815         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
20816
20817 2010-11-07  Bruno Haible  <bruno@clisp.org>
20818
20819         vasnprintf: Support I flag on glibc systems.
20820         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
20821         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
20822         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
20823         snprintf function.
20824         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
20825         glibc systems.
20826         * tests/test-vasnprintf-posix3.c: New file.
20827         * modules/vasnprintf-posix-tests (Files): Add it.
20828         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
20829
20830 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
20831
20832         [html] Fix copy/paste bug: Use unique name for compiler warnings.
20833         * MODULES.html.sh: For compiler warnings, use name
20834         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
20835
20836 2010-11-05  Eric Blake  <eblake@redhat.com>
20837
20838         ceil, floor: avoid spurious failure with icc
20839         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
20840         [denormals-as-zero] when optimizing without -mieee-fp option.
20841         * tests/test-floorf2.c (floorf_reference): Likewise.
20842         * tests/test-ceilf1.c (dummy): New function.
20843         (main): Use it to outsmart icc's optimization.
20844         * tests/test-floorf1.c (dummy, main): Likewise.
20845
20846         tests: require working signbit
20847         * modules/ceilf-tests (Depends-on): Add signbit.
20848         * modules/ceill-tests (Depends-on): Likewise.
20849         * modules/floorf-tests (Depends-on): Likewise.
20850         * modules/floorl-tests (Depends-on): Likewise.
20851         * modules/round-tests (Depends-on): Likewise.
20852         * modules/roundf-tests (Depends-on): Likewise.
20853         * modules/roundl-tests (Depends-on): Likewise.
20854         * modules/trunc-tests (Depends-on): Likewise.
20855         * modules/truncf-tests (Depends-on): Likewise.
20856         * modules/truncl-tests (Depends-on): Likewise.
20857
20858         strtod: work around icc bug
20859         * lib/strtod.c (minus_zero): Define to working value.
20860         (strtod): Use it to avoid icc bug.
20861
20862         copysign: enhance tests
20863         * modules/copysign-tests (Files): Add minus-zero.h.
20864         * tests/test-copysign.c (main): Also test zeros.
20865
20866 2010-11-04  Eric Blake  <eblake@redhat.com>
20867
20868         ceil, floor, round, trunc: enhance tests of -0
20869         * tests/test-ceilf1.c (main): Ensure correct sign of result.
20870         * tests/test-ceill.c (main): Likewise.
20871         * tests/test-floorf1.c (main): Likewise.
20872         * tests/test-floorl.c (main): Likewise.
20873         * tests/test-round1.c (main): Likewise.
20874         * tests/test-roundf1.c (main): Likewise.
20875         * tests/test-roundl.c (main): Likewise.
20876         * tests/test-trunc1.c (main): Likewise.
20877         * tests/test-truncf1.c (main): Likewise.
20878         * tests/test-truncl.c (main): Likewise.
20879
20880 2010-11-04  Eric Blake  <eblake@redhat.com>
20881
20882         frexp, tests: work around ICC bug with -zero
20883         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
20884         works with more compilers.
20885         * tests/minus-zero.h: New file.
20886         * modules/ceilf-tests (Files): Include it.
20887         * modules/ceill-tests (Files): Likewise.
20888         * modules/floorf-tests (Files): Likewise.
20889         * modules/floorl-tests (Files): Likewise.
20890         * modules/frexp-nolibm-tests (Files): Likewise.
20891         * modules/frexp-tests (Files): Likewise.
20892         * modules/frexpl-nolibm-tests (Files): Likewise.
20893         * modules/frexpl-tests (Files): Likewise.
20894         * modules/isnan-tests (Files): Likewise.
20895         * modules/isnand-nolibm-tests (Files): Likewise.
20896         * modules/isnand-tests (Files): Likewise.
20897         * modules/isnanf-nolibm-tests (Files): Likewise.
20898         * modules/isnanf-tests (Files): Likewise.
20899         * modules/isnanl-nolibm-tests (Files): Likewise.
20900         * modules/isnanl-tests (Files): Likewise.
20901         * modules/round-tests (Files): Likewise.
20902         * modules/roundf-tests (Files): Likewise.
20903         * modules/roundl-tests (Files): Likewise.
20904         * modules/ldexpl-tests (Files): Likewise.
20905         * modules/signbit-tests (Files): Likewise.
20906         * modules/snprintf-posix-tests (Files): Likewise.
20907         * modules/sprintf-posix-tests (Files): Likewise.
20908         * modules/strtod-tests (Files): Likewise.
20909         * modules/trunc-tests (Files): Likewise.
20910         * modules/truncf-tests (Files): Likewise.
20911         * modules/truncl-tests (Files): Likewise.
20912         * modules/vsnprintf-posix-tests (Files): Likewise.
20913         * modules/vsprintf-posix-tests (Files): Likewise.
20914         * modules/vasnprintf-posix-tests (Files): Likewise.
20915         * modules/vasprintf-posix-tests (Files): Likewise.
20916         * tests/test-ceilf1.c (main): Use it.
20917         * tests/test-ceill.c (main): Likewise.
20918         * tests/test-floorf1.c (main): Likewise.
20919         * tests/test-floorl.c (main): Likewise.
20920         * tests/test-frexp.c (main): Likewise.
20921         * tests/test-frexpl.c (main): Likewise.
20922         * tests/test-isnan.c (main): Likewise.
20923         * tests/test-isnand.h (main): Likewise.
20924         * tests/test-isnanf.h (main): Likewise.
20925         * tests/test-isnanl.h (main): Likewise.
20926         * tests/test-ldexpl.c (main): Likewise.
20927         * tests/test-round.c (main): Likewise.
20928         * tests/test-roundf.c (main): Likewise.
20929         * tests/test-roundl.c (main): Likewise.
20930         * tests/test-signbit.c (test_signbitf, test_signbitd)
20931         (test_signbitl): Likewise.
20932         * tests/test-snprintf-posix.h (test_function): Likewise.
20933         * tests/test-sprintf-posix.h (test_function): Likewise.
20934         * tests/test-strtod.c (main): Likewise.
20935         * tests/test-trunc1.c (main): Likewise.
20936         * tests/test-truncf1.c (main): Likewise.
20937         * tests/test-truncl.c (main): Likewise.
20938
20939         isnanl: work around icc bug
20940         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
20941
20942 2010-11-03  Eric Blake  <eblake@redhat.com>
20943
20944         tests: fix compiler warnings
20945         * tests/test-getopt.h (test_getopt): Fix condition.
20946         * tests/test-getopt_long.h (test_getopt_long): Likewise.
20947         * tests/test-pipe2.c (main): Likewise.
20948         * tests/test-quotearg-simple.c (main): Avoid icc warning.
20949
20950         utimens: fix broken m4 test
20951         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
20952
20953 2010-10-28  Bruno Haible  <bruno@clisp.org>
20954
20955         posix_spawn*, getdtablesize: Relax license.
20956         * modules/posix_spawn (License): Change to LGPLv2+.
20957         * modules/posix_spawnp (License): Likewise.
20958         * modules/posix_spawn-internal (License): Likewise.
20959         * modules/posix_spawnattr_init (License): Likewise.
20960         * modules/posix_spawnattr_getflags (License): Likewise.
20961         * modules/posix_spawnattr_setflags (License): Likewise.
20962         * modules/posix_spawnattr_getpgroup (License): Likewise.
20963         * modules/posix_spawnattr_setpgroup (License): Likewise.
20964         * modules/posix_spawnattr_getschedparam (License): Likewise.
20965         * modules/posix_spawnattr_setschedparam (License): Likewise.
20966         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
20967         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
20968         * modules/posix_spawnattr_getsigdefault (License): Likewise.
20969         * modules/posix_spawnattr_setsigdefault (License): Likewise.
20970         * modules/posix_spawnattr_getsigmask (License): Likewise.
20971         * modules/posix_spawnattr_setsigmask (License): Likewise.
20972         * modules/posix_spawnattr_destroy (License): Likewise.
20973         * modules/posix_spawn_file_actions_init (License): Likewise.
20974         * modules/posix_spawn_file_actions_addclose (License): Likewise.
20975         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
20976         * modules/posix_spawn_file_actions_addopen (License): Likewise.
20977         * modules/posix_spawn_file_actions_destroy (License): Likewise.
20978         * modules/getdtablesize (License): Likewise.
20979         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
20980
20981 2010-10-26  Bruno Haible  <bruno@clisp.org>
20982
20983         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
20984         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
20985         Cygwin and mingw.
20986         Suggested by Eric Blake.
20987
20988 2010-10-26  Bruno Haible  <bruno@clisp.org>
20989
20990         stdio: Work around compilation error due to renameat() on Solaris 10.
20991         * lib/stdio.in.h: Include <unistd.h> on Solaris.
20992         * lib/renameat.c: Don't include <unistd.h> here.
20993         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
20994         Reported by Paul Eggert and Eric Blake.
20995
20996 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
20997
20998         renameat: port to Solaris 10, which declares renameat in unistd.h
20999
21000         * lib/renameat.c: Include unistd.h before stdio.h, because
21001         Solaris 10 declares renameat in unistd.h.  Problem encountered
21002         when building GNU tar 1.24 on Solaris 10.
21003
21004 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21005
21006         fdopendir: fix C89 compilation
21007         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
21008         compilers.
21009
21010 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
21011
21012         inttostr: simplify by removing unnecessary redundancy
21013         * lib/anytostr.c: Don't include verify.h.
21014         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
21015         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
21016         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
21017         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
21018         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
21019         Likewise.
21020         * modules/inttostr (Depends-on): Remove 'verify'.
21021
21022 2010-10-23  Bruno Haible  <bruno@clisp.org>
21023
21024         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
21025         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
21026         Reported by Eric Blake.
21027
21028 2010-10-23  Bruno Haible  <bruno@clisp.org>
21029
21030         Tests: Fix LOCALE_JA on MirBSD 10.
21031         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
21032         to an UTF-8 locale.
21033         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
21034         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
21035         Reported by Eric Blake.
21036
21037 2010-10-21  Bruno Haible  <bruno@clisp.org>
21038
21039         nl_langinfo test: Avoid test failure on NetBSD 5.
21040         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
21041         Reported by Eric Blake.
21042
21043 2010-10-21  Eric Blake  <eblake@redhat.com>
21044
21045         c-stack: work around libsigsegv 2.8 bug
21046         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
21047         overflow on at least PowerPC64.
21048
21049 2010-10-17  Bruno Haible  <bruno@clisp.org>
21050
21051         userspec: Drop redundant file.
21052         * modules/userspec (Files): Remove lib/inttostr.h.
21053
21054 2010-10-17  Bruno Haible  <bruno@clisp.org>
21055
21056         nl_langinfo tests: Silence some warnings.
21057         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
21058         Reported by Jim Meyering.
21059
21060 2010-10-17  Bruno Haible  <bruno@clisp.org>
21061
21062         Make use of GCC's attribute __alloc_size__.
21063         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
21064         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
21065         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
21066         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
21067         __alloc_size__.
21068         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
21069         Suggested by Jim Meyering.
21070
21071 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
21072
21073         bootstrap: anchor .gitignore entries.
21074         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
21075         with...
21076         (insert_vc_ignore): ... this new function, which prepends `/' to
21077         all .gitignore entries before passing them to
21078         insert_sorted_if_absent.
21079
21080 2010-10-16  Bruno Haible  <bruno@clisp.org>
21081
21082         nextafter: Fix configure check.
21083         * modules/nextafter (configure.ac): Correct expected prototype.
21084
21085 2010-10-16  Bruno Haible  <bruno@clisp.org>
21086
21087         termios: Update documentation.
21088         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
21089
21090 2010-10-16  Bruno Haible  <bruno@clisp.org>
21091
21092         tests: Make them compile with TinyCC.
21093         * tests/test-strstr.c (main): Remove parentheses around array
21094         initializer.
21095
21096 2010-10-15  Eric Blake  <eblake@redhat.com>
21097
21098         ignore-value: make header idempotent
21099         * lib/ignore-value.h: Add double-inclusion guards.
21100         Reported by Stefan Berger.
21101
21102 2010-10-15  Jim Meyering  <meyering@redhat.com>
21103
21104         GNUmakefile: handle "stable" target, not "major"
21105         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
21106         lists in maint.mk and announce-gen.  Without this, "make stable"
21107         would fail to ensure that $(VERSION) is up to date.
21108
21109 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
21110
21111         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
21112         & co.
21113
21114 2010-10-14  Bruno Haible  <bruno@clisp.org>
21115
21116         vasnprintf: Don't set errno to 0.
21117         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
21118         block that sets it to 0.
21119         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
21120
21121 2010-10-14  Bruno Haible  <bruno@clisp.org>
21122
21123         socketlib: Fix.
21124         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
21125         gl_PREREQ_SYS_H_WINSOCK2.
21126         Reported by Ian Beckwith <ianb@erislabs.net>.
21127
21128 2010-10-13  Jim Meyering  <meyering@redhat.com>
21129
21130         test-select-stdin.c: avoid warn_unused_result warnings
21131         * tests/test-select-stdin.c: Include "macros.h".
21132         ASSERT that read and fflush succeed.
21133
21134 2010-10-13  Jim Meyering  <meyering@redhat.com>
21135
21136         git-version-gen: do require git-VC'd files in cwd
21137         * build-aux/git-version-gen: Reject a git version string
21138         if there are no commits associated with the current directory.
21139         This avoids an unlikely false-positive (unrelated dir whose parent
21140         repository also contains a tag matching v*), as pointed out
21141         by Giuseppe Scrivano in
21142         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
21143
21144 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
21145
21146         argv-iter: omit nonconforming declaration
21147         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
21148         enum arg_iter_err declaration, which doesn't conform to C99.
21149         Solaris 10 cc warns about this.
21150
21151 2010-10-13  Eric Blake  <eblake@redhat.com>
21152
21153         termios: fix compilation on mingw
21154         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
21155         (gl_TERMIOS_H): Adjust it on mingw.
21156         * modules/termios (Makefile.am): Substitute new key.
21157         * lib/termios.in.h (includes): Make include_next conditional.
21158         * doc/posix-headers/termios.texi (termios.h): Update
21159         documentation.
21160         Reported by Daniel P. Berrange.
21161
21162 2010-10-13  Jim Meyering  <meyering@redhat.com>
21163
21164         git-version-gen: don't require that .git/ be in the current dir
21165         * build-aux/git-version-gen: Adjust this script so that it works
21166         when run from any working directory beneath the top-level .git/-
21167         containing directory.  Inspired by a patch from Giuseppe Scrivano,
21168         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
21169
21170         test-select: avoid warn_unused_result warnings
21171         * tests/test-select.c: Include "macros.h".
21172         ASSERT that each call to read, write, and pipe succeeds.
21173         While not technically required, also check each "close".
21174         * modules/select-tests (Files): Add tests/macros.h.
21175
21176         test-symlinkat: remove declaration of unused local
21177         * tests/test-symlinkat.c (main): Remove unused local, "buf".
21178
21179         test-inttostr: avoid shadowing warnings
21180         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
21181         and use malloc rather than the stack for the same reason as
21182         mentioned in the comment justifying the other allocation.
21183
21184 2010-10-11  Bruno Haible  <bruno@clisp.org>
21185
21186         stdlib: Allow multiple gnulib generated replacements to coexist.
21187         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
21188         Reported by Sam Steingold <sds@gnu.org>.
21189
21190 2010-10-11  Jim Meyering  <meyering@redhat.com>
21191
21192         fix a documentation typo
21193         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
21194
21195 2010-10-11  Eric Blake  <eblake@redhat.com>
21196
21197         futimens: work around Solaris 11 bug
21198         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
21199         * tests/test-futimens.h (test_futimens): Enhance, rather than
21200         weaken test.
21201         * doc/posix-functions/futimens.texi (futimens): Document the bug.
21202
21203 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
21204
21205         Indentation.
21206         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
21207         higher-level operators more to the left.
21208
21209 2010-10-11  Jim Meyering  <meyering@redhat.com>
21210
21211         test-futimens: avoid unwarranted test failure on Solaris 5.11
21212         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
21213         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
21214         because it tries to dereference the NULL name argument.
21215
21216 2010-10-11  Bruno Haible  <bruno@clisp.org>
21217
21218         Indentation.
21219         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
21220         indentation.
21221
21222 2010-10-11  Jim Meyering  <meyering@redhat.com>
21223
21224         spawn.in.h: make indentation consistent with parentheses
21225         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
21226         Make indentation consistent with parentheses.
21227
21228 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
21229
21230         Fix mismatched parens in previous commit
21231         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
21232         parens.
21233
21234 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
21235
21236         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
21237
21238         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
21239         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
21240         * lib/malloca.c: Include "verify.h".
21241         (verify1): Remove, replacing with a verify call.
21242         * lib/relocwrapper.c (verify1): Likewise.
21243         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
21244         Likewise.
21245         * modules/malloca (Depends-on): Add 'verify'.
21246         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
21247         * modules/vasnprintf (Depends-on): Add 'verify'.
21248         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
21249         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
21250         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
21251         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
21252         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
21253         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
21254         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
21255
21256         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
21257
21258         Formerly the style was sometimes 2*X - 1, because the C standard
21259         was wrongly thought to disallow ?: in integral constant expressions.
21260         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
21261         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
21262         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
21263         * lib/stdint.in.h (_verify_intmax_size): Likewise.
21264         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
21265         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
21266         verify that time_t cannot be floating.
21267
21268 2010-10-08  Eric Blake  <eblake@redhat.com>
21269
21270         time: enforce recent POSIX ruling that time_t is integral
21271         * lib/time.in.h (__time_t_must_be_integral): Detect any
21272         problematic systems, allowing the rest of gnulib to assume POSIX.
21273
21274 2010-10-08  Jim Meyering  <meyering@redhat.com>
21275
21276         fdopendir: fix a bug on systems lacking openat and /proc support
21277         OpenBSD 4.7 is one such system.  The most noticeable effect was
21278         failure of any application making nontrivial use of fts: rm, du,
21279         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
21280           ./rm: traversal failed: `a': Bad file descriptor
21281         Debugging that, you see that even though FD 6 was closed just
21282         prior to the opendir call in fd_clone_opendir, its resulting
21283         dir->dd_fd was 8, rather than the expected value of 6:
21284
21285         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
21286         93                close (fd);
21287         (gdb) n
21288         94                dir = fd_clone_opendir (dupfd);
21289         (gdb) n
21290         95                saved_errno = errno;
21291         (gdb) p dir->dd_fd
21292         $11 = 8
21293
21294         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
21295         The problem is that on OpenBSD, fd_clone_opendir has to resort
21296         to using the old-style save/restore CWD mechanism, due to its
21297         lack of openat/proc support, and *that* would steal the FD (6)
21298         that opendir was supposed to use.
21299
21300         The fix is to squirrel away the desired FD so that save_cwd uses a
21301         different one, and then free the dest FD right before calling opendir.
21302         That guarantees opendir will use the required file descriptor.
21303
21304         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
21305
21306 2010-10-08  Bruno Haible  <bruno@clisp.org>
21307
21308         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
21309         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
21310
21311 2010-10-08  Bruno Haible  <bruno@clisp.org>
21312
21313         nanosleep: Make replacement POSIX compliant.
21314         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
21315         is out of range.
21316         Reported by Jim Meyering.
21317
21318 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
21319
21320         bootstrap: add hook for altering gnulib.mk, for Bison
21321         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
21322         the Bison bootstrapping process can rewrite file names and variables
21323         in this file before later parts of 'bootstrap' use the file.
21324         Bison wants to include lib/gnulib.mk from the top-level makefile,
21325         so it needs the file names in this file to be relative to the top
21326         level, not relative to lib; plus it needs variable names to be
21327         rewritten.
21328         (slurp): Use the new function.
21329
21330         bootstrap: reformat for readability
21331         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
21332
21333 2010-10-08  Eric Blake  <eblake@redhat.com>
21334
21335         docs: update cygwin progress
21336         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
21337         1.7.7.
21338         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
21339         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
21340         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
21341         * doc/posix-functions/carg.texi (carg): Likewise.
21342         * doc/posix-functions/cargf.texi (cargf): Likewise.
21343         * doc/posix-functions/casin.texi (casin): Likewise.
21344         * doc/posix-functions/casinf.texi (casinf): Likewise.
21345         * doc/posix-functions/casinh.texi (casinh): Likewise.
21346         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
21347         * doc/posix-functions/catan.texi (catan): Likewise.
21348         * doc/posix-functions/catanf.texi (catanf): Likewise.
21349         * doc/posix-functions/catanh.texi (catanh): Likewise.
21350         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
21351         * doc/posix-functions/ccos.texi (ccos): Likewise.
21352         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
21353         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
21354         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
21355         * doc/posix-functions/cexp.texi (cexp): Likewise.
21356         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
21357         * doc/posix-functions/cimag.texi (cimag): Likewise.
21358         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
21359         * doc/posix-functions/clog.texi (clog): Likewise.
21360         * doc/posix-functions/clogf.texi (clogf): Likewise.
21361         * doc/posix-functions/conj.texi (conj): Likewise.
21362         * doc/posix-functions/conjf.texi (conjf): Likewise.
21363         * doc/posix-functions/cpow.texi (cpow): Likewise.
21364         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
21365         * doc/posix-functions/cproj.texi (cproj): Likewise.
21366         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
21367         * doc/posix-functions/creal.texi (creal): Likewise.
21368         * doc/posix-functions/crealf.texi (crealf): Likewise.
21369         * doc/posix-functions/csin.texi (csin): Likewise.
21370         * doc/posix-functions/csinf.texi (csinf): Likewise.
21371         * doc/posix-functions/csinh.texi (csinh): Likewise.
21372         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
21373         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
21374         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
21375         * doc/posix-functions/ctan.texi (ctan): Likewise.
21376         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
21377         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
21378         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
21379         * doc/posix-headers/complex.texi (complex.h): Likewise.
21380
21381 2010-10-07  Jim Meyering  <meyering@redhat.com>
21382
21383         parse-datetime: avoid compilation failure on OpenBSD 4.7
21384         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
21385         This works around a compilation failure on OpenBSD 4.7:
21386         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
21387
21388 2010-10-07  Eric Blake  <eblake@redhat.com>
21389
21390         docs: update cygwin progress
21391         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
21392         1.7.6.
21393         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
21394         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
21395         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
21396         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
21397         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
21398         Likewise.
21399         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
21400         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
21401         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
21402         Likewise.
21403         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
21404         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
21405         Likewise.
21406         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
21407         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
21408         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
21409         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
21410         Likewise.
21411         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
21412         Likewise.
21413         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
21414
21415         docs: update parse-datetime history
21416         * doc/parse-datetime.texi (Authors of parse_datetime): Better
21417         documentation of this function's history and alternatives.
21418
21419         cygwin: use more robust version check
21420         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
21421         exclude an eventual cygwin 1.9.1.
21422         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
21423         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
21424         (gl_FUNC_STRCASESTR): Likewise.
21425         Reported by Bruno Haible.
21426
21427 2010-10-06  Bruno Haible  <bruno@clisp.org>
21428
21429         string, sys_select: Avoid #including large headers unless necessary.
21430         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
21431         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
21432         OSF/1, BeOS, Haiku.
21433         Reported by Jim Meyering.
21434
21435 2010-10-05  Eric Blake  <eblake@redhat.com>
21436
21437         memmem, strstr, strcasestr: fix bug with long periodic needle
21438         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
21439         periodic needle having false positive.
21440         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
21441         and cygwin 1.7.7.
21442         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
21443         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
21444         (gl_FUNC_STRCASESTR): Likewise.
21445         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
21446         * tests/test-memmem.c (main): Expose the bug.
21447         * tests/test-strcasestr.c (main): Likewise.
21448         * tests/test-strstr.c (main): Likewise.
21449         * tests/test-c-strcasestr.c (main): Likewise.
21450         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
21451         * doc/posix-functions/strstr.texi (strstr): Likewise.
21452         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
21453         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
21454
21455 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
21456
21457         parse-datetime: do some more renaming
21458         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
21459         parse_datetime, not get_date.  Mention the renaming.
21460         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
21461         in comments.
21462         * m4/bison.m4: Likewise.
21463
21464 2010-10-05  Eric Blake  <eblake@redhat.com>
21465
21466         parse-datetime: better name than get_date
21467         * NEWS: Reword the deprecation notice.
21468         * modules/get_date: Rename to modules/parse-datetime.
21469         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
21470         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
21471         * lib/get_date.y: Rename to lib/parse-datetime.y.
21472         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
21473         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
21474         * doc/getdate.texi: Provide fallback wrapper.
21475         * lib/getdate.h: Move guts, and wrap...
21476         * lib/parse-datetime.h: ...new file.
21477         * lib/parse-datetime.y (get_date): Rename...
21478         (parse_datetime): ...to this.
21479         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
21480         (gl_PARSE_DATETIME): ...to this.
21481         * doc/posix-functions/getdate.texi (get_date): Provide fallback
21482         documentation.
21483         * modules/getdate (Files): Provide fallback docs and header.
21484         (Notice, Depends-on): Update references.
21485         * tests/test-parse-datetime.c: Likewise.
21486         * DEPENDENCIES: Likewise.
21487         * MODULES.html.sh (Date and time <time.h>): Likewise.
21488         * doc/parse-datetime.texi (Date input formats)
21489         (Authors of parse_datetime): Likewise.
21490         * modules/parse-datetime (Files, configure.ac, Makefile.am)
21491         (Include): Likewise.
21492         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
21493         * gnulib-tool: Likewise.
21494         * m4/bison.m4 (gl_BISON): Likewise.
21495         Suggested by Bruno Haible.
21496
21497 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
21498
21499         more ports to Solaris tr, which needs [] around ranges
21500         * gnulib-tool: Solaris tr needs [] around ranges.
21501         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
21502         * tests/test-pipe-filter-gi1.c (main): Likewise.
21503         * tests/test-pipe-filter-ii1.c (main): Likewise.
21504
21505 2010-10-05  Eric Blake  <eblake@redhat.com>
21506
21507         bootstrap: fix Solaris regression
21508         * build-aux/bootstrap (check_versions): Solaris tr still needs []
21509         around ranges.
21510         Reported by Pádraig Brady.
21511
21512         bootstrap: work with pkg-config
21513         * build-aux/bootstrap (check_versions): Also transliterate - in
21514         prerequisite name.
21515         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
21516         prerequisites that were already found, to avoid confusion.
21517         Reported by Justin Clift.
21518
21519         faccessat: remove unused wrappers
21520         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
21521         presence of these wrappers dragged in -lgen on Solaris.
21522         Reported by Clemens Brogi; fix suggested by Paul Eggert.
21523
21524 2010-10-05  Jim Meyering  <meyering@redhat.com>
21525
21526         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
21527         * Makefile (sc_pragma_columns): New syntax-check rule.
21528
21529 2010-10-04  Bruno Haible  <bruno@clisp.org>
21530
21531         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
21532         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
21533         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
21534         Reported by Bruce Korb and Eric Blake.
21535
21536 2010-10-04  Bruno Haible  <bruno@clisp.org>
21537
21538         threadlib: Make option --with-libpth-prefix work.
21539         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
21540         use $LIBPTH, not just -lpth.
21541
21542 2010-10-04  Bruno Haible  <bruno@clisp.org>
21543
21544         Avoid line length limitation from HP NonStop system header files.
21545         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
21546         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
21547         * lib/ctype.in.h: Likewise.
21548         * lib/dirent.in.h: Likewise.
21549         * lib/errno.in.h: Likewise.
21550         * lib/fcntl.in.h: Likewise.
21551         * lib/float.in.h: Likewise.
21552         * lib/getopt.in.h: Likewise.
21553         * lib/iconv.in.h: Likewise.
21554         * lib/inttypes.in.h: Likewise.
21555         * lib/langinfo.in.h: Likewise.
21556         * lib/locale.in.h: Likewise.
21557         * lib/math.in.h: Likewise.
21558         * lib/netdb.in.h: Likewise.
21559         * lib/netinet_in.in.h: Likewise.
21560         * lib/poll.in.h: Likewise.
21561         * lib/pthread.in.h: Likewise.
21562         * lib/pty.in.h: Likewise.
21563         * lib/sched.in.h: Likewise.
21564         * lib/se-selinux.in.h: Likewise.
21565         * lib/search.in.h: Likewise.
21566         * lib/signal.in.h: Likewise.
21567         * lib/spawn.in.h: Likewise.
21568         * lib/stdarg.in.h: Likewise.
21569         * lib/stddef.in.h: Likewise.
21570         * lib/stdint.in.h: Likewise.
21571         * lib/stdio.in.h: Likewise.
21572         * lib/stdlib.in.h: Likewise.
21573         * lib/string.in.h: Likewise.
21574         * lib/strings.in.h: Likewise.
21575         * lib/sys_file.in.h: Likewise.
21576         * lib/sys_ioctl.in.h: Likewise.
21577         * lib/sys_select.in.h: Likewise.
21578         * lib/sys_socket.in.h: Likewise.
21579         * lib/sys_stat.in.h: Likewise.
21580         * lib/sys_time.in.h: Likewise.
21581         * lib/sys_times.in.h: Likewise.
21582         * lib/sys_utsname.in.h: Likewise.
21583         * lib/sys_wait.in.h: Likewise.
21584         * lib/sysexits.in.h: Likewise.
21585         * lib/termios.in.h: Likewise.
21586         * lib/time.in.h: Likewise.
21587         * lib/unistd.in.h: Likewise.
21588         * lib/wchar.in.h: Likewise.
21589         * lib/wctype.in.h: Likewise.
21590         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
21591         * modules/ctype (Makefile.am): Likewise.
21592         * modules/dirent (Makefile.am): Likewise.
21593         * modules/errno (Makefile.am): Likewise.
21594         * modules/fcntl-h (Makefile.am): Likewise.
21595         * modules/float (Makefile.am): Likewise.
21596         * modules/getopt-posix (Makefile.am): Likewise.
21597         * modules/iconv-h (Makefile.am): Likewise.
21598         * modules/inttypes (Makefile.am): Likewise.
21599         * modules/langinfo (Makefile.am): Likewise.
21600         * modules/locale (Makefile.am): Likewise.
21601         * modules/math (Makefile.am): Likewise.
21602         * modules/netdb (Makefile.am): Likewise.
21603         * modules/netinet_in (Makefile.am): Likewise.
21604         * modules/poll-h (Makefile.am): Likewise.
21605         * modules/pthread (Makefile.am): Likewise.
21606         * modules/pty (Makefile.am): Likewise.
21607         * modules/sched (Makefile.am): Likewise.
21608         * modules/search (Makefile.am): Likewise.
21609         * modules/selinux-h (Makefile.am): Likewise.
21610         * modules/signal (Makefile.am): Likewise.
21611         * modules/spawn (Makefile.am): Likewise.
21612         * modules/stdarg (Makefile.am): Likewise.
21613         * modules/stddef (Makefile.am): Likewise.
21614         * modules/stdint (Makefile.am): Likewise.
21615         * modules/stdio (Makefile.am): Likewise.
21616         * modules/stdlib (Makefile.am): Likewise.
21617         * modules/string (Makefile.am): Likewise.
21618         * modules/strings (Makefile.am): Likewise.
21619         * modules/sys_file (Makefile.am): Likewise.
21620         * modules/sys_ioctl (Makefile.am): Likewise.
21621         * modules/sys_select (Makefile.am): Likewise.
21622         * modules/sys_socket (Makefile.am): Likewise.
21623         * modules/sys_stat (Makefile.am): Likewise.
21624         * modules/sys_time (Makefile.am): Likewise.
21625         * modules/sys_times (Makefile.am): Likewise.
21626         * modules/sys_utsname (Makefile.am): Likewise.
21627         * modules/sys_wait (Makefile.am): Likewise.
21628         * modules/sysexits (Makefile.am): Likewise.
21629         * modules/termios (Makefile.am): Likewise.
21630         * modules/time (Makefile.am): Likewise.
21631         * modules/unistd (Makefile.am): Likewise.
21632         * modules/wchar (Makefile.am): Likewise.
21633         * modules/wctype (Makefile.am): Likewise.
21634
21635 2010-10-04  Bruno Haible  <bruno@clisp.org>
21636
21637         read-file tests: Avoid a test failure on NonStop Kernel.
21638         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
21639         a regular file.
21640         Reported by Joachim Schmitz <schmitz@hp.com>.
21641
21642 2010-10-03  Bruno Haible  <bruno@clisp.org>
21643
21644         gnulib-tool: Fixes for --create-testdir with --libtool.
21645         * gnulib-tool (func_get_automake_snippet): Don't augment
21646         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
21647         an executable.
21648         (func_create_testdir): Handle module 'alloca' like func_import.
21649         Reported by Bruce Korb <bruce.korb@gmail.com>.
21650
21651 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
21652
21653         Avoid some lines longer than 80 characters.
21654         * lib/stdint.in.h: Break long comment lines.
21655         * lib/math.in.h: Likewise.
21656         (_GL_NUM_UINT_WORDS): New macro, for readability.
21657         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
21658         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
21659         * lib/stdlib.in.h: Likewise.
21660         * lib/spawn.in.h: Likewise.
21661         * lib/sys_socket.in.h: Update an URL.
21662         * lib/sys_stat.in.h: Break long line.
21663
21664 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
21665
21666         Improve pmccabe2html.
21667         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
21668         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
21669         when the sources change. Remove the line in the HTML about "Used
21670         ranges" (which implied that there might be other unused ranges),
21671         rename "Resume" to "Summary" (easier to understand for more users).
21672         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
21673         styles, and some unnecessary blank lines.
21674
21675 2010-10-03  Bruno Haible  <bruno@clisp.org>
21676             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
21677
21678         acl: Add support for ACLs on NonStop Kernel.
21679         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
21680         Check whether the function aclsort() exists.
21681         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
21682         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
21683         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
21684         (acl_nontrivial [HAVE_ACLSORT]: New function.
21685         (file_has_acl): Implement for NonStop Kernel.
21686         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
21687         (qset_acl): Implement for NonStop Kernel.
21688         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
21689         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
21690         (main): Implement for NonStop Kernel.
21691         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
21692         Kernel. Handle this flavor.
21693         * tests/test-set-mode-acl.sh: Likewise.
21694         * tests/test-copy-acl.sh: Likewise.
21695         * tests/test-copy-file.sh: Likewise.
21696
21697 2010-10-03  Bruno Haible  <bruno@clisp.org>
21698
21699         Info about ACLs on NonStop Kernel.
21700         * doc/acl-resources.txt: Add info about NonStop Kernel.
21701         References by Joachim Schmitz <schmitz@hp.com>.
21702
21703 2010-10-02  Bruno Haible  <bruno@clisp.org>
21704
21705         Define missing EDQUOT on NonStop Kernel.
21706         * lib/errno.in.h (EDQUOT): Assign a value if missing.
21707         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
21708         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
21709         missing.
21710         * doc/posix-headers/errno.texi: Mention the NSK bug.
21711         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
21712         Reported by Joachim Schmitz <schmitz@hp.com>.
21713
21714 2010-10-02  Bruno Haible  <bruno@clisp.org>
21715
21716         Update doc for POSIX:2008.
21717         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
21718         Update URL of POSIX specification.
21719
21720 2010-10-02  Bruno Haible  <bruno@clisp.org>
21721
21722         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
21723         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
21724         from gnulib, not from Automake.
21725
21726 2010-10-02  Bruno Haible  <bruno@clisp.org>
21727
21728         New module 'system-posix'.
21729         * modules/system-posix: New file.
21730         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
21731         module is present.
21732         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
21733         GNULIB_SYSTEM_POSIX.
21734         * modules/stdlib (Depends-on): Remove sys_wait.
21735         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
21736         * doc/posix-functions/system.texi: Mention the new module.
21737         * doc/posix-headers/stdlib.texi: Likewise.
21738         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
21739         define test_sys_wait_macros to a no-op.
21740         Reported by Sam Steingold <sds@gnu.org>.
21741
21742 2010-09-30  Bruno Haible  <bruno@clisp.org>
21743
21744         More renaming from 'getdate' to 'get_date'.
21745         * doc/get_date.texi: Renamed from doc/getdate.texi.
21746         * modules/get_date (Files): Update.
21747         * MODULES.html.sh (Date and time <time.h>): Update.
21748         * DEPENDENCIES: Update.
21749         * gnulib-tool: Update comment.
21750         * m4/bison.m4 (gl_BISON): Likewise.
21751         * m4/get_date.m4 (gl_GET_DATE): Likewise.
21752
21753 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
21754
21755         bootstrap: support ACLOCAL_FLAGS during aclocal
21756         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
21757         can add additional -I dir for third-party .m4 files.
21758
21759 2010-09-30  Eric Blake  <eblake@redhat.com>
21760
21761         bootstrap: use glibtoolize on MacOS
21762         * build-aux/bootstrap (check_versions): Convert libtool into
21763         libtoolize.
21764         (tool search): Move libtool check earlier, and look for
21765         glibtoolize for MacOS.
21766         (gnulib_tool_options): Auto-add --libtool when appropriate.
21767         Reported by Justin Clift.
21768
21769         poll: fix typo that broke test on MacOS
21770         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
21771         Reported by Justin Clift.
21772
21773         getdate: rename to get_date
21774         Note: getdate.h is not renamed, to minimize client impact.
21775         * modules/getdate: Mark obsolete.  Move old contents...
21776         * modules/get_date: ...to new module name.
21777         * modules/getdate-tests: Move...
21778         * modules/get_date-tests: ...here.
21779         * m4/getdate.m4: Move...
21780         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
21781         * lib/getdate.y: Move...
21782         * lib/get_date.y: ...here.
21783         * tests/test-getdate.c: Move...
21784         * tests/test-get_date.c: ...here.
21785         * doc/posix-functions/getdate.texi (getdate): Update name.
21786         * NEWS: Mention the change.
21787
21788 2010-09-29  Bruno Haible  <bruno@clisp.org>
21789
21790         Separate the module 'waitpid' from the module 'sys_wait'.
21791         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
21792         present.
21793         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
21794         gl_MODULE_INDICATOR_FOR_TESTS.
21795         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
21796         * modules/sys_wait (Depends-on): Remove waitpid.
21797         (Makefile.am): Substitute GNULIB_WAITPID.
21798         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
21799         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
21800         signature only if the 'waitpid' module is present.
21801         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
21802         * NEWS: Mention the change.
21803         * modules/grantpt (Depends-on): Add waitpid.
21804         * modules/wait-process (Depends-on): Likewise.
21805
21806 2010-09-29  Bruno Haible  <bruno@clisp.org>
21807
21808         More tests for module 'sys_wait'.
21809         * modules/sys_wait-c++-tests: New file.
21810         * tests/test-sys_wait-c++.cc: New file.
21811         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
21812         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
21813
21814 2010-09-29  Bruno Haible  <bruno@clisp.org>
21815
21816         New module 'waitpid'.
21817         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
21818         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
21819         Don't include <process.h>.
21820         (waitpid): Declare only, using modern idiom.
21821         * m4/waitpid.m4: New file.
21822         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
21823         * modules/waitpid: New file.
21824         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
21825         (Makefile.am): Update.
21826         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
21827
21828 2010-09-28  Bruno Haible  <bruno@clisp.org>
21829
21830         poll: Assume ANSI C.
21831         * lib/poll.c (poll): Use an ANSI C declaration.
21832
21833 2010-09-28  Bruno Haible  <bruno@clisp.org>
21834
21835         poll-h: Create poll.h on all platforms.
21836         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
21837         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
21838         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
21839         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
21840         (gl_REPLACE_POLL_H): Don't set POLL_H.
21841         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
21842         * modules/poll-h (Depends-on): Add include_next.
21843         (Makefile.am): Create poll.h unconditionally. Substitute also
21844         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
21845
21846 2010-09-28  Bruno Haible  <bruno@clisp.org>
21847
21848         Tests for module 'poll-h'.
21849         * modules/poll-h-c++-tests: New file.
21850         * tests/test-poll-h-c++.cc: New file.
21851
21852         Tests for module 'poll-h'.
21853         * modules/poll-h-tests: New file.
21854         * tests/test-poll-h.c: New file.
21855
21856 2010-09-28  Bruno Haible  <bruno@clisp.org>
21857
21858         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
21859         * modules/poll-h (Depends-on): Add 'extensions'.
21860
21861 2010-09-28  Bruno Haible  <bruno@clisp.org>
21862
21863         New module 'poll-h'.
21864         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
21865         (poll): Use modern idiom.
21866         * modules/poll-h: New file.
21867         * modules/poll (Files): Remove lib/poll.in.h.
21868         (Depends-on): Add poll-h.
21869         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
21870         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
21871         * m4/poll_h.m4: New file.
21872         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
21873         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
21874         and invoke gl_REPLACE_POLL_H.
21875         * lib/poll.c: Use common idiom.
21876         * tests/test-poll.c: Likewise.
21877         * doc/posix-headers/poll.texi: Mention the poll-h module.
21878         Suggested by Eric Blake.
21879
21880 2010-09-26  Bruno Haible  <bruno@clisp.org>
21881
21882         sys_wait: Implement WSTOPSIG.
21883         * lib/sys_wait.in.h (WSTOPSIG): New macro.
21884         Reported by Simon Josefsson.
21885
21886 2010-09-26  Simon Josefsson  <simon@josefsson.org>
21887
21888         stdlib, sys_wait: Avoid compilation error on mingw.
21889         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
21890
21891 2010-09-26  Bruno Haible  <bruno@clisp.org>
21892
21893         stdlib tests: Avoid code duplication.
21894         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
21895         * modules/sys_wait-tests (Files): Likewise.
21896         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
21897         * tests/test-stdlib.c: Include test-sys_wait.h.
21898         (main): Invoke test_sys_wait_macros.
21899         * tests/test-sys_wait.c: Include test-sys_wait.h.
21900         (main): Invoke test_sys_wait_macros.
21901
21902 2010-09-25  Simon Josefsson  <simon@josefsson.org>
21903
21904         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
21905         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
21906         sure Windows sockets are working before calling getaddrinfo.
21907         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
21908         * doc/gnulib.texi (Windows sockets): Fix typo.
21909
21910 2010-09-25  Bruno Haible  <bruno@clisp.org>
21911
21912         Tests for module 'regex-quote'.
21913         * modules/regex-quote-tests: New file.
21914         * tests/test-regex-quote.c: New file.
21915
21916         New module 'regex-quote'.
21917         * lib/regex-quote.h: New file.
21918         * lib/regex-quote.c: New file.
21919         * modules/regex-quote: New file.
21920         Suggested by Reuben Thomas <rrt@sc3d.org>.
21921
21922 2010-09-24  Bruno Haible  <bruno@clisp.org>
21923
21924         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
21925         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
21926
21927 2010-09-23  Bruno Haible  <bruno@clisp.org>
21928
21929         setenv: Relax license.
21930         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
21931         Blake.
21932         Requested by Eric Blake.
21933
21934 2010-09-22  Bruno Haible  <bruno@clisp.org>
21935
21936         termios: Relax license.
21937         * modules/termios (License): Change to LGPLv2+.
21938         Requested by Eric Blake.
21939
21940 2010-09-22  Bruno Haible  <bruno@clisp.org>
21941
21942         threadlib: Allow the package to change the default to 'no'.
21943         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
21944         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
21945         Reported by Paul Eggert.
21946
21947 2010-09-22  Pádraig Brady  <P@draigbrady.com>
21948             Bruno Haible  <bruno@clisp.org>
21949
21950         Fix endless loop in mbmemcasecoll.
21951         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
21952         byte.
21953         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
21954
21955 2010-09-22  Bruno Haible  <bruno@clisp.org>
21956
21957         Tests for module 'memcoll'.
21958         * modules/memcoll-tests: New file.
21959         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
21960
21961         memcoll, xmemcoll: Clarify size vs. length.
21962         * modules/memcoll.c (memcoll0): Clarify specification.
21963         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
21964         passed to collate_error.
21965
21966 2010-09-22  Bruno Haible  <bruno@clisp.org>
21967
21968         Tests for module 'memcasecmp'.
21969         * modules/memcasecmp-tests: New file.
21970         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
21971
21972 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
21973
21974         * lib/pthread.in.h: Add split double-inclusion guard, and include
21975         system <pthread.h> if there is one.  Use @@-style as in other
21976         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
21977         pthread.h doesn't.
21978         (pthread_mutexattr_destroy, pthread_mutexattr_init):
21979         (pthread_mutexattr_settype, pthread_mutex_trylock):
21980         New static inline functions, if there's no system <pthread.h>.
21981         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
21982         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
21983         Approximate with mutexes if the system lacks spinlocks, as in
21984         MacOS.
21985         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
21986         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
21987         @@-style.  Check for spinlocks separately.
21988         (gl_PTHREAD_DEFAULTS): New macro.
21989         * modules/pthread: Redo to use a more typical style for in.h files.
21990
21991 2010-09-21  Eric Blake  <eblake@redhat.com>
21992
21993         net_if: enhance tests
21994         * tests/test-net_if.c (main): Move signature checks earlier.
21995         Print failures to stderr.
21996         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
21997         Document the bug that we do not yet fix.
21998
21999 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
22000
22001         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
22002         about gnulib, not GSS.
22003
22004 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
22005
22006         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
22007         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
22008         for Emacs.
22009         * build-aux/pmccabe2html: Make Makefile.am example code more
22010         cut-and-paste friendly.
22011
22012 2010-09-21  Simon Josefsson  <simon@josefsson.org>
22013
22014         * tests/test-net_if.c: New file.
22015         * modules/net_if-tests: New file.
22016
22017 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
22018
22019         pthread: add pthread_spin_destroy
22020         * lib/pthread.in.h (pthread_spin_destroy): New function.
22021
22022 2010-09-19  Bruno Haible  <bruno@clisp.org>
22023
22024         gnulib-tool: Fix --help output.
22025         * gnulib-tool (func_usage): Fix help message.
22026         Reported by Reuben Thomas <rrt@sc3d.org>.
22027
22028 2010-09-18  Jim Meyering  <meyering@redhat.com>
22029
22030         maint.mk: avoid unexpanded \n in two diagnostics
22031         * top/maint.mk (sc_prohibit_always_true_header_tests):
22032         Don't use a literal \n in a halt=... assignment.  It would not be
22033         expanded, and the two \n bytes would appear in the diagnostic output
22034         rather than the desired newline.  Use halt=$$(printf ... instead.
22035         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
22036
22037 2010-09-18  Bruno Haible  <bruno@clisp.org>
22038
22039         netinet_in: Doc tweak.
22040         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
22041         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22042
22043 2010-09-18  Jim Meyering  <meyering@redhat.com>
22044
22045         init.sh: correct an outdated comment
22046         * tests/init.sh (create_exe_shims_):  s/function/alias/
22047
22048         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
22049         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
22050         a file named "*.exe" is removed between the glob expansion and the
22051         processing of that oddly named file.
22052
22053 2010-09-17  Eric Blake  <eblake@redhat.com>
22054
22055         mirbsd: add some more support
22056         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
22057         in BSD family.
22058         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
22059         devices as OpenBSD.
22060         * m4/host-os.m4 (mirbsd): Add MirBSD.
22061
22062         tests: fix unportable assumption on sys/wait.h
22063         * tests/test-sys_wait.c (main): Relax test.
22064         * tests/test-stdlib.c (main): Likewise.
22065
22066         init.sh: accomodate directory with no .exes
22067         * tests/init.sh: Accomodate directory containing only scripts.
22068
22069         tests: avoid compiler warning
22070         * tests/test-stdlib.c (main): Use the variable.
22071
22072         fdutimens, fdutimensat: update signature, again
22073         * lib/utimens.h (gl_futimens): Delete, and move signature...
22074         (fdutimens): ...here.
22075         (fdutimensat): Rearrange signature.
22076         (lutimensat): Rename variable for clarity.
22077         * lib/fdutimensat.c (fdutimensat): Update signature.
22078         * lib/utimens.c (fdutimens): Likewise.
22079         (gl_futimens): Delete.
22080         (utimens, lutimens): Update callers.
22081         * lib/futimens.c (futimens): Likewise.
22082         * tests/test-fdutimensat.c: Likewise.
22083         * tests/test-utimens.c: Likewise.
22084         * tests/test-futimens.h: Update comment.
22085         * NEWS: Mention this.
22086         Suggested by Paul Eggert.
22087
22088 2010-09-17  Bruno Haible  <bruno@clisp.org>
22089
22090         Take over the maintenance of some older macros from Autoconf.
22091         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
22092         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
22093         GNU Autoconf.
22094         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
22095         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
22096
22097 2010-09-17  Eric Blake  <eblake@redhat.com>
22098
22099         fdutimensat: drop atflag validation
22100         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
22101         with valid fd, to close a race scenario where futimens is
22102         unsupported and FILE was replaced by a symlink.
22103         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
22104         accordingly.
22105         Suggested by Paul Eggert.
22106
22107 2010-09-16  Bruno Haible  <bruno@clisp.org>
22108
22109         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
22110         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
22111
22112 2010-09-16  Bruno Haible  <bruno@clisp.org>
22113
22114         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
22115         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
22116         login_tty exists.
22117         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22118
22119 2010-09-16  Bruno Haible  <bruno@clisp.org>
22120
22121         login_tty: Make the replacement code work on BSD systems.
22122         * lib/login_tty.c: Include <sys/ioctl.h>.
22123         (login_tty): Use ioctl TIOCSCTTY when available.
22124         * modules/login_tty (Depends-on): Add sys_ioctl.
22125         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22126
22127 2010-09-16  Bruno Haible  <bruno@clisp.org>
22128
22129         login_tty: Stricter unit test.
22130         * modules/login_tty-tests (Depends-on): Add tcgetsid.
22131         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
22132         and tcgetsid() after login_tty.
22133         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22134
22135 2010-09-16  Bruno Haible  <bruno@clisp.org>
22136
22137         New module 'tcgetsid'.
22138         * lib/tcgetsid.c: New file.
22139         * m4/tcgetsid.m4: New file.
22140         * modules/tcgetsid: New file.
22141         * modules/termios (Depends-on): Add c++defs, warn-on-use.
22142         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
22143         GNULIB_TCGETSID, HAVE_TCGETSID.
22144         * lib/termios.in.h: Include <sys/types.h>.
22145         (tcgetsid): New declaration.
22146         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
22147         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
22148         * doc/posix-functions/tcgetsid.texi: Mention the new module.
22149         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
22150
22151 2010-09-16  Bruno Haible  <bruno@clisp.org>
22152
22153         Tests for module 'termios'.
22154         * modules/termios-c++-tests: New file.
22155         * modules/termios-tests: New file.
22156         * tests/test-termios-c++.cc: New file.
22157         * tests/test-termios.c: New file.
22158
22159         New module 'termios'.
22160         * modules/termios: New file.
22161         * lib/termios.in.h: New file.
22162         * m4/termios_h.m4: New file.
22163         * doc/posix-headers/termios.texi: Mention the new module.
22164
22165 2010-09-16  Eric Blake  <eblake@redhat.com>
22166
22167         fdutimensat: add an atflag parameter
22168         * lib/fdutimensat.c (fdutimensat): Add new parameter.
22169         * lib/utimens.h (fdutimensat): Update prototype.
22170         * tests/test-fdutimensat.c: Adjust test to match.
22171         * NEWS: Document the change.
22172         Suggested by Paul Eggert.
22173
22174 2010-09-16  Bruno Haible  <bruno@clisp.org>
22175
22176         Fix typos in comments.
22177         * lib/striconveh.h: Fix typo in comment.
22178         * lib/login_tty.c (login_tty): Likewise.
22179
22180 2010-09-15  Bruno Haible  <bruno@clisp.org>
22181
22182         stdlib: clarify MirBSD WEXITSTATUS bug
22183         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
22184         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
22185
22186 2010-09-15  Eric Blake  <eblake@redhat.com>
22187
22188         stdlib: work around MirBSD WEXITSTATUS bug
22189         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
22190         * modules/stdlib (Depends-on): Add sys_wait.
22191         * tests/test-sys_wait.c (main): Enhance test.
22192         * tests/test-stdlib.c (main): Likewise.
22193         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
22194
22195         docs: mention MacOS issue with WEXITSTATUS(constant)
22196         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
22197         issue.
22198         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
22199
22200         strnlen: add tests
22201         * modules/strnlen-tests: New file.
22202         * tests/test-strnlen.c: Likewise.
22203
22204 2010-09-14  Bruno Haible  <bruno@clisp.org>
22205
22206         unistr/base: Avoid link errors when module 'libunistring' is also used.
22207         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
22208         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
22209         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
22210         Declare also when HAVE_LIBUNISTRING is set.
22211         Reported by Pádraig Brady <P@draigbrady.com>.
22212
22213 2010-09-14  Eric Blake  <eblake@redhat.com>
22214
22215         test-rawmemchr: make more robust
22216         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
22217         (Depends-on, configure.ac): Add needed prerequisites to use it.
22218         * modules/memchr-tests (Files, Depends-on, configure.ac):
22219         Likewise, to avoid implicit reliance on memchr module prereqs.
22220         * tests/test-memchr.c (main): Ensure proper masking.
22221         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
22222         reads.
22223
22224         memchr: detect glibc Alpha bug
22225         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
22226         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
22227         Alpha.
22228         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
22229         * tests/test-memchr.c (main): Enhance test.
22230         Reported by Nelson H. F. Beebe.
22231
22232 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22233
22234         fts, getcwd, glob: audit for dirfd returning -1
22235         * lib/fts.c (opendir): Remove #define; no longer used.
22236         (opendirat): New arg PDIR_FD.  All callers changed.
22237         (fts_build, _opendir2): Use new opendirat to avoid the need for
22238         dirfd, or for checking whether dirfd returns a negative value.
22239         Don't use opendir; always use openat followed by fdopendir.
22240         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
22241         it.
22242         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
22243         returns -1 here.
22244         * modules/fts (Depends-on): Remove dirfd.
22245         * modules/getcwd (Depends-on): Likewise.
22246
22247 2010-09-13  Eric Blake  <eblake@redhat.com>
22248
22249         float: fix broken MirBSD header
22250         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
22251         * doc/posix-headers/float.texi (float.h): Document it.
22252
22253 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22254
22255         fts: use O_NOFOLLOW to avoid race condition when opening a directory
22256         * lib/fts.c (opendirat): New arg extra_flags.
22257         (__opendir2): Use it to avoid following symlinks when opening
22258         a directory, if symlinks are not supposed to be followed.  See
22259         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
22260
22261         fdopendir: preserve argument fd before returning
22262         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
22263         (fdopendir_with_dup, fd_clone_opendir): New static functions.
22264         (fdopendir): Use them, arranging for FD to be open to the same
22265         directory that it was when it started.  (It might be temporarily
22266         closed while fdopendir is running, so this not thread- or
22267         signal-safe.)  Be careful to do the right thing even when file
22268         descriptors are scarce and dup fails with errno == EMFILE.  See
22269         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
22270
22271 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
22272
22273         regex: Pass the system regex if its only problem is 32-bit regoff_t.
22274         * NEWS: Document change.
22275         * m4/regex.m4: Disable test for regoff_t size.
22276
22277 2010-09-13  Jim Meyering  <meyering@redhat.com>
22278
22279         fts: don't operate on an invalid file descriptor after failed dup
22280         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
22281         negative file descriptor.
22282
22283 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
22284
22285         savedir: add streamsavedir, deprecate fdsavedir
22286         * NEWS: Mention deprecation of fdsavedir.
22287         * lib/savedir.c (streamsavedir): New extern function, whose name
22288         ends in "savedir" to be consistent with the others.  This differs
22289         from savedirstream in that it doesn't close its argument.  The
22290         next version of GNU tar will use this instead of fdsavedir, to
22291         avoid some race conditions and conserve file descriptors.
22292         (savedirstream): Reimplement as a wrapper around streamsavedir.
22293         (fdsavedir): Add a comment deprecating this function.  As far as
22294         I know, only GNU tar used it, and GNU tar doesn't need it any more.
22295         * lib/savedir.h (streamsavedir): New decl.
22296         (fdsavedir): Add a comment deprecating this.
22297
22298 2010-09-10  Bruno Haible  <bruno@clisp.org>
22299
22300         langinfo: Fix last commit.
22301         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
22302         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
22303         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22304
22305 2010-09-10  Bruno Haible  <bruno@clisp.org>
22306
22307         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
22308         * lib/progreloc.c (O_EXEC): Define fallback.
22309
22310 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
22311
22312         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
22313         * NEWS: Document recent changes to fcntl-h.
22314         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
22315         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
22316         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
22317         Similarly for O_SEARCH; this last was already true, but not documented.
22318         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
22319         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
22320         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
22321         Likewise.
22322         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
22323         is zero, not whether it is defined.
22324         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
22325         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
22326         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
22327
22328 2010-09-10  Bruno Haible  <bruno@clisp.org>
22329
22330         langinfo, nl_langinfo: Fix for IRIX 5.3.
22331         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
22332         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
22333         HAVE_LANGINFO_YESEXPR.
22334         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
22335         HAVE_LANGINFO_YESEXPR.
22336         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
22337         HAVE_LANGINFO_T_FMT_AMPM is 0.
22338         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
22339         HAVE_LANGINFO_YESEXPR is 0.
22340         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
22341         NOEXPR.
22342         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
22343         * doc/posix-functions/nl_langinfo.texi: Likewise.
22344         Reported by Eric Blake.
22345
22346 2010-09-10  Bruno Haible  <bruno@clisp.org>
22347
22348         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
22349         * doc/glibc-functions/login_tty.texi: Mention the include file problem
22350         on FreeBSD 8.0 and OpenBSD 4.6.
22351         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
22352         * m4/pty_h.m4 (gl_PTY_H): Likewise.
22353         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
22354         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
22355         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
22356         ac_includes_default.
22357         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22358
22359 2010-09-09  Eric Blake  <eblake@redhat.com>
22360
22361         strsignal: work around NetBSD bug
22362         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
22363         * lib/string.in.h (includes): Likewise.
22364         * doc/posix-functions/strsignal.texi (strsignal): Document the
22365         bug.
22366         Reported by Nelson H. F. Beebe.
22367
22368         gnulib-tool: work with NetBSD /bin/sh
22369         * gnulib-tool (func_cache_var, func_cache_lookup_module)
22370         (func_get_description, func_get_comment, func_get_status)
22371         (func_get_notice, func_get_applicability, func_get_filelist)
22372         (func_get_dependencies, func_get_autoconf_early_snippet)
22373         (func_get_autoconf_snippet, func_get_automake_snippet)
22374         (func_get_include_directive, func_get_link_directive)
22375         (func_get_license, func_get_maintainer, func_import): Avoid
22376         shell syntax errors from parsing syntax extensions.
22377
22378 2010-09-09  Bruno Haible  <bruno@clisp.org>
22379
22380         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
22381         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
22382         a reliable way to determine whether the 'alias' command works.
22383
22384 2010-09-08  Jim Meyering  <meyering@redhat.com>
22385
22386         init.sh: penalize a set-x-impaired shell; don't disqualify it
22387         * tests/init.sh: Too many shells corrupt application stderr when
22388         you set -x, so we can't afford to disqualify them, since at least
22389         on Irix-6.5, that would disqualify all bourne shells.
22390         Instead, use a two-pass approach.
22391         On the first pass, try to find a shell that meets the stricter
22392         condition that set -x does not corrupt stderr.
22393         If no shell meets the stricter condition, retest each candidate
22394         shell, but without that extra condition.  Finally, when
22395         VERBOSE=yes is requested and set -x might cause trouble, simply
22396         issue a warning and refrain from enabling debug output.
22397
22398 2010-09-08  Eric Blake  <eblake@redhat.com>
22399
22400         unsetenv: fix OpenBSD bug
22401         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
22402         * doc/posix-functions/unsetenv.texi (unsetenv): Update
22403         documentation.
22404         Reported by Jim Meyering.
22405
22406         strtod: work around IRIX 6.5 bug
22407         * lib/strtod.c (strtod): Reparse number on shorter string if
22408         exponent parse was invalid.
22409         * tests/test-strtod.c (main): Add check for "0x1p 2".
22410         Reported by Tom G. Christensen.
22411
22412         getopt: optimize previous patch
22413         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
22414         empty variable.  Speed up awk script.
22415         Reported by Paolo Bonzini.
22416
22417 2010-09-08  Jim Meyering  <meyering@redhat.com>
22418
22419         test.sh: disqualify shells for which set -x corrupts stderr
22420         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
22421         and OpenBSD 4.7.  They make it so with "set -x", environment settings
22422         appear in stderr output.  For example, this command:
22423             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
22424         prints "P=1" on those two systems:
22425
22426 2010-09-08  Bruno Haible  <bruno@clisp.org>
22427
22428         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
22429         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
22430         commands, because some shells ignore redirections when there is an
22431         error in the command lookup.
22432         Reported by Eric Blake.
22433
22434 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
22435
22436         * lib/regex.h: Fix a mention of `regex_compile' (should be
22437         `re_compile_pattern').
22438         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
22439         (re_set_registers): Correct name of parameter in comment.
22440
22441         * doc/regex.texi: Add documentation for missing syntax flags.
22442         Remove commented-out documentation of defunct syntax option
22443         RE_NO_EMPTY_ALTS.
22444         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
22445         Add documentation of re_set_registers.
22446         Document trick to re-use a pattern buffer by setting fastmap manually.
22447         Update documentation of struct re_pattern_buffer per public members.
22448         Uncomment documentation of equivalence class operators and
22449         collating symbol operators, since they are now implemented,
22450         Explain leftmost-longest matching in relation to alternatives.
22451         Tidy documentation of substring matching.
22452         Remove POSIX documentation, which is done better in
22453         glibc, and refer the reader there. Keep BSD API documentation, as
22454         that is not readily available elsewhere.
22455
22456 2010-09-07  Eric Blake  <eblake@redhat.com>
22457
22458         getopt: handle POSIXLY_CORRECT set but not exported
22459         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
22460         export state of POSIXLY_CORRECT, due to bash set -o posix.
22461         Reported by Dustin J. Mitchell.
22462
22463 2010-09-05  Bruno Haible  <bruno@clisp.org>
22464
22465         gnulib-tool: Highlight the changed options.
22466         * gnulib-tool (func_usage): Display the --import, --add-import,
22467         --remove-import explanations in bold font.
22468
22469 2010-09-06  Karl Berry  <karl@gnu.org>
22470
22471         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
22472
22473 2010-09-05  Bruno Haible  <bruno@clisp.org>
22474
22475         uniwidth/width: Update comment.
22476         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
22477         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
22478
22479 2010-09-05  Bruno Haible  <bruno@clisp.org>
22480
22481         isinf, isnan: Relax license.
22482         * modules/isinf (License): Change from GPL to LGPL, with consent from
22483         Ben Pfaff.
22484         * modules/isnan (License): Likewise.
22485         Requested by Ludovic Courtès.
22486
22487 2010-09-04  Bruno Haible  <bruno@clisp.org>
22488
22489         gnulib-tool: Help migration from --import to --add-import or --update.
22490         * gnulib-tool: Emit a verbose error message when --import is used
22491         without any module name.
22492
22493 2010-09-04  Bruno Haible  <bruno@clisp.org>
22494
22495         Update doc about gnulib-tool.
22496         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
22497         'gnulib-tool --update' in more detail.
22498         Reported by Eric Blake.
22499
22500 2010-09-04  Bruno Haible  <bruno@clisp.org>
22501
22502         gnulib-tool: Change --import. New options --add/remove-import.
22503         * gnulib-tool: New options --add-import, --remove-import.
22504         (func_usage): Document them.
22505         (have_associative): Define always.
22506         (func_import): In import mode, don't merge the specified settings with
22507         the cached settings. Implement remove-import mode.
22508         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
22509         Explain when to use them versus --import.
22510         (Simple update): Use --add-import instead of --import.
22511         * NEWS: Mention the change.
22512
22513 2010-09-04  Bruno Haible  <bruno@clisp.org>
22514
22515         * doc/gnulib-tool.texi (Initial import): Update paragraph about
22516         separate gnulib.mk.
22517
22518 2010-09-04  Bruno Haible  <bruno@clisp.org>
22519
22520         gnulib-tool: Don't talk about CVS any more.
22521         * gnulib-tool (func_usage, func_import): Write "version control"
22522         instead of CVS.
22523
22524 2010-09-04  Jim Meyering  <meyering@redhat.com>
22525
22526         maint.mk: avoid obscure sc_copyright_check failure in coreutils
22527         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
22528         false positives (whose names may be ill-chosen) when searching
22529         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
22530         would cause a false-positive.
22531
22532         avoid coreutils "make distcheck" failure
22533         Coreutils tests with an absolute build directory name that contains
22534         a space.  Not quoting this directory name caused a failure.
22535         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
22536         * tests/test-vc-list-files-cvs.sh: Likewise.
22537
22538 2010-09-04  Bruno Haible  <bruno@clisp.org>
22539
22540         gnulib-tool: Avoid error when run in a package without Makefile.am.
22541         * gnulib-tool: When collecting the m4dirs in a package that does not
22542         have a Makefile.am, eliminate those directories that contain no
22543         gnulib-cache.m4. Fix expression that counts these directories.
22544
22545 2010-09-04  Bruno Haible  <bruno@clisp.org>
22546
22547         update-copyright test: Improve output when perl is missing or too old.
22548         * tests/test-update-copyright.sh: Move test of Perl version down after
22549         the test whether Perl exists. Provide an explanation relating Perl's
22550         error message to Automake's SKIP: message.
22551
22552 2010-09-04  Bruno Haible  <bruno@clisp.org>
22553
22554         Don't augment PATH in TESTS_ENVIRONMENT.
22555         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
22556         set abs_aux_dir instead of augmenting PATH.
22557         * modules/vc-list-files-tests (Makefile.am): Likewise.
22558         * tests/test-update-copyright.sh: Augment PATH here.
22559         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
22560         path_prepend_.
22561         * tests/test-vc-list-files-git.sh: Likewise.
22562
22563 2010-09-04  Jim Meyering  <meyering@redhat.com>
22564
22565         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
22566         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
22567
22568 2010-09-04  Bruno Haible  <bruno@clisp.org>
22569
22570         strdup: Fix compilation error in C++ mode.
22571         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
22572         the macro.
22573
22574 2010-09-04  Bruno Haible  <bruno@clisp.org>
22575
22576         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
22577         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
22578         macro into a function.
22579         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
22580
22581 2010-09-04  Bruno Haible  <bruno@clisp.org>
22582
22583         Set PATH_SEPARATOR the same way autoconf does.
22584         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
22585         the value of PATH_SEPARATOR the same way autoconf-generated configure
22586         scripts do.
22587         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
22588         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
22589
22590 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
22591
22592         Set PATH_SEPARATOR the same way autoconf does.
22593         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
22594         the same way autoconf-generated configure scripts do.
22595         * posix-modules: Likewise.
22596
22597 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22598
22599         hash: fix safe_hasher const typo
22600         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
22601         const; otherwise, there is a type error later.
22602
22603 2010-09-02  Jim Meyering  <meyering@redhat.com>
22604
22605         test-update-copyright.sh: require perl 5.8.0
22606         * tests/test-update-copyright.sh: Require 5.8.0,
22607         which Tom G. Christensen has confirmed is adequate,
22608         while 5.6.1 is not.
22609
22610 2010-09-02  Eric Blake  <eblake@redhat.com>
22611
22612         tests: init.sh improvements for re-exec'ing with zsh
22613         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
22614         -vx through shell re-exec.
22615         Reported by Tom G. Christensen.
22616
22617         wctype: fix typo in previous commit
22618         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
22619         Reported by Ludovic Courtès.
22620
22621 2010-09-02  Jim Meyering  <meyering@redhat.com>
22622
22623         test-update-copyright.sh: skip test if Perl is too old
22624         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
22625         Reported by Tom G. Christensen.
22626
22627 2010-09-02  Bruno Haible  <bruno@clisp.org>
22628
22629         wctype: Avoid compilation error on IRIX 6.5.30.
22630         * lib/wctype.in.h (iswblank): Declare with a replacement if
22631         REPLACE_ISWBLANK is set.
22632         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
22633         declared. Set REPLACE_ISWBLANK.
22634         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
22635         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
22636         * doc/posix-headers/wctype.texi: Likewise.
22637         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22638
22639 2010-09-01  Bruno Haible  <bruno@clisp.org>
22640
22641         New module 'socketlib'.
22642         * modules/socketlib: New file.
22643         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
22644         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
22645         * modules/sockets (Depends-on): Add socketlib.
22646         Suggested by Sam Steingold <sds@gnu.org>.
22647
22648 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
22649
22650         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
22651
22652         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
22653         when one needs search access to a directory but not read access.
22654         On systems where it is available, it works in some cases where
22655         O_RDONLY does not, namely on directories that are searchable but
22656         not readable, and which need only to be searchable.  If O_SEARCH
22657         is not available, fall back to the traditional method of using
22658         O_RDONLY.
22659
22660         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
22661         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
22662         when opening a directory that needs only to be searchable.
22663         * lib/chdir-safer.c (chdir_no_follow): Likewise.
22664         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
22665         * lib/openat-proc.c (openat_proc_name): Likewise.
22666         * lib/openat.c (openat_needs_fchdir): Likewise.
22667         * lib/save-cwd.c (save_cwd): Likewise.
22668         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
22669
22670 2010-08-28  Bruno Haible  <bruno@clisp.org>
22671
22672         New module 'host-cpu-c-abi'.
22673         * modules/host-cpu-c-abi: New file.
22674         * m4/host-cpu-c-abi.m4: New file, based on part of
22675         clisp/src/m4/general.m4.
22676         Requested by Sam Steingold <sds@gnu.org>.
22677
22678 2010-08-31  Eric Blake  <eblake@redhat.com>
22679         and Jim Meyering  <meyering@redhat.com>
22680
22681         hash: factor, and guard against misbehaving hasher function
22682         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
22683         of table->hasher's return value.  Also protect against a hash value
22684         so large that adding it to table->bucket results in a NULL pointer.
22685         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
22686         Use it in place of open-coded check-and-abort.
22687
22688 2010-08-30  Bruno Haible  <bruno@clisp.org>
22689
22690         hash: silence spurious clang warning
22691         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
22692         Reported by Eric Blake.
22693
22694 2010-08-30  Eric Blake  <eblake@redhat.com>
22695
22696         strstr, memmem, strcasestr: avoid leaked shell message
22697         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
22698         FreeBSD.
22699         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22700         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
22701
22702         tests: silence clang warning
22703         * tests/test-malloca.c (do_allocation): Avoid dead store.
22704
22705 2010-08-29  Bruno Haible  <bruno@clisp.org>
22706
22707         gettext: Fix recent mistake.
22708         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
22709
22710 2010-08-29  Bruno Haible  <bruno@clisp.org>
22711
22712         selinux-h: Offer a --without-selinux option.
22713         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
22714         --without-selinux was specified, skip all tests and define
22715         HAVE_SELINUX_SELINUX_H to 0.
22716         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
22717         set LIB_SELINUX to empty.
22718         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
22719         gl_LIBSELINUX. If --without-selinux was specified, replace
22720         selinux/context.h.
22721         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
22722
22723 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
22724             Bruno Haible  <bruno@clisp.org>
22725
22726         Make the module 'realloc-gnu' work again on AIX and OSF/1.
22727         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
22728         of HAVE_REALLOC.
22729         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
22730         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
22731         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
22732         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
22733
22734 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
22735             Bruno Haible  <bruno@clisp.org>
22736
22737         Make the module 'calloc-gnu' work again on AIX and OSF/1.
22738         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
22739         HAVE_CALLOC.
22740         * lib/xmalloc.c: Update accordingly.
22741         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
22742         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
22743         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
22744
22745 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
22746             Bruno Haible  <bruno@clisp.org>
22747
22748         Make the module 'malloc-gnu' work again on AIX and OSF/1.
22749         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
22750         HAVE_MALLOC.
22751         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
22752         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
22753         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
22754
22755 2010-08-29  Bruno Haible  <bruno@clisp.org>
22756
22757         Update modules list.
22758         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
22759         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
22760         (String handling <string.h>): Add astrxfrm.
22761         (File system functions): Add readlinkat.
22762
22763 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22764
22765         Tests for module 'realloc-gnu'.
22766         * modules/realloc-gnu-tests: New file.
22767         * tests/test-realloc-gnu.c: New file.
22768
22769         Tests for module 'calloc-gnu'.
22770         * modules/calloc-gnu-tests: New file.
22771         * tests/test-calloc-gnu.c: New file.
22772
22773         Tests for module 'malloc-gnu'.
22774         * modules/malloc-gnu-tests: New file.
22775         * tests/test-malloc-gnu.c: New file.
22776
22777 2010-08-28  Bruno Haible  <bruno@clisp.org>
22778
22779         Rename module 'realloc' -> 'realloc-gnu'.
22780         * modules/realloc-gnu: New file, copied from modules/realloc.
22781         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
22782         obsolete.
22783         * modules/mgetgroups (Depends-on): Update.
22784         * doc/posix-functions/realloc.texi: Update.
22785         * NEWS: Mention the change.
22786
22787         Rename module 'calloc' -> 'calloc-gnu'.
22788         * modules/calloc-gnu: New file, copied from modules/calloc.
22789         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
22790         obsolete.
22791         * doc/posix-functions/calloc.texi: Update.
22792         * NEWS: Mention the change.
22793
22794         Rename module 'malloc' -> 'malloc-gnu'.
22795         * modules/malloc-gnu: New file, copied from modules/malloc.
22796         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
22797         obsolete.
22798         * modules/argp (Depends-on): Update.
22799         * modules/regex (Depends-on): Update.
22800         * doc/posix-functions/malloc.texi: Update.
22801         * NEWS: Mention the change.
22802
22803 2010-08-28  Eric Blake  <eblake@redhat.com>
22804
22805         pread, pwrite: add missing dependency
22806         * modules/pread (Depends-on): Add extensions.
22807         * modules/pwrite (Depends-on): Likewise.
22808
22809 2010-08-28  Bruno Haible  <bruno@clisp.org>
22810
22811         unistr/u*-strchr: Fix tests dependencies.
22812         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
22813         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
22814         Reported by Ian Beckwith <ianb@erislabs.net>.
22815
22816 2010-08-28  Bruno Haible  <bruno@clisp.org>
22817
22818         read-file: Don't occupy too much unused memory.
22819         * lib/read-file.c (fread_file): Shrink the buffer at the end.
22820
22821 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
22822             Eric Blake  <eblake@redhat.com>
22823             Bruno Haible  <bruno@clisp.org>
22824
22825         read-file: Avoid memory reallocations with regular files.
22826         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
22827         (fread_file): With regular files, use the remaining length as the
22828         initial buffer size.  Check against overflow.
22829         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
22830         sys_stat.
22831
22832 2010-08-28  Bruno Haible  <bruno@clisp.org>
22833
22834         ftello: Relax license.
22835         * modules/ftello (License): Relax to LGPLv2+.
22836         Reported by Eric Blake.
22837
22838 2010-08-28  Bruno Haible  <bruno@clisp.org>
22839
22840         Avoid relocwrapper link errors due to gnulib replacement functions.
22841         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
22842         function.
22843         Reported by Ben Pfaff <blp@cs.stanford.edu>.
22844
22845 2010-08-28  Bruno Haible  <bruno@clisp.org>
22846
22847         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
22848         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
22849         defined.
22850         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
22851         Suggested by Eric Blake.
22852
22853 2010-08-28  Bruno Haible  <bruno@clisp.org>
22854
22855         sys_socket, netdb: Ensure socklen_t gets defined.
22856         * modules/sys_socket (Depends-on): Add socklen.
22857         * modules/netdb (Depends-on): Likewise.
22858         * modules/getaddrinfo (Depends-on): Remove socklen.
22859         * modules/getsockopt (Depends-on): Likewise.
22860         * modules/setsockopt (Depends-on): Likewise.
22861         * tests/test-sys_socket.c: Check that socklen_t is defined.
22862         * tests/test-netdb.c: Likewise.
22863         * m4/socklen.m4: Update comments.
22864         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22865
22866 2010-08-27  Eric Blake  <eblake@redhat.com>
22867
22868         login_tty: add missing dependency
22869         * modules/login_tty (Depends-on): Add pty.
22870
22871 2010-08-26  Eric Blake  <eblake@redhat.com>
22872
22873         lib-symbol-versions: fix m4 quoting
22874         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
22875         format for AC_LINK_IFELSE.
22876
22877         glob: fix compile test
22878         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
22879
22880         btowc: fix missing file
22881         * modules/btowc (Files): Also ship locale-fr.m4.
22882
22883         lseek: fix link test
22884         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
22885         AC_LINK_IFELSE.
22886
22887         include_next: silence autoconf 2.68 warning
22888         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
22889         AC_COMPILE_IFELSE as special.
22890         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
22891         autoconf < 2.68.
22892
22893         acl: fix compilation test
22894         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
22895         AC_COMPILE_IFELSE.
22896
22897 2010-08-26  Bruno Haible  <bruno@clisp.org>
22898
22899         Modernize AC_TRY_RUN invocations.
22900         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
22901         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
22902         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
22903         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
22904         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
22905         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
22906         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
22907         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
22908         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
22909         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
22910         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
22911         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
22912         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
22913         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
22914         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
22915         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
22916         gl_MBRLEN_NUL_RETVAL): Likewise.
22917         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
22918         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
22919         Likewise.
22920         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
22921         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
22922         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
22923         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
22924         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
22925         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
22926         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
22927         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
22928         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
22929         Likewise.
22930         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
22931         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
22932         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
22933         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
22934         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
22935         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
22936         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22937         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
22938         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
22939         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
22940
22941 2010-08-26  Bruno Haible  <bruno@clisp.org>
22942
22943         Modernize AC_TRY_LINK invocations.
22944         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
22945         AC_TRY_LINK.
22946         * m4/argp.m4 (gl_ARGP): Likewise.
22947         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
22948         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
22949         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
22950         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
22951         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
22952         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
22953         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
22954         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
22955         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
22956         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
22957         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
22958         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
22959         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
22960         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
22961         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
22962         * m4/hostent.m4 (gl_HOSTENT): Likewise.
22963         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
22964         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
22965         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
22966         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
22967         Likewise.
22968         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
22969         Likewise.
22970         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
22971         Likewise.
22972         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
22973         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
22974         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
22975         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
22976         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
22977         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
22978         * m4/servent.m4 (gl_SERVENT): Likewise.
22979         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
22980         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
22981         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
22982         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
22983         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
22984         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
22985         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
22986         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
22987         * modules/tsearch-tests (configure.ac): Likewise.
22988
22989 2010-08-26  Bruno Haible  <bruno@clisp.org>
22990
22991         Modernize AC_TRY_COMPILE invocations.
22992         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
22993         AC_TRY_COMPILE.
22994         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
22995         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
22996         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
22997         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
22998         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
22999         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
23000         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
23001         * m4/lock.m4 (gl_LOCK): Likewise.
23002         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
23003         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
23004         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
23005         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
23006         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
23007         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
23008         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
23009         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
23010         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
23011         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
23012         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
23013         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
23014         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
23015         extraneous semicolon.
23016
23017 2010-08-26  Jim Meyering  <meyering@redhat.com>
23018
23019         stat-time: relax license LGPL
23020         * modules/stat-time (License): Change from GPL to LGPL,
23021         with consent from all contributors, for use in libguile.
23022         Requested by Ludovic Courtès.
23023
23024 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
23025
23026         poll: return immediately on POLLHUP.
23027         * lib/poll.c (poll): Always set timeout before wait_timeout is
23028         computed.
23029
23030 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23031
23032         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
23033         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
23034         rmdir ("dir/.//"), unlinkat.
23035
23036 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
23037
23038         stdbool: avoid spurious failure with modern xlc
23039         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
23040
23041 2010-08-24  Bruno Haible  <bruno@clisp.org>
23042
23043         getloadavg: simplify code
23044         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
23045         gl_have_func. Update comments.
23046
23047 2010-08-24  Eric Blake  <eblake@redhat.com>
23048
23049         getloadavg: don't define SVR4 on cygwin
23050         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
23051         only define SVR4 when -lkvm is required.
23052         Reported by Yaakov Selkowitz.
23053
23054 2010-08-24  Bruno Haible  <bruno@clisp.org>
23055
23056         priv-set: fix comment
23057         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
23058
23059 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
23060
23061         priv-set: fix comments
23062         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
23063         to match code, as suggested by David Bartley in:
23064         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
23065
23066 2010-08-23  Eric Blake  <eblake@redhat.com>
23067
23068         stdbool: avoid rejecting clang
23069         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
23070         * tests/test-stdbool.c: Enable more tests if using the system
23071         <stdbool.h> instead of the gnulib replacement.
23072         (main): Move xlc bug test to a runtime test for all compilers.
23073         Reported by Anders Kaseorg.
23074
23075         argz: fix shell quoting issue
23076         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
23077         Reported by Charles Wilson.
23078
23079 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
23080             Erik Faye-Lund <kusmabite@gmail.com>
23081
23082         poll, select: handle ERROR_BROKEN_PIPE.
23083         * lib/poll.c (win32_compute_revents): Return POLLHUP when
23084         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
23085         * lib/select.c (win32_compute_revents): Do not mark a pipe
23086         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
23087
23088 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
23089
23090         fts: allow compilation with C++
23091         * lib/fts_.h: Specify extern "C" linkage with C++.
23092
23093 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23094
23095         Fix gnulib-tool sed script de-commentation for AIX sed.
23096         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
23097         sed.
23098
23099 2010-08-17  Eric Blake  <eblake@redhat.com>
23100
23101         test-stddef: test for (some) offsetof bugs
23102         * tests/test-stddef.c: Enhance test to ensure correct type of
23103         offsetof.
23104         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
23105         that we are not fixing at this time.
23106
23107 2010-08-15  Bruno Haible  <bruno@clisp.org>
23108
23109         stpncpy: Allow stpncpy to be defined as a macro.
23110         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
23111         if it's already correctly declared.
23112         * lib/string.in.h (stpncpy): Undefine before redefining.
23113         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
23114
23115 2010-08-14  Bruno Haible  <bruno@clisp.org>
23116
23117         Rename module 'memxfrm' to 'amemxfrm'.
23118         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
23119         (amemxfrm): Renamed from memxfrm.
23120         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
23121         (amemxfrm): Renamed from memxfrm.
23122         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
23123         * NEWS: Mention the change.
23124         * MODULES.html.sh (String handling <string.h>): Update.
23125         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
23126         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
23127         * lib/unicase/u16-casexfrm.c: Likewise.
23128         * lib/unicase/u32-casexfrm.c: Likewise.
23129         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
23130         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
23131         * lib/uninorm/u16-normxfrm.c: Likewise.
23132         * lib/uninorm/u32-normxfrm.c: Likewise.
23133         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
23134         memxfrm.
23135         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
23136         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
23137         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
23138         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
23139         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
23140         Suggested by Paul Eggert.
23141
23142 2010-08-14  Bruno Haible  <bruno@clisp.org>
23143
23144         Tests for module 'astrxfrm'.
23145         * modules/astrxfrm-tests: New file.
23146         * tests/test-astrxfrm.c: New file.
23147
23148         New module 'astrxfrm'.
23149         * lib/astrxfrm.h: New file.
23150         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
23151         * modules/astrxfrm: New file.
23152
23153 2010-08-14  Reuben Thomas <rrt@sc3d.org>
23154
23155         regex: Tweak doc.
23156         * doc/regex.texi (Overview): Don't mention regex.c.
23157         (GNU Regular Expression Compiling): Likewise.
23158         (Match-end-of-line Operator): Mention 'not_eol'.
23159
23160 2010-08-14  Brian Gough  <bjg@gnu.org>
23161             Bruno Haible  <bruno@clisp.org>
23162
23163         git-merge-changelog: add doc relating to use with bzr and hg.
23164         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
23165
23166 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
23167
23168         pthread: fix pthread.h creation for srcdir != builddir
23169         * modules/pthread (Makefile.am): Fix the rule to work also in a
23170         non-srcdir build.
23171
23172 2010-08-13  Karl Berry  <karl@gnu.org>
23173
23174         * doc/regex.texi (Predefined Syntaxes): @smallexample.
23175         * doc/posix-*/*: force line break before @url of POSIX
23176         specifications.
23177         Suggested by Werner Lemberg.
23178
23179 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
23180
23181         strtod: fix const diagnostic
23182         * lib/strtod.c (strtod): Don't assign const char * to char *,
23183         as this elicits a warning from GCC when warnings are enabled.
23184
23185 2010-08-10  Pádraig Brady <P@draigbrady.com>
23186         and Eric Blake  <eblake@redhat.com>
23187
23188         copy-acl: ignore ENOTSUP on HP-UX
23189         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
23190         so that it is available for HP-UX.
23191         * lib/copy-acl.c (qcopy_acl): Use it.
23192         Reported by Patrick M. Callahan.
23193
23194 2010-08-10  Eric Blake  <eblake@redhat.com>
23195
23196         open, chown: relax license
23197         * modules/open (License): Change to LGPLv2+, with consent by all
23198         authors, for use in augeas.
23199         * modules/chown (License): Likewise.
23200         * modules/lchown (Likewise): Likewise.
23201         Requested by Adam Stokes.
23202
23203 2010-08-09  Karl Berry  <karl@gnu.org>
23204
23205         * build-aux/ar-lib: new file, import from Automake.
23206         * config/srclist.txt: autocheck for updates.
23207
23208 2010-08-09  Eric Blake  <eblake@redhat.com>
23209
23210         readlinkat: adjust client modules
23211         * modules/areadlinkat (Depends-on): Use readlinkat, not
23212         symlinkat.
23213         * modules/areadlinkat-with-size (Depends-on): Likewise.
23214
23215         mknod: be more vocal about danger of running tests as root
23216         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
23217         root, since that is just asking for problems.
23218         Suggested by Bruno Haible, based on a report by Rainer Tammer.
23219
23220         readlinkat: split into its own module
23221         * modules/symlinkat: Split readlinkat...
23222         * modules/readlinkat: ...into separate module.
23223         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
23224         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
23225         * lib/symlinkat.c (readlinkat): Move...
23226         * lib/readlinkat.c: ...into new file.
23227         * modules/symlinkat-tests: Split readlinkat test...
23228         * modules/readlinkat-tests: ...into separate module.
23229         * tests/test-symlinkat.c: Split...
23230         * tests/test-readlinkat.c: ...into new file.
23231         * NEWS: Document the split.
23232         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
23233         * lib/unistd.in.h (readlinkat): Likewise.
23234         Suggested by Bruno Haible.
23235
23236 2010-08-08  Bruno Haible  <bruno@clisp.org>
23237
23238         memxfrm: Speed up.
23239         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
23240         that usually only one call to strxfrm is necessary for each string
23241         part.
23242         Reported by Paul Eggert <eggert@cs.ucla.edu>.
23243
23244 2010-08-07  Karl Berry  <karl@gnu.org>
23245
23246         * doc/posix-headers/limits.texi,
23247         * doc/posix-functions/malloc.texi,
23248         * doc/posix-functions/strsignal.texi: missing @item.
23249         * doc/ld-version-script.texi: spurious leading i.
23250         * doc/regex.texi (Interval Operators): no commas inside @var.
23251
23252 2010-08-01  Bruno Haible  <bruno@clisp.org>
23253
23254         Integrate the regex documentation.
23255         * doc/gnulib.texi: Define 'cn' index.
23256         (Regular expressions): New a chapter that includes regex.texi and
23257         regexprops-generic.texi.
23258         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
23259         syntax.
23260
23261         Whitespace cleanup.
23262         * doc/regex.texi: Remove trailing spaces.
23263
23264         Add regex documentation.
23265         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
23266         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
23267         Written by Kathy A. Hargreaves and Karl Berry.
23268
23269 2010-08-01  Bruno Haible  <bruno@clisp.org>
23270
23271         link: Update documentation.
23272         * doc/posix-functions/link.texi: Update regarding Solaris.
23273
23274 2010-07-31  Bruno Haible  <bruno@clisp.org>
23275
23276         Update modules list.
23277         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
23278         (String handling <string.h>): Add memcmp2, memxfrm.
23279         (Container data structures): Add xlist, xsublist, xoset.
23280         (Core language properties): Add alignof, unused-parameter.
23281         (Process control, Numeric conversion functions <stdlib.h>): Renamed
23282         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
23283         (Unibyte characters <ctype.h>): New section.
23284         (String handling <string.h>): New section.
23285         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
23286         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
23287         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
23288         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
23289         tan, tanh, tanl, y0, y1, yn.
23290         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
23291         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
23292         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
23293         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
23294         unlockpt, vdprintf, vdprintf-posix.
23295         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
23296         (File system functions): Add concat-filename, sys_file, sys_ioctl,
23297         xconcat-filename.
23298         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
23299         getdtablesize, pipe2, pipe2-safer.
23300         (Security): New section.
23301         (Networking functions): Add accept4.
23302         (Signal handling): Add sigpipe.
23303         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
23304         mbmemcasecoll.
23305         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
23306         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
23307         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
23308         pipe-filter-ii.
23309         (Misc): Add argp-version-etc, login_tty, parse-duration.
23310
23311 2010-07-31  Bruno Haible  <bruno@clisp.org>
23312
23313         Improve doc in MODULES.html.
23314         * modules/linkat (Description): Add the word "function".
23315         * modules/mkfifo (Description): Likewise.
23316         * modules/mknod (Description): Likewise.
23317         * modules/remove (Description): Likewise.
23318         * modules/renameat (Description): Likewise.
23319         * modules/stat (Description): Likewise.
23320         * modules/symlink (Description): Likewise.
23321         * modules/unlink (Description): Likewise.
23322
23323 2010-07-31  Bruno Haible  <bruno@clisp.org>
23324
23325         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
23326         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
23327         option --enable/disable-c++ instead of --enable/disable-cxx.
23328         * NEWS: Mention the change.
23329
23330 2010-07-31  Bruno Haible  <bruno@clisp.org>
23331
23332         readlink, areadlink: Relax test a bit.
23333         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
23334         alternative to ENOTDIR.
23335         * tests/test-areadlink.h (test_areadlink): Likewise.
23336         Reported by Rainer Tammer.
23337
23338 2010-07-31  Bruno Haible  <bruno@clisp.org>
23339
23340         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
23341         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
23342         character, perform the search using U_STRCHR.
23343         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
23344         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
23345         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
23346         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
23347         Suggested by Paolo Bonzini.
23348
23349 2010-07-31  Bruno Haible  <bruno@clisp.org>
23350
23351         unistr/u*-strstr: Fix dependencies.
23352         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
23353         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
23354         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
23355
23356 2010-07-31  Bruno Haible  <bruno@clisp.org>
23357
23358         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
23359         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
23360         the beginning of the loop.
23361         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
23362         cases in 'switch' statement.
23363
23364         unistr/u8-strchr: Fix several bugs.
23365         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
23366         the string. When not found, return NULL, not a pointer near the end.
23367
23368         More tests for unistr/u8-strchr.
23369         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
23370         that the function does not read past the first occurrence of the byte
23371         being searched.
23372         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
23373         * tests/unistr/test-u16-strchr.c (main): New function.
23374         * tests/unistr/test-u32-strchr.c (main): New function.
23375
23376 2010-07-31  Bruno Haible  <bruno@clisp.org>
23377
23378         posix-modules: Ignore backup files of documentation files.
23379         * posix-modules: grep only through files named *.texi.
23380
23381 2010-07-31  Bruno Haible  <bruno@clisp.org>
23382
23383         symlinkat: Fix documentation.
23384         * doc/posix-functions/readlinkat.texi: Fix module name.
23385
23386 2010-07-31  Bruno Haible  <bruno@clisp.org>
23387
23388         fchownat: Replace also when chown has the trailing slash bug.
23389         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
23390         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
23391         introduced on 2010-04-10.
23392         Reported by Rainer Tammer.
23393
23394 2010-07-31  Bruno Haible  <bruno@clisp.org>
23395
23396         linkat: Work around AIX 7.1 bug.
23397         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
23398         whether linkat handles trailing slash correctly. If not, replace linkat
23399         and define LINKAT_TRAILING_SLASH_BUG.
23400         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
23401         check whether (fd1,file1) points to a directory if file1 or file2 ends
23402         in a slash. Code taken from lib/link.c.
23403         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
23404         Reported by Rainer Tammer.
23405
23406 2010-07-31  Bruno Haible  <bruno@clisp.org>
23407
23408         Correctly determine whether pow is available in libc on AIX 7 with xlc.
23409         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
23410         This disables an xlc optimization that was causing wrong test results.
23411         Reported by Rainer Tammer.
23412
23413 2010-07-31  Bruno Haible  <bruno@clisp.org>
23414
23415         iconv: Work around AIX 6.1..7.1 bug.
23416         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
23417         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
23418         cross-compiling, guess no on all versions of AIX.
23419         Reported by Rainer Tammer.
23420
23421 2010-07-31  Bruno Haible  <bruno@clisp.org>
23422
23423         readlink: Relax test a bit.
23424         * tests/test-readlink.h (test_readlink): Allow different errno value
23425         when readlink is called with a file name that ends in / and refers to
23426         a file.
23427         Suggested by Eric Blake.
23428         Reported by Rainer Tammer.
23429
23430 2010-07-31  Bruno Haible  <bruno@clisp.org>
23431
23432         copysign: Does not require -lm on glibc systems.
23433         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
23434         gl_COMMON_DOUBLE_MATHFUNC.
23435         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
23436
23437 2010-07-31  Bruno Haible  <bruno@clisp.org>
23438
23439         duplocale: Work around AIX 7.1 bug.
23440         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
23441         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
23442         * lib/duplocale.c (rpl_duplocale): Update comment.
23443         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
23444         Reported by Rainer Tammer.
23445
23446 2010-07-30  Bruno Haible  <bruno@clisp.org>
23447
23448         dirfd: Avoid link error on AIX 7.1.
23449         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
23450         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
23451         exist, set REPLACE_DIRFD.
23452         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
23453         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
23454         * doc/posix-functions/dirfd.texi: Update.
23455         Reported by Rainer Tammer.
23456
23457 2010-07-30  Eric Blake  <eblake@redhat.com>
23458
23459         strtod: next round of AIX fixes
23460         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
23461         exponent.
23462         * tests/test-strtod.c (main): Enhance tests.
23463         * doc/posix-functions/strtod.texi (strtod): Document next bug.
23464         Reported by Rainer Tammer.
23465
23466         futimens: fix configure check
23467         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
23468         Reported by Bruno Haible.
23469
23470 2010-07-30  Bruno Haible  <bruno@clisp.org>
23471
23472         getline: Update regarding AIX.
23473         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
23474         Reported by Rainer Tammer.
23475
23476 2010-07-30  Bruno Haible  <bruno@clisp.org>
23477
23478         wcwidth: Drop replacement on AIX 7.
23479         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
23480         AIX 7.
23481         Reported by Rainer Tammer.
23482
23483 2010-07-30  Bruno Haible  <bruno@clisp.org>
23484
23485         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
23486         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
23487         a 'char *'.
23488         Reported by Rainer Tammer.
23489
23490 2010-07-30  Bruno Haible  <bruno@clisp.org>
23491
23492         unlink: Update regarding AIX.
23493         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
23494         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
23495         Reported by Rainer Tammer.
23496
23497 2010-07-30  Bruno Haible  <bruno@clisp.org>
23498
23499         symlink: Update regarding AIX.
23500         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
23501         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
23502         Reported by Rainer Tammer.
23503
23504 2010-07-30  Bruno Haible  <bruno@clisp.org>
23505
23506         strndup: Update regarding AIX.
23507         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
23508         AIX 7.
23509         Reported by Rainer Tammer.
23510
23511 2010-07-30  Bruno Haible  <bruno@clisp.org>
23512
23513         stat: Update regarding AIX.
23514         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
23515         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
23516         Reported by Rainer Tammer.
23517
23518 2010-07-30  Bruno Haible  <bruno@clisp.org>
23519
23520         truncl: Fix autoconf test.
23521         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
23522         whether truncl works.
23523         Reported by Rainer Tammer.
23524
23525 2010-07-30  Bruno Haible  <bruno@clisp.org>
23526
23527         round: Update regarding AIX.
23528         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
23529         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
23530         Reported by Rainer Tammer.
23531
23532 2010-07-30  Bruno Haible  <bruno@clisp.org>
23533
23534         rename: Update regarding AIX.
23535         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
23536         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
23537         Reported by Rainer Tammer.
23538
23539 2010-07-30  Bruno Haible  <bruno@clisp.org>
23540
23541         printf.m4: Update regarding AIX.
23542         * m4/printf.m4: Update comments regarding AIX.
23543         Reported by Rainer Tammer.
23544
23545 2010-07-30  Bruno Haible  <bruno@clisp.org>
23546
23547         iconv: Update regarding AIX.
23548         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
23549         AIX 7.
23550         Reported by Rainer Tammer.
23551
23552 2010-07-30  Bruno Haible  <bruno@clisp.org>
23553
23554         getopt: Update regarding AIX.
23555         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
23556         no on AIX.
23557         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
23558         Reported by Rainer Tammer.
23559
23560 2010-07-30  Bruno Haible  <bruno@clisp.org>
23561
23562         ldexpl; Update regarding AIX.
23563         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
23564         on AIX 7.
23565         Reported by Rainer Tammer.
23566
23567 2010-07-30  Bruno Haible  <bruno@clisp.org>
23568
23569         frexpl: Update regarding AIX.
23570         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
23571         on AIX 7.
23572         Reported by Rainer Tammer.
23573
23574 2010-07-30  Bruno Haible  <bruno@clisp.org>
23575
23576         open, fopen: Update regarding AIX.
23577         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
23578         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
23579         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
23580         * doc/posix-functions/fopen.texi: Likewise.
23581         Reported by Rainer Tammer.
23582
23583 2010-07-30  Bruno Haible  <bruno@clisp.org>
23584
23585         chown: Update doc regarding AIX.
23586         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
23587         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
23588         Reported by Rainer Tammer.
23589
23590 2010-07-30  Eric Blake  <eblake@redhat.com>
23591
23592         strtod: fix bug in replacement function on AIX
23593         * lib/strtod.c (strtod): Special case broken "0x" parse in
23594         underlying strtod.
23595         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
23596         * doc/posix-functions/strtod.texi (strtod): Likewise.
23597         Reported by Rainer Tammer.
23598
23599 2010-07-30  Bruno Haible  <bruno@clisp.org>
23600
23601         mbrlen: Fix cross-compilation guess for AIX.
23602         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
23603         guess. Leftover from 2008-12-22.
23604
23605 2010-07-30  Bruno Haible  <bruno@clisp.org>
23606
23607         mbrtowc: Fix cross-compilation guess for AIX.
23608         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
23609         guess. Leftover from 2008-12-21.
23610
23611 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
23612
23613         init.sh: work around trap limitation of some shells
23614         * tests/init.sh (setup_): Move exit trap outside of shell function.
23615
23616 2010-07-29  Eric Blake  <eblake@redhat.com>
23617
23618         strtod: aid debugging
23619         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
23620         understanding why strtod is rejected.
23621
23622 2010-07-28  Bruno Haible  <bruno@clisp.org>
23623
23624         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
23625         * lib/unistr/u8-chr.c: Include <string.h>.
23626         * tests/unistr/test-u8-chr.c: Likewise.
23627         * tests/unistr/test-u16-chr.c: Likewise.
23628         * tests/unistr/test-u32-chr.c: Likewise.
23629         * tests/unistr/test-u8-strchr.c: Likewise.
23630         * tests/unistr/test-u16-strchr.c: Likewise.
23631         * tests/unistr/test-u32-strchr.c: Likewise.
23632         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
23633         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
23634         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
23635         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
23636
23637 2010-07-28  Bruno Haible  <bruno@clisp.org>
23638
23639         Use spaces for indentation, not tabs.
23640         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
23641
23642 2010-07-27  Bruno Haible  <bruno@clisp.org>
23643
23644         mbspcasecmp: Fix function specification.
23645         * lib/string.in.h (mbspcasecmp): Fix specification comment.
23646         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
23647         Reported by Eric Blake <eblake@redhat.com>.
23648
23649 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
23650
23651         timespec: use cast and not conditional, as truncation isn't possible
23652         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
23653         instead of a conditional.  Comment about the situation in more detail.
23654         This undoes most of the 2009-10-29 patch.
23655
23656 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
23657
23658         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
23659         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
23660         * lib/unistr/u8-strchr.c: Likewise.
23661         * modules/unistr/u8-chr: Depend on memchr.
23662
23663         unistr/u*-strchr: add tests
23664         * modules/unistr/u8-strchr-tests: New file.
23665         * modules/unistr/u16-strchr-tests: New file.
23666         * modules/unistr/u32-strchr-tests: New file.
23667         * tests/unistr/test-strchr.h: New file.
23668         * tests/unistr/test-u8-strchr.c: New file.
23669         * tests/unistr/test-u16-strchr.c: New file.
23670         * tests/unistr/test-u32-strchr.c: New file.
23671
23672         unistr/u*-chr: test multibyte sequences more
23673         * tests/unistr/test-chr.h: Do complete testing of the characters in the
23674         test vector.
23675         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
23676         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
23677         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
23678
23679         unistr/u*-chr: test multibyte sequences
23680         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
23681
23682         unistr/u*-chr: prepare for multibyte tests
23683         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
23684         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
23685         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
23686         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
23687         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
23688         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
23689
23690 2010-07-18  Bruno Haible  <bruno@clisp.org>
23691
23692         unistr/u8-strchr: Optimize non-ASCII argument case.
23693         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
23694         because the first byte often matches anyway.
23695         Reported by Pádraig Brady <P@draigbrady.com>.
23696
23697 2010-07-15  Karl Berry  <karl@gnu.org>
23698
23699         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
23700
23701 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
23702
23703         getcwd: on Solaris, work better if ancestors are inaccessible
23704         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
23705         buffer and size, try again with a large buffer.  This works better
23706         on Solaris, since its getcwd succeeds even if the path to the root
23707         is inaccessible, and this is helpful in common cases such as .zfs
23708         hidden directories.  Problem reported by J Chapman Flack in
23709         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
23710         Use system getcwd if it's declared, not merely if it's partly
23711         working; use the partly-working test only to avoid needless effort
23712         if the system getcwd fails.
23713         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
23714         comment that was already obsolete and is now even more obsolete.
23715         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
23716         now might call strdup.
23717
23718 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
23719
23720         pthread: Add enough so that coreutils/src/sort.c compiles.
23721         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
23722         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
23723         gnulib. Include <sched.h> and <time.h>, as per POSIX.
23724         Include <sys/types.h>, in case it defines pthread_t.
23725         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
23726         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
23727         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
23728         (pthread_rwlockattr_t, pthread_spinlock_t):
23729         New typedefs, if HAVE_PTHREAD_T is not defined.
23730         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
23731         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
23732         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
23733         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
23734         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
23735         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
23736         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
23737         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
23738         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
23739         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
23740         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
23741         New macros.
23742         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
23743         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
23744         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
23745         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
23746         (pthread_spin_unlock): New dummy functions.
23747         (pthread_create): Return EAGAIN; don't set errno.
23748         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
23749         require AC_C_INLINE.
23750         * modules/pthread (Depends-on): Add sched, time.
23751         (pthread.h): Use AM_V_GEN.
23752
23753 2010-07-13  Bruno Haible  <bruno@clisp.org>
23754
23755         striconveh: Don't malloc memory if the result buffer is sufficient.
23756         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
23757         buffer if its size is sufficient.
23758         Reported by Ludovic Courtès <ludo@gnu.org>.
23759
23760 2010-07-13  Bruno Haible  <bruno@clisp.org>
23761
23762         strtod: Add safety check.
23763         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
23764
23765 2010-07-12  Bruno Haible  <bruno@clisp.org>
23766
23767         Unify tests that set gl_cv_func_ldexpl_no_libm.
23768         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
23769         gl_FUNC_LDEXPL.
23770         (gl_FUNC_LDEXPL): Invoke it.
23771         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
23772
23773 2010-07-12  Bruno Haible  <bruno@clisp.org>
23774
23775         Unify tests that set gl_cv_func_ldexp_no_libm.
23776         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
23777         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
23778         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
23779         (configure.ac): Simply invoke gl_FUNC_LDEXP.
23780         * modules/strtod (Files): Add m4/ldexp.m4.
23781
23782 2010-07-12  Bruno Haible  <bruno@clisp.org>
23783
23784         Unify tests that set gl_cv_func_frexpl_no_libm.
23785         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
23786         gl_FUNC_FREXPL_NO_LIBM.
23787         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
23788         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
23789
23790 2010-07-12  Bruno Haible  <bruno@clisp.org>
23791
23792         Unify tests that set gl_cv_func_frexp_no_libm.
23793         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
23794         gl_FUNC_FREXP_NO_LIBM.
23795         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
23796         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
23797
23798 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
23799
23800         memcoll: clarify sizes versus lengths, document better, and tweak perf
23801         * lib/memcoll.c (strcoll_loop, memcoll0):
23802         Improve quality of descriptive comments.  Name variables
23803         consistently as to whether they are lengths (which do not include
23804         terminating null) versus sizes (which do).
23805         * lib/xmemcoll.c (xmemcoll0): Likewise.
23806         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
23807         returned when s1size == 0; this is easier to compile and saves
23808         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
23809
23810 2010-07-12  Bruno Haible  <bruno@clisp.org>
23811
23812         Tests for module '_Exit'.
23813         * modules/_Exit-tests: New file.
23814         * tests/test-_Exit.sh: New file.
23815         * tests/test-_Exit.c: New file.
23816
23817         New module '_Exit'.
23818         * lib/stdlib.in.h (__attribute__): New macro.
23819         (_Exit): New declaration.
23820         * lib/_Exit.c: New file.
23821         * m4/_Exit.m4: New file.
23822         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
23823         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
23824         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
23825         * modules/_Exit: New file.
23826         * tests/test-stdlib-c++.cc (_Exit): Check signature.
23827         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
23828
23829 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
23830
23831         strtod: make it more-accurate typically, and don't require libm
23832         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
23833         Include limits.h.  Don't include string.h.
23834         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
23835         (locale_isspace): New function, so that no casts are needed to
23836         check whether *s is a space.
23837         (ldexp): Provide an unused dummy if not available.
23838         (scale_radix_exp, parse_number, underlying_strtod): New functions.
23839         (strtod): Use them.  This implementation prefers to use the
23840         underlying strtod if available, falling back on our own code
23841         only to fix known bugs.  This is more likely to produce an
23842         accurate result.  Also, it avoids the use of libm functions.
23843         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
23844         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
23845         was absent, but it caused a test failure with coreutils.
23846         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
23847         with libm.
23848         * modules/strtod (Makefile.am, Link): libm is no longer needed.
23849         * modules/strtod-tests (Makefile.am): Likewise.
23850
23851 2010-07-11  Pádraig Brady  <P@draigBrady.com>
23852             Bruno Haible  <bruno@clisp.org>
23853
23854         unistr/u8-strchr: Optimize ASCII argument case.
23855         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
23856
23857 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
23858
23859         (x)memcoll: minor tweaks
23860         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
23861         is after the type that it qualifies.
23862         (memcoll0): Likewise.
23863         * lib/memcoll.h (memcoll0): Likewise.
23864         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
23865         * lib/xmemcoll.h (xmemcoll0): Likewise.
23866         * lib/memcoll.c (memcoll0): Correct the comment.  This function
23867         differs from memcoll in that the NUL byte is part of the argument.
23868         Omit the abort-checks, as performance is a real issue here.  Plus,
23869         the checks were wrong anyway (an off-by-one error).  Omit local
23870         variable 'diff', as it's a bit clearer that way.
23871         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
23872         no longer needed.
23873
23874 2010-07-08  Chen Guo <chenguo4@yahoo.com>
23875
23876         (x)memcoll: speedup when input is known to be NUL delimited
23877         * lib/memcoll.c: Include stdlib.
23878         (memcoll0): New function.
23879         (strcoll_loop): New function, refactored for use in both memcoll
23880         and memcoll0.
23881         * lib/memcoll.h (memcoll0): Add prototype.
23882         * lib/xmemcoll.c (xmemcoll0): New function.
23883         (collate_error): New function, refactored for use in both xmemcoll
23884         and xmemcoll0.
23885         * lib/xmemcoll.h (xmemcoll0): Add prototype.
23886         * m4/memcoll.m4: add inline invocation.
23887
23888 2010-07-06  Pádraig Brady  <P@draigBrady.com>
23889
23890         * build-aux/bootstrap: Remove any local translations
23891         from the translation project synchronization directory,
23892         so that local only translations are not distributed.
23893
23894 2010-07-04  Bruno Haible  <bruno@clisp.org>
23895
23896         fsusage: Clarify which code applies to which platforms.
23897         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
23898         platform.
23899         * lib/fsusage.c (get_fs_usage): Likewise.
23900
23901 2010-07-04  Bruno Haible  <bruno@clisp.org>
23902
23903         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
23904         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
23905         Reported by Martin Lambers <marlam@marlam.de>.
23906
23907 2010-07-04  Jim Meyering  <meyering@redhat.com>
23908
23909         hash: once again explicitly disallow insertion of NULL
23910         * lib/hash.c (hash_insert0): Reinstate just-removed test:
23911         inserting a NULL pointer cannot work with these functions.
23912         Add a comment with details.
23913         This reverts part of the 2010-07-01 commit, 5bef1a35
23914         "hash: extend module to deal with non-pointer keys".
23915
23916 2010-07-01  Bruno Haible  <bruno@clisp.org>
23917
23918         stdbool: Update doc.
23919         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
23920         Info from Christian Weisgerber <naddy@mips.inka.de>.
23921
23922 2010-07-01  Jim Meyering  <meyering@redhat.com>
23923
23924         hash: extend module to deal with non-pointer keys
23925         * lib/hash.c (hash_insert0): New interface, much like hash_insert
23926         but that allows insertion of non-pointer entries.
23927         Do not disallow an ENTRY value of NULL.
23928         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
23929         * lib/hash.h (hash_insert0): Declare.
23930
23931 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
23932
23933         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
23934         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
23935         not present (i.e. with autoconf 2.59 and when using gettextize, not
23936         gnulib), require AC_GNU_SOURCE instead.
23937
23938 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
23939
23940         idpriv-drop: Fix tests.
23941         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
23942         not to the test-idpriv-droptemp program.
23943
23944 2010-06-29  Bruno Haible  <bruno@clisp.org>
23945
23946         string: Fix syntax error with g++ 2.96.
23947         * lib/string.in.h (__pure__): Remove definition.
23948         (_GL_ATTRIBUTE_PURE): New macro.
23949         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
23950         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
23951         Reported by Christian Weisgerber <naddy@mips.inka.de>.
23952
23953 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
23954
23955         unitypes: Fix bug introduced on 2010-05-18.
23956         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
23957
23958 2010-06-22  Eric Blake  <eblake@redhat.com>
23959
23960         memmem: slight optimization
23961         * lib/str-two-way.h (critical_factorization): Update comments.
23962         Reduce work during factorization phase.
23963         Reported by Carlos Bueno <carlos@bueno.org>.
23964
23965 2010-06-21  Bruno Haible  <bruno@clisp.org>
23966
23967         Fix HAVE_CALLOC_POSIX misnomer.
23968         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
23969         !HAVE_CALLOC_POSIX.
23970         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
23971         HAVE_CALLOC_POSIX.
23972         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
23973         instead of HAVE_CALLOC_POSIX.
23974         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
23975         HAVE_CALLOC_POSIX.
23976
23977         Use modern idiom for calloc() replacement.
23978         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
23979         AC_FUNC_CALLOC.
23980         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
23981         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
23982         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
23983         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
23984         (gl_REPLACE_CALLOC): New macro.
23985
23986 2010-06-21  Bruno Haible  <bruno@clisp.org>
23987
23988         Fix HAVE_REALLOC_POSIX misnomer.
23989         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
23990         !HAVE_REALLOC_POSIX.
23991         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
23992         HAVE_REALLOC_POSIX.
23993         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
23994         instead of HAVE_REALLOC_POSIX.
23995         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
23996         HAVE_REALLOC_POSIX.
23997
23998         Use modern idiom for realloc() replacement.
23999         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
24000         AC_FUNC_REALLOC.
24001         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
24002         Autoconf's AC_FUNC_REALLOC.
24003         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
24004         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
24005         (gl_REPLACE_REALLOC): New macro.
24006         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
24007
24008 2010-06-21  Bruno Haible  <bruno@clisp.org>
24009
24010         Fix HAVE_MALLOC_POSIX misnomer.
24011         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
24012         !HAVE_MALLOC_POSIX.
24013         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
24014         HAVE_MALLOC_POSIX.
24015         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
24016         instead of HAVE_MALLOC_POSIX.
24017         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
24018         HAVE_MALLOC_POSIX.
24019
24020         Use modern idiom for malloc() replacement.
24021         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
24022         AC_FUNC_MALLOC.
24023         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
24024         Autoconf's AC_FUNC_MALLOC.
24025         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
24026         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
24027         (gl_REPLACE_MALLOC): New macro.
24028         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
24029
24030 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
24031
24032         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
24033         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
24034         This macro takes 3 arguments, not 4.
24035
24036 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
24037
24038         ipv6: fix detection under mingw
24039         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
24040         in6_addr.
24041
24042 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
24043
24044         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
24045         that strtod() works when cross-compiling to a glibc version known
24046         to work.
24047
24048 2010-06-15  Bruno Haible  <bruno@clisp.org>
24049
24050         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
24051
24052 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
24053
24054         select: Correct timeout.
24055         * lib/select.c (rpl_select): Compute wait_timeout correctly.
24056
24057 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
24058
24059         git-version-gen: init shell var to avoid env var influence
24060         * build-aux/git-version-gen (v): Init shell var to empty.
24061
24062 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
24063
24064         priv-set: Don't assume that priv.h exists merely because getppriv does.
24065         See Jan Andersen's bug report about AIX 5L in
24066         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
24067         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
24068         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
24069         * lib/priv-set.h: Likewise.
24070         * tests/test-priv-set.c: Likewise.
24071
24072 2010-06-13  Bruno Haible  <bruno@clisp.org>
24073
24074         relocatable: Make it easier to test whether to install wrappers.
24075         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
24076         RELOCATABLE_VIA_WRAPPER.
24077
24078 2010-06-13  Bruno Haible  <bruno@clisp.org>
24079
24080         gnulib-tool: Display specified modules and dependencies differently.
24081         * gnulib-tool (func_show_module_list): New function.
24082         (func_import, func_create_testdir): Invoke it.
24083         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
24084
24085 2010-06-13  Bruno Haible  <bruno@clisp.org>
24086
24087         gnulib-tool: Align code of func_import and func_create_testdir.
24088         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
24089         specified_modules.
24090
24091 2010-06-12  Jim Meyering  <meyering@redhat.com>
24092
24093         test-inttostr: avoid spurious failure on Solaris 9
24094         * tests/test-inttostr.c (main): Skip the test when snprintf fails
24095         to accept "%ju".  Reported by Bruno Haible.
24096
24097 2010-06-11  Jim Meyering  <meyering@redhat.com>
24098
24099         test-sys_socket: mark variables as used more readably
24100         * tests/test-sys_socket.c (main): Mark otherwise unused variables
24101         as "used" explicitly via (void) statement casts.  This is more
24102         readable than using them in an artificial return expression.
24103         Suggestion from Bruno Haible.
24104
24105 2010-06-11  Bruno Haible  <bruno@clisp.org>
24106
24107         Avoid some more warnings from "gcc -Wwrite-strings".
24108         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
24109         to 'const char *'.
24110         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
24111         * tests/test-c-strcasestr.c (main): Likewise.
24112         * tests/test-mbscasestr1.c (main): Likewise.
24113         * tests/test-mbscasestr2.c (main): Likewise.
24114         * tests/test-memmem.c (main): Likewise.
24115         * tests/test-strstr.c (main): Likewise.
24116         * tests/test-strcasestr.c (main): Likewise.
24117
24118 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24119
24120         init.sh: change framework_failure_ to fail with status 99, not 1
24121         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
24122         automake's parallel-tests rule that this is an unexpected failure,
24123         even if the test is listed in XFAIL_TESTS.
24124
24125 2010-06-11  Jim Meyering  <meyering@redhat.com>
24126
24127         test-inttostr: avoid warnings about 4-6KB literal strings
24128         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
24129         Include "macros.h", for its definition of ASSERT.
24130         (CK): s/assert/ASSERT/
24131         * modules/inttostr-tests (Files): Add macros.h.
24132
24133         init.sh: don't use $ME_ or skip_ before they are defined
24134         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
24135         their first uses.  Also hoist their companions: warn_, fail_,
24136         framework_failure_, $stderr_fileno.  Prompted by a patch from
24137         Stefano Lattarini.
24138
24139         test-sys_socket: avoid set-but-not-used warnings from gcc
24140         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
24141         avoid warning about set-but-not-used variables.
24142
24143         test-xvasprintf: avoid 'const' discard warnings
24144         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
24145         "const" when assigning from literal strings.
24146         (test_xasprintf): Add "void" in function argument list to placate
24147         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
24148
24149         tests: avoid compilation warnings in argmatch and exclude tests...
24150         in packages that define ARGMATCH_DIE_DECL, like coreutils.
24151         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
24152         Since it always exits, declare with the "noreturn" attribute.
24153         * tests/test-argmatch.c: Likewise.
24154
24155         tests: avoid 'const' discard warnings in mbsstr tests
24156         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
24157         * tests/test-mbsstr2.c (main): Likewise.
24158
24159         test-verify: avoid warning from gcc's -Wmissing-declarations
24160         * tests/test-verify.c (function): Declare to be static.
24161
24162         test-inttostr.c: include <string.h> for use of strcmp
24163         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
24164
24165         test-linkat: avoid failed assertion on "other" architectures
24166         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
24167         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
24168         sparc: https://bugs.launchpad.net/bugs/591968
24169
24170 2010-06-11  Jim Meyering  <meyering@redhat.com>
24171
24172         printf.m4: avoid autoconf's "Expanded Before Required" warning
24173         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
24174         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
24175         autoconf warning.
24176
24177 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
24178
24179         Replacement header templates are now named with ".in", not "_".
24180         * doc/gnulib-intro.texi: Correct.
24181
24182 2010-06-10  Jim Meyering  <meyering@redhat.com>
24183
24184         inttostr-tests: depend on snprintf, not snprintf-posix
24185         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
24186         snprintf-posix, to avoid this aclocal failure:
24187           missing file gnulib-tests/vasnprintf.c
24188           configure.ac:45: error: expected source file, required through \
24189           AC_LIBSOURCES, not found
24190
24191 2010-06-10  Jim Meyering  <meyering@redhat.com>
24192
24193         inttostr: add a new function, inttostr, and tests
24194         The namesake function was not available.  The existence of the
24195         template file, inttostr.c makes its addition nontrivial.
24196         * lib/anytostr.c: Rename from inttostr.c.
24197         (anytostr): Rename from inttostr.
24198         * lib/inttostr.c: New file.
24199         * modules/inttostr (Files): Add anytostr.c.
24200         (Makefile.am): Set lib_SOURCES instead of ...
24201         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
24202         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
24203         * lib/offtostr.c: Likewise.
24204         * lib/uinttostr.c: Likewise.
24205         * lib/umaxtostr.c: Likewise.
24206         * modules/inttostr-tests: New file.
24207         * tests/test-inttostr.c: New file.  Test these functions.
24208
24209 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
24210             Bruno Haible  <bruno@clisp.org>
24211
24212         Add "Extending Gnulib" chapter to manual.
24213         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
24214         chapter.
24215         (Extending Gnulib): New chapter.
24216         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
24217         chapter.
24218
24219 2010-06-09  Bruno Haible  <bruno@clisp.org>
24220
24221         Avoid relocwrapper link errors due to gnulib replacement functions.
24222         * lib/areadlink.c: Use the system's malloc, realloc functions.
24223         (areadlink): Set errno to ENOMEM explicitly.
24224         * modules/areadlink (Depends-on): Remove malloc-posix.
24225         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24226
24227 2010-06-09  Bruno Haible  <bruno@clisp.org>
24228
24229         Avoid relocwrapper link errors due to gnulib replacement functions.
24230         * lib/canonicalize-lgpl.c: Use the system's malloc function.
24231         * lib/malloca.c: Likewise.
24232         * lib/relocatable.c: Likewise.
24233         * lib/progreloc.c: Use the system's malloc, sprintf functions.
24234         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
24235         * lib/setenv.c: Use the system's malloc, realloc functions.
24236         * lib/strerror.c: Use the system's sprintf function.
24237         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24238
24239 2010-06-04  Bruno Haible  <bruno@clisp.org>
24240
24241         Prefer documented low-level autoconf macro names.
24242         * m4/lib-link.m4: Use m4_translit instead of translit.
24243         * m4/environ.m4: Likewise.
24244         * m4/mathfunc.m4: Likewise.
24245         * m4/onceonly.m4: Likewise.
24246         * m4/stdint.m4: Likewise.
24247         Suggested by Eric Blake.
24248
24249 2010-06-04  Martin Lambers  <marlam@marlam.de>
24250             Bruno Haible  <bruno@clisp.org>
24251
24252         havelib: Allow library names with '+' characters.
24253         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
24254         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
24255
24256 2010-06-09  Bruno Haible  <bruno@clisp.org>
24257
24258         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
24259         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
24260         realloc failed.
24261
24262 2010-06-08  Peter Simons  <simons@cryp.to>
24263
24264         maint.mk: make the news-check rule more configurable
24265         * top/maint.mk (news-check-lines-spec): New variable.
24266         (news-check): Use "sed -n 1,10p" in place of "head".
24267
24268 2010-06-07  Jim Meyering  <meyering@redhat.com>
24269
24270         do-release-commit-and-tag: fix typo in --help
24271         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
24272
24273         regex: avoid new dead-code warning with gcc-4.6.0
24274         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
24275         if-block containing a while-loop.  It's been unused for at least
24276         5 years.
24277
24278 2010-06-05  Bruno Haible  <bruno@clisp.org>
24279
24280         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
24281         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
24282
24283 2010-06-04  Bruno Haible  <bruno@clisp.org>
24284
24285         Update to GNU gettext 0.18.1.
24286         * modules/gettext (configure.ac): Require gettext infrastructure from
24287         version 0.18.1.
24288
24289 2010-06-03  Bruno Haible  <bruno@clisp.org>
24290
24291         Don't use AC_LIBOBJ with file names in subdirectories.
24292         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
24293         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
24294         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
24295         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
24296         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
24297         gl_LIBUNISTRING_LIBSOURCE.
24298         (Makefile.am): Augment lib_SOURCES here, conditionally.
24299         * NEWS: Drop requirement for Automake option 'subdir-objects'.
24300
24301 2010-06-03  Bruno Haible  <bruno@clisp.org>
24302
24303         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
24304         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
24305         expansion does not end with a newline.
24306         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
24307         unnecessary newline.
24308
24309 2010-06-03  Bruno Haible  <bruno@clisp.org>
24310
24311         Reduce dependencies.
24312         * tests/test-quotearg.h: New file, extracted from
24313         tests/test-quotearg.c.
24314         * tests/test-quotearg-simple.c: New file, extracted from
24315         tests/test-quotearg.c.
24316         * tests/test-quotearg.c: Don't include <ctype.h>.
24317         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
24318         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
24319         use_quote_double_quotes, use_quotearg_colon): Moved to
24320         tests/test-quotearg.h.
24321         (results_g, flag_results, custom_quotes, custom_results): Moved
24322         to tests/test-quotearg-simple.c.
24323         (main): Moved the part that does not depend on gettext to
24324         tests/test-quotearg-simple.c. Return 77 if the test cannot be
24325         performed.
24326         * modules/quotearg-simple: New file.
24327         * modules/quotearg-simple-tests: New file.
24328         * modules/quotearg (Depends-on): Add quotearg-simple.
24329         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
24330         (Files): Add tests/test-quotearg.h.
24331         Reported by Paolo Bonzini.
24332
24333 2010-06-03  Bruno Haible  <bruno@clisp.org>
24334
24335         Reduce dependencies.
24336         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
24337
24338 2010-06-03  Bruno Haible  <bruno@clisp.org>
24339
24340         time: Undefine more broken macros.
24341         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
24342         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
24343         Reported by Eric Blake.
24344
24345 2010-06-03  Bruno Haible  <bruno@clisp.org>
24346
24347         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
24348         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
24349         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
24350         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
24351         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
24352         Reported by Ludovic Courtès <ludo@gnu.org>.
24353
24354 2010-06-02  Eric Blake  <eblake@redhat.com>
24355
24356         time: work with mingw + pthreads-win32 library
24357         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
24358         if timespec is defined only in pthread.h.
24359         * modules/time (Makefile.am): Substitute it.
24360         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
24361         <pthread.h>, when needed.
24362         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
24363         from the library.
24364
24365 2010-05-31  Bruno Haible  <bruno@clisp.org>
24366
24367         Avoid expanding two macros in the wrong order.
24368         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
24369         gl_LIBUNISTRING if it is defined.
24370         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
24371         autoconf >= 2.64.
24372         Reported by Ludovic Courtès <ludo@gnu.org>.
24373
24374 2010-05-27  Jim Meyering  <meyering@redhat.com>
24375
24376         maint.mk: also prohibit "#undef" of always-defined symbols
24377         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
24378         Allow more than one space before the symbol name.
24379         (sc_prohibit_always-defined_macros): Use grep's -E, now that
24380         the regexp uses alternation.
24381
24382 2010-05-26  Eric Blake  <eblake@redhat.com>
24383
24384         maint.mk: avoid echo -e
24385         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
24386         Convert all uses of echo -* to printf.
24387         Reported by Matthias Bolte.
24388
24389 2010-05-25  Bruno Haible  <bruno@clisp.org>
24390
24391         Update to GNU gettext 0.18, part 2.
24392         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
24393         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
24394
24395 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24396
24397         Add missing include in test-pwrite.c.
24398         * tests/test-pwrite.c: Include string.h, for strcmp.
24399
24400 2010-05-24  Bruno Haible  <bruno@clisp.org>
24401
24402         * NEWS: Mention requirement for Automake option 'subdir-objects'.
24403
24404 2010-05-24  Bruno Haible  <bruno@clisp.org>
24405
24406         Don't use conversion with transliteration in u{8,16,32}_strcoll.
24407         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
24408         iconveh_error argument.
24409         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
24410         U_STRCONV_TO_LOCALE.
24411         * lib/unistr/u16-strcoll.c: Likewise.
24412         * lib/unistr/u32-strcoll.c: Likewise.
24413         * modules/unistr/u8-strcoll (Depends-on): Add
24414         uniconv/u8-strconv-to-enc, localcharset. Remove
24415         uniconv/u8-strconv-to-locale.
24416         (configure.ac): Bump version number.
24417         * modules/unistr/u16-strcoll (Depends-on): Add
24418         uniconv/u16-strconv-to-enc, localcharset. Remove
24419         uniconv/u16-strconv-to-locale.
24420         (configure.ac): Bump version number.
24421         * modules/unistr/u32-strcoll (Depends-on): Add
24422         uniconv/u32-strconv-to-enc, localcharset. Remove
24423         uniconv/u32-strconv-to-locale.
24424         (configure.ac): Bump version number.
24425
24426 2010-05-24  Bruno Haible  <bruno@clisp.org>
24427
24428         Avoid a test failure on NetBSD 5.0.
24429         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
24430         an iconv() bug.
24431
24432 2010-05-24  Bruno Haible  <bruno@clisp.org>
24433
24434         Adjust #include directive style.
24435         * modules/regex (Includes): Recommend to write <regex.h>.
24436
24437 2010-05-24  Bruno Haible  <bruno@clisp.org>
24438
24439         regex: Don't require alloca.
24440         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
24441         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
24442         only inside if (0).
24443
24444 2010-05-23  Jim Meyering  <meyering@redhat.com>
24445
24446         test-renameat.c: include <sys/stat.h>
24447         * tests/test-renameat.c: Include <sys/stat.h>; required for
24448         definition of S_IS* macros.
24449
24450 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
24451
24452         Update maintainer documentation for 'relocatable-prog' module.
24453         * doc/relocatable-maint.texi: Update.
24454         Comments by Bruno Haible.
24455
24456 2010-05-23  Bruno Haible  <bruno@clisp.org>
24457
24458         git-merge-changelog: Enable --split-merged-entry by default.
24459         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
24460         (usage): Don't mention this option any more.
24461         Reported by Ralf Wildenhues.
24462
24463 2010-05-23  Jim Meyering  <meyering@redhat.com>
24464
24465         test-pwrite: do not leave behind a test file named "out"
24466         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
24467         The trivial-looking use of init.sh is really necessary.
24468         It ensures that the temporary file, "out", is created in
24469         a temporary directory, and removed upon termination.
24470         * tests/test-pwrite.sh: Re-add file.
24471         * modules/pwrite-tests: Reference it.
24472
24473 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24474
24475         Fix output redirection buglet in init.sh.
24476         * tests/init.sh: Fix redirection of stderr.
24477
24478 2010-05-20  Simon Josefsson  <simon@josefsson.org>
24479
24480         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
24481
24482 2010-05-17  Simon Josefsson  <simon@josefsson.org>
24483
24484         * modules/valgrind-tests: New file.
24485         * m4/valgrind-tests.m4: New file.
24486         * doc/valgrind-tests.texi: New file.
24487         * doc/gnulib.texi (Running self-tests under valgrind): New
24488         section.
24489
24490 2010-05-19  Bruno Haible  <bruno@clisp.org>
24491
24492         Clean up dead code in recent commit.
24493         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
24494         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
24495         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
24496         Suggested by Paolo Bonzini.
24497
24498 2010-05-19  Bruno Haible  <bruno@clisp.org>
24499
24500         Avoid valgrind error reports from libunistring.
24501         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
24502         * modules/libunistring (Files): Add it.
24503         * modules/libunistring-optional (Files): Likewise.
24504
24505 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
24506             Bruno Haible  <bruno@clisp.org>
24507
24508         New module 'libunistring-optional'.
24509         * modules/libunistring-optional: New file.
24510         * m4/libunistring-base.m4: New file.
24511         * m4/libunistring-optional.m4: New file.
24512         * lib/unicase.in.h: Renamed from lib/unicase.h.
24513         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
24514         * lib/unictype.in.h: Renamed from lib/unictype.h.
24515         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
24516         * lib/uniname.in.h: Renamed from lib/uniname.h.
24517         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
24518         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
24519         * lib/unistr.in.h: Renamed from lib/unistr.h.
24520         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
24521         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
24522         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
24523         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
24524         gl_LIBUNISTRING. If the library was found, determine the installed
24525         version and set LIBUNISTRING_VERSION.
24526         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
24527         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
24528         handle a configuration option --with-included-libunistring.
24529         * modules/libunistring (Files): Add m4/absolute-header.m4.
24530         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
24531         Add m4/libunistring-base.m4.
24532         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24533         (Makefile.am): Build unicase.h from unicase.in.h.
24534         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
24535         Add m4/libunistring-base.m4.
24536         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24537         (Makefile.am): Build uniconv.h from uniconv.in.h.
24538         * modules/unictype/base (Files): Use unictype.in.h instead of
24539         unictype.h. Add m4/libunistring-base.m4.
24540         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24541         (Makefile.am): Build unictype.h from unictype.in.h.
24542         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
24543         Add m4/libunistring-base.m4.
24544         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24545         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
24546         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
24547         Add m4/libunistring-base.m4.
24548         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24549         (Makefile.am): Build uniname.h from uniname.in.h.
24550         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
24551         Add m4/libunistring-base.m4.
24552         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24553         (Makefile.am): Build uninorm.h from uninorm.in.h.
24554         * modules/unistdio/base (Files): Use unistdio.in.h instead of
24555         unistdio.h. Add m4/libunistring-base.m4.
24556         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24557         (Makefile.am): Build unistdio.h from unistdio.in.h.
24558         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
24559         Add m4/libunistring-base.m4.
24560         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24561         (Makefile.am): Build unistr.h from unistr.in.h.
24562         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
24563         Add m4/libunistring-base.m4.
24564         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24565         (Makefile.am): Build unitypes.h from unitypes.in.h.
24566         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
24567         Add m4/libunistring-base.m4.
24568         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24569         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
24570         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
24571         uniwidth.h. Add m4/libunistring-base.m4.
24572         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24573         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
24574         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
24575         instead of augmenting lib_SOURCES.
24576         * modules/unicase/empty-suffix-context: Likewise.
24577         * modules/unicase/locale-language: Likewise.
24578         * modules/unicase/tolower: Likewise.
24579         * modules/unicase/totitle: Likewise.
24580         * modules/unicase/toupper: Likewise.
24581         * modules/unicase/u8-casecmp: Likewise.
24582         * modules/unicase/u8-casecoll: Likewise.
24583         * modules/unicase/u8-casefold: Likewise.
24584         * modules/unicase/u8-casexfrm: Likewise.
24585         * modules/unicase/u8-ct-casefold: Likewise.
24586         * modules/unicase/u8-ct-tolower: Likewise.
24587         * modules/unicase/u8-ct-totitle: Likewise.
24588         * modules/unicase/u8-ct-toupper: Likewise.
24589         * modules/unicase/u8-is-cased: Likewise.
24590         * modules/unicase/u8-is-casefolded: Likewise.
24591         * modules/unicase/u8-is-lowercase: Likewise.
24592         * modules/unicase/u8-is-titlecase: Likewise.
24593         * modules/unicase/u8-is-uppercase: Likewise.
24594         * modules/unicase/u8-prefix-context: Likewise.
24595         * modules/unicase/u8-suffix-context: Likewise.
24596         * modules/unicase/u8-tolower: Likewise.
24597         * modules/unicase/u8-totitle: Likewise.
24598         * modules/unicase/u8-toupper: Likewise.
24599         * modules/unicase/u16-casecmp: Likewise.
24600         * modules/unicase/u16-casecoll: Likewise.
24601         * modules/unicase/u16-casefold: Likewise.
24602         * modules/unicase/u16-casexfrm: Likewise.
24603         * modules/unicase/u16-ct-casefold: Likewise.
24604         * modules/unicase/u16-ct-tolower: Likewise.
24605         * modules/unicase/u16-ct-totitle: Likewise.
24606         * modules/unicase/u16-ct-toupper: Likewise.
24607         * modules/unicase/u16-is-cased: Likewise.
24608         * modules/unicase/u16-is-casefolded: Likewise.
24609         * modules/unicase/u16-is-lowercase: Likewise.
24610         * modules/unicase/u16-is-titlecase: Likewise.
24611         * modules/unicase/u16-is-uppercase: Likewise.
24612         * modules/unicase/u16-prefix-context: Likewise.
24613         * modules/unicase/u16-suffix-context: Likewise.
24614         * modules/unicase/u16-tolower: Likewise.
24615         * modules/unicase/u16-totitle: Likewise.
24616         * modules/unicase/u16-toupper: Likewise.
24617         * modules/unicase/u32-casecmp: Likewise.
24618         * modules/unicase/u32-casecoll: Likewise.
24619         * modules/unicase/u32-casefold: Likewise.
24620         * modules/unicase/u32-casexfrm: Likewise.
24621         * modules/unicase/u32-ct-casefold: Likewise.
24622         * modules/unicase/u32-ct-tolower: Likewise.
24623         * modules/unicase/u32-ct-totitle: Likewise.
24624         * modules/unicase/u32-ct-toupper: Likewise.
24625         * modules/unicase/u32-is-cased: Likewise.
24626         * modules/unicase/u32-is-casefolded: Likewise.
24627         * modules/unicase/u32-is-lowercase: Likewise.
24628         * modules/unicase/u32-is-titlecase: Likewise.
24629         * modules/unicase/u32-is-uppercase: Likewise.
24630         * modules/unicase/u32-prefix-context: Likewise.
24631         * modules/unicase/u32-suffix-context: Likewise.
24632         * modules/unicase/u32-tolower: Likewise.
24633         * modules/unicase/u32-totitle: Likewise.
24634         * modules/unicase/u32-toupper: Likewise.
24635         * modules/unicase/ulc-casecmp: Likewise.
24636         * modules/unicase/ulc-casecoll: Likewise.
24637         * modules/unicase/ulc-casexfrm: Likewise.
24638         * modules/uniconv/u8-conv-from-enc: Likewise.
24639         * modules/uniconv/u8-conv-to-enc: Likewise.
24640         * modules/uniconv/u8-strconv-from-enc: Likewise.
24641         * modules/uniconv/u8-strconv-from-locale: Likewise.
24642         * modules/uniconv/u8-strconv-to-enc: Likewise.
24643         * modules/uniconv/u8-strconv-to-locale: Likewise.
24644         * modules/uniconv/u16-conv-from-enc: Likewise.
24645         * modules/uniconv/u16-conv-to-enc: Likewise.
24646         * modules/uniconv/u16-strconv-from-enc: Likewise.
24647         * modules/uniconv/u16-strconv-from-locale: Likewise.
24648         * modules/uniconv/u16-strconv-to-enc: Likewise.
24649         * modules/uniconv/u16-strconv-to-locale: Likewise.
24650         * modules/uniconv/u32-conv-from-enc: Likewise.
24651         * modules/uniconv/u32-conv-to-enc: Likewise.
24652         * modules/uniconv/u32-strconv-from-enc: Likewise.
24653         * modules/uniconv/u32-strconv-from-locale: Likewise.
24654         * modules/uniconv/u32-strconv-to-enc: Likewise.
24655         * modules/uniconv/u32-strconv-to-locale: Likewise.
24656         * modules/unictype/bidicategory-byname: Likewise.
24657         * modules/unictype/bidicategory-name: Likewise.
24658         * modules/unictype/bidicategory-of: Likewise.
24659         * modules/unictype/bidicategory-test: Likewise.
24660         * modules/unictype/block-list: Likewise.
24661         * modules/unictype/block-test: Likewise.
24662         * modules/unictype/category-C: Likewise.
24663         * modules/unictype/category-Cc: Likewise.
24664         * modules/unictype/category-Cf: Likewise.
24665         * modules/unictype/category-Cn: Likewise.
24666         * modules/unictype/category-Co: Likewise.
24667         * modules/unictype/category-Cs: Likewise.
24668         * modules/unictype/category-L: Likewise.
24669         * modules/unictype/category-Ll: Likewise.
24670         * modules/unictype/category-Lm: Likewise.
24671         * modules/unictype/category-Lo: Likewise.
24672         * modules/unictype/category-Lt: Likewise.
24673         * modules/unictype/category-Lu: Likewise.
24674         * modules/unictype/category-M: Likewise.
24675         * modules/unictype/category-Mc: Likewise.
24676         * modules/unictype/category-Me: Likewise.
24677         * modules/unictype/category-Mn: Likewise.
24678         * modules/unictype/category-N: Likewise.
24679         * modules/unictype/category-Nd: Likewise.
24680         * modules/unictype/category-Nl: Likewise.
24681         * modules/unictype/category-No: Likewise.
24682         * modules/unictype/category-P: Likewise.
24683         * modules/unictype/category-Pc: Likewise.
24684         * modules/unictype/category-Pd: Likewise.
24685         * modules/unictype/category-Pe: Likewise.
24686         * modules/unictype/category-Pf: Likewise.
24687         * modules/unictype/category-Pi: Likewise.
24688         * modules/unictype/category-Po: Likewise.
24689         * modules/unictype/category-Ps: Likewise.
24690         * modules/unictype/category-S: Likewise.
24691         * modules/unictype/category-Sc: Likewise.
24692         * modules/unictype/category-Sk: Likewise.
24693         * modules/unictype/category-Sm: Likewise.
24694         * modules/unictype/category-So: Likewise.
24695         * modules/unictype/category-Z: Likewise.
24696         * modules/unictype/category-Zl: Likewise.
24697         * modules/unictype/category-Zp: Likewise.
24698         * modules/unictype/category-Zs: Likewise.
24699         * modules/unictype/category-and: Likewise.
24700         * modules/unictype/category-and-not: Likewise.
24701         * modules/unictype/category-byname: Likewise.
24702         * modules/unictype/category-name: Likewise.
24703         * modules/unictype/category-none: Likewise.
24704         * modules/unictype/category-of: Likewise.
24705         * modules/unictype/category-or: Likewise.
24706         * modules/unictype/category-test: Likewise.
24707         * modules/unictype/combining-class: Likewise.
24708         * modules/unictype/ctype-alnum: Likewise.
24709         * modules/unictype/ctype-alpha: Likewise.
24710         * modules/unictype/ctype-blank: Likewise.
24711         * modules/unictype/ctype-cntrl: Likewise.
24712         * modules/unictype/ctype-digit: Likewise.
24713         * modules/unictype/ctype-graph: Likewise.
24714         * modules/unictype/ctype-lower: Likewise.
24715         * modules/unictype/ctype-print: Likewise.
24716         * modules/unictype/ctype-punct: Likewise.
24717         * modules/unictype/ctype-space: Likewise.
24718         * modules/unictype/ctype-upper: Likewise.
24719         * modules/unictype/ctype-xdigit: Likewise.
24720         * modules/unictype/decimal-digit: Likewise.
24721         * modules/unictype/digit: Likewise.
24722         * modules/unictype/mirror: Likewise.
24723         * modules/unictype/numeric: Likewise.
24724         * modules/unictype/property-alphabetic: Likewise.
24725         * modules/unictype/property-ascii-hex-digit: Likewise.
24726         * modules/unictype/property-bidi-arabic-digit: Likewise.
24727         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
24728         * modules/unictype/property-bidi-block-separator: Likewise.
24729         * modules/unictype/property-bidi-boundary-neutral: Likewise.
24730         * modules/unictype/property-bidi-common-separator: Likewise.
24731         * modules/unictype/property-bidi-control: Likewise.
24732         * modules/unictype/property-bidi-embedding-or-override: Likewise.
24733         * modules/unictype/property-bidi-eur-num-separator: Likewise.
24734         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
24735         * modules/unictype/property-bidi-european-digit: Likewise.
24736         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
24737         * modules/unictype/property-bidi-left-to-right: Likewise.
24738         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
24739         * modules/unictype/property-bidi-other-neutral: Likewise.
24740         * modules/unictype/property-bidi-pdf: Likewise.
24741         * modules/unictype/property-bidi-segment-separator: Likewise.
24742         * modules/unictype/property-bidi-whitespace: Likewise.
24743         * modules/unictype/property-byname: Likewise.
24744         * modules/unictype/property-combining: Likewise.
24745         * modules/unictype/property-composite: Likewise.
24746         * modules/unictype/property-currency-symbol: Likewise.
24747         * modules/unictype/property-dash: Likewise.
24748         * modules/unictype/property-decimal-digit: Likewise.
24749         * modules/unictype/property-default-ignorable-code-point: Likewise.
24750         * modules/unictype/property-deprecated: Likewise.
24751         * modules/unictype/property-diacritic: Likewise.
24752         * modules/unictype/property-extender: Likewise.
24753         * modules/unictype/property-format-control: Likewise.
24754         * modules/unictype/property-grapheme-base: Likewise.
24755         * modules/unictype/property-grapheme-extend: Likewise.
24756         * modules/unictype/property-grapheme-link: Likewise.
24757         * modules/unictype/property-hex-digit: Likewise.
24758         * modules/unictype/property-hyphen: Likewise.
24759         * modules/unictype/property-id-continue: Likewise.
24760         * modules/unictype/property-id-start: Likewise.
24761         * modules/unictype/property-ideographic: Likewise.
24762         * modules/unictype/property-ids-binary-operator: Likewise.
24763         * modules/unictype/property-ids-trinary-operator: Likewise.
24764         * modules/unictype/property-ignorable-control: Likewise.
24765         * modules/unictype/property-iso-control: Likewise.
24766         * modules/unictype/property-join-control: Likewise.
24767         * modules/unictype/property-left-of-pair: Likewise.
24768         * modules/unictype/property-line-separator: Likewise.
24769         * modules/unictype/property-logical-order-exception: Likewise.
24770         * modules/unictype/property-lowercase: Likewise.
24771         * modules/unictype/property-math: Likewise.
24772         * modules/unictype/property-non-break: Likewise.
24773         * modules/unictype/property-not-a-character: Likewise.
24774         * modules/unictype/property-numeric: Likewise.
24775         * modules/unictype/property-other-alphabetic: Likewise.
24776         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
24777         * modules/unictype/property-other-grapheme-extend: Likewise.
24778         * modules/unictype/property-other-id-continue: Likewise.
24779         * modules/unictype/property-other-id-start: Likewise.
24780         * modules/unictype/property-other-lowercase: Likewise.
24781         * modules/unictype/property-other-math: Likewise.
24782         * modules/unictype/property-other-uppercase: Likewise.
24783         * modules/unictype/property-paired-punctuation: Likewise.
24784         * modules/unictype/property-paragraph-separator: Likewise.
24785         * modules/unictype/property-pattern-syntax: Likewise.
24786         * modules/unictype/property-pattern-white-space: Likewise.
24787         * modules/unictype/property-private-use: Likewise.
24788         * modules/unictype/property-punctuation: Likewise.
24789         * modules/unictype/property-quotation-mark: Likewise.
24790         * modules/unictype/property-radical: Likewise.
24791         * modules/unictype/property-sentence-terminal: Likewise.
24792         * modules/unictype/property-soft-dotted: Likewise.
24793         * modules/unictype/property-space: Likewise.
24794         * modules/unictype/property-terminal-punctuation: Likewise.
24795         * modules/unictype/property-test: Likewise.
24796         * modules/unictype/property-titlecase: Likewise.
24797         * modules/unictype/property-unassigned-code-value: Likewise.
24798         * modules/unictype/property-unified-ideograph: Likewise.
24799         * modules/unictype/property-uppercase: Likewise.
24800         * modules/unictype/property-variation-selector: Likewise.
24801         * modules/unictype/property-white-space: Likewise.
24802         * modules/unictype/property-xid-continue: Likewise.
24803         * modules/unictype/property-xid-start: Likewise.
24804         * modules/unictype/property-zero-width: Likewise.
24805         * modules/unictype/scripts: Likewise.
24806         * modules/unictype/syntax-c-ident: Likewise.
24807         * modules/unictype/syntax-c-whitespace: Likewise.
24808         * modules/unictype/syntax-java-ident: Likewise.
24809         * modules/unictype/syntax-java-whitespace: Likewise.
24810         * modules/unilbrk/u8-possible-linebreaks: Likewise.
24811         * modules/unilbrk/u8-width-linebreaks: Likewise.
24812         * modules/unilbrk/u16-possible-linebreaks: Likewise.
24813         * modules/unilbrk/u16-width-linebreaks: Likewise.
24814         * modules/unilbrk/u32-possible-linebreaks: Likewise.
24815         * modules/unilbrk/u32-width-linebreaks: Likewise.
24816         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
24817         * modules/unilbrk/ulc-width-linebreaks: Likewise.
24818         * modules/uniname/uniname: Likewise.
24819         * modules/uninorm/canonical-decomposition: Likewise.
24820         * modules/uninorm/composition: Likewise.
24821         * modules/uninorm/decomposing-form: Likewise.
24822         * modules/uninorm/decomposition: Likewise.
24823         * modules/uninorm/filter: Likewise.
24824         * modules/uninorm/nfc: Likewise.
24825         * modules/uninorm/nfd: Likewise.
24826         * modules/uninorm/nfkc: Likewise.
24827         * modules/uninorm/nfkd: Likewise.
24828         * modules/uninorm/u8-normalize: Likewise.
24829         * modules/uninorm/u8-normcmp: Likewise.
24830         * modules/uninorm/u8-normcoll: Likewise.
24831         * modules/uninorm/u8-normxfrm: Likewise.
24832         * modules/uninorm/u16-normalize: Likewise.
24833         * modules/uninorm/u16-normcmp: Likewise.
24834         * modules/uninorm/u16-normcoll: Likewise.
24835         * modules/uninorm/u16-normxfrm: Likewise.
24836         * modules/uninorm/u32-normalize: Likewise.
24837         * modules/uninorm/u32-normcmp: Likewise.
24838         * modules/uninorm/u32-normcoll: Likewise.
24839         * modules/uninorm/u32-normxfrm: Likewise.
24840         * modules/unistdio/u8-asnprintf: Likewise.
24841         * modules/unistdio/u8-asprintf: Likewise.
24842         * modules/unistdio/u8-snprintf: Likewise.
24843         * modules/unistdio/u8-sprintf: Likewise.
24844         * modules/unistdio/u8-u8-asnprintf: Likewise.
24845         * modules/unistdio/u8-u8-asprintf: Likewise.
24846         * modules/unistdio/u8-u8-snprintf: Likewise.
24847         * modules/unistdio/u8-u8-sprintf: Likewise.
24848         * modules/unistdio/u8-u8-vasnprintf: Likewise.
24849         * modules/unistdio/u8-u8-vasprintf: Likewise.
24850         * modules/unistdio/u8-u8-vsnprintf: Likewise.
24851         * modules/unistdio/u8-u8-vsprintf: Likewise.
24852         * modules/unistdio/u8-vasnprintf: Likewise.
24853         * modules/unistdio/u8-vasprintf: Likewise.
24854         * modules/unistdio/u8-vsnprintf: Likewise.
24855         * modules/unistdio/u8-vsprintf: Likewise.
24856         * modules/unistdio/u16-asnprintf: Likewise.
24857         * modules/unistdio/u16-asprintf: Likewise.
24858         * modules/unistdio/u16-snprintf: Likewise.
24859         * modules/unistdio/u16-sprintf: Likewise.
24860         * modules/unistdio/u16-u16-asnprintf: Likewise.
24861         * modules/unistdio/u16-u16-asprintf: Likewise.
24862         * modules/unistdio/u16-u16-snprintf: Likewise.
24863         * modules/unistdio/u16-u16-sprintf: Likewise.
24864         * modules/unistdio/u16-u16-vasnprintf: Likewise.
24865         * modules/unistdio/u16-u16-vasprintf: Likewise.
24866         * modules/unistdio/u16-u16-vsnprintf: Likewise.
24867         * modules/unistdio/u16-u16-vsprintf: Likewise.
24868         * modules/unistdio/u16-vasnprintf: Likewise.
24869         * modules/unistdio/u16-vasprintf: Likewise.
24870         * modules/unistdio/u16-vsnprintf: Likewise.
24871         * modules/unistdio/u16-vsprintf: Likewise.
24872         * modules/unistdio/u32-asnprintf: Likewise.
24873         * modules/unistdio/u32-asprintf: Likewise.
24874         * modules/unistdio/u32-snprintf: Likewise.
24875         * modules/unistdio/u32-sprintf: Likewise.
24876         * modules/unistdio/u32-u32-asnprintf: Likewise.
24877         * modules/unistdio/u32-u32-asprintf: Likewise.
24878         * modules/unistdio/u32-u32-snprintf: Likewise.
24879         * modules/unistdio/u32-u32-sprintf: Likewise.
24880         * modules/unistdio/u32-u32-vasnprintf: Likewise.
24881         * modules/unistdio/u32-u32-vasprintf: Likewise.
24882         * modules/unistdio/u32-u32-vsnprintf: Likewise.
24883         * modules/unistdio/u32-u32-vsprintf: Likewise.
24884         * modules/unistdio/u32-vasnprintf: Likewise.
24885         * modules/unistdio/u32-vasprintf: Likewise.
24886         * modules/unistdio/u32-vsnprintf: Likewise.
24887         * modules/unistdio/u32-vsprintf: Likewise.
24888         * modules/unistdio/ulc-asnprintf: Likewise.
24889         * modules/unistdio/ulc-asprintf: Likewise.
24890         * modules/unistdio/ulc-fprintf: Likewise.
24891         * modules/unistdio/ulc-snprintf: Likewise.
24892         * modules/unistdio/ulc-sprintf: Likewise.
24893         * modules/unistdio/ulc-vasnprintf: Likewise.
24894         * modules/unistdio/ulc-vasprintf: Likewise.
24895         * modules/unistdio/ulc-vfprintf: Likewise.
24896         * modules/unistdio/ulc-vsnprintf: Likewise.
24897         * modules/unistdio/ulc-vsprintf: Likewise.
24898         * modules/unistr/u8-check: Likewise.
24899         * modules/unistr/u8-chr: Likewise.
24900         * modules/unistr/u8-cmp: Likewise.
24901         * modules/unistr/u8-cmp2: Likewise.
24902         * modules/unistr/u8-cpy: Likewise.
24903         * modules/unistr/u8-cpy-alloc: Likewise.
24904         * modules/unistr/u8-endswith: Likewise.
24905         * modules/unistr/u8-mblen: Likewise.
24906         * modules/unistr/u8-mbsnlen: Likewise.
24907         * modules/unistr/u8-mbtouc: Likewise.
24908         * modules/unistr/u8-mbtouc-unsafe: Likewise.
24909         * modules/unistr/u8-mbtoucr: Likewise.
24910         * modules/unistr/u8-move: Likewise.
24911         * modules/unistr/u8-next: Likewise.
24912         * modules/unistr/u8-prev: Likewise.
24913         * modules/unistr/u8-set: Likewise.
24914         * modules/unistr/u8-startswith: Likewise.
24915         * modules/unistr/u8-stpcpy: Likewise.
24916         * modules/unistr/u8-stpncpy: Likewise.
24917         * modules/unistr/u8-strcat: Likewise.
24918         * modules/unistr/u8-strchr: Likewise.
24919         * modules/unistr/u8-strcmp: Likewise.
24920         * modules/unistr/u8-strcoll: Likewise.
24921         * modules/unistr/u8-strcpy: Likewise.
24922         * modules/unistr/u8-strcspn: Likewise.
24923         * modules/unistr/u8-strdup: Likewise.
24924         * modules/unistr/u8-strlen: Likewise.
24925         * modules/unistr/u8-strmblen: Likewise.
24926         * modules/unistr/u8-strmbtouc: Likewise.
24927         * modules/unistr/u8-strncat: Likewise.
24928         * modules/unistr/u8-strncmp: Likewise.
24929         * modules/unistr/u8-strncpy: Likewise.
24930         * modules/unistr/u8-strnlen: Likewise.
24931         * modules/unistr/u8-strpbrk: Likewise.
24932         * modules/unistr/u8-strrchr: Likewise.
24933         * modules/unistr/u8-strspn: Likewise.
24934         * modules/unistr/u8-strstr: Likewise.
24935         * modules/unistr/u8-strtok: Likewise.
24936         * modules/unistr/u8-to-u16: Likewise.
24937         * modules/unistr/u8-to-u32: Likewise.
24938         * modules/unistr/u8-uctomb: Likewise.
24939         * modules/unistr/u16-check: Likewise.
24940         * modules/unistr/u16-chr: Likewise.
24941         * modules/unistr/u16-cmp: Likewise.
24942         * modules/unistr/u16-cmp2: Likewise.
24943         * modules/unistr/u16-cpy: Likewise.
24944         * modules/unistr/u16-cpy-alloc: Likewise.
24945         * modules/unistr/u16-endswith: Likewise.
24946         * modules/unistr/u16-mblen: Likewise.
24947         * modules/unistr/u16-mbsnlen: Likewise.
24948         * modules/unistr/u16-mbtouc: Likewise.
24949         * modules/unistr/u16-mbtouc-unsafe: Likewise.
24950         * modules/unistr/u16-mbtoucr: Likewise.
24951         * modules/unistr/u16-move: Likewise.
24952         * modules/unistr/u16-next: Likewise.
24953         * modules/unistr/u16-prev: Likewise.
24954         * modules/unistr/u16-set: Likewise.
24955         * modules/unistr/u16-startswith: Likewise.
24956         * modules/unistr/u16-stpcpy: Likewise.
24957         * modules/unistr/u16-stpncpy: Likewise.
24958         * modules/unistr/u16-strcat: Likewise.
24959         * modules/unistr/u16-strchr: Likewise.
24960         * modules/unistr/u16-strcmp: Likewise.
24961         * modules/unistr/u16-strcoll: Likewise.
24962         * modules/unistr/u16-strcpy: Likewise.
24963         * modules/unistr/u16-strcspn: Likewise.
24964         * modules/unistr/u16-strdup: Likewise.
24965         * modules/unistr/u16-strlen: Likewise.
24966         * modules/unistr/u16-strmblen: Likewise.
24967         * modules/unistr/u16-strmbtouc: Likewise.
24968         * modules/unistr/u16-strncat: Likewise.
24969         * modules/unistr/u16-strncmp: Likewise.
24970         * modules/unistr/u16-strncpy: Likewise.
24971         * modules/unistr/u16-strnlen: Likewise.
24972         * modules/unistr/u16-strpbrk: Likewise.
24973         * modules/unistr/u16-strrchr: Likewise.
24974         * modules/unistr/u16-strspn: Likewise.
24975         * modules/unistr/u16-strstr: Likewise.
24976         * modules/unistr/u16-strtok: Likewise.
24977         * modules/unistr/u16-to-u32: Likewise.
24978         * modules/unistr/u16-to-u8: Likewise.
24979         * modules/unistr/u16-uctomb: Likewise.
24980         * modules/unistr/u32-check: Likewise.
24981         * modules/unistr/u32-chr: Likewise.
24982         * modules/unistr/u32-cmp: Likewise.
24983         * modules/unistr/u32-cmp2: Likewise.
24984         * modules/unistr/u32-cpy: Likewise.
24985         * modules/unistr/u32-cpy-alloc: Likewise.
24986         * modules/unistr/u32-endswith: Likewise.
24987         * modules/unistr/u32-mblen: Likewise.
24988         * modules/unistr/u32-mbsnlen: Likewise.
24989         * modules/unistr/u32-mbtouc: Likewise.
24990         * modules/unistr/u32-mbtouc-unsafe: Likewise.
24991         * modules/unistr/u32-mbtoucr: Likewise.
24992         * modules/unistr/u32-move: Likewise.
24993         * modules/unistr/u32-next: Likewise.
24994         * modules/unistr/u32-prev: Likewise.
24995         * modules/unistr/u32-set: Likewise.
24996         * modules/unistr/u32-startswith: Likewise.
24997         * modules/unistr/u32-stpcpy: Likewise.
24998         * modules/unistr/u32-stpncpy: Likewise.
24999         * modules/unistr/u32-strcat: Likewise.
25000         * modules/unistr/u32-strchr: Likewise.
25001         * modules/unistr/u32-strcmp: Likewise.
25002         * modules/unistr/u32-strcoll: Likewise.
25003         * modules/unistr/u32-strcpy: Likewise.
25004         * modules/unistr/u32-strcspn: Likewise.
25005         * modules/unistr/u32-strdup: Likewise.
25006         * modules/unistr/u32-strlen: Likewise.
25007         * modules/unistr/u32-strmblen: Likewise.
25008         * modules/unistr/u32-strmbtouc: Likewise.
25009         * modules/unistr/u32-strncat: Likewise.
25010         * modules/unistr/u32-strncmp: Likewise.
25011         * modules/unistr/u32-strncpy: Likewise.
25012         * modules/unistr/u32-strnlen: Likewise.
25013         * modules/unistr/u32-strpbrk: Likewise.
25014         * modules/unistr/u32-strrchr: Likewise.
25015         * modules/unistr/u32-strspn: Likewise.
25016         * modules/unistr/u32-strstr: Likewise.
25017         * modules/unistr/u32-strtok: Likewise.
25018         * modules/unistr/u32-to-u16: Likewise.
25019         * modules/unistr/u32-to-u8: Likewise.
25020         * modules/unistr/u32-uctomb: Likewise.
25021         * modules/uniwbrk/u8-wordbreaks: Likewise.
25022         * modules/uniwbrk/u16-wordbreaks: Likewise.
25023         * modules/uniwbrk/u32-wordbreaks: Likewise.
25024         * modules/uniwbrk/ulc-wordbreaks: Likewise.
25025         * modules/uniwbrk/wordbreak-property: Likewise.
25026         * modules/uniwidth/u8-strwidth: Likewise.
25027         * modules/uniwidth/u8-width: Likewise.
25028         * modules/uniwidth/u16-strwidth: Likewise.
25029         * modules/uniwidth/u16-width: Likewise.
25030         * modules/uniwidth/u32-strwidth: Likewise.
25031         * modules/uniwidth/u32-width: Likewise.
25032         * modules/uniwidth/width: Likewise.
25033         * modules/unicase/cased-tests (Makefile.am): Link all test programs
25034         with $(LIBUNISTRING).
25035         * modules/unicase/ignorable-tests: Likewise.
25036         * modules/unicase/locale-language-tests: Likewise.
25037         * modules/unicase/tolower-tests: Likewise.
25038         * modules/unicase/totitle-tests: Likewise.
25039         * modules/unicase/toupper-tests: Likewise.
25040         * modules/unicase/u8-casecmp-tests: Likewise.
25041         * modules/unicase/u8-casecoll-tests: Likewise.
25042         * modules/unicase/u8-casefold-tests: Likewise.
25043         * modules/unicase/u8-is-cased-tests: Likewise.
25044         * modules/unicase/u8-is-casefolded-tests: Likewise.
25045         * modules/unicase/u8-is-lowercase-tests: Likewise.
25046         * modules/unicase/u8-is-titlecase-tests: Likewise.
25047         * modules/unicase/u8-is-uppercase-tests: Likewise.
25048         * modules/unicase/u8-tolower-tests: Likewise.
25049         * modules/unicase/u8-totitle-tests: Likewise.
25050         * modules/unicase/u8-toupper-tests: Likewise.
25051         * modules/unicase/u16-casecmp-tests: Likewise.
25052         * modules/unicase/u16-casecoll-tests: Likewise.
25053         * modules/unicase/u16-casefold-tests: Likewise.
25054         * modules/unicase/u16-is-cased-tests: Likewise.
25055         * modules/unicase/u16-is-casefolded-tests: Likewise.
25056         * modules/unicase/u16-is-lowercase-tests: Likewise.
25057         * modules/unicase/u16-is-titlecase-tests: Likewise.
25058         * modules/unicase/u16-is-uppercase-tests: Likewise.
25059         * modules/unicase/u16-tolower-tests: Likewise.
25060         * modules/unicase/u16-totitle-tests: Likewise.
25061         * modules/unicase/u16-toupper-tests: Likewise.
25062         * modules/unicase/u32-casecmp-tests: Likewise.
25063         * modules/unicase/u32-casecoll-tests: Likewise.
25064         * modules/unicase/u32-casefold-tests: Likewise.
25065         * modules/unicase/u32-is-cased-tests: Likewise.
25066         * modules/unicase/u32-is-casefolded-tests: Likewise.
25067         * modules/unicase/u32-is-lowercase-tests: Likewise.
25068         * modules/unicase/u32-is-titlecase-tests: Likewise.
25069         * modules/unicase/u32-is-uppercase-tests: Likewise.
25070         * modules/unicase/u32-tolower-tests: Likewise.
25071         * modules/unicase/u32-totitle-tests: Likewise.
25072         * modules/unicase/u32-toupper-tests: Likewise.
25073         * modules/unicase/ulc-casecmp-tests: Likewise.
25074         * modules/unicase/ulc-casecoll-tests: Likewise.
25075         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
25076         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
25077         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
25078         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
25079         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
25080         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
25081         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
25082         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
25083         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
25084         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
25085         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
25086         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
25087         * modules/unictype/bidicategory-byname-tests: Likewise.
25088         * modules/unictype/bidicategory-name-tests: Likewise.
25089         * modules/unictype/bidicategory-of-tests: Likewise.
25090         * modules/unictype/bidicategory-test-tests: Likewise.
25091         * modules/unictype/block-list-tests: Likewise.
25092         * modules/unictype/block-of-tests: Likewise.
25093         * modules/unictype/block-test-tests: Likewise.
25094         * modules/unictype/category-C-tests: Likewise.
25095         * modules/unictype/category-Cc-tests: Likewise.
25096         * modules/unictype/category-Cf-tests: Likewise.
25097         * modules/unictype/category-Cn-tests: Likewise.
25098         * modules/unictype/category-Co-tests: Likewise.
25099         * modules/unictype/category-Cs-tests: Likewise.
25100         * modules/unictype/category-L-tests: Likewise.
25101         * modules/unictype/category-Ll-tests: Likewise.
25102         * modules/unictype/category-Lm-tests: Likewise.
25103         * modules/unictype/category-Lo-tests: Likewise.
25104         * modules/unictype/category-Lt-tests: Likewise.
25105         * modules/unictype/category-Lu-tests: Likewise.
25106         * modules/unictype/category-M-tests: Likewise.
25107         * modules/unictype/category-Mc-tests: Likewise.
25108         * modules/unictype/category-Me-tests: Likewise.
25109         * modules/unictype/category-Mn-tests: Likewise.
25110         * modules/unictype/category-N-tests: Likewise.
25111         * modules/unictype/category-Nd-tests: Likewise.
25112         * modules/unictype/category-Nl-tests: Likewise.
25113         * modules/unictype/category-No-tests: Likewise.
25114         * modules/unictype/category-P-tests: Likewise.
25115         * modules/unictype/category-Pc-tests: Likewise.
25116         * modules/unictype/category-Pd-tests: Likewise.
25117         * modules/unictype/category-Pe-tests: Likewise.
25118         * modules/unictype/category-Pf-tests: Likewise.
25119         * modules/unictype/category-Pi-tests: Likewise.
25120         * modules/unictype/category-Po-tests: Likewise.
25121         * modules/unictype/category-Ps-tests: Likewise.
25122         * modules/unictype/category-S-tests: Likewise.
25123         * modules/unictype/category-Sc-tests: Likewise.
25124         * modules/unictype/category-Sk-tests: Likewise.
25125         * modules/unictype/category-Sm-tests: Likewise.
25126         * modules/unictype/category-So-tests: Likewise.
25127         * modules/unictype/category-Z-tests: Likewise.
25128         * modules/unictype/category-Zl-tests: Likewise.
25129         * modules/unictype/category-Zp-tests: Likewise.
25130         * modules/unictype/category-Zs-tests: Likewise.
25131         * modules/unictype/category-and-not-tests: Likewise.
25132         * modules/unictype/category-and-tests: Likewise.
25133         * modules/unictype/category-byname-tests: Likewise.
25134         * modules/unictype/category-name-tests: Likewise.
25135         * modules/unictype/category-none-tests: Likewise.
25136         * modules/unictype/category-of-tests: Likewise.
25137         * modules/unictype/category-or-tests: Likewise.
25138         * modules/unictype/category-test-withtable-tests: Likewise.
25139         * modules/unictype/combining-class-tests: Likewise.
25140         * modules/unictype/ctype-alnum-tests: Likewise.
25141         * modules/unictype/ctype-alpha-tests: Likewise.
25142         * modules/unictype/ctype-blank-tests: Likewise.
25143         * modules/unictype/ctype-cntrl-tests: Likewise.
25144         * modules/unictype/ctype-digit-tests: Likewise.
25145         * modules/unictype/ctype-graph-tests: Likewise.
25146         * modules/unictype/ctype-lower-tests: Likewise.
25147         * modules/unictype/ctype-print-tests: Likewise.
25148         * modules/unictype/ctype-punct-tests: Likewise.
25149         * modules/unictype/ctype-space-tests: Likewise.
25150         * modules/unictype/ctype-upper-tests: Likewise.
25151         * modules/unictype/ctype-xdigit-tests: Likewise.
25152         * modules/unictype/decimal-digit-tests: Likewise.
25153         * modules/unictype/digit-tests: Likewise.
25154         * modules/unictype/mirror-tests: Likewise.
25155         * modules/unictype/numeric-tests: Likewise.
25156         * modules/unictype/property-alphabetic-tests: Likewise.
25157         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
25158         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
25159         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
25160         * modules/unictype/property-bidi-block-separator-tests: Likewise.
25161         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
25162         * modules/unictype/property-bidi-common-separator-tests: Likewise.
25163         * modules/unictype/property-bidi-control-tests: Likewise.
25164         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
25165         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
25166         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
25167         * modules/unictype/property-bidi-european-digit-tests: Likewise.
25168         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
25169         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
25170         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
25171         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
25172         * modules/unictype/property-bidi-pdf-tests: Likewise.
25173         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
25174         * modules/unictype/property-bidi-whitespace-tests: Likewise.
25175         * modules/unictype/property-byname-tests: Likewise.
25176         * modules/unictype/property-combining-tests: Likewise.
25177         * modules/unictype/property-composite-tests: Likewise.
25178         * modules/unictype/property-currency-symbol-tests: Likewise.
25179         * modules/unictype/property-dash-tests: Likewise.
25180         * modules/unictype/property-decimal-digit-tests: Likewise.
25181         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
25182         * modules/unictype/property-deprecated-tests: Likewise.
25183         * modules/unictype/property-diacritic-tests: Likewise.
25184         * modules/unictype/property-extender-tests: Likewise.
25185         * modules/unictype/property-format-control-tests: Likewise.
25186         * modules/unictype/property-grapheme-base-tests: Likewise.
25187         * modules/unictype/property-grapheme-extend-tests: Likewise.
25188         * modules/unictype/property-grapheme-link-tests: Likewise.
25189         * modules/unictype/property-hex-digit-tests: Likewise.
25190         * modules/unictype/property-hyphen-tests: Likewise.
25191         * modules/unictype/property-id-continue-tests: Likewise.
25192         * modules/unictype/property-id-start-tests: Likewise.
25193         * modules/unictype/property-ideographic-tests: Likewise.
25194         * modules/unictype/property-ids-binary-operator-tests: Likewise.
25195         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
25196         * modules/unictype/property-ignorable-control-tests: Likewise.
25197         * modules/unictype/property-iso-control-tests: Likewise.
25198         * modules/unictype/property-join-control-tests: Likewise.
25199         * modules/unictype/property-left-of-pair-tests: Likewise.
25200         * modules/unictype/property-line-separator-tests: Likewise.
25201         * modules/unictype/property-logical-order-exception-tests: Likewise.
25202         * modules/unictype/property-lowercase-tests: Likewise.
25203         * modules/unictype/property-math-tests: Likewise.
25204         * modules/unictype/property-non-break-tests: Likewise.
25205         * modules/unictype/property-not-a-character-tests: Likewise.
25206         * modules/unictype/property-numeric-tests: Likewise.
25207         * modules/unictype/property-other-alphabetic-tests: Likewise.
25208         * modules/unictype/property-other-default-ignorable-code-point-tests:
25209         Likewise.
25210         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
25211         * modules/unictype/property-other-id-continue-tests: Likewise.
25212         * modules/unictype/property-other-id-start-tests: Likewise.
25213         * modules/unictype/property-other-lowercase-tests: Likewise.
25214         * modules/unictype/property-other-math-tests: Likewise.
25215         * modules/unictype/property-other-uppercase-tests: Likewise.
25216         * modules/unictype/property-paired-punctuation-tests: Likewise.
25217         * modules/unictype/property-paragraph-separator-tests: Likewise.
25218         * modules/unictype/property-pattern-syntax-tests: Likewise.
25219         * modules/unictype/property-pattern-white-space-tests: Likewise.
25220         * modules/unictype/property-private-use-tests: Likewise.
25221         * modules/unictype/property-punctuation-tests: Likewise.
25222         * modules/unictype/property-quotation-mark-tests: Likewise.
25223         * modules/unictype/property-radical-tests: Likewise.
25224         * modules/unictype/property-sentence-terminal-tests: Likewise.
25225         * modules/unictype/property-soft-dotted-tests: Likewise.
25226         * modules/unictype/property-space-tests: Likewise.
25227         * modules/unictype/property-terminal-punctuation-tests: Likewise.
25228         * modules/unictype/property-test-tests: Likewise.
25229         * modules/unictype/property-titlecase-tests: Likewise.
25230         * modules/unictype/property-unassigned-code-value-tests: Likewise.
25231         * modules/unictype/property-unified-ideograph-tests: Likewise.
25232         * modules/unictype/property-uppercase-tests: Likewise.
25233         * modules/unictype/property-variation-selector-tests: Likewise.
25234         * modules/unictype/property-white-space-tests: Likewise.
25235         * modules/unictype/property-xid-continue-tests: Likewise.
25236         * modules/unictype/property-xid-start-tests: Likewise.
25237         * modules/unictype/property-zero-width-tests: Likewise.
25238         * modules/unictype/scripts-tests: Likewise.
25239         * modules/unictype/syntax-c-ident-tests: Likewise.
25240         * modules/unictype/syntax-c-whitespace-tests: Likewise.
25241         * modules/unictype/syntax-java-ident-tests: Likewise.
25242         * modules/unictype/syntax-java-whitespace-tests: Likewise.
25243         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
25244         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
25245         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
25246         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
25247         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
25248         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
25249         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
25250         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
25251         * modules/uniname/uniname-tests: Likewise.
25252         * modules/uninorm/canonical-decomposition-tests: Likewise.
25253         * modules/uninorm/compat-decomposition-tests: Likewise.
25254         * modules/uninorm/composition-tests: Likewise.
25255         * modules/uninorm/decomposing-form-tests: Likewise.
25256         * modules/uninorm/decomposition-tests: Likewise.
25257         * modules/uninorm/filter-tests: Likewise.
25258         * modules/uninorm/nfc-tests: Likewise.
25259         * modules/uninorm/nfd-tests: Likewise.
25260         * modules/uninorm/nfkc-tests: Likewise.
25261         * modules/uninorm/nfkd-tests: Likewise.
25262         * modules/uninorm/u8-normcmp-tests: Likewise.
25263         * modules/uninorm/u8-normcoll-tests: Likewise.
25264         * modules/uninorm/u16-normcmp-tests: Likewise.
25265         * modules/uninorm/u16-normcoll-tests: Likewise.
25266         * modules/uninorm/u32-normcmp-tests: Likewise.
25267         * modules/uninorm/u32-normcoll-tests: Likewise.
25268         * modules/unistdio/u8-asnprintf-tests: Likewise.
25269         * modules/unistdio/u8-vasnprintf-tests: Likewise.
25270         * modules/unistdio/u8-vasprintf-tests: Likewise.
25271         * modules/unistdio/u8-vsnprintf-tests: Likewise.
25272         * modules/unistdio/u8-vsprintf-tests: Likewise.
25273         * modules/unistdio/u16-asnprintf-tests: Likewise.
25274         * modules/unistdio/u16-vasnprintf-tests: Likewise.
25275         * modules/unistdio/u16-vasprintf-tests: Likewise.
25276         * modules/unistdio/u16-vsnprintf-tests: Likewise.
25277         * modules/unistdio/u16-vsprintf-tests: Likewise.
25278         * modules/unistdio/u32-asnprintf-tests: Likewise.
25279         * modules/unistdio/u32-vasnprintf-tests: Likewise.
25280         * modules/unistdio/u32-vasprintf-tests: Likewise.
25281         * modules/unistdio/u32-vsnprintf-tests: Likewise.
25282         * modules/unistdio/u32-vsprintf-tests: Likewise.
25283         * modules/unistdio/ulc-asnprintf-tests: Likewise.
25284         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
25285         * modules/unistdio/ulc-vasprintf-tests: Likewise.
25286         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
25287         * modules/unistdio/ulc-vsprintf-tests: Likewise.
25288         * modules/unistr/u8-check-tests: Likewise.
25289         * modules/unistr/u8-chr-tests: Likewise.
25290         * modules/unistr/u8-cmp-tests: Likewise.
25291         * modules/unistr/u8-cmp2-tests: Likewise.
25292         * modules/unistr/u8-cpy-alloc-tests: Likewise.
25293         * modules/unistr/u8-cpy-tests: Likewise.
25294         * modules/unistr/u8-mblen-tests: Likewise.
25295         * modules/unistr/u8-mbsnlen-tests: Likewise.
25296         * modules/unistr/u8-mbtouc-tests: Likewise.
25297         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
25298         * modules/unistr/u8-mbtoucr-tests: Likewise.
25299         * modules/unistr/u8-move-tests: Likewise.
25300         * modules/unistr/u8-next-tests: Likewise.
25301         * modules/unistr/u8-prev-tests: Likewise.
25302         * modules/unistr/u8-set-tests: Likewise.
25303         * modules/unistr/u8-stpcpy-tests: Likewise.
25304         * modules/unistr/u8-stpncpy-tests: Likewise.
25305         * modules/unistr/u8-strcat-tests: Likewise.
25306         * modules/unistr/u8-strcmp-tests: Likewise.
25307         * modules/unistr/u8-strcoll-tests: Likewise.
25308         * modules/unistr/u8-strcpy-tests: Likewise.
25309         * modules/unistr/u8-strdup-tests: Likewise.
25310         * modules/unistr/u8-strlen-tests: Likewise.
25311         * modules/unistr/u8-strmblen-tests: Likewise.
25312         * modules/unistr/u8-strmbtouc-tests: Likewise.
25313         * modules/unistr/u8-strncat-tests: Likewise.
25314         * modules/unistr/u8-strncmp-tests: Likewise.
25315         * modules/unistr/u8-strncpy-tests: Likewise.
25316         * modules/unistr/u8-strnlen-tests: Likewise.
25317         * modules/unistr/u8-to-u16-tests: Likewise.
25318         * modules/unistr/u8-to-u32-tests: Likewise.
25319         * modules/unistr/u8-uctomb-tests: Likewise.
25320         * modules/unistr/u16-check-tests: Likewise.
25321         * modules/unistr/u16-chr-tests: Likewise.
25322         * modules/unistr/u16-cmp-tests: Likewise.
25323         * modules/unistr/u16-cmp2-tests: Likewise.
25324         * modules/unistr/u16-cpy-alloc-tests: Likewise.
25325         * modules/unistr/u16-cpy-tests: Likewise.
25326         * modules/unistr/u16-mblen-tests: Likewise.
25327         * modules/unistr/u16-mbsnlen-tests: Likewise.
25328         * modules/unistr/u16-mbtouc-tests: Likewise.
25329         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
25330         * modules/unistr/u16-mbtoucr-tests: Likewise.
25331         * modules/unistr/u16-move-tests: Likewise.
25332         * modules/unistr/u16-next-tests: Likewise.
25333         * modules/unistr/u16-prev-tests: Likewise.
25334         * modules/unistr/u16-set-tests: Likewise.
25335         * modules/unistr/u16-stpcpy-tests: Likewise.
25336         * modules/unistr/u16-stpncpy-tests: Likewise.
25337         * modules/unistr/u16-strcat-tests: Likewise.
25338         * modules/unistr/u16-strcmp-tests: Likewise.
25339         * modules/unistr/u16-strcoll-tests: Likewise.
25340         * modules/unistr/u16-strcpy-tests: Likewise.
25341         * modules/unistr/u16-strdup-tests: Likewise.
25342         * modules/unistr/u16-strlen-tests: Likewise.
25343         * modules/unistr/u16-strmblen-tests: Likewise.
25344         * modules/unistr/u16-strmbtouc-tests: Likewise.
25345         * modules/unistr/u16-strncat-tests: Likewise.
25346         * modules/unistr/u16-strncmp-tests: Likewise.
25347         * modules/unistr/u16-strncpy-tests: Likewise.
25348         * modules/unistr/u16-strnlen-tests: Likewise.
25349         * modules/unistr/u16-to-u32-tests: Likewise.
25350         * modules/unistr/u16-to-u8-tests: Likewise.
25351         * modules/unistr/u16-uctomb-tests: Likewise.
25352         * modules/unistr/u32-check-tests: Likewise.
25353         * modules/unistr/u32-chr-tests: Likewise.
25354         * modules/unistr/u32-cmp-tests: Likewise.
25355         * modules/unistr/u32-cmp2-tests: Likewise.
25356         * modules/unistr/u32-cpy-alloc-tests: Likewise.
25357         * modules/unistr/u32-cpy-tests: Likewise.
25358         * modules/unistr/u32-mblen-tests: Likewise.
25359         * modules/unistr/u32-mbsnlen-tests: Likewise.
25360         * modules/unistr/u32-mbtouc-tests: Likewise.
25361         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
25362         * modules/unistr/u32-mbtoucr-tests: Likewise.
25363         * modules/unistr/u32-move-tests: Likewise.
25364         * modules/unistr/u32-next-tests: Likewise.
25365         * modules/unistr/u32-prev-tests: Likewise.
25366         * modules/unistr/u32-set-tests: Likewise.
25367         * modules/unistr/u32-stpcpy-tests: Likewise.
25368         * modules/unistr/u32-stpncpy-tests: Likewise.
25369         * modules/unistr/u32-strcat-tests: Likewise.
25370         * modules/unistr/u32-strcmp-tests: Likewise.
25371         * modules/unistr/u32-strcoll-tests: Likewise.
25372         * modules/unistr/u32-strcpy-tests: Likewise.
25373         * modules/unistr/u32-strdup-tests: Likewise.
25374         * modules/unistr/u32-strlen-tests: Likewise.
25375         * modules/unistr/u32-strmblen-tests: Likewise.
25376         * modules/unistr/u32-strmbtouc-tests: Likewise.
25377         * modules/unistr/u32-strncat-tests: Likewise.
25378         * modules/unistr/u32-strncmp-tests: Likewise.
25379         * modules/unistr/u32-strncpy-tests: Likewise.
25380         * modules/unistr/u32-strnlen-tests: Likewise.
25381         * modules/unistr/u32-to-u16-tests: Likewise.
25382         * modules/unistr/u32-to-u8-tests: Likewise.
25383         * modules/unistr/u32-uctomb-tests: Likewise.
25384         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
25385         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
25386         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
25387         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
25388         * modules/uniwidth/u8-strwidth-tests: Likewise.
25389         * modules/uniwidth/u8-width-tests: Likewise.
25390         * modules/uniwidth/u16-strwidth-tests: Likewise.
25391         * modules/uniwidth/u16-width-tests: Likewise.
25392         * modules/uniwidth/u32-strwidth-tests: Likewise.
25393         * modules/uniwidth/u32-width-tests: Likewise.
25394         * modules/uniwidth/width-tests: Likewise.
25395
25396 2010-05-18  Richard Jones  <rjones@redhat.com>
25397
25398         doc: users.txt: list hivex
25399         * users.txt: Add hivex.
25400
25401 2010-05-18  Richard Jones  <rjones@redhat.com>
25402
25403         doc: users.txt: list febootstrap
25404         * users.txt: Add febootstrap.
25405
25406 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
25407
25408         bootstrap: fix an error when gnulib is not used as a git submodule
25409         * build-aux/bootstrap (gnulib_path): If its length is zero then
25410         assign "gnulib" to it.
25411         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
25412
25413 2010-05-16  Bruno Haible  <bruno@clisp.org>
25414
25415         Avoid autoconf warnings about AM_ICONV.
25416         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
25417         2.64.
25418
25419 2010-05-16  Bruno Haible  <bruno@clisp.org>
25420
25421         absolute-header: Make the macro usable in more situations.
25422         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
25423         from gl_ABSOLUTE_HEADER.
25424         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
25425
25426 2010-05-16  James Youngman  <jay@gnu.org>
25427
25428         doc: update users.txt
25429         * users.txt: Add CSSC.
25430
25431 2010-05-16  Jim Meyering  <meyering@redhat.com>
25432
25433         init.sh: fix an error in the previous change; add more comments
25434         * tests/init.sh: Compare exit code in loop against 9, not 2.
25435         Patch by Bruno Haible.
25436         Make the two tests more similar by adding an empty "then" clause.
25437         Add comments.
25438
25439         init.sh: avoid unnecessary shell re-exec
25440         * tests/init.sh: Improve the re-exec-required check to first test the
25441         current shell.  If it passes the test, do not search for a shell that
25442         does pass, and do not re-exec.  This test is particularly contorted to
25443         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
25444         of $(...) evokes a syntax error and causes immediate shell exit with
25445         status 2.  Bruno Haible reported that the re-exec made it impossible
25446         to single-step through any init.sh-using script.
25447
25448 2010-05-16  Bruno Haible  <bruno@clisp.org>
25449
25450         Fix collision between gnulib's and libintl's printf replacements.
25451         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
25452         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
25453         (printf): When using GNU C, map the __printf__ function to rpl_printf
25454         via __asm__. When not using GNU C, define rpl_printf instead of
25455         __printf__.
25456         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
25457         commit.
25458         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
25459         commit.
25460         * m4/asm-underscore.m4: New file.
25461         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
25462         * modules/stdio (Files): Add m4/asm-underscore.m4.
25463         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
25464         Reported by Ben Pfaff.
25465
25466 2010-05-16  Bruno Haible  <bruno@clisp.org>
25467
25468         verify: Avoid skipping the test on openSUSE 11.0.
25469         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
25470
25471 2010-05-13  Bruno Haible  <bruno@clisp.org>
25472
25473         Avoid useless warnings from G++.
25474         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
25475         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
25476         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
25477
25478 2010-05-11  Jim Meyering  <meyering@redhat.com>
25479
25480         maint.mk: tweak preceding change
25481         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
25482         regexps tighter by anchoring at EOL, and make the new group "shy"
25483         for slightly decreased overhead.
25484
25485 2010-05-11  Eric Blake  <eblake@redhat.com>
25486
25487         maint.mk: gnulib doesn't guarantee NSIG
25488         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
25489
25490 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
25491
25492         test-pwrite.c: Remove unused variable declaration.
25493         * tests/test-pwrite.c (main): Remove read_buf declaration.
25494
25495         Remove useless test-pwrite.sh file.
25496         * tests/test-pwrite.sh: Delete file.
25497         * modules/pwrite-tests: Remove references.
25498         Reported by Bruno Haible.
25499
25500 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
25501
25502         init.sh: fix a typo
25503         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
25504
25505 2010-05-10  Jim Meyering  <meyering@redhat.com>
25506
25507         maint.mk: avoid using a temporary file in the always-defined-macros check
25508         * top/maint.mk (.re-defmac): Remove rule.
25509         (gl_trap_): Remove definition.
25510         (sc_prohibit_always-defined_macros): Rewrite not to create and
25511         depend on a temporary file.  Instead, depend on GNU grep's ability
25512         to read a list of regular expressions from stdin when given "-f -".
25513
25514 2010-05-09  Bruno Haible  <bruno@clisp.org>
25515
25516         Update to GNU gettext 0.18, part 1.
25517         * m4/gettext.m4: Update to GNU gettext 0.18.
25518         * m4/intl.m4: Likewise.
25519         * m4/po.m4: Likewise.
25520         * modules/gettext (Files): Add m4/fcntl-o.m4.
25521         (configure.ac): Require gettext infrastructure from version 0.18.
25522
25523 2010-05-09  Jim Meyering  <meyering@redhat.com>
25524
25525         init.sh: enable MALLOC_PERTURB_
25526         * tests/init.sh: Enable glibc's malloc-perturbing option.
25527
25528         maint.mk: improve sc_cross_check_PATH_usage_in_tests
25529         With my recent change in init.sh from the two-line form:
25530             -#   : ${srcdir=.}
25531             -#   . "$srcdir/init.sh"; path_prepend_ .
25532             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
25533         I noticed that using the one-line form would cause this test
25534         to fail with a false-positive, or to stop working altogether,
25535         depending on whether help-version changed or all the tests did.
25536         * top/maint.mk (_hv_regex): Remove this definition.
25537         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
25538         (_hv_regex_strong): Use a stronger regex to check for conformance.
25539         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
25540         Give a separate diagnostic for lack of conforming use.
25541
25542         maint.mk: prohibit definition of symbols defined by gnulib
25543         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
25544         definition of symbols defined by gnulib.
25545
25546 2010-05-09  Bruno Haible  <bruno@clisp.org>
25547
25548         acl: Avoid test failure on Cygwin-hosted mingw.
25549         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
25550
25551 2010-05-09  Bruno Haible  <bruno@clisp.org>
25552
25553         error: Use system's fcntl function.
25554         * lib/error.c (fcntl): Undefine.
25555
25556 2010-05-09  Jim Meyering  <meyering@redhat.com>
25557
25558         verify: adjust formatting to be more consistent
25559         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
25560         argument-list '('s, and after one comma.
25561
25562 2010-05-09  Bruno Haible  <bruno@clisp.org>
25563
25564         error: More reliable output on mingw.
25565         * lib/error.c: Include <windows.h>.
25566         (is_open): New function.
25567         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
25568         defined.
25569
25570 2010-05-09  Bruno Haible  <bruno@clisp.org>
25571
25572         vasnprintf: Fix syntax errors in libintl build on mingw.
25573         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
25574         pad_ourselves and prec_ourselves after use.
25575
25576 2010-05-08  Bruno Haible  <bruno@clisp.org>
25577
25578         * lib/config.charset: Update comments for Cygwin 1.7.
25579         * lib/localcharset.c: Likewise.
25580
25581 2010-05-07  Jim Meyering  <meyering@redhat.com>
25582
25583         init.sh: improve comments
25584         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
25585         . "${srcdir=.}/init.sh"; path_prepend_ .
25586         Add a note about path_prepend_ and the alternative of using
25587         TESTS_ENVIRONMENT.
25588
25589 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
25590
25591         exclude: Unescape hashed patterns in wildcard mode.
25592         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
25593         to the hash list.
25594         * tests/test-exclude8.sh: New test case.
25595         * modules/exclude-tests: Add new test.
25596
25597 2010-05-05  Eric Blake  <eblake@redhat.com>
25598
25599         verify: automate tests
25600         * modules/verify-tests: New module.
25601         * tests/test-verify.sh: New file.
25602         * tests/test-verify.c: Guard each negative test with a unique id.
25603         Also avoid warning about unused left hand of comma expressions.
25604
25605 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
25606
25607         Further improvements to verify.h, suggested by Eric Blake.
25608         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
25609         the GL_* versions, to avoid collision with OpenGL.
25610         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
25611         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
25612         than testing merely whether it's defined.
25613
25614         Modify verify.h to pacify gcc -Wredundant_decls.
25615         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
25616         These use the prefix "GL_" since they're likely to be useful elsewhere.
25617         We may need to break them out into a different .h file.
25618         (__COUNTER__): Define to 0 if the compiler doesn't support it.
25619         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
25620         of verify_function__.
25621
25622 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
25623
25624         Tests for module pwrite.
25625         * modules/pwrite-tests: New file.
25626         * tests/test-pwrite.sh: New file.
25627         * tests/test-pwrite.c: New file.
25628
25629         New module pwrite.
25630         * lib/unistd.in.h (pwrite): New declaration.
25631         * lib/pwrite.c: New file, from glibc with modifications.
25632         * m4/pwrite.m4: New file.
25633         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
25634         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
25635         REPLACE_PWRITE.
25636         * modules/pwrite: New file.
25637         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
25638         REPLACE_PWRITE.
25639         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
25640         * doc/posix-functions/pwrite.texi: Mention the new module.
25641
25642 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
25643
25644         pread: Update documentation.
25645         * doc/posix-functions/pread.texi: Mention the 'pread' module.
25646
25647 2010-05-04  Eric Blake  <eblake@redhat.com>
25648
25649         docs: update cygwin progress
25650         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
25651         this bug.
25652         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
25653         Added in cygwin 1.7.2.
25654         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
25655         Likewise.
25656         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
25657         Likewise.
25658         * doc/glibc-functions/dup3.texi (dup3): Likewise.
25659         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
25660         * doc/glibc-functions/accept4.texi (accept4): Likewise.
25661         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
25662         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
25663         Mention nproc module.
25664         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
25665         bug in cygwin 1.7.5 addition.
25666         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
25667         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
25668         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
25669         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
25670         1.7.5.
25671         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
25672         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
25673         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
25674         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
25675         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
25676         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
25677         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
25678         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
25679         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
25680         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
25681         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
25682         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
25683         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
25684         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
25685         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
25686         Likewise.
25687         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
25688         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
25689         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
25690         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
25691         Likewise.
25692         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
25693         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
25694         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
25695         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
25696         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
25697         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
25698         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
25699         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
25700         Likewise.
25701         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
25702         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
25703         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
25704         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
25705         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
25706         Likewise.
25707         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
25708         Likewise.
25709         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
25710         Likewise.
25711         * doc/glibc-functions/xdrrec_endofrecord.texi
25712         (xdrrec_endofrecord): Likewise.
25713         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
25714         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
25715         Likewise.
25716         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
25717         Likewise.
25718
25719 2010-05-04  Jim Meyering  <meyering@redhat.com>
25720
25721         gendocs.sh: make its "-s FILE" option more useful
25722         * build-aux/gendocs.sh: When honoring the -s FILE option, update
25723         $PACKAGE to reflect the probably-different basename of "FILE".
25724
25725 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
25726
25727         bootstrap: don't ignore download_po_files failure
25728         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
25729         failure.
25730
25731 2010-05-03  Jim Meyering  <meyering@redhat.com>
25732
25733         maint.mk: allow to pass options to gendocs.sh
25734         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
25735         (gendocs_options_): New overridable variable.
25736
25737         gnu-web-doc-update: don't ignore configure or build failure
25738         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
25739
25740         announce-gen: backslash-escape '@'s in --help output
25741         * build-aux/announce-gen: Fix syntax errors.
25742
25743         maint.mk, announce-gen: allow project-specific announcement mail headers
25744         * top/maint.mk (translation_project_): Define default.
25745         (announcement_Cc_, announcement_mail_headers_): Likewise.
25746         (announcement): Invoke announce-gen with new --mail-headers option.
25747         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
25748
25749         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
25750         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
25751         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
25752         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
25753         line in the "err2" output file when running "make check" in verbose
25754         mode (i.e., with set -x enabled).
25755
25756 2010-05-03  Bruno Haible  <bruno@clisp.org>
25757
25758         wctob: Fix for weird platforms.
25759         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
25760         argument value.
25761
25762 2010-05-03  Jim Meyering  <meyering@redhat.com>
25763
25764         maint.mk: prohibit unwarranted use of <strings.h>
25765         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
25766         strings.h in a file that does not also use strcasecmp, strncasecmp,
25767         ffs or ffsll.
25768
25769         maint.mk: remove obsolete comments
25770         * top/maint.mk: Remove stale, commented-out rules.
25771
25772 2010-05-02  Bruno Haible  <bruno@clisp.org>
25773
25774         wcwidth: Declare also when it's aliased.
25775         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
25776         macro.
25777
25778 2010-05-02  Bruno Haible  <bruno@clisp.org>
25779
25780         Fix regression from 2010-04-25.
25781         * gnulib-tool (func_modules_transitive_closure): Check the status of
25782         all modules, not only of the tests that are of the form foo-tests where
25783         foo is a module.
25784
25785 2010-05-02  Bruno Haible  <bruno@clisp.org>
25786
25787         wctob: Work around nasty Cygwin 1.7.2 bug.
25788         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
25789         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
25790
25791 2010-05-01  Bruno Haible  <bruno@clisp.org>
25792
25793         fpurge: Sharper test.
25794         * tests/test-fpurge.c (main): Add one more ftell check.
25795         * modules/fpurge-tests (Depends-on): Add ftell.
25796         Suggested by Eric Blake.
25797
25798 2010-05-01  Bruno Haible  <bruno@clisp.org>
25799
25800         ftello: Another test.
25801         * tests/test-ftello3.c: New file.
25802         * modules/ftello-tests (Files): Add it.
25803         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
25804         MOSTLYCLEANFILES.
25805
25806         ftell: Another test.
25807         * tests/test-ftell3.c: New file.
25808         * modules/ftell-tests (Files): Add it.
25809         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
25810         MOSTLYCLEANFILES.
25811
25812 2010-05-01  Bruno Haible  <bruno@clisp.org>
25813
25814         ftell, ftello: Work around Solaris bug.
25815         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
25816         * lib/ftello.c: Include stdio-impl.h.
25817         (ftello): On Solaris, when _IOWRT is set, compute the result without
25818         looking at _IOREAD.
25819         * modules/ftello (Files): Add lib/stdio-impl.h.
25820         * doc/posix-functions/ftell.texi: Mention Solaris bug.
25821         * doc/posix-functions/ftello.texi: Likewise.
25822         Reported by Eric Blake.
25823
25824 2010-05-01  Bruno Haible  <bruno@clisp.org>
25825
25826         freading: Adapt to special meaning of _IOREAD flag on Solaris.
25827         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
25828         the _IOWRT flag is also set.
25829
25830 2010-05-01  Bruno Haible  <bruno@clisp.org>
25831
25832         Fix doc about a HP-UX stdio bug.
25833         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
25834         * doc/posix-functions/ftello.texi: Likewise.
25835
25836 2010-05-01  Bruno Haible  <bruno@clisp.org>
25837
25838         lseek test: Fix failure on Solaris.
25839         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
25840         output.
25841
25842 2010-04-30  Jim Meyering  <meyering@redhat.com>
25843
25844         bootstrap: don't ignore failure to generate po*/Makevars
25845         * build-aux/bootstrap (with_gettext): Don't ignore failure
25846         to create po/Makevars or runtime-po/Makevars.
25847
25848 2010-04-29  Eric Blake  <eblake@redhat.com>
25849
25850         headers: relax license to LGPLv2+
25851         * modules/fcntl-h (License): Relax license.
25852         * modules/getopt-posix (License): Likewise.
25853         * modules/locale (License): Likewise.
25854         * modules/math (License): Likewise.
25855         * modules/pty (License): Likewise.
25856         * modules/sched (License): Likewise.
25857         * modules/search (License): Likewise.
25858         * modules/spawn (License): Likewise.
25859         * modules/stdarg (License): Likewise.
25860         * modules/sysexits (License): Likewise.
25861
25862 2010-04-29  Jim Meyering  <meyering@redhat.com>
25863
25864         inttypes: relax license to LGPLv2+
25865         * modules/inttypes (License): Relax license.
25866
25867 2010-04-29  Simon Josefsson  <simon@josefsson.org>
25868
25869         * top/maint.mk (indent): Run twice to produce idempotent results.
25870
25871 2010-04-28  Bruno Haible  <bruno@clisp.org>
25872
25873         getdate: Generate getdate.c in the source directory.
25874         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
25875         MOSTLYCLEANFILES.
25876         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
25877
25878 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
25879
25880         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
25881         is not declared as a const *; avoid warnings in that case.
25882
25883 2010-04-28  Eric Blake  <eblake@redhat.com>
25884
25885         canonicalize-lgpl: avoid compiler warning
25886         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
25887         declaration' / 'extraneous semicolon' warning with some compilers.
25888         Reported by Andreas Gruenbacher.
25889
25890 2010-04-28  Jim Meyering  <meyering@redhat.com>
25891
25892         init.sh: ensure a more reliable exit status when exiting via trap
25893         * tests/init.sh (setup_): Don't rely on $? in signal handler.
25894         Inspired by patches from Dmitry V. Levin.
25895         Also trap on signal 3 (SIGQUIT).
25896
25897 2010-04-27  Bruno Haible  <bruno@clisp.org>
25898
25899         Update doc about utimes().
25900         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
25901         'utimens' module.
25902         Reported by Andreas Gruenbacher <agruen@suse.de>.
25903
25904 2010-04-27  Eric Blake  <eblake@redhat.com>
25905
25906         full-read, full-write: relax license
25907         * modules/full-read (License): Drop to LGPLv2+.
25908         * modules/full-write (License): Likewise.
25909         * modules/safe-read (License): Likewise.
25910         * modules/safe-write (License): Likewise.
25911
25912         pthread: mention library for linking
25913         * modules/pthread (Link): Mention $(LIB_PTHREAD).
25914
25915 2010-04-27  Jim Meyering  <meyering@redhat.com>
25916
25917         maint.mk: fix a bug introduced in last change
25918         * top/maint.mk (gl_assured_headers_): Now that all names are on
25919         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
25920         is not anchored to end of word, it should be adequate.
25921
25922         maint.mk: avoid side-effect in latest syntax-check
25923         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
25924         to run commands via $(shell...), and hence to incur cost only when
25925         the new rule is actually run.
25926
25927         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
25928         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
25929         and use that to create a regexp used to detect all #if HAVE_..._H uses.
25930         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
25931         (gl_assured_headers_, az_, AZ_): Define.
25932         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
25933
25934 2010-04-26  Jim Meyering  <jim@meyering.net>
25935             Bruno Haible  <bruno@clisp.org>
25936
25937         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
25938         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
25939         Prompted by an exchange with Gilles Espinasse.
25940
25941 2010-04-26  Jim Meyering  <meyering@redhat.com>
25942
25943         git-version-gen: aesthetic tweak
25944         * build-aux/git-version-gen: Use "$nl" rather than a literal,
25945         so that the command remains on a single line.
25946
25947 2010-04-26  Eric Blake  <eblake@redhat.com>
25948
25949         git-version-gen: allow use on EBCDIC hosts
25950         * build-aux/git-version-gen (dirty): Use literal rather than tying
25951         ourselves to ascii.
25952         Reported by Steve Goetze.
25953
25954 2010-04-25  Bruno Haible  <bruno@clisp.org>
25955
25956         netdb: Add support for GNULIB_POSIXCHECK.
25957         * lib/netdb.in.h: Include warn-on-use.h.
25958         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
25959         functions are used when GNULIB_POSIXCHECK is defined and the
25960         getaddrinfo module is not in use.
25961         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
25962         freeaddrinfo, gai_strerror, getnameinfo are declared.
25963         * modules/netdb (Depends-on): Add warn-on-use.
25964         (Makefile.am): Include warn-on-use.h in netdb.h.
25965
25966 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
25967
25968         build: avoid "make check" failure without .git/ directory
25969         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
25970         there is no .git/ directory.
25971
25972 2010-04-25  Bruno Haible  <bruno@clisp.org>
25973
25974         ptsname: Fix misuse of ttyname_r.
25975         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
25976         of errno.
25977
25978 2010-04-25  Bruno Haible  <bruno@clisp.org>
25979
25980         ttyname_r: Make it work on Solaris 10.
25981         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
25982         if the system function has the POSIX declaration. Test whether the
25983         function fails if the buffer is less than 128 bytes large.
25984         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
25985         system's ttyname_r function. Provide a reasonably large buffer.
25986         * modules/ttyname_r (Depends-on): Add extensions.
25987         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
25988
25989 2010-04-25  Bruno Haible  <bruno@clisp.org>
25990
25991         Use the 'extensions' module for some more functions on Solaris.
25992         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
25993         module.
25994         * doc/posix-functions/ctime_r.texi: Likewise.
25995         * doc/posix-functions/getgrgid_r.texi: Likewise.
25996         * doc/posix-functions/getgrnam_r.texi: Likewise.
25997         * doc/posix-functions/getpwnam_r.texi: Likewise.
25998         * doc/posix-functions/getpwuid_r.texi: Likewise.
25999         * doc/posix-functions/readdir_r.texi: Likewise.
26000         * doc/posix-functions/sigwait.texi: Likewise.
26001         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
26002         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
26003
26004 2010-04-25  Bruno Haible  <bruno@clisp.org>
26005
26006         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
26007         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
26008         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
26009         * lib/ttyname_r.c: Include <limits.h>.
26010         (ttyname_r): Define using the system's ttyname_r function, if it exists
26011         and not on Solaris.
26012         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
26013         set.
26014         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
26015         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
26016         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
26017         Reported by Simon Josefsson.
26018
26019 2010-04-25  Bruno Haible  <bruno@clisp.org>
26020
26021         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
26022         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
26023         * doc/posix-functions/ctime_r.texi: Likewise.
26024         * doc/posix-functions/getgrgid_r.texi: Likewise.
26025         * doc/posix-functions/getgrnam_r.texi: Likewise.
26026         * doc/posix-functions/getlogin_r.texi: Likewise.
26027         * doc/posix-functions/getpwnam_r.texi: Likewise.
26028         * doc/posix-functions/getpwuid_r.texi: Likewise.
26029         * doc/posix-functions/readdir_r.texi: Likewise.
26030         * doc/posix-functions/sigwait.texi: Likewise.
26031         * doc/posix-functions/ttyname_r.texi: Likewise.
26032         Reported by Simon Josefsson.
26033
26034 2010-04-25  Bruno Haible  <bruno@clisp.org>
26035
26036         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
26037         * gnulib-tool (func_usage): Document that --with-*-tests options apply
26038         also to --create-testdir.
26039         (func_acceptable): Don't consider the status of *-tests modules here.
26040         (func_modules_transitive_closure): Consider it here, before including a
26041         test module.
26042         (func_import, func_create_testdir): Set inc_all_direct_tests,
26043         inc_all_indirect_tests.
26044         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
26045         --create-testdir and --create-megatestdir.
26046
26047 2010-04-25  Bruno Haible  <bruno@clisp.org>
26048
26049         gnulib-tool: Add --without-*-tests options.
26050         * gnulib-tool (func_usage): Document the --without-*-tests options.
26051         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
26052         excl_unportable_tests): New variables.
26053         Fail if they are specified with --import or --update.
26054         (func_acceptable): Respect the excl_*_tests variables.
26055         (func_import): Set the excl_*_tests variables to empty.
26056
26057 2010-04-25  Simon Josefsson  <simon@josefsson.org>
26058             Bruno Haible  <bruno@clisp.org>
26059
26060         Work around a MacOS X 10.4 bug with openpty.
26061         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
26062         * tests/test-openpty.c (main): Close the master side explicitly.
26063
26064 2010-04-25  Bruno Haible  <bruno@clisp.org>
26065
26066         strnlen: Fix a C++ test error on MacOS X and Solaris.
26067         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
26068         the function is not declared.
26069         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
26070         Simon Josefsson.
26071
26072 2010-04-24  Bruno Haible  <bruno@clisp.org>
26073
26074         Avoid a gcc warning.
26075         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
26076         of correct type for %08lx directive.
26077         Reported by Eric Blake.
26078
26079 2010-04-24  Bruno Haible  <bruno@clisp.org>
26080
26081         vasnprintf: Correct errno value in case of out-of-memory.
26082         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
26083         or sprintf. Use the errno value from SNPRINTF or sprintf.
26084         Reported by Ian Beckwith <ianb@erislabs.net>.
26085
26086 2010-04-24  Bruno Haible  <bruno@clisp.org>
26087
26088         ansi-c++-opt: Find correct compiler when cross-compiling.
26089         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
26090         AC_CHECK_PROGS.
26091         Reported by Simon Josefsson.
26092
26093 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
26094
26095         vc-list-files: Add support for subversion
26096         * build-aux/vc-list-files: Use "svn list" to generate the list of
26097         files controlled by subversion.
26098
26099 2010-04-23  Jim Meyering  <meyering@redhat.com>
26100
26101         vc-list-files tests: convert to use init.sh
26102         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
26103         path_prepend_.
26104         Use Exit, not exit.
26105         Use skip_ rather than open coding it.
26106         Remove trap set-up and compare definitions.
26107         * tests/test-vc-list-files-git.sh: Likewise.
26108         * modules/vc-list-files-tests (Files): Add tests/init.sh.
26109
26110 2010-04-22  Simon Josefsson  <simon@josefsson.org>
26111
26112         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
26113         backup files.
26114
26115 2010-04-21  Simon Josefsson  <simon@josefsson.org>
26116
26117         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
26118
26119 2010-04-20  Eric Blake  <eblake@redhat.com>
26120
26121         tests: be robust to ignored SIGPIPE
26122         * tests/test-select-in.sh: Consume all output.
26123         * tests/test-lseek.sh: Check correct exit status, while avoiding
26124         EPIPE.
26125
26126 2010-04-20  Simon Josefsson  <simon@josefsson.org>
26127             Bruno Haible  <bruno@clisp.org>
26128
26129         visibility: Don't use -fvisibility if it leads to a warning.
26130         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
26131         yes, don't pretend that visibility works if it leads to a warning.
26132         Reported by Mike Gran <spk121@yahoo.com>.
26133
26134 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
26135
26136         * build-aux/bootstrap: Use "git -h" for testing for supported options
26137         instead of "git --help".  The short-form option only shows a summary,
26138         and doesn't layout the full man page.  Grep for the full option name
26139         in the summary, too.
26140
26141 2010-04-19  Bruno Haible  <bruno@clisp.org>
26142
26143         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
26144         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
26145         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
26146         mention of RELOCATABLE_STRIP.
26147         Reported by Sylvain Beucler <beuc@beuc.net>.
26148
26149 2010-04-19  Bruno Haible  <bruno@clisp.org>
26150
26151         * lib/diffseq.h: Fix typo in comment.
26152         Reported by Eric Blake.
26153
26154 2010-04-19  Bruno Haible  <bruno@clisp.org>
26155
26156         ioctl: Move autoconf macro to a .m4 file.
26157         * m4/ioctl.m4: New file, extracted from modules/ioctl.
26158         * modules/ioctl (Files): Add it.
26159         (configure.ac): Simply invoke gl_FUNC_IOCTL.
26160         Reported by Ian Beckwith <ianb@erislabs.net>.
26161
26162 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
26163             Bruno Haible  <bruno@clisp.org>
26164
26165         diffseq: Accommodate use-case with abstract arrays.
26166         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
26167         is not defined.
26168         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
26169         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
26170
26171 2010-04-18  Bruno Haible  <bruno@clisp.org>
26172
26173         * doc/posix-headers/stdbool.texi: More precise wording.
26174
26175 2010-04-17  Jim Meyering  <meyering@redhat.com>
26176
26177         maint.mk: use gnu-style indentation in an embedded perl script
26178         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
26179         Rename variable: s/two/last_two_bytes/
26180
26181 2010-04-16  Eric Blake  <eblake@redhat.com>
26182
26183         test-stdbool: skip test that fails with Solaris CC
26184         * tests/test-stdbool.c (f): Skip test that causes compilation
26185         error under buggy C++ compiler.
26186         * lib/stdbool.in.h: Document the limitation.
26187         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
26188
26189         setenv: allow compilation with C++
26190         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
26191         register keyword.
26192
26193         stdint: allow test to pass with C++
26194         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
26195
26196         getopt: allow compilation with C++
26197         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
26198         struct.
26199         * lib/getopt.c (_getopt_internal_r): Use correct type.
26200         Reported by Dagobert Michelson, via Joel E. Denny.
26201
26202 2010-04-16  Bruno Haible  <bruno@clisp.org>
26203
26204         Override netdb.h always.
26205         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
26206         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
26207         Reported by Ludovic Courtès <ludo@gnu.org>.
26208
26209 2010-04-15  Bruno Haible  <bruno@clisp.org>
26210
26211         openpty: Fix mistake from 2010-03-21.
26212         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
26213         Reported by Simon Josefsson.
26214
26215 2010-04-15  Eric Blake  <eblake@redhat.com>
26216
26217         test-forkpty: fix expected signature
26218         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
26219         Reported by Simon Josefsson.
26220
26221 2010-04-15  Jim Meyering  <meyering@redhat.com>
26222
26223         maint.mk: texinfo_suffix_re_: correct the default regexp
26224         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
26225
26226         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
26227         make it configurable via texinfo_suffix_re_.
26228
26229 2010-04-14  Eric Blake  <eblake@redhat.com>
26230
26231         strtok_r: relax license to LGPLv2+
26232         * modules/strtok_r (License): Relax license.
26233         Reported by Matthias Bolte.
26234
26235 2010-04-14  Simon Josefsson  <simon@josefsson.org>
26236
26237         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
26238         version 1.4.4 by default instead of requiring the libgcrypt
26239         version used during build.  This makes it possible to use the
26240         application with older but still binary compatible libgcrypt
26241         versions.
26242
26243 2010-04-13  Eric Blake  <eblake@redhat.com>
26244
26245         getopt-gnu: match recent glibc fixes and posix ruling
26246         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
26247         '+' handling, when requesting extensions.
26248         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
26249         'W;' handling.
26250         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
26251         * doc/posix-functions/getopt.texi (getopt): Document this.
26252         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
26253         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26254         Likewise.
26255
26256         getopt: merge bug fixes from glibc
26257         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
26258         diagnostics.  Honor '+:' correctly.  Reject ';'.
26259
26260         getopt-posix: detect MacOS bug
26261         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
26262         optind when missing a required argument.
26263         * doc/posix-functions/getopt.texi (getopt): Document the bug.
26264         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
26265         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26266         Likewise.
26267
26268         getopt-posix: avoid spurious failure on Solaris
26269         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
26270         an indicator that setting optind=1 is sufficient for reset.
26271
26272         getopt-posix: avoid spurious failure on FreeBSD
26273         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
26274         in POSIX mode, since the m4 test uses it.
26275
26276         gnulib-tool: silence warning on BSD sh
26277         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
26278
26279 2010-04-13  Jim Meyering  <meyering@redhat.com>
26280
26281         doc: users.txt: GNU patch now uses gnulib
26282         * users.txt: Add patch.
26283
26284 2010-04-12  Jim Meyering  <meyering@redhat.com>
26285
26286         maint.mk: generate more concise timing data for syntax-check rules
26287         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
26288         " done" from each line that reports a syntax-check test duration.
26289
26290 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
26291
26292         git-version-gen: use "git update-index..." rather than "git status"
26293         * build-aux/git-version-gen: Use git update-index --refresh, not
26294         "git status".  With some versions of git, "git status" would fail
26295         to update the index and result in an unwarranted "-dirty" suffix.
26296
26297 2010-04-11  Jim Meyering  <meyering@redhat.com>
26298
26299         openat: correct formatting (no semantic change)
26300         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
26301         Suggested by Bruno Haible.
26302
26303 2010-04-11  Bruno Haible  <bruno@clisp.org>
26304
26305         Stricter declaration checking in testdirs.
26306         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
26307         If for_tests is true, augment AM_CPPFLAGS to define
26308         GNULIB_STRICT_CHECKING.
26309         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
26310         GNULIB_STRICT_CHECKING is defined, verify that the function is
26311         declared.
26312
26313 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
26314             Bruno Haible  <bruno@clisp.org>
26315
26316         libunistring: Improve configure output.
26317         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
26318         Don't say "consider installing GNU libunistring" when checking again
26319         with libiconv.
26320
26321 2010-04-11  Bruno Haible  <bruno@clisp.org>
26322
26323         libunistring: Correct value of $LTLIBUNISTRING.
26324         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
26325         correct the value of $LTLIBUNISTRING.
26326
26327 2010-04-11  Bruno Haible  <bruno@clisp.org>
26328
26329         havelib: Add static libraries to LIBS in the right order.
26330         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
26331         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
26332
26333 2010-04-11  Bruno Haible  <bruno@clisp.org>
26334
26335         libunistring: Detect libunistring also when it depends on libiconv.
26336         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
26337         the second AC_LIB_HAVE_LINKFLAGS invocation.
26338
26339 2010-04-11  James Youngman  <jay@gnu.org>
26340
26341         close-stream: declare local scalars to be "const"
26342         * lib/close-stream.c (close_stream): Make boolean variables const
26343         to document the fact that we set but do not change them.
26344
26345 2010-04-11  Bruno Haible  <bruno@clisp.org>
26346
26347         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
26348
26349 2010-04-11  Jim Meyering  <meyering@redhat.com>
26350
26351         maint.mk: don't include dist-check.mk
26352         * top/maint.mk: Remove bogus include directive.
26353
26354         maint.mk: improve empty-line-at-EOF check
26355         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
26356         solution, rather than tail+Perl-based one.  The latter would read
26357         a few kilobytes from the end of each file, and did not handle empty
26358         files properly.
26359
26360         maint.mk: print the elapsed time for each syntax-check rule
26361         * top/maint.mk (sc_m_rules_): Save start time in a file.
26362         (sc_z_rules_): New rules: remove temp file and print elapsed time.
26363         (local-check): Interpose the .z rules
26364
26365 2010-04-11  Jim Meyering  <meyering@redhat.com>
26366
26367         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
26368         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
26369         empty file with one that ends in an empty line.
26370
26371 2010-04-10  Bruno Haible  <bruno@clisp.org>
26372
26373         mkdir: Make it work on mingw64.
26374         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
26375         * lib/mkdir.c: Update comment.
26376         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
26377
26378 2010-04-10  Bruno Haible  <bruno@clisp.org>
26379
26380         Don't override improved macro from newer autoconf.
26381         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
26382         autoconf >= 2.62.
26383         Reported by Joel E. Denny <jdenny@clemson.edu>.
26384
26385 2010-04-10  Jim Meyering  <meyering@redhat.com>
26386
26387         maint.mk: new syntax-check rule: prohibit empty lines at end of file
26388         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
26389
26390         maint.mk: correct a diagnostic
26391         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
26392         in diagnostic; now use $prohibit.
26393
26394 2010-04-10  Bruno Haible  <address@hidden>
26395
26396         fchownat: Fix a C++ test error on Solaris 8.
26397         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
26398         the function does not exist.
26399
26400 2010-04-10  Bruno Haible  <bruno@clisp.org>
26401
26402         vasnprintf: Add more tests.
26403         * tests/test-vasnprintf-posix.c: Include <errno.h>.
26404         (test_function): Test converting an invalid wide string.
26405
26406         vasnprintf: Correct handling of unconvertible wide string arguments.
26407         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
26408         VASNPRINTF.
26409         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
26410         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
26411         smaller than the expected maximum need for the directive. Set errno to
26412         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
26413         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
26414         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
26415         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
26416         * modules/vasnprintf (Files): Add m4/printf.m4.
26417         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26418
26419 2010-04-10  Bruno Haible  <bruno@clisp.org>
26420
26421         vasnprintf: Fix crash in %ls directive.
26422         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
26423         string is passed as argument to %ls, with no precision and no width.
26424         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26425
26426 2010-04-10  Bruno Haible  <bruno@clisp.org>
26427
26428         vasnprintf: Fix multiple test failures on mingw.
26429         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
26430         _snprintf, or snwprintf, not _snwprintf.
26431
26432 2010-04-10  Bruno Haible  <bruno@clisp.org>
26433
26434         write: Fix a C++ test error on mingw.
26435         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
26436
26437 2010-04-10  Bruno Haible  <bruno@clisp.org>
26438
26439         vasnprintf test: Reduce code duplication.
26440         * tests/test-vasnprintf.c (test_function): New function, extracted from
26441         test_vasnprintf.
26442         (test_vasnprintf, test_asnprintf): Invoke it.
26443
26444 2010-04-10  Bruno Haible  <bruno@clisp.org>
26445
26446         strnlen: Fix warning in C++ mode on MacOS X.
26447         * lib/string.in.h (strnlen): Use the modern idiom.
26448         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
26449         defining strnlen as a macro already in <config.h>.
26450         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
26451         REPLACE_STRNLEN.
26452         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
26453         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26454
26455 2010-04-08  James Youngman  <jay@gnu.org>
26456
26457         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
26458         the example.
26459
26460 2010-04-09  Jim Meyering  <meyering@redhat.com>
26461
26462         maint.mk: print better diagnostic when there is no $(_hv_file)
26463         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
26464         announce that when $(_hv_file) (aka help-version) does not exist.
26465
26466         init.sh: run tr in the "C" locale to avoid multibyte interpretation
26467         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
26468         not try to interpret its random input bytes.  Jarno Rajahalme reported
26469         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
26470         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
26471         (mktempd_): Likewise, just in case.
26472
26473         ftruncate: add two years to projected module removal date: 2012
26474         * m4/ftruncate.m4: Adjust comments.
26475
26476         ftruncate: mark module as obsolete; even MinGW provides it, now
26477         * modules/ftruncate (Status): Obsolete.
26478         (Notice): Say that.
26479         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
26480         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
26481
26482 2010-04-08  Bruno Haible  <bruno@clisp.org>
26483
26484         Fix side effects from tests-related modules.
26485         * modules/dprintf-posix (Comment): New section.
26486         * modules/fprintf-posix (Comment): Likewise.
26487         * modules/obstack-printf-posix (Comment): Likewise.
26488         * modules/printf-posix (Comment): Likewise.
26489         * modules/snprintf-posix (Comment): Likewise.
26490         * modules/sprintf-posix (Comment): Likewise.
26491         * modules/vasnprintf-posix (Comment): Likewise.
26492         * modules/vasprintf-posix (Comment): Likewise.
26493         * modules/vdprintf-posix (Comment): Likewise.
26494         * modules/vfprintf-posix (Comment): Likewise.
26495         * modules/vprintf-posix (Comment): Likewise.
26496         * modules/vsnprintf-posix (Comment): Likewise.
26497         * modules/vsprintf-posix (Comment): Likewise.
26498         * modules/xprintf-posix (Comment): Likewise.
26499         * modules/xvasprintf-posix (Comment): Likewise.
26500         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
26501         * modules/floorf-tests (Depends-on): Likewise.
26502         * modules/round-tests (Depends-on): Likewise.
26503         * modules/roundf-tests (Depends-on): Likewise.
26504         * modules/trunc-tests (Depends-on): Likewise.
26505         * modules/truncf-tests (Depends-on): Likewise.
26506         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
26507         'fprintf-posix' module is not present.
26508         * tests/test-floorf2.c (check): Likewise.
26509         * tests/test-trunc2.c (check): Likewise.
26510         * tests/test-truncf2.c (check): Likewise.
26511         * tests/test-round2.c (equal): Likewise.
26512         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26513
26514 2010-04-07  Karl Berry  <karl@gnu.org>
26515
26516         * config/srclist.txt,
26517         * config/srclistvars.sh,
26518         * config/srclist-update: doc fixes.
26519
26520 2010-04-07  Jim Meyering  <meyering@redhat.com>
26521
26522         maint.mk: add a PATH crosschecking syntax-check rule
26523         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
26524         Useful if you use a test like the one in help-version (coreutils,
26525         diffutils, grep, gzip) that ensures $(VERSION) matches what is
26526         printed by prog --version.
26527
26528 2010-04-06  Bruno Haible  <bruno@clisp.org>
26529
26530         Fix link error on mingw.
26531         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
26532         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
26533
26534 2010-04-06  Bruno Haible  <bruno@clisp.org>
26535
26536         Assume rmdir exists.
26537         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
26538
26539 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
26540
26541         doc: update users.txt
26542         * users.txt: Add gcal.
26543
26544 2010-04-06  Jim Meyering  <meyering@redhat.com>
26545
26546         init.sh: simply unset TMPDIR rather than risking env -i
26547         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
26548         although it probably works fine on all Unix-based systems, some
26549         systems (Cygwin?) cannot tolerate a totally cleared environment.
26550         Suggestion from Eric Blake.
26551
26552 2010-04-06  Jim Meyering  <meyering@redhat.com>
26553
26554         init.sh: portability fix: use env's POSIX-specified -i option not -u
26555         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
26556         than unportable env -u.  Solaris 5.11's env lacks support for -u.
26557
26558 2010-04-05  Bruno Haible  <bruno@clisp.org>
26559
26560         btowc: Work around Cygwin 1.7.2 bug.
26561         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
26562         does not map NUL to 0.
26563         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
26564
26565 2010-04-05  Bruno Haible  <bruno@clisp.org>
26566
26567         Make the multithread modules work on Cygwin 1.7.2.
26568         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
26569         imported symbols can be declared weak, so that it returns "no" on
26570         Cygwin 1.7.2.
26571
26572 2010-04-05  Bruno Haible  <bruno@clisp.org>
26573
26574         Use the module 'strncat'.
26575         * modules/unistr/u8-strncat (Depends-on): Add strncat.
26576
26577         Tests for module 'strncat'.
26578         * modules/strncat-tests: New file.
26579         * tests/test-strncat.c: New file.
26580
26581         New module 'strncat'.
26582         * lib/string.in.h (strncat): New declaration.
26583         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
26584         * m4/strncat.m4: New file, based on m4/memchr.m4.
26585         * modules/strncat: New file.
26586         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
26587         is declared.
26588         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
26589         REPLACE_STRNCAT.
26590         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
26591         REPLACE_STRNCAT.
26592         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
26593         module.
26594         * tests/test-string-c++.cc: Check signature of strncat.
26595
26596 2010-04-05  Jim Meyering  <meyering@redhat.com>
26597
26598         xstrtoumax-tests: convert to use init.sh
26599         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
26600         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
26601         Use Exit, not exit.
26602         Remove uses of $EXEEXT and "./" to run a program in the current dir.
26603
26604         xstrtoimax-tests: convert to use init.sh
26605         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
26606         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
26607         Use Exit, not exit.
26608         Remove uses of $EXEEXT and "./" to run a program in the current dir.
26609
26610 2010-04-05  Bruno Haible  <bruno@clisp.org>
26611
26612         sys_socket: Avoid #define replacements in C++ mode.
26613         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
26614         warning to the function if possible, rather than #defining the symbol
26615         to a dysfunctional alias.
26616
26617 2010-04-05  Bruno Haible  <bruno@clisp.org>
26618
26619         fseeko: Fix C++ test error on mingw.
26620         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
26621         gl_FUNC_FSEEKO.
26622         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
26623         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
26624         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
26625         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
26626
26627 2010-04-05  Bruno Haible  <bruno@clisp.org>
26628
26629         duplocale: Improve test output.
26630         * tests/test-duplocale.c (main): Print reason for skipped test.
26631
26632 2010-04-05  Bruno Haible  <bruno@clisp.org>
26633
26634         Assume rmdir exists.
26635         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
26636         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
26637
26638 2010-04-05  Bruno Haible  <bruno@clisp.org>
26639
26640         Fix link error on Solaris 8 with cc.
26641         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
26642
26643 2010-04-05  Bruno Haible  <bruno@clisp.org>
26644
26645         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
26646         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
26647
26648 2010-04-05  Bruno Haible  <bruno@clisp.org>
26649
26650         vasprintf: Update documentation.
26651         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
26652
26653 2010-04-05  Bruno Haible  <bruno@clisp.org>
26654
26655         ptsname: Improve test.
26656         * tests/test-ptsname.c (main): Also try the various master names of BSD
26657         systems.
26658
26659 2010-04-05  Bruno Haible  <bruno@clisp.org>
26660
26661         memchr: Avoid a possible C++ test error.
26662         * lib/string.in.h (memchr): Provide declaration if function is missing.
26663         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
26664         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
26665         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
26666         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
26667
26668 2010-04-05  Bruno Haible  <bruno@clisp.org>
26669
26670         strtok_r: Improve idiom.
26671         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
26672         AC_LIBOBJ is used.
26673
26674 2010-04-05  Bruno Haible  <bruno@clisp.org>
26675
26676         strdup: Improve idiom.
26677         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
26678         AC_LIBOBJ is used.
26679         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
26680         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
26681         when AC_LIBOBJ is used.
26682
26683 2010-04-05  Bruno Haible  <bruno@clisp.org>
26684
26685         mbsinit, mbrtowc, wcrtomb: Improve idioms.
26686         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
26687         don't set REPLACE_MBSINIT to 1.
26688         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
26689         don't set REPLACE_MBRTOWC to 1.
26690         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
26691         exist, don't set REPLACE_MBSRTOWCS to 1.
26692         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
26693         exist, don't set REPLACE_MBSNRTOWCS to 1.
26694         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
26695         don't set REPLACE_WCRTOMB to 1.
26696         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
26697         exist, don't set REPLACE_WCSRTOMBS to 1.
26698         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
26699         exist, don't set REPLACE_WCSNRTOMBS to 1.
26700
26701 2010-04-05  Bruno Haible  <bruno@clisp.org>
26702
26703         ldexpl: Improve idiom.
26704         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
26705         make sure to set HAVE_DECL_LDEXPL to 0.
26706
26707 2010-04-05  Jim Meyering  <meyering@redhat.com>
26708
26709         xstrtol-tests: convert to use init.sh
26710         * modules/xstrtol-tests (Files): Add tests/init.sh.
26711         * tests/test-xstrtol.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         atexit-tests: convert to use init.sh
26716         * modules/atexit-tests (Files): Add tests/init.sh.
26717         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
26718         Use Exit, not exit.
26719         Remove uses of $EXEEXT and "./" to run a program in the current dir.
26720
26721         init.sh: fix typo
26722         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
26723
26724         init.sh: make it easier for a test script to write to the tty, ...
26725         when using automake's parallel-tests mode.
26726         * tests/init.sh (stderr_fileno_): Define overridable variable.
26727         (warn_): New function, to use it.
26728         (fail_, skip_, framework_failure_): Use warn_.
26729
26730 2010-04-04  Bruno Haible  <bruno@clisp.org>
26731
26732         btowc: Avoid warning.
26733         * lib/btowc.c: Include <stdlib.h>.
26734         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
26735
26736 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
26737             Bruno Haible  <bruno@clisp.org>
26738
26739         wchar: Port to NetBSD 1.5.
26740         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
26741         * lib/wctype.in.h (WEOF): Likewise.
26742
26743 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
26744             Bruno Haible  <bruno@clisp.org>
26745
26746         Port extended stdio to NetBSD 1.5.
26747         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
26748         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
26749         older.
26750
26751 2010-04-04  Bruno Haible  <bruno@clisp.org>
26752
26753         string: Remove unused substitution.
26754         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
26755         HAVE_DECL_STRERROR.
26756         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
26757
26758 2010-04-04  Bruno Haible  <bruno@clisp.org>
26759
26760         strtod: Avoid a possible C++ test error.
26761         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
26762         set REPLACE_STRTOD.
26763
26764 2010-04-04  Bruno Haible  <bruno@clisp.org>
26765
26766         strerror: Update documentation.
26767         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
26768
26769 2010-04-04  Bruno Haible  <bruno@clisp.org>
26770
26771         stdio: Fix some C++ test errors on Solaris 8 with GCC.
26772         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
26773         _GL_CXXALIAS_SYS_CAST.
26774
26775 2010-04-04  Bruno Haible  <bruno@clisp.org>
26776
26777         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
26778         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
26779         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
26780         REPLACE_FREXPL to 1.
26781         * doc/posix-functions/frexpl.texi: Update documentation.
26782
26783 2010-04-04  Bruno Haible  <bruno@clisp.org>
26784
26785         math: Fix some C++ test errors on Solaris 8 and Cygwin.
26786         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
26787
26788 2010-04-04  Bruno Haible  <bruno@clisp.org>
26789
26790         Implement nanosleep for native Windows.
26791         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
26792
26793 2010-04-04  Bruno Haible  <bruno@clisp.org>
26794
26795         math: Fix some C++ test errors on Solaris 8.
26796         * lib/math.in.h (truncf, trunc): Use simpler idiom.
26797
26798 2010-04-04  Bruno Haible  <bruno@clisp.org>
26799
26800         math: Fix some C++ test errors on Cygwin.
26801         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
26802         truncl): Provide declaration if the system does not have it.
26803         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
26804         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
26805         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
26806         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
26807         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
26808         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
26809         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
26810         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
26811         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
26812         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
26813         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
26814         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
26815         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
26816         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
26817         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
26818         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
26819         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
26820         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
26821         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
26822         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
26823         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
26824         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
26825
26826 2010-04-04  Bruno Haible  <bruno@clisp.org>
26827
26828         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
26829         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
26830         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
26831         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
26832         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
26833         * m4/isinf.m4 (gl_ISINF): Likewise.
26834         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
26835
26836 2010-04-04  Bruno Haible  <bruno@clisp.org>
26837
26838         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
26839         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
26840
26841 2010-04-04  Bruno Haible  <bruno@clisp.org>
26842
26843         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
26844         * modules/tmpfile (configure.ac): Update.
26845
26846         tmpfile: Fix C++ test error on mingw.
26847         * lib/stdio.in.h (tmpfile): New declaration.
26848         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
26849         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
26850         * modules/tmpfile (Depends-on): Add stdio.
26851         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
26852         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
26853         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
26854         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
26855         REPLACE_TMPFILE.
26856         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
26857
26858 2010-04-04  Bruno Haible  <bruno@clisp.org>
26859
26860         ioctl: Fix C++ test error on mingw.
26861         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
26862         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
26863         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
26864
26865 2010-04-03  Bruno Haible  <bruno@clisp.org>
26866
26867         wcwidth: Fix C++ test error on mingw.
26868         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
26869         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
26870         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
26871
26872 2010-04-03  Bruno Haible  <bruno@clisp.org>
26873
26874         nanosleep: Fix C++ test error on mingw.
26875         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
26876         * lib/time.in.h (nanosleep): Use modern idiom.
26877         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
26878         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
26879         REPLACE_NANOSLEEP to 1.
26880         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
26881         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
26882
26883 2010-04-03  Bruno Haible  <bruno@clisp.org>
26884
26885         strptime: Fix C++ test error on mingw.
26886         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
26887         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
26888         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
26889         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
26890         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
26891         not REPLACE_STRPTIME.
26892         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
26893         REPLACE_STRPTIME.
26894
26895 2010-04-03  Bruno Haible  <bruno@clisp.org>
26896
26897         timegm: Fix C++ test error on mingw.
26898         * lib/time.in.h (timegm): Use modern idiom.
26899         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
26900         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
26901         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
26902         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
26903
26904 2010-04-03  Bruno Haible  <bruno@clisp.org>
26905
26906         timegm: Assume declaration if function exists.
26907         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
26908         if it exists. Don't clobber ac_cv_func_timegm.
26909
26910 2010-04-03  Bruno Haible  <bruno@clisp.org>
26911
26912         time_r: Fix C++ test error on mingw.
26913         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
26914         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
26915         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
26916         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
26917         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
26918
26919 2010-04-03  Bruno Haible  <bruno@clisp.org>
26920
26921         time_r: Minor updates.
26922         * modules/time_r (Description): Mention the provided functions.
26923         * lib/time_r.c: Don't include <string.h>.
26924         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
26925         * doc/posix-functions/localtime_r.texi: Likewise.
26926
26927 2010-04-03  Bruno Haible  <bruno@clisp.org>
26928
26929         time: Fix regression introduced on 2010-03-08.
26930         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
26931         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
26932
26933 2010-04-03  Jim Meyering  <meyering@redhat.com>
26934
26935         maint.mk: don't silently disable project-specific syntax-check rules
26936         * top/maint.mk (_prohibit_regexp): Define, to help people realize
26937         that they need to convert their project-specific syntax-check rules
26938         to use the new _sc_search_regexp.
26939
26940 2010-04-03  Bruno Haible  <bruno@clisp.org>
26941
26942         fchdir: Fix regression introduced on 2010-03-08.
26943         * lib/unistd.in.h (fchdir): Fix declaration.
26944         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
26945         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
26946         REPLACE_FCHDIR.
26947         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
26948         REPLACE_FCHDIR.
26949
26950 2010-04-03  Bruno Haible  <bruno@clisp.org>
26951
26952         getpagesize: Fix C++ test error on mingw.
26953         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
26954         system does not declare the function.
26955         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
26956         declared.
26957         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26958         HAVE_DECL_GETPAGESIZE.
26959         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
26960
26961 2010-04-03  Bruno Haible  <bruno@clisp.org>
26962
26963         stdio: Make C++ tests work on mingw.
26964         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
26965         does not declare the function.
26966
26967 2010-04-03  Bruno Haible  <bruno@clisp.org>
26968
26969         ftello: Fix C++ test error on mingw.
26970         * lib/stdio.in.h (ftello): Use modern idiom.
26971         * lib/ftello.c (ftello): Renamed from rpl_ftello.
26972         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
26973         is missing and that it needs to be replaced.
26974         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
26975         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
26976         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
26977
26978 2010-04-03  Bruno Haible  <bruno@clisp.org>
26979
26980         fseeko: Fix C++ test error on mingw.
26981         * lib/stdio.in.h (fseeko): Use modern idiom.
26982         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
26983         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
26984         is missing and that it needs to be replaced.
26985         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
26986         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
26987         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
26988
26989 2010-04-03  Bruno Haible  <bruno@clisp.org>
26990
26991         mkstemp: Fix C++ test error on mingw.
26992         * lib/stdlib.in.h (mkstemp): Use modern idiom.
26993         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
26994         function is missing and that it needs to be replaced.
26995         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
26996         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
26997
26998 2010-04-03  Bruno Haible  <bruno@clisp.org>
26999
27000         stpncpy: Fix C++ test error on mingw.
27001         * lib/string.in.h (stpncpy): Use modern idiom.
27002         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
27003         function is missing and that it needs to be replaced.
27004         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
27005         REPLACE_STPNCPY.
27006         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
27007
27008 2010-04-03  Bruno Haible  <bruno@clisp.org>
27009
27010         sys_stat: Fix C++ test error on mingw.
27011         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
27012         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
27013
27014 2010-04-03  Bruno Haible  <bruno@clisp.org>
27015
27016         pty: Update doc.
27017         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
27018
27019 2010-04-03  Bruno Haible  <bruno@clisp.org>
27020
27021         unistd: Fix C++ test error on mingw.
27022         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
27023
27024 2010-04-03  Bruno Haible  <bruno@clisp.org>
27025
27026         Update doc regarding mingw.
27027         * doc/glibc-functions/openpty.texi: Update regarding mingw.
27028         * doc/glibc-functions/login_tty.texi: Likewise.
27029         * doc/glibc-functions/forkpty.texi: Likewise.
27030
27031 2010-04-03  Bruno Haible  <bruno@clisp.org>
27032
27033         stdlib: Avoid compilation failure of c-strtold on mingw.
27034         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
27035
27036 2010-04-03  Bruno Haible  <bruno@clisp.org>
27037
27038         locale: Make C++ tests work on Cygwin and mingw.
27039         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
27040         cannot provide the function.
27041         Reported by Simon Josefsson.
27042
27043 2010-04-03  Bruno Haible  <bruno@clisp.org>
27044
27045         localename: Port to MacOS X 10.6.
27046         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
27047         memory layout of the locales in MacOS X 10.6 as well.
27048         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
27049
27050 2010-04-02  Bruno Haible  <bruno@clisp.org>
27051
27052         gnulib-tool: Ensure that long-running tests are executed last.
27053         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
27054         running tests after the one for the other tests.
27055
27056 2010-04-02  Bruno Haible  <bruno@clisp.org>
27057
27058         gnulib-tool: Ensure the tests in the main directory are executed first.
27059         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
27060         start with the current directory.
27061
27062 2010-04-02  Bruno Haible  <bruno@clisp.org>
27063
27064         Tests for module 'havelib', moved here from GNU gettext.
27065         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
27066         modifications.
27067         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
27068         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
27069         with modifications.
27070         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
27071         modifications.
27072         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
27073         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
27074         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
27075         with modifications.
27076         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
27077         with modifications.
27078         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
27079         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
27080         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
27081         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
27082         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
27083         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
27084         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
27085         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
27086         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
27087         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
27088         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
27089         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
27090         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
27091         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
27092         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
27093         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
27094         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
27095         with modifications.
27096         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
27097         with modifications.
27098         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
27099         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
27100         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
27101         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
27102         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
27103         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
27104         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
27105         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
27106         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
27107         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
27108         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
27109         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
27110         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
27111         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
27112         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
27113         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
27114         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
27115         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
27116         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
27117         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
27118         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
27119         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
27120         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
27121         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
27122         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
27123         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
27124         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
27125         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
27126         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
27127         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
27128         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
27129         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
27130         * tests/havelib/rpathx/rpathx.c: New file, from
27131         gettext/autoconf-lib-link.
27132         * tests/havelib/rpathx/Makefile.am: New file, from
27133         gettext/autoconf-lib-link.
27134         * tests/havelib/rpathx/configure.ac: New file, from
27135         gettext/autoconf-lib-link with modifications.
27136         * tests/havelib/rpathy/rpathy.c: New file, from
27137         gettext/autoconf-lib-link.
27138         * tests/havelib/rpathy/Makefile.am: New file, from
27139         gettext/autoconf-lib-link.
27140         * tests/havelib/rpathy/configure.ac: New file, from
27141         gettext/autoconf-lib-link with modifications.
27142         * tests/havelib/rpathz/rpathz.c: New file, from
27143         gettext/autoconf-lib-link.
27144         * tests/havelib/rpathz/Makefile.am: New file, from
27145         gettext/autoconf-lib-link.
27146         * tests/havelib/rpathz/configure.ac: New file, from
27147         gettext/autoconf-lib-link with modifications.
27148         * tests/havelib/rpathlx/usex.c: New file, from
27149         gettext/autoconf-lib-link.
27150         * tests/havelib/rpathlx/Makefile.am: New file, from
27151         gettext/autoconf-lib-link.
27152         * tests/havelib/rpathlx/configure.ac: New file, from
27153         gettext/autoconf-lib-link with modifications.
27154         * tests/havelib/rpathly/usey.c: New file, from
27155         gettext/autoconf-lib-link.
27156         * tests/havelib/rpathly/Makefile.am: New file, from
27157         gettext/autoconf-lib-link.
27158         * tests/havelib/rpathly/configure.ac: New file, from
27159         gettext/autoconf-lib-link with modifications.
27160         * tests/havelib/rpathlz/usez.c: New file, from
27161         gettext/autoconf-lib-link.
27162         * tests/havelib/rpathlz/Makefile.am: New file, from
27163         gettext/autoconf-lib-link.
27164         * tests/havelib/rpathlz/configure.ac: New file, from
27165         gettext/autoconf-lib-link with modifications.
27166         * tests/havelib/rpathlyx/usey.c: New file, from
27167         gettext/autoconf-lib-link.
27168         * tests/havelib/rpathlyx/Makefile.am: New file, from
27169         gettext/autoconf-lib-link.
27170         * tests/havelib/rpathlyx/configure.ac: New file, from
27171         gettext/autoconf-lib-link with modifications.
27172         * tests/havelib/rpathlzyx/usez.c: New file, from
27173         gettext/autoconf-lib-link.
27174         * tests/havelib/rpathlzyx/Makefile.am: New file, from
27175         gettext/autoconf-lib-link.
27176         * tests/havelib/rpathlzyx/configure.ac: New file, from
27177         gettext/autoconf-lib-link with modifications.
27178         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
27179         with modifications.
27180
27181 2010-04-02  Bruno Haible  <bruno@clisp.org>
27182
27183         gnulib-tool: Create distributed built sources also for the tests.
27184         * gnulib-tool (func_create_testdir): Also generate distributed built
27185         sources in the tests directory.
27186
27187 2010-04-02  Bruno Haible  <bruno@clisp.org>
27188
27189         gnulib-tool: Obey user's environment variables.
27190         * gnulib-tool (func_create_testdir): When creating built sources,
27191         respect the environment variables for autoconf, automake, etc. given by
27192         the user.
27193
27194 2010-04-02  Bruno Haible  <bruno@clisp.org>
27195
27196         gnulib-tool: Provide the value of --m4-base to modules.
27197         * gnulib-tool (func_import, func_create_testdir): Emit a definition
27198         of gl_m4_base.
27199
27200 2010-04-02  Eric Blake  <eblake@redhat.com>
27201
27202         maint.mk: fix some fallout
27203         * NEWS: Document the incompatible change, and its effect on cfg.mk.
27204         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
27205
27206 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
27207
27208         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
27209         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
27210         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
27211         (sc_cast_of_x_alloc_return_value): Likewise.
27212         (sc_cast_of_alloca_return_value): Likewise.
27213         (sc_space_tab): Likewise.
27214         (sc_prohibit_atoi_atof): Likewise.
27215         (sc_prohibit_magic_number_exit): Likewise.
27216         (sc_error_exit_success): Likewise.
27217         (sc_file_system): Likewise.
27218         (sc_prohibit_have_config_h): Likewise.
27219         (sc_require_config_h): Likewise.
27220         (sc_prohibit_HAVE_MBRTOWC): Likewise.
27221         (sc_obsolete_symbols): Likewise.
27222         (sc_changelog): Likewise.
27223         (sc_program_name): Likewise.
27224         (sc_the_the): Likewise.
27225         (sc_trailing_blank): Likewise.
27226         (sc_two_space_separator_in_usage): Likewise.
27227         (sc_useless_cpp_parens): Likewise.
27228         (sc_GPL_version): Likewise.
27229         (sc_GFDL_version): Likewise.
27230         (sc_texinfo_acronym): Likewise.
27231         (sc_prohibit_cvs_keyword): Likewise.
27232         (sc_prohibit_stat_st_blocks): Likewise.
27233         (sc_prohibit_S_IS_definition): Likewise.
27234         (sc_redundant_const): Likewise.
27235         (sc_makefile_TAB_only_indentation): Likewise.
27236         (sc_m4_quote_check): Likewise.
27237         (sc_makefile_path_separator_check): Likewise.
27238         (sc_copyright_check): Likewise.
27239         (sc_Wundef_boolean): Likewise.
27240         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
27241
27242         maint.mk: match 0 or more whitespace-before-function-call '('
27243         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
27244         that have zero or two-and-more spaces between the function name
27245         and the open parenthesis.
27246         (sc_error_message_warn_fatal): Likewise.
27247         (sc_error_message_uppercase): Likewise.
27248         (sc_error_message_period): Likewise.
27249
27250 2010-03-31  Eric Blake  <eblake@redhat.com>
27251
27252         maint.mk: check for [ as well as test
27253         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
27254         Based on a libvirt report by Matthias Bolte.
27255
27256         gnumakefile: don't squelch _version output
27257         * top/GNUmakefile (_version): Create one-shot dependency rather
27258         than using $(shell) when version must be regenerated.
27259         (_autoreconf): Run verbosely, by default.
27260
27261         sys_time: avoid compiler warnings
27262         * lib/sys_time.in.h (includes): Ensure gcc pragma is
27263         unconditional, fixing regression from 2010-03-29.
27264         Reported by Simon Josefsson.
27265
27266 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
27267
27268         maint.mk: s/_header_without_use/_sc_header_without_use/
27269         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
27270         (sc_prohibit_assert_without_use): Use the new name.
27271         (sc_prohibit_close_stream_without_use): Likewise.
27272         (sc_prohibit_getopt_without_use): Likewise.
27273         (sc_prohibit_quotearg_without_use): Likewise.
27274         (sc_prohibit_quote_without_use): Likewise.
27275         (sc_prohibit_long_options_without_use): Likewise.
27276         (sc_prohibit_inttostr_without_use): Likewise.
27277         (sc_prohibit_ignore_value_without_use): Likewise.
27278         (sc_prohibit_error_without_use): Likewise.
27279         (sc_prohibit_xalloc_without_use): Likewise.
27280         (sc_prohibit_hash_without_use): Likewise.
27281         (sc_prohibit_hash_pjw_without_use): Likewise.
27282         (sc_prohibit_safe_read_without_use): Likewise.
27283         (sc_prohibit_argmatch_without_use): Likewise.
27284         (sc_prohibit_canonicalize_without_use): Likewise.
27285         (sc_prohibit_root_dev_ino_without_use): Likewise.
27286         (sc_prohibit_openat_without_use): Likewise.
27287         (sc_prohibit_c_ctype_without_use): Likewise.
27288         (sc_prohibit_signal_without_use): Likewise.
27289         (sc_prohibit_intprops_without_use): Likewise.
27290
27291 2010-03-30  Eric Blake  <eblake@redhat.com>
27292
27293         maint: improve module indicators
27294         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
27295         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
27296         columns, and avoid extra macro expansion.
27297
27298         fdopendir: work around FreeBSD bug
27299         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
27300         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
27301         * modules/dirent (Makefile.am): Substitute it.
27302         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
27303         declaration.
27304         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
27305         fix.
27306         Reported by Christian Weisgerber <naddy@mips.inka.de>.
27307
27308 2010-03-29  Bruno Haible  <bruno@clisp.org>
27309
27310         Emit #pragma system_header after the inclusion guard, not before.
27311         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
27312         guard that spans the entire file, not before. This enables an
27313         optimization in GCC's preprocessor.
27314         * lib/ctype.in.h: Likewise.
27315         * lib/dirent.in.h: Likewise.
27316         * lib/errno.in.h: Likewise.
27317         * lib/float.in.h: Likewise.
27318         * lib/getopt.in.h: Likewise.
27319         * lib/iconv.in.h: Likewise.
27320         * lib/langinfo.in.h: Likewise.
27321         * lib/locale.in.h: Likewise.
27322         * lib/math.in.h: Likewise.
27323         * lib/netdb.in.h: Likewise.
27324         * lib/netinet_in.in.h: Likewise.
27325         * lib/pty.in.h: Likewise.
27326         * lib/sched.in.h: Likewise.
27327         * lib/se-selinux.in.h: Likewise.
27328         * lib/search.in.h: Likewise.
27329         * lib/spawn.in.h: Likewise.
27330         * lib/stdarg.in.h: Likewise.
27331         * lib/stdint.in.h: Likewise.
27332         * lib/string.in.h: Likewise.
27333         * lib/strings.in.h: Likewise.
27334         * lib/sys_file.in.h: Likewise.
27335         * lib/sys_ioctl.in.h: Likewise.
27336         * lib/sys_time.in.h: Likewise.
27337         * lib/sys_times.in.h: Likewise.
27338         * lib/sys_utsname.in.h: Likewise.
27339         * lib/sys_wait.in.h: Likewise.
27340         * lib/sysexits.in.h: Likewise.
27341         * lib/wctype.in.h: Likewise.
27342
27343 2010-03-28  James Youngman  <jay@gnu.org>
27344
27345         save-cwd: don't leak a file descriptor when the caller execs.
27346         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
27347         saved file descriptor.
27348         * modules/save-cwd (Depends-on): Depend on cloexec.
27349
27350 2010-03-29  Bruno Haible  <bruno@clisp.org>
27351
27352         Remove vestiges of fts-lgpl module.
27353         * lib/fts_.h: Assume GNULIB_FTS is 1.
27354         * lib/fts.c: Likewise.
27355         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
27356
27357 2010-03-28  Bruno Haible  <bruno@clisp.org>
27358
27359         Fix definition of tests witness macro.
27360         * gnulib-tool (func_import): Fix definition of witness macro.
27361
27362 2010-03-28  Bruno Haible  <bruno@clisp.org>
27363
27364         Fix ioctl's protoype on glibc systems.
27365         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
27366         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
27367         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
27368         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
27369         signature. If not, arrange to replace the ioctl function.
27370         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
27371         REPLACE_IOCTL.
27372         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
27373         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
27374         Reported by Ludovic Courtès <ludo@gnu.org>.
27375
27376 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
27377
27378         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
27379         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
27380         made it so grep -r --include=GLOB* ... did not work.
27381
27382 2010-03-26  Jim Meyering  <meyering@redhat.com>
27383             Eric Blake  <eblake@redhat.com>
27384
27385         maint.mk: prohibit use of test's -o and -a operators
27386         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
27387
27388 2010-03-28  Bruno Haible  <bruno@clisp.org>
27389
27390         Remove unused GNULIB_XYZ macro definitions.
27391         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
27392         invocation.
27393
27394 2010-03-28  Bruno Haible  <bruno@clisp.org>
27395
27396         Mark privileged tests modules.
27397         * modules/idpriv-drop-tests (Status): New section.
27398         * modules/idpriv-droptemp-tests (Status): New section.
27399
27400 2010-03-28  Bruno Haible  <bruno@clisp.org>
27401
27402         Split C++ tests into separate tests modules.
27403         * modules/dirent-c++-tests: New file, extracted from
27404         modules/dirent-tests.
27405         * modules/dirent-tests: Depend on it.
27406         * modules/fcntl-h-c++-tests: New file, extracted from
27407         modules/fcntl-h-tests.
27408         * modules/fcntl-h-tests: Depend on it.
27409         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
27410         * modules/glob-tests: Depend on it.
27411         * modules/iconv-h-c++-tests: New file, extracted from
27412         modules/iconv-h-tests.
27413         * modules/iconv-h-tests: Depend on it.
27414         * modules/langinfo-c++-tests: New file, extracted from
27415         modules/langinfo-tests.
27416         * modules/langinfo-tests: Depend on it.
27417         * modules/locale-c++-tests: New file, extracted from
27418         modules/locale-tests.
27419         * modules/locale-tests: Depend on it.
27420         * modules/math-c++-tests: New file, extracted from modules/math-tests.
27421         * modules/math-tests: Depend on it.
27422         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
27423         * modules/pty-tests: Depend on it.
27424         * modules/search-c++-tests: New file, extracted from
27425         modules/search-tests.
27426         * modules/search-tests: Depend on it.
27427         * modules/signal-c++-tests: New file, extracted from
27428         modules/signal-tests.
27429         * modules/signal-tests: Depend on it.
27430         * modules/spawn-c++-tests: New file, extracted from
27431         modules/spawn-tests.
27432         * modules/spawn-tests: Depend on it.
27433         * modules/stdio-c++-tests: New file, extracted from
27434         modules/stdio-tests.
27435         * modules/stdio-tests: Depend on it.
27436         * modules/stdlib-c++-tests: New file, extracted from
27437         modules/stdlib-tests.
27438         * modules/stdlib-tests: Depend on it.
27439         * modules/string-c++-tests: New file, extracted from
27440         modules/string-tests.
27441         * modules/string-tests: Depend on it.
27442         * modules/sys_ioctl-c++-tests: New file, extracted from
27443         modules/sys_ioctl-tests.
27444         * modules/sys_ioctl-tests: Depend on it.
27445         * modules/sys_select-c++-tests: New file, extracted from
27446         modules/sys_select-tests.
27447         * modules/sys_select-tests: Depend on it.
27448         * modules/sys_socket-c++-tests: New file, extracted from
27449         modules/sys_socket-tests.
27450         * modules/sys_socket-tests: Depend on it.
27451         * modules/sys_stat-c++-tests: New file, extracted from
27452         modules/sys_stat-tests.
27453         * modules/sys_stat-tests: Depend on it.
27454         * modules/sys_time-c++-tests: New file, extracted from
27455         modules/sys_time-tests.
27456         * modules/sys_time-tests: Depend on it.
27457         * modules/time-c++-tests: New file, extracted from modules/time-tests.
27458         * modules/time-tests: Depend on it.
27459         * modules/unistd-c++-tests: New file, extracted from
27460         modules/unistd-tests.
27461         * modules/unistd-tests: Depend on it.
27462         * modules/wchar-c++-tests: New file, extracted from
27463         modules/wchar-tests.
27464         * modules/wchar-tests: Depend on it.
27465         * modules/wctype-c++-tests: New file, extracted from
27466         modules/wctype-tests.
27467         * modules/wctype-tests: Depend on it.
27468         Reported by Simon Josefsson.
27469
27470 2010-03-28  Bruno Haible  <bruno@clisp.org>
27471
27472         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
27473         * gnulib-tool (func_exists_module): New function, extracted from
27474         func_verify_module.
27475         (func_verify_module): Use it.
27476         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
27477         'foo' only if 'foo' exists.
27478         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
27479         module.
27480
27481 2010-03-28  Bruno Haible  <bruno@clisp.org>
27482
27483         gnulib-tool: Add support for special categories of tests.
27484         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
27485         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
27486         (func_usage): Document them.
27487         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
27488         inc_unportable_tests, inc_all_tests): New variables.
27489         (func_acceptable): Consider these variables.
27490         (func_modules_transitive_closure): Make it work when the 'Status' field
27491         consists of multiple words.
27492         (func_import): Store and restore the values of inc_cxx_tests,
27493         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
27494         inc_all_tests in gnulib-comp.m4.
27495         (func_create_testdir): Set inc_all_tests to true.
27496         * doc/gnulib.texi (Extra tests modules): New section.
27497         Suggested by Jim Meyering.
27498
27499 2010-03-28  Bruno Haible  <bruno@clisp.org>
27500
27501         ansi-c++-opt: Allow turning off the C++ build by default.
27502         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
27503         gl_CXX_CHOICE_DEFAULT_NO is defined.
27504         Requested by Eric Blake.
27505
27506 2010-03-28  Bruno Haible  <bruno@clisp.org>
27507
27508         unistd: Avoid #define replacements in C++ mode.
27509         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
27510         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
27511         setsockopt, shutdown, select): In C++, attach a warning to the function
27512         if possible, rather than #defining the symbol to a dysfunctional alias.
27513         Reported by John W. Eaton <jwe@gnu.org>.
27514
27515 2010-03-28  Bruno Haible  <bruno@clisp.org>
27516
27517         Fix link errors on mingw.
27518         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
27519         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
27520         $(LIBSOCKET).
27521         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
27522         $(LIBSOCKET).
27523
27524 2010-03-28  Bruno Haible  <bruno@clisp.org>
27525             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27526
27527         lib-ignore: Determine different options for different compilers.
27528         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
27529         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
27530         Add comments.
27531         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
27532         * NEWS: Mention the change.
27533
27534 2010-03-27  Bruno Haible  <bruno@clisp.org>
27535
27536         Remove unused GNULIB_XYZ macro definitions.
27537         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
27538         * modules/fseek (configure.ac): Likewise.
27539         * modules/ioctl (configure.ac): Likewise.
27540         * modules/open (configure.ac): Likewise.
27541         * modules/stdlib-safer (configure.ac): Likewise.
27542
27543 2010-03-27  Bruno Haible  <bruno@clisp.org>
27544
27545         Add a remark about certain modules.
27546         * modules/malloc (Comment): New section.
27547         * modules/realloc (Comment): Likewise.
27548         * modules/sigpipe (Comment): Likewise.
27549
27550 2010-03-27  Bruno Haible  <bruno@clisp.org>
27551
27552         Resolve conflict between the two kinds of module indicators.
27553         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
27554         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
27555         * modules/canonicalize (configure.ac): Invoke
27556         gl_MODULE_INDICATOR_FOR_TESTS.
27557         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
27558         GNULIB_XYZ.
27559         * tests/test-dirent-c++.cc: Likewise.
27560         * tests/test-dirent-safer.c: Likewise.
27561         * tests/test-dup2.c: Likewise.
27562         * tests/test-fchdir.c: Likewise.
27563         * tests/test-fcntl-h-c++.cc: Likewise.
27564         * tests/test-getopt.c: Likewise.
27565         * tests/test-getopt.h: Likewise.
27566         * tests/test-langinfo-c++.cc: Likewise.
27567         * tests/test-locale-c++.cc: Likewise.
27568         * tests/test-math-c++.cc: Likewise.
27569         * tests/test-pty-c++.cc: Likewise.
27570         * tests/test-search-c++.cc: Likewise.
27571         * tests/test-signal-c++.cc: Likewise.
27572         * tests/test-spawn-c++.cc: Likewise.
27573         * tests/test-stdio-c++.cc: Likewise.
27574         * tests/test-stdlib-c++.cc: Likewise.
27575         * tests/test-string-c++.cc: Likewise.
27576         * tests/test-sys_ioctl-c++.cc: Likewise.
27577         * tests/test-sys_select-c++.cc: Likewise.
27578         * tests/test-sys_socket-c++.cc: Likewise.
27579         * tests/test-sys_stat-c++.cc: Likewise.
27580         * tests/test-sys_time-c++.cc: Likewise.
27581         * tests/test-time-c++.cc: Likewise.
27582         * tests/test-unistd-c++.cc: Likewise.
27583         * tests/test-wchar-c++.cc: Likewise.
27584         * tests/uninorm/test-u8-nfc.c: Likewise.
27585         * tests/uninorm/test-u8-nfd.c: Likewise.
27586         * tests/uninorm/test-u8-nfkc.c: Likewise.
27587         * tests/uninorm/test-u8-nfkd.c: Likewise.
27588         * tests/uninorm/test-u16-nfc.c: Likewise.
27589         * tests/uninorm/test-u16-nfd.c: Likewise.
27590         * tests/uninorm/test-u16-nfkc.c: Likewise.
27591         * tests/uninorm/test-u16-nfkd.c: Likewise.
27592         * tests/uninorm/test-u32-nfc.c: Likewise.
27593         * tests/uninorm/test-u32-nfc-big.c: Likewise.
27594         * tests/uninorm/test-u32-nfd.c: Likewise.
27595         * tests/uninorm/test-u32-nfd-big.c: Likewise.
27596         * tests/uninorm/test-u32-nfkc.c: Likewise.
27597         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
27598         * tests/uninorm/test-u32-nfkd.c: Likewise.
27599         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
27600         * tests/uninorm/test-u32-normalize-big.c: Likewise.
27601
27602 2010-03-27  Bruno Haible  <bruno@clisp.org>
27603
27604         Distinguish two kinds of module indicators.
27605         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
27606         gl_MODULE_INDICATOR.
27607         (gl_MODULE_INDICATOR): New macro.
27608         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
27609         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
27610         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
27611         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
27612         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
27613         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
27614         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
27615         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
27616         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
27617         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
27618         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
27619         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
27620         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
27621         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
27622         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
27623         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
27624         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
27625         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
27626         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
27627         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
27628         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
27629         * modules/cloexec (configure.ac): Likewise.
27630         * modules/getopt-gnu (configure.ac): Likewise.
27631         * modules/uninorm/u8-normalize (configure.ac): Likewise.
27632         * modules/uninorm/u16-normalize (configure.ac): Likewise.
27633         * modules/uninorm/u32-normalize (configure.ac): Likewise.
27634         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
27635
27636 2010-03-27  Bruno Haible  <bruno@clisp.org>
27637
27638         New module description field 'Comment'.
27639         * gnulib-tool: New option --extract-comment.
27640         (func_usage): Document it.
27641         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
27642         (func_get_comment): New function.
27643         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
27644
27645 2010-03-27  Bruno Haible  <bruno@clisp.org>
27646
27647         Addendum to 2010-02-07 commit.
27648         * gnulib-tool (func_usage): Document --extract-applicability option.
27649
27650 2010-03-27  Bruno Haible  <bruno@clisp.org>
27651
27652         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
27653         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
27654         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
27655         rather than link errors.
27656
27657 2010-03-27  Bruno Haible  <bruno@clisp.org>
27658
27659         Avoid side effects from tests-related modules on the compilation of lib.
27660         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
27661         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
27662         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
27663         parameter. Emit into AM_CPPFLAGS a definition of the designated C
27664         macro.
27665         (func_import): Define a witness macro. Assign it a value that depends
27666         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
27667         tests-related modules.
27668         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
27669         Reported by Jim Meyering.
27670
27671 2010-03-27  Bruno Haible  <bruno@clisp.org>
27672
27673         Factorize common .m4 code.
27674         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
27675         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
27676         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
27677         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
27678         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
27679         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
27680         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
27681         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
27682         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
27683         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
27684         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
27685         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
27686         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
27687         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
27688         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
27689         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
27690         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
27691         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
27692         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
27693         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
27694         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
27695         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
27696         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
27697         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
27698         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
27699         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
27700         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
27701         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
27702         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
27703         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
27704         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
27705         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
27706
27707 2010-03-27  Bruno Haible  <bruno@clisp.org>
27708
27709         Fix a compilation error on Cygwin with g++ >= 4.3.
27710         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
27711         if it is undefined or if we alias it to chmod.
27712         (lstat): Don't warn about the use of this function if it is undefined
27713         or if we alias it to stat.
27714         Reported by Simon Josefsson.
27715
27716 2010-03-27  Bruno Haible  <bruno@clisp.org>
27717
27718         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
27719         * modules/getlogin (configure.ac): Update.
27720
27721         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
27722         * modules/getlogin_r (configure.ac): Update.
27723
27724         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
27725         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
27726         * modules/inet_ntop (configure.ac): Update.
27727
27728         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
27729         * modules/inet_pton (configure.ac): Update.
27730
27731         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
27732         * modules/mbslen (configure.ac): Update.
27733
27734         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
27735         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
27736         * modules/forkpty (configure.ac): Update.
27737         * modules/openpty (configure.ac): Update.
27738
27739 2010-03-26  Simon Josefsson  <simon@josefsson.org>
27740
27741         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
27742         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
27743
27744 2010-03-25  Eric Blake  <eblake@redhat.com>
27745
27746         maint: use pragma consistently across replacement headers
27747         * lib/ctype.in.h (system_header): Hoist for consistent placement.
27748         * lib/dirent.in.h (system_header): Likewise.
27749         * lib/errno.in.h (system_header): Likewise.
27750         * lib/float.in.h (system_header): Likewise.
27751         * lib/getopt.in.h (system_header): Likewise.
27752         * lib/iconv.in.h (system_header): Likewise.
27753         * lib/inttypes.in.h (system_header): Likewise.
27754         * lib/langinfo.in.h (system_header): Likewise.
27755         * lib/locale.in.h (system_header): Likewise.
27756         * lib/math.in.h (system_header): Likewise.
27757         * lib/netdb.in.h (system_header): Likewise.
27758         * lib/netinet_in.in.h (system_header): Likewise.
27759         * lib/pty.in.h (system_header): Likewise.
27760         * lib/sched.in.h (system_header): Likewise.
27761         * lib/se-selinux.in.h (system_header): Likewise.
27762         * lib/search.in.h (system_header): Likewise.
27763         * lib/spawn.in.h (system_header): Likewise.
27764         * lib/stdarg.in.h (system_header): Likewise.
27765         * lib/stdint.in.h (system_header): Likewise.
27766         * lib/string.in.h (system_header): Likewise.
27767         * lib/strings.in.h (system_header): Likewise.
27768         * lib/sys_file.in.h (system_header): Likewise.
27769         * lib/sys_ioctl.in.h (system_header): Likewise.
27770         * lib/sys_socket.in.h (system_header): Likewise.
27771         * lib/sys_times.in.h (system_header): Likewise.
27772         * lib/sys_utsname.in.h (system_header): Likewise.
27773         * lib/sys_wait.in.h (system_header): Likewise.
27774         * lib/sysexits.in.h (system_header): Likewise.
27775         * lib/unistd.in.h (system_header): Likewise.
27776         * lib/wctype.in.h (system_header): Likewise.
27777
27778         arpa/inet: fix mingw compilation warning
27779         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
27780         Reported by Matthew Bolte.
27781
27782 2010-03-25  Bruno Haible  <bruno@clisp.org>
27783
27784         Avoid collision between gnulib wrapper and libintl wrapper.
27785         * lib/printf.c (printf): Don't define if a printf wrapper is already
27786         defined in intl/printf.c.
27787         Reported by Michel Boaventura <michel@michelboaventura.com>.
27788
27789 2010-03-25  Bruno Haible  <bruno@clisp.org>
27790
27791         Use ANSI C.
27792         * lib/readutmp.h (getutent): Provide ANSI C prototype.
27793
27794 2010-03-25  Bruno Haible  <bruno@clisp.org>
27795
27796         Minor formatting changes.
27797         * lib/acosl.c: Insert space before function argument list.
27798         * lib/argz.c: Likewise.
27799         * lib/asinl.c: Likewise.
27800         * lib/expl.c: Likewise.
27801         * lib/gen-uni-tables.c: Likewise.
27802         * lib/gettext.h: Likewise.
27803         * lib/glthread/lock.h: Likewise.
27804         * lib/tanl.c: Likewise.
27805         * lib/uniname/uniname.c: Likewise.
27806         * tests/test-idpriv-drop.c: Likewise.
27807         * tests/test-idpriv-droptemp.c: Likewise.
27808         * tests/test-lock.c: Likewise.
27809         * tests/test-tls.c: Likewise.
27810         * lib/argp-help.c: Insert space before function-like macro argument
27811         list.
27812         * lib/memcmp.c: Likewise.
27813         * tests/test-base64.c: Likewise.
27814         * lib/localename.c: Insert space before sizeof's argument list.
27815         * lib/safe-alloc.h: Likewise.
27816         * lib/file-set.h: Insert space before macro argument list.
27817         * tests/test-argp.c: Likewise.
27818         * lib/argp-namefrob.h: Insert space before function parameter list.
27819         * lib/getaddrinfo.c: Likewise.
27820         * lib/netdb.in.h: Likewise.
27821         * lib/parse-duration.h: Likewise.
27822         * lib/parse-duration.c: Likewise.
27823         * lib/poll.c: Likewise.
27824         * lib/select.c: Likewise.
27825         * lib/trim.h: Likewise.
27826         * tests/test-usleep.c: Likewise.
27827         * lib/ldexpl.c: Insert space before function parameter list and before
27828         function argument list.
27829         * lib/logl.c: Likewise.
27830         * lib/sqrtl.c: Likewise.
27831         * lib/trim.c: Likewise.
27832         * lib/cosl.c: Use GNU style indentation. Insert space before function
27833         argument list.
27834         * lib/sinl.c: Likewise.
27835         * lib/tsearch.c: Insert space after 'for'.
27836         Reported by Jim Meyering.
27837
27838 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
27839
27840         * maint.mk (sc_Wundef_boolean): Check for the presence of the
27841         config header before grepping, as it's not present before
27842         autoreconf/configure are run.  Reported by Simon Josefsson.
27843
27844 2010-03-23  Bruno Haible  <bruno@clisp.org>
27845
27846         pt_chown: Make it work with automake < 1.11.
27847         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
27848         Reported by Simon Josefsson.
27849
27850 2010-03-23  Bruno Haible  <bruno@clisp.org>
27851
27852         pt_chown: Don't depend on GPLed modules.
27853         * lib/pt_chown.c: Don't include idpriv.h.
27854         (main): Don't drop privileges.
27855         * modules/pt_chown (Depends-on): Remove idpriv-drop.
27856         Reported by Simon Josefsson.
27857
27858 2010-03-24  Simon Josefsson  <simon@josefsson.org>
27859
27860         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
27861         suggestions from karl@freefriends.org (Karl Berry).
27862
27863 2010-03-22  Eric Blake  <eblake@redhat.com>
27864
27865         gethostname: further tweaks
27866         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
27867         are overriding gethostname.
27868         Suggested by Bruno Haible.
27869
27870 2010-03-21  Bruno Haible  <bruno@clisp.org>
27871
27872         Fix comments.
27873         * lib/forkpty.c (rpl_forkpty): Fix comment.
27874         * lib/openpty.c (rpl_openpty): Likewise.
27875         Reported by Eric Blake.
27876
27877 2010-03-22  Eric Blake  <eblake@redhat.com>
27878
27879         gethostname: fix build on mingw
27880         * lib/unistd.in.h (includes): Work around fact that mingw
27881         <winsock2.h> re-includes <unistd.h>, by avoiding any
27882         redeclarations if we are being included by <winsock2.h>.
27883         Reported by Matthias Bolte.
27884
27885 2010-03-21  Bruno Haible  <bruno@clisp.org>
27886
27887         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
27888         * lib/forkpty.c (forkpty): New replacement function, from glibc with
27889         modifications.
27890         * lib/pty.in.h (forkpty): Update declaration. Add comments.
27891         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
27892         provide the replacement.
27893         * modules/forkpty (Depends-on): Add openpty, login_tty.
27894         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
27895         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
27896         * doc/glibc-functions/forkpty.texi: More supported platforms.
27897         * config/srclist.txt: Add forkpty.c (commented).
27898
27899 2010-03-21  Bruno Haible  <bruno@clisp.org>
27900
27901         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
27902         (Makefile.am): Verify that PTY_LIB is defined.
27903
27904         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
27905
27906 2010-03-21  Bruno Haible  <bruno@clisp.org>
27907
27908         Tests for module 'login_tty'.
27909         * modules/login_tty-tests: New file.
27910         * tests/test-login_tty.c: New file.
27911
27912         New module 'login_tty'.
27913         * lib/login_tty.c: New file.
27914         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
27915         * modules/login_tty: New file.
27916         * doc/glibc-functions/login_tty.texi: Mention the new module.
27917
27918 2010-03-21  Bruno Haible  <bruno@clisp.org>
27919
27920         login_tty: Documentation.
27921         * doc/glibc-functions/login_tty.texi: New file.
27922         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
27923
27924 2010-03-21  Bruno Haible  <bruno@clisp.org>
27925
27926         pty: Consistent macro naming.
27927         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
27928         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
27929         * modules/pty (configure.ac): Update.
27930
27931 2010-03-21  Bruno Haible  <bruno@clisp.org>
27932
27933         Tests for openpty: Make stricter.
27934         * tests/test-openpty.c (main): Add test of canonical processing and
27935         erase.
27936         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
27937
27938         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
27939         * lib/openpty.c (openpty): New replacement function.
27940         * lib/pty.in.h: Include <termios.h>.
27941         (openpty): Update declaration. Add comments.
27942         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
27943         is not declared, arrange to provide the replacement. Check for _getpty
27944         and posix_openpt.
27945         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
27946         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
27947         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
27948         * modules/pty-tests (test_pty_c___LDADD): New variable.
27949         * doc/glibc-functions/openpty.texi: More supported platforms.
27950
27951 2010-03-21  Bruno Haible  <bruno@clisp.org>
27952
27953         setenv: Tweaks.
27954         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
27955         the test program.
27956         * doc/posix-functions/setenv.texi: Update platforms list.
27957
27958 2010-03-21  Bruno Haible  <bruno@clisp.org>
27959
27960         New module 'unlockpt'.
27961         * lib/unlockpt.c: New file, from glibc with modifications.
27962         * m4/unlockpt.m4: New file.
27963         * modules/unlockpt: New file.
27964         * lib/stdlib.in.h (unlockpt): New declaration.
27965         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
27966         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
27967         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
27968         HAVE_UNLOCKPT.
27969         * doc/posix-functions/unlockpt.texi: Mention the new module.
27970         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
27971         * config/srclist.txt: Add unlockpt.c (commented).
27972
27973 2010-03-21  Jim Meyering  <meyering@redhat.com>
27974
27975         maint.mk: prohibit inclusion of "intprops.h" without use
27976         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
27977
27978 2010-03-21  Bruno Haible  <bruno@clisp.org>
27979
27980         New module 'grantpt'.
27981         * lib/grantpt.c: New file, from glibc with modifications.
27982         * m4/grantpt.m4: New file.
27983         * modules/grantpt: New file.
27984         * lib/stdlib.in.h (grantpt): New declaration.
27985         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
27986         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
27987         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
27988         HAVE_GRANTPT.
27989         * doc/posix-functions/grantpt.texi: Mention the new module.
27990         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
27991         * config/srclist.txt: Add grantpt.c (commented).
27992
27993 2010-03-21  Bruno Haible  <bruno@clisp.org>
27994
27995         New module 'pt_chown'.
27996         * lib/pt_chown.c: New file, from glibc with modifications.
27997         * lib/pty-private.h: New file, from glibc with modifications.
27998         * modules/pt_chown: New file.
27999         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
28000
28001 2010-03-21  Bruno Haible  <bruno@clisp.org>
28002
28003         Tests for module 'ptsname'.
28004         * modules/ptsname-tests: New file.
28005         * tests/test-ptsname.c: New file.
28006
28007         New module 'ptsname'.
28008         * lib/ptsname.c: New file, from glibc with modifications.
28009         * m4/ptsname.m4: New file.
28010         * modules/ptsname: New file.
28011         * lib/stdlib.in.h (ptsname): New declaration.
28012         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
28013         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
28014         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
28015         HAVE_PTSNAME.
28016         * doc/posix-functions/ptsname.texi: Mention the new module.
28017         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
28018         * config/srclist.txt: Add ptsname.c (commented).
28019
28020 2010-03-21  Bruno Haible  <bruno@clisp.org>
28021
28022         Tests for module 'ttyname_r'.
28023         * modules/ttyname_r-tests: New file.
28024         * tests/test-ttyname_r.c: New file.
28025
28026         New module 'ttyname_r'.
28027         * lib/ttyname_r.c: New file.
28028         * m4/ttyname_r.m4: New file.
28029         * modules/ttyname_r: New file.
28030         * lib/unistd.in.h (ttyname_r): New declaration.
28031         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
28032         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
28033         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
28034         HAVE_TTYNAME_R.
28035         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
28036         * doc/posix-functions/ttyname_r.texi: Mention the new module.
28037
28038 2010-03-20  Bruno Haible  <bruno@clisp.org>
28039
28040         signal: Undefine macro definitions in C++ mode.
28041         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
28042         sigfillset): Undefine macro definitions from the system header in C++
28043         mode.
28044         Reported by John W. Eaton <jwe@gnu.org>.
28045
28046 2010-03-20  Bruno Haible  <bruno@clisp.org>
28047
28048         Ensure no #include statements inside extern "C" { ... }.
28049         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
28050         contain #include statements.
28051         * lib/time.in.h: Likewise.
28052
28053 2010-03-20  Bruno Haible  <bruno@clisp.org>
28054
28055         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
28056         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
28057         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
28058         Reported by John W. Eaton <jwe@gnu.org>.
28059
28060 2010-03-20  Bruno Haible  <bruno@clisp.org>
28061
28062         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
28063         Reported by Jim Meyering.
28064
28065 2010-03-20  Bruno Haible  <bruno@clisp.org>
28066
28067         pipe: Set errno upon failure.
28068         * lib/pipe.h: Specify that when -1 is returned, errno is set.
28069         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
28070         errno value in error message.
28071
28072 2010-03-20  Bruno Haible  <bruno@clisp.org>
28073             Jim Meyering  <meyering@redhat.com>
28074
28075         lchown: Avoid "unused variable" warning.
28076         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
28077
28078 2010-03-20  Bruno Haible  <bruno@clisp.org>
28079
28080         Work around unlink() bug on MacOS X 10.5.6.
28081         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
28082         attempting to unlink a parent directory.
28083         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
28084         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
28085         activate for the replacement function.
28086         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
28087
28088 2010-03-20  Bruno Haible  <bruno@clisp.org>
28089
28090         Fix link errors on Solaris 8.
28091         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
28092         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
28093
28094 2010-03-19  Jim Meyering  <meyering@redhat.com>
28095
28096         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
28097         The _LIBC implementation of build_range_exp correctly honors the
28098         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
28099         However, the non-_LIBC implementation would ignore that syntax-bit
28100         flag and return REG_ERANGE unconditionally.
28101         This change makes it honor that flag.
28102         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
28103         Make two pointer parameters "const".
28104         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
28105         (parse_bracket_exp): Update caller.
28106
28107         regex.m4: correct the reversed range endpoint ([b-a]) test
28108         * m4/regex.m4: When requiring that [b-a] evoke failure,
28109         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
28110         test pass once again for x86-based systems.
28111
28112 2010-03-19  Bruno Haible  <bruno@clisp.org>
28113
28114         scandir: Fix link error on Solaris 8.
28115         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
28116         macros.
28117
28118 2010-03-19  Bruno Haible  <bruno@clisp.org>
28119
28120         getusershell: Fix documentation.
28121         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
28122         module.
28123         * doc/glibc-functions/setusershell.texi: Likewise.
28124
28125         getusershell: Provide declaration, missing on Solaris 9.
28126         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
28127         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
28128         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
28129         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
28130         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28131         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
28132         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
28133         HAVE_GETUSERSHELL.
28134         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
28135
28136 2010-03-19  Bruno Haible  <bruno@clisp.org>
28137
28138         wctype: Provide iswblank function.
28139         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
28140         exists and is fine.
28141         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
28142         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
28143         * tests/test-wctype.c (main): Re-enable the iswblank tests.
28144         * doc/posix-functions/iswblank.texi: Update.
28145
28146 2010-03-19  Bruno Haible  <bruno@clisp.org>
28147
28148         Tests of module 'pty' in C++ mode.
28149         * modules/pty-tests: New file.
28150         * tests/test-pty-c++.cc: New file.
28151         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
28152
28153 2010-03-19  Eric Blake  <eblake@redhat.com>
28154
28155         logb: fix documentation
28156         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
28157         1.5 declaration bug.
28158
28159         forkpty, openpty: prefer glibc's const-safe prototype
28160         * lib/forkpty.c (rpl_forkpty): New file.
28161         * lib/openpty.c (rpl_openpty): Likewise.
28162         * modules/forkpty (Files): Distribute it.
28163         * modules/openpty (Files): Likewise.
28164         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
28165         check...
28166         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
28167         replacement for for non-const BSD signature.
28168         * modules/pty (Makefile.am): Substitute witnesses.
28169         * lib/pty.in.h (forkpty, openpty): Declare replacements.
28170         * tests/test-forkpty.c: Update signature check.
28171         * tests/test-openpty.c: Likewise.
28172         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
28173         * doc/glibc-functions/openpty.texi (openpty): Likewise.
28174
28175         forkpty, openpty: split functions into new modules
28176         * modules/pty (Makefile.am): Substitute new witnesses.
28177         (Libraries): Move library detection...
28178         * modules/forkpty: ...into new module.
28179         * modules/openpty: Another new module.
28180         * modules/pty-tests: Rename and split...
28181         * modules/forkpty-tests: ...to this...
28182         * modules/openpty-tests: ...and this.
28183         * tests/test-pty.c: Rename and split...
28184         * tests/test-forkpty.c: ...to this...
28185         * tests/test-openpty.c: ...and this.
28186         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
28187         (gl_PTY): Split library searching...
28188         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
28189         (gl_FORKPTY, gl_OPENPTY): New macros.
28190         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
28191         * NEWS: Mention the split.
28192         * MODULES.html.sh (Misc): Document the modules.
28193         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
28194         * doc/glibc-functions/openpty.texi (openpty): Likewise.
28195
28196         pty: improve replacement header
28197         * lib/pty.in.h: New file.
28198         * modules/pty (Files): Ship it.
28199         (Makefile.am): Always build replacement.
28200         * m4/pty.m4: Rename...
28201         * m4/pty_h.m4: ...to this.
28202         (gl_PTY): Modernize setting of witness macros; update check of
28203         forkpty to take proper advantage of cache.
28204         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
28205
28206         getopt: avoid compiler warning
28207         * lib/getopt.c (attribute_hidden): Remove unused macro.
28208
28209 2010-03-18  Bruno Haible  <bruno@clisp.org>
28210
28211         Fix link errors on Solaris 8.
28212         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
28213         * modules/search-tests (test_search_c___LDADD): Likewise.
28214         * modules/signal-tests (test_signal_c___LDADD): Likewise.
28215         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
28216         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
28217         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
28218         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
28219         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
28220         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
28221
28222 2010-03-18  Bruno Haible  <bruno@clisp.org>
28223
28224         Fix bug introduced on 2010-03-14.
28225         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
28226         (gl_SPAWN_H): Require it.
28227         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
28228         Reported by Simon Josefsson.
28229
28230 2010-03-18  Bruno Haible  <bruno@clisp.org>
28231
28232         Fix typo introduced on 2009-12-31.
28233         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
28234         posix_spawn_file_actions_adddup2.
28235
28236 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
28237         and Eric Blake  <eblake@redhat.com>
28238
28239         test-vc-list-files-git: make more robust
28240         * tests/test-vc-list-files-git.sh: Unset problematic environment
28241         variables.  Chain commands together.
28242
28243 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
28244
28245         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
28246         `AC_CHECK_DECL' invocation.
28247
28248 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
28249
28250         * lib/inttostr.c (inttostr): Make sure the invocation of verify
28251         appears before executable statements. Suggested by Petr Sumbera
28252         <Petr.Sumbera@Sun.COM>.
28253
28254 2010-03-14  Bruno Haible  <bruno@clisp.org>
28255
28256         * tests/test-flock.c (test_exclusive): Comment out a test that causes
28257         portability problems. Instead use a simpler test.
28258         (main): Check that invalid arguments are rejected only on Linux.
28259
28260 2010-03-14  Bruno Haible  <bruno@clisp.org>
28261
28262         Fix bug introduced on 2009-12-31.
28263         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
28264         gl_PREREQ_SYS_H_WINSOCK2 always.
28265         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
28266         SYS_SOCKET_H variable.
28267         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
28268         Update comments.
28269         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
28270         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
28271         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28272         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
28273         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
28274
28275 2010-03-14  Bruno Haible  <bruno@clisp.org>
28276
28277         Fix values returned by sinl, cosl.
28278         * lib/trigl.h: Add specification comments.
28279         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
28280         that combines the values from the precomputed table with the values of
28281         the Chebyshev polynomials.
28282
28283 2010-03-14  Bruno Haible  <bruno@clisp.org>
28284
28285         Fix compilation error when modules 'posix_spawn[p]' are not used.
28286         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
28287         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
28288
28289 2010-03-14  Bruno Haible  <bruno@clisp.org>
28290
28291         Fix compilation error on mingw when module 'time_r' is not used.
28292         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
28293         is 1.
28294         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
28295         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
28296         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
28297         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
28298
28299 2010-03-14  Bruno Haible  <bruno@clisp.org>
28300
28301         Fix compilation error with Sun C.
28302         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
28303         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
28304         instead of GCC specific ULONG_LONG_MAX.
28305         * lib/xstrtoll.c: Likewise.
28306         * lib/xstrtoull.c: Likewise.
28307
28308 2010-03-13  Bruno Haible  <bruno@clisp.org>
28309
28310         Allow the user to disable C++ code and tests.
28311         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
28312         (gl_PROG_ANSI_CXX): Require it.
28313
28314 2010-03-13  Bruno Haible  <bruno@clisp.org>
28315
28316         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
28317         cases.
28318
28319 2010-03-13  Bruno Haible  <bruno@clisp.org>
28320
28321         Test that gnulib does not break the standard C++ headers.
28322         * tests/test-locale-c++2.cc: New file.
28323         * modules/locale-tests (Files): Add it.
28324         (Makefile.am): Compile it for test-locale-c++.
28325         * tests/test-math-c++2.cc: New file.
28326         * modules/math-tests (Files): Add it.
28327         (Makefile.am): Compile it for test-math-c++.
28328         * tests/test-signal-c++2.cc: New file.
28329         * modules/signal-tests (Files): Add it.
28330         (Makefile.am): Compile it for test-signal-c++.
28331         * tests/test-stdio-c++2.cc: New file.
28332         * modules/stdio-tests (Files): Add it.
28333         (Makefile.am): Compile it for test-stdio-c++.
28334         * tests/test-stdlib-c++2.cc: New file.
28335         * modules/stdlib-tests (Files): Add it.
28336         (Makefile.am): Compile it for test-stdlib-c++.
28337         * tests/test-string-c++2.cc: New file.
28338         * modules/string-tests (Files): Add it.
28339         (Makefile.am): Compile it for test-string-c++.
28340         * tests/test-time-c++2.cc: New file.
28341         * modules/time-tests (Files): Add it.
28342         (Makefile.am): Compile it for test-time-c++.
28343         Reported by John W. Eaton <jwe@gnu.org>.
28344
28345 2010-03-13  Bruno Haible  <bruno@clisp.org>
28346
28347         * gnulib-tool (func_usage): Clarify which options are available for
28348         --create-testdir and --create-megatestdir.
28349
28350 2010-03-13  Bruno Haible  <bruno@clisp.org>
28351
28352         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
28353         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
28354         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
28355         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
28356         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
28357         when appropriate.
28358         Reported by Jim Meyering.
28359
28360 2010-03-12  Simon Josefsson  <simon@josefsson.org>
28361
28362         * gnulib-tool (func_import): Explain origin of code.
28363
28364 2010-03-12  Bruno Haible  <bruno@clisp.org>
28365
28366         Fix problem with automake's definition of CXXLINK.
28367         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
28368         Reported by Simon Josefsson and Ludovic Courtès.
28369
28370 2010-03-12  Bruno Haible  <bruno@clisp.org>
28371
28372         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
28373         stable releases.
28374
28375 2010-03-11  Bruno Haible  <bruno@clisp.org>
28376
28377         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
28378         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
28379         whether the system provides one variant or multiple variants of the
28380         function.
28381         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
28382         C++ compilers.
28383         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
28384         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
28385         Reported by Jim Meyering.
28386
28387 2010-03-09  Simon Josefsson  <simon@josefsson.org>
28388
28389         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
28390
28391 2010-03-08  Bruno Haible  <bruno@clisp.org>
28392
28393         gnulib-tool: Add support for --libtool in --create-testdir.
28394         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
28395         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
28396
28397 2010-03-08  Eric Blake  <eblake@redhat.com>
28398
28399         gnulib-tool.texi: mention possibility of git submodule
28400         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
28401         submodules.
28402         * doc/.gitignore: Ignore another generated file.
28403
28404 2010-03-08  Karl Berry  <karl@gnu.org>
28405
28406         * doc/gnulib-tool.texi (VCS Issues): Mention third option
28407         of committing gnulib files while skipping others.
28408
28409 2010-03-07  Bruno Haible  <bruno@clisp.org>
28410
28411         Tests of module 'wctype' in C++ mode.
28412         * tests/test-wctype-c++.cc: New file.
28413         * modules/wctype-tests (Files): Add it and tests/signature.h.
28414         (Depends-on): Add ansi-c++-opt.
28415         (Makefile.am): Arrange to compile and run test-wctype-c++.
28416
28417         Tests of module 'wchar' in C++ mode.
28418         * tests/test-wchar-c++.cc: New file.
28419         * modules/wchar-tests (Files): Add it and tests/signature.h.
28420         (Depends-on): Add ansi-c++-opt.
28421         (Makefile.am): Arrange to compile and run test-wchar-c++.
28422         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
28423         gl_MODULE_INDICATOR.
28424
28425         Tests of module 'unistd' in C++ mode.
28426         * tests/test-unistd-c++.cc: New file.
28427         * modules/unistd-tests (Files): Add it and tests/signature.h.
28428         (Depends-on): Add ansi-c++-opt.
28429         (Makefile.am): Arrange to compile and run test-unistd-c++.
28430         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
28431         gl_MODULE_INDICATOR.
28432
28433         Tests of module 'time' in C++ mode.
28434         * tests/test-time-c++.cc: New file.
28435         * modules/time-tests (Files): Add it and tests/signature.h.
28436         (Depends-on): Add ansi-c++-opt.
28437         (Makefile.am): Arrange to compile and run test-time-c++.
28438         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
28439
28440         Tests of module 'sys_time' in C++ mode.
28441         * tests/test-sys_time-c++.cc: New file.
28442         * modules/sys_time-tests (Files): Add it and tests/signature.h.
28443         (Depends-on): Add ansi-c++-opt.
28444         (Makefile.am): Arrange to compile and run test-sys_time-c++.
28445         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
28446         gl_MODULE_INDICATOR.
28447
28448         Tests of module 'sys_stat' in C++ mode.
28449         * tests/test-sys_stat-c++.cc: New file.
28450         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
28451         (Depends-on): Add ansi-c++-opt.
28452         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
28453         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
28454         gl_MODULE_INDICATOR.
28455
28456         Tests of module 'sys_socket' in C++ mode.
28457         * tests/test-sys_socket-c++.cc: New file.
28458         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
28459         (Depends-on): Add ansi-c++-opt.
28460         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
28461         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
28462         gl_MODULE_INDICATOR.
28463
28464         Tests of module 'sys_select' in C++ mode.
28465         * tests/test-sys_select-c++.cc: New file.
28466         * modules/sys_select-tests (Files): Add it and tests/signature.h.
28467         (Depends-on): Add ansi-c++-opt.
28468         (Makefile.am): Arrange to compile and run test-sys_select-c++.
28469         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
28470         gl_MODULE_INDICATOR.
28471
28472         Tests of module 'sys_ioctl' in C++ mode.
28473         * tests/test-sys_ioctl-c++.cc: New file.
28474         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
28475         (Depends-on): Add ansi-c++-opt.
28476         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
28477         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
28478         gl_MODULE_INDICATOR.
28479
28480         Tests of module 'string' in C++ mode.
28481         * tests/test-string-c++.cc: New file.
28482         * modules/string-tests (Files): Add it and tests/signature.h.
28483         (Depends-on): Add ansi-c++-opt.
28484         (Makefile.am): Arrange to compile and run test-string-c++.
28485         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
28486         gl_MODULE_INDICATOR.
28487
28488         Tests of module 'stdlib' in C++ mode.
28489         * tests/test-stdlib-c++.cc: New file.
28490         * modules/stdlib-tests (Files): Add it and tests/signature.h.
28491         (Depends-on): Add ansi-c++-opt.
28492         (Makefile.am): Arrange to compile and run test-stdlib-c++.
28493         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
28494         gl_MODULE_INDICATOR.
28495
28496         Tests of module 'stdio' in C++ mode.
28497         * tests/test-stdio-c++.cc: New file.
28498         * modules/stdio-tests (Files): Add it and tests/signature.h.
28499         (Depends-on): Add ansi-c++-opt.
28500         (Makefile.am): Arrange to compile and run test-stdio-c++.
28501         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
28502         gl_MODULE_INDICATOR.
28503
28504         Tests of module 'spawn' in C++ mode.
28505         * tests/test-spawn-c++.cc: New file.
28506         * modules/spawn-tests (Files): Add it and tests/signature.h.
28507         (Depends-on): Add ansi-c++-opt.
28508         (Makefile.am): Arrange to compile and run test-spawn-c++.
28509         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
28510         gl_MODULE_INDICATOR.
28511
28512         Tests of module 'signal' in C++ mode.
28513         * tests/test-signal-c++.cc: New file.
28514         * modules/signal-tests (Files): Add it and tests/signature.h.
28515         (Depends-on): Add ansi-c++-opt.
28516         (Makefile.am): Arrange to compile and run test-signal-c++.
28517         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
28518         gl_MODULE_INDICATOR.
28519
28520         Tests of module 'search' in C++ mode.
28521         * tests/test-search-c++.cc: New file.
28522         * modules/search-tests (Files): Add it and tests/signature.h.
28523         (Depends-on): Add ansi-c++-opt.
28524         (Makefile.am): Arrange to compile and run test-search-c++.
28525         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
28526         gl_MODULE_INDICATOR.
28527
28528         Tests of module 'math' in C++ mode.
28529         * tests/test-math-c++.cc: New file.
28530         * modules/math-tests (Files): Add it and tests/signature.h.
28531         (Depends-on): Add ansi-c++-opt.
28532         (Makefile.am): Arrange to compile and run test-math-c++.
28533         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
28534
28535         Tests of module 'locale' in C++ mode.
28536         * tests/test-locale-c++.cc: New file.
28537         * modules/locale-tests (Files): Add it and tests/signature.h.
28538         (Depends-on): Add ansi-c++-opt.
28539         (Makefile.am): Arrange to compile and run test-locale-c++.
28540         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
28541         gl_MODULE_INDICATOR.
28542
28543         Tests of module 'langinfo' in C++ mode.
28544         * tests/test-langinfo-c++.cc: New file.
28545         * modules/langinfo-tests (Files): Add it and tests/signature.h.
28546         (Depends-on): Add ansi-c++-opt.
28547         (Makefile.am): Arrange to compile and run test-langinfo-c++.
28548         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
28549         gl_MODULE_INDICATOR.
28550
28551         Tests of module 'iconv-h' in C++ mode.
28552         * tests/test-iconv-h-c++.cc: New file.
28553         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
28554         (Depends-on): Add ansi-c++-opt.
28555         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
28556
28557         Tests of module 'glob' in C++ mode.
28558         * tests/test-glob-c++.cc: New file.
28559         * modules/glob-tests (Files): Add it.
28560         (Depends-on): Add ansi-c++-opt.
28561         (Makefile.am): Arrange to compile and run test-glob-c++.
28562
28563         Tests of module 'fcntl-h' in C++ mode.
28564         * tests/test-fcntl-h-c++.cc: New file.
28565         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
28566         (Depends-on): Add ansi-c++-opt.
28567         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
28568         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
28569         gl_MODULE_INDICATOR.
28570
28571         Tests of module 'dirent' in C++ mode.
28572         * tests/test-dirent-c++.cc: New file.
28573         * modules/dirent-tests (Files): Add it and tests/signature.h.
28574         (Depends-on): Add ansi-c++-opt.
28575         (Makefile.am): Arrange to compile and run test-dirent-c++.
28576         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
28577         gl_MODULE_INDICATOR.
28578
28579         New module 'ansi-c++-opt'.
28580         * modules/ansi-c++-opt: New file.
28581         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
28582
28583         Document C++ namespace mode.
28584         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
28585
28586         wctype: Avoid #define replacements in C++ mode.
28587         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
28588         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
28589         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
28590         In C++, define a namespaced alias symbol.
28591         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
28592         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
28593         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
28594         rule.
28595
28596         wchar: Avoid #define replacements in C++ mode.
28597         * lib/wchar.in.h: Include c++defs.h.
28598         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
28599         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
28600         symbol.
28601         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
28602         * modules/wchar (Depends-on): Add c++defs.
28603         (Makefile.am): Update wchar.h rule.
28604
28605         unistd: Avoid #define replacements in C++ mode.
28606         * lib/unistd.in.h: Include c++defs.h.
28607         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
28608         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
28609         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
28610         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
28611         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
28612         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
28613         symbol.
28614         (environ): Update.
28615         * modules/unistd (Depends-on): Add c++defs.
28616         (Makefile.am): Update unistd.h rule.
28617
28618         time: Avoid #define replacements in C++ mode.
28619         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
28620         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
28621         define a namespaced alias symbol.
28622         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
28623         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
28624         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
28625         * modules/time (Depends-on): Add c++defs, warn-on-use.
28626         (Makefile.am): Update time.h rule.
28627         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
28628         * modules/nanosleep (configure.ac): Likewise.
28629         * modules/strptime (configure.ac): Likewise.
28630         * modules/timegm (configure.ac): Likewise.
28631
28632         sys_time: Avoid #define replacements in C++ mode.
28633         * lib/sys_time.in.h: Include c++defs.h.
28634         (gettimeofday): In C++, define a namespaced alias symbol.
28635         * modules/sys_time (Depends-on): Add c++defs.
28636         (Makefile.am): Update sys/time.h rule.
28637
28638         sys_stat: Avoid #define replacements in C++ mode.
28639         * lib/sys_stat.in.h: Include c++defs.h.
28640         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
28641         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
28642         namespaced alias symbol.
28643         In C++, define a namespaced alias symbol.
28644         * modules/sys_stat (Depends-on): Add c++defs.
28645         (Makefile.am): Update sys/stat.h rule.
28646
28647         sys_socket: Avoid #define replacements in C++ mode.
28648         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
28649         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
28650         definitions also when the system has a <sys/socket.h>.
28651         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
28652         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
28653         In C++, define a namespaced alias symbol.
28654         * modules/sys_socket (Depends-on): Add c++defs.
28655         (Makefile.am): Update sys/socket.h rule.
28656
28657         sys_select: Avoid #define replacements in C++ mode.
28658         * lib/sys_select.in.h: Include c++defs.h. Enable the function
28659         definitions also when the system has a <sys/select.h>.
28660         (select): In C++, define a namespaced alias symbol.
28661         * modules/sys_select (Depends-on): Add c++defs.
28662         (Makefile.am): Update sys/select.h rule.
28663
28664         sys_ioctl: Avoid #define replacements in C++ mode.
28665         * lib/sys_ioctl.in.h: Include c++defs.h.
28666         (ioctl): In C++, define a namespaced alias symbol.
28667         * modules/sys_ioctl (Depends-on): Add c++defs.
28668         (Makefile.am): Update sys/ioctl.h rule.
28669
28670         string: Avoid #define replacements in C++ mode.
28671         * lib/string.in.h: Include c++defs.h.
28672         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
28673         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
28674         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
28675         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
28676         strsignal, strverscmp): In C++, define a namespaced alias symbol.
28677         * modules/string (Depends-on): Add c++defs.
28678         (Makefile.am): Update string.h rule.
28679
28680         stdlib: Avoid #define replacements in C++ mode.
28681         * lib/stdlib.in.h: Include c++defs.h.
28682         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
28683         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
28684         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
28685         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
28686         symbol.
28687         * modules/stdlib (Depends-on): Add c++defs.
28688         (Makefile.am): Update stdlib.h rule.
28689
28690         stdio: Avoid #define replacements in C++ mode.
28691         * lib/stdio.in.h: Include c++defs.h.
28692         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
28693         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
28694         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
28695         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
28696         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
28697         namespaced alias symbol.
28698         * modules/stdio (Depends-on): Add c++defs.
28699         (Makefile.am): Update stdio.h rule.
28700
28701         spawn: Avoid #define replacements in C++ mode.
28702         * lib/spawn.in.h: Include c++defs.h.
28703         (posix_spawn, posix_spawnp, posix_spawnattr_init,
28704         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
28705         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
28706         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
28707         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
28708         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
28709         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
28710         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
28711         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
28712         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
28713         In C++, define a namespaced alias symbol.
28714         * modules/spawn (Depends-on): Add c++defs.
28715         (Makefile.am): Update spawn.h rule.
28716
28717         signal: Avoid #define replacements in C++ mode.
28718         * lib/signal.in.h: Include c++defs.h.
28719         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
28720         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
28721         namespaced alias symbol.
28722         * modules/signal (Depends-on): Add c++defs.
28723         (Makefile.am): Update signal.h rule.
28724
28725         search: Avoid #define replacements in C++ mode.
28726         * lib/search.in.h: Include c++defs.h.
28727         (_gl_search_compar_fn, _gl_search_action_fn): New types.
28728         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
28729         symbol.
28730         * modules/search (Depends-on): Add c++defs.
28731         (Makefile.am): Update search.h rule.
28732
28733         math: Avoid #define replacements in C++ mode.
28734         * lib/math.in.h: Include c++defs.h.
28735         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
28736         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
28737         trunc, truncl): In C++, define a namespaced alias symbol.
28738         * modules/math (Depends-on): Add c++defs.
28739         (Makefile.am): Update math.h rule.
28740
28741         locale: Avoid #define replacements in C++ mode.
28742         * lib/locale.in.h: Include c++defs.h.
28743         (duplocale): In C++, define a namespaced alias symbol.
28744         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
28745         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
28746         * modules/locale (Depends-on): Add c++defs.
28747         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
28748
28749         langinfo: Avoid #define replacements in C++ mode.
28750         * lib/langinfo.in.h: Include c++defs.h.
28751         (nl_langinfo): In C++, define a namespaced alias symbol.
28752         * modules/langinfo (Depends-on): Add c++defs.
28753         (Makefile.am): Update langinfo.h rule.
28754
28755         iconv-h: Avoid #define replacements in C++ mode.
28756         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
28757         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
28758         symbol.
28759         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
28760         whenever iconv is present.
28761         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
28762         (Makefile.am): Update iconv.h rule.
28763
28764         glob: Avoid #define replacements in C++ mode.
28765         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
28766         (_gl_glob_errfunc_fn): New type.
28767         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
28768         symbol.
28769         * modules/glob (Depends-on): Add c++defs, warn-on-use.
28770         (Makefile.am): Update glob.h rule.
28771
28772         fcntl-h: Avoid #define replacements in C++ mode.
28773         * lib/fcntl.in.h: Include c++defs.h.
28774         (fcntl, open, openat): In C++, define a namespaced alias symbol.
28775         * modules/fcntl-h (Depends-on): Add c++defs.
28776         (Makefile.am): Update fcntl.h rule.
28777
28778         dirent: Avoid #define replacements in C++ mode.
28779         * lib/dirent.in.h: Include c++defs.h.
28780         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
28781         namespaced alias symbol.
28782         (dirfd): Update declaration.
28783         * modules/dirent (Depends-on): Add c++defs.
28784         (Makefile.am): Update dirent.h rule.
28785
28786         ctype: Make it usable in C++ code.
28787         * lib/ctype.in.h: Include c++defs.h.
28788         (isblank): Declare as extern "C".
28789         * modules/ctype (Depends-on): Add c++defs.
28790         (Makefile.am): Update ctype.h rule.
28791
28792         New module 'c++defs'.
28793         * modules/c++defs: New file.
28794         * build-aux/c++defs.h: New file.
28795         Reported by John W. Eaton <jwe@gnu.org>.
28796
28797 2010-03-07  Bruno Haible  <bruno@clisp.org>
28798
28799         logb: Provide missing declaration for Cygwin.
28800         * lib/math.in.h (logb): New declaration.
28801         * m4/logb.m4: New file.
28802         * modules/logb (Files): Add m4/logb.m4.
28803         (Depends-on): Add math.
28804         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
28805         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
28806         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
28807         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
28808         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
28809
28810 2010-03-07  Bruno Haible  <bruno@clisp.org>
28811
28812         Fix test-cond link error.
28813         * tests/test-cond.c: Include <stdio.h>.
28814
28815 2010-03-07  Bruno Haible  <bruno@clisp.org>
28816
28817         Fix test-dirent-safer link error.
28818         * modules/dirent-safer-tests (Makefile.am): Define
28819         test_dirent_safer_LDADD.
28820
28821 2010-03-07  Bruno Haible  <bruno@clisp.org>
28822
28823         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
28824         among default module list.
28825
28826 2010-03-07  Bruno Haible  <bruno@clisp.org>
28827
28828         Fix link error on platforms with GNU libiconv.
28829         * modules/unistr/u8-strcoll-tests (Makefile): Define
28830         test_u8_strcoll_LDADD.
28831         * modules/unistr/u16-strcoll-tests (Makefile): Define
28832         test_u16_strcoll_LDADD.
28833         * modules/unistr/u32-strcoll-tests (Makefile): Define
28834         test_u32_strcoll_LDADD.
28835
28836 2010-03-07  Bruno Haible  <bruno@clisp.org>
28837
28838         Use POSIX declarations for socket functions.
28839         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
28840         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
28841         rpl_sendto): Change declaration to match POSIX.
28842         * lib/connect.c (rpl_connect): Likewise.
28843         * lib/accept.c (rpl_accept): Likewise.
28844         * lib/bind.c (rpl_bind): Likewise.
28845         * lib/getpeername.c (rpl_getpeername): Likewise.
28846         * lib/getsockname.c (rpl_getsockname): Likewise.
28847         * lib/recv.c (rpl_recv): Likewise.
28848         * lib/send.c (rpl_send): Likewise.
28849         * lib/recvfrom.c (rpl_recvfrom): Likewise.
28850         * lib/sendto.c (rpl_sendto): Likewise.
28851
28852 2010-03-06  Bruno Haible  <bruno@clisp.org>
28853
28854         Clarify access, euidaccess, faccessat.
28855         * doc/posix-functions/faccessat.texi: Mention security problem under
28856         "Other problems", not "Portability problems".
28857         * doc/posix-functions/access.texi: Likewise. Mention a related security
28858         problem.
28859         * doc/glibc-functions/euidaccess.texi: Mention security problems.
28860         * lib/euidaccess.c: Add comments about platforms.
28861         * lib/unistd.in.h (access, euidaccess): Add warnings.
28862
28863 2010-03-07  Bruno Haible  <bruno@clisp.org>
28864
28865         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
28866         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
28867         (POSIX_SPAWN_SETSCHEDULER): Likewise.
28868         (POSIX_SPAWN_USEVFORK): Define in a way that works when
28869         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
28870         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
28871         declare when POSIX_SPAWN_SETSCHEDULER is zero.
28872         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
28873         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
28874         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
28875         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
28876         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
28877         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
28878         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
28879         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
28880         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
28881         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
28882         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
28883         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
28884         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
28885         Likewise.
28886         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
28887         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
28888         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
28889         Likewise.
28890         * tests/test-spawn.c (main): Make it work when
28891         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
28892
28893 2010-03-07  Bruno Haible  <bruno@clisp.org>
28894
28895         Fix incorrect Makefile.am generation in German locale.
28896         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
28897         Execute sed command with character range in C locale.
28898
28899 2010-03-06  Bruno Haible  <bruno@clisp.org>
28900
28901         Tests for module 'iconv-h'.
28902         * modules/iconv-h-tests: New file.
28903         * tests/test-iconv-h.c: New file.
28904
28905         New module 'iconv-h'.
28906         * modules/iconv-h: New file.
28907         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
28908         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
28909         (configure.ac): Remove gl_ICONV_H.
28910         (Makefile.am): Remove rule for iconv.h.
28911
28912 2010-03-06  Bruno Haible  <bruno@clisp.org>
28913
28914         More consistent naming of *.m4 files.
28915         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
28916         * modules/wctype (Files): Update.
28917
28918         More consistent naming of *.m4 files.
28919         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
28920         * modules/wchar (Files): Update.
28921
28922 2010-03-06  Jim Meyering  <meyering@redhat.com>
28923
28924         euidaccess: relax license to LGPLv2+
28925         * modules/euidaccess (License): Relax to LGPLv2+.
28926
28927 2010-03-06  Bruno Haible  <bruno@clisp.org>
28928
28929         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
28930         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
28931         (Makefile.am): Augment lib_SOURCES instead.
28932
28933 2010-03-04  Jim Meyering  <meyering@redhat.com>
28934
28935         utime: remove obsolete module
28936         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
28937         unnecessary for years, and has been marked as obsolete for 10 months.
28938         * modules/utime: Remove file.
28939         * lib/utime.c: Remove file.
28940         * m4/utime.m4: Remove file.
28941         * m4/utimes-null.m4: Remove file.
28942         * doc/posix-functions/utime.texi (utime): Remove reference to
28943         the module.  Move the sole "fixed by gnulib" item into the
28944         "problems not fixed by Gnulib" list.
28945         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
28946
28947 2010-03-05  Simon Josefsson  <simon@josefsson.org>
28948
28949         * modules/exit (License): Relax license to LGPLv2+.
28950         (Status): Mark as obsolete.
28951         * NEWS: Mention deprecated 'exit' module.
28952         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
28953         of now obsolete 'exit'.
28954
28955 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28956
28957         fts-lgpl: remove unused module
28958         * modules/fts-lgpl: Remove.
28959         * MODULES.html.sh (func_all_modules): Adjust.
28960         * check-module (find_included_lib_files): Adjust.
28961         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
28962
28963 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
28964
28965         copy-acl: enhance Solaris ACL error handling
28966         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
28967         * lib/set-mode-acl.c (qset_acl): Likewise.
28968
28969 2010-03-02  Bruno Haible  <bruno@clisp.org>
28970
28971         spawn: Don't override the system defined values on FreeBSD 8.
28972         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
28973         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
28974         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
28975         if HAVE_POSIX_SPAWN is 1.
28976         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
28977
28978 2010-03-01  Bruno Haible  <bruno@clisp.org>
28979
28980         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
28981         regarding Automake.
28982
28983 2010-02-25  Bruno Haible  <bruno@clisp.org>
28984
28985         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
28986         * gnulib-tool: Define 'echo' as a function only before the ksh alias
28987         setting, not afterwards.
28988         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
28989
28990 2010-02-24  Eric Blake  <eblake@redhat.com>
28991
28992         bootstrap, git-version-gen: use timestamp
28993         * build-aux/git-version-gen (scriptversion): Force UTC.
28994         * build-aux/bootstrap (scriptversion): New variable.
28995
28996         bootstrap: allow older git
28997         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
28998         older than 1.6.4.  Requested by the libvirt project.
28999
29000 2010-02-23  Eric Blake  <eblake@redhat.com>
29001
29002         warn-on-use: work with old autoconf
29003         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
29004         AS_VAR semantics of autoconf 2.60.
29005         Reported by Bruno Haible.
29006
29007         bootstrap: improve some comments
29008         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
29009         clarification comments.
29010
29011         gettimeofday: provide correct function
29012         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
29013         when replacement is declared, otherwise provide gettimeofday.
29014         Reported by Michael Goffioul.
29015
29016 2010-02-23  Jim Meyering  <meyering@redhat.com>
29017
29018         lib-ignore: relax license to "unlimited", not LGPLv2+
29019         * modules/lib-ignore (License): Relax to "unlimited".
29020
29021 2010-02-23  Jim Meyering  <meyering@redhat.com>
29022
29023         lib-ignore: relax license to LGPLv2+
29024         * modules/lib-ignore (License): Relax to LGPLv2+.
29025
29026 2010-02-22  Eric Blake  <eblake@redhat.com>
29027
29028         lseek: avoid bash 3.2 broken pipe bug
29029         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
29030         warning from bash 3.2.
29031         Reported by Ben Pfaff, with analysis from Bruno Haible.
29032
29033         bootstrap: support non-FSF copyright holder
29034         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
29035         bootstrap.conf override of COPYRIGHT_HOLDER.
29036         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
29037
29038         bootstrap: interoperate with gettext 0.14.1
29039         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
29040
29041         bootstrap: allow for alternate submodule location
29042         * build-aux/bootstrap (gnulib_path): New variable; use instead of
29043         hardcoding submodule location.
29044         (gnulib_mk): Allow direct use of Makefile.am.
29045
29046         bootstrap: use GNULIB_SRCDIR to reduce disk usage
29047         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
29048         rather than reconfiguring where the submodule points.
29049
29050         gettimeofday: restore support for platforms that lack function
29051         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
29052         replacement if function is missing.
29053         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
29054         * modules/sys_time (Makefile.am): Substitute it.
29055         * lib/sys_time.in.h (gettimeofday): Check it.
29056         Reported by Michael Goffioul.
29057
29058 2010-02-21  Bruno Haible  <bruno@clisp.org>
29059
29060         * lib/stdio.in.h (obstack_printf): Fix typo.
29061
29062 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
29063
29064         vc-list-files: use bzr ls's -R option
29065         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
29066         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
29067
29068 2010-02-21  Jim Meyering  <meyering@redhat.com>
29069
29070         init.sh: fix EXEEXT shims to work also for names like test-prog
29071         * tests/init.sh: Re-exec a better shell, when needed.
29072         If the current shell lacks support for posix $(...), an init.sh-using
29073         test will now try to find a shell that supports that.  If EXEEXT is
29074         nonempty, we also require support for hyphen-in-alias-name and shell
29075         substitutions like ${var#glob}.  Failure to find such a shell results
29076         in a skipped test.
29077
29078 2010-02-21  Bruno Haible  <bruno@clisp.org>
29079
29080         Really work around around "broken pipe" error message from bash 3.2.
29081         * gnulib-tool (func_reset_sigpipe): Remove function.
29082         (echo): In bash 3.2, define to a function that uses printf.
29083         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
29084
29085 2010-02-20  Bruno Haible  <bruno@clisp.org>
29086
29087         Restore support for automake 1.9.6 with autoconf 2.61.
29088         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
29089         Reported by James Youngman <jay@gnu.org>.
29090
29091 2010-02-20  Bruno Haible  <bruno@clisp.org>
29092
29093         Improve *printf warning condition.
29094         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
29095         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
29096         and the function is overridden due to SIGPIPE emulation.
29097
29098 2010-02-20  Bruno Haible  <bruno@clisp.org>
29099
29100         * lib/stdio.in.h: Tweak comments.
29101
29102 2010-02-19  Bruno Haible  <bruno@clisp.org>
29103
29104         Make it easier to find modules. New gnulib-tool option '--find'.
29105         * gnulib-tool: New option --find.
29106         (func_usage): Document it.
29107         (func_sanitize_modulelist): New function, extracted from
29108         func_all_modules.
29109         (func_all_modules): Invoke it.
29110         * doc/gnulib-tool.texi (Which modules?): New node.
29111
29112 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
29113
29114         * lib/sys_select.in.h: Provide select replacement even if
29115         sys/select.h exists on a system, for Interix.
29116
29117 2010-02-18  Jim Meyering  <meyering@redhat.com>
29118
29119         init.sh: don't use $(...) just yet
29120         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
29121         to accommodate e.g., Solaris' /bin/sh.
29122
29123 2010-02-17  Bruno Haible  <bruno@clisp.org>
29124
29125         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
29126         Reported by Ludovic Courtès <ludo@gnu.org>.
29127
29128 2010-02-16  Simon Josefsson  <simon@josefsson.org>
29129
29130         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
29131         linking with -lintl.
29132
29133 2010-02-17  Simon Josefsson  <simon@josefsson.org>
29134
29135         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
29136         if not provided by the system's netdb.h.  Reported by
29137         ludo@gnu.org (Ludovic Courtès).
29138
29139 2010-02-15  Jim Meyering  <meyering@redhat.com>
29140
29141         init.sh: improve portability and efficiency
29142         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
29143         "dummy" in a for loop.
29144         Use '!', not '^' to select the complement of a character set used
29145         in a "case" statement.
29146         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
29147         Suggestions from Eric Blake.
29148
29149         init.sh: automatically accommodate programs with the .exe suffix
29150         Automatically arrange for an invocation of "prog" to execute the
29151         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
29152         may use the simpler "prog", yet still work when built on a system
29153         that requires specifying the added suffix.
29154         Do this by constructing a function named "prog" that invokes
29155         "prog.exe" for each .exe file in selected directories.
29156         * tests/init.sh (find_exe_basenames_): New function.
29157         (create_exe_shim_functions_): New function.
29158         (path_prepend_): Use it.
29159
29160         maint.mk: mark syntax-check sc_*.m rules as .PHONY
29161         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
29162         "make -t syntax-check" doesn't create a ton of sc_*.m files.
29163
29164 2010-02-14  Jim Meyering  <meyering@redhat.com>
29165
29166         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
29167         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
29168         (sc_prohibit_hash_pjw_without_use): New rule.
29169
29170         maint.mk: allow the default upload destination dir to be overridden
29171         * top/maint.mk (upload_dest_dir_): Define with a default that
29172         preserves the status quo.
29173         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
29174         Reported by Peter Simons.
29175
29176         maint.mk: prohibit inclusion of "hash.h" without_use
29177         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
29178
29179 2010-02-10  Jim Meyering  <meyering@redhat.com>
29180
29181         maint.mk: prohibit inclusion of "ignore-value.h" without_use
29182         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
29183
29184 2010-02-09  Eric Blake  <ebb9@byu.net>
29185         and Bruno Haible  <bruno@clisp.org>
29186
29187         obstack-printf-posix: ensure declaration
29188         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
29189         extracted from gl_FUNC_OBSTACK_PRINTF.
29190         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
29191         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
29192         Likewise.
29193         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
29194         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
29195         0.
29196
29197 2010-02-08  Bruno Haible  <bruno@clisp.org>
29198
29199         gnulib-tool: Fix typo in 2010-02-07 commit.
29200         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
29201         Reported by Eric Blake.
29202
29203 2010-02-07  Bruno Haible  <bruno@clisp.org>
29204
29205         gnulib-tool: Fix up caching patches.
29206         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
29207         option --no-cache. Use associative arrays when supported by the shell.
29208         (sed_comments): New variable.
29209         (modcache): Renamed from do_cache.
29210         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
29211         abbreviate unnecessarily.
29212         (have_associative): New variable.
29213         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
29214         way also for ksh and zsh.
29215         (func_init_sed_convert_to_cache_statements): New function, extracted
29216         from func_cache_lookup_module. Add support for associative arrays.
29217         Don't set the c_MODULE_cached variable here. Ignore all lines before
29218         the first field header. Remove only the final newline, not all trailing
29219         newlines. Support empty fields correctly. Limit the use of 'eval' to
29220         assignments.
29221         (func_get_description, func_get_status, func_get_notice,
29222         func_get_applicability, func_get_filelist, func_get_dependencies,
29223         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
29224         func_get_automake_snippet, func_get_include_directive,
29225         func_get_link_directive, func_get_license, func_get_maintainer):
29226         Update documentation. List the unoptimized code first. Add support for
29227         associative arrays. Limit the use of 'eval' to assignments.
29228         (func_get_applicability): Undo stylistic pessimisations.
29229         (func_get_automake_snippet, func_get_include_directive): Reduce code
29230         duplication.
29231         (func_modules_transitive_closure, func_modules_add_dummy,
29232         func_modules_notice, func_modules_to_filelist, func_add_file,
29233         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
29234         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
29235         func_create_testdir, func_create_megatestdir): Update documentation.
29236
29237 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29238
29239         * gnulib-tool (func_cache_lookup_module): Store the module name
29240         belonging to the cache variable; error out if two different
29241         module names map to the same cache variable name.
29242
29243 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29244
29245         gnulib-tool: Make caching optional.
29246         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
29247         Update matching short versions of --no-changelog.
29248         (func_usage): Update.
29249         (sed_extract_cache_prog): Renamed from ...
29250         (sed_extract_prog): ... this; revert to old extraction script.
29251         (func_get_description, func_get_status)
29252         (func_get_notice, func_get_applicability, func_get_filelist)
29253         (func_get_dependencies, func_get_autoconf_early_snippet)
29254         (func_get_autoconf_snippet, func_get_automake_snippet)
29255         (func_get_include_directive, func_get_link_directive)
29256         (func_get_license, func_get_maintainer): If $do_cache is false,
29257         use old, non-caching extraction scripts.
29258         Suggestion by Bruno Haible.
29259
29260 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29261
29262         gnulib-tool: cache module metainformation.
29263         * gnulib-tool (sed_extract_prog): Match newline before each
29264         header, and rewrite header to a shell variable suffix.
29265         (func_cache_var, func_cache_lookup_module): New functions,
29266         to turn a module name into a cache variable prefix, and to
29267         look up and cache module metainformation.
29268         (func_get_description, func_get_status)
29269         (func_get_notice, func_get_applicability, func_get_filelist)
29270         (func_get_dependencies, func_get_autoconf_early_snippet)
29271         (func_get_autoconf_snippet, func_get_automake_snippet)
29272         (func_get_include_directive, func_get_link_directive)
29273         (func_get_license, func_get_maintainer): Use
29274         func_cache_lookup_module.
29275
29276 2010-02-07  Bruno Haible  <bruno@clisp.org>
29277
29278         fnctl: Fix missing dependency.
29279         * modules/fcntl (Depends-on): Add getdtablesize.
29280         Reported by John W. Eaton <jwe@gnu.org>.
29281
29282 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
29283
29284         Argp: fix recognition of short alias options.
29285
29286         * lib/argp-parse.c (convert_options): Fix improper use of
29287         `|' between character values.
29288         * tests/test-argp.c (group1_option): New alias option
29289         --read (-r).
29290         (group1_parser): Special handling for 'r'.
29291         (test15): New test case.
29292         (test_fun): Add test15.
29293         * tests/test-argp-2.sh: Update expected --help and --usage
29294         outputs.
29295
29296 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
29297
29298         * tests/test-argp.c: Fix indentation.
29299
29300 2010-02-04  Eric Blake  <ebb9@byu.net>
29301
29302         gettimeofday: expose type of second argument
29303         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
29304         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
29305         * tests/test-gettimeofday.c: Use it to silence warning.
29306         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
29307         the issue.
29308
29309 2010-02-03  Jim Meyering  <meyering@redhat.com>
29310
29311         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
29312         * lib/regcomp.c (TYPE_SIGNED): Define.
29313         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
29314
29315         regcomp.c: avoid a new -Wshadow warning
29316         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
29317
29318 2010-02-01  Jim Meyering  <meyering@redhat.com>
29319
29320         removing useless parentheses in cpp #define directives
29321         For motivation, see commit c0221df4, "define STREQ(a,b)
29322         consistently, removing useless parentheses"
29323         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
29324         * lib/mountlist.c (MNT_IGNORE): Likewise.
29325         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
29326
29327 2010-02-01  Eric Blake  <ebb9@byu.net>
29328
29329         sys_time: use link-warning
29330         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
29331         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
29332         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
29333         * modules/sys_time (Depends-on): Add warn-on-use.
29334         (Makefile.am): Always build replacement.
29335         (configure.ac): Update substitutions.
29336         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
29337         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
29338         bother with SYS_TIME_H.
29339         * modules/gettimeofday (configure.ac): Declare indicator.
29340         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
29341         in use.
29342
29343         closein-tests: silence compiler warning
29344         * tests/test-closein.c (main): Ignore fread result.
29345         * modules/closein-tests (Depends-on): Add ignore-value.
29346
29347         tests: silence warning about system return
29348         * tests/test-areadlink-with-size.c (main): Ignore system result.
29349         * tests/test-areadlink.c (main): Likewise.
29350         * tests/test-areadlinkat-with-size.c (main): Likewise.
29351         * tests/test-areadlinkat.c (main): Likewise.
29352         * tests/test-canonicalize-lgpl.c (main): Likewise.
29353         * tests/test-canonicalize.c (main): Likewise.
29354         * tests/test-chown.c (main): Likewise.
29355         * tests/test-fchownat.c (main): Likewise.
29356         * tests/test-fdutimensat.c (main): Likewise.
29357         * tests/test-fstatat.c (main): Likewise.
29358         * tests/test-futimens.c (main): Likewise.
29359         * tests/test-lchown.c (main): Likewise.
29360         * tests/test-link.c (main): Likewise.
29361         * tests/test-linkat.c (main): Likewise.
29362         * tests/test-lstat.c (main): Likewise.
29363         * tests/test-mkdir.c (main): Likewise.
29364         * tests/test-mkdirat.c (main): Likewise.
29365         * tests/test-mkfifo.c (main): Likewise.
29366         * tests/test-mkfifoat.c (main): Likewise.
29367         * tests/test-mknod.c (main): Likewise.
29368         * tests/test-readlink.c (main): Likewise.
29369         * tests/test-remove.c (main): Likewise.
29370         * tests/test-rename.c (main): Likewise.
29371         * tests/test-renameat.c (main): Likewise.
29372         * tests/test-rmdir.c (main): Likewise.
29373         * tests/test-symlink.c (main): Likewise.
29374         * tests/test-symlinkat.c (main): Likewise.
29375         * tests/test-unlink.c (main): Likewise.
29376         * tests/test-unlinkat.c (main): Likewise.
29377         * tests/test-utimens.c (main): Likewise.
29378         * tests/test-utimensat.c (main): Likewise.
29379         * modules/areadlink-tests (Depends-on): Add ignore-value.
29380         * modules/areadlink-with-size-tests (Depends-on): Likewise.
29381         * modules/areadlinkat-tests (Depends-on): Likewise.
29382         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
29383         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
29384         * modules/canonicalize-tests (Depends-on): Likewise.
29385         * modules/chown-tests (Depends-on): Likewise.
29386         * modules/fdutimensat-tests (Depends-on): Likewise.
29387         * modules/futimens-tests (Depends-on): Likewise.
29388         * modules/lchown-tests (Depends-on): Likewise.
29389         * modules/link-tests (Depends-on): Likewise.
29390         * modules/linkat-tests (Depends-on): Likewise.
29391         * modules/lstat-tests (Depends-on): Likewise.
29392         * modules/mkdir-tests (Depends-on): Likewise.
29393         * modules/mkfifo-tests (Depends-on): Likewise.
29394         * modules/mkfifoat-tests (Depends-on): Likewise.
29395         * modules/mknod-tests (Depends-on): Likewise.
29396         * modules/openat-tests (Depends-on): Likewise.
29397         * modules/readlink-tests (Depends-on): Likewise.
29398         * modules/remove-tests (Depends-on): Likewise.
29399         * modules/rename-tests (Depends-on): Likewise.
29400         * modules/renameat-tests (Depends-on): Likewise.
29401         * modules/rmdir-tests (Depends-on): Likewise.
29402         * modules/symlink-tests (Depends-on): Likewise.
29403         * modules/symlinkat-tests (Depends-on): Likewise.
29404         * modules/unlink-tests (Depends-on): Likewise.
29405         * modules/utimens-tests (Depends-on): Likewise.
29406         * modules/utimensat-tests (Depends-on): Likewise.
29407
29408 2010-01-31  Bruno Haible  <bruno@clisp.org>
29409
29410         Perform the same test for many <math.h> functions.
29411         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
29412         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
29413         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
29414         of gl_MATHFUNC.
29415         * modules/acos (configure.ac): Likewise.
29416         * modules/asin (configure.ac): Likewise.
29417         * modules/atan (configure.ac): Likewise.
29418         * modules/atan2 (configure.ac): Likewise.
29419         * modules/cbrt (configure.ac): Likewise.
29420         * modules/copysign (configure.ac): Likewise.
29421         * modules/cos (configure.ac): Likewise.
29422         * modules/cosh (configure.ac): Likewise.
29423         * modules/erf (configure.ac): Likewise.
29424         * modules/erfc (configure.ac): Likewise.
29425         * modules/exp (configure.ac): Likewise.
29426         * modules/fmod (configure.ac): Likewise.
29427         * modules/hypot (configure.ac): Likewise.
29428         * modules/j0 (configure.ac): Likewise.
29429         * modules/j1 (configure.ac): Likewise.
29430         * modules/jn (configure.ac): Likewise.
29431         * modules/lgamma (configure.ac): Likewise.
29432         * modules/log (configure.ac): Likewise.
29433         * modules/log10 (configure.ac): Likewise.
29434         * modules/log1p (configure.ac): Likewise.
29435         * modules/pow (configure.ac): Likewise.
29436         * modules/remainder (configure.ac): Likewise.
29437         * modules/sin (configure.ac): Likewise.
29438         * modules/sinh (configure.ac): Likewise.
29439         * modules/tan (configure.ac): Likewise.
29440         * modules/tanh (configure.ac): Likewise.
29441         * modules/y0 (configure.ac): Likewise.
29442         * modules/y1 (configure.ac): Likewise.
29443         * modules/yn (configure.ac): Likewise.
29444         Suggested by Paolo Bonzini.
29445
29446 2010-01-31  Bruno Haible  <bruno@clisp.org>
29447
29448         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
29449
29450 2010-01-31  Bruno Haible  <bruno@clisp.org>
29451
29452         Work around getdelim() bug on FreeBSD 8.0.
29453         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
29454         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
29455         not work.
29456         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
29457         is 1.
29458         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
29459         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
29460         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
29461         a non-zero size.
29462         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
29463
29464 2010-01-31  Bruno Haible  <bruno@clisp.org>
29465
29466         Work around getline() bug on FreeBSD 8.0.
29467         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
29468         and a non-zero size.
29469         * tests/test-getline.c (main): Likewise.
29470         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
29471         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
29472
29473 2010-01-28  Eric Blake  <ebb9@byu.net>
29474
29475         regex: fix build failure
29476         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
29477         platforms.
29478
29479 2010-01-28  Jim Meyering  <meyering@redhat.com>
29480
29481         regex: do not ignore memory allocation failure
29482         * lib/regex_internal.c (create_cd_newstate): Detect
29483         re_node_set_init_copy failure.   Extracted from glibc commit
29484         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
29485
29486         regex: sync more white-space changes from libc
29487         * lib/regex_internal.c: White-space only changes.
29488         * lib/regexec.c: Likewise.
29489
29490         regex: add many uses of __attribute_warn_unused_result__
29491         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
29492         * lib/regexec.c: Likewise.
29493         Extracted from a messy glibc commit.
29494
29495         regcomp.c: spelling and merge-artifact from glibc
29496         * lib/regcomp.c: Merge remainder of glibc's
29497         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
29498
29499         regcomp.c: sync white-space changes from glibc
29500         * lib/regcomp.c: Merge to accommodate white space
29501         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
29502
29503         regcomp.c: do not ignore internal return values
29504         * lib/regcomp.c: Do not ignore internal return values.
29505         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
29506         but without its white-space changes and spelling fixes.
29507
29508         regex_internal.h: define __attribute_warn_unused_result__
29509         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
29510
29511         maint: add a syntax-check rule to check for vulnerable Makefile.in
29512         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
29513
29514 2010-01-27  Jim Meyering  <meyering@redhat.com>
29515
29516         ncftpput-ftp: clean up spaces
29517         * build-aux/ncftpput-ftp: Make Copyright line consistent.
29518         Remove trailing blanks.
29519
29520 2010-01-27  Simon Josefsson  <simon@josefsson.org>
29521
29522         * build-aux/git-version-gen: Fix copyright statement.
29523         * build-aux/gnupload: Likewise.
29524         * tests/test-arcfour.c: Likewise.
29525         * tests/test-arctwo.c: Likewise.
29526         * tests/test-count-one-bits.c: Likewise.
29527         * tests/test-crc.c: Likewise.
29528         * tests/test-des.c: Likewise.
29529         * tests/test-gc-arcfour.c: Likewise.
29530         * tests/test-gc-arctwo.c: Likewise.
29531         * tests/test-gc-des.c: Likewise.
29532         * tests/test-gc-hmac-md5.c: Likewise.
29533         * tests/test-gc-hmac-sha1.c: Likewise.
29534         * tests/test-gc-md2.c: Likewise.
29535         * tests/test-gc-md4.c: Likewise.
29536         * tests/test-gc-md5.c: Likewise.
29537         * tests/test-gc-pbkdf2-sha1.c: Likewise.
29538         * tests/test-gc-rijndael.c: Likewise.
29539         * tests/test-gc-sha1.c: Likewise.
29540         * tests/test-gc.c: Likewise.
29541         * tests/test-gethostname.c: Likewise.
29542         * tests/test-gettimeofday.c: Likewise.
29543         * tests/test-hash.c: Likewise.
29544         * tests/test-hmac-md5.c: Likewise.
29545         * tests/test-hmac-sha1.c: Likewise.
29546         * tests/test-md2.c: Likewise.
29547         * tests/test-md4.c: Likewise.
29548         * tests/test-md5.c: Likewise.
29549         * tests/test-memchr.c: Likewise.
29550         * tests/test-memchr2.c: Likewise.
29551         * tests/test-memcmp.c: Likewise.
29552         * tests/test-memmem.c: Likewise.
29553         * tests/test-memrchr.c: Likewise.
29554         * tests/test-rawmemchr.c: Likewise.
29555         * tests/test-read-file.c: Likewise.
29556         * tests/test-rijndael.c: Likewise.
29557         * tests/test-sockets.c: Likewise.
29558         * tests/test-strchrnul.c: Likewise.
29559         * tests/test-strstr.c: Likewise.
29560         * tests/test-strtod.c: Likewise.
29561         * build-aux/ncftpput-ftp: Likewise.
29562
29563 2010-01-26  Eric Blake  <ebb9@byu.net>
29564
29565         ignore-value: update recommended header name
29566         * modules/ignore-value (Include): Only use <> for headers that
29567         exist in glibc.
29568
29569 2010-01-26  Jim Meyering  <meyering@redhat.com>
29570
29571         test-userspec.c: avoid compiler warnings
29572         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
29573         and "initialization discards qualifiers..." warnings.
29574         Put the first "uid" in its own scope, and make char* members "const".
29575
29576 2010-01-25  Bruno Haible  <bruno@clisp.org>
29577
29578         gnulib-tool: Make warning diagnostics consistent.
29579         * gnulib-tool (func_warning): New function.
29580         Use it everywhere where gnulib-tool produces output to stderr and it is
29581         not a fatal error.
29582
29583 2010-01-25  Bruno Haible  <bruno@clisp.org>
29584
29585         Fix test dependencies.
29586         * modules/xstrtol-tests (Depends-on): Add inttypes.
29587         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
29588
29589 2010-01-25 Pádraig Brady <P@draigBrady.com>
29590
29591         syntax-check: detect incorrect boolean macro values in config.h
29592         * modules/maintainer-makefile (configure.ac): Parameterize the location
29593         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
29594         The logic is from Eric Blake and the location indicated by Jim Meyering.
29595         Note the more natural CONFIG_HEADER name is prohibited by automake
29596         for backwards compatibility reasons.
29597         * top/maint.mk (sc_Wundef_boolean): New rule.
29598
29599 2010-01-25  Jim Meyering  <meyering@redhat.com>
29600
29601         bootstrap: detect MacOS 10.6's shasum, too
29602         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
29603         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
29604
29605 2010-01-23  Jim Meyering  <meyering@redhat.com>
29606
29607         xstrtoll: new module
29608         * modules/xstrtoll: New file.
29609         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
29610         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
29611         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
29612         ./configure fails if you use this module and lack "long long".
29613         * modules/xstrtoll-tests: New module.
29614         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
29615         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
29616         new init.sh-based test framework.
29617
29618 2010-01-24  Bruno Haible  <bruno@clisp.org>
29619
29620         Tests for module 'yn'.
29621         * modules/yn-tests: New file.
29622         * tests/test-yn.c: New file.
29623
29624         Tests for module 'y1'.
29625         * modules/y1-tests: New file.
29626         * tests/test-y1.c: New file.
29627
29628         Tests for module 'y0'.
29629         * modules/y0-tests: New file.
29630         * tests/test-y0.c: New file.
29631
29632         Tests for module 'tanh'.
29633         * modules/tanh-tests: New file.
29634         * tests/test-tanh.c: New file.
29635
29636         Tests for module 'tan'.
29637         * modules/tan-tests: New file.
29638         * tests/test-tan.c: New file.
29639
29640         Tests for module 'sqrt'.
29641         * modules/sqrt-tests: New file.
29642         * tests/test-sqrt.c: New file.
29643
29644         Tests for module 'sinh'.
29645         * modules/sinh-tests: New file.
29646         * tests/test-sinh.c: New file.
29647
29648         Tests for module 'sin'.
29649         * modules/sin-tests: New file.
29650         * tests/test-sin.c: New file.
29651
29652         Tests for module 'rint'.
29653         * modules/rint-tests: New file.
29654         * tests/test-rint.c: New file.
29655
29656         Tests for module 'remainder'.
29657         * modules/remainder-tests: New file.
29658         * tests/test-remainder.c: New file.
29659
29660         Tests for module 'pow'.
29661         * modules/pow-tests: New file.
29662         * tests/test-pow.c: New file.
29663
29664         Tests for module 'nextafter'.
29665         * modules/nextafter-tests: New file.
29666         * tests/test-nextafter.c: New file.
29667
29668         Tests for module 'modf'.
29669         * modules/modf-tests: New file.
29670         * tests/test-modf.c: New file.
29671
29672         Tests for module 'logb'.
29673         * modules/logb-tests: New file.
29674         * tests/test-logb.c: New file.
29675
29676         Tests for module 'log1p'.
29677         * modules/log1p-tests: New file.
29678         * tests/test-log1p.c: New file.
29679
29680         Tests for module 'log10'.
29681         * modules/log10-tests: New file.
29682         * tests/test-log10.c: New file.
29683
29684         Tests for module 'log'.
29685         * modules/log-tests: New file.
29686         * tests/test-log.c: New file.
29687
29688         Tests for module 'lgamma'.
29689         * modules/lgamma-tests: New file.
29690         * tests/test-lgamma.c: New file.
29691
29692         Tests for module 'ldexp'.
29693         * modules/ldexp-tests: New file.
29694         * tests/test-ldexp.c: New file.
29695
29696         Tests for module 'jn'.
29697         * modules/jn-tests: New file.
29698         * tests/test-jn.c: New file.
29699
29700         Tests for module 'j1'.
29701         * modules/j1-tests: New file.
29702         * tests/test-j1.c: New file.
29703
29704         Tests for module 'j0'.
29705         * modules/j0-tests: New file.
29706         * tests/test-j0.c: New file.
29707
29708         Tests for module 'hypot'.
29709         * modules/hypot-tests: New file.
29710         * tests/test-hypot.c: New file.
29711
29712         Tests for module 'fmod'.
29713         * modules/fmod-tests: New file.
29714         * tests/test-fmod.c: New file.
29715
29716         Tests for module 'fabs'.
29717         * modules/fabs-tests: New file.
29718         * tests/test-fabs.c: New file.
29719
29720         Tests for module 'exp'.
29721         * modules/exp-tests: New file.
29722         * tests/test-exp.c: New file.
29723
29724         Tests for module 'erfc'.
29725         * modules/erfc-tests: New file.
29726         * tests/test-erfc.c: New file.
29727
29728         Tests for module 'erf'.
29729         * modules/erf-tests: New file.
29730         * tests/test-erf.c: New file.
29731
29732         Tests for module 'cosh'.
29733         * modules/cosh-tests: New file.
29734         * tests/test-cosh.c: New file.
29735
29736         Tests for module 'cos'.
29737         * modules/cos-tests: New file.
29738         * tests/test-cos.c: New file.
29739
29740         Tests for module 'copysign'.
29741         * modules/copysign-tests: New file.
29742         * tests/test-copysign.c: New file.
29743
29744         Tests for module 'cbrt'.
29745         * modules/cbrt-tests: New file.
29746         * tests/test-cbrt.c: New file.
29747
29748         Tests for module 'atan2'.
29749         * modules/atan2-tests: New file.
29750         * tests/test-atan2.c: New file.
29751
29752         Tests for module 'atan'.
29753         * modules/atan-tests: New file.
29754         * tests/test-atan.c: New file.
29755
29756         Tests for module 'asin'.
29757         * modules/asin-tests: New file.
29758         * tests/test-asin.c: New file.
29759
29760         Tests for module 'acos'.
29761         * modules/acos-tests: New file.
29762         * tests/test-acos.c: New file.
29763
29764 2010-01-24  Bruno Haible  <bruno@clisp.org>
29765
29766         Fix tests for common <math.h> functions.
29767         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
29768         code snippet that references the function pointer, rather than merely
29769         calling the function. Substitute the FUNC_LIBM variable.
29770         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
29771         * modules/acos (configure.ac): Likewise.
29772         * modules/asin (configure.ac): Likewise.
29773         * modules/atan (configure.ac): Likewise.
29774         * modules/atan2 (configure.ac): Likewise.
29775         * modules/cbrt (configure.ac): Likewise.
29776         * modules/copysign (configure.ac): Likewise.
29777         * modules/cos (configure.ac): Likewise.
29778         * modules/cosh (configure.ac): Likewise.
29779         * modules/erf (configure.ac): Likewise.
29780         * modules/erfc (configure.ac): Likewise.
29781         * modules/exp (configure.ac): Likewise.
29782         * modules/fabs (configure.ac): Likewise.
29783         * modules/fmod (configure.ac): Likewise.
29784         * modules/hypot (configure.ac): Likewise.
29785         * modules/j0 (configure.ac): Likewise.
29786         * modules/j1 (configure.ac): Likewise.
29787         * modules/jn (configure.ac): Likewise.
29788         * modules/ldexp (configure.ac): Likewise.
29789         * modules/lgamma (configure.ac): Likewise.
29790         * modules/log (configure.ac): Likewise.
29791         * modules/log10 (configure.ac): Likewise.
29792         * modules/log1p (configure.ac): Likewise.
29793         * modules/logb (configure.ac): Likewise.
29794         * modules/modf (configure.ac): Likewise.
29795         * modules/nextafter (configure.ac): Likewise.
29796         * modules/pow (configure.ac): Likewise.
29797         * modules/remainder (configure.ac): Likewise.
29798         * modules/rint (configure.ac): Likewise.
29799         * modules/sin (configure.ac): Likewise.
29800         * modules/sinh (configure.ac): Likewise.
29801         * modules/tan (configure.ac): Likewise.
29802         * modules/tanh (configure.ac): Likewise.
29803         * modules/y0 (configure.ac): Likewise.
29804         * modules/y1 (configure.ac): Likewise.
29805         * modules/yn (configure.ac): Likewise.
29806
29807 2010-01-24  Bruno Haible  <bruno@clisp.org>
29808
29809         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
29810         * tests/test-acosl.c (x): New variable.
29811         (main): Store argument in x and fetch it from x.
29812         * tests/test-asinl.c (x): New variable.
29813         (main): Store argument in x and fetch it from x.
29814         * tests/test-atanl.c (x): New variable.
29815         (main): Store argument in x and fetch it from x.
29816         * tests/test-cosl.c (x): New variable.
29817         (main): Store argument in x and fetch it from x.
29818         * tests/test-expl.c (x): New variable.
29819         (main): Store argument in x and fetch it from x.
29820         * tests/test-logl.c (x): New variable.
29821         (main): Store argument in x and fetch it from x.
29822         * tests/test-sinl.c (x): New variable.
29823         (main): Store argument in x and fetch it from x.
29824         * tests/test-sqrtl.c (x): New variable.
29825         (main): Store argument in x and fetch it from x.
29826         * tests/test-tanl.c (x): New variable.
29827         (main): Store argument in x and fetch it from x.
29828
29829 2010-01-24  Bruno Haible  <bruno@clisp.org>
29830
29831         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
29832         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
29833         assignments to the initial TESTS_ENVIRONMENT.
29834         * doc/gnulib.texi (Unit test modules): Document it.
29835         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
29836         TESTS_ENVIRONMENT.
29837         * modules/btowc-tests (Makefile.am): Likewise.
29838         * modules/c-stack-tests (Makefile.am): Likewise.
29839         * modules/c-strcase-tests (Makefile.am): Likewise.
29840         * modules/copy-file-tests (Makefile.am): Likewise.
29841         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
29842         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
29843         * modules/mbrtowc-tests (Makefile.am): Likewise.
29844         * modules/mbscasecmp-tests (Makefile.am): Likewise.
29845         * modules/mbscasestr-tests (Makefile.am): Likewise.
29846         * modules/mbschr-tests (Makefile.am): Likewise.
29847         * modules/mbscspn-tests (Makefile.am): Likewise.
29848         * modules/mbsinit-tests (Makefile.am): Likewise.
29849         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
29850         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
29851         * modules/mbspbrk-tests (Makefile.am): Likewise.
29852         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
29853         * modules/mbsrchr-tests (Makefile.am): Likewise.
29854         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
29855         * modules/mbsspn-tests (Makefile.am): Likewise.
29856         * modules/mbsstr-tests (Makefile.am): Likewise.
29857         * modules/nl_langinfo-tests (Makefile.am): Likewise.
29858         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
29859         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
29860         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
29861         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
29862         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
29863         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
29864         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
29865         * modules/wcrtomb-tests (Makefile.am): Likewise.
29866         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
29867         * modules/wcsrtombs-tests (Makefile.am): Likewise.
29868         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
29869         assignments from TESTS_ENVIRONMENT.
29870         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
29871         augmentation.
29872         * modules/argp-version-etc-tests (Makefile.am): Likewise.
29873         * modules/atexit-tests (Makefile.am): Likewise.
29874         * modules/binary-io-tests (Makefile.am): Likewise.
29875         * modules/closein-tests (Makefile.am): Likewise.
29876         * modules/dprintf-posix-tests (Makefile.am): Likewise.
29877         * modules/exclude-tests (Makefile.am): Likewise.
29878         * modules/fflush-tests (Makefile.am): Likewise.
29879         * modules/fpending-tests (Makefile.am): Likewise.
29880         * modules/fprintf-posix-tests (Makefile.am): Likewise.
29881         * modules/freadahead-tests (Makefile.am): Likewise.
29882         * modules/freadptr-tests (Makefile.am): Likewise.
29883         * modules/freadseek-tests (Makefile.am): Likewise.
29884         * modules/fseek-tests (Makefile.am): Likewise.
29885         * modules/fseeko-tests (Makefile.am): Likewise.
29886         * modules/ftell-tests (Makefile.am): Likewise.
29887         * modules/ftello-tests (Makefile.am): Likewise.
29888         * modules/idpriv-drop-tests (Makefile.am): Likewise.
29889         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
29890         * modules/lseek-tests (Makefile.am): Likewise.
29891         * modules/parse-duration-tests (Makefile.am): Likewise.
29892         * modules/perror-tests (Makefile.am): Likewise.
29893         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
29894         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
29895         * modules/pipe-tests (Makefile.am): Likewise.
29896         * modules/pread-tests (Makefile.am): Likewise.
29897         * modules/printf-posix-tests (Makefile.am): Likewise.
29898         * modules/select-tests (Makefile.am): Likewise.
29899         * modules/sigpipe-tests (Makefile.am): Likewise.
29900         * modules/tsearch-tests (Makefile.am): Likewise.
29901         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
29902         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
29903         * modules/uniname/uniname-tests (Makefile.am): Likewise.
29904         * modules/uniwidth/width-tests (Makefile.am): Likewise.
29905         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
29906         * modules/version-etc-tests (Makefile.am): Likewise.
29907         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
29908         * modules/vprintf-posix-tests (Makefile.am): Likewise.
29909         * modules/xalloc-die-tests (Makefile.am): Likewise.
29910         * modules/xprintf-posix-tests (Makefile.am): Likewise.
29911         * modules/xstrtoimax-tests (Makefile.am): Likewise.
29912         * modules/xstrtol-tests (Makefile.am): Likewise.
29913         * modules/xstrtoumax-tests (Makefile.am): Likewise.
29914         * modules/yesno-tests (Makefile.am): Likewise.
29915         Suggested by Jim Meyering.
29916
29917 2010-01-24  Bruno Haible  <bruno@clisp.org>
29918
29919         More documentation.
29920         * doc/gnulib.texi (Writing modules): New chapter.
29921         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
29922         the new chapter.
29923
29924 2010-01-24  Jim Meyering  <meyering@redhat.com>
29925
29926         maint.mk: do not prepend "./" after filtering
29927         * top/maint.mk (_prepend_srcdir_prefix): New variable
29928         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
29929         "./" when $(srcdir) is ".".
29930
29931         define STREQ(a,b) consistently, removing useless parentheses
29932         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
29933         since the only risk is that "a" or "b" contains an unparenthesized
29934         comma, but if either did that, STREQ would have 3 or more arguments.
29935         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
29936         * lib/fts.c (STREQ): Remove unnecessary parentheses.
29937         * lib/hash-triple.c (STREQ): Likewise.
29938         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
29939         * lib/getugroups.c (STREQ): Likewise.
29940
29941 2010-01-23  Jim Meyering  <meyering@redhat.com>
29942
29943         maint.mk: fix syntax-check in a non-srcdir build directory
29944         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
29945         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
29946
29947 2010-01-22  Jim Meyering  <meyering@redhat.com>
29948
29949         userspec: add unit tests
29950         * tests/test-userspec.c: New file.
29951         * modules/userspec-tests: Likewise.
29952
29953 2010-01-21  Jim Meyering  <meyering@redhat.com>
29954
29955         maint.mk: handle source file names containing "." robustly
29956         * top/maint.mk (_dot_escaped_srcdir): Define.
29957         (VC_LIST): Use it in LHS of sed substitution.
29958
29959 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
29960
29961         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
29962         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
29963         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
29964         from a non-srcdir build.
29965
29966 2010-01-20  Eric Blake  <ebb9@byu.net>
29967
29968         warn-on-use: use instead of link-warning
29969         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
29970         * modules/unistd (Depends-on, Makefile.am): Likewise.
29971         * modules/arpa_inet (Depends-on): Replace link-warning with
29972         warn-on-use.
29973         (Makefile.am): Update rules accordingly.
29974         * modules/ctype (Depends-on, Makefile.am): Likewise.
29975         * modules/dirent (Depends-on, Makefile.am): Likewise.
29976         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
29977         * modules/inttypes (Depends-on, Makefile.am): Likewise.
29978         * modules/langinfo (Depends-on, Makefile.am): Likewise.
29979         * modules/locale (Depends-on, Makefile.am): Likewise.
29980         * modules/math (Depends-on, Makefile.am): Likewise.
29981         * modules/search (Depends-on, Makefile.am): Likewise.
29982         * modules/signal (Depends-on, Makefile.am): Likewise.
29983         * modules/spawn (Depends-on, Makefile.am): Likewise.
29984         * modules/stdlib (Depends-on, Makefile.am): Likewise.
29985         * modules/string (Depends-on, Makefile.am): Likewise.
29986         * modules/strings (Depends-on, Makefile.am): Likewise.
29987         * modules/sys_file (Depends-on, Makefile.am): Likewise.
29988         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
29989         * modules/sys_select (Depends-on, Makefile.am): Likewise.
29990         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
29991         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
29992         * modules/sys_times (Depends-on, Makefile.am): Likewise.
29993         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
29994         * modules/wchar (Depends-on, Makefile.am): Likewise.
29995         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
29996         should be poisoned.
29997         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
29998         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
29999         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
30000         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
30001         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
30002         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
30003         * m4/math_h.m4 (gl_MATH_H): Likewise.
30004         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
30005         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
30006         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
30007         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
30008         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
30009         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
30010         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
30011         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
30012         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
30013         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
30014         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
30015         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
30016         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
30017         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
30018         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
30019         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
30020         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
30021         GL_LINK_WARNING.
30022         * lib/ctype.in.h: Likewise.
30023         * lib/dirent.in.h: Likewise.
30024         * lib/fcntl.in.h: Likewise.
30025         * lib/inttypes.in.h: Likewise.
30026         * lib/langinfo.in.h: Likewise.
30027         * lib/locale.in.h: Likewise.
30028         * lib/math.in.h: Likewise.
30029         * lib/search.in.h: Likewise.
30030         * lib/signal.in.h: Likewise.
30031         * lib/spawn.in.h: Likewise.
30032         * lib/stdio.in.h: Likewise.
30033         * lib/stdlib.in.h: Likewise.
30034         * lib/string.in.h: Likewise.
30035         * lib/strings.in.h: Likewise.
30036         * lib/sys_file.in.h: Likewise.
30037         * lib/sys_ioctl.in.h: Likewise.
30038         * lib/sys_select.in.h: Likewise.
30039         * lib/sys_socket.in.h: Likewise.
30040         * lib/sys_stat.in.h: Likewise.
30041         * lib/sys_times.in.h: Likewise.
30042         * lib/sys_utsname.in.h: Likewise.
30043         * lib/unistd.in.h: Likewise.
30044         * lib/wchar.in.h: Likewise.
30045
30046 2010-01-20  Bruno Haible  <bruno@clisp.org>
30047
30048         Avoid duplicate -lm.
30049         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
30050         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
30051         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
30052         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
30053         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
30054         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
30055         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
30056         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
30057         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
30058         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
30059         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
30060         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
30061         Reported by Paolo Bonzini.
30062
30063 2010-01-19  Bruno Haible  <bruno@clisp.org>
30064
30065         langinfo, nl_langinfo: Relicense under LGPLv2+.
30066         * modules/langinfo (License): Change to LGPLv2+.
30067         * modules/nl_langinfo (License): Likewise.
30068         Patch by David Lutterkort <lutter@redhat.com>.
30069
30070 2010-01-19  Bruno Haible  <bruno@clisp.org>
30071
30072         Avoid compilation error with cc on OSF/1 5.1.
30073         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
30074         statement, not before.
30075         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30076
30077 2010-01-18  Bruno Haible  <bruno@clisp.org>
30078
30079         Avoid a link error due to the __printf__ symbol.
30080         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
30081         and 2.6.x.
30082         (__format__, __printf__): Remove definitions.
30083         * lib/argp-fmtstream.h: Likewise.
30084         * lib/argp.h: Likewise.
30085         * lib/error.h: Likewise.
30086         * lib/vasnprintf.h: Likewise.
30087         * lib/xprintf.h: Likewise.
30088         * lib/xvasprintf.h: Likewise.
30089         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30090
30091 2010-01-18  Bruno Haible  <bruno@clisp.org>
30092
30093         Tests for module 'tanl'.
30094         * modules/tanl-tests: New file.
30095         * tests/test-tanl.c: New file.
30096
30097         Tests for module 'sqrtl'.
30098         * modules/sqrtl-tests: New file.
30099         * tests/test-sqrtl.c: New file.
30100
30101         Tests for module 'sinl'.
30102         * modules/sinl-tests: New file.
30103         * tests/test-sinl.c: New file.
30104
30105         Tests for module 'logl'.
30106         * modules/logl-tests: New file.
30107         * tests/test-logl.c: New file.
30108
30109         Tests for module 'expl'.
30110         * modules/expl-tests: New file.
30111         * tests/test-expl.c: New file.
30112
30113         Tests for module 'cosl'.
30114         * modules/cosl-tests: New file.
30115         * tests/test-cosl.c: New file.
30116
30117         Tests for module 'atanl'.
30118         * modules/atanl-tests: New file.
30119         * tests/test-atanl.c: New file.
30120
30121         Tests for module 'asinl'.
30122         * modules/asinl-tests: New file.
30123         * tests/test-asinl.c: New file.
30124
30125         Tests for module 'acosl'.
30126         * modules/acosl-tests: New file.
30127         * tests/test-acosl.c: New file.
30128
30129         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
30130         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
30131         tanl): Use the standard gnulib idiom.
30132         * lib/cosl.c: Don't include trigl.c and sincosl.c.
30133         * lib/sinl.c: Likewise.
30134         * lib/tanl.c: Don't include trigl.c.
30135         (kernel_tanl): Make static.
30136         * lib/sincosl.c: Include trigl.h first.
30137         * lib/trigl.c: Likewise.
30138         * m4/acosl.m4: New file.
30139         * m4/asinl.m4: New file.
30140         * m4/atanl.m4: New file.
30141         * m4/cosl.m4: New file.
30142         * m4/expl.m4: New file.
30143         * m4/logl.m4: New file.
30144         * m4/sinl.m4: New file.
30145         * m4/sqrtl.m4: New file.
30146         * m4/tanl.m4: New file.
30147         * m4/mathl.m4: Remove file.
30148         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
30149         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
30150         Don't initialize GNULIB_MATHL.
30151         * modules/acosl: New file.
30152         * modules/asinl: New file.
30153         * modules/atanl: New file.
30154         * modules/cosl: New file.
30155         * modules/expl: New file.
30156         * modules/logl: New file.
30157         * modules/sinl: New file.
30158         * modules/sqrtl: New file.
30159         * modules/tanl: New file.
30160         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
30161         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
30162         substitute GNULIB_MATHL.
30163         * modules/mathl: Rewritten.
30164         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
30165         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
30166         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
30167         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
30168         * doc/posix-functions/expl.texi: Mention the 'expl' module.
30169         * doc/posix-functions/logl.texi: Mention the 'logl' module.
30170         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
30171         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
30172         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
30173
30174 2010-01-18  Bruno Haible  <bruno@clisp.org>
30175
30176         sqrt: Make gl_FUNC_SQRT requirable.
30177         * m4/sqrt.m4: New file.
30178         * modules/sqrt (Files): Add it.
30179         (configure.ac): Invoke gl_FUNC_SQRT.
30180
30181 2010-01-18  Bruno Haible  <bruno@clisp.org>
30182
30183         New modules for common <math.h> functions.
30184         * m4/mathfunc.m4: New file.
30185         * modules/acos: New file.
30186         * modules/asin: New file.
30187         * modules/atan: New file.
30188         * modules/atan2: New file.
30189         * modules/cbrt: New file.
30190         * modules/copysign: New file.
30191         * modules/cos: New file.
30192         * modules/cosh: New file.
30193         * modules/erf: New file.
30194         * modules/erfc: New file.
30195         * modules/exp: New file.
30196         * modules/fabs: New file.
30197         * modules/fmod: New file.
30198         * modules/hypot: New file.
30199         * modules/j0: New file.
30200         * modules/j1: New file.
30201         * modules/jn: New file.
30202         * modules/ldexp: New file.
30203         * modules/lgamma: New file.
30204         * modules/log: New file.
30205         * modules/log10: New file.
30206         * modules/log1p: New file.
30207         * modules/logb: New file.
30208         * modules/modf: New file.
30209         * modules/nextafter: New file.
30210         * modules/pow: New file.
30211         * modules/remainder: New file.
30212         * modules/rint: New file.
30213         * modules/sin: New file.
30214         * modules/sinh: New file.
30215         * modules/sqrt: New file.
30216         * modules/tan: New file.
30217         * modules/tanh: New file.
30218         * modules/y0: New file.
30219         * modules/y1: New file.
30220         * modules/yn: New file.
30221         * doc/posix-functions/acos.texi: Mention the 'acos' module.
30222         * doc/posix-functions/asin.texi: Mention the 'asin' module.
30223         * doc/posix-functions/atan.texi: Mention the 'atan' module.
30224         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
30225         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
30226         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
30227         * doc/posix-functions/cos.texi: Mention the 'cos' module.
30228         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
30229         * doc/posix-functions/erf.texi: Mention the 'erf' module.
30230         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
30231         * doc/posix-functions/exp.texi: Mention the 'exp' module.
30232         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
30233         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
30234         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
30235         * doc/posix-functions/j0.texi: Mention the 'j0' module.
30236         * doc/posix-functions/j1.texi: Mention the 'j1' module.
30237         * doc/posix-functions/jn.texi: Mention the 'jn' module.
30238         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
30239         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
30240         * doc/posix-functions/log.texi: Mention the 'log' module.
30241         * doc/posix-functions/log10.texi: Mention the 'log10' module.
30242         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
30243         * doc/posix-functions/logb.texi: Mention the 'logb' module.
30244         * doc/posix-functions/modf.texi: Mention the 'modf' module.
30245         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
30246         * doc/posix-functions/pow.texi: Mention the 'pow' module.
30247         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
30248         * doc/posix-functions/rint.texi: Mention the 'rint' module.
30249         * doc/posix-functions/sin.texi: Mention the 'sin' module.
30250         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
30251         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
30252         * doc/posix-functions/tan.texi: Mention the 'tan' module.
30253         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
30254         * doc/posix-functions/y0.texi: Mention the 'y0' module.
30255         * doc/posix-functions/y1.texi: Mention the 'y1' module.
30256         * doc/posix-functions/yn.texi: Mention the 'yn' module.
30257
30258 2010-01-18  Jim Meyering  <meyering@redhat.com>
30259
30260         ignore-value: relax license to LGPLv2+
30261         * modules/ignore-value (License): Relax to LGPLv2+.
30262
30263         getdate: don't leak when TZ contains two or more '"'s
30264         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
30265         double quote in TZ after the first one.
30266
30267         readtokens: do not leak internal token_lengths buffer
30268         * lib/readtokens.c (readtokens): Free the local, lengths,
30269         when the supplied "token_lengths" parameter is NULL.
30270
30271 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30272
30273         Fix a couple of missing LIBTHREAD link failures on AIX.
30274         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
30275         $(LIBTHREAD).
30276         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
30277
30278         Link test-poll against INET_PTON_LIB.
30279         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
30280         for inet_pton on Solaris 10.
30281
30282 2010-01-17  Bruno Haible  <bruno@clisp.org>
30283
30284         unistdio/*-sprintf: Fix typo in module description.
30285         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
30286         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
30287         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
30288         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
30289         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
30290         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
30291         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
30292         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30293
30294 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30295
30296         gnulib-tool: fix filelist for AIX, HP-UX ksh.
30297         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
30298         variables in shell case patterns, for AIX and HP-UX ksh.
30299
30300         Split large sed scripts, for HP-UX sed.
30301         * modules/stdio: Split sed scripts around 50 sed commands,
30302         to avoid HP-UX limit of 99 commands, in the near future.
30303         * modules/string: Likewise.
30304         * modules/unistd: Likewise.
30305
30306         gnulib-tool: avoid writing in the current directory.
30307         * gnulib-tool (func_emit_lib_Makefile_am)
30308         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
30309         not in the current directory, so concurrent gnulib-tool
30310         instances do not interfere.
30311
30312 2010-01-16  Jim Meyering  <meyering@redhat.com>
30313
30314         doc: update users.txt
30315         * users.txt: Add grep.
30316         (diffutils, gzip): Update URLs.
30317
30318 2010-01-12  Bruno Haible  <bruno@clisp.org>
30319
30320         posix_spawn: Avoid test failure on Cygwin.
30321         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
30322         characters.
30323         Reported by Simon Josefsson.
30324
30325 2010-01-12  Bruno Haible  <bruno@clisp.org>
30326
30327         * tests/test-cond.c (main): When skipping the test, show the reason.
30328
30329 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30330
30331         * lib/striconv.c (str_cd_iconv): Avoid if before free.
30332
30333 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30334
30335         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
30336         VC_LIST_ALWAYS_EXCLUDE_REGEX.
30337
30338 2010-01-12  Eric Blake  <ebb9@byu.net>
30339
30340         build: guarantee AS_VAR_IF
30341         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
30342         (gl_AS_VAR_IF): Move...
30343         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
30344         Reported by Simon Josefsson.
30345
30346 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30347
30348         * lib/stdio.in.h: Fix typo.
30349
30350 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30351
30352         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
30353         libgpg-error.
30354
30355 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30356
30357         * tests/test-xalloc-die.sh: Use $EXEEXT.
30358
30359 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30360             Bruno Haible  <bruno@clisp.org>
30361
30362         getlogin, getlogin_r: Avoid test failure.
30363         * tests/test-getlogin.c: Include <stdio.h>.
30364         (main): Skip the test when the function fails because stdin is not a
30365         tty.
30366         * tests/test-getlogin_r.c: Include <stdio.h>.
30367         (main): Skip the test when the function fails because stdin is not a
30368         tty.
30369
30370 2010-01-11  Eric Blake  <ebb9@byu.net>
30371
30372         tests: avoid more large file warnings
30373         * tests/test-fflush.c: Avoid warning about ftell use.
30374         * tests/test-fseek.c: Avoid warning about fseek use.
30375
30376 2010-01-10  Bruno Haible  <bruno@clisp.org>
30377
30378         nproc: Work better on Linux when /proc and /sys are not mounted.
30379         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
30380         as lower bound when, on glibc/Linux systems,
30381         sysconf (_SC_NPROCESSORS_CONF) returns 1.
30382         Suggested by Pádraig Brady <P@draigbrady.com>.
30383         Reported by Dmitry V. Levin <ldv@altlinux.org>.
30384
30385         nproc: Refactor.
30386         * lib/nproc.c (num_processors_via_affinity_mask): New function,
30387         extracted from num_processors.
30388         (num_processors): Call it.
30389
30390 2010-01-11  Jim Meyering  <meyering@redhat.com>
30391
30392         utimecmp: avoid new warning from upcoming gcc-4.5.0
30393         * lib/utimecmp.c (BILLION): Define using #define rather than an
30394         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
30395
30396 2010-01-11  Eric Blake  <ebb9@byu.net>
30397
30398         math: add portability warnings for classification macros
30399         * modules/math (Depends-on): Add warn-on-use.
30400         (Makefile.am): Provide new substitutions.
30401         * m4/math_h.m4 (gl_MATH_H): Require inline.
30402         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
30403         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
30404         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
30405         implement warnings.
30406
30407         unistd: warn on use of environ without module
30408         * modules/unistd (Depends-on): Add warn-on-use.
30409         (Makefile.am): Provide new substitutions.
30410         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
30411         * lib/unistd.in.h (environ): Wrap with a warning helper function.
30412
30413         stdio: warn on suspicious uses
30414         * modules/stdio (Depends-on): Add warn-on-use.
30415         (Makefile.am): Provide new substitutions.
30416         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
30417         fseeko.
30418         * lib/stdio.in.h (gets): Always warn on use.
30419         (fseek, ftell): Adjust when warnings are issued, and honor
30420         _GL_NO_LARGE_FILES as a way to silence the warning.
30421         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
30422         any warning about large file offsets.
30423         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
30424         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
30425         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
30426         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
30427         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
30428         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
30429         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
30430         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
30431
30432         warn-on-use: new module
30433         * modules/warn-on-use: New file.
30434         * build-aux/warn-on-use.h: Likewise.
30435         * m4/warn-on-use.m4: Likewise.
30436         * MODULES.html.sh (Support for building): Mention it.
30437
30438 2010-01-10  Bruno Haible  <bruno@clisp.org>
30439
30440         Tests for module 'unistr/u32-strdup'.
30441         * modules/unistr/u32-strdup-tests: New file.
30442         * tests/unistr/test-u32-strdup.c: New file.
30443
30444         Tests for module 'unistr/u16-strdup'.
30445         * modules/unistr/u16-strdup-tests: New file.
30446         * tests/unistr/test-u16-strdup.c: New file.
30447
30448         Tests for module 'unistr/u8-strdup'.
30449         * modules/unistr/u8-strdup-tests: New file.
30450         * tests/unistr/test-u8-strdup.c: New file.
30451         * tests/unistr/test-strdup.h: New file.
30452
30453         Tests for module 'unistr/u32-strncmp'.
30454         * modules/unistr/u32-strncmp-tests: New file.
30455         * tests/unistr/test-u32-strncmp.c: New file.
30456
30457         Tests for module 'unistr/u16-strncmp'.
30458         * modules/unistr/u16-strncmp-tests: New file.
30459         * tests/unistr/test-u16-strncmp.c: New file.
30460
30461         Tests for module 'unistr/u8-strncmp'.
30462         * modules/unistr/u8-strncmp-tests: New file.
30463         * tests/unistr/test-u8-strncmp.c: New file.
30464         * tests/unistr/test-strncmp.h: New file.
30465
30466         Tests for module 'unistr/u32-strcoll'.
30467         * modules/unistr/u32-strcoll-tests: New file.
30468         * tests/unistr/test-u32-strcoll.c: New file.
30469
30470         Tests for module 'unistr/u16-strcoll'.
30471         * modules/unistr/u16-strcoll-tests: New file.
30472         * tests/unistr/test-u16-strcoll.c: New file.
30473
30474         Tests for module 'unistr/u8-strcoll'.
30475         * modules/unistr/u8-strcoll-tests: New file.
30476         * tests/unistr/test-u8-strcoll.c: New file.
30477
30478         Tests for module 'unistr/u32-strcmp'.
30479         * modules/unistr/u32-strcmp-tests: New file.
30480         * tests/unistr/test-u32-strcmp.c: New file.
30481         * tests/unistr/test-u32-strcmp.h: New file.
30482
30483         Tests for module 'unistr/u16-strcmp'.
30484         * modules/unistr/u16-strcmp-tests: New file.
30485         * tests/unistr/test-u16-strcmp.c: New file.
30486         * tests/unistr/test-u16-strcmp.h: New file.
30487
30488         Tests for module 'unistr/u8-strcmp'.
30489         * modules/unistr/u8-strcmp-tests: New file.
30490         * tests/unistr/test-u8-strcmp.c: New file.
30491         * tests/unistr/test-u8-strcmp.h: New file.
30492         * tests/unistr/test-strcmp.h: New file.
30493
30494         Tests for module 'unistr/u32-strncat'.
30495         * modules/unistr/u32-strncat-tests: New file.
30496         * tests/unistr/test-u32-strncat.c: New file.
30497
30498         Tests for module 'unistr/u16-strncat'.
30499         * modules/unistr/u16-strncat-tests: New file.
30500         * tests/unistr/test-u16-strncat.c: New file.
30501
30502         Tests for module 'unistr/u8-strncat'.
30503         * modules/unistr/u8-strncat-tests: New file.
30504         * tests/unistr/test-u8-strncat.c: New file.
30505         * tests/unistr/test-strncat.h: New file.
30506
30507         Tests for module 'unistr/u32-strcat'.
30508         * modules/unistr/u32-strcat-tests: New file.
30509         * tests/unistr/test-u32-strcat.c: New file.
30510
30511         Tests for module 'unistr/u16-strcat'.
30512         * modules/unistr/u16-strcat-tests: New file.
30513         * tests/unistr/test-u16-strcat.c: New file.
30514
30515         Tests for module 'unistr/u8-strcat'.
30516         * modules/unistr/u8-strcat-tests: New file.
30517         * tests/unistr/test-u8-strcat.c: New file.
30518         * tests/unistr/test-strcat.h: New file.
30519
30520         Tests for module 'unistr/u32-stpncpy'.
30521         * modules/unistr/u32-stpncpy-tests: New file.
30522         * tests/unistr/test-u32-stpncpy.c: New file.
30523
30524         Tests for module 'unistr/u16-stpncpy'.
30525         * modules/unistr/u16-stpncpy-tests: New file.
30526         * tests/unistr/test-u16-stpncpy.c: New file.
30527
30528         Tests for module 'unistr/u8-stpncpy'.
30529         * modules/unistr/u8-stpncpy-tests: New file.
30530         * tests/unistr/test-u8-stpncpy.c: New file.
30531         * tests/unistr/test-stpncpy.h: New file.
30532
30533         Tests for module 'unistr/u32-strncpy'.
30534         * modules/unistr/u32-strncpy-tests: New file.
30535         * tests/unistr/test-u32-strncpy.c: New file.
30536
30537         Tests for module 'unistr/u16-strncpy'.
30538         * modules/unistr/u16-strncpy-tests: New file.
30539         * tests/unistr/test-u16-strncpy.c: New file.
30540
30541         Tests for module 'unistr/u8-strncpy'.
30542         * modules/unistr/u8-strncpy-tests: New file.
30543         * tests/unistr/test-u8-strncpy.c: New file.
30544         * tests/unistr/test-strncpy.h: New file.
30545
30546         Tests for module 'unistr/u32-stpcpy'.
30547         * modules/unistr/u32-stpcpy-tests: New file.
30548         * tests/unistr/test-u32-stpcpy.c: New file.
30549
30550         Tests for module 'unistr/u16-stpcpy'.
30551         * modules/unistr/u16-stpcpy-tests: New file.
30552         * tests/unistr/test-u16-stpcpy.c: New file.
30553
30554         Tests for module 'unistr/u8-stpcpy'.
30555         * modules/unistr/u8-stpcpy-tests: New file.
30556         * tests/unistr/test-u8-stpcpy.c: New file.
30557         * tests/unistr/test-stpcpy.h: New file.
30558
30559         Tests for module 'unistr/u32-strcpy'.
30560         * modules/unistr/u32-strcpy-tests: New file.
30561         * tests/unistr/test-u32-strcpy.c: New file.
30562
30563         Tests for module 'unistr/u16-strcpy'.
30564         * modules/unistr/u16-strcpy-tests: New file.
30565         * tests/unistr/test-u16-strcpy.c: New file.
30566
30567         Tests for module 'unistr/u8-strcpy'.
30568         * modules/unistr/u8-strcpy-tests: New file.
30569         * tests/unistr/test-u8-strcpy.c: New file.
30570         * tests/unistr/test-strcpy.h: New file.
30571
30572         Tests for module 'unistr/u32-strnlen'.
30573         * modules/unistr/u32-strnlen-tests: New file.
30574         * tests/unistr/test-u32-strnlen.c: New file.
30575
30576         Tests for module 'unistr/u16-strnlen'.
30577         * modules/unistr/u16-strnlen-tests: New file.
30578         * tests/unistr/test-u16-strnlen.c: New file.
30579
30580         Tests for module 'unistr/u8-strnlen'.
30581         * modules/unistr/u8-strnlen-tests: New file.
30582         * tests/unistr/test-u8-strnlen.c: New file.
30583         * tests/unistr/test-strnlen.h: New file.
30584
30585         Tests for module 'unistr/u32-strlen'.
30586         * modules/unistr/u32-strlen-tests: New file.
30587         * tests/unistr/test-u32-strlen.c: New file.
30588
30589         Tests for module 'unistr/u16-strlen'.
30590         * modules/unistr/u16-strlen-tests: New file.
30591         * tests/unistr/test-u16-strlen.c: New file.
30592
30593         Tests for module 'unistr/u8-strlen'.
30594         * modules/unistr/u8-strlen-tests: New file.
30595         * tests/unistr/test-u8-strlen.c: New file.
30596
30597         Tests for module 'unistr/u32-prev'.
30598         * modules/unistr/u32-prev-tests: New file.
30599         * tests/unistr/test-u32-prev.c: New file.
30600
30601         Tests for module 'unistr/u16-prev'.
30602         * modules/unistr/u16-prev-tests: New file.
30603         * tests/unistr/test-u16-prev.c: New file.
30604
30605         Tests for module 'unistr/u8-prev'.
30606         * modules/unistr/u8-prev-tests: New file.
30607         * tests/unistr/test-u8-prev.c: New file.
30608
30609         Tests for module 'unistr/u32-next'.
30610         * modules/unistr/u32-next-tests: New file.
30611         * tests/unistr/test-u32-next.c: New file.
30612
30613         Tests for module 'unistr/u16-next'.
30614         * modules/unistr/u16-next-tests: New file.
30615         * tests/unistr/test-u16-next.c: New file.
30616
30617         Tests for module 'unistr/u8-next'.
30618         * modules/unistr/u8-next-tests: New file.
30619         * tests/unistr/test-u8-next.c: New file.
30620
30621         Tests for module 'unistr/u32-strmbtouc'.
30622         * modules/unistr/u32-strmbtouc-tests: New file.
30623         * tests/unistr/test-u32-strmbtouc.c: New file.
30624
30625         Tests for module 'unistr/u16-strmbtouc'.
30626         * modules/unistr/u16-strmbtouc-tests: New file.
30627         * tests/unistr/test-u16-strmbtouc.c: New file.
30628
30629         Tests for module 'unistr/u8-strmbtouc'.
30630         * modules/unistr/u8-strmbtouc-tests: New file.
30631         * tests/unistr/test-u8-strmbtouc.c: New file.
30632
30633         Tests for module 'unistr/u32-strmblen'.
30634         * modules/unistr/u32-strmblen-tests: New file.
30635         * tests/unistr/test-u32-strmblen.c: New file.
30636
30637         Tests for module 'unistr/u16-strmblen'.
30638         * modules/unistr/u16-strmblen-tests: New file.
30639         * tests/unistr/test-u16-strmblen.c: New file.
30640
30641         Tests for module 'unistr/u8-strmblen'.
30642         * modules/unistr/u8-strmblen-tests: New file.
30643         * tests/unistr/test-u8-strmblen.c: New file.
30644
30645         Tests for module 'unistr/u32-cpy-alloc'.
30646         * modules/unistr/u32-cpy-alloc-tests: New file.
30647         * tests/unistr/test-u32-cpy-alloc.c: New file.
30648
30649         Tests for module 'unistr/u16-cpy-alloc'.
30650         * modules/unistr/u16-cpy-alloc-tests: New file.
30651         * tests/unistr/test-u16-cpy-alloc.c: New file.
30652
30653         Tests for module 'unistr/u8-cpy-alloc'.
30654         * modules/unistr/u8-cpy-alloc-tests: New file.
30655         * tests/unistr/test-u8-cpy-alloc.c: New file.
30656         * tests/unistr/test-cpy-alloc.h: New file.
30657
30658         Tests for module 'unistr/u32-mbsnlen'.
30659         * modules/unistr/u32-mbsnlen-tests: New file.
30660         * tests/unistr/test-u32-mbsnlen.c: New file.
30661
30662         Tests for module 'unistr/u16-mbsnlen'.
30663         * modules/unistr/u16-mbsnlen-tests: New file.
30664         * tests/unistr/test-u16-mbsnlen.c: New file.
30665
30666         Tests for module 'unistr/u8-mbsnlen'.
30667         * modules/unistr/u8-mbsnlen-tests: New file.
30668         * tests/unistr/test-u8-mbsnlen.c: New file.
30669
30670         Tests for module 'unistr/u32-chr'.
30671         * modules/unistr/u32-chr-tests: New file.
30672         * tests/unistr/test-u32-chr.c: New file.
30673
30674         Tests for module 'unistr/u16-chr'.
30675         * modules/unistr/u16-chr-tests: New file.
30676         * tests/unistr/test-u16-chr.c: New file.
30677
30678         Tests for module 'unistr/u8-chr'.
30679         * modules/unistr/u8-chr-tests: New file.
30680         * tests/unistr/test-u8-chr.c: New file.
30681         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
30682
30683         Tests for module 'unistr/u32-cmp2'.
30684         * modules/unistr/u32-cmp2-tests: New file.
30685         * tests/unistr/test-u32-cmp2.c: New file.
30686
30687         Tests for module 'unistr/u16-cmp2'.
30688         * modules/unistr/u16-cmp2-tests: New file.
30689         * tests/unistr/test-u16-cmp2.c: New file.
30690
30691         Tests for module 'unistr/u8-cmp2'.
30692         * modules/unistr/u8-cmp2-tests: New file.
30693         * tests/unistr/test-u8-cmp2.c: New file.
30694         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
30695
30696         Tests for module 'unistr/u32-cmp'.
30697         * modules/unistr/u32-cmp-tests: New file.
30698         * tests/unistr/test-u32-cmp.c: New file.
30699
30700         Tests for module 'unistr/u16-cmp'.
30701         * modules/unistr/u16-cmp-tests: New file.
30702         * tests/unistr/test-u16-cmp.c: New file.
30703
30704         Tests for module 'unistr/u8-cmp'.
30705         * modules/unistr/u8-cmp-tests: New file.
30706         * tests/unistr/test-u8-cmp.c: New file.
30707         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
30708
30709         Tests for module 'unistr/u32-set'.
30710         * modules/unistr/u32-set-tests: New file.
30711         * tests/unistr/test-u32-set.c: New file.
30712
30713         Tests for module 'unistr/u16-set'.
30714         * modules/unistr/u16-set-tests: New file.
30715         * tests/unistr/test-u16-set.c: New file.
30716
30717         Tests for module 'unistr/u8-set'.
30718         * modules/unistr/u8-set-tests: New file.
30719         * tests/unistr/test-u8-set.c: New file.
30720         * tests/unistr/test-set.h: New file.
30721
30722         Tests for module 'unistr/u32-move'.
30723         * modules/unistr/u32-move-tests: New file.
30724         * tests/unistr/test-u32-move.c: New file.
30725
30726         Tests for module 'unistr/u16-move'.
30727         * modules/unistr/u16-move-tests: New file.
30728         * tests/unistr/test-u16-move.c: New file.
30729
30730         Tests for module 'unistr/u8-move'.
30731         * modules/unistr/u8-move-tests: New file.
30732         * tests/unistr/test-u8-move.c: New file.
30733         * tests/unistr/test-move.h: New file.
30734
30735         Tests for module 'unistr/u32-cpy'.
30736         * modules/unistr/u32-cpy-tests: New file.
30737         * tests/unistr/test-u32-cpy.c: New file.
30738
30739         Tests for module 'unistr/u16-cpy'.
30740         * modules/unistr/u16-cpy-tests: New file.
30741         * tests/unistr/test-u16-cpy.c: New file.
30742
30743         Tests for module 'unistr/u8-cpy'.
30744         * modules/unistr/u8-cpy-tests: New file.
30745         * tests/unistr/test-u8-cpy.c: New file.
30746         * tests/unistr/test-cpy.h: New file.
30747
30748 2010-01-09  Bruno Haible  <bruno@clisp.org>
30749
30750         Tests for module 'unistr/u32-uctomb'.
30751         * modules/unistr/u32-uctomb-tests: New file.
30752         * tests/unistr/test-u32-uctomb.c: New file.
30753
30754         Tests for module 'unistr/u16-uctomb'.
30755         * modules/unistr/u16-uctomb-tests: New file.
30756         * tests/unistr/test-u16-uctomb.c: New file.
30757
30758         Tests for module 'unistr/u8-uctomb'.
30759         * modules/unistr/u8-uctomb-tests: New file.
30760         * tests/unistr/test-u8-uctomb.c: New file.
30761
30762         Tests for module 'unistr/u32-mbtoucr'.
30763         * modules/unistr/u32-mbtoucr-tests: New file.
30764         * tests/unistr/test-u32-mbtoucr.c: New file.
30765
30766         Tests for module 'unistr/u16-mbtoucr'.
30767         * modules/unistr/u16-mbtoucr-tests: New file.
30768         * tests/unistr/test-u16-mbtoucr.c: New file.
30769
30770         Tests for module 'unistr/u8-mbtoucr'.
30771         * modules/unistr/u8-mbtoucr-tests: New file.
30772         * tests/unistr/test-u8-mbtoucr.c: New file.
30773
30774         Tests for module 'unistr/u32-mbtouc'.
30775         * modules/unistr/u32-mbtouc-tests: New file.
30776         * tests/unistr/test-u32-mbtouc.c: New file.
30777
30778         Tests for module 'unistr/u16-mbtouc'.
30779         * modules/unistr/u16-mbtouc-tests: New file.
30780         * tests/unistr/test-u16-mbtouc.c: New file.
30781
30782         Tests for module 'unistr/u8-mbtouc'.
30783         * modules/unistr/u8-mbtouc-tests: New file.
30784         * tests/unistr/test-u8-mbtouc.c: New file.
30785
30786         Tests for module 'unistr/u32-mbtouc-unsafe'.
30787         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
30788         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
30789         * tests/unistr/test-u32-mbtouc.h: New file.
30790
30791         Tests for module 'unistr/u16-mbtouc-unsafe'.
30792         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
30793         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
30794         * tests/unistr/test-u16-mbtouc.h: New file.
30795
30796         Tests for module 'unistr/u8-mbtouc-unsafe'.
30797         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
30798         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
30799         * tests/unistr/test-u8-mbtouc.h: New file.
30800
30801         Tests for module 'unistr/u32-mblen'.
30802         * modules/unistr/u32-mblen-tests: New file.
30803         * tests/unistr/test-u32-mblen.c: New file.
30804
30805         Tests for module 'unistr/u16-mblen'.
30806         * modules/unistr/u16-mblen-tests: New file.
30807         * tests/unistr/test-u16-mblen.c: New file.
30808
30809         Tests for module 'unistr/u8-mblen'.
30810         * modules/unistr/u8-mblen-tests: New file.
30811         * tests/unistr/test-u8-mblen.c: New file.
30812
30813         Tests for module 'unistr/u32-to-u16'.
30814         * modules/unistr/u32-to-u16-tests: New file.
30815         * tests/unistr/test-u32-to-u16.c: New file.
30816
30817         Tests for module 'unistr/u32-to-u8'.
30818         * modules/unistr/u32-to-u8-tests: New file.
30819         * tests/unistr/test-u32-to-u8.c: New file.
30820
30821         Tests for module 'unistr/u16-to-u32'.
30822         * modules/unistr/u16-to-u32-tests: New file.
30823         * tests/unistr/test-u16-to-u32.c: New file.
30824
30825         Tests for module 'unistr/u16-to-u8'.
30826         * modules/unistr/u16-to-u8-tests: New file.
30827         * tests/unistr/test-u16-to-u8.c: New file.
30828
30829         Tests for module 'unistr/u8-to-u32'.
30830         * modules/unistr/u8-to-u32-tests: New file.
30831         * tests/unistr/test-u8-to-u32.c: New file.
30832
30833         Tests for module 'unistr/u8-to-u16'.
30834         * modules/unistr/u8-to-u16-tests: New file.
30835         * tests/unistr/test-u8-to-u16.c: New file.
30836
30837         Tests for module 'unistr/u32-check'.
30838         * modules/unistr/u32-check-tests: New file.
30839         * tests/unistr/test-u32-check.c: New file.
30840
30841         Tests for module 'unistr/u16-check'.
30842         * modules/unistr/u16-check-tests: New file.
30843         * tests/unistr/test-u16-check.c: New file.
30844
30845         Tests for module 'unistr/u8-check'.
30846         * modules/unistr/u8-check-tests: New file.
30847         * tests/unistr/test-u8-check.c: New file.
30848
30849         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
30850         (category_equals): New function.
30851         (main): Add more tests.
30852         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
30853
30854         * tests/unictype/test-bidi_byname.c (main): Add more tests.
30855
30856 2010-01-10  Bruno Haible  <bruno@clisp.org>
30857
30858         unistr/u*-strcoll: Try harder to distinguish different strings.
30859         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
30860         compare s1 and s2 to see if they are different.
30861
30862 2010-01-10  Bruno Haible  <bruno@clisp.org>
30863
30864         unistr/u*-stpncpy: Fix the return value.
30865         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
30866         description of the return value consistent with stpncpy in glibc.
30867         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
30868         written non-NUL unit.
30869
30870 2010-01-10  Bruno Haible  <bruno@clisp.org>
30871
30872         unistr/u*-next: Add missing dependencies.
30873         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
30874         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
30875         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
30876
30877 2010-01-10  Bruno Haible  <bruno@clisp.org>
30878
30879         unistr/u8-mbsnlen: Fix return value for incomplete character.
30880         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
30881         u8_mblen.
30882         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
30883         Remove unistr/u8-mblen.
30884         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
30885         u16_mblen.
30886         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
30887         Remove unistr/u16-mblen.
30888
30889 2010-01-10  Bruno Haible  <bruno@clisp.org>
30890
30891         wchar: Fix compilation error when <wchar.h> is used from coreutils.
30892         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
30893         Reported by Brian Gough <bjg@gnu.org> and
30894         Chris Clayton <chris2553@googlemail.com> via
30895         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
30896
30897 2010-01-09  Bruno Haible  <bruno@clisp.org>
30898
30899         unistr/u16-to-u32: Reject invalid input.
30900         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
30901         u16_mbtouc.
30902         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
30903         Remove unistr/u16-mbtouc.
30904
30905         unistr/u16-to-u8: Reject invalid input.
30906         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
30907         u16_mbtouc.
30908         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
30909         Remove unistr/u16-mbtouc.
30910
30911         unistr/u8-to-u32: Reject invalid input.
30912         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
30913         u8_mbtouc.
30914         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
30915         Remove unistr/u8-mbtouc.
30916
30917         unistr/u8-to-u16: Reject invalid input.
30918         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
30919         u8_mbtouc.
30920         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
30921         Remove unistr/u8-mbtouc.
30922
30923 2010-01-09  Bruno Haible  <bruno@clisp.org>
30924
30925         Tests for module 'getlogin'.
30926         * modules/getlogin-tests: New file.
30927         * tests/test-getlogin.c: New file.
30928
30929         New module 'getlogin'.
30930         * lib/unistd.in.h (getlogin): New declaration.
30931         * lib/getlogin.c: New file.
30932         * m4/getlogin.m4: New file.
30933         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
30934         HAVE_GETLOGIN.
30935         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
30936         HAVE_GETLOGIN.
30937         * modules/getlogin: New file.
30938         * doc/posix-functions/getlogin.texi: Mention the new module.
30939         Reported by John W. Eaton <jwe@gnu.org>.
30940
30941 2010-01-09  Bruno Haible  <bruno@clisp.org>
30942
30943         getlogin_r: Support for native Windows.
30944         * lib/getlogin_r.c: Include <windows.h>
30945         (getlogin_r): Implement for native Windows.
30946         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
30947         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
30948         via John W. Eaton <jwe@gnu.org>.
30949
30950 2010-01-09  Bruno Haible  <bruno@clisp.org>
30951
30952         getlogin_r: Small fixes.
30953         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
30954         succeeds.
30955         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
30956         before testing whether getlogin_r is declared. No need to set
30957         HAVE_DECL_GETLOGIN_R to 1.
30958         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
30959
30960 2010-01-09  Bruno Haible  <bruno@clisp.org>
30961
30962         * lib/unistd.in.h (getlogin_r): Add comment.
30963
30964 2010-01-09  Bruno Haible  <bruno@clisp.org>
30965
30966         Tests for module 'getlogin_r'.
30967         * modules/getlogin_r-tests: New file.
30968         * tests/test-getlogin_r.c: New file.
30969
30970 2010-01-09  Jim Meyering  <meyering@redhat.com>
30971
30972         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
30973         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
30974         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
30975
30976 2010-01-08  Simon Josefsson  <simon@josefsson.org>
30977
30978         * lib/dup2.c (rpl_dup2): Improve comment.
30979
30980 2010-01-08  Eric Blake  <ebb9@byu.net>
30981
30982         maint.mk: allow packages to add makefile @@ exceptions
30983         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
30984         (sc_makefile_check): Rename...
30985         (sc_makefile_at_at_check): ...to this, and use hook.
30986
30987         dup2: work around mingw bug
30988         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
30989         Reported by Simon Josefsson.
30990
30991 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
30992
30993         glob: Fix C++ compilation.
30994         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
30995         C++.
30996
30997 2010-01-07  Bruno Haible  <bruno@clisp.org>
30998
30999         Fix indentation of wctype.in.h, broken since 2007-01-06.
31000         * lib/wctype.in.h: Fix indentation of preprocessor directives.
31001
31002 2010-01-07  Bruno Haible  <bruno@clisp.org>
31003
31004         mbslen: Avoid collision with system function.
31005         * lib/string.in.h [MirBSD]: Include <wchar.h>.
31006         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
31007         * m4/mbslen.m4: New file.
31008         * modules/mbslen (Files): Add it.
31009         (configure.ac): Invoke gl_MBSLEN.
31010         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
31011         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
31012         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
31013         via Ian Beckwith <ianb@erislabs.net>.
31014
31015 2010-01-07  Bruno Haible  <bruno@clisp.org>
31016
31017         dirent: Document the last fix.
31018         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
31019
31020 2010-01-07  Bruno Haible  <bruno@clisp.org>
31021
31022         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
31023         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
31024         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
31025         va_list are defined.
31026         * doc/posix-headers/stdio.texi: Document the bug of missing types.
31027         Reported by Eric Blake.
31028
31029 2010-01-07  Bruno Haible  <bruno@clisp.org>
31030
31031         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
31032         * modules/xlist (Depends-on): Add 'list',
31033         * modules/xoset (Depends-on): Add 'oset'.
31034         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31035
31036 2010-01-07  Bruno Haible  <bruno@clisp.org>
31037
31038         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
31039         * doc/posix-functions/strncasecmp.texi: Likewise.
31040
31041 2010-01-07  Bruno Haible  <bruno@clisp.org>
31042
31043         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
31044
31045 2010-01-07  John W. Eaton  <jwe@octave.org>
31046
31047         wctype: allow C++ use
31048         * lib/wctype.in.h: Add extern "C" block for C++.
31049
31050 2010-01-06  Eric Blake  <ebb9@byu.net>
31051
31052         maint.mk: detect incorrect GFDL usage
31053         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
31054
31055 2010-01-06  Jim Meyering  <meyering@redhat.com>
31056         and Eric Blake  <ebb9@byu.net>
31057
31058         maint.mk: ignore multi-line copyright in NEWS
31059         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
31060
31061 2010-01-06  Eric Blake  <ebb9@byu.net>
31062
31063         select: add missing dependency
31064         * modules/select-tests (Depends-on): Move sockets dependency...
31065         * modules/select (Depends-on): ...here.
31066         Reported by Ian Beckwith.
31067
31068         doc: regenerate INSTALL
31069         * doc/INSTALL: Reflect recent autoconf update.
31070         * doc/INSTALL.ISO: Likewise.
31071         * doc/INSTALL.UTF-8: Likewise.
31072
31073         pread: fix compilation on glibc
31074         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
31075         Reported by Ralf Wildenhues.
31076
31077         dirent: fix test failure
31078         * lib/dirent.in.h (includes): Guarantee ino_t.
31079         Reported by Ralf Wildenhues.
31080
31081 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
31082
31083         linkat, renameat: avoid bad free
31084         * lib/at-func2.c (at_func2): Fix typo.
31085         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
31086
31087 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31088
31089         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
31090         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
31091         to avoid failure of symlink test later.
31092
31093 2010-01-06  Eric Blake  <ebb9@byu.net>
31094
31095         stdio, unistd: guarantee ssize_t
31096         * lib/unistd.in.h (includes): Ensure that types required by POSIX
31097         2008 are exposed when needed.
31098         * lib/stdio.in.h (includes): Likewise.
31099         Reported by Ralf Wildenhues.
31100
31101 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
31102
31103         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
31104         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
31105         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
31106
31107 2010-01-06  Jim Meyering  <meyering@redhat.com>
31108
31109         readtokens: this module *does* require xalloc.h
31110         It uses only functions that were omitted by the old syntax-check rule.
31111         * lib/readtokens.c: Include "xalloc.h" once again.
31112         * modules/readtokens (Depends-on): Add xalloc.
31113         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
31114
31115 2010-01-05  Eric Blake  <ebb9@byu.net>
31116
31117         maint: support 'make announcement' from a VPATH build
31118         * top/maint.mk (announcement): Look for correct NEWS file.
31119
31120 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
31121
31122         utimens (fdutimens): ignore a negative FD, per contract
31123         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
31124         when we have a valid file descriptor.  Otherwise, using a brand
31125         new glibc (with just-patched futimens that now fails with EBADF)
31126         would cause this function to fail with ENOSYS.
31127         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
31128         See also http://bugzilla.redhat.com/552320.
31129
31130 2010-01-05  Eric Blake  <ebb9@byu.net>
31131
31132         strcase: document what it provides
31133         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
31134         gnulib module.
31135         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
31136         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
31137
31138 2010-01-05  Jim Meyering  <meyering@redhat.com>
31139
31140         maint: remove useless inclusions of "xalloc.h"
31141         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
31142         * lib/readtokens.c: Likewise.
31143         * lib/same.c: Likewise.
31144         * modules/getloadavg (Depends-on): Remove xalloc.
31145         * modules/readtokens: Likewise.
31146         * modules/same: Likewise.
31147
31148         maint.mk: include 4 more function names in alloca.h-checking regexp
31149         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
31150         regexp.  Before, we would give a false-positive (saying alloca.h
31151         is included unnecessarily) when the only uses involved omitted symbols.
31152
31153         xalloc.h: use consistent formatting
31154         * lib/xalloc.h: Move declarations to start in the first column.
31155
31156 2010-01-05  Eric Blake  <ebb9@byu.net>
31157
31158         mkdir: avoid xalloc
31159         * lib/mkdir.c (includes): Drop unused header.
31160         Reported by John W. Eaton.
31161
31162 2010-01-04  Jim Meyering  <meyering@redhat.com>
31163
31164         nl_langinfo: avoid configure-time syntax error
31165         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
31166         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
31167         the empty string.  Don't let that provoke a shell syntax error.
31168
31169         regcomp, regexec, fnmatch: avoid array bounds read error
31170         * lib/regcomp.c (build_equiv_class): From glibc:
31171         Use only the low 24 bits of a findidx return value as an index
31172         into the weights array.  Patch by Ulrich Drepper:
31173         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
31174         * lib/regexec.c (check_node_accept_bytes): Likewise.
31175         * lib/fnmatch_loop.c (FCT): Likewise.
31176
31177         regcomp: skip collseq lookup when there are no rules
31178         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
31179         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
31180
31181         regcomp: recognize ill-formed { } expressions
31182         * lib/regcomp.c (parse_dup_op): From glibc:
31183         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
31184
31185         regcomp: fix typo in comment
31186         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
31187         s/satisfy/satisfies/.
31188
31189         regcomp: sync from glibc: remove dead store
31190         * lib/regcomp.c (duplicate_node_closure): Remove useless
31191         search_duplicated_node call and dead store.
31192
31193         regcomp: sync from glibc; always use nl_langinfo
31194         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
31195         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
31196         * modules/regex (Depends-on): Add nl_langinfo.
31197
31198 2010-01-04  Eric Blake  <ebb9@byu.net>
31199
31200         fdopendir: fix configure test
31201         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
31202
31203 2010-01-01  Bruno Haible  <bruno@clisp.org>
31204
31205         wchar: Remove unused configure check.
31206         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
31207
31208 2010-01-01  Eric Blake  <ebb9@byu.net>
31209
31210         headers: make check of system header explicit
31211         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
31212         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
31213         ourselves.
31214         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
31215         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31216         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
31217         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
31218         internals.
31219         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
31220         missing.
31221         Suggested by Bruno Haible.
31222
31223 2010-01-01  Jim Meyering  <meyering@redhat.com>
31224
31225         ChangeLog: tweak to eliminate unnecessary copyright line
31226         * ChangeLog: Remove a copyright line that was mistakenly updated
31227         by today's update-copyright run.  Reported by Eric Blake.
31228
31229         test-update-copyright: don't let envvar setting cause test failure
31230         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
31231
31232 2010-01-01  Bruno Haible  <bruno@clisp.org>
31233
31234         localename: Avoid gcc warning.
31235         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
31236         function if it is not used.
31237
31238 2010-01-01  Jim Meyering  <meyering@redhat.com>
31239
31240         update nearly all FSF copyright year lists to include 2010
31241         Use the same procedure as for 2009, outlined in
31242         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
31243
31244         version-etc: set COPYRIGHT_YEAR to 2010
31245         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
31246
31247 2009-12-31  Eric Blake  <ebb9@byu.net>
31248
31249         doc: correct availability of cygwin 1.5.x getopt
31250         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
31251         variables.
31252         * doc/posix-functions/opterr.texi (opterr): Likewise.
31253         * doc/posix-functions/optind.texi (optind): Likewise.
31254         * doc/posix-functions/optopt.texi (optopt): Likewise.
31255         * doc/posix-functions/tzname.texi (tzname): Likewise.
31256
31257         openat: update maintainer
31258         * modules/openat (Maintainer): Add myself.
31259
31260         utimens: avoid shadowing warning
31261         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
31262         buffers into one, to avoid shadowing, as well as avoiding a
31263         redundant stat.
31264         Reported by Jim Meyering.
31265
31266         test-dup2: avoid compiler warning
31267         * tests/test-dup2.c (is_inheritable): Only define if used.
31268
31269 2010-01-01  Bruno Haible  <bruno@clisp.org>
31270
31271         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
31272         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
31273         defined, use wctomb instead of wcrtomb.
31274
31275 2010-01-01  Bruno Haible  <bruno@clisp.org>
31276
31277         iconv: Reject native Solaris iconv.
31278         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
31279         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
31280
31281 2009-12-31  Bruno Haible  <bruno@clisp.org>
31282
31283         * tests/test-signal.c (main): Remove test of 'SIG'.
31284
31285 2009-12-31  Bruno Haible  <bruno@clisp.org>
31286
31287         spawn: Fix incomplete fix.
31288         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
31289         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
31290         warnings for GNULIB_POSIXCHECK again.
31291         Reported by Eric Blake.
31292
31293 2009-12-31  Bruno Haible  <bruno@clisp.org>
31294
31295         Avoid namespace pollution on glibc systems.
31296         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
31297         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
31298         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
31299         glibc systems.
31300
31301 2009-12-31  Bruno Haible  <bruno@clisp.org>
31302
31303         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
31304         (gl_REPLACE_WCHAR_H): Turn into a no-op.
31305         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
31306         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
31307         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
31308         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
31309         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
31310
31311 2009-12-31  Bruno Haible  <bruno@clisp.org>
31312
31313         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
31314         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
31315         afterwards.
31316
31317 2009-12-31  Bruno Haible  <bruno@clisp.org>
31318
31319         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
31320         SYS_UTSNAME_H.
31321
31322 2009-12-31  Bruno Haible  <bruno@clisp.org>
31323
31324         spawn: Fix misapplied patch.
31325         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
31326         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
31327         warnings for GNULIB_POSIXCHECK.
31328
31329 2009-12-31  Bruno Haible  <bruno@clisp.org>
31330
31331         times: Update after sys_times changed.
31332         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
31333         * modules/times (Files): Add it.
31334         (configure.ac): Invoke gl_FUNC_TIMES.
31335
31336 2009-12-31  Bruno Haible  <bruno@clisp.org>
31337
31338         Use AC_C_INLINE where necessary.
31339         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
31340         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
31341         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
31342         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
31343         * m4/mbfile.m4 (gl_MBFILE): Likewise.
31344         * m4/mbiter.m4 (gl_MBITER): Likewise.
31345         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
31346         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
31347         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
31348         * modules/u64 (configure.ac): Likewise.
31349
31350 2009-12-31  Bruno Haible  <bruno@clisp.org>
31351
31352         Use AC_C_INLINE instead of module 'inline' where possible.
31353         * modules/inline (Description): Clarify purpose.
31354         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
31355         * modules/count-one-bits (Depends-on): Remove inline.
31356         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
31357         * modules/openat (Depends-on): Remove inline.
31358         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
31359         instead of depending on module 'inline'.
31360         * modules/filevercmp (Depends-on, configure.ac): Likewise.
31361         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
31362         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
31363         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
31364         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
31365         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
31366         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
31367         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
31368         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
31369         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
31370         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
31371         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
31372         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
31373         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
31374         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
31375         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
31376         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
31377         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
31378         Likewise.
31379         * modules/unictype/property-ascii-hex-digit (Depends-on,
31380         configure.ac): Likewise.
31381         * modules/unictype/property-bidi-arabic-digit (Depends-on,
31382         configure.ac): Likewise.
31383         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
31384         configure.ac): Likewise.
31385         * modules/unictype/property-bidi-block-separator (Depends-on,
31386         configure.ac): Likewise.
31387         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
31388         configure.ac): Likewise.
31389         * modules/unictype/property-bidi-common-separator (Depends-on,
31390         configure.ac): Likewise.
31391         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
31392         Likewise.
31393         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
31394         configure.ac): Likewise.
31395         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
31396         configure.ac): Likewise.
31397         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
31398         configure.ac): Likewise.
31399         * modules/unictype/property-bidi-european-digit (Depends-on,
31400         configure.ac): Likewise.
31401         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
31402         configure.ac): Likewise.
31403         * modules/unictype/property-bidi-left-to-right (Depends-on,
31404         configure.ac): Likewise.
31405         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
31406         configure.ac): Likewise.
31407         * modules/unictype/property-bidi-other-neutral (Depends-on,
31408         configure.ac): Likewise.
31409         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
31410         Likewise.
31411         * modules/unictype/property-bidi-segment-separator (Depends-on,
31412         configure.ac): Likewise.
31413         * modules/unictype/property-bidi-whitespace (Depends-on,
31414         configure.ac): Likewise.
31415         * modules/unictype/property-combining (Depends-on, configure.ac):
31416         Likewise.
31417         * modules/unictype/property-composite (Depends-on, configure.ac):
31418         Likewise.
31419         * modules/unictype/property-currency-symbol (Depends-on,
31420         configure.ac): Likewise.
31421         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
31422         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
31423         Likewise.
31424         * modules/unictype/property-default-ignorable-code-point (Depends-on,
31425         configure.ac): Likewise.
31426         * modules/unictype/property-deprecated (Depends-on, configure.ac):
31427         Likewise.
31428         * modules/unictype/property-diacritic (Depends-on, configure.ac):
31429         Likewise.
31430         * modules/unictype/property-extender (Depends-on, configure.ac):
31431         Likewise.
31432         * modules/unictype/property-format-control (Depends-on, configure.ac):
31433         Likewise.
31434         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
31435         Likewise.
31436         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
31437         Likewise.
31438         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
31439         Likewise.
31440         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
31441         Likewise.
31442         * modules/unictype/property-hyphen (Depends-on, configure.ac):
31443         Likewise.
31444         * modules/unictype/property-id-continue (Depends-on, configure.ac):
31445         Likewise.
31446         * modules/unictype/property-id-start (Depends-on, configure.ac):
31447         Likewise.
31448         * modules/unictype/property-ideographic (Depends-on, configure.ac):
31449         Likewise.
31450         * modules/unictype/property-ids-binary-operator (Depends-on,
31451         configure.ac): Likewise.
31452         * modules/unictype/property-ids-trinary-operator (Depends-on,
31453         configure.ac): Likewise.
31454         * modules/unictype/property-ignorable-control (Depends-on,
31455         configure.ac): Likewise.
31456         * modules/unictype/property-iso-control (Depends-on, configure.ac):
31457         Likewise.
31458         * modules/unictype/property-join-control (Depends-on, configure.ac):
31459         Likewise.
31460         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
31461         Likewise.
31462         * modules/unictype/property-line-separator (Depends-on, configure.ac):
31463         Likewise.
31464         * modules/unictype/property-logical-order-exception (Depends-on,
31465         configure.ac): Likewise.
31466         * modules/unictype/property-lowercase (Depends-on, configure.ac):
31467         Likewise.
31468         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
31469         * modules/unictype/property-non-break (Depends-on, configure.ac):
31470         Likewise.
31471         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
31472         Likewise.
31473         * modules/unictype/property-numeric (Depends-on, configure.ac):
31474         Likewise.
31475         * modules/unictype/property-other-alphabetic (Depends-on,
31476         configure.ac): Likewise.
31477         * modules/unictype/property-other-default-ignorable-code-point
31478         (Depends-on, configure.ac): Likewise.
31479         * modules/unictype/property-other-grapheme-extend (Depends-on,
31480         configure.ac): Likewise.
31481         * modules/unictype/property-other-id-continue (Depends-on,
31482         configure.ac): Likewise.
31483         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
31484         Likewise.
31485         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
31486         Likewise.
31487         * modules/unictype/property-other-math (Depends-on, configure.ac):
31488         Likewise.
31489         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
31490         Likewise.
31491         * modules/unictype/property-paired-punctuation (Depends-on,
31492         configure.ac): Likewise.
31493         * modules/unictype/property-paragraph-separator (Depends-on,
31494         configure.ac): Likewise.
31495         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
31496         Likewise.
31497         * modules/unictype/property-pattern-white-space (Depends-on,
31498         configure.ac): Likewise.
31499         * modules/unictype/property-private-use (Depends-on, configure.ac):
31500         Likewise.
31501         * modules/unictype/property-punctuation (Depends-on, configure.ac):
31502         Likewise.
31503         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
31504         Likewise.
31505         * modules/unictype/property-radical (Depends-on, configure.ac):
31506         Likewise.
31507         * modules/unictype/property-sentence-terminal (Depends-on,
31508         configure.ac): Likewise.
31509         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
31510         Likewise.
31511         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
31512         * modules/unictype/property-terminal-punctuation (Depends-on,
31513         configure.ac): Likewise.
31514         * modules/unictype/property-titlecase (Depends-on, configure.ac):
31515         Likewise.
31516         * modules/unictype/property-unassigned-code-value (Depends-on,
31517         configure.ac): Likewise.
31518         * modules/unictype/property-unified-ideograph (Depends-on,
31519         configure.ac): Likewise.
31520         * modules/unictype/property-uppercase (Depends-on, configure.ac):
31521         Likewise.
31522         * modules/unictype/property-variation-selector (Depends-on,
31523         configure.ac): Likewise.
31524         * modules/unictype/property-white-space (Depends-on, configure.ac):
31525         Likewise.
31526         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
31527         Likewise.
31528         * modules/unictype/property-xid-start (Depends-on, configure.ac):
31529         Likewise.
31530         * modules/unictype/property-zero-width (Depends-on, configure.ac):
31531         Likewise.
31532         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
31533         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
31534         Likewise.
31535
31536 2009-12-31  Bruno Haible  <bruno@clisp.org>
31537
31538         Remove unnecessary AC_C_INLINE invocation.
31539         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
31540         since 2009-08-21.
31541
31542 2009-12-31  Jim Meyering  <meyering@redhat.com>
31543
31544         maint.mk: don't require explicit gpg_key_ID in cfg.mk
31545         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
31546         With this change, we can all remove the gpg_key_ID = ... definition
31547         from our respective cfg.mk files.
31548
31549         maint.mk: create announcement template in ~/, not in /tmp
31550         * top/maint.mk (emit_upload_commands): Adjust.
31551         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
31552         Remove temporary file, .ci-msg.
31553
31554 2009-12-31  Eric Blake  <ebb9@byu.net>
31555
31556         link-warning: always build headers with link warnings
31557         * modules/arpa_inet (Makefile.am): Always build replacement
31558         header.
31559         * modules/ctype (Makefile.am): Likewise.
31560         * modules/dirent (Makefile.am): Likewise.
31561         * modules/inttypes (Makefile.am): Likewise.
31562         * modules/langinfo (Makefile.am): Likewise.
31563         * modules/locale (Makefile.am): Likewise.
31564         * modules/spawn (Makefile.am): Likewise.
31565         * modules/sys_file (Makefile.am): Likewise.
31566         * modules/sys_ioctl (Makefile.am): Likewise.
31567         * modules/sys_select (Makefile.am): Likewise.
31568         * modules/sys_socket (Makefile.am): Likewise.
31569         * modules/sys_times (Makefile.am): Likewise.
31570         * modules/sys_utsname (Makefile.am): Likewise.
31571         * modules/sys_wait (Makefile.am): Likewise.
31572         * modules/wchar (Makefile.am): Likewise.
31573         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
31574         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
31575         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
31576         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
31577         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
31578         Likewise.
31579         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
31580         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
31581         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
31582         Likewise.
31583         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
31584         Likewise.
31585         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
31586         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
31587         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
31588         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31589         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
31590         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
31591         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
31592         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
31593         (gl_WCHAR_H_DEFAULTS): Likewise.
31594
31595 2009-12-31  Eric Blake  <ebb9@byu.net>
31596
31597         signal, spawn: use link warnings
31598         * lib/signal.in.h (sigset_t): Make unconditional.
31599         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
31600         (sigpending, sigprocmask, sigaction): Add link warnings.
31601         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
31602         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
31603         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
31604         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
31605         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
31606         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
31607         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
31608         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
31609         (posix_spawn_file_actions_destroy)
31610         (posix_spawn_file_actions_addopen)
31611         (posix_spawn_file_actions_addclose)
31612         (posix_spawn_file_actions_adddup2): Likewise.
31613         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
31614         * tests/test-signal.c (main): Enhance test.
31615
31616         spawn: improve wrapper support
31617         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
31618         (gl_SPAWN_H_DEFAULTS): New defaults.
31619         * modules/spawn (Makefile.am): Substitute them.
31620         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
31621         Only declare if missing or broken.
31622
31623         sys_times, sys_utsname: use include_next
31624         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
31625         header.
31626         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
31627         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
31628         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
31629         * modules/sys_times (Depends-on): Add include_next.
31630         (Makefile.am): Substitute additional values.
31631         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
31632         * lib/sys_times.in.h (includes): Include native header, if
31633         available.
31634         * lib/sys_utsname.in.h (includes): Likewise.
31635         * tests/test-sys_times.c (main): Enhance test.
31636
31637         fdutimensat: revert prior patch
31638         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
31639         utimens.h.
31640         Reported by Bruno Haible.
31641
31642 2009-12-30  Eric Blake  <ebb9@byu.net>
31643
31644         sys_wait: drop link-warning dependency
31645         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
31646         link-warning efforts.
31647         * lib/sys_wait.in.h: Likewise.
31648
31649         fdutimensat: remove bogus dependency
31650         * modules/fdutimensat (Depends-on): Drop inline.
31651
31652         unistd: fix typo
31653         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
31654
31655 2009-12-30  Bruno Haible  <bruno@clisp.org>
31656
31657         Fix compilation error with Solaris cc.
31658         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
31659         * lib/unicase/u16-is-invariant.c: Likewise.
31660         * lib/unicase/u32-is-invariant.c: Likewise.
31661         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
31662
31663 2009-12-30  Bruno Haible  <bruno@clisp.org>
31664
31665         Fix test crash.
31666         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
31667         locales.
31668         Reported by Simon Josefsson <simon@josefsson.org>.
31669
31670 2009-12-30  Bruno Haible  <bruno@clisp.org>
31671
31672         Fix compilation error on most platforms.
31673         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
31674         Reported by Simon Josefsson <simon@josefsson.org>
31675         and Nelson H. F. Beebe <beebe@math.utah.edu>.
31676
31677 2009-12-30  Eric Blake  <ebb9@byu.net>
31678
31679         futimens, utimensat: work around ntfs-3g bug
31680         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
31681         a ctime bug is present, and expand workaround to cover ntfs-3g.
31682         * lib/utimens.c (fdutimens, lutimens): Likewise.
31683         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
31684         (validate_timespec): Adjust return value.
31685         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
31686         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
31687         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
31688
31689 2009-12-29  Eric Blake  <ebb9@byu.net>
31690
31691         link-warning: make usage consistent
31692         * modules/ctype (Depends-on): Add link-warning.
31693         (Makefile.am): Update rules accordingly.
31694         * modules/langinfo (Depends-on, Makefile.am): Likewise.
31695         * modules/locale (Depends-on, Makefile.am): Likewise.
31696         * modules/sys_file (Makefile.am): Likewise.
31697         * modules/getopt-posix (Makefile.am): Delete unused link warning
31698         efforts.
31699         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
31700         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
31701         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
31702         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
31703
31704         stdio: remove unused variables
31705         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
31706         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
31707         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
31708
31709         tests: test more substitute headers
31710         * modules/ctype-tests: New file.
31711         * modules/dirent-tests: Likewise.
31712         * modules/spawn-tests: Likewise.
31713         * modules/sys_file-tests: Likewise.
31714         * modules/sys_ioctl-tests: Likewise.
31715         * modules/sys_wait-tests: Likewise.
31716         * tests/test-ctype.c: Likewise.
31717         * tests/test-dirent.c: Likewise.
31718         * tests/test-spawn.c: Likewise.
31719         * tests/test-sys_file.c: Likewise.
31720         * tests/test-sys_ioctl.c: Likewise.
31721         * tests/test-sys_wait.c: Likewise.
31722         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
31723         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
31724         whether or not flock is in use.
31725
31726         tests: remove License section from module
31727         * modules/arpa_inet-tests: Remove unneeded section.
31728         * modules/byteswap-tests: Likewise.
31729         * modules/ceilf-tests: Likewise.
31730         * modules/ceill-tests: Likewise.
31731         * modules/crypto/des-tests: Likewise.
31732         * modules/crypto/gc-arcfour-tests: Likewise.
31733         * modules/crypto/gc-arctwo-tests: Likewise.
31734         * modules/crypto/gc-des-tests: Likewise.
31735         * modules/crypto/gc-hmac-md5-tests: Likewise.
31736         * modules/crypto/gc-hmac-sha1-tests: Likewise.
31737         * modules/crypto/gc-md2-tests: Likewise.
31738         * modules/crypto/gc-md4-tests: Likewise.
31739         * modules/crypto/gc-md5-tests: Likewise.
31740         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
31741         * modules/crypto/gc-rijndael-tests: Likewise.
31742         * modules/crypto/gc-sha1-tests: Likewise.
31743         * modules/crypto/gc-tests: Likewise.
31744         * modules/crypto/md2-tests: Likewise.
31745         * modules/crypto/md4-tests: Likewise.
31746         * modules/fcntl-h-tests: Likewise.
31747         * modules/floorf-tests: Likewise.
31748         * modules/floorl-tests: Likewise.
31749         * modules/frexp-nolibm-tests: Likewise.
31750         * modules/frexp-tests: Likewise.
31751         * modules/frexpl-nolibm-tests: Likewise.
31752         * modules/frexpl-tests: Likewise.
31753         * modules/getaddrinfo-tests: Likewise.
31754         * modules/inttypes-tests: Likewise.
31755         * modules/isfinite-tests: Likewise.
31756         * modules/isinf-tests: Likewise.
31757         * modules/ldexpl-tests: Likewise.
31758         * modules/locale-tests: Likewise.
31759         * modules/math-tests: Likewise.
31760         * modules/netdb-tests: Likewise.
31761         * modules/netinet_in-tests: Likewise.
31762         * modules/printf-frexp-tests: Likewise.
31763         * modules/printf-frexpl-tests: Likewise.
31764         * modules/priv-set-tests: Likewise.
31765         * modules/random_r-tests: Likewise.
31766         * modules/round-tests: Likewise.
31767         * modules/roundf-tests: Likewise.
31768         * modules/roundl-tests: Likewise.
31769         * modules/search-tests: Likewise.
31770         * modules/select-tests: Likewise.
31771         * modules/signal-tests: Likewise.
31772         * modules/stdbool-tests: Likewise.
31773         * modules/stddef-tests: Likewise.
31774         * modules/stdint-tests: Likewise.
31775         * modules/stdio-tests: Likewise.
31776         * modules/stdlib-tests: Likewise.
31777         * modules/string-tests: Likewise.
31778         * modules/strings-tests: Likewise.
31779         * modules/sys_select-tests: Likewise.
31780         * modules/sys_socket-tests: Likewise.
31781         * modules/sys_stat-tests: Likewise.
31782         * modules/sys_time-tests: Likewise.
31783         * modules/sys_utsname-tests: Likewise.
31784         * modules/sysexits-tests: Likewise.
31785         * modules/time-tests: Likewise.
31786         * modules/trunc-tests: Likewise.
31787         * modules/truncf-tests: Likewise.
31788         * modules/truncl-tests: Likewise.
31789         * modules/tsearch-tests: Likewise.
31790         * modules/unistd-tests: Likewise.
31791         * modules/wchar-tests: Likewise.
31792         * modules/wctype-tests: Likewise.
31793
31794         tests: fix license on several tests
31795         * tests/test-des.c: Update to GPLv3+.
31796         * tests/test-flock.c: Likewise.
31797         * tests/test-fsync.c: Likewise.
31798         * tests/test-futimens.h: Likewise.
31799         * tests/test-gc-arcfour.c: Likewise.
31800         * tests/test-gc-arctwo.c: Likewise.
31801         * tests/test-gc-des.c: Likewise.
31802         * tests/test-gc-hmac-md5.c: Likewise.
31803         * tests/test-gc-hmac-sha1.c: Likewise.
31804         * tests/test-gc-md2.c: Likewise.
31805         * tests/test-gc-md4.c: Likewise.
31806         * tests/test-gc-md5.c: Likewise.
31807         * tests/test-gc-pbkdf2-sha1.c: Likewise.
31808         * tests/test-gc-rijndael.c: Likewise.
31809         * tests/test-gc-sha1.c: Likewise.
31810         * tests/test-gc.c: Likewise.
31811         * tests/test-getcwd.c: Likewise.
31812         * tests/test-link.c: Likewise.
31813         * tests/test-link.h: Likewise.
31814         * tests/test-lutimens.h: Likewise.
31815         * tests/test-md2.c: Likewise.
31816         * tests/test-md4.c: Likewise.
31817         * tests/test-mkdir.h: Likewise.
31818         * tests/test-rename.c: Likewise.
31819         * tests/test-rename.h: Likewise.
31820         * tests/test-safe-alloc.c: Likewise.
31821         * tests/test-utimens-common.h: Likewise.
31822         * tests/test-utimens.h: Likewise.
31823
31824         maint: sync license texts
31825         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
31826         * doc/gpl-3.0.texi: Revert copyright year update.
31827         * doc/lgpl-3.0.texi: Likewise.
31828
31829 2009-12-29  Jim Meyering  <meyering@redhat.com>
31830
31831         update nearly all FSF copyright year lists to include 2009
31832         The files named by the following are exempted:
31833             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
31834               test -f "$dst" && { echo "$dst"; continue; }
31835               test -d "$dst" || continue
31836               echo "$dst"/$(basename "$src")
31837             done > exempt
31838             git ls-files tests/unictype >> exempt
31839         In the remaining files, convert to all-interval notation if
31840         - there is already at least one year interval like 2000-2003
31841         - the file is maintained by me
31842         - the file is in lib/uni*/, where that style already prevails
31843         Otherwise, use update-copyright's default.
31844
31845 2009-12-29  Simon Josefsson  <simon@josefsson.org>
31846         and Eric Blake  <ebb9@byu.net>
31847
31848         tests: don't require debug system() to pass
31849         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
31850         * tests/test-rmdir.h (test_rmdir_func): Likewise.
31851         * tests/test-unlink.h (test_unlink_func): Likewise.
31852         * tests/test-fstatat.c (main): ...into callers.
31853         * tests/test-lstat.c (main): Likewise.
31854         * tests/test-rmdir.c (main): Likewise.
31855         * tests/test-unlink.c (main): Likewise.
31856         * tests/test-unlinkat.c (main): Likewise.
31857         * tests/test-areadlink-with-size.c (main): Don't require a
31858         debug-only system call to pass, aiding cross-testing to mingw.
31859         * tests/test-areadlink.c (main): Likewise.
31860         * tests/test-areadlinkat-with-size.c (main): Likewise.
31861         * tests/test-areadlinkat.c (main): Likewise.
31862         * tests/test-canonicalize-lgpl.c (main): Likewise.
31863         * tests/test-canonicalize.c (main): Likewise.
31864         * tests/test-chown.c (main): Likewise.
31865         * tests/test-fchownat.c (main): Likewise.
31866         * tests/test-lchown.c (main): Likewise.
31867         * tests/test-fdutimensat.c (main): Likewise.
31868         * tests/test-futimens.c (main): Likewise.
31869         * tests/test-link.c (main): Likewise.
31870         * tests/test-linkat.c (main): Likewise.
31871         * tests/test-mkdir.c (main): Likewise.
31872         * tests/test-mkdirat.c (main): Likewise.
31873         * tests/test-mkfifo.c (main): Likewise.
31874         * tests/test-mkfifoat.c (main): Likewise.
31875         * tests/test-mknod.c (main): Likewise.
31876         * tests/test-readlink.c (main): Likewise.
31877         * tests/test-remove.c (main): Likewise.
31878         * tests/test-rename.c (main): Likewise.
31879         * tests/test-renameat.c (main): Likewise.
31880         * tests/test-symlink.c (main): Likewise.
31881         * tests/test-symlinkat.c (main): Likewise.
31882         * tests/test-utimens.c (main): Likewise.
31883         * tests/test-utimensat.c (main): Likewise.
31884
31885 2009-12-29  Simon Josefsson  <simon@josefsson.org>
31886
31887         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
31888         on $(UNUSED_PARAMETER_H) to avoid build failure.
31889
31890 2009-12-28  Jim Meyering  <meyering@redhat.com>
31891
31892         update-copyright: you may specify a max. line length other than 72
31893         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
31894
31895         maint: use consistent FSF copyright line syntax
31896         * lib/posixtm.c: Add missing comma in FSF copyright line.
31897         * lib/posixtm.h: Likewise.
31898         * lib/getugroups.c: Add missing ", Inc.".
31899
31900         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
31901         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
31902         FSF copyright line.  Remove trailing blanks.
31903
31904 2009-12-28  Eric Blake  <ebb9@byu.net>
31905
31906         test-dup2: reduce dependencies
31907         * modules/cloexec (Configure.ac): Set witness.
31908         * modules/dup2-tests (Depends-on): Drop cloexec.
31909         * tests/test-dup2.c (main): Skip portion of test if cloexec module
31910         not present.
31911         Suggested by Bruno Haible.
31912
31913 2009-12-26  Bruno Haible  <bruno@clisp.org>
31914
31915         Remove an unneeded dependency.
31916         * modules/fseterr (Depends-on): Remove dup2.
31917
31918 2009-12-26  Eric Blake  <ebb9@byu.net>
31919
31920         tests: use macros.h in more places
31921         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
31922         (ASSERT_STREAM): Provide default of stderr.
31923         * tests/test-dirent-safer.c: Include macros.h, using alternate
31924         stream for assertions.
31925         * tests/test-dup-safer.c: Likewise.
31926         * tests/test-freopen-safer.c: Likewise.
31927         * tests/test-getopt.c: Likewise.
31928         * tests/test-openat-safer.c: Likewise.
31929         * tests/test-pipe.c: Likewise.
31930         * tests/test-popen-safer.c: Likewise.
31931         * modules/dirent-safer-tests (Files): Include macros.h.
31932         * modules/unistd-safer-tests (Files): Likewise.
31933         * modules/freopen-safer-tests (Files): Likewise.
31934         * modules/getopt-posix-tests (Files): Likewise.
31935         * modules/openat-safer-tests (Files): Likewise.
31936         * modules/pipe-tests (Files): Likewise.
31937
31938 2009-12-26  Bruno Haible  <bruno@clisp.org>
31939
31940         javacomp: Portability fix.
31941         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
31942         that it also works on Solaris.
31943
31944 2009-12-26  Bruno Haible  <bruno@clisp.org>
31945
31946         localename: Fix storage allocation of gl_locale_name_thread's result.
31947         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
31948         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
31949         all platforms that have 'uselocale'.
31950         (gl_locale_name_thread_unsafe): New function, extracted from
31951         gl_locale_name_thread.
31952         (gl_locale_name_thread): Call struniq on all platforms that have
31953         'uselocale'.
31954         * tests/test-localename.c (test_locale_name_thread): Check that the
31955         resulting strings are permanently allocated.
31956         * modules/localename-tests (Depends-on): Add strdup.
31957
31958 2009-12-26  Bruno Haible  <bruno@clisp.org>
31959
31960         * tests/test-localename.c (categories): Fill in the strings.
31961
31962 2009-12-26  Jim Meyering  <meyering@redhat.com>
31963
31964         isdir: complete the removal of m4/isdir.m4
31965         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
31966
31967         isdir: clean up, since at least grep still uses it
31968         * lib/isdir.c: Include "isdir.h".
31969         (S_ISDIR): Remove now-unneeded definition.
31970         * modules/isdir (Files): Add lib/isdir.h.
31971         * lib/isdir.h: New file, with declaration.
31972         * m4/isdir.m4: Remove file -- unneeded.
31973
31974 2009-12-25  Bruno Haible  <bruno@clisp.org>
31975
31976         selinux-h: Make generated .h files standalone.
31977         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
31978         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
31979         * lib/se-selinux.in.h: Likewise.
31980         * modules/selinux-h (Depends-on): Add unused-parameter.
31981         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
31982         selinux/selinux.h and selinux/context.h.
31983         Suggested by Eric Blake.
31984
31985 2009-12-25  Bruno Haible  <bruno@clisp.org>
31986
31987         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
31988         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
31989         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
31990         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
31991         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
31992
31993 2009-12-24  Bruno Haible  <bruno@clisp.org>
31994
31995         openat: Fix warning.
31996         * lib/openat-proc.c: Include <unistd.h>.
31997
31998 2009-12-24  Bruno Haible  <bruno@clisp.org>
31999
32000         New module 'unused-parameter'.
32001         * build-aux/unused-parameter.h: New file, extracted from earlier
32002         gnulib-common.m4.
32003         * modules/unused-parameter: New file.
32004         * lib/unistr.h: Include unused-parameter.h.
32005         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
32006         _GL_UNUSED.
32007         * modules/unistr/base (Depends-on): Add unused-parameter.
32008
32009 2009-12-24  Bruno Haible  <bruno@clisp.org>
32010
32011         Add missing dependencies to 'extensions' module.
32012         * m4/extensions.m4: Add comment.
32013         * modules/accept4 (Depends-on): Add extensions.
32014         * modules/dup3 (Depends-on): Likewise.
32015         * modules/fcntl (Depends-on): Likewise.
32016         * modules/futimens (Depends-on): Likewise.
32017         * modules/mknod (Depends-on): Likewise.
32018         * modules/pipe2 (Depends-on): Likewise.
32019         * modules/stat-time (Depends-on): Likewise.
32020         * modules/strcasestr-simple (Depends-on): Likewise.
32021         * modules/strsignal (Depends-on): Likewise.
32022         * modules/utimensat (Depends-on): Likewise.
32023         * modules/localcharset (Depends-on): Likewise. Needed because of
32024         gl_FCNTL_O_FLAGS.
32025         * modules/wcrtomb (Depends-on): Likewise. Needed because of
32026         AC_TYPE_MBSTATE_T.
32027         * modules/wcsnrtombs (Depends-on): Likewise.
32028         * modules/wcsrtombs (Depends-on): Likewise.
32029
32030 2009-12-24  Bruno Haible  <bruno@clisp.org>
32031
32032         binary-io: Avoid gcc warning due to SET_BINARY.
32033         * lib/binary-io.h (SET_BINARY): Cast the result to void.
32034         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
32035
32036 2009-12-24  Bruno Haible  <bruno@clisp.org>
32037
32038         Avoid future namespace pollution on glibc systems.
32039         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
32040         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
32041         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
32042         glibc systems.
32043
32044 2009-12-24  Bruno Haible  <bruno@clisp.org>
32045
32046         Refactor common macros used in tests.
32047         * tests/macros.h: New file.
32048         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
32049         and/or <stdlib.h>, if appropriate.
32050         (ASSERT, SIZEOF): Remove macros.
32051         * tests/test-areadlink-with-size.c: Likewise.
32052         * tests/test-areadlinkat.c: Likewise.
32053         * tests/test-areadlinkat-with-size.c: Likewise.
32054         * tests/test-argmatch.c: Likewise.
32055         * tests/test-argv-iter.c: Likewise.
32056         * tests/test-array-mergesort.c: Likewise.
32057         * tests/test-array_list.c: Likewise.
32058         * tests/test-array_oset.c: Likewise.
32059         * tests/test-avltree_list.c: Likewise.
32060         * tests/test-avltree_oset.c: Likewise.
32061         * tests/test-avltreehash_list.c: Likewise.
32062         * tests/test-base64.c: Likewise.
32063         * tests/test-binary-io.c: Likewise.
32064         * tests/test-bitrotate.c: Likewise.
32065         * tests/test-btowc.c: Likewise.
32066         * tests/test-byteswap.c: Likewise.
32067         * tests/test-c-ctype.c: Likewise.
32068         * tests/test-c-stack.c: Likewise.
32069         * tests/test-c-strcasecmp.c: Likewise.
32070         * tests/test-c-strcasestr.c: Likewise.
32071         * tests/test-c-strncasecmp.c: Likewise.
32072         * tests/test-c-strstr.c: Likewise.
32073         * tests/test-canonicalize-lgpl.c: Likewise.
32074         * tests/test-canonicalize.c: Likewise.
32075         * tests/test-carray_list.c: Likewise.
32076         * tests/test-ceilf1.c: Likewise.
32077         * tests/test-ceilf2.c: Likewise.
32078         * tests/test-ceill.c: Likewise.
32079         * tests/test-chown.c: Likewise.
32080         * tests/test-cloexec.c: Likewise.
32081         * tests/test-copy-acl.c: Likewise.
32082         * tests/test-copy-file.c: Likewise.
32083         * tests/test-count-one-bits.c: Likewise.
32084         * tests/test-dprintf-posix.c: Likewise.
32085         * tests/test-dup2.c: Likewise.
32086         * tests/test-dup3.c: Likewise.
32087         * tests/test-duplocale.c: Likewise.
32088         * tests/test-fbufmode.c: Likewise.
32089         * tests/test-fchdir.c: Likewise.
32090         * tests/test-fchownat.c: Likewise.
32091         * tests/test-fcntl-safer.c: Likewise.
32092         * tests/test-fcntl.c: Likewise.
32093         * tests/test-fdopendir.c: Likewise.
32094         * tests/test-fdutimensat.c: Likewise.
32095         * tests/test-fflush2.c: Likewise.
32096         * tests/test-file-has-acl.c: Likewise.
32097         * tests/test-filevercmp.c: Likewise.
32098         * tests/test-flock.c: Likewise.
32099         * tests/test-floorf1.c: Likewise.
32100         * tests/test-floorf2.c: Likewise.
32101         * tests/test-floorl.c: Likewise.
32102         * tests/test-fnmatch.c: Likewise.
32103         * tests/test-fopen.h: Likewise.
32104         * tests/test-fpending.c: Likewise.
32105         * tests/test-fprintf-posix.c: Likewise.
32106         * tests/test-fpurge.c: Likewise.
32107         * tests/test-freadable.c: Likewise.
32108         * tests/test-freadahead.c: Likewise.
32109         * tests/test-freading.c: Likewise.
32110         * tests/test-freadptr.c: Likewise.
32111         * tests/test-freadptr2.c: Likewise.
32112         * tests/test-freadseek.c: Likewise.
32113         * tests/test-freopen.c: Likewise.
32114         * tests/test-frexp.c: Likewise.
32115         * tests/test-frexpl.c: Likewise.
32116         * tests/test-fseek.c: Likewise.
32117         * tests/test-fseeko.c: Likewise.
32118         * tests/test-fstatat.c: Likewise.
32119         * tests/test-fstrcmp.c: Likewise.
32120         * tests/test-fsync.c: Likewise.
32121         * tests/test-ftell.c: Likewise.
32122         * tests/test-ftello.c: Likewise.
32123         * tests/test-func.c: Likewise.
32124         * tests/test-futimens.c: Likewise.
32125         * tests/test-fwritable.c: Likewise.
32126         * tests/test-fwriting.c: Likewise.
32127         * tests/test-getcwd.c: Likewise.
32128         * tests/test-getdate.c: Likewise.
32129         * tests/test-getdelim.c: Likewise.
32130         * tests/test-getdtablesize.c: Likewise.
32131         * tests/test-getgroups.c: Likewise.
32132         * tests/test-getline.c: Likewise.
32133         * tests/test-getndelim2.c: Likewise.
32134         * tests/test-glob.c: Likewise.
32135         * tests/test-hash.c: Likewise.
32136         * tests/test-i-ring.c: Likewise.
32137         * tests/test-iconv-utf.c: Likewise.
32138         * tests/test-iconv.c: Likewise.
32139         * tests/test-idpriv-drop.c: Likewise.
32140         * tests/test-idpriv-droptemp.c: Likewise.
32141         * tests/test-inet_ntop.c: Likewise.
32142         * tests/test-inet_pton.c: Likewise.
32143         * tests/test-isblank.c: Likewise.
32144         * tests/test-isfinite.c: Likewise.
32145         * tests/test-isinf.c: Likewise.
32146         * tests/test-isnan.c: Likewise.
32147         * tests/test-isnand.h: Likewise.
32148         * tests/test-isnanf.h: Likewise.
32149         * tests/test-isnanl.h: Likewise.
32150         * tests/test-lchown.c: Likewise.
32151         * tests/test-ldexpl.c: Likewise.
32152         * tests/test-link.c: Likewise.
32153         * tests/test-linkat.c: Likewise.
32154         * tests/test-linked_list.c: Likewise.
32155         * tests/test-linkedhash_list.c: Likewise.
32156         * tests/test-localename.c: Likewise.
32157         * tests/test-lseek.c: Likewise.
32158         * tests/test-lstat.c: Likewise.
32159         * tests/test-mbmemcasecmp.c: Likewise.
32160         * tests/test-mbmemcasecoll.c: Likewise.
32161         * tests/test-mbrtowc.c: Likewise.
32162         * tests/test-mbscasecmp.c: Likewise.
32163         * tests/test-mbscasestr1.c: Likewise.
32164         * tests/test-mbscasestr2.c: Likewise.
32165         * tests/test-mbscasestr3.c: Likewise.
32166         * tests/test-mbscasestr4.c: Likewise.
32167         * tests/test-mbschr.c: Likewise.
32168         * tests/test-mbscspn.c: Likewise.
32169         * tests/test-mbsinit.c: Likewise.
32170         * tests/test-mbsncasecmp.c: Likewise.
32171         * tests/test-mbsnrtowcs.c: Likewise.
32172         * tests/test-mbspbrk.c: Likewise.
32173         * tests/test-mbspcasecmp.c: Likewise.
32174         * tests/test-mbsrchr.c: Likewise.
32175         * tests/test-mbsrtowcs.c: Likewise.
32176         * tests/test-mbsspn.c: Likewise.
32177         * tests/test-mbsstr1.c: Likewise.
32178         * tests/test-mbsstr2.c: Likewise.
32179         * tests/test-mbsstr3.c: Likewise.
32180         * tests/test-memchr.c: Likewise.
32181         * tests/test-memchr2.c: Likewise.
32182         * tests/test-memcmp.c: Likewise.
32183         * tests/test-memmem.c: Likewise.
32184         * tests/test-memrchr.c: Likewise.
32185         * tests/test-mkdir.c: Likewise.
32186         * tests/test-mkdirat.c: Likewise.
32187         * tests/test-mkfifo.c: Likewise.
32188         * tests/test-mkfifoat.c: Likewise.
32189         * tests/test-mknod.c: Likewise.
32190         * tests/test-nanosleep.c: Likewise.
32191         * tests/test-nl_langinfo.c: Likewise.
32192         * tests/test-obstack-printf.c: Likewise.
32193         * tests/test-open.c: Likewise.
32194         * tests/test-openat.c: Likewise.
32195         * tests/test-pipe-filter-gi1.c: Likewise.
32196         * tests/test-pipe-filter-gi2-main.c: Likewise.
32197         * tests/test-pipe-filter-ii1.c: Likewise.
32198         * tests/test-pipe-filter-ii2-main.c: Likewise.
32199         * tests/test-pipe2.c: Likewise.
32200         * tests/test-popen.h: Likewise.
32201         * tests/test-posixtm.c: Likewise.
32202         * tests/test-pread.c: Likewise.
32203         * tests/test-printf-frexp.c: Likewise.
32204         * tests/test-printf-frexpl.c: Likewise.
32205         * tests/test-printf-posix.c: Likewise.
32206         * tests/test-priv-set.c: Likewise.
32207         * tests/test-quotearg.c: Likewise.
32208         * tests/test-random_r.c: Likewise.
32209         * tests/test-rawmemchr.c: Likewise.
32210         * tests/test-rbtree_list.c: Likewise.
32211         * tests/test-rbtree_oset.c: Likewise.
32212         * tests/test-rbtreehash_list.c: Likewise.
32213         * tests/test-readlink.c: Likewise.
32214         * tests/test-remove.c: Likewise.
32215         * tests/test-rename.c: Likewise.
32216         * tests/test-renameat.c: Likewise.
32217         * tests/test-rmdir.c: Likewise.
32218         * tests/test-round1.c: Likewise.
32219         * tests/test-roundf1.c: Likewise.
32220         * tests/test-roundl.c: Likewise.
32221         * tests/test-safe-alloc.c: Likewise.
32222         * tests/test-sameacls.c: Likewise.
32223         * tests/test-set-mode-acl.c: Likewise.
32224         * tests/test-setenv.c: Likewise.
32225         * tests/test-sigaction.c: Likewise.
32226         * tests/test-signbit.c: Likewise.
32227         * tests/test-sleep.c: Likewise.
32228         * tests/test-snprintf-posix.c: Likewise.
32229         * tests/test-snprintf.c: Likewise.
32230         * tests/test-sprintf-posix.c: Likewise.
32231         * tests/test-stat-time.c: Likewise.
32232         * tests/test-stat.c: Likewise.
32233         * tests/test-strcasestr.c: Likewise.
32234         * tests/test-strchrnul.c: Likewise.
32235         * tests/test-strerror.c: Likewise.
32236         * tests/test-striconv.c: Likewise.
32237         * tests/test-striconveh.c: Likewise.
32238         * tests/test-striconveha.c: Likewise.
32239         * tests/test-strsignal.c: Likewise.
32240         * tests/test-strstr.c: Likewise.
32241         * tests/test-strtod.c: Likewise.
32242         * tests/test-strverscmp.c: Likewise.
32243         * tests/test-symlink.c: Likewise.
32244         * tests/test-symlinkat.c: Likewise.
32245         * tests/test-trunc1.c: Likewise.
32246         * tests/test-trunc2.c: Likewise.
32247         * tests/test-truncf1.c: Likewise.
32248         * tests/test-truncf2.c: Likewise.
32249         * tests/test-truncl.c: Likewise.
32250         * tests/test-uname.c: Likewise.
32251         * tests/test-unlink.c: Likewise.
32252         * tests/test-unlinkat.c: Likewise.
32253         * tests/test-unsetenv.c: Likewise.
32254         * tests/test-usleep.c: Likewise.
32255         * tests/test-utimens.c: Likewise.
32256         * tests/test-utimensat.c: Likewise.
32257         * tests/test-vasnprintf-posix.c: Likewise.
32258         * tests/test-vasnprintf-posix2.c: Likewise.
32259         * tests/test-vasnprintf.c: Likewise.
32260         * tests/test-vasprintf-posix.c: Likewise.
32261         * tests/test-vasprintf.c: Likewise.
32262         * tests/test-vdprintf-posix.c: Likewise.
32263         * tests/test-vfprintf-posix.c: Likewise.
32264         * tests/test-vprintf-posix.c: Likewise.
32265         * tests/test-vsnprintf-posix.c: Likewise.
32266         * tests/test-vsnprintf.c: Likewise.
32267         * tests/test-vsprintf-posix.c: Likewise.
32268         * tests/test-wcrtomb.c: Likewise.
32269         * tests/test-wcsnrtombs.c: Likewise.
32270         * tests/test-wcsrtombs.c: Likewise.
32271         * tests/test-wctype.c: Likewise.
32272         * tests/test-wcwidth.c: Likewise.
32273         * tests/test-xfprintf-posix.c: Likewise.
32274         * tests/test-xmemdup0.c: Likewise.
32275         * tests/test-xprintf-posix.c: Likewise.
32276         * tests/test-xvasprintf.c: Likewise.
32277         * tests/unicase/test-locale-language.c: Likewise.
32278         * tests/unicase/test-mapping-part1.h: Likewise.
32279         * tests/unicase/test-predicate-part1.h: Likewise.
32280         * tests/unicase/test-u8-casecmp.c: Likewise.
32281         * tests/unicase/test-u8-casecoll.c: Likewise.
32282         * tests/unicase/test-u8-casefold.c: Likewise.
32283         * tests/unicase/test-u8-is-cased.c: Likewise.
32284         * tests/unicase/test-u8-is-casefolded.c: Likewise.
32285         * tests/unicase/test-u8-is-lowercase.c: Likewise.
32286         * tests/unicase/test-u8-is-titlecase.c: Likewise.
32287         * tests/unicase/test-u8-is-uppercase.c: Likewise.
32288         * tests/unicase/test-u8-tolower.c: Likewise.
32289         * tests/unicase/test-u8-totitle.c: Likewise.
32290         * tests/unicase/test-u8-toupper.c: Likewise.
32291         * tests/unicase/test-u16-casecmp.c: Likewise.
32292         * tests/unicase/test-u16-casecoll.c: Likewise.
32293         * tests/unicase/test-u16-casefold.c: Likewise.
32294         * tests/unicase/test-u16-is-cased.c: Likewise.
32295         * tests/unicase/test-u16-is-casefolded.c: Likewise.
32296         * tests/unicase/test-u16-is-lowercase.c: Likewise.
32297         * tests/unicase/test-u16-is-titlecase.c: Likewise.
32298         * tests/unicase/test-u16-is-uppercase.c: Likewise.
32299         * tests/unicase/test-u16-tolower.c: Likewise.
32300         * tests/unicase/test-u16-totitle.c: Likewise.
32301         * tests/unicase/test-u16-toupper.c: Likewise.
32302         * tests/unicase/test-u32-casecmp.c: Likewise.
32303         * tests/unicase/test-u32-casecoll.c: Likewise.
32304         * tests/unicase/test-u32-casefold.c: Likewise.
32305         * tests/unicase/test-u32-is-cased.c: Likewise.
32306         * tests/unicase/test-u32-is-casefolded.c: Likewise.
32307         * tests/unicase/test-u32-is-lowercase.c: Likewise.
32308         * tests/unicase/test-u32-is-titlecase.c: Likewise.
32309         * tests/unicase/test-u32-is-uppercase.c: Likewise.
32310         * tests/unicase/test-u32-tolower.c: Likewise.
32311         * tests/unicase/test-u32-totitle.c: Likewise.
32312         * tests/unicase/test-u32-toupper.c: Likewise.
32313         * tests/unicase/test-ulc-casecmp.c: Likewise.
32314         * tests/unicase/test-ulc-casecoll.c: Likewise.
32315         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
32316         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
32317         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
32318         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
32319         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
32320         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
32321         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
32322         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
32323         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
32324         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
32325         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
32326         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
32327         * tests/unictype/test-bidi_byname.c: Likewise.
32328         * tests/unictype/test-bidi_name.c: Likewise.
32329         * tests/unictype/test-bidi_of.c: Likewise.
32330         * tests/unictype/test-bidi_test.c: Likewise.
32331         * tests/unictype/test-block_list.c: Likewise.
32332         * tests/unictype/test-block_of.c: Likewise.
32333         * tests/unictype/test-block_test.c: Likewise.
32334         * tests/unictype/test-categ_and.c: Likewise.
32335         * tests/unictype/test-categ_and_not.c: Likewise.
32336         * tests/unictype/test-categ_byname.c: Likewise.
32337         * tests/unictype/test-categ_name.c: Likewise.
32338         * tests/unictype/test-categ_none.c: Likewise.
32339         * tests/unictype/test-categ_of.c: Likewise.
32340         * tests/unictype/test-categ_or.c: Likewise.
32341         * tests/unictype/test-categ_test_withtable.c: Likewise.
32342         * tests/unictype/test-combining.c: Likewise.
32343         * tests/unictype/test-decdigit.c: Likewise.
32344         * tests/unictype/test-digit.c: Likewise.
32345         * tests/unictype/test-mirror.c: Likewise.
32346         * tests/unictype/test-numeric.c: Likewise.
32347         * tests/unictype/test-pr_byname.c: Likewise.
32348         * tests/unictype/test-pr_test.c: Likewise.
32349         * tests/unictype/test-predicate-part1.h: Likewise.
32350         * tests/unictype/test-scripts.c: Likewise.
32351         * tests/unictype/test-sy_c_ident.c: Likewise.
32352         * tests/unictype/test-sy_java_ident.c: Likewise.
32353         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
32354         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
32355         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
32356         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
32357         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
32358         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
32359         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
32360         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
32361         * tests/uninorm/test-canonical-decomposition.c: Likewise.
32362         * tests/uninorm/test-compat-decomposition.c: Likewise.
32363         * tests/uninorm/test-composition.c: Likewise.
32364         * tests/uninorm/test-decomposing-form.c: Likewise.
32365         * tests/uninorm/test-decomposition.c: Likewise.
32366         * tests/uninorm/test-u8-nfc.c: Likewise.
32367         * tests/uninorm/test-u8-nfd.c: Likewise.
32368         * tests/uninorm/test-u8-nfkc.c: Likewise.
32369         * tests/uninorm/test-u8-nfkd.c: Likewise.
32370         * tests/uninorm/test-u8-normcmp.c: Likewise.
32371         * tests/uninorm/test-u8-normcoll.c: Likewise.
32372         * tests/uninorm/test-u16-nfc.c: Likewise.
32373         * tests/uninorm/test-u16-nfd.c: Likewise.
32374         * tests/uninorm/test-u16-nfkc.c: Likewise.
32375         * tests/uninorm/test-u16-nfkd.c: Likewise.
32376         * tests/uninorm/test-u16-normcmp.c: Likewise.
32377         * tests/uninorm/test-u16-normcoll.c: Likewise.
32378         * tests/uninorm/test-u32-nfc.c: Likewise.
32379         * tests/uninorm/test-u32-nfd.c: Likewise.
32380         * tests/uninorm/test-u32-nfkc.c: Likewise.
32381         * tests/uninorm/test-u32-nfkd.c: Likewise.
32382         * tests/uninorm/test-u32-normalize-big.c: Likewise.
32383         * tests/uninorm/test-u32-normcmp.c: Likewise.
32384         * tests/uninorm/test-u32-normcoll.c: Likewise.
32385         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
32386         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
32387         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
32388         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
32389         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
32390         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
32391         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
32392         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
32393         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
32394         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
32395         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
32396         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
32397         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
32398         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
32399         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
32400         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
32401         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
32402         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
32403         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
32404         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
32405         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
32406         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
32407         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
32408         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
32409         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
32410         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
32411         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
32412         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
32413         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
32414         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
32415         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
32416         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
32417         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
32418         * tests/uniwidth/test-u8-strwidth.c: Likewise.
32419         * tests/uniwidth/test-u8-width.c: Likewise.
32420         * tests/uniwidth/test-u16-strwidth.c: Likewise.
32421         * tests/uniwidth/test-u16-width.c: Likewise.
32422         * tests/uniwidth/test-u32-strwidth.c: Likewise.
32423         * tests/uniwidth/test-u32-width.c: Likewise.
32424         * tests/uniwidth/test-uc_width.c: Likewise.
32425         * tests/uniwidth/test-uc_width2.c: Likewise.
32426         * modules/acl-tests (Files): Add tests/macros.h.
32427         * modules/areadlink-tests (Files): Likewise.
32428         * modules/areadlink-with-size-tests (Files): Likewise.
32429         * modules/areadlinkat-tests (Files): Likewise.
32430         * modules/areadlinkat-with-size-tests (Files): Likewise.
32431         * modules/argmatch-tests (Files): Likewise.
32432         * modules/argv-iter-tests (Files): Likewise.
32433         * modules/array-list-tests (Files): Likewise.
32434         * modules/array-mergesort-tests (Files): Likewise.
32435         * modules/array-oset-tests (Files): Likewise.
32436         * modules/avltree-list-tests (Files): Likewise.
32437         * modules/avltree-oset-tests (Files): Likewise.
32438         * modules/avltreehash-list-tests (Files): Likewise.
32439         * modules/base64-tests (Files): Likewise.
32440         * modules/binary-io-tests (Files): Likewise.
32441         * modules/bitrotate-tests (Files): Likewise.
32442         * modules/btowc-tests (Files): Likewise.
32443         * modules/byteswap-tests (Files): Likewise.
32444         * modules/c-ctype-tests (Files): Likewise.
32445         * modules/c-stack-tests (Files): Likewise.
32446         * modules/c-strcase-tests (Files): Likewise.
32447         * modules/c-strcasestr-tests (Files): Likewise.
32448         * modules/c-strstr-tests (Files): Likewise.
32449         * modules/canonicalize-lgpl-tests (Files): Likewise.
32450         * modules/canonicalize-tests (Files): Likewise.
32451         * modules/carray-list-tests (Files): Likewise.
32452         * modules/ceilf-tests (Files): Likewise.
32453         * modules/ceill-tests (Files): Likewise.
32454         * modules/chown-tests (Files): Likewise.
32455         * modules/cloexec-tests (Files): Likewise.
32456         * modules/copy-file-tests (Files): Likewise.
32457         * modules/count-one-bits-tests (Files): Likewise.
32458         * modules/dprintf-posix-tests (Files): Likewise.
32459         * modules/dup2-tests (Files): Likewise.
32460         * modules/dup3-tests (Files): Likewise.
32461         * modules/duplocale-tests (Files): Likewise.
32462         * modules/fbufmode-tests (Files): Likewise.
32463         * modules/fchdir-tests (Files): Likewise.
32464         * modules/fcntl-safer-tests (Files): Likewise.
32465         * modules/fcntl-tests (Files): Likewise.
32466         * modules/fdopendir-tests (Files): Likewise.
32467         * modules/fdutimensat-tests (Files): Likewise.
32468         * modules/fflush-tests (Files): Likewise.
32469         * modules/filevercmp-tests (Files): Likewise.
32470         * modules/flock-tests (Files): Likewise.
32471         * modules/floorf-tests (Files): Likewise.
32472         * modules/floorl-tests (Files): Likewise.
32473         * modules/fnmatch-tests (Files): Likewise.
32474         * modules/fopen-safer-tests (Files): Likewise.
32475         * modules/fopen-tests (Files): Likewise.
32476         * modules/fpending-tests (Files): Likewise.
32477         * modules/fprintf-posix-tests (Files): Likewise.
32478         * modules/fpurge-tests (Files): Likewise.
32479         * modules/freadable-tests (Files): Likewise.
32480         * modules/freadahead-tests (Files): Likewise.
32481         * modules/freading-tests (Files): Likewise.
32482         * modules/freadptr-tests (Files): Likewise.
32483         * modules/freadseek-tests (Files): Likewise.
32484         * modules/freopen-tests (Files): Likewise.
32485         * modules/frexp-nolibm-tests (Files): Likewise.
32486         * modules/frexp-tests (Files): Likewise.
32487         * modules/frexpl-nolibm-tests (Files): Likewise.
32488         * modules/frexpl-tests (Files): Likewise.
32489         * modules/fseek-tests (Files): Likewise.
32490         * modules/fseeko-tests (Files): Likewise.
32491         * modules/fstrcmp-tests (Files): Likewise.
32492         * modules/fsync-tests (Files): Likewise.
32493         * modules/ftell-tests (Files): Likewise.
32494         * modules/ftello-tests (Files): Likewise.
32495         * modules/func-tests (Files): Likewise.
32496         * modules/futimens-tests (Files): Likewise.
32497         * modules/fwritable-tests (Files): Likewise.
32498         * modules/fwriting-tests (Files): Likewise.
32499         * modules/getcwd-tests (Files): Likewise.
32500         * modules/getdate-tests (Files): Likewise.
32501         * modules/getdelim-tests (Files): Likewise.
32502         * modules/getdtablesize-tests (Files): Likewise.
32503         * modules/getgroups-tests (Files): Likewise.
32504         * modules/getline-tests (Files): Likewise.
32505         * modules/getndelim2-tests (Files): Likewise.
32506         * modules/glob-tests (Files): Likewise.
32507         * modules/hash-tests (Files): Likewise.
32508         * modules/i-ring-tests (Files): Likewise.
32509         * modules/iconv-tests (Files): Likewise.
32510         * modules/iconv_open-utf-tests (Files): Likewise.
32511         * modules/idpriv-drop-tests (Files): Likewise.
32512         * modules/idpriv-droptemp-tests (Files): Likewise.
32513         * modules/inet_ntop-tests (Files): Likewise.
32514         * modules/inet_pton-tests (Files): Likewise.
32515         * modules/isblank-tests (Files): Likewise.
32516         * modules/isfinite-tests (Files): Likewise.
32517         * modules/isinf-tests (Files): Likewise.
32518         * modules/isnan-tests (Files): Likewise.
32519         * modules/isnand-nolibm-tests (Files): Likewise.
32520         * modules/isnand-tests (Files): Likewise.
32521         * modules/isnanf-nolibm-tests (Files): Likewise.
32522         * modules/isnanf-tests (Files): Likewise.
32523         * modules/isnanl-nolibm-tests (Files): Likewise.
32524         * modules/isnanl-tests (Files): Likewise.
32525         * modules/lchown-tests (Files): Likewise.
32526         * modules/ldexpl-tests (Files): Likewise.
32527         * modules/link-tests (Files): Likewise.
32528         * modules/linkat-tests (Files): Likewise.
32529         * modules/linked-list-tests (Files): Likewise.
32530         * modules/linkedhash-list-tests (Files): Likewise.
32531         * modules/localename-tests (Files): Likewise.
32532         * modules/lseek-tests (Files): Likewise.
32533         * modules/lstat-tests (Files): Likewise.
32534         * modules/mbmemcasecmp-tests (Files): Likewise.
32535         * modules/mbmemcasecoll-tests (Files): Likewise.
32536         * modules/mbrtowc-tests (Files): Likewise.
32537         * modules/mbscasecmp-tests (Files): Likewise.
32538         * modules/mbscasestr-tests (Files): Likewise.
32539         * modules/mbschr-tests (Files): Likewise.
32540         * modules/mbscspn-tests (Files): Likewise.
32541         * modules/mbsinit-tests (Files): Likewise.
32542         * modules/mbsncasecmp-tests (Files): Likewise.
32543         * modules/mbsnrtowcs-tests (Files): Likewise.
32544         * modules/mbspbrk-tests (Files): Likewise.
32545         * modules/mbspcasecmp-tests (Files): Likewise.
32546         * modules/mbsrchr-tests (Files): Likewise.
32547         * modules/mbsrtowcs-tests (Files): Likewise.
32548         * modules/mbsspn-tests (Files): Likewise.
32549         * modules/mbsstr-tests (Files): Likewise.
32550         * modules/memchr-tests (Files): Likewise.
32551         * modules/memchr2-tests (Files): Likewise.
32552         * modules/memcmp-tests (Files): Likewise.
32553         * modules/memmem-tests (Files): Likewise.
32554         * modules/memrchr-tests (Files): Likewise.
32555         * modules/mkdir-tests (Files): Likewise.
32556         * modules/mkfifo-tests (Files): Likewise.
32557         * modules/mkfifoat-tests (Files): Likewise.
32558         * modules/mknod-tests (Files): Likewise.
32559         * modules/nanosleep-tests (Files): Likewise.
32560         * modules/nl_langinfo-tests (Files): Likewise.
32561         * modules/obstack-printf-tests (Files): Likewise.
32562         * modules/open-tests (Files): Likewise.
32563         * modules/openat-tests (Files): Likewise.
32564         * modules/pipe-filter-gi-tests (Files): Likewise.
32565         * modules/pipe-filter-ii-tests (Files): Likewise.
32566         * modules/pipe2-tests (Files): Likewise.
32567         * modules/popen-safer-tests (Files): Likewise.
32568         * modules/popen-tests (Files): Likewise.
32569         * modules/posixtm-tests (Files): Likewise.
32570         * modules/pread-tests (Files): Likewise.
32571         * modules/printf-frexp-tests (Files): Likewise.
32572         * modules/printf-frexpl-tests (Files): Likewise.
32573         * modules/printf-posix-tests (Files): Likewise.
32574         * modules/priv-set-tests (Files): Likewise.
32575         * modules/quotearg-tests (Files): Likewise.
32576         * modules/random_r-tests (Files): Likewise.
32577         * modules/rawmemchr-tests (Files): Likewise.
32578         * modules/rbtree-list-tests (Files): Likewise.
32579         * modules/rbtree-oset-tests (Files): Likewise.
32580         * modules/rbtreehash-list-tests (Files): Likewise.
32581         * modules/readlink-tests (Files): Likewise.
32582         * modules/remove-tests (Files): Likewise.
32583         * modules/rename-tests (Files): Likewise.
32584         * modules/renameat-tests (Files): Likewise.
32585         * modules/rmdir-tests (Files): Likewise.
32586         * modules/round-tests (Files): Likewise.
32587         * modules/roundf-tests (Files): Likewise.
32588         * modules/roundl-tests (Files): Likewise.
32589         * modules/safe-alloc-tests (Files): Likewise.
32590         * modules/setenv-tests (Files): Likewise.
32591         * modules/sigaction-tests (Files): Likewise.
32592         * modules/signbit-tests (Files): Likewise.
32593         * modules/sleep-tests (Files): Likewise.
32594         * modules/snprintf-posix-tests (Files): Likewise.
32595         * modules/snprintf-tests (Files): Likewise.
32596         * modules/sprintf-posix-tests (Files): Likewise.
32597         * modules/stat-tests (Files): Likewise.
32598         * modules/stat-time-tests (Files): Likewise.
32599         * modules/strcasestr-tests (Files): Likewise.
32600         * modules/strchrnul-tests (Files): Likewise.
32601         * modules/strerror-tests (Files): Likewise.
32602         * modules/striconv-tests (Files): Likewise.
32603         * modules/striconveh-tests (Files): Likewise.
32604         * modules/striconveha-tests (Files): Likewise.
32605         * modules/strsignal-tests (Files): Likewise.
32606         * modules/strstr-tests (Files): Likewise.
32607         * modules/strtod-tests (Files): Likewise.
32608         * modules/strverscmp-tests (Files): Likewise.
32609         * modules/symlink-tests (Files): Likewise.
32610         * modules/symlinkat-tests (Files): Likewise.
32611         * modules/trunc-tests (Files): Likewise.
32612         * modules/truncf-tests (Files): Likewise.
32613         * modules/truncl-tests (Files): Likewise.
32614         * modules/uname-tests (Files): Likewise.
32615         * modules/unicase/cased-tests (Files): Likewise.
32616         * modules/unicase/ignorable-tests (Files): Likewise.
32617         * modules/unicase/locale-language-tests (Files): Likewise.
32618         * modules/unicase/tolower-tests (Files): Likewise.
32619         * modules/unicase/totitle-tests (Files): Likewise.
32620         * modules/unicase/toupper-tests (Files): Likewise.
32621         * modules/unicase/u8-casecmp-tests (Files): Likewise.
32622         * modules/unicase/u8-casecoll-tests (Files): Likewise.
32623         * modules/unicase/u8-casefold-tests (Files): Likewise.
32624         * modules/unicase/u8-is-cased-tests (Files): Likewise.
32625         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
32626         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
32627         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
32628         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
32629         * modules/unicase/u8-tolower-tests (Files): Likewise.
32630         * modules/unicase/u8-totitle-tests (Files): Likewise.
32631         * modules/unicase/u8-toupper-tests (Files): Likewise.
32632         * modules/unicase/u16-casecmp-tests (Files): Likewise.
32633         * modules/unicase/u16-casecoll-tests (Files): Likewise.
32634         * modules/unicase/u16-casefold-tests (Files): Likewise.
32635         * modules/unicase/u16-is-cased-tests (Files): Likewise.
32636         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
32637         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
32638         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
32639         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
32640         * modules/unicase/u16-tolower-tests (Files): Likewise.
32641         * modules/unicase/u16-totitle-tests (Files): Likewise.
32642         * modules/unicase/u16-toupper-tests (Files): Likewise.
32643         * modules/unicase/u32-casecmp-tests (Files): Likewise.
32644         * modules/unicase/u32-casecoll-tests (Files): Likewise.
32645         * modules/unicase/u32-casefold-tests (Files): Likewise.
32646         * modules/unicase/u32-is-cased-tests (Files): Likewise.
32647         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
32648         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
32649         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
32650         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
32651         * modules/unicase/u32-tolower-tests (Files): Likewise.
32652         * modules/unicase/u32-totitle-tests (Files): Likewise.
32653         * modules/unicase/u32-toupper-tests (Files): Likewise.
32654         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
32655         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
32656         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
32657         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
32658         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
32659         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
32660         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
32661         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
32662         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
32663         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
32664         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
32665         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
32666         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
32667         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
32668         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
32669         * modules/unictype/bidicategory-name-tests (Files): Likewise.
32670         * modules/unictype/bidicategory-of-tests (Files): Likewise.
32671         * modules/unictype/bidicategory-test-tests (Files): Likewise.
32672         * modules/unictype/block-list-tests (Files): Likewise.
32673         * modules/unictype/block-of-tests (Files): Likewise.
32674         * modules/unictype/block-test-tests (Files): Likewise.
32675         * modules/unictype/category-C-tests (Files): Likewise.
32676         * modules/unictype/category-Cc-tests (Files): Likewise.
32677         * modules/unictype/category-Cf-tests (Files): Likewise.
32678         * modules/unictype/category-Cn-tests (Files): Likewise.
32679         * modules/unictype/category-Co-tests (Files): Likewise.
32680         * modules/unictype/category-Cs-tests (Files): Likewise.
32681         * modules/unictype/category-L-tests (Files): Likewise.
32682         * modules/unictype/category-Ll-tests (Files): Likewise.
32683         * modules/unictype/category-Lm-tests (Files): Likewise.
32684         * modules/unictype/category-Lo-tests (Files): Likewise.
32685         * modules/unictype/category-Lt-tests (Files): Likewise.
32686         * modules/unictype/category-Lu-tests (Files): Likewise.
32687         * modules/unictype/category-M-tests (Files): Likewise.
32688         * modules/unictype/category-Mc-tests (Files): Likewise.
32689         * modules/unictype/category-Me-tests (Files): Likewise.
32690         * modules/unictype/category-Mn-tests (Files): Likewise.
32691         * modules/unictype/category-N-tests (Files): Likewise.
32692         * modules/unictype/category-Nd-tests (Files): Likewise.
32693         * modules/unictype/category-Nl-tests (Files): Likewise.
32694         * modules/unictype/category-No-tests (Files): Likewise.
32695         * modules/unictype/category-P-tests (Files): Likewise.
32696         * modules/unictype/category-Pc-tests (Files): Likewise.
32697         * modules/unictype/category-Pd-tests (Files): Likewise.
32698         * modules/unictype/category-Pe-tests (Files): Likewise.
32699         * modules/unictype/category-Pf-tests (Files): Likewise.
32700         * modules/unictype/category-Pi-tests (Files): Likewise.
32701         * modules/unictype/category-Po-tests (Files): Likewise.
32702         * modules/unictype/category-Ps-tests (Files): Likewise.
32703         * modules/unictype/category-S-tests (Files): Likewise.
32704         * modules/unictype/category-Sc-tests (Files): Likewise.
32705         * modules/unictype/category-Sk-tests (Files): Likewise.
32706         * modules/unictype/category-Sm-tests (Files): Likewise.
32707         * modules/unictype/category-So-tests (Files): Likewise.
32708         * modules/unictype/category-Z-tests (Files): Likewise.
32709         * modules/unictype/category-Zl-tests (Files): Likewise.
32710         * modules/unictype/category-Zp-tests (Files): Likewise.
32711         * modules/unictype/category-Zs-tests (Files): Likewise.
32712         * modules/unictype/category-and-not-tests (Files): Likewise.
32713         * modules/unictype/category-and-tests (Files): Likewise.
32714         * modules/unictype/category-byname-tests (Files): Likewise.
32715         * modules/unictype/category-name-tests (Files): Likewise.
32716         * modules/unictype/category-none-tests (Files): Likewise.
32717         * modules/unictype/category-of-tests (Files): Likewise.
32718         * modules/unictype/category-or-tests (Files): Likewise.
32719         * modules/unictype/category-test-withtable-tests (Files): Likewise.
32720         * modules/unictype/combining-class-tests (Files): Likewise.
32721         * modules/unictype/ctype-alnum-tests (Files): Likewise.
32722         * modules/unictype/ctype-alpha-tests (Files): Likewise.
32723         * modules/unictype/ctype-blank-tests (Files): Likewise.
32724         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
32725         * modules/unictype/ctype-digit-tests (Files): Likewise.
32726         * modules/unictype/ctype-graph-tests (Files): Likewise.
32727         * modules/unictype/ctype-lower-tests (Files): Likewise.
32728         * modules/unictype/ctype-print-tests (Files): Likewise.
32729         * modules/unictype/ctype-punct-tests (Files): Likewise.
32730         * modules/unictype/ctype-space-tests (Files): Likewise.
32731         * modules/unictype/ctype-upper-tests (Files): Likewise.
32732         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
32733         * modules/unictype/decimal-digit-tests (Files): Likewise.
32734         * modules/unictype/digit-tests (Files): Likewise.
32735         * modules/unictype/mirror-tests (Files): Likewise.
32736         * modules/unictype/numeric-tests (Files): Likewise.
32737         * modules/unictype/property-alphabetic-tests (Files): Likewise.
32738         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
32739         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
32740         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
32741         Likewise.
32742         * modules/unictype/property-bidi-block-separator-tests (Files):
32743         Likewise.
32744         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
32745         Likewise.
32746         * modules/unictype/property-bidi-common-separator-tests (Files):
32747         Likewise.
32748         * modules/unictype/property-bidi-control-tests (Files): Likewise.
32749         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
32750         Likewise.
32751         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
32752         Likewise.
32753         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
32754         Likewise.
32755         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
32756         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
32757         Likewise.
32758         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
32759         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
32760         Likewise.
32761         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
32762         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
32763         * modules/unictype/property-bidi-segment-separator-tests (Files):
32764         Likewise.
32765         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
32766         * modules/unictype/property-byname-tests (Files): Likewise.
32767         * modules/unictype/property-combining-tests (Files): Likewise.
32768         * modules/unictype/property-composite-tests (Files): Likewise.
32769         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
32770         * modules/unictype/property-dash-tests (Files): Likewise.
32771         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
32772         * modules/unictype/property-default-ignorable-code-point-tests (Files):
32773         Likewise.
32774         * modules/unictype/property-deprecated-tests (Files): Likewise.
32775         * modules/unictype/property-diacritic-tests (Files): Likewise.
32776         * modules/unictype/property-extender-tests (Files): Likewise.
32777         * modules/unictype/property-format-control-tests (Files): Likewise.
32778         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
32779         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
32780         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
32781         * modules/unictype/property-hex-digit-tests (Files): Likewise.
32782         * modules/unictype/property-hyphen-tests (Files): Likewise.
32783         * modules/unictype/property-id-continue-tests (Files): Likewise.
32784         * modules/unictype/property-id-start-tests (Files): Likewise.
32785         * modules/unictype/property-ideographic-tests (Files): Likewise.
32786         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
32787         * modules/unictype/property-ids-trinary-operator-tests (Files):
32788         Likewise.
32789         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
32790         * modules/unictype/property-iso-control-tests (Files): Likewise.
32791         * modules/unictype/property-join-control-tests (Files): Likewise.
32792         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
32793         * modules/unictype/property-line-separator-tests (Files): Likewise.
32794         * modules/unictype/property-logical-order-exception-tests (Files):
32795         Likewise.
32796         * modules/unictype/property-lowercase-tests (Files): Likewise.
32797         * modules/unictype/property-math-tests (Files): Likewise.
32798         * modules/unictype/property-non-break-tests (Files): Likewise.
32799         * modules/unictype/property-not-a-character-tests (Files): Likewise.
32800         * modules/unictype/property-numeric-tests (Files): Likewise.
32801         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
32802         * modules/unictype/property-other-default-ignorable-code-point-tests
32803         (Files): Likewise.
32804         * modules/unictype/property-other-grapheme-extend-tests (Files):
32805         Likewise.
32806         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
32807         * modules/unictype/property-other-id-start-tests (Files): Likewise.
32808         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
32809         * modules/unictype/property-other-math-tests (Files): Likewise.
32810         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
32811         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
32812         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
32813         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
32814         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
32815         * modules/unictype/property-private-use-tests (Files): Likewise.
32816         * modules/unictype/property-punctuation-tests (Files): Likewise.
32817         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
32818         * modules/unictype/property-radical-tests (Files): Likewise.
32819         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
32820         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
32821         * modules/unictype/property-space-tests (Files): Likewise.
32822         * modules/unictype/property-terminal-punctuation-tests (Files):
32823         Likewise.
32824         * modules/unictype/property-test-tests (Files): Likewise.
32825         * modules/unictype/property-titlecase-tests (Files): Likewise.
32826         * modules/unictype/property-unassigned-code-value-tests (Files):
32827         Likewise.
32828         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
32829         * modules/unictype/property-uppercase-tests (Files): Likewise.
32830         * modules/unictype/property-variation-selector-tests (Files): Likewise.
32831         * modules/unictype/property-white-space-tests (Files): Likewise.
32832         * modules/unictype/property-xid-continue-tests (Files): Likewise.
32833         * modules/unictype/property-xid-start-tests (Files): Likewise.
32834         * modules/unictype/property-zero-width-tests (Files): Likewise.
32835         * modules/unictype/scripts-tests (Files): Likewise.
32836         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
32837         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
32838         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
32839         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
32840         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
32841         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
32842         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
32843         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
32844         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
32845         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
32846         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
32847         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
32848         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
32849         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
32850         * modules/uninorm/composition-tests (Files): Likewise.
32851         * modules/uninorm/decomposing-form-tests (Files): Likewise.
32852         * modules/uninorm/decomposition-tests (Files): Likewise.
32853         * modules/uninorm/filter-tests (Files): Likewise.
32854         * modules/uninorm/nfc-tests (Files): Likewise.
32855         * modules/uninorm/nfd-tests (Files): Likewise.
32856         * modules/uninorm/nfkc-tests (Files): Likewise.
32857         * modules/uninorm/nfkd-tests (Files): Likewise.
32858         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
32859         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
32860         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
32861         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
32862         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
32863         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
32864         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
32865         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
32866         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
32867         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
32868         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
32869         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
32870         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
32871         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
32872         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
32873         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
32874         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
32875         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
32876         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
32877         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
32878         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
32879         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
32880         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
32881         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
32882         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
32883         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
32884         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
32885         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
32886         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
32887         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
32888         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
32889         * modules/uniwidth/u8-width-tests (Files): Likewise.
32890         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
32891         * modules/uniwidth/u16-width-tests (Files): Likewise.
32892         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
32893         * modules/uniwidth/u32-width-tests (Files): Likewise.
32894         * modules/uniwidth/width-tests (Files): Likewise.
32895         * modules/unlink-tests (Files): Likewise.
32896         * modules/unsetenv-tests (Files): Likewise.
32897         * modules/usleep-tests (Files): Likewise.
32898         * modules/utimens-tests (Files): Likewise.
32899         * modules/utimensat-tests (Files): Likewise.
32900         * modules/vasnprintf-posix-tests (Files): Likewise.
32901         * modules/vasnprintf-tests (Files): Likewise.
32902         * modules/vasprintf-posix-tests (Files): Likewise.
32903         * modules/vasprintf-tests (Files): Likewise.
32904         * modules/vdprintf-posix-tests (Files): Likewise.
32905         * modules/vfprintf-posix-tests (Files): Likewise.
32906         * modules/vprintf-posix-tests (Files): Likewise.
32907         * modules/vsnprintf-posix-tests (Files): Likewise.
32908         * modules/vsnprintf-tests (Files): Likewise.
32909         * modules/vsprintf-posix-tests (Files): Likewise.
32910         * modules/wcrtomb-tests (Files): Likewise.
32911         * modules/wcsnrtombs-tests (Files): Likewise.
32912         * modules/wcsrtombs-tests (Files): Likewise.
32913         * modules/wctype-tests (Files): Likewise.
32914         * modules/wcwidth-tests (Files): Likewise.
32915         * modules/xmemdup0-tests (Files): Likewise.
32916         * modules/xprintf-posix-tests (Files): Likewise.
32917         * modules/xvasprintf-tests (Files): Likewise.
32918
32919 2009-12-24  Eric Blake  <ebb9@byu.net>
32920
32921         test-nanosleep: fix typo
32922         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
32923         patch.
32924         Reported by Bruno Haible.
32925
32926 2009-12-24  Bruno Haible  <bruno@clisp.org>
32927
32928         Reduce namespace pollution on glibc systems.
32929         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
32930         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
32931         systems.
32932         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
32933         <getopt.h> on glibc systems.
32934         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
32935         systems.
32936         * lib/fcntl.c: Include <unistd.h> here instead.
32937
32938 2009-12-24  Bruno Haible  <bruno@clisp.org>
32939
32940         * lib/stdlib.in.h (includes): Fix typo in today's commit.
32941
32942 2009-12-24  Eric Blake  <ebb9@byu.net>
32943
32944         tests: add signature checks
32945         * tests/signature.h (SIGNATURE_CHECK): New file.
32946         * modules/atexit-tests (Files): Use it.
32947         * modules/btowc-tests (Files): Likewise.
32948         * modules/canonicalize-lgpl-tests (Files): Likewise.
32949         * modules/ceilf-tests (Files): Likewise.
32950         * modules/ceill-tests (Files): Likewise.
32951         * modules/chown-tests (Files): Likewise.
32952         * modules/dprintf-posix-tests (Files): Likewise.
32953         * modules/dup2-tests (Files): Likewise.
32954         * modules/dup3-tests (Files): Likewise.
32955         * modules/duplocale-tests (Files): Likewise.
32956         * modules/fchdir-tests (Files): Likewise.
32957         * modules/fcntl-tests (Files): Likewise.
32958         * modules/fdopendir-tests (Files): Likewise.
32959         * modules/fflush-tests (Files): Likewise.
32960         * modules/flock-tests (Files): Likewise.
32961         * modules/floorf-tests (Files): Likewise.
32962         * modules/floorl-tests (Files): Likewise.
32963         * modules/fnmatch-tests (Files): Likewise.
32964         * modules/fopen-tests (Files): Likewise.
32965         * modules/fprintf-posix-tests (Files): Likewise.
32966         * modules/freopen-tests (Files): Likewise.
32967         * modules/frexp-nolibm-tests (Files): Likewise.
32968         * modules/frexp-tests (Files): Likewise.
32969         * modules/frexpl-nolibm-tests (Files): Likewise.
32970         * modules/frexpl-tests (Files): Likewise.
32971         * modules/fseek-tests (Files): Likewise.
32972         * modules/fseeko-tests (Files): Likewise.
32973         * modules/fsync-tests (Files): Likewise.
32974         * modules/ftell-tests (Files): Likewise.
32975         * modules/ftello-tests (Files): Likewise.
32976         * modules/futimens-tests (Files): Likewise.
32977         * modules/getaddrinfo-tests (Files): Likewise.
32978         * modules/getcwd-tests (Files): Likewise.
32979         * modules/getdelim-tests (Files): Likewise.
32980         * modules/getdtablesize-tests (Files): Likewise.
32981         * modules/getgroups-tests (Files): Likewise.
32982         * modules/gethostname-tests (Files): Likewise.
32983         * modules/getline-tests (Files): Likewise.
32984         * modules/getopt-posix-tests (Files): Likewise.
32985         * modules/gettimeofday-tests (Files): Likewise.
32986         * modules/glob-tests (Files): Likewise.
32987         * modules/iconv-tests (Files): Likewise.
32988         * modules/inet_ntop-tests (Files): Likewise.
32989         * modules/inet_pton-tests (Files): Likewise.
32990         * modules/isblank-tests (Files): Likewise.
32991         * modules/lchown-tests (Files): Likewise.
32992         * modules/ldexpl-tests (Files): Likewise.
32993         * modules/link-tests (Files): Likewise.
32994         * modules/linkat-tests (Files): Likewise.
32995         * modules/lseek-tests (Files): Likewise.
32996         * modules/lstat-tests (Files): Likewise.
32997         * modules/mbrtowc-tests (Files): Likewise.
32998         * modules/mbsinit-tests (Files): Likewise.
32999         * modules/mbsnrtowcs-tests (Files): Likewise.
33000         * modules/mbsrtowcs-tests (Files): Likewise.
33001         * modules/memchr-tests (Files): Likewise.
33002         * modules/memcmp-tests (Files): Likewise.
33003         * modules/memmem-tests (Files): Likewise.
33004         * modules/memrchr-tests (Files): Likewise.
33005         * modules/mkdir-tests (Files): Likewise.
33006         * modules/mkfifo-tests (Files): Likewise.
33007         * modules/mkfifoat-tests (Files): Likewise.
33008         * modules/mknod-tests (Files): Likewise.
33009         * modules/nanosleep-tests (Files): Likewise.
33010         * modules/nl_langinfo-tests (Files): Likewise.
33011         * modules/obstack-printf-tests (Files): Likewise.
33012         * modules/open-tests (Files): Likewise.
33013         * modules/openat-tests (Files): Likewise.
33014         * modules/perror-tests (Files): Likewise.
33015         * modules/pipe2-tests (Files): Likewise.
33016         * modules/poll-tests (Files): Likewise.
33017         * modules/popen-tests (Files): Likewise.
33018         * modules/posix_spawn-tests (Files): Likewise.
33019         * modules/posix_spawnp-tests (Files): Likewise.
33020         * modules/pread-tests (Files): Likewise.
33021         * modules/printf-posix-tests (Files): Likewise.
33022         * modules/pty-tests (Files): Likewise.
33023         * modules/random_r-tests (Files): Likewise.
33024         * modules/rawmemchr-tests (Files): Likewise.
33025         * modules/readlink-tests (Files): Likewise.
33026         * modules/remove-tests (Files): Likewise.
33027         * modules/rename-tests (Files): Likewise.
33028         * modules/renameat-tests (Files): Likewise.
33029         * modules/rmdir-tests (Files): Likewise.
33030         * modules/round-tests (Files): Likewise.
33031         * modules/roundf-tests (Files): Likewise.
33032         * modules/roundl-tests (Files): Likewise.
33033         * modules/select-tests (Files): Likewise.
33034         * modules/setenv-tests (Files): Likewise.
33035         * modules/sigaction-tests (Files): Likewise.
33036         * modules/sleep-tests (Files): Likewise.
33037         * modules/snprintf-posix-tests (Files): Likewise.
33038         * modules/snprintf-tests (Files): Likewise.
33039         * modules/sprintf-posix-tests (Files): Likewise.
33040         * modules/stat-tests (Files): Likewise.
33041         * modules/strcasestr-tests (Files): Likewise.
33042         * modules/strchrnul-tests (Files): Likewise.
33043         * modules/strerror-tests (Files): Likewise.
33044         * modules/strsignal-tests (Files): Likewise.
33045         * modules/strstr-tests (Files): Likewise.
33046         * modules/strtod-tests (Files): Likewise.
33047         * modules/strverscmp-tests (Files): Likewise.
33048         * modules/symlink-tests (Files): Likewise.
33049         * modules/symlinkat-tests (Files): Likewise.
33050         * modules/times-tests (Files): Likewise.
33051         * modules/trunc-tests (Files): Likewise.
33052         * modules/truncf-tests (Files): Likewise.
33053         * modules/truncl-tests (Files): Likewise.
33054         * modules/tsearch-tests (Files): Likewise.
33055         * modules/uname-tests (Files): Likewise.
33056         * modules/unlink-tests (Files): Likewise.
33057         * modules/unsetenv-tests (Files): Likewise.
33058         * modules/usleep-tests (Files): Likewise.
33059         * modules/utimensat-tests (Files): Likewise.
33060         * modules/vasprintf-tests (Files): Likewise.
33061         * modules/vdprintf-posix-tests (Files): Likewise.
33062         * modules/vfprintf-posix-tests (Files): Likewise.
33063         * modules/vprintf-posix-tests (Files): Likewise.
33064         * modules/vsnprintf-posix-tests (Files): Likewise.
33065         * modules/vsnprintf-tests (Files): Likewise.
33066         * modules/vsprintf-posix-tests (Files): Likewise.
33067         * modules/wcrtomb-tests (Files): Likewise.
33068         * modules/wcsnrtombs-tests (Files): Likewise.
33069         * modules/wcsrtombs-tests (Files): Likewise.
33070         * modules/wcwidth-tests (Files): Likewise.
33071         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
33072         * tests/test-isinf.c (isinf): Likewise.
33073         * tests/test-isnan.c (isnan): Likewise.
33074         * tests/test-signbit.c (signbit): Likewise.
33075         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
33076         declaration, either as macro or with correct signature.
33077         (select): Ensure function under test is declared with correct
33078         signature in correct header.
33079         * tests/test-atexit.c (atexit): Likewise.
33080         * tests/test-btowc.c (btowc): Likewise.
33081         * tests/test-canonicalize-lgpl.c (realpath)
33082         (canonicalize_file_name): Likewise.
33083         * tests/test-ceilf1.c (ceilf): Likewise.
33084         * tests/test-ceill.c (ceill): Likewise.
33085         * tests/test-chown.c (chown): Likewise.
33086         * tests/test-dprintf-posix.c (dprintf): Likewise.
33087         * tests/test-dup2.c (dup2): Likewise.
33088         * tests/test-dup3.c (dup3): Likewise.
33089         * tests/test-duplocale.c (duplocale): Likewise.
33090         * tests/test-fchdir.c (fchdir): Likewise.
33091         * tests/test-fchownat.c (fchownat): Likewise.
33092         * tests/test-fcntl.c (fcntl): Likewise.
33093         * tests/test-fdopendir.c (fdopendir): Likewise.
33094         * tests/test-fflush.c (fflush): Likewise.
33095         * tests/test-flock.c (flock): Likewise.
33096         * tests/test-floorf1.c (floorf): Likewise.
33097         * tests/test-floorl.c (floorl): Likewise.
33098         * tests/test-fnmatch.c (fnmatch): Likewise.
33099         * tests/test-fopen.c (fopen): Likewise.
33100         * tests/test-fprintf-posix.c (fprintf): Likewise.
33101         * tests/test-freopen.c (freopen): Likewise.
33102         * tests/test-frexp.c (frexp): Likewise.
33103         * tests/test-frexpl.c (frexpl): Likewise.
33104         * tests/test-fseek.c (fseek): Likewise.
33105         * tests/test-fseeko.c (fseeko): Likewise.
33106         * tests/test-fstatat.c (fstatat): Likewise.
33107         * tests/test-fsync.c (fsync): Likewise.
33108         * tests/test-ftell.c (ftell): Likewise.
33109         * tests/test-ftello.c (ftello): Likewise.
33110         * tests/test-futimens.c (futimens): Likewise.
33111         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
33112         (gai_strerror): Likewise.
33113         * tests/test-getcwd.c (getcwd): Likewise.
33114         * tests/test-getdelim.c (getdelim): Likewise.
33115         * tests/test-getdtablesize.c (getdtablesize): Likewise.
33116         * tests/test-getgroups.c (getgroups): Likewise.
33117         * tests/test-gethostname.c (gethostname): Likewise.
33118         * tests/test-getline.c (getline): Likewise.
33119         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
33120         Likewise.
33121         * tests/test-gettimeofday.c (gettimeofday): Likewise.
33122         * tests/test-glob.c (glob, globfree): Likewise.
33123         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
33124         * tests/test-inet_ntop.c (inet_ntop): Likewise.
33125         * tests/test-inet_pton.c (inet_pton): Likewise.
33126         * tests/test-isblank.c (isblank): Likewise.
33127         * tests/test-lchown.c (lchown): Likewise.
33128         * tests/test-ldexpl.c (ldexpl): Likewise.
33129         * tests/test-link.c (link): Likewise.
33130         * tests/test-linkat.c (linkat): Likewise.
33131         * tests/test-lseek.c (lseek): Likewise.
33132         * tests/test-lstat.c (lstat): Likewise.
33133         * tests/test-mbrtowc.c (mbrtowc): Likewise.
33134         * tests/test-mbsinit.c (mbsinit): Likewise.
33135         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
33136         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
33137         * tests/test-memchr.c (memchr): Likewise.
33138         * tests/test-memcmp.c (memcmp): Likewise.
33139         * tests/test-memmem.c (memmem): Likewise.
33140         * tests/test-memrchr.c (memrchr): Likewise.
33141         * tests/test-mkdir.c (mkdir): Likewise.
33142         * tests/test-mkdirat.c (mkdirat): Likewise.
33143         * tests/test-mkfifo.c (mkfifo): Likewise.
33144         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
33145         * tests/test-mknod.c (mknod): Likewise.
33146         * tests/test-nanosleep.c (nanosleep): Likewise.
33147         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
33148         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
33149         Likewise.
33150         * tests/test-open.c (open): Likewise.
33151         * tests/test-openat.c (openat): Likewise.
33152         * tests/test-perror.c (perror): Likewise.
33153         * tests/test-pipe2.c (pipe2): Likewise.
33154         * tests/test-poll.c (poll): Likewise.
33155         * tests/test-popen.c (popen, pclose): Likewise.
33156         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
33157         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
33158         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
33159         (posix_spawn_file_actions_destroy)
33160         (posix_spawn_file_actions_addclose)
33161         (posix_spawn_file_actions_addopen)
33162         (posix_spawn_file_actions_adddup2): Likewise.
33163         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
33164         * tests/test-pread.c (pread): Likewise.
33165         * tests/test-printf-posix.c (printf): Likewise.
33166         * tests/test-pty.c (openpty, forkpty): Likewise.
33167         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
33168         (random_r): Likewise.
33169         * tests/test-rawmemchr.c (rawmemchr): Likewise.
33170         * tests/test-readlink.c (readlink): Likewise.
33171         * tests/test-remove.c (remove): Likewise.
33172         * tests/test-rename.c (rename): Likewise.
33173         * tests/test-renameat.c (renameat): Likewise.
33174         * tests/test-rmdir.c (rmdir): Likewise.
33175         * tests/test-round1.c (round): Likewise.
33176         * tests/test-roundf1.c (roundf): Likewise.
33177         * tests/test-roundl.c (roundl): Likewise.
33178         * tests/test-setenv.c (setenv): Likewise.
33179         * tests/test-sigaction.c (sigaction): Likewise.
33180         * tests/test-sleep.c (sleep): Likewise.
33181         * tests/test-snprintf.c (snprintf): Likewise.
33182         * tests/test-sprintf-posix.c (sprintf): Likewise.
33183         * tests/test-stat.c (stat): Likewise.
33184         * tests/test-stpncpy.c (stpncpy): Likewise.
33185         * tests/test-strcasestr.c (strcasestr): Likewise.
33186         * tests/test-strchrnul.c (strchrnul): Likewise.
33187         * tests/test-strerror.c (strerror): Likewise.
33188         * tests/test-strsignal.c (strsignal): Likewise.
33189         * tests/test-strstr.c (strstr): Likewise.
33190         * tests/test-strtod.c (strtod): Likewise.
33191         * tests/test-strverscmp.c (strverscmp): Likewise.
33192         * tests/test-symlink.c (symlink): Likewise.
33193         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
33194         * tests/test-times.c (times): Likewise.
33195         * tests/test-trunc1.c (trunc): Likewise.
33196         * tests/test-truncf1.c (truncf): Likewise.
33197         * tests/test-truncl.c (truncl): Likewise.
33198         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
33199         Likewise.
33200         * tests/test-uname.c (uname): Likewise.
33201         * tests/test-unlink.c (unlink): Likewise.
33202         * tests/test-unlinkat.c (unlinkat): Likewise.
33203         * tests/test-unsetenv.c (unsetenv): Likewise.
33204         * tests/test-usleep.c (usleep): Likewise.
33205         * tests/test-utimensat.c (utimensat): Likewise.
33206         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
33207         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
33208         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
33209         * tests/test-vprintf-posix.c (vprintf): Likewise.
33210         * tests/test-vsnprintf.c (vsnprintf): Likewise.
33211         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
33212         * tests/test-wcrtomb.c (wcrtomb): Likewise.
33213         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
33214         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
33215         * tests/test-wcwidth.c (wcwidth): Likewise.
33216
33217         build: pull in conditional headers during GNULIB_POSIXCHECK
33218         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
33219         definitions from any conditionally-included headers.
33220         * lib/stdlib.in.h (includes): Likewise.
33221         * lib/unistd.in.h (includes): Likewise.
33222
33223 2009-12-24  Bruno Haible  <bruno@clisp.org>
33224
33225         * tests/test-argv-iter.c: Include header file being tested immediately
33226         after config.h.
33227         * tests/test-base64.c: Likewise.
33228         * tests/test-flock.c: Likewise.
33229         * tests/test-fsync.c: Likewise.
33230         * tests/test-getdate.c: Likewise.
33231         * tests/test-getndelim2.c: Likewise.
33232         * tests/test-isfinite.c: Likewise.
33233         * tests/test-isinf.c: Likewise.
33234         * tests/test-strerror.c: Likewise.
33235         * tests/test-strsignal.c: Likewise.
33236
33237 2009-12-23  Eric Blake  <ebb9@byu.net>
33238
33239         unistd: work around cygwin bug
33240         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
33241         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
33242         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
33243
33244 2009-12-23  Bruno Haible  <bruno@clisp.org>
33245
33246         localename: More tests.
33247         * tests/test-localename.c (SIZEOF): New macro.
33248         (categories): New variable.
33249         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
33250         test_locale_name_default): Add test w.r.t. thread locale.
33251         (test_locale_name_thread): New function.
33252         (main): Invoke it.
33253
33254         localename: Make aware of thread locale.
33255         * lib/localename.h (gl_locale_name_thread): New declaration.
33256         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
33257         behaviour with respect to thread locale.
33258         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
33259         <langinfo.h>, glthread/lock.h.
33260         (SIZE_BITS): New macro.
33261         (string_hash): New function.
33262         (struct hash_node): New type.
33263         (HASH_TABLE_SIZE): New macro.
33264         (struniq_hash_table, struniq_lock): New variables.
33265         (struniq): New function.
33266         (gl_locale_name_thread): New function.
33267         (gl_locale_name): Invoke it.
33268         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
33269         * modules/localename (Depends-on): Add lock.
33270         Reported by Mike Gran <spk121@yahoo.com>.
33271
33272 2009-12-23  Eric Blake  <ebb9@byu.net>
33273
33274         va-args: new module
33275         * modules/va-args: New file.
33276         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
33277         * MODULES.html.sh (Core language properties): Mention it.
33278
33279         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
33280         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
33281         named alias for __attribute__((__unused__)).
33282         * lib/chown.c: Update client.
33283         * lib/fchmodat.c: Likewise.
33284         * lib/fts.c: Likewise.
33285         * lib/getdate.y: Likewise.
33286         * lib/getgroups.c: Likewise.
33287         * lib/getopt.c: Likewise.
33288         * lib/getugroups.c: Likewise.
33289         * lib/mkdir.c: Likewise.
33290         * lib/mkfifo.c: Likewise.
33291         * lib/mkfifoat.c: Likewise.
33292         * lib/mknod.c: Likewise.
33293         * lib/mknodat.c: Likewise.
33294         * lib/readlink.c: Likewise.
33295         * lib/se-context.in.h: Likewise.
33296         * lib/se-selinux.in.h: Likewise.
33297         * lib/sockets.c: Likewise.
33298         * lib/symlink.c: Likewise.
33299         * lib/symlinkat.c: Likewise.
33300         * lib/unicodeio.c: Likewise.
33301         * lib/unistr.h: Likewise.
33302         * tests/test-areadlink.c: Likewise.
33303         * tests/test-areadlinkat.c: Likewise.
33304         * tests/test-filenamecat.c: Likewise.
33305         * tests/test-fseeko.c: Likewise.
33306         * tests/test-ftello.c: Likewise.
33307         * tests/test-getdate.c: Likewise.
33308         * tests/test-getgroups.c: Likewise.
33309         * tests/test-gethostname.c: Likewise.
33310         * tests/test-quotearg.c: Likewise.
33311         * tests/test-version-etc.c: Likewise.
33312         * tests/test-xalloc-die.c: Likewise.
33313         * tests/test-xfprintf-posix.c: Likewise.
33314         * tests/test-xprintf-posix.c: Likewise.
33315         * tests/test-xvasprintf.c: Likewise.
33316
33317         tests: avoid compiler warnings
33318         * tests/test-fcntl.c (main): Delete unused parameters.
33319         * tests/test-freopen-safer.c (main): Likewise.
33320         * tests/test-xalloc-die.c (main): Mark unused parameters.
33321         * tests/test-fseeko.c (main): Likewise.
33322         * tests/test-ftello.c (main): Likewise.
33323         * tests/test-nanosleep.c (main): Avoid declaration warning.
33324         * tests/test-sleep.c (main): Likewise.
33325         * tests/test-unsetenv.c (main): Silence warning about string
33326         literal.
33327         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
33328
33329 2009-12-23  Bruno Haible  <bruno@clisp.org>
33330
33331         * tests/test-localename.c (test_locale_name): New function, extracted
33332         from main. Also test mixed situations.
33333         (test_locale_name_posix, test_locale_name_environ,
33334         test_locale_name_default): New functions.
33335         (main): Invoke them all.
33336         * modules/localename-tests (configure.ac): Test for newlocale.
33337
33338 2009-12-23  Bruno Haible  <bruno@clisp.org>
33339
33340         unistd: Ensure getcwd gets declared before being overridden.
33341         * lib/unistd.in.h: Conditionally include <io.h>.
33342
33343 2009-12-22  Bruno Haible  <bruno@clisp.org>
33344
33345         wchar: Diagnose broken combination of glibc and gcc versions and flags.
33346         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
33347         (gl_WCHAR_H): Invoke it.
33348         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
33349         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
33350         Reported by Karl Berry <karl@freefriends.org>.
33351
33352 2009-12-22  Eric Blake  <ebb9@byu.net>
33353
33354         math, unistd: avoid redundant includes
33355         * lib/math.in.h (isnan): No need to re-include <math.h>.
33356         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
33357
33358         getsubopt: work around cygwin bug
33359         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
33360         avoid conflicting with system getsubopt.
33361         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
33362         bug.
33363
33364         getopt: synchronize from glibc
33365         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
33366         parameter order.  Adjust all callers.
33367         (_getopt_internal_r, main): Adjust quoting in error messages.
33368         Drop considerations for outdated POSIX 1003.2 error message.
33369         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
33370         callers.
33371         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
33372
33373         test-getopt: test stderr behavior
33374         * modules/getopt-posix-tests (Depends-on): Add dup2.
33375         * tests/test-getopt.c (ASSERT): Avoid stderr.
33376         (main): Move stderr to a temporary file.
33377         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
33378         Instead, add parameter to inform caller if output occurred.
33379         (test_getopt): Adjust all existing tests to expect silence, and
33380         add new tests of leading ":".
33381         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
33382         glibc shortcomings with leading "-:" or "+:" in optstring.
33383         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33384         Likewise.
33385         * doc/posix-functions/getopt.texi (getopt): Likewise.
33386
33387         test-getopt: enhance test
33388         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
33389         supports optind=0.
33390         * tests/test-getopt.c (OPTIND_MIN): Move...
33391         * tests/test-getopt.h (OPTIND_MIN): ...here.
33392         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
33393         Require that optind=0 works, since modern BSD supports it in
33394         addition to optreset, and since coreutils expects it.
33395         (test_getopt_long_only): New test.
33396         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
33397         glibc shortcomings with 'W;', and enforcement of optind=0.
33398         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33399         Likewise.
33400
33401 2009-12-21  Bruno Haible  <bruno@clisp.org>
33402
33403         localename: Improvements for MacOS X and Cygwin.
33404         * lib/localename.h (gl_locale_name_environ): New declaration.
33405         * lib/localename.c (gl_locale_name_environ): New function, extracted from
33406         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
33407         (gl_locale_name_posix): Invoke it.
33408         (gl_locale_name_default): Add comments. Use Windows native API also on
33409         Cygwin.
33410
33411 2009-12-21  Bruno Haible  <bruno@clisp.org>
33412
33413         Update list of Win32 locale ids.
33414         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
33415         (LANG_SAMI): Renamed from LANG_SAAMI.
33416         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
33417         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
33418         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
33419         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
33420         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
33421         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
33422         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
33423         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
33424         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
33425         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
33426         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
33427         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
33428         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
33429         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
33430         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
33431         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
33432         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
33433         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
33434         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
33435         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
33436         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
33437         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
33438         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
33439         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
33440         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
33441         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
33442         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
33443         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
33444         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
33445         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
33446         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
33447         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
33448         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
33449         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
33450         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
33451         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
33452         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
33453         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
33454         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
33455         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
33456         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
33457         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
33458         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
33459         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
33460         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
33461         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
33462         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
33463         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
33464         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
33465         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
33466         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
33467         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
33468         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
33469         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
33470         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
33471         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
33472         Add more languages and countries for Sami, Sorbian. Add more countries
33473         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
33474         for Pashto. Change country for Syriac, Tswana.
33475
33476 2009-12-21  Eric Blake  <ebb9@byu.net>
33477
33478         test-utimens: avoid spurious failure
33479         * tests/test-chown.h (nap): Factor...
33480         * tests/nap.h: ...into new file.
33481         * tests/test-lchown.h (nap): Avoid duplication.
33482         * tests/test-utimens-common.h (nap): Use shared implementation,
33483         necessary on file systems with 1-second resolution.
33484         * modules/chown-tests (Files): Include new file.
33485         * modules/fdutimensat-tests (Files): Likewise.
33486         * modules/futimens-tests (Files): Likewise.
33487         * modules/lchown-tests (Files): Likewise.
33488         * modules/openat-tests (Files): Likewise.
33489         * modules/utimens-tests (Files): Likewise.
33490         * modules/utimensat-tests (Files): Likewise.
33491
33492 2009-12-19  Eric Blake  <ebb9@byu.net>
33493
33494         futimens, utimensat: work around Linux bug
33495         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
33496         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33497         * lib/utimensat.c (rpl_utimensat): Work around it.
33498         * lib/futimens.c (rpl_futimens): Adjust comment.
33499
33500         utimens: work around Linux ctime bug
33501         * lib/utimens.c (detect_ctime_bug): New helper function.
33502         (update_timespec): Differentiate between workaround needed for
33503         this bug vs. what is needed for systems that lack utimensat.
33504         (fdutimens, lutimens): Work around bug.
33505
33506         utimens: check for ctime update
33507         * tests/test-utimens-common.h (check_ctime): Define.
33508         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
33509         * tests/test-futimens.h (test_futimens): Likewise.
33510         * tests/test-lutimens.h (test_lutimens): Likewise.
33511         * doc/posix-functions/futimens.texi (futimens): Document the bug.
33512         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33513
33514 2009-12-19  Bruno Haible  <bruno@clisp.org>
33515
33516         dprintf-posix: Check against memory leak fixed on 2009-12-15.
33517         * tests/test-dprintf-posix2.sh: New file.
33518         * tests/test-dprintf-posix2.c: New file.
33519         * modules/dprintf-posix-tests (Files): Add them.
33520         (configure.ac): Check for getrlimit and setrlimit.
33521         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
33522
33523 2009-12-19  Bruno Haible  <bruno@clisp.org>
33524
33525         fprintf-posix: Check against memory leak fixed on 2009-12-15.
33526         * tests/test-fprintf-posix3.sh: New file.
33527         * tests/test-fprintf-posix3.c: New file.
33528         * modules/fprintf-posix-tests (Files): Add them.
33529         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
33530
33531 2009-12-19  Eric Blake  <ebb9@byu.net>
33532
33533         dirfd: fix prototype
33534         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
33535         * lib/dirfd.c (dirfd): Likewise.
33536
33537         canonicalize: reduce memory usage
33538         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
33539         allocation to size.
33540         Reported by Solar Designer <solar@openwall.com>.
33541
33542 2009-12-19  Bruno Haible  <bruno@clisp.org>
33543
33544         New module attribute 'Applicability'.
33545         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
33546         * gnulib-tool: New option --extract-applicability.
33547         (func_usage): Document it.
33548         (sed_extract_prog): Recognize it.
33549         (func_get_applicability): New function.
33550         (func_import): Generalize handling of 'link-warning' module.
33551         * modules/link-warning (Applicability): New section.
33552         * modules/arg-nonnull (Applicability): New section.
33553         Repoted by Simon Josefsson <simon@josefsson.org>.
33554
33555 2009-12-19  Bruno Haible  <bruno@clisp.org>
33556
33557         fflush: tweak
33558         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
33559         * lib/fseeko.c (rpl_fseeko): Likewise.
33560
33561 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
33562
33563         * lib/gl_list.h: Fix typo in comment.
33564
33565 2009-12-16  Eric Blake  <ebb9@byu.net>
33566
33567         fcntl: use to simplify other modules
33568         * modules/cloexec (Depends-on): Add fcntl.
33569         * modules/fchdir (Depends-on): Likewise.
33570         * modules/fd-safer-flag (Depends-on): Likewise.
33571         * modules/unistd-safer (Depends-on): Likewise.
33572         * modules/dup3 (configure.ac): Set module indicator.
33573         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
33574         missing.
33575         * lib/fchdir.c (_gl_register_dup): Fix comment.
33576         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
33577         * lib/dup-safer.c (dup_safer): Likewise.
33578         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
33579         * lib/dup3.c (dup3): Likewise.
33580         * tests/test-fchdir.c (main): Enhance test.
33581         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
33582
33583         fcntl: port portions of fcntl to mingw
33584         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
33585         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
33586         replacement for mingw.
33587         * modules/fcntl (Description): Update.
33588         (Depends-on): Add dup2.
33589         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
33590         * modules/fcntl-h (Makefile.am): Substitute it.
33591         * lib/fcntl.in.h (fcntl): Update declaration.
33592         (F_DUPFD, F_GETFD): New macros, when needed.
33593         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
33594         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
33595         * tests/test-fcntl.c (check_flags, main): Enhance test for items
33596         we now guarantee.
33597
33598         fcntl: work around cygwin bug in F_DUPFD
33599         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
33600         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
33601         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
33602         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
33603         * doc/posix-functions/fcntl.texi (fcntl): Document it.
33604
33605         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
33606         * modules/fcntl (Files): List new files.
33607         (configure.ac): Run a test.
33608         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
33609         * lib/fcntl.c (rpl_fcntl): Likewise.
33610         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
33611         (gl_FCNTL_H): Always replace fcntl.h.
33612         * modules/fcntl-h (Makefile.am): Substitute witnesses.
33613         * lib/fcntl.in.h (fcntl): Declare replacement.
33614         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
33615         needed, plus a witness.
33616         * doc/posix-functions/fcntl.texi (fcntl): Document this.
33617         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
33618         * tests/test-fcntl.c: New file.
33619         * modules/fcntl-tests: Likewise.
33620
33621         binary-io: avoid potential compilation warning
33622         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
33623         directives.
33624
33625         fflush: avoid compilation error on NetBSD
33626         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
33627         between off_t and fpos_t, since the latter is sometimes a struct.
33628         * lib/fseeko.c (rpl_fseeko): Likewise.
33629         Reported by Alexander Nasonov <alnsn@yandex.ru>.
33630
33631 2009-12-15  Eric Blake  <ebb9@byu.net>
33632
33633         fcntl-h, stdio, sys_ioctl: fix declarations
33634         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
33635         function must not take arguments.
33636         * lib/sys_ioctl.in.h (ioctl): Likewise.
33637         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
33638         (open): Add a link warning.
33639
33640 2009-12-15  Jim Meyering  <meyering@redhat.com>
33641
33642         areadlink, areadlink-with-size: relax license to LGPLv2+
33643         * modules/areadlink (License): Relax to LGPLv2+.
33644         * modules/areadlink-with-size (License): Likewise.
33645
33646 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
33647             Bruno Haible  <bruno@clisp.org>
33648
33649         *printf: Fix memory leak.
33650         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
33651         * lib/vfprintf.c (vfprintf): Likewise.
33652         * lib/dprintf.c (dprintf): Likewise.
33653         * lib/vdprintf.c (vdprintf): Likewise.
33654
33655 2009-12-14  Eric Blake  <ebb9@byu.net>
33656
33657         accept4: adjust module dependencies
33658         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
33659
33660         utimens: one more try at avoiding compiler warning
33661         * lib/utimens.c (lutimens): Lower scope of result.
33662
33663 2009-12-13  Bruno Haible  <bruno@clisp.org>
33664
33665         Move the malloc checking from module 'list' to new module 'xlist'.
33666         * modules/xlist: New file.
33667         * lib/gl_xlist.h: New file.
33668         * lib/gl_xlist.c: New file.
33669         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
33670         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
33671         gl_list_add_last, gl_list_add_before, gl_list_add_after,
33672         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
33673         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
33674         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
33675         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
33676         gl_sortedlist_nx_add): New declarations.
33677         (struct gl_list_implementation): Rename and change methods accordingly.
33678         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
33679         (gl_list_nx_create): Renamed from gl_list_create.
33680         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
33681         (gl_list_nx_set_at): Renamed from gl_list_set_at.
33682         (gl_list_nx_add_first): Renamed from gl_list_add_first.
33683         (gl_list_nx_add_last): Renamed from gl_list_add_last.
33684         (gl_list_nx_add_before): Renamed from gl_list_add_before.
33685         (gl_list_nx_add_after): Renamed from gl_list_add_after.
33686         (gl_list_nx_add_at): Renamed from gl_list_add_at.
33687         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
33688         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
33689         gl_list_create_empty.
33690         (gl_list_nx_create): Renamed from gl_list_create.
33691         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
33692         (gl_list_nx_set_at): Renamed from gl_list_set_at.
33693         (gl_list_nx_add_first): Renamed from gl_list_add_first.
33694         (gl_list_nx_add_last): Renamed from gl_list_add_last.
33695         (gl_list_nx_add_before): Renamed from gl_list_add_before.
33696         (gl_list_nx_add_after): Renamed from gl_list_add_after.
33697         (gl_list_nx_add_at): Renamed from gl_list_add_at.
33698         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
33699         * lib/gl_array_list.c: Don't include xalloc.h.
33700         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
33701         NULL upon out-of-memory.
33702         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
33703         out-of-memory.
33704         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
33705         Change return type to 'int'.
33706         (gl_array_nx_set_at): Renamed from gl_array_set_at.
33707         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
33708         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
33709         upon out-of-memory.
33710         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
33711         upon out-of-memory.
33712         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
33713         upon out-of-memory.
33714         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
33715         upon out-of-memory.
33716         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
33717         out-of-memory.
33718         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
33719         Update.
33720         (gl_array_list_implementation): Update.
33721         * lib/gl_carray_list.c: Don't include xalloc.h.
33722         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
33723         Return NULL upon out-of-memory.
33724         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
33725         out-of-memory.
33726         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
33727         Change return type to 'int'.
33728         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
33729         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
33730         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
33731         upon out-of-memory.
33732         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
33733         upon out-of-memory.
33734         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
33735         out-of-memory.
33736         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
33737         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
33738         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
33739         Update.
33740         (gl_carray_list_implementation): Update.
33741         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
33742         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
33743         gl_linked_create_empty. Return NULL upon out-of-memory.
33744         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
33745         out-of-memory.
33746         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
33747         Change return type to 'int'. Return -1 upon out-of-memory.
33748         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
33749         out-of-memory.
33750         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
33751         upon out-of-memory.
33752         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
33753         upon out-of-memory.
33754         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
33755         NULL upon out-of-memory.
33756         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
33757         upon out-of-memory.
33758         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
33759         out-of-memory.
33760         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
33761         Update.
33762         * lib/gl_linked_list.c: Don't include xalloc.h.
33763         (gl_linked_list_implementation): Update.
33764         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
33765         (add_to_bucket): Change return type to 'int'.
33766         (gl_linkedhash_list_implementation): Update.
33767         * lib/gl_anytree_list1.h (free_subtree): New function.
33768         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
33769         gl_tree_create_empty. Return NULL upon out-of-memory.
33770         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
33771         Change return type to 'int'. Return -1 upon out-of-memory.
33772         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
33773         out-of-memory.
33774         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
33775         (gl_tree_remove_node): New function, moved here from
33776         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
33777         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
33778         Update.
33779         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
33780         malloc, not xmalloc. Return NULL upon out-of-memory.
33781         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
33782         out-of-memory.
33783         (gl_tree_remove_node_from_tree): New function, extracted from
33784         gl_tree_remove_node.
33785         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
33786         upon out-of-memory.
33787         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
33788         out-of-memory.
33789         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
33790         upon out-of-memory.
33791         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
33792         upon out-of-memory.
33793         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
33794         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
33795         not xmalloc. Return NULL upon out-of-memory.
33796         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
33797         out-of-memory.
33798         (gl_tree_remove_node_from_tree): New function, extracted from
33799         gl_tree_remove_node.
33800         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
33801         upon out-of-memory.
33802         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
33803         out-of-memory.
33804         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
33805         upon out-of-memory.
33806         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
33807         upon out-of-memory.
33808         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
33809         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
33810         gl_anytree_list1.h before gl_anyavltree_list2.h.
33811         (gl_avltree_list_implementation): Update.
33812         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
33813         gl_anytree_list1.h before gl_anyavltree_list2.h.
33814         (gl_rbtree_list_implementation): Update.
33815         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
33816         Change return type to 'int'. Return -1 upon out-of-memory. Use
33817         __builtin_expect.
33818         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
33819         (gl_avltreehash_list_implementation): Update.
33820         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
33821         (gl_rbtreehash_list_implementation): Update.
33822         * modules/array-list (Depends-on): Remove xalloc.
33823         * modules/carray-list (Depends-on): Likewise.
33824         * modules/linked-list (Depends-on): Likewise.
33825         * modules/linkedhash-list (Depends-on): Likewise.
33826         * modules/avltree-list (Depends-on): Likewise.
33827         * modules/rbtree-list (Depends-on): Likewise.
33828         * modules/avltreehash-list (Depends-on): Likewise.
33829         * modules/rbtreehash-list (Depends-on): Likewise.
33830
33831         * modules/xsublist: New file.
33832         * lib/gl_xsublist.h: New file.
33833         * lib/gl_xsublist.c: New file.
33834         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
33835         (gl_sublist_nx_create): New declaration.
33836         * lib/gl_sublist.c: Don't include xalloc.h.
33837         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
33838         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
33839         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
33840         Change return type to 'int'. Return -1 upon out-of-memory.
33841         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
33842         upon out-of-memory.
33843         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
33844         NULL upon out-of-memory.
33845         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
33846         upon out-of-memory.
33847         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
33848         NULL upon out-of-memory.
33849         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
33850         NULL upon out-of-memory.
33851         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
33852         upon out-of-memory.
33853         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
33854         (gl_sublist_list_implementation): Update.
33855         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
33856         upon out-of-memory.
33857         * modules/sublist (Depends-on): Remove xalloc.
33858
33859         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
33860         * tests/test-carray_list.c: Likewise.
33861         * tests/test-linked_list.c: Likewise.
33862         * tests/test-linkedhash_list.c: Likewise.
33863         * tests/test-avltree_list.c: Likewise.
33864         * tests/test-rbtree_list.c: Likewise.
33865         * tests/test-avltreehash_list.c: Likewise.
33866         * tests/test-rbtreehash_list.c: Likewise.
33867         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
33868         * modules/carray-list-tests (Makefile.am): Likewise.
33869         * modules/linked-list-tests (Makefile.am): Likewise.
33870         * modules/linkedhash-list-tests (Makefile.am): Likewise.
33871         * modules/avltree-list-tests (Makefile.am): Likewise.
33872         * modules/rbtree-list-tests (Makefile.am): Likewise.
33873         * modules/avltreehash-list-tests (Makefile.am): Likewise.
33874         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
33875
33876         * NEWS: Mention the changes.
33877
33878         * lib/clean-temp.c: Include gl_xlist.h.
33879         * modules/clean-temp (Depends-on): Add xlist.
33880
33881         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
33882         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
33883
33884         * tests/test-array_oset.c: Include gl_xlist.h.
33885         * modules/array-oset-tests (Depends-on): Add xlist.
33886
33887         Reported by José E. Marchesi <jemarch@gnu.org>.
33888
33889 2009-12-13  Bruno Haible  <bruno@clisp.org>
33890
33891         Move the malloc checking from module 'oset' to new module 'xoset'.
33892         * modules/xoset: New file.
33893         * lib/gl_xoset.h: New file.
33894         * lib/gl_xoset.c: New file.
33895         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
33896         declarations.
33897         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
33898         (struct gl_oset_implementation): Rename and change methods accordingly.
33899         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
33900         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
33901         'int'. Mark as __warn_unused_result__.
33902         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
33903         gl_oset_create_empty.
33904         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
33905         'int'.
33906         * lib/gl_array_oset.c: Don't include xalloc.h.
33907         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
33908         malloc, not xmalloc.
33909         (grow): Change return type to 'int'. Don't call xalloc_die.
33910         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
33911         to 'int'.
33912         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
33913         'int'.
33914         (gl_array_oset_implementation): Update.
33915         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
33916         gl_tree_create_empty.
33917         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
33918         'int'.
33919         * lib/gl_avltree_oset.c: Don't include xalloc.h.
33920         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
33921         xmalloc.
33922         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
33923         not xmalloc.
33924         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
33925         xmalloc.
33926         (gl_avltree_oset_implementation): Update.
33927         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
33928         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
33929         xmalloc.
33930         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
33931         not xmalloc.
33932         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
33933         xmalloc.
33934         (gl_rbtree_oset_implementation): Update.
33935         * modules/array-oset (Depends-on): Remove xalloc.
33936         * modules/avltree-oset (Depends-on): Likewise.
33937         * modules/rbtree-oset (Depends-on): Likewise.
33938         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
33939         * tests/test-avltree_oset.c: Likewise.
33940         * tests/test-rbtree_oset.c: Likewise.
33941         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
33942         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
33943         * modules/rbtree-oset-tests (Makefile.am): Likewise.
33944         * NEWS: Mention the change.
33945
33946 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
33947
33948         maint.mk: allow a project to override release-prep commands
33949         * top/maint.mk (alpha, beta, stable): Move release-preparatory
33950         commands into a new rule.
33951         (release-prep): New rule.
33952         (release-prep-hook): New overridable variable.
33953
33954 2009-12-13  Bruno Haible  <bruno@clisp.org>
33955
33956         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
33957
33958 2009-12-13  Jim Meyering  <meyering@redhat.com>
33959
33960         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
33961         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
33962
33963 2009-12-12  Bruno Haible  <bruno@clisp.org>
33964
33965         duplocale: Tweak.
33966         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
33967
33968 2009-12-12  Karl Berry  <karl@gnu.org>
33969
33970         * config/srclist.txt (strtoll.c): tab changes, no more sync.
33971
33972 2009-12-12  Bruno Haible  <bruno@clisp.org>
33973
33974         * m4/po.m4: Undo incorrect untabification.
33975
33976 2009-12-12  Bruno Haible  <bruno@clisp.org>
33977
33978         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
33979         * modules/c-strtod (Depends-on): Add locale.
33980         * modules/c-strtold (Depends-on): Likewise.
33981
33982 2009-12-12  Bruno Haible  <bruno@clisp.org>
33983
33984         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
33985
33986 2009-12-11  Eric Blake  <ebb9@byu.net>
33987
33988         setenv: relax requirement in light of POSIX ruling
33989         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
33990         not NULL.
33991         * tests/test-setenv.c (main): Relax test.
33992         * tests/test-unsetenv.c (main): Likewise.
33993         * doc/posix-functions/setenv.texi (setenv): Document this.
33994         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
33995
33996 2009-12-11  Bruno Haible  <bruno@clisp.org>
33997
33998         New module 'fd-safer-flag'.
33999         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
34000         * lib/dup-safer.c (dup_safer_flag): Remove function.
34001         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
34002         * lib/fd-safer.c (fd_safer_flag): Remove function.
34003         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
34004         * modules/cloexec (configure.ac): Drop indicator macro.
34005         * modules/fd-safer-flag: New file.
34006         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
34007         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
34008         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
34009
34010 2009-12-11  Bruno Haible  <bruno@clisp.org>
34011
34012         Tests for module 'nl_langinfo'.
34013         * modules/nl_langinfo-tests: New file.
34014         * tests/test-nl_langinfo.sh: New file.
34015         * tests/test-nl_langinfo.c: New file.
34016
34017         New module 'nl_langinfo'.
34018         * lib/nl_langinfo.c: New file.
34019         * m4/nl_langinfo.m4: New file.
34020         * modules/nl_langinfo: New file.
34021         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
34022
34023 2009-12-11  Bruno Haible  <bruno@clisp.org>
34024
34025         Tests for module 'langinfo'.
34026         * modules/langinfo-tests: New file.
34027         * tests/test-langinfo.c: New file.
34028
34029         New module 'langinfo'.
34030         * lib/langinfo.in.h: New file.
34031         * m4/langinfo_h.m4: New file.
34032         * modules/langinfo: New file.
34033         * doc/posix-headers/langinfo.texi: Mention the new module.
34034
34035 2009-12-11  Bruno Haible  <bruno@clisp.org>
34036
34037         * lib/config.charset: Untabify.
34038
34039 2009-12-11  Bruno Haible  <bruno@clisp.org>
34040
34041         * modules/unistd-safer (configure.ac): Drop indicator macro.
34042
34043 2009-12-11  Bruno Haible  <bruno@clisp.org>
34044
34045         Move pipe2-safer code to its own file.
34046         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
34047         * lib/pipe-safer.c (pipe2_safer): Remove function.
34048         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
34049         (Makefile.am): Add it to lib_SOURCES.
34050
34051 2009-12-10  Bruno Haible  <bruno@clisp.org>
34052
34053         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
34054
34055 2009-12-10  Bruno Haible  <bruno@clisp.org>
34056
34057         Declare which arguments expect non-NULL values, for GCC and clang.
34058         * build-aux/arg-nonnull.h: New file.
34059         * modules/arg-nonnull: New file.
34060         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
34061         (inet_ntop, inet_pton): Use it.
34062         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
34063         (closedir, dirfd, opendir, scandir, alphasort): Use it.
34064         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
34065         (open, openat): Use it.
34066         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
34067         (fnmatch): Use it.
34068         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
34069         (getopt, getopt_long, getopt_long_only): Use it.
34070         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
34071         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
34072         Use it.
34073         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
34074         (iconv_open): Use it.
34075         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
34076         (strtoimax, strtoumax): Use it.
34077         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
34078         (duplocale): Use it.
34079         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
34080         (frexp, frexpl): Use it.
34081         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
34082         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
34083         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
34084         (tsearch, tfind, tdelete, twalk): Use it.
34085         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
34086         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
34087         sigpending): Use it.
34088         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
34089         (posix_spawn, posix_spawnp, posix_spawnattr_init,
34090         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
34091         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
34092         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
34093         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
34094         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
34095         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
34096         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
34097         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
34098         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
34099         Use it.
34100         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
34101         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
34102         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
34103         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
34104         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
34105         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
34106         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
34107         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
34108         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
34109         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
34110         strtoull, unsetenv): Use it.
34111         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
34112         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
34113         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
34114         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
34115         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
34116         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
34117         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
34118         (strcasecmp, strncasecmp): Use it.
34119         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
34120         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
34121         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
34122         rpl_setsockopt): Use it.
34123         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
34124         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
34125         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
34126         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
34127         (gettimeofday): Use it.
34128         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
34129         (times): Use it.
34130         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
34131         (uname): Use it.
34132         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
34133         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
34134         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
34135         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
34136         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
34137         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
34138         unlinkat, write): Use it.
34139         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
34140         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
34141         * lib/argv-iter.h: Include arg-nonnull.h.
34142         (_ATTRIBUTE_NONNULL_): Remove macro.
34143         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
34144         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
34145         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
34146         optimization.
34147         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
34148         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
34149         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
34150         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
34151         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
34152         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
34153         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
34154         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
34155         * modules/arpa_inet (Depends-on): Add arg-nonnull.
34156         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
34157         * modules/dirent (Depends-on): Add arg-nonnull.
34158         (Makefile.am): Insert arg-nonnull.h into dirent.h.
34159         * modules/fcntl-h (Depends-on): Add arg-nonnull.
34160         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
34161         * modules/fnmatch (Depends-on): Add arg-nonnull.
34162         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
34163         * modules/getopt-posix (Depends-on): Add arg-nonnull.
34164         (Makefile.am): Insert arg-nonnull.h into getopt.h.
34165         * modules/glob (Depends-on): Add arg-nonnull.
34166         (Makefile.am): Insert arg-nonnull.h into glob.h.
34167         * modules/iconv_open (Depends-on): Add arg-nonnull.
34168         (Makefile.am): Insert arg-nonnull.h into iconv.h.
34169         * modules/inttypes (Depends-on): Add arg-nonnull.
34170         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
34171         * modules/locale (Depends-on): Add arg-nonnull.
34172         (Makefile.am): Insert arg-nonnull.h into locale.h.
34173         * modules/math (Depends-on): Add arg-nonnull.
34174         (Makefile.am): Insert arg-nonnull.h into math.h.
34175         * modules/netdb (Depends-on): Add arg-nonnull.
34176         (Makefile.am): Insert arg-nonnull.h into netdb.h.
34177         * modules/search (Depends-on): Add arg-nonnull.
34178         (Makefile.am): Insert arg-nonnull.h into search.h.
34179         * modules/signal (Depends-on): Add arg-nonnull.
34180         (Makefile.am): Insert arg-nonnull.h into signal.h.
34181         * modules/spawn (Depends-on): Add arg-nonnull.
34182         (Makefile.am): Insert arg-nonnull.h into spawn.h.
34183         * modules/stdio (Depends-on): Add arg-nonnull.
34184         (Makefile.am): Insert arg-nonnull.h into stdio.h.
34185         * modules/stdlib (Depends-on): Add arg-nonnull.
34186         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
34187         * modules/string (Depends-on): Add arg-nonnull.
34188         (Makefile.am): Insert arg-nonnull.h into string.h.
34189         * modules/strings (Depends-on): Add arg-nonnull.
34190         (Makefile.am): Insert arg-nonnull.h into strings.h.
34191         * modules/sys_socket (Depends-on): Add arg-nonnull.
34192         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
34193         * modules/sys_stat (Depends-on): Add arg-nonnull.
34194         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
34195         * modules/sys_time (Depends-on): Add arg-nonnull.
34196         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
34197         * modules/sys_times (Depends-on): Add arg-nonnull.
34198         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
34199         * modules/sys_utsname (Depends-on): Add arg-nonnull.
34200         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
34201         * modules/time (Depends-on): Add arg-nonnull.
34202         (Makefile.am): Insert arg-nonnull.h into time.h.
34203         * modules/unistd (Depends-on): Add arg-nonnull.
34204         (Makefile.am): Insert arg-nonnull.h into unistd.h.
34205         * modules/wchar (Depends-on): Add arg-nonnull.
34206         (Makefile.am): Insert arg-nonnull.h into wchar.h.
34207         * modules/argv-iter (Depends-on): Add arg-nonnull.
34208         * tests/test-canonicalize.c (null_ptr): New function.
34209         (main): Use it.
34210         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
34211         (main): Use it.
34212         * tests/test-memmem.c (null_ptr): New function.
34213         (main): Use it.
34214         Reported by Jim Meyering.
34215
34216 2009-12-10  Bruno Haible  <bruno@clisp.org>
34217
34218         Use spaces for indentation, not tabs.
34219         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
34220         * m4/*.m4: Untabify.
34221         * build-aux/*.h: Untabify.
34222         * tests/**/*.[hc]: Untabify.
34223         * README: New section "Indent with spaces, not TABs", based on
34224         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
34225         * NEWS: Mention the change.
34226
34227 2009-12-10  Bruno Haible  <bruno@clisp.org>
34228
34229         pty test: Fix link error.
34230         * modules/pty-tests (Makefile.am): Add the default LDADD value to
34231         test_pty_LDADD.
34232
34233 2009-12-07  Simon Josefsson  <simon@josefsson.org>
34234
34235         * modules/pty: New file.
34236         * modules/pty-tests: New file.
34237         * m4/pty.m4: New file.
34238         * tests/test-pty.c: New file.
34239         * doc/glibc-headers/pty.texi: Modified.
34240         * doc/glibc-functions/forkpty.texi: Modified.
34241         * doc/glibc-functions/openpty.texi: Modified.
34242
34243 2009-12-10  Bruno Haible  <bruno@clisp.org>
34244
34245         Avoid syntax error in C++ mode.
34246         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
34247
34248 2009-12-10  Bruno Haible  <bruno@clisp.org>
34249
34250         Use sed with option -e.
34251         * gnulib-tool (func_version, func_emit_copyright_notice,
34252         func_emit_initmacro_end, func_import, func_create_testdir): Pass
34253         option -e to sed.
34254         * modules/link-warning (Makefile.am): Likewise.
34255
34256 2009-12-10  Jim Meyering  <meyering@redhat.com>
34257
34258         mgetgroups: do not write bytes beyond end of malloc'd buffer
34259         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
34260         username, we call getgroups with a one-element-shorter buffer,
34261         but still told it the length was original, max_n_groups.
34262
34263 2009-12-09  Eric Blake  <ebb9@byu.net>
34264
34265         cloexec: relax license
34266         * modules/cloexec (Maintainer): Add myself.
34267         (License): Use LGPL, not GPL.
34268
34269         link-warning: optimize generation
34270         * modules/link-warning (Makefile.am): Reduce process usage.
34271
34272 2009-12-09  Bruno Haible  <bruno@clisp.org>
34273
34274         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
34275         workaround was added on 2009-11-17.
34276
34277 2009-12-09  Jim Meyering  <meyering@redhat.com>
34278             Bruno Haible  <bruno@clisp.org>
34279
34280         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
34281         * modules/link-warning (Makefile.am): Make the comment-removing sed
34282         command more robust in the face of bootstrap-prepended comment lines.
34283
34284 2009-12-09  Bruno Haible  <bruno@clisp.org>
34285
34286         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
34287         most one group.
34288
34289 2009-12-09  Simon Josefsson <simon@josefsson.org>
34290             Bruno Haible  <bruno@clisp.org>
34291
34292         * build-aux/link-warning.h: Add copyright notice.
34293         * modules/link-warning (Makefile.am): Generate link-warning.h from
34294         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
34295         * NEWS: Mention change in link-warning module.
34296         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
34297         * modules/dirent (Makefile.am): Add dependency to dirent.h.
34298         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
34299         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
34300         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
34301         * modules/math (Makefile.am): Add dependency to math.h.
34302         * modules/search (Makefile.am): Add dependency to search.h.
34303         * modules/signal (Makefile.am): Add dependency to signal.h.
34304         * modules/spawn (Makefile.am): Add dependency to spawn.h.
34305         * modules/stdio (Makefile.am): Add dependency to stdio.h.
34306         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
34307         * modules/string (Makefile.am): Add dependency to string.h.
34308         * modules/strings (Makefile.am): Add dependency to strings.h.
34309         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
34310         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
34311         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
34312         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
34313         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
34314         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
34315         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
34316         * modules/unistd (Makefile.am): Add dependency to unistd.h.
34317         * modules/wchar (Makefile.am): Add dependency to wchar.h.
34318
34319 2009-12-09  Bruno Haible  <bruno@clisp.org>
34320
34321         fchdir: Optimize away rpl_fstat when possible.
34322         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
34323         REPLACE_OPEN_DIRECTORY.
34324         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
34325
34326 2009-12-09  Bruno Haible  <bruno@clisp.org>
34327
34328         * lib/fchdir.c: Update comment.
34329
34330 2009-12-09  Bruno Haible  <bruno@clisp.org>
34331
34332         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
34333
34334 2009-12-08  Eric Blake  <ebb9@byu.net>
34335
34336         fchdir: avoid memory leak on re-registration.
34337         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
34338
34339 2009-12-08  Jim Meyering  <meyering@redhat.com>
34340
34341         init.sh: avoid Solaris 10 /bin/sh portability problem
34342         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
34343         sourced script:
34344           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
34345           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
34346           bar
34347         tests/init.sh relied on that, accepting a --set-path=DIR argument,
34348         and two tests used that idiom.
34349         * tests/init.sh: Update suggested usage comments.
34350         (path_prepend_): New function, to be used in place
34351         of the --src-path=DIR option.
34352         (setup_): Move PATH-prepending code into path_prepend_.
34353         * tests/test-pread.sh: Adapt to new usage.
34354         * tests/test-xalloc-die.sh: Likewise.
34355
34356 2009-12-08  Simon Josefsson  <simon@josefsson.org>
34357
34358         * doc/gnulib.texi (Glibc pty.h): Add.
34359         * doc/glibc-functions/forkpty.texi: Add.
34360         * doc/glibc-functions/openpty.texi: Add.
34361         Suggested by Bruno Haible.
34362
34363 2009-12-08  Eric Blake  <ebb9@byu.net>
34364
34365         fchdir: fix logic bugs
34366         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
34367         * tests/test-fchdir.c (main): Enhance test.
34368         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
34369         is in use.
34370
34371         dup2: fix logic bugs
34372         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
34373         REPLACE_DUP2 to decide when rpl_dup2 is needed.
34374         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
34375         exists.
34376         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
34377
34378 2009-12-07  Eric Blake  <ebb9@byu.net>
34379
34380         unlink: fix m4 detection
34381         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
34382
34383         unistd-safer: add unit test
34384         * modules/unistd-safer-tests: New file.
34385         * tests/test-dup-safer.c: Likewise.
34386         * tests/test-cloexec.c (setmode): Avoid compiler warning.
34387         * tests/test-dup2.c (setmode): Likewise.
34388         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
34389
34390         cloexec: preserve text vs. binary across dup_cloexec
34391         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
34392         mode.
34393         * modules/dup2-tests (Depends-on): Add binary-io.
34394         * modules/cloexec-tests (Depends-on): Likewise.
34395         * tests/test-dup2.c (setmode, is_mode): New helpers.
34396         (main): Add tests that translation mode is preserved.
34397         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
34398         Reported by Bruno Haible.
34399
34400         mgetgroups: reduce duplicate listings
34401         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
34402         resulting array.
34403         * tests/test-chown.h (test_chown): Simplify client.
34404         * tests/test-lchown.h (test_lchown): Likewise.
34405
34406 2009-12-06  Bruno Haible  <bruno@clisp.org>
34407
34408         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
34409         value.
34410
34411 2009-12-06  Bruno Haible  <bruno@clisp.org>
34412
34413         * lib/progname.c: Include stdio.h, stdlib.h.
34414         (set_program_name): Reject a NULL argument.
34415
34416 2009-12-05  Eric Blake  <ebb9@byu.net>
34417
34418         pipe2-safer: new module
34419         * modules/pipe2-safer: New file.
34420         * lib/unistd-safer.h (pipe2_safer): New prototype.
34421         * lib/unistd--.h (pipe2): New wrapper.
34422         * lib/pipe-safer.c (pipe2_safer): New function.
34423         * modules/pipe (Depends-on): Add pipe2-safer.
34424         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
34425
34426         stdlib-safer: preserve cloexec flag for mkostemp[s]
34427         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
34428         fd_safer_flag.
34429
34430         unistd-safer: allow preservation of cloexec status via flag
34431         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
34432         prototypes.
34433         * lib/dup-safer.c (dup_safer_flag): New function.
34434         * lib/fd-safer.c (fd_safer_flag): Likewise.
34435         * modules/cloexec (configure.ac): Set witness.
34436
34437         test-dup2: enhance test
34438         * modules/dup2-tests (Depends-on): Add cloexec.
34439         * tests/test-dup2.c (main): Enhance test.
34440
34441         cloexec: add dup_cloexec
34442         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
34443         header and comments.
34444         * lib/cloexec.c (set_cloexec_flag): Add comments.
34445         (dup_cloexec): New function, with mingw implementation borrowed
34446         from...
34447         * lib/w32spawn.h (dup_noinherit): ...here.
34448         * modules/execute (Depends-on): Add cloexec.
34449         * modules/pipe (Depends-on): Likewise.
34450         * modules/cloexec (Depends-on): Add dup2.
34451         * modules/cloexec-tests (Files): New file.
34452         * tests/test-cloexec.c: Likewise.
34453
34454         test-xalloc-die: fix test for mingw
34455         * modules/xalloc-die-tests (Files): Add tests/init.sh.
34456         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
34457         directory and .exe suffix off argv[0] output.
34458
34459         test-fseeko: fix test for mingw
34460         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
34461         than undefining fseek, so test will pass on mingw.
34462
34463 2009-12-05  Bruno Haible  <bruno@clisp.org>
34464
34465         * lib/progname.h (set_program_name): Clarify specification.
34466         * lib/progname.c (set_program_name): Likewise.
34467         Reported by Jim Meyering.
34468
34469 2009-12-05  Jim Meyering  <meyering@redhat.com>
34470
34471         maint.mk: backslash-escape parens in default regexp
34472         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
34473         backslash-escape the literal parentheses.
34474
34475         maint.mk: news-date-check: use grep -E
34476         * top/maint.mk (today): Define a Make variable, not a...
34477         (news-date-check): ...shell variable.
34478         (news-date-regexp): Use the Make variable.
34479         Use grep's -E option.  Change the failing diagnostic to mention
34480         the variable, $(news-date-regexp).
34481
34482 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
34483
34484         maintainer-makefile: allow customization of NEWS entry format
34485         * top/maint.mk (news-date-regexp): New overridable variable.
34486         (news-date-check): Use it.
34487
34488 2009-12-04  Eric Blake  <ebb9@byu.net>
34489
34490         mgetgroups: add xgetgroups, and avoid ENOSYS failures
34491         * lib/mgetgroups.h (xgetgroups): New prototype.
34492         * lib/mgetgroups.c (xgetgroups): New wrapper.
34493         (mgetgroups): Handle ENOSYS.
34494         * modules/mgetgroups (Depends-on): Add realloc.
34495         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
34496
34497         mgetgroups: avoid argument promotion issues with -1
34498         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
34499         for invalid gid_t.
34500         * tests/test-chown.h (getegid, test_chown): Likewise.
34501         * tests/test-lchown.h (getegid, test_lchown): Likewise.
34502
34503 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
34504
34505         exclude: Fix header file problems.
34506         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
34507
34508 2009-12-01  Jim Meyering  <meyering@redhat.com>
34509
34510         fts: fts_open: do not let an empty string cause immediate failure
34511         This is required in support of GNU rm, for which the command
34512         "rm A '' B" must process and remove both A and B, in spite of
34513         the empty string argument.
34514         * lib/fts.c (fts_open): Do not let the presence of an empty string
34515         cause fts_open to fail immediately.  Most fts-using tools must be
34516         able to process all arguments, in order, and can be expected to
34517         diagnose such arguments themselves.
34518
34519 2009-11-30  Eric Blake  <ebb9@byu.net>
34520
34521         utimens: fix compilation error
34522         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
34523         Declare variable at right scope.
34524
34525 2009-11-29  Jim Meyering  <meyering@redhat.com>
34526
34527         bootstrap: handle perl-5.11's changed --version output
34528         * build-aux/bootstrap (get_version): Handle perl separately,
34529         since perl-5.11's --version output is different.
34530
34531 2009-11-28  Jim Meyering  <meyering@redhat.com>
34532
34533         userspec: depend on the inttostr module, too
34534         * modules/userspec (Depends-on): Add inttostr.
34535
34536         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
34537         * lib/userspec.c (parse_with_separator): Do not accept a user ID
34538         number of MAXUID when it evaluates to (uid_t) -1.
34539         Likewise for group ID.  Reported by Matt McCutchen in
34540         <http://savannah.gnu.org/bugs/?28113>
34541
34542         userspec: reformat to use spaces, not TABs
34543         * lib/userspec.c: Expand TABs to spaces.
34544         Add Emacs' "indent-tabs-mode: nil" hint.
34545
34546 2009-11-27  Eric Blake  <ebb9@byu.net>
34547
34548         getopt-gnu: flush out another BSD bug
34549         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
34550         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
34551         flush out BSD bug.
34552         * tests/test-getopt.h (test_getopt): End lists with NULL.
34553         * tests/test-getopt_long.h (test_getopt_long): Likewise.
34554         (test_getopt_long_posix): Enhance test.
34555         * modules/getopt-posix-tests (Depends-on): Add stdbool.
34556         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
34557         getopt-gnu.
34558         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34559         Likewise.
34560
34561 2009-11-27  Simon Josefsson  <simon@josefsson.org>
34562
34563         * modules/idpriv-droptemp-tests (Notice): Fix text.
34564
34565 2009-11-27  Jim Meyering  <meyering@redhat.com>
34566
34567         test-xalloc-die: avoid spurious failure due to libtool argv difference
34568         In a libtool-enabled project, this test would fail due to a difference
34569         in the emitted program name, e.g.,
34570         -test-xalloc-die: memory exhausted
34571         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
34572         Use program to avoid that.
34573         * modules/xalloc-die-tests (Depends-on): Add progname.
34574         * tests/test-xalloc-die.c: Include progname.h".
34575         (program_name): Remove decl.
34576         (main): Call set_program_name.
34577         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
34578
34579 2009-11-26  Richard Jones  <rjones@redhat.com>
34580
34581         w32sock: leave win32 error in place.
34582         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
34583
34584 2009-11-26  Eric Blake  <ebb9@byu.net>
34585
34586         init.sh: suggest to use skip_ and fail_ functions in comments
34587         * tests/init.sh: Add a sentence.
34588
34589 2009-11-25  Bruno Haible  <bruno@clisp.org>
34590
34591         init.sh: add documentation in comments
34592         * tests/init.sh: Add some developer and user documentation.
34593
34594 2009-11-26  Jim Meyering  <meyering@redhat.com>
34595
34596         init.sh: accommodate even those who specify bogus srcdir manually
34597         * tests/init.sh: Normally, srcdir is guaranteed by automake and
34598         configure-time tests to be sanitized, so that there is no need to
34599         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
34600         (with no double quotes) suffices.  However, since tests may be
34601         invoked manually, and since you may explicitly set srcdir to the
34602         name of a directory containing spaces, do quote its uses here.
34603         * tests/test-pread.sh: Likewise.
34604         Suggested by Bruno Haible.
34605
34606         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
34607         * tests/test-pread.sh: Write no data into the pipe, because
34608         test-pread actually reads none.  This avoids a diagnostic,
34609         "bash: echo: write error: Broken pipe", that arises in the unusual
34610         event something is ignoring SIGPIPE, and might be interpreted
34611         as some sort of failure.  Reported by Bruno Haible.
34612
34613 2009-11-25  Jim Meyering  <meyering@redhat.com>
34614
34615         test-pread: cover failure with ESPIPE and EINVAL
34616         * tests/test-pread.c (main): Test for failure, too.
34617         * tests/test-pread.sh: Invoke with stdin on a pipe.
34618         Suggested by Eric Blake.
34619
34620         pread: improvement and fix
34621         * modules/pread (Depends-on): Depend on lseek, for portability to
34622         e.g., mingw.  Suggested by Eric Blake.
34623         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
34624
34625         unistd.in.h: correct declaration of pread
34626         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
34627         Reported by Richard W.M. Jones.
34628
34629         test-pread.sh: distribute the test script
34630         * modules/pread-tests (Files): Include test-pread.sh.
34631
34632         test-pread.sh: clean up
34633         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
34634         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
34635         That is unnecessary, since it's always ".".
34636         Suggestion from Eric Blake.
34637
34638         test-pread.sh: make executable
34639         * tests/test-pread.sh: Set executable bit.
34640         Reported by Eric Blake.
34641
34642         correct typo in test-pread.sh
34643         * tests/test-pread.sh: Add #! line.
34644
34645         test pread
34646         * tests/test-pread.c: New file.
34647         * tests/test-pread.sh: Likewise.
34648         * modules/pread-tests: Likewise.
34649
34650         pread: new module
34651         * modules/pread: New file.
34652         * lib/unistd.in.h (pread): Define/declare.
34653         * lib/pread.c (pread): New file.
34654         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
34655         * modules/unistd (Makefile.am): Substitute witnesses.
34656         * doc/posix-functions/pread.texi (pread): Update.
34657         * MODULES.html.sh: Add pread.
34658
34659 2009-11-25  Jim Meyering  <meyering@redhat.com>
34660
34661         tests/init.sh: new file to be used via most *.sh tests
34662         * tests/init.sh: New file.
34663
34664 2009-11-25  Eric Blake  <ebb9@byu.net>
34665
34666         utimens: work around older Linux failure with symlinks
34667         * lib/utimens.c (lutimensat_works_really): New variable.
34668         (fdutimens, lutimens): Use it to manage kernels that support
34669         nanosecond times on files, but not on symlinks.
34670         Reported by OndÅ™ej Vašík.
34671
34672         utimes: fix configure grammar
34673         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
34674
34675 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
34676
34677         regex: Fix fastmap for multibyte character ranges.
34678         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
34679         characters when a multibyte character range is included.
34680
34681 2009-11-22  Andy Wingo  <wingo@pobox.com>
34682
34683         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
34684         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
34685
34686 2009-11-24  Bruno Haible  <bruno@clisp.org>
34687
34688         doc: Most *_l functions exist in MacOS X 10.5.
34689         * doc/posix-functions/duplocale.texi: Update platforms list.
34690         * doc/posix-functions/freelocale.texi: Likewise.
34691         * doc/posix-functions/newlocale.texi: Likewise.
34692         * doc/posix-functions/uselocale.texi: Likewise.
34693         * doc/posix-functions/isalnum_l.texi: Likewise.
34694         * doc/posix-functions/isalpha_l.texi: Likewise.
34695         * doc/posix-functions/isblank_l.texi: Likewise.
34696         * doc/posix-functions/iscntrl_l.texi: Likewise.
34697         * doc/posix-functions/isdigit_l.texi: Likewise.
34698         * doc/posix-functions/isgraph_l.texi: Likewise.
34699         * doc/posix-functions/islower_l.texi: Likewise.
34700         * doc/posix-functions/isprint_l.texi: Likewise.
34701         * doc/posix-functions/ispunct_l.texi: Likewise.
34702         * doc/posix-functions/isspace_l.texi: Likewise.
34703         * doc/posix-functions/isupper_l.texi: Likewise.
34704         * doc/posix-functions/iswalnum_l.texi: Likewise.
34705         * doc/posix-functions/iswalpha_l.texi: Likewise.
34706         * doc/posix-functions/iswblank_l.texi: Likewise.
34707         * doc/posix-functions/iswcntrl_l.texi: Likewise.
34708         * doc/posix-functions/iswctype_l.texi: Likewise.
34709         * doc/posix-functions/iswdigit_l.texi: Likewise.
34710         * doc/posix-functions/iswgraph_l.texi: Likewise.
34711         * doc/posix-functions/iswlower_l.texi: Likewise.
34712         * doc/posix-functions/iswprint_l.texi: Likewise.
34713         * doc/posix-functions/iswpunct_l.texi: Likewise.
34714         * doc/posix-functions/iswspace_l.texi: Likewise.
34715         * doc/posix-functions/iswupper_l.texi: Likewise.
34716         * doc/posix-functions/iswxdigit_l.texi: Likewise.
34717         * doc/posix-functions/isxdigit_l.texi: Likewise.
34718         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
34719         * doc/posix-functions/strcasecmp_l.texi: Likewise.
34720         * doc/posix-functions/strcoll_l.texi: Likewise.
34721         * doc/posix-functions/strfmon_l.texi: Likewise.
34722         * doc/posix-functions/strftime_l.texi: Likewise.
34723         * doc/posix-functions/strncasecmp_l.texi: Likewise.
34724         * doc/posix-functions/strxfrm_l.texi: Likewise.
34725         * doc/posix-functions/tolower_l.texi: Likewise.
34726         * doc/posix-functions/toupper_l.texi: Likewise.
34727         * doc/posix-functions/towctrans_l.texi: Likewise.
34728         * doc/posix-functions/towlower_l.texi: Likewise.
34729         * doc/posix-functions/towupper_l.texi: Likewise.
34730         * doc/posix-functions/wcscoll_l.texi: Likewise.
34731         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
34732         * doc/posix-functions/wctrans_l.texi: Likewise.
34733         * doc/posix-functions/wctype_l.texi: Likewise.
34734         * doc/glibc-functions/strptime_l.texi: Likewise.
34735         * doc/glibc-functions/strtod_l.texi: Likewise.
34736         * doc/glibc-functions/strtof_l.texi: Likewise.
34737         * doc/glibc-functions/strtol_l.texi: Likewise.
34738         * doc/glibc-functions/strtold_l.texi: Likewise.
34739         * doc/glibc-functions/strtoll_l.texi: Likewise.
34740         * doc/glibc-functions/strtoul_l.texi: Likewise.
34741         * doc/glibc-functions/strtoull_l.texi: Likewise.
34742         * doc/glibc-functions/wcsftime_l.texi: Likewise.
34743         * doc/glibc-functions/wcstod_l.texi: Likewise.
34744         * doc/glibc-functions/wcstof_l.texi: Likewise.
34745         * doc/glibc-functions/wcstol_l.texi: Likewise.
34746         * doc/glibc-functions/wcstold_l.texi: Likewise.
34747         * doc/glibc-functions/wcstoll_l.texi: Likewise.
34748         * doc/glibc-functions/wcstoul_l.texi: Likewise.
34749         * doc/glibc-functions/wcstoull_l.texi: Likewise.
34750
34751 2009-11-24  Bruno Haible  <bruno@clisp.org>
34752
34753         duplocale: Fix logic bug.
34754         * lib/duplocale.c: Don't include <langinfo.h>.
34755         (_NL_LOCALE_NAME): Remove macro.
34756         (rpl_duplocale): Use setlocale instead of nl_langinfo.
34757         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
34758
34759 2009-11-23  Jim Meyering  <meyering@redhat.com>
34760
34761         test-update-copyright: don't hard-code /usr/bin/perl
34762         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
34763         perl to print the current year.  Gilles Espinasse reported that
34764         the replaced use of perl was hard-coded as /usr/bin/perl.
34765
34766 2009-11-23  Bruno Haible  <bruno@clisp.org>
34767
34768         duplocale: Add support for glibc 2.3.x.
34769         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
34770
34771 2009-11-22  Bruno Haible  <bruno@clisp.org>
34772
34773         vasnprintf: Tiny optimization.
34774         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
34775         MacOS X.
34776
34777 2009-11-22  Bruno Haible  <bruno@clisp.org>
34778
34779         Tests for module 'duplocale'.
34780         * modules/duplocale-tests: New file.
34781         * tests/test-duplocale.c: New file.
34782
34783         New module 'duplocale'.
34784         * m4/duplocale.m4: New file.
34785         * lib/locale.in.h (duplocale): New declaration.
34786         * lib/duplocale.c: New file.
34787         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
34788         gl_LOCALE_H_DEFAULTS): New macros.
34789         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
34790         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
34791         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
34792         REPLACE_DUPLOCALE.
34793         * modules/duplocale: New file.
34794         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
34795
34796 2009-11-22  Bruno Haible  <bruno@clisp.org>
34797
34798         * modules/locale-tests (configure.ac): Test for newlocale function.
34799         * tests/test-locale.c: When the system has extended locale functions,
34800         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
34801
34802         locale: Make locale_t available when possible.
34803         * lib/locale.in.h: Include <xlocale.h> when it exists.
34804         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
34805         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
34806         * modules/locale (Depends-on): Add extensions.
34807         (Makefile.am): Also substitute HAVE_XLOCALE_H.
34808         * doc/posix-headers/locale.texi: Document the problem with locale_t.
34809
34810 2009-11-22  Bruno Haible  <bruno@clisp.org>
34811
34812         Add comments.
34813         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
34814         invocation.
34815         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
34816         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
34817         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
34818
34819 2009-11-22  Bruno Haible  <bruno@clisp.org>
34820
34821         error: account for the possibility of freopen (stdout).
34822         * lib/error.c: Include <unistd.h>.
34823         (flush_stdout): New function, extracted from error and error_at_line.
34824         Determine stdout's fd dynamically.
34825         (error, error_at_line): Invoke flush_stdout.
34826         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
34827         * modules/error (Depends-on): Add unistd.
34828
34829 2009-11-22  Bruno Haible  <bruno@clisp.org>
34830
34831         diffseq: Add comment.
34832         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
34833
34834 2009-11-22  Jim Meyering  <meyering@redhat.com>
34835
34836         c-stack: avoid defining an unused static function
34837         * lib/c-stack.c (find_stack_direction): Do not define this function
34838         when it will not be used.
34839
34840         diffseq: avoid spurious gcc warnings
34841         * lib/diffseq.h (IF_LINT2): Define.
34842         (compareseq): Use it to initialize two members of "part".
34843         This avoids two used-uninitialized warnings.
34844
34845 2009-11-21  Jim Meyering  <meyering@redhat.com>
34846
34847         c-stack: avoid "ignoring return value of `write'" warning
34848         * lib/c-stack.c: Include "ignore-value.h".
34849         (die): Explicitly ignore each write return value.
34850         * modules/c-stack (Depends-on): Add ignore-value.
34851
34852 2009-11-21  Bruno Haible  <bruno@clisp.org>
34853
34854         diffseq: reduce scope of variable 'best'.
34855         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
34856         variable, earlier used for two different purposes.
34857
34858 2009-11-21  Jim Meyering  <meyering@redhat.com>
34859
34860         diffseq: remove useless assignment to "best"
34861         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
34862         assignment.  At that point "best" is already guaranteed to be zero.
34863
34864 2009-11-20  Eric Blake  <ebb9@byu.net>
34865
34866         build: mention ftp redirector in release announcements
34867         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
34868         values that used to come from cfg.mk; mention FTP redirect URL.
34869         * build-aux/announce-gen: Mention the mirror list.
34870         Suggested by Karl Berry.
34871
34872         nanosleep: improve port to mingw
34873         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
34874         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
34875         LIB_NANOSLEEP, but only when needed.
34876         * modules/select (Link): Document LIBSOCKET.
34877         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
34878         enough.
34879
34880         nanosleep: work around cygwin bug
34881         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
34882         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
34883         bug.
34884         (getnow): Delete, not needed.
34885         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
34886         LIB_CLOCK_GETTIME.
34887         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
34888         clock-time, gettime.
34889         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
34890         bug.
34891         * modules/nanosleep-tests: New test.
34892         * tests/test-nanosleep.c: New file.
34893
34894         sleep: work around cygwin bug
34895         * lib/sleep.c (rpl_sleep): Work around the bug.
34896         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
34897         (gl_PREREQ_SLEEP): Delete unused macro.
34898         * modules/sleep (Depends-on): Add verify.
34899         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
34900         * modules/unistd (Makefile.am): Substitute witness.
34901         * lib/unistd.in.h (sleep): Update prototype.
34902         * doc/posix-functions/sleep.texi (sleep): Document the bug.
34903         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
34904         * modules/sleep-tests (Depends-on): Check for alarm.
34905
34906 2009-11-20  Jim Meyering  <meyering@redhat.com>
34907
34908         maint.mk: improve sc_prohibit_magic_number_exit
34909         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
34910         so it does not match uses like System.exit(1).
34911         Add comments showing how to correct all offenders.
34912
34913 2009-11-19  Eric Blake  <ebb9@byu.net>
34914
34915         xalloc-die-tests: add missing library
34916         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
34917
34918         test-xvasprintf: silence compiler warnings
34919         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
34920         empty string from gcc.
34921
34922 2009-11-19  Jim Meyering  <meyering@redhat.com>
34923
34924         xfreopen: new module, from coreutils
34925         * modules/xfreopen: New module.
34926         * lib/xfreopen.c: New file.
34927         * lib/xfreopen.h: New file.
34928         * MODULES.html.sh (File stream based Input/Output"): Add it.
34929
34930 2009-11-19  Eric Blake  <ebb9@byu.net>
34931
34932         manywarnings: depend on warnings
34933         * modules/manywarnings (Depends-on): Add warnings.
34934
34935         build: avoid compiler warnings
34936         * lib/select.c (rpl_select): Delete unused variable.
34937         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
34938
34939 2009-11-18  Eric Blake  <ebb9@byu.net>
34940
34941         tests: avoid false negative with --with-packager
34942         * tests/test-version-etc.sh: Discard packager information.
34943         * tests/test-argp-version-etc-1.sh: Likewise.
34944         Reported by Mike Frysinger.
34945
34946         utimens: fix regression on Solaris
34947         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
34948         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
34949         can only change fd timestamps via futimesat.  Instead, use an
34950         additional witness macro to avoid BSD bug.
34951         Reported by Jim Meyering.
34952
34953 2009-11-17  Eric Blake  <ebb9@byu.net>
34954
34955         usleep: use it to simplify tests
34956         * modules/stat-time-tests (Depends-on): Add usleep.
34957         (configure.ac): Drop usleep check.
34958         * modules/chown-tests (Depends-on, configure.ac): Likewise.
34959         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
34960         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
34961         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
34962         * modules/openat-tests (Depends-on, configure.ac): Likewise.
34963         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
34964         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
34965         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
34966         Likewise.
34967         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
34968         * tests/test-lchown.h (nap): Likewise.
34969         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
34970         * tests/test-stat-time.c (nap): Likewise.
34971         * tests/test-utimens-common.h (nap): Update comments.
34972
34973         usleep: new module
34974         * modules/usleep: New file.
34975         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
34976         * lib/usleep.c (usleep): Likewise.
34977         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
34978         * modules/unistd (Makefile.am): Substitute witnesses.
34979         * lib/unistd.in.h (usleep): Add declaration.
34980         * doc/pastposix-functions/usleep.texi (usleep): Document this.
34981         * MODULES.html.sh (Date and time): Likewise.
34982         * modules/usleep-tests (Depends-on): New test.
34983         * tests/test-usleep.c: New file.
34984
34985         chown: work around OpenBSD bug
34986         * lib/chown.c (rpl_chown): Work around the bug.
34987         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
34988         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
34989         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
34990         * modules/chown (Depends-on): Add stdbool.
34991         * modules/lchown (Depends-on): Likewise.
34992         * doc/posix-functions/chown.texi (chown): Document the bug.
34993         * doc/posix-functions/lchown.texi (lchown): Likewise.
34994         * tests/test-lchown.h (test_chown): Relax test.
34995
34996         mkstemp: avoid conflict with C++ keyword template
34997         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
34998         * lib/mkostemp.c (mkostemp): Likewise.
34999         * lib/mkostemps.c (mkostemps): Likewise.
35000         * lib/mkstemp.c (mkstemp): Likewise.
35001         * lib/mkstemps.c (mkstemps): Likewise.
35002
35003         xalloc-die-tests: optimize
35004         * tests/test-xalloc-die.sh: Reduce number of processes.
35005
35006 2009-11-17  Simon Josefsson  <simon@josefsson.org>
35007
35008         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
35009         patch from ludo@gnu.org (Ludovic Courtès).
35010
35011 2009-11-17  Jim Meyering  <meyering@redhat.com>
35012
35013         version-etc: use proper license string
35014         * modules/version-etc (License): Use LGPL, not LGPLv3+.
35015         * modules/version-etc-fsf: Likewise.
35016
35017 2009-11-17  Simon Josefsson  <simon@josefsson.org>
35018
35019         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
35020         printed to stdout.  Deal with EOL differences.
35021
35022 2009-11-17  Eric Blake  <ebb9@byu.net>
35023
35024         unsetenv: work around Solaris bug
35025         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
35026         * lib/unsetenv.c (rpl_unsetenv): Work around it.
35027         Reported by Jim Meyering.
35028
35029         vasnprintf: avoid compiler warnings
35030         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
35031         variables.
35032         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
35033
35034 2009-11-17  Simon Josefsson  <simon@josefsson.org>
35035
35036         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
35037         settings since xalloc-die is no longer the self test,
35038         xalloc-die.sh is.
35039
35040 2009-11-17  Jim Meyering  <meyering@redhat.com>
35041
35042         test-xalloc-die.sh: make the code agree with the commit log
35043         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
35044         at the end, just in case you happen to have a test-xalloc-die
35045         program in some other PATH directory.
35046
35047         test-xalloc-die.sh: fix a portability bug
35048         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
35049         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
35050         Otherwise, argv[0] (as often seen in diagnostics) would be too
35051         system-dependent, sometimes with, and sometimes without the leading "./".
35052
35053         version-etc-fsf: relax license to LGPLv3+
35054         * modules/version-etc-fsf (License): Relax license.
35055
35056 2009-11-16  Eric Blake  <ebb9@byu.net>
35057
35058         xalloc-die-tests: avoid printing null pointer
35059         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
35060         shell script.
35061         * tests/test-xalloc-die.c (program_name): Declare.
35062         * tests/test-xalloc-die.sh (tmpfiles): New file.
35063
35064         setenv, unsetenv: work around various bugs
35065         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
35066         (setenv) [HAVE_SETENV]: Work around bugs.
35067         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
35068         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
35069         for bugs.
35070         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
35071         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
35072         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
35073         * modules/stdlib (Makefile.am): Update substitutions.
35074         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
35075         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
35076         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
35077         * modules/setenv-tests: New test.
35078         * modules/unsetenv-tests: Likewise.
35079         * tests/test-setenv.c: New file.
35080         * tests/test-unsetenv.c: Likewise.
35081
35082 2009-11-16  Jim Meyering  <meyering@redhat.com>
35083
35084         version-etc: relax license to LGPLv3+
35085         * modules/version-etc (License): Relax license.
35086
35087         better AC_REQUIRE expanded-before-required-warning avoidance
35088         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
35089         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
35090         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
35091         which is no longer needed.
35092
35093 2009-11-16  Eric Blake  <ebb9@byu.net>
35094
35095         test-freading: clean up temporary file
35096         * tests/test-freading.c (main): Remove file on success, and use
35097         ASSERT more liberally.
35098         Reported by Jim Meyering.
35099
35100 2009-11-16  Jim Meyering  <meyering@redhat.com>
35101
35102         avoid new AC_REQUIRE expanded-before-required warnings
35103         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
35104         merely using it.
35105         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
35106         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
35107
35108 2009-11-15  Simon Josefsson  <simon@josefsson.org>
35109
35110         * tests/test-xalloc-die.c: New file.
35111         * modules/xalloc-die-tests: New file.
35112         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
35113         XFAIL_TESTS so it can be appended by modules.
35114
35115 2009-11-15  Simon Josefsson  <simon@josefsson.org>
35116
35117         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
35118         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
35119
35120 2009-11-14  Eric Blake  <ebb9@byu.net>
35121
35122         fnmatch: avoid compiler warning
35123         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
35124         to silence compiler warning about mismatch signedness in ?:.
35125         Reported by Robert Millan.
35126
35127         intprops: add double-inclusion guard
35128         * lib/intprops.h: Allow idempotent includes.
35129         Suggested by Bruce Korb.
35130
35131         openat: detect Solaris fchownat bug
35132         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
35133         penalizing glibc chownat when only lchownat is broken.
35134         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
35135         trailing slash bugs.
35136         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
35137         * modules/openat-tests (Files): Include more files.
35138         (Depends-on): Add mgetgroups, sleep, stat-time.
35139         (configure.ac): Add additional checks.
35140         (Makefile.am): Build new test.
35141         * tests/test-fchownat.c: New file.
35142
35143         lchown: detect Solaris and FreeBSD bug
35144         * lib/lchown.c (rpl_lchown): Work around bug.
35145         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
35146         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35147         * modules/unistd (Makefile.am): Populate it.
35148         * lib/unistd.in.h (lchown): Update declaration.
35149         * doc/posix-functions/lchown.texi (lchown): Document the bug.
35150         * modules/lchown-tests: New file.
35151         * tests/test-lchown.h (test_lchown): Likewise.
35152         * tests/test-lchown.c (main): Likewise.
35153
35154         chown: detect Solaris and FreeBSD bug
35155         * lib/chown.c (rpl_chown): Work around bug.
35156         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
35157         (gl_PREREQ_CHOWN): Delete.
35158         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35159         * modules/unistd (Makefile.am): Populate it.
35160         * lib/unistd.in.h (chown): Update declaration.
35161         * lib/lchown.c (chown): Update client.
35162         * modules/lchown (Depends-on): Add lstat.
35163         * doc/posix-functions/chown.texi (chown): Document the bug.
35164         * doc/posix-functions/getgroups.texi (getgroups): Document
35165         getgroups pitfall.
35166         * modules/chown-tests: New file.
35167         * tests/test-chown.h (test_chown): Likewise.
35168         * tests/test-chown.c (main): Likewise.
35169
35170 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
35171
35172         gnulib-tool: correctly detect absence of m4 directories
35173         * gnulib-tool: Avoid extra newline on data passed to wc -l.
35174
35175 2009-11-14  Jim Meyering  <meyering@redhat.com>
35176
35177         maint.mk: Prohibit inclusion of "xalloc.h" without use.
35178         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
35179
35180 2009-11-14  John W. Eaton  <jwe@gnu.org>
35181
35182         strftime.h: wrap funtion declaration in extern "C" block
35183         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
35184
35185 2009-11-13  Eric Blake  <ebb9@byu.net>
35186
35187         getgroups: avoid compiler warning
35188         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
35189
35190         getgroups: work around FreeBSD bug
35191         * lib/getgroups.c (rpl_getgroups): Work around the bug.
35192         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
35193         * doc/posix-functions/getgroups.texi (getgroups): Document it.
35194         * tests/test-getgroups.c (main): Fix buffer overrun.
35195
35196         getgroups: avoid compilation failure
35197         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
35198         * modules/getgroups (Depends-on): Add stdint.
35199
35200 2009-11-13  Jim Meyering  <meyering@redhat.com>
35201
35202         test-getgroups: avoid compilation failure
35203         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
35204
35205 2009-11-13  Eric Blake  <ebb9@byu.net>
35206
35207         mgetgroups: new module, taken from coreutils
35208         * modules/mgetgroups: New file.
35209         * lib/mgetgroups.h: Likewise.
35210         * lib/mgetgroups.c (mgetgroups): Likewise.
35211         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
35212         * MODULES.html.sh (Users and groups): Mention it.
35213
35214         getgroups: don't expose GETGROUPS_T to user
35215         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
35216         an element at a time if GETGROUPS_T is wrong size.
35217         * lib/getugroups.h (getugroups): Change signature.
35218         * lib/unistd.in.h (getgroups): Likewise.
35219         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
35220         signature needs fixing.
35221         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
35222         AC_TYPE_GETGROUPS.
35223         * modules/group-member (Depends-on): Add getgroups.
35224         * lib/group-member.c (group_info, get_group_info): Use gid_t.
35225         (group_member): Rely on getgroups replacement.
35226         * lib/getugroups.c (getugroups): Use gid_t.
35227         * tests/test-getgroups.c (main): Likewise.
35228         * NEWS: Mention the signature change.
35229         * doc/posix-functions/getgroups.texi (getgroups): Mention the
35230         problem with signature.
35231         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
35232         GETGROUPS_T is still useful for setgroups.
35233
35234         getgroups, getugroups: provide stubs for mingw
35235         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
35236         * lib/getugroups.c (getugroups): Likewise.
35237         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
35238         function.  Modernize replacement scheme.
35239         (gl_PREREQ_GETGROUPS): Delete.
35240         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
35241         * modules/getgroups (configure.ac): Declare witness.
35242         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
35243         * modules/unistd (Depends-on): Substitute witness.
35244         * lib/unistd.in.h (getgroups): Declare replacement.
35245
35246         getgroups: avoid calling exit
35247         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
35248         drop xalloc.
35249         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
35250         dependencies.
35251         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
35252         exiting, in the rare case of malloc failure.
35253
35254         getgroups: fix logic error
35255         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
35256         has more than 20 groups.
35257         * modules/getgroups-tests: New test.
35258         * tests/test-getgroups.c: New file.
35259
35260 2009-11-13  Simon Josefsson  <simon@josefsson.org>
35261
35262         * tests/test-base64.c: Improve.
35263
35264 2009-11-13  Simon Josefsson  <simon@josefsson.org>
35265
35266         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
35267         Blake <ebb9@byu.net>.
35268
35269 2009-11-13  Simon Josefsson  <simon@josefsson.org>
35270
35271         * tests/test-xvasprintf.c: Add %s%s related checks.
35272
35273 2009-11-12  Eric Blake  <ebb9@byu.net>
35274
35275         version-etc: match standards.texi style
35276         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
35277         and use <> only for URLs.
35278
35279 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
35280
35281         fts: do not fail on a submount during traversal
35282         * lib/fts.c (fts_build): Read the stat info again after opening
35283         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
35284         Original report at http://bugzilla.redhat.com/501848.
35285
35286 2009-11-12  Jim Meyering  <meyering@redhat.com>
35287
35288         bootstrap: sync from coreutils
35289         * build-aux/bootstrap (bootstrap_epilogue): New function.
35290         Use git_modules_config in one more place.  This make bootstrap's
35291         --gnulib-srcdir option more useful for testing.
35292
35293         bootstrap: generalize autoheader check
35294         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
35295         AC_CONFIG_HEADERS.
35296
35297 2009-11-11  Eric Blake  <ebb9@byu.net>
35298
35299         mkfifoat: use new modules for Solaris and BSD bugs
35300         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
35301         * lib/mkfifoat.c (mknodat): Split...
35302         * lib/mknodat.c (mknodat): ...into new file.
35303         * modules/mkfifoat (Files): Ship new file.
35304         (Depends-on): Add mkfifo, mknod.
35305         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
35306         (Depends-on): Add symlink.
35307         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
35308         redundant with test_mkfifo.h.
35309         (do_mkfifoat, do_mknodat): New helpers.
35310
35311         mknod: new module
35312         * modules/mknod: New file.
35313         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
35314         * lib/mknod.c (mknod): Likewise.
35315         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
35316         defaults.
35317         * modules/sys_stat (Makefile.am): Substitute them.
35318         * lib/sys_stat.in.h (mknod): Declare replacement.
35319         * MODULES.html.sh (Support for systems lacking POSIX:2008):
35320         Document it.
35321         * doc/posix-functions/mknod.texi (mknod): Likewise.
35322         * modules/mknod-tests: New test.
35323         * tests/test-mknod.c: Likewise.
35324
35325         mkfifo: new module
35326         * modules/mkfifo: New file.
35327         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
35328         * lib/mkfifo.c (mkfifo): Likewise.
35329         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
35330         defaults.
35331         * modules/sys_stat (Makefile.am): Substitute them.
35332         * lib/sys_stat.in.h (mkfifo): Declare replacement.
35333         * MODULES.html.sh (Support for systems lacking POSIX:2008):
35334         Document it.
35335         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
35336         * modules/mkfifo-tests: New test.
35337         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
35338         from test-mkfifoat.c.
35339         * tests/test-mkfifo.c: New file.
35340
35341         readlink: detect FreeBSD bug
35342         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
35343         slash on symlink.
35344         * doc/posix-functions/readlink.texi (readlink): Document the bug.
35345         * tests/test-readlink.h (test_readlink): Enhance test.
35346
35347         symlink: detect FreeBSD bug
35348         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
35349         slash on symlink.
35350         * doc/posix-functions/symlink.texi (symlink): Document the bug.
35351         * tests/test-symlink.h (test_symlink): Enhance test.
35352
35353 2009-11-10  Eric Blake  <ebb9@byu.net>
35354
35355         link: detect FreeBSD bug
35356         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
35357         symlink.
35358         * doc/posix-functions/link.texi (link): Document the bug.
35359         * tests/test-link.h (test_link): Enhance test.
35360         * tests/test-linkat.c (main): Update caller.
35361
35362         unlink, remove: detect FreeBSD bug
35363         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
35364         slash on symlink.
35365         * doc/posix-functions/unlink.texi (unlink): Document the bug.
35366         * doc/posix-functions/remove.texi (remove): Likewise.
35367         * tests/test-unlink.h (test_unlink): Enhance test.
35368         * tests/test-remove.c (main): Likewise.
35369
35370 2009-11-09  Eric Blake  <ebb9@byu.net>
35371
35372         rename: detect FreeBSD bug
35373         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
35374         slash on symlink.
35375         * modules/renameat-tests (Depends-on): Add filenamecat.
35376         * tests/test-rename.h (test_rename): Allow one more errno.
35377         * tests/test-renameat.c (main): Likewise.
35378         * doc/posix-functions/rename.texi (rename): Document the bug.
35379
35380         open: detect FreeBSD bug
35381         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
35382         symlink.
35383         * doc/posix-functions/open.texi (open): Document the bug.
35384         * doc/posix-functions/utimes.texi (utimes): Likewise.
35385         * tests/test-open.h (test_open): Add parameters, and test symlink
35386         handling.
35387         * tests/test-open.c (main): Adjust caller.
35388         * tests/test-fcntl-safer.c (main): Likewise.
35389         * modules/open-tests (Depends-on): Add stdbool, symlink.
35390         * modules/fcntl-safer-tests (Depends-on): Likewise.
35391         * tests/test-openat.c (main): Add test-open tests.
35392
35393         stat: detect FreeBSD bug
35394         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
35395         symlink.
35396         * doc/posix-functions/stat.texi (stat): Document the bug.
35397         * tests/test-stat.h (test_stat_func): Add argument.
35398         * tests/test-stat.c (main): Adjust caller.
35399         * tests/test-fstatat.c (main): Likewise.
35400         * modules/stat-tests (Depends-on): Add stdbool, symlink.
35401         Reported by Jim Meyering.
35402
35403 2009-11-09  James Youngman  <jay@gnu.org>
35404
35405         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
35406         * lib/strftime.c: Correct placement of #include "ignore-value.h".
35407
35408 2009-11-08  Jim Meyering  <meyering@redhat.com>
35409
35410         utimens: remove invalid futimesat call
35411         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
35412         It used the file descriptor of the target file as the DIR_FD
35413         parameter and NULL as the file name.  That caused failure with
35414         errno == EFAULT on FreeBSD-8.0-rc2
35415
35416 2009-11-07  Eric Blake  <ebb9@byu.net>
35417
35418         fflush, freadseek: use fseeko, not fseek
35419         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
35420         (clear_ungetc_buffer): Avoid potential problems on large files.
35421         * lib/freadseek.c (freadseek): Likewise.
35422         * modules/freadseek (Depends-on): Add fseeko.
35423         * modules/fseek (configure.ac): Set a witness.
35424         * tests/test-fflush.c (main): Use fseeko.
35425         * tests/test-fpurge.c (fseek): Disable link warning.
35426         * tests/test-freadable.c (fseek): Likewise.
35427         * tests/test-freading.c (fseek): Likewise.
35428         * tests/test-fseeko.c (fseek): Likewise.
35429         * tests/test-ftell.c (fseek): Likewise.
35430         * tests/test-ftello.c (fseek): Likewise.
35431         * tests/test-fwritable.c (fseek): Likewise.
35432         * tests/test-fwriting.c (fseek): Likewise.
35433
35434 2009-11-06  Simon Josefsson  <simon@josefsson.org>
35435
35436         * modules/memchr (Depends-on): Drop getpagesize dependency.
35437
35438 2009-11-06  Simon Josefsson  <simon@josefsson.org>
35439
35440         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
35441         Reported by Ludovic Courtès.
35442         * build-aux/pmccabe2html: Improve example usage.
35443         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
35444
35445 2009-11-06  Jim Meyering  <meyering@redhat.com>
35446
35447         do-release-commit-and-tag: New module.
35448         Automate the release-commit and tag process.
35449         * build-aux/do-release-commit-and-tag: New script, from coreutils.
35450         * modules/do-release-commit-and-tag: New file.
35451         * MODULES.html.sh (Support for maintaining and releasing): Add it.
35452
35453 2009-11-06  Simon Josefsson  <simon@josefsson.org>
35454
35455         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
35456         because test-select.c uses inet_pton.
35457
35458 2009-11-06  Simon Josefsson  <simon@josefsson.org>
35459
35460         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
35461         GETADDRINFO_LIB.  Bump serial number.
35462         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
35463         Suggested by Eric Blake <ebb9@byu.net>.
35464
35465 2009-11-05  Eric Blake  <ebb9@byu.net>
35466
35467         strtod: detect darwin bug
35468         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
35469         Reported by Leo Davis.
35470
35471         freopen-safer: new module
35472         * modules/freopen-safer: New module.
35473         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
35474         * lib/freopen-safer.c (freopen_safer): New file.
35475         * lib/stdio-safer.h (freopen_safer): New declaration.
35476         * lib/stdio--.h (freopen): New override.
35477         * MODULES.html.sh (File stream based Input/Output): Mention it.
35478         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
35479         freopen-safer module.
35480         * doc/posix-functions/stderr.texi (stderr): Likewise.
35481         * doc/posix-functions/stdin.texi (stdin): Likewise.
35482         * doc/posix-functions/stdout.texi (stdout): Likewise.
35483         * modules/freopen-safer-tests: New test.
35484         * tests/test-reopen-safer.c: New file.
35485
35486 2009-11-05  Jim Meyering  <meyering@redhat.com>
35487
35488         maint.mk: Prohibit inclusion of "close-stream.h" without use.
35489         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
35490
35491 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35492
35493         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
35494
35495 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35496
35497         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
35498
35499 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35500
35501         Fix link error.
35502         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
35503         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
35504
35505 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35506
35507         * tests/test-func.c: Also test value of __func__.
35508
35509 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35510
35511         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
35512         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
35513
35514 2009-11-05  Bruno Haible  <bruno@clisp.org>
35515
35516         Fix link error.
35517         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
35518         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
35519         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
35520
35521 2009-11-05  Bruno Haible  <bruno@clisp.org>
35522
35523         Tests for module 'inet_pton'.
35524         * modules/inet_pton-tests: New file.
35525         * tests/test-inet_pton.c: New file.
35526
35527 2009-11-05  Bruno Haible  <bruno@clisp.org>
35528
35529         Tests for module 'inet_ntop'.
35530         * modules/inet_ntop-tests: New file.
35531         * tests/test-inet_ntop.c: New file.
35532
35533 2009-11-04  Eric Blake  <ebb9@byu.net>
35534
35535         stdlib-safer: wrap all mkstemp variants
35536         * modules/mkostemp (configure.ac): Set witness.
35537         * modules/mkostemps (configure.ac): Likewise.
35538         * modules/mkstemps (configure.ac): Likewise.
35539         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
35540         (mkstemps_safer): Wrap more functions.
35541         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
35542         wrapping.
35543         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
35544         (mkstemps_safer): Implement the wrappers.
35545
35546         mkstemps, mkostemps: new modules
35547         * modules/mkostemps: New module.
35548         * modules/mkstemps: Likewise.
35549         * lib/mkostemps.c (mkostemps): New file.
35550         * lib/mkstemps.c (mkstemps): Likewise.
35551         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
35552         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
35553         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
35554         * modules/stdlib (Makefile.am): Substitute them.
35555         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
35556         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
35557         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
35558         * doc/gnulib.texi (Glibc stdlib.h): Include them.
35559         * MODULES.html.sh (File system functions): Mention them.
35560
35561         tempname: resync from glibc
35562         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
35563         same values for __GT_FILE as glibc.  Abort even when assertions
35564         are disabled.
35565         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
35566         match its value otherwise.  Allow idempotent inclusion.
35567         * lib/mkdtemp.c (mkdtemp): Adjust caller.
35568         * lib/mkostemp.c (mkostemp): Likewise.
35569         * lib/mkstemp.c (mkstemp): Likewise.
35570         * lib/tmpfile.c (tmpfile): Likewise.
35571         * NEWS: Document this.
35572
35573         utimens: fix use of futimens on older Linux
35574         * lib/utimens.c (fdutimens): Use updated, rather than original,
35575         timespec to avoid bug in older Linux kernel.
35576         Reported by Simon Josefsson.
35577
35578 2009-11-04  Bruno Haible  <bruno@clisp.org>
35579
35580         Make num_processors more flexible and consistent.
35581         * lib/nproc.h (enum nproc_query): New type.
35582         (num_processors): Add a 'query' argument.
35583         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
35584         (num_processors): Add a 'query' argument. Test the value of the
35585         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
35586         mingw, count the number of CPUs available for the current process.
35587         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
35588         Check for sched_getaffinity and sched_getaffinity_np.
35589         * modules/nproc (Depends-on): Add c-ctype, extensions.
35590         * NEWS: Mention the change.
35591
35592 2009-11-03  Bruno Haible  <bruno@clisp.org>
35593
35594         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
35595
35596 2009-11-03  Jim Meyering  <meyering@redhat.com>
35597
35598         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
35599         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
35600         if it is defined.
35601
35602 2009-11-02  Eric Blake  <ebb9@byu.net>
35603
35604         mktime, timegm: share common declaration
35605         * lib/mktime-internal.h: New file.
35606         * lib/mktime.c: Use it rather than open-coding a declaration.
35607         * lib/timegm.c: Likewise.
35608         * modules/mktime (Files): Ship it.
35609         * modules/timegm (Files): Likewise.
35610         Suggested by Bruno Haible.
35611
35612         test-update-copyright: update test to match script changes
35613         * tests/test-update-copyright.sh: Avoid hard-coding perl
35614         location.  Don't update *.bak created by earlier runs.
35615
35616 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
35617             Simon Josefsson  <simon@josefsson.org>
35618             Bruno Haible  <bruno@clisp.org>
35619
35620         Fix link error on Solaris 8.
35621         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
35622         also in libnsl. Define also INET_PTON_LIB.
35623         * modules/inet_pton (Link): New section.
35624
35625 2009-11-02  Simon Josefsson  <simon@josefsson.org>
35626             Bruno Haible  <bruno@clisp.org>
35627
35628         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
35629         * modules/inet_ntop (Link): New section.
35630         Reported by Boyan Kasarov <bkasarov@gmail.com>.
35631
35632 2009-11-02  Eric Blake  <ebb9@byu.net>
35633
35634         maint: avoid compiler warnings in m4 macros
35635         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
35636         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
35637
35638 2009-11-02  Simon Josefsson  <simon@josefsson.org>
35639
35640         * m4/pmccabe2html.m4: Remove file.
35641         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
35642         function.  Change maintainer.
35643         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
35644         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
35645         Courtès).
35646
35647 2009-10-31  Eric Blake  <ebb9@byu.net>
35648
35649         fseeko: fix m4 regression
35650         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
35651         regression from 2009-10-27.
35652         Reported by Ralf Wildenhues.
35653
35654 2009-10-31  Jim Meyering  <meyering@redhat.com>
35655
35656         inttostr: aesthetics and improved (compile-time) safety
35657         Define inttype_is_signed rather than inttype_is_unsigned,
35658         since the sole use is via "#if inttype_is_signed".
35659         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
35660         inttype_is_unsigned.
35661         * lib/offtostr.c (inttype_is_signed): Likewise.
35662         * lib/uinttostr.c (inttype_is_signed): Likewise.
35663         * lib/umaxtostr.c (inttype_is_signed): Likewise.
35664         * lib/inttostr.c (inttostr): Use verify to cross-check the
35665         inttype_is_signed value and the signedness of the actual type.
35666         * modules/inttostr (Depends-on): Add verify.
35667
35668 2009-10-30  Eric Blake  <ebb9@byu.net>
35669
35670         build: avoid compiler warnings
35671         * lib/fchmodat.c (lchmod): Mark unused variables.
35672         * lib/getopt.c (_getopt_initialize): Likewise.
35673         * lib/mktime.c (__mktime_internal): Provide prototype.
35674         * lib/inttostr.c (inttostr): Avoid compiler warning even with
35675         older gcc that do not understand #pragma GCC diagnostic.
35676         * lib/uinttostr.c (inttype_is_unsigned): Define.
35677         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
35678
35679 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
35680
35681         stat: fix compilation on AIX
35682         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
35683         only see struct stat64.
35684
35685 2009-10-30  Eric Blake  <ebb9@byu.net>
35686
35687         exclude: make more robust
35688         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
35689         rather than masking a coding bug.
35690         Suggested by Bruno Haible.
35691
35692 2009-10-30  Jim Meyering  <meyering@redhat.com>
35693
35694         perl scripts: remove #!/usr/bin/perl in favor of more portable...
35695         Rather than putting #!/usr/bin/perl on the first line,
35696         start with a variant of what's recommended by "man perlrun" that
35697         invokes the first "perl" program from your shell's search path.
35698         * build-aux/gitlog-to-changelog: Replace #!... as above.
35699         Add a "Local Variables" perl mode setting.
35700         Prompted by a patch from Ludovic Courtès.
35701         Improved by Eric Blake.
35702         * build-aux/useless-if-before-free: Likewise.
35703         * build-aux/announce-gen: Likewise.
35704         * build-aux/update-copyright: Likewise.
35705
35706 2009-10-29  Eric Blake  <ebb9@byu.net>
35707
35708         filenamecat-lgpl: adjust clients
35709         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
35710         filenamecat.
35711         * modules/renameat (Depends-on): Likewise.
35712
35713         filenamecat: split into filenamecat-lgpl
35714         * modules/filenamecat-lgpl: New module.
35715         * modules/filenamecat (Files): Move library-safe files into
35716         filenamecat-lgpl.
35717         (Depends-on): Add filenamecat-lgpl.
35718         (configure.ac): Declare witness.
35719         * lib/filenamecat.h (file_name_concat): Only declare when using
35720         GPL module.
35721         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
35722         Move...
35723         * lib/filenamecat-lgpl.c: ...into new file.
35724         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
35725         (gl_FILE_NAME_CONCAT): Use it.
35726         * MODULES.html.sh (File system functions): Mention new module.
35727
35728         argp: avoid memory leak
35729         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
35730         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
35731         base_name, since the latter malloc()s and can call exit().
35732         Leak introduced 2006-07-03.
35733
35734         dirname-lgpl: adjust clients that don't need full dirname
35735         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
35736         * modules/filenamecat (Depends-on): Likewise.
35737         * modules/linkat (Depends-on): Likewise.
35738         * modules/mkancesdirs (Depends-on): Likewise.
35739         * modules/mkdir (Depends-on): Likewise.
35740         * modules/openat (Depends-on): Likewise.
35741         * modules/savewd (Depends-on): Likewise.
35742         * modules/rename (Depends-on): Likewise.
35743         (License): Relax license.
35744         * modules/mkdir-tests (Depends-on): Drop progname.
35745         (Makefile.am): Delete unneeded LDADD.
35746         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
35747
35748         dirname: split into dirname-lgpl
35749         * modules/dirname-lgpl: New module.
35750         * modules/dirname (Files): Move library-safe files into
35751         dirname-lgpl.
35752         (Depends-on): Add dirname-lgpl.
35753         (configure.ac): Declare witness.
35754         * modules/double-slash-root (License): Relax license.
35755         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
35756         module.
35757         * lib/dirname.c (dir_len, mdir_name): Move...
35758         * lib/dirname-lgpl.c: ...into new file.
35759         * lib/basename.c (last_component, base_len): Move...
35760         * lib/basename-lgpl.c: ...into new file.
35761         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
35762         (gl_DIRNAME): Use it.
35763         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
35764         Mention new module.
35765         * modules/dirname-tests (Depends-on): Add progname.
35766         * tests/test-dirname.c (program_name): Delete.
35767
35768         mkdir: make safe for libraries
35769         * modules/mkdir (Depends-on): Drop xalloc.
35770         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
35771         exit.
35772
35773         tests: avoid some compiler warnings
35774         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
35775         literals.
35776         * tests/test-memchr.c (main): Avoid type mismatch.
35777         * tests/test-arpa_inet.c (main): Avoid unused parameters.
35778         * tests/test-base64.c (main): Likewise.
35779         * tests/test-getdelim.c (main): Likewise.
35780         * tests/test-gethostname.c (main): Likewise.
35781         * tests/test-getline.c (main): Likewise.
35782         * tests/test-netinet_in.c (main): Likewise.
35783         * tests/test-select.c (open_server_socket, main): Likewise.
35784         * tests/test-select-stdin.c (main): Likewise.
35785         * tests/test-sockets.c (main): Likewise.
35786         * tests/test-strsignal.c (main): Likewise.
35787         * tests/test-sys_select.c (main): Likewise.
35788         * tests/test-sys_socket.c (main): Likewise.
35789         * tests/test-u64.c (main): Likewise.
35790         * tests/test-xfprintf-posix.c (main): Likewise.
35791         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
35792
35793         sockets: avoid compiler warning
35794         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
35795
35796         maint: detect usage(1) and other suspicious exits
35797         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
35798
35799 2009-10-29  Jim Meyering  <meyering@redhat.com>
35800
35801         timespec: long-to-int truncation could make timespec_cmp malfunction
35802         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
35803         a multiple of 2^32 nanoseconds as no difference.
35804
35805 2009-10-28  Jim Meyering  <meyering@redhat.com>
35806
35807         fprintftime: wrap macro code argument in "do {...} while(0)"
35808         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
35809         cpy macro must be a statement that can be followed by a semicolon.
35810         Now that the else clause contains a comment and is hence longer
35811         than one line, I require curly braces.  That in turn requires
35812         that we wrap this code block in the standard do...while(0).
35813
35814         fprintftime: remove stray semicolon from previous change
35815         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
35816
35817         fprintftime: avoid a warning about ignored fwrite return value
35818         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
35819         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
35820         that is unsafe.
35821         * modules/fprintftime (Depends-on): Add ignore-value.
35822
35823         exclude: avoid an unwarranted warning
35824         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
35825
35826 2009-10-27  Eric Blake  <ebb9@byu.net>
35827
35828         fseek: avoid compilation failure when fflush is replaced
35829         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
35830         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
35831         module is in use.
35832         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
35833         module is not in use; since REPLACE_FSEEK worked otherwise.
35834         (GNULIB_FTELLO): Likewise for ftell.
35835         Reported by Ian Beckwith and others.
35836
35837 2009-10-27  Bruno Haible  <bruno@clisp.org>
35838
35839         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
35840         Reported by Jim Meyering.
35841
35842 2009-10-27  Jim Meyering  <jim@meyering.net>
35843             Bruno Haible  <bruno@clisp.org>
35844
35845         Avoid warning despite dropping the return value of fwrite.
35846         * lib/unicodeio.c: Include ignore-value.h.
35847         (fwrite_success_callback): Explicitly ignore fwrite's return value.
35848         * modules/unicodeio (Depends-on): Add ignore-value.
35849
35850 2009-10-26  Eric Blake  <ebb9@byu.net>
35851
35852         areadlinkat: fix fallback path
35853         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
35854         pointer and zero.
35855
35856 2009-10-22  Pádraig Brady  <P@draigBrady.com>
35857
35858         Use a better IO block size for modern systems
35859         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
35860         * lib/md2.c: Likewise.
35861         * lib/md4.c: Likewise.
35862         * lib/md5.c: Likewise.
35863         * lib/sha1.c: Likewise.
35864         * lib/sha256.c: Likewise.
35865         * lib/sha512.c: Likewise.
35866
35867 2009-10-22  Eric Blake  <ebb9@byu.net>
35868
35869         tests: avoid several compiler warnings
35870         * tests/test-getcwd.c (main): Avoid buffer underflow.
35871         * tests/test-getdate.c (main): String literals are not safe with
35872         putenv, so use setenv.  Declare unused argument.
35873         * modules/getdate-tests (Depends-on): Add setenv.
35874         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
35875         problems with string literals in char *.
35876         * tests/test-hash.c (main): Avoid shadowing declaration.
35877         (insert_new): Treat string literals as char const *.
35878         * tests/test-getopt.h (test_getopt): Likewise.
35879         (getopt_loop): Alter types to minimize casting elsewhere.
35880         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
35881         (test_getopt_long_posix): Likewise.
35882         (do_getopt_long): Add wrapper to minimize casting.
35883         * tests/test-atexit.c (clear_temp_file): Use void.
35884         * tests/test-areadlink-with-size.c (main): Declare unused
35885         arguments.
35886         * tests/test-areadlink.c (main): Likewise.
35887         * tests/test-areadlinkat-with-size.c (main): Likewise.
35888         * tests/test-areadlinkat.c (main): Likewise.
35889         * tests/test-canonicalize-lgpl.c (main): Likewise.
35890         * tests/test-canonicalize.c (main): Likewise.
35891         * tests/test-dirent-safer.c (main): Likewise.
35892         * tests/test-dirname.c (main): Likewise.
35893         * tests/test-dup2.c (main): Likewise.
35894         * tests/test-fchdir.c (main): Likewise.
35895         * tests/test-fcntl-h.c (main): Likewise.
35896         * tests/test-fcntl-safer.c (main): Likewise.
35897         * tests/test-fdopendir.c (main): Likewise.
35898         * tests/test-fdutimensat.c (main): Likewise.
35899         * tests/test-fflush.c (main): Likewise.
35900         * tests/test-filenamecat.c (main): Likewise.
35901         * tests/test-filevercmp.c (main): Likewise.
35902         * tests/test-fopen-safer.c (main): Likewise.
35903         * tests/test-fopen.c (main): Likewise.
35904         * tests/test-fpending.c (main): Likewise.
35905         * tests/test-fpurge.c (main): Likewise.
35906         * tests/test-freading.c (main): Likewise.
35907         * tests/test-fstatat.c (main): Likewise.
35908         * tests/test-fsync.c (main): Likewise.
35909         * tests/test-futimens.c (main): Likewise.
35910         * tests/test-getndelim2.c (main): Likewise.
35911         * tests/test-gettimeofday.c (main): Likewise.
35912         * tests/test-getopt.c (main): Likewise.
35913         * tests/test-i-ring.c (main): Likewise.
35914         * tests/test-inttypes.c (main): Likewise.
35915         * tests/test-link.c (main): Likewise.
35916         * tests/test-lstat.c (main): Likewise.
35917         * tests/test-math.c (main): Likewise.
35918         * tests/test-md5.c (main): Likewise.
35919         * tests/test-memchr2.c (main): Likewise.
35920         * tests/test-memrchr.c (main): Likewise.
35921         * tests/test-mkdir.c (main): Likewise.
35922         * tests/test-mkdirat.c (main): Likewise.
35923         * tests/test-mkfifoat.c (main): Likewise.
35924         * tests/test-open.c (main): Likewise.
35925         * tests/test-openat-safer.c (main): Likewise.
35926         * tests/test-openat.c (main): Likewise.
35927         * tests/test-quotearg.c (main): Likewise.
35928         * tests/test-rawmemchr.c (main): Likewise.
35929         * tests/test-readlink.c (main): Likewise.
35930         * tests/test-remove.c (main): Likewise.
35931         * tests/test-rename.c (main): Likewise.
35932         * tests/test-renameat.c (main): Likewise.
35933         * tests/test-rmdir.c (main): Likewise.
35934         * tests/test-sha1.c (main): Likewise.
35935         * tests/test-signal.c (main): Likewise.
35936         * tests/test-sigaction.c (main): Likewise.
35937         * tests/test-stat.c (main): Likewise.
35938         * tests/test-stat-time.c (main): Likewise.
35939         * tests/test-stddef.c (main): Likewise.
35940         * tests/test-stdint.c (main): Likewise.
35941         * tests/test-stdio.c (main): Likewise.
35942         * tests/test-stdlib.c (main): Likewise.
35943         * tests/test-strchrnul.c (main): Likewise.
35944         * tests/test-strerror.c (main): Likewise.
35945         * tests/test-string.c (main): Likewise.
35946         * tests/test-strtod.c (main): Likewise.
35947         * tests/test-strverscmp.c (main): Likewise.
35948         * tests/test-symlink.c (main): Likewise.
35949         * tests/test-symlinkat.c (main): Likewise.
35950         * tests/test-sys_stat.c (main): Likewise.
35951         * tests/test-sys_time.c (main): Likewise.
35952         * tests/test-time.c (main): Likewise.
35953         * tests/test-unistd.c (main): Likewise.
35954         * tests/test-unlink.c (main): Likewise.
35955         * tests/test-unlinkat.c (main): Likewise.
35956         * tests/test-utimens.c (main): Likewise.
35957         * tests/test-utimensat.c (main): Likewise.
35958         * tests/test-version-etc.c (main): Likewise.
35959         * tests/test-wchar.c (main): Likewise.
35960         * tests/test-wctype.c (main): Likewise.
35961         * tests/test-xprintf-posix.c (main): Likewise.
35962         * tests/test-posixtm.c (main): Likewise.
35963         (STREQ): Delete unused macro.
35964         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
35965         shadowed variables.
35966         * tests/test-memchr.c (main): Likewise.
35967
35968 2009-10-21  Eric Blake  <ebb9@byu.net>
35969
35970         areadlinkat: avoid failure on older glibc
35971         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
35972         rather than mis-comparing 0 against FUNC_RESULT of char*.
35973
35974 2009-10-21  Bruno Haible  <bruno@clisp.org>
35975
35976         * modules/stpncpy (License): Relicense under LGPLv2+.
35977         Reported by David Lutterkort <lutter@redhat.com>.
35978
35979 2009-10-20  Eric Blake  <ebb9@byu.net>
35980
35981         utimensat: work around Solaris 9 bug
35982         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
35983         has trailing slash bugs.
35984         * tests/test-lutimens.h (test_lutimens): Enhance test.
35985         * tests/test-utimens.h (test_utimens): Likewise.
35986         * doc/posix-functions/utime.texi (utime): Enhance documentation.
35987         * doc/posix-functions/utimes.texi (utimes): Likewise.
35988         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
35989         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
35990         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
35991         * doc/posix-functions/futimens.texi (futimens): Likewise.
35992
35993         fdutimensat: new module
35994         * modules/fdutimensat: New file.
35995         * lib/fdutimensat.c (fdutimensat): Likewise.
35996         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
35997         * MODULES.html.sh (File system functions): Mention module.
35998         * modules/fdutimensat-tests: New test.
35999         * tests/test-fdutimensat.c: Likewise.
36000
36001         doc: regenerate INSTALL
36002         * doc/INSTALL: Reflect recent autoconf update.
36003         * doc/INSTALL.ISO: Likewise.
36004         * doc/INSTALL.UTF-8: Likewise.
36005
36006 2009-10-20  Pádraig Brady  <P@draigBrady.com>
36007
36008         acl: warn if ACL support is not detected
36009         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
36010
36011 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
36012
36013         * lib/nproc.h: Add extern "C" block for C++.
36014
36015 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
36016             Bruno Haible  <bruno@clisp.org>
36017
36018         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
36019         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
36020         * doc/posix-functions/isalpha.texi: Likewise.
36021         * doc/posix-functions/isblank.texi: Likewise.
36022         * doc/posix-functions/iscntrl.texi: Likewise.
36023         * doc/posix-functions/isdigit.texi: Likewise.
36024         * doc/posix-functions/isgraph.texi: Likewise.
36025         * doc/posix-functions/islower.texi: Likewise.
36026         * doc/posix-functions/isprint.texi: Likewise.
36027         * doc/posix-functions/ispunct.texi: Likewise.
36028         * doc/posix-functions/isspace.texi: Likewise.
36029         * doc/posix-functions/isupper.texi: Likewise.
36030         * doc/posix-functions/isxdigit.texi: Likewise.
36031
36032 2009-10-18  Bruno Haible  <bruno@clisp.org>
36033
36034         Tests for module 'isblank'.
36035         * modules/isblank-tests: New file.
36036         * tests/test-isblank.c: New file.
36037
36038         New module 'isblank'.
36039         * lib/isblank.c: New file.
36040         * m4/isblank.m4: New file.
36041         * modules/isblank: New file.
36042         * doc/posix-functions/isblank.texi: Mention the new module.
36043
36044 2009-10-18  Bruno Haible  <bruno@clisp.org>
36045
36046         New module 'ctype'.
36047         * lib/ctype.in.h: New file.
36048         * m4/ctype.m4: New file.
36049         * modules/ctype: New file.
36050         * doc/posix-headers/ctype.texi: Mention the new module.
36051
36052 2009-10-18  Jim Meyering  <meyering@redhat.com>
36053
36054         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
36055         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
36056         right after its initialization, rather than farther down.
36057         Keeping these in close proximity makes it easier to ensure
36058         that each such variable is initialized.  E.g.,
36059
36060             LIB_CLOCK_GETTIME=
36061             AC_SUBST([LIB_CLOCK_GETTIME])
36062
36063         This change also increments these serial numbers.
36064         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
36065         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
36066         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
36067
36068 2009-10-18  Bruno Haible  <bruno@clisp.org>
36069
36070         Don't let environment variables perturb build.
36071         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
36072         (gl_PREREQ_GETHRXTIME): ... not here.
36073
36074 2009-10-18  Bruno Haible  <bruno@clisp.org>
36075
36076         Avoid symlink attack in localcharset module.
36077         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
36078         (O_NOFOLLOW): Define fallback.
36079         (get_charset_aliases): Don't open the file if it is a symbolic link.
36080         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
36081         gl_FCNTL_H.
36082         (gl_FCNTL_H): Require it.
36083         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
36084         * modules/localcharset (Files): Add m4/fcntl_h.m4.
36085         Reported by Fergal Glynn <fglynn@veracode.com>.
36086
36087 2009-10-18  Bruno Haible  <bruno@clisp.org>
36088
36089         Implement nproc for mingw.
36090         * lib/nproc.c: Include <windows.h>
36091         (num_processors): On native Windows platforms, try GetSystemInfo.
36092
36093 2009-10-18  Bruno Haible  <bruno@clisp.org>
36094
36095         Implement nproc for IRIX.
36096         * lib/nproc.c: Include <sys/sysmp.h>.
36097         (num_processors): On IRIX systems, try sysmp.
36098         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
36099
36100 2009-10-18  Bruno Haible  <bruno@clisp.org>
36101
36102         Implement nproc for HP-UX.
36103         * lib/nproc.c: Include <sys/pstat.h>
36104         (num_processors): On HP-UX systems, try pstat_getdynamic.
36105         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
36106         pstat_getdynamic.
36107
36108 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
36109             Bruno Haible  <bruno@clisp.org>
36110
36111         Implement nproc for NetBSD, OpenBSD.
36112         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
36113         (ARRAY_SIZE): New macro.
36114         (num_processors): On BSD systems, try sysctl of HW_NCPU.
36115         * m4/nproc.m4: New file.
36116         * modules/nproc (Files): Add m4/nproc.m4.
36117         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
36118         (Makefile.am): Instead, augment lib_SOURCES.
36119
36120 2009-10-18  Bruno Haible  <bruno@clisp.org>
36121
36122         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
36123         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
36124         sys/param.h.
36125
36126 2009-10-16  Eric Blake  <ebb9@byu.net>
36127
36128         utimensat: new module
36129         * modules/utimensat: New file.
36130         * lib/utimensat.c (utimensat): Likewise.
36131         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
36132         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
36133         so we can work around Linux bugs.
36134         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
36135         * modules/sys_stat (Makefile.am): Substitute them.
36136         * lib/sys_stat.in.h (utimensat): Declare it.
36137         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36138         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
36139         * modules/utimensat-tests: New test.
36140         * tests/test-utimensat.c: Likewise.
36141
36142         utimens: let lutimens work on non-symlinks
36143         * lib/utimens.c (lutimens): Fall back to utimens rather than
36144         failing with ENOSYS, when file is not a symlink.
36145         (utimens): Reduce redirection.
36146         * tests/test-lutimens.h (test_lutimens): Update test to cover
36147         non-symlinks.
36148         * tests/test-utimens.h (test_utimens): Update test to cover
36149         symlinks.
36150         * tests/test-utimens.c (main): Update caller.
36151
36152         utimens: cache whether utimensat syscall works
36153         * lib/utimens.c (utimensat_works_really): New cache variable.
36154         (fdutimens, lutimens): Use it to avoid failing syscall.
36155
36156         test-stat-time, test-utimens: improve portability
36157         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
36158         ext4 on alpha, and for cygwin.
36159         * tests/test-utimens-common.h: New file.
36160         (nap): Factor delays into single function.
36161         * tests/test-lutimens.h (test_lutimens): Use new header.
36162         * tests/test-futimens.h (test_futimens): Likewise.
36163         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
36164         timestamps to occur from same machine, as was done previously for
36165         test_utimens.
36166         * modules/utimens-tests (Files): Ship new file.
36167         * modules/futimens-tests (Files): Likewise.
36168         Reported in part by Jim Meyering.
36169
36170         sys_stat: sort replacement declarations
36171         * lib/sys_stat.in.h: Sort declarations.
36172         * lib/futimens.c (futimens): Fix typo.
36173
36174 2009-10-15  Jim Meyering  <meyering@redhat.com>
36175
36176         don't let environment settings perturb build
36177         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
36178         could cause a configure-time and/or build-time malfunction.
36179         Typically, a configure-time function-in-library test is performed
36180         via code like this:
36181
36182           LIB_VAR=
36183           AC_SUBST([LIB_VAR])
36184           prefix_saved_LIBS=$LIBS
36185             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
36186                        [test "$ac_cv_search_FUNC" = "none required" ||
36187                         LIB_VAR=$ac_cv_search_FUNC])
36188           LIBS=$prefix_saved_LIBS
36189
36190         However, in each of the files affected by this change, the LIB_VAR=
36191         initialization was omitted.  Thus, when set in the environment, its
36192         value would propagate into generated Makefiles when FUNC is not found
36193         in LIB_NAME.
36194         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
36195         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
36196         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
36197
36198 2009-10-14  Eric Blake  <ebb9@byu.net>
36199
36200         fchdir: avoid infinite recursion in mingw
36201         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
36202         recursing.
36203
36204         test-stat-time: port to mingw
36205         * tests/test-stat-time.c (force_unlink): Return a value.
36206         (test_ctime) [W32]: Fix compilation error.
36207         (nap): Don't call usleep with too large an argument.  Use
36208         force_unlink.
36209         * doc/pastposix-functions/usleep.texi (usleep): Document the
36210         portability issue.
36211
36212 2009-10-13  Jim Meyering  <meyering@redhat.com>
36213
36214         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
36215         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
36216         * modules/pipe-filter-ii: Likewise.
36217         * modules/sys_socket-tests: Likewise.
36218         * modules/tsearch-tests: Likewise.
36219         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
36220         (check): Depend on it.
36221
36222 2009-10-12  Eric Blake  <ebb9@byu.net>
36223
36224         utimens-tests: port to NFS file systems
36225         * tests/test-utimens.h (test_utimens): Refactor utimecmp
36226         comparisons to avoid spurious failures from timestamp drift
36227         between NFS machines.
36228
36229 2009-10-12  Eric Blake  <ebb9@byu.net>
36230
36231         stat-time-tests: minor cleanups
36232         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
36233         * tests/test-stat-time.c (nap): Separate assignment from call.
36234         Suggested by Paolo Bonzini and Bruno Haible.
36235
36236         sys_stat: guarantee struct timespec
36237         * lib/sys_stat.in.h (includes): Always include <time.h>
36238         * modules/sys_stat (Depends-on): Add time.
36239         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
36240         mode_t permission values.
36241         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
36242         get at subsecond timestamps.
36243
36244 2009-10-10  Eric Blake  <ebb9@byu.net>
36245
36246         futimens: new module
36247         * modules/futimens: New file.
36248         * lib/futimens.c (futimens): Likewise.
36249         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
36250         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
36251         we can work around Linux bugs.
36252         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
36253         * modules/sys_stat (Makefile.am): Substitute them.
36254         * lib/sys_stat.in.h (futimens): Declare it.
36255         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36256         * doc/posix-functions/futimens.texi (futimens): Likewise.
36257         * modules/futimens-tests: New test.
36258         * tests/test-futimens.c: Likewise.
36259
36260         utimens: introduce fdutimens
36261         * lib/utimens.h (fdutimens): New prototype.
36262         * lib/utimens.c (gl_futimens): Move guts...
36263         (fdutimens): ...to new interface.
36264         * tests/test-utimens.c (do_fdutimens): Use it.
36265
36266         utimens: add UTIME_NOW and UTIME_OMIT support
36267         * lib/utimens.c (validate_timespec, update_timespec): New helper
36268         functions.
36269         (gl_futimens, lutimens): Use them.
36270         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
36271         stdbool, sys_stat.
36272         (Link): Mention resulting library dependency.
36273         * modules/utimecmp (Link): Likewise.
36274         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
36275         (Makefile.am): Pick up library dependency.
36276         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
36277         definition.
36278         * tests/test-sys_stat.c: Test the definitions.
36279         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
36280         * NEWS: Document library dependency.
36281
36282         utimecmp: support symlink timestamps
36283         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
36284         hashing when possible.  Use pathconf when available.
36285         (SYSCALL_RESOLUTION): Recognize tighter resolution.
36286         * modules/utimecmp (Depends-on): Add lstat.
36287
36288         utimens: add lutimens interface
36289         * lib/utimens.c (lutimens): New function.
36290         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
36291         * lib/utimens.h (lutimens): Declare new interface.
36292         * tests/test-utimens.c (main): Enhance test.
36293         * tests/test-lutimens.h (test_lutimens): New file.
36294         * modules/utimens-tests (Files): Distribute it.
36295         (Depends-on): Add symlink.
36296         (configure.ac): Check for usleep.
36297
36298         utimens: validate futimens usage
36299         * lib/utimens.c (gl_futimens): Require valid fd up front, using
36300         fewer syscalls on failure later on.  Avoid compiler warning on
36301         mingw.
36302         * modules/utimens (Depends-on): Add dup2.
36303
36304         utimens: add test
36305         * modules/utimens-tests: New test.
36306         * tests/test-utimens.h: New file.
36307         * tests/test-futimens.h: Likewise.
36308         * tests/test-utimens.c: Likewise.
36309
36310         doc: mention timestamp portability issues
36311         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
36312         instead.
36313         * doc/posix-functions/utime.texi (utime): Likewise.
36314         * doc/posix-functions/utimes.texi (utimes): Likewise.
36315         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
36316         instead.
36317         * doc/posix-functions/futimens.texi (futimens): Mention utimens
36318         module.
36319         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
36320         Mention weakness with symlink timestamps.
36321         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
36322         to utimensat/futimens instead.
36323         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
36324
36325         test-dup2: enhance test
36326         * tests/test-dup2.c (main): Also check AT_FDCWD.
36327
36328         test-stat-time: avoid more spurious failures
36329         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
36330         xfs; and avoid race if the two timestamps cross quantization edge.
36331
36332         relocatable: prefer 'file system' over 'filesystem'
36333         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
36334         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
36335         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
36336         * doc/relocatable.texi (Enabling Relocatability): Likewise.
36337         * lib/relocatable.c (compute_curr_prefix): Likewise.
36338
36339 2009-10-10  Jim Meyering  <meyering@redhat.com>
36340
36341         stat-time-tests: check for the usleep function
36342         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
36343
36344 2009-10-10  Bruno Haible  <bruno@clisp.org>
36345
36346         * modules/xnanosleep: Put the Link section after the Include section.
36347
36348 2009-10-09  Eric Blake  <ebb9@byu.net>
36349
36350         dup2: work around FreeBSD 6.1 bug
36351         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
36352         * doc/posix-functions/dup2.texi (dup2): Document it.
36353         Reported by Nelson H. F. Beebe and Jim Meyering.
36354
36355         test-stat-time: port to buggy NFS clients
36356         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
36357         (test_ctime): Also skip test if mtime and ctime are skewed.
36358
36359         maint: prefer 'file system' over 'filesystem'
36360         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
36361         * doc/posix-functions/lstat.texi (lstat): Likewise.
36362         * lib/file-has-acl.c (file_has_acl): Likewise.
36363         * lib/fwriteerror.c [TEST]: Likewise.
36364         * tests/test-areadlink.h (test_areadlink): Likewise.
36365         * tests/test-areadlinkat-with-size.c (main): Likewise.
36366         * tests/test-areadlinkat.c (main): Likewise.
36367         * tests/test-canonicalize-lgpl.c (main): Likewise.
36368         * tests/test-canonicalize.c (main): Likewise.
36369         * tests/test-fstatat.c (main): Likewise.
36370         * tests/test-linkat.c (main): Likewise.
36371         * tests/test-lstat.h (test_lstat_func): Likewise.
36372         * tests/test-mkdir.h (test_mkdir): Likewise.
36373         * tests/test-readlink.h (test_readlink): Likewise.
36374         * tests/test-remove.c (main): Likewise.
36375         * tests/test-rename.h (test_rename): Likewise.
36376         * tests/test-renameat.c (main): Likewise.
36377         * tests/test-rmdir.h (test_rmdir_func): Likewise.
36378         * tests/test-symlink.h (test_symlink): Likewise.
36379         * tests/test-symlinkat.c (main): Likewise.
36380         * tests/test-unlink.h (test_unlink_func): Likewise.
36381         * tests/test-unlinkat.c (main): Likewise.
36382
36383         maint: make realtime library usage explicit
36384         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
36385         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
36386         * modules/settime (Link): Likewise.
36387         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
36388
36389         test-stat-time: speed up execution
36390         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
36391         warning on mingw.
36392         (nap): New helper function.
36393         (prepare_test): Use it to reduce sleep time.
36394         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
36395         execution.
36396         * modules/stat-time-tests (configure.ac): Check for usleep.
36397
36398 2009-10-09  Jim Meyering  <meyering@redhat.com>
36399
36400         selinux-h: always use getfilecon wrappers
36401         * lib/getfilecon.c: New file.
36402         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
36403         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
36404         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
36405         (fgetfilecon): Provide a stub.
36406         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
36407         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
36408         file unconditionally.
36409         When <selinux/selinux.h> is found, arrange to use wrappers.
36410         * modules/selinux-h (Files): Add getfilecon.c.
36411         (Makefile.am): Substitute include-next-related bits
36412         into the now-always-generated selinux/selinux.h file.
36413         * doc/glibc-functions/lgetfilecon.texi: New file.
36414         * doc/glibc-functions/fgetfilecon.texi: New file.
36415         * doc/glibc-functions/getfilecon.texi: New file.
36416         * doc/glibc-functions/getfilecon-desc.texi: New file.
36417         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
36418         which to pull in the new files.
36419         * MODULES.html.sh (Misc): Add selinux-h.
36420
36421 2009-10-08  Jim Meyering  <meyering@redhat.com>
36422
36423         unistd: fix comment typo
36424         * lib/unistd.in.h (euidaccess): Fix a comment typo.
36425
36426 2009-10-08  Eric Blake  <ebb9@byu.net>
36427
36428         areadlink: use SIZE_MAX consistently
36429         * modules/areadlink (Depends-on): Add stdint.
36430         * modules/areadlink-with-size (Depends-on): Likewise.
36431         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
36432         gives NULL; drop sys/types, since unistd gives size_t; and add
36433         stdint for SIZE_MAX.
36434         (SIZE_MAX): Rely on headers.
36435         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
36436         and add stdint.
36437         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
36438         (SIZE_MAX): Likewise.
36439         (INITIAL_BUF_SIZE): Turn into enum.
36440         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
36441
36442 2009-10-08  Jim Meyering  <meyering@redhat.com>
36443
36444         areadlinkat: avoid compilation failure
36445         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
36446         Fix typo in comment.
36447
36448 2009-10-07  Eric Blake  <ebb9@byu.net>
36449
36450         areadlinkat-with-size: new module
36451         * modules/areadlinkat-with-size: New module.
36452         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
36453         * lib/areadlink.h (areadlinkat): Declare it.
36454         * MODULES.html.sh (File system functions): Mention it.
36455         * modules/areadlinkat-with-size-tests: New test.
36456         * tests/test-areadlinkat-with-size.c: New file.
36457
36458         xreadlinkat: new module
36459         * modules/xreadlinkat: New module.
36460         * lib/xreadlinkat.c (xreadlinkat): New file.
36461         * lib/xreadlink.h (xreadlinkat): Declare it.
36462         * MODULES.html.sh (File system functions): Mention it.
36463
36464         areadlinkat: new module
36465         * lib/at-func.c (FUNC_FAIL): New define.
36466         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
36467         * modules/areadlinkat: New module.
36468         * lib/linkat.c (areadlinkat): Move...
36469         * lib/areadlinkat.c (areadlinkat): ...to new file.
36470         * lib/areadlink.h (areadlinkat): Declare it.
36471         * modules/linkat (Depends-on): Add areadlinkat.
36472         * MODULES.html.sh (File system functions): Mention it.
36473         * modules/areadlinkat-tests: New test.
36474         * tests/test-areadlinkat.c: New file.
36475
36476         areadlink, areadlink-with-size: add tests
36477         * modules/areadlink-tests: New test.
36478         * modules/areadlink-with-size-tests: Likewise.
36479         * tests/test-areadlink.h: New file.
36480         * tests/test-areadlink.c: Likewise.
36481         * tests/test-areadlink-with-size.c: Likewise.
36482
36483         maint: minor cleanups
36484         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
36485         _UNUSED_PARAMETER_ instead.
36486         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
36487         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
36488         * modules/linkat-tests (Files): Distribute test-link.h.
36489
36490         openat, utimens: whitespace cleanup
36491         * lib/openat.c: Prefer space throughout, rather than mix of 8
36492         spaces vs. tabs.
36493         * lib/at-func.c: Likewise.
36494         * lib/utimens.c: Likewise.
36495
36496         openat: avoid using wrong fd
36497         * lib/openat.c (openat_permissive): Reject user's fd if saving the
36498         working directory chooses same fd.
36499         * lib/at-func.c (AT_FUNC_NAME): Likewise.
36500
36501         mkdir, mkdirat: fix cygwin 1.5.x bug
36502         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
36503         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
36504         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
36505         bug.
36506         (gl_PREREQ_MKDIR): Delete unused macro.
36507         * modules/mkdir (Files): Track file rename.
36508         (configure.ac): Update macro name.
36509         * modules/openat (Depends-on): Add mkdir.
36510         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
36511
36512         mkdir, mkdirat: add tests
36513         * modules/mkdir-tests: New test.
36514         * tests/test-mkdir.h: New file.
36515         * tests/test-mkdir.c: Likewise.
36516         * tests/test-mkdirat.c: Likewise.
36517         * modules/openat-tests (Files): Add new files.
36518         (Makefile.am): Run new test.
36519
36520 2009-10-06  Eric Blake  <ebb9@byu.net>
36521
36522         doc: tweak *at function documentation
36523         * doc/posix-functions/faccessat.texi (faccessat): Mention
36524         known issue with replacement.
36525         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
36526         * doc/posix-functions/linkat.texi (linkat): Likewise.
36527         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
36528         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
36529         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
36530         * doc/posix-functions/renameat.texi (renameat): Likewise.
36531         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
36532
36533         openat: fix GNU/Hurd bug in unlinkat
36534         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
36535         broken.
36536         * doc/posix-functions/unlink.texi (unlink): Document this.
36537         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
36538
36539         fdopendir: fix GNU/Hurd bug
36540         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
36541         allowing non-directory fds.
36542         * lib/fdopendir.c (rpl_fdopendir): Work around it.
36543         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
36544         * modules/dirent (Makefile.am): Substitute it.
36545         * lib/dirent.in.h (fdopendir): Declare replacement.
36546         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
36547         * tests/test-fdopendir.c (main): Test something other than
36548         /dev/null, since on Hurd that behaves like a directory.
36549
36550         test-symlink: port to GNU/Hurd
36551         * tests/test-symlink.h (test_symlink): Relax expected errno.
36552
36553         doc: tweak more cygwin information
36554         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
36555         now compatible with glibc.
36556         * doc/posix-functions/getopt.texi (getopt): Likewise.
36557
36558         getopt-gnu: add another test
36559         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
36560         guarantee behavior relied on by m4.
36561         * tests/test-getopt.c (main): Use it.
36562         * modules/getopt-posix-tests (Depends-on): Add setenv.
36563         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
36564
36565         getopt: fix compilation on darwin
36566         * lib/getopt.in.h (includes): Leave breadcrumbs during system
36567         include.
36568         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
36569         Reported by Ludovic Courtès.
36570
36571 2009-10-06  Bruno Haible  <bruno@clisp.org>
36572
36573         * modules/size_max (Description): Discourage its use.
36574         Reported by Simon Josefsson.
36575
36576 2009-10-06  Jim Meyering  <meyering@redhat.com>
36577
36578         linkat: avoid compilation failure
36579         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
36580
36581 2009-10-05  Eric Blake  <ebb9@byu.net>
36582
36583         linkat: support Linux 2.6.17
36584         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
36585         linkat on Linux, but allow cache variable override.
36586         * lib/linkat.c (rpl_linkat): Define override.
36587         * modules/linkat (Depends-on): Add symlinkat.
36588         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
36589         * modules/unistd (Makefile.am): Substitute it.
36590         * lib/unistd.in.h (linkat): Declare replacement.
36591         Reported by Pádraig Brady.
36592
36593         quotearg: port test to systems with C.UTF-8 locale
36594         * tests/test-quotearg.c (struct result_strings): Add another
36595         member, differentiating between C.ASCII and C.UTF-8 handling.
36596         (compare_strings): Add parameter.
36597         (main): Adjust all callers.
36598
36599         getopt: avoid clash with FreeBSD _getopt_internal
36600         * lib/getopt.in.h (_getopt_internal): Override the name.
36601         * lib/getopt_int.h (includes): Pick up any overrides.
36602         Reported by Reuben Thomas.
36603
36604         hash: allow C89 compilation
36605         * lib/hash.c (check_tuning): Move declaration before statement.
36606         Reported by Reuben Thomas.
36607
36608 2009-10-05  Karl Berry  <karl@gnu.org>
36609
36610         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
36611
36612 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
36613             Bruno Haible  <bruno@clisp.org>
36614
36615         * lib/uname.c (uname): Use a table-driven algorithm to compute
36616         Windows NT versions.
36617
36618 2009-10-04  Bruno Haible  <bruno@clisp.org>
36619
36620         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
36621         program_invocation_short_name.
36622         * modules/progname (configure.ac): Test for presence of
36623         program_invocation_short_name.
36624         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
36625
36626 2009-10-04  Bruno Haible  <bruno@clisp.org>
36627
36628         * lib/progname.c (set_program_name): Fix comment.
36629         Reported by Jim Meyering.
36630
36631 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
36632             Bruno Haible  <bruno@clisp.org>
36633
36634         * lib/uname.c: Include <string.h>.
36635         (uname): Do only one call to GetVersionEx in the common case.
36636
36637 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
36638             Bruno Haible  <bruno@clisp.org>
36639
36640         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
36641         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
36642         (uname): Add support for Windows CE and various non-x86 CPU types.
36643
36644 2009-10-03  Bruno Haible  <bruno@clisp.org>
36645
36646         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
36647         invocation to tests/configure.ac.
36648         Reported by Ian Beckwith <ianb@erislabs.net>.
36649
36650 2009-10-02  Eric Blake  <ebb9@byu.net>
36651
36652         fchdir: avoid compiler warning
36653         * lib/fchdir.c (canonicalize_file_name)
36654         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
36655
36656         test-open: support mingw errno values
36657         * tests/test-open.h (test_open): Relax test.
36658         * tests/test-fopen.h (test_fopen): Likewise.
36659         * tests/test-openat-safer.c (main): Likewise.
36660
36661         open: fix opening directory on mingw
36662         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
36663
36664         test-open: on GNU/Hurd, /dev/null is a directory
36665         * tests/test-fopen.h (main): Rename...
36666         (test_fopen): ...to this.  Use a guaranteed non-directory when
36667         confirming open behavior on trailing slash.
36668         * tests/test-openat-safer.c (main): Likewise.
36669         * tests/test-open.h (main): Likewise....
36670         (test_open): ...to this.
36671         * tests/test-fopen.c (main): Adjust caller.
36672         * tests/test-fopen-safer.c (main): Likewise.
36673         * tests/test-open.c (main): Likewise.
36674         * tests/test-fcntl-safer.c (main): Likewise.
36675         Reported by Samuel Thibault.
36676
36677         rename, fchdir: don't ignore chdir failure
36678         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
36679         * lib/rename.c (rpl_rename) [W32]: Likewise.
36680         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
36681         an empty destination directory if source cannot be renamed,
36682         although there is still possibility for failure.
36683         * doc/posix-functions/rename.texi (rename): Document the race.
36684         Reported by Jim Meyering.
36685
36686         maint: cleanup whitespace in recent commits
36687         * lib/rename.c (rpl_rename): Remove tabs.
36688         * tests/test-link.h (test_link): Likewise.
36689         * lib/fchdir.c (get_name): Likewise.
36690         Reported by Jim Meyering.
36691
36692 2009-10-02  Ben Pfaff  <blp@gnu.org>
36693
36694         relocatable-prog-wrapper: Add missing dependency on
36695         double-slash-root.
36696         * modules/relocatable-prog-wrapper: Add dependency.
36697         Reported by Ian Beckwith <ianb@erislabs.net>.
36698
36699 2009-10-02  Eric Blake  <ebb9@byu.net>
36700
36701         renameat: fix Solaris bugs
36702         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
36703         needed fixing.
36704         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
36705         * modules/stdio (Makefile.am): Substitute it.
36706         * lib/stdio.in.h (renameat): Declare replacement.
36707         * lib/renameat.c (rpl_renameat): Implement fix.
36708
36709         renameat: new module
36710         * modules/renameat: New file.
36711         * lib/renameat.c (renameat): Likewise.
36712         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
36713         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
36714         * modules/stdio (Makefile.am): Substitute them.
36715         * lib/stdio.in.h (renameat): Declare it.
36716         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36717         * doc/posix-functions/renameat.texi (renameat): Likewise.
36718         * modules/renameat-tests: New test.
36719         * tests/test-renameat.c: Likewise.
36720
36721         rename: fix mingw bugs
36722         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
36723         directory overwrite bugs.
36724
36725         rename: fix another cygwin 1.5 bug
36726         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
36727         checks.
36728         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
36729         unnecessary cygwin workarounds.  Also work around bug with moving
36730         full directory onto an empty one.
36731         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
36732
36733         rename-dest-slash: merge into rename module
36734         * modules/rename-dest-slash (Status): Mark obsolete.
36735         (Depends-on): Add rename.
36736         (Files): Let rename do it all.
36737         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
36738         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
36739         * m4/rename-dest-slash.m4: ...so this file can be deleted.
36740         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
36741         * lib/rename.c (rpl_rename): Update comments.
36742
36743         rename: fix cygwin 1.5.x bugs
36744         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
36745         * lib/rename.c (rpl_rename): Work around them.
36746         * modules/rename (Depends-on): Add same-inode.
36747
36748         rename: fix Solaris 10 bug
36749         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
36750         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
36751         was the only bug.
36752
36753         rename: fix Solaris 9 bug
36754         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
36755         on non-directory.  Avoid calling exit.
36756         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
36757         strdup.
36758         * modules/rename-tests (Depends-on): Drop lstat.
36759         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
36760         (gl_PREREQ_RENAME): Delete unused macro.
36761
36762         rename-dest-slash: fix NetBSD bug
36763         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
36764         links.
36765         * modules/rename-dest-slash (Depends-on): Add same-inode.
36766
36767         rename-tests: new test, exposes several platform bugs
36768         * modules/rename-tests: New file.
36769         * tests/test-rename.h: Likewise.
36770         * tests/test-rename.c: Likewise.
36771         * doc/posix-functions/rename.texi (rename): Improve documentation,
36772         including bugs that will eventually be fixed in gnulib.
36773
36774 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
36775
36776         * lib/uname.c: Include <stdlib.h>
36777         (uname): Assume version info is available.
36778
36779 2009-10-02  Jim Meyering  <meyering@redhat.com>
36780
36781         gnu-web-doc-update: correct --help output
36782         * build-aux/gnu-web-doc-update: Make --help output relevant.
36783
36784         gnu-web-doc-update: add standard options
36785         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
36786
36787         gnu-web-doc-update: New module.
36788         Use this script to automatically update the on-line web documentation
36789         for your GNU project at http://www.gnu.org/software/$pkg/manual/
36790         * modules/gnu-web-doc-update: New file, from coreutils.
36791         * build-aux/gnu-web-doc-update: New script.
36792
36793 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
36794
36795         link: LoadLibrary is not needed.
36796         * lib/link.c: Use GetModuleHandle.
36797
36798 2009-10-01  Eric Blake  <ebb9@byu.net>
36799
36800         getopt: bump serial number
36801         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
36802         change.
36803
36804         tests: tighten link, rmdir, and remove tests
36805         * tests/test-link.h (includes): No need to use <config.h> here.
36806         Clean up if directory hard link was created, otherwise test for
36807         trailing '.'.
36808         * tests/test-linkat.c (main): Simplify.
36809         * tests/test-remove.c (main): Enhance test for trailing '.'.
36810         * tests/test-rmdir.h (test_rmdir_func): Likewise.
36811
36812 2009-10-01  Jim Meyering  <meyering@redhat.com>
36813
36814         maint.mk: requiring "make major" was annoying, for a "minor" release.
36815         What is intended is "stable", to contrast with alpha and beta,
36816         so require "make stable", not "make major".
36817         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
36818         (get_tool_versions): Likewise.
36819         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
36820
36821 2009-09-30  Ben Pfaff  <blp@gnu.org>
36822
36823         Fix broken build of replacement for Windows tmpfile().
36824         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
36825         flags argument added along with the 'mkostemp' module.
36826
36827 2009-09-28  Bruno Haible  <bruno@clisp.org>
36828
36829         Avoid identifier clash with POSIX function 'remove' defined as a macro.
36830         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
36831         to 'remove_elt'.
36832         (gl_list_remove): Update.
36833         * lib/gl_list.c (gl_list_remove): Update.
36834         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
36835         to 'remove_elt'.
36836         (gl_oset_remove): Update.
36837         * lib/gl_list.c (gl_oset_remove): Update.
36838         Reported by Eric Blake.
36839
36840 2009-09-28  Eric Blake  <ebb9@byu.net>
36841
36842         doc: mention yet more cygwin 1.7 status
36843         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
36844         cygwin.
36845         * doc/glibc-functions/execvpe.texi (execvpe): New file.
36846         * doc/gnulib.texi (Glibc unistd.h): Mention it.
36847
36848         argp: fix test failure
36849         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
36850         that are not upper-case.  Pass correct range to tolower.
36851
36852 2009-09-27  Jim Meyering  <meyering@redhat.com>
36853
36854         test-yesno: work around sparc-dash here-document infelicity
36855         Without this change, the literal \177 byte in a here document
36856         would make dash 0.5.5.1-3 access uninitialized memory.
36857         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
36858         Instead, use a marker, "@", and filter through tr to create the desired
36859         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
36860
36861 2009-09-27  Bruno Haible  <bruno@clisp.org>
36862
36863         Disable untested support for new flavours of ACLs on AIX.
36864         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
36865         progress.
36866         * lib/set-mode-acl.c (qset_acl): Likewise.
36867
36868 2008-12-07  Bruno Haible  <bruno@clisp.org>
36869
36870         Add support for new flavours of ACLs on AIX. (Untested.)
36871         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
36872         (file_has_acl): Add support for newer AIX.
36873         * lib/set-mode-acl.c (qset_acl): Likewise.
36874         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
36875         Rainer Tammer <tammer@tammer.net>.
36876
36877 2009-09-26  Eric Blake  <ebb9@byu.net>
36878
36879         argp: fix compilation of getopt
36880         * lib/getopt.in.h (includes): Use different guard than glibc.
36881         Reported by Sergey Poznyakoff.
36882
36883         doc: mention more cygwin 1.7 status
36884         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
36885         bug.
36886         * doc/posix-functions/execl.texi (execl): Likewise.
36887         * doc/posix-functions/execle.texi (execle): Likewise.
36888         * doc/posix-functions/execlp.texi (execlp): Likewise.
36889         * doc/posix-functions/execv.texi (execv): Likewise.
36890         * doc/posix-functions/execve.texi (execve): Likewise.
36891         * doc/posix-functions/execvp.texi (execvp): Likewise.
36892         * doc/glibc-functions/canonicalize_file_name.texi
36893         (canonicalize_file_name): Cygwin 1.7 now provides this.
36894         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
36895         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
36896         on AT_SYMLINK_NOFOLLOW.
36897
36898 2009-09-24  Eric Blake  <ebb9@byu.net>
36899
36900         test-linkat: make test more robust
36901         * tests/test-linkat.c (main): Avoid collision with EEXIST.
36902
36903         getopt: fix inclusion guards for cygwin
36904         * modules/getopt-posix (Depends-on): Add include-next.
36905         (Makefile.am): Substitute more items in replacement header.
36906         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
36907         <getopt.h>.
36908         * lib/getopt.in.h (includes): Use split inclusion guard, and
36909         prefer <getopt.h> over include <unistd.h> when one is present.
36910         (option): Also override name of 'struct option'.
36911
36912         same-inode: revert prior change; it is not yet ready
36913         * NEWS: Undo mention of this change.
36914         * lib/same-inode.h (same-inode.h): Undo tri-state change.
36915         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
36916         * lib/cycle-check.c (cycle_check): Likewise.
36917         * lib/same.c (same_name): Likewise.
36918         * lib/at-func2.c (at_func2): Likewise.
36919
36920 2009-09-23  Eric Blake  <ebb9@byu.net>
36921
36922         linkat: new module
36923         * modules/linkat: New file.
36924         * lib/at-func2.c (at_func2): Likewise.
36925         * lib/linkat.c (linkat): Likewise.
36926         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
36927         * lib/openat-priv.h (at_func2): Add declaration.
36928         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
36929         * modules/unistd (Makefile.am): Substitute them.
36930         * lib/unistd.in.h (linkat): Declare it.
36931         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36932         * doc/posix-functions/linkat.texi (linkat): Likewise.
36933         * doc/posix-functions/link.texi (link): Tweak wording.
36934         * tests/test-link.c (main): Move guts...
36935         * tests/test-link.h (test_link): ...into new file.
36936         * modules/linkat-tests: New test.
36937         * tests/test-linkat.c: Likewise.
36938         * modules/link-tests (Files): Ship new file.
36939         (Depends-on): Add stdbool.
36940
36941         dirname: add library-safe mdir_name
36942         * lib/dirname.h (mdir_name): New prototype.
36943         * lib/dirname.c (dir_name): Move guts...
36944         (mdir_name): ...to new function that avoids xalloc_die.
36945
36946         fchdir: another mingw fix
36947         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
36948         * lib/fchdir.c (get_name): New helper method; skips canonicalize
36949         on mingw (where it has not yet been ported), and make it optional
36950         elsewhere.
36951         (_gl_register_fd): Use it.
36952
36953         same-inode: make SAME_INODE tri-state, to port to mingw
36954         * NEWS: Mention this change.
36955         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
36956         st_ino always being 0.
36957         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
36958         * lib/cycle-check.c (cycle_check): Likewise.
36959         * lib/same.c (same_name): Likewise.
36960
36961         lstat: avoid mingw compilation error
36962         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
36963         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
36964         lstat ourselves.
36965         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
36966         was adequate.
36967         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
36968         the checks for lstat.
36969         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
36970
36971         link: fix test failure on Solaris 9
36972         * lib/link.c (rpl_link): Don't assume link will catch bogus
36973         trailing slash on source.
36974
36975         test-symlinkat: enhance test
36976         * tests/test-readlink.c (main): Move guts...
36977         * tests/test-readlink.h (test_readlink): ...into new file.
36978         * tests/test-symlink.c (main): Move guts...
36979         * tests/test-symlink.h (test_symlink): ...into new file.
36980         * tests/test-symlinkat.c (main): Use new files for further
36981         coverage.
36982         (do_symlink, do_readlink): New helper functions.
36983         * modules/symlink-tests (Files): Ship new file.
36984         (Depends-on): Add stdbool.
36985         * modules/readlink-tests (Files): Ship new file.
36986         (Depends-on): Add stdbool.
36987         * modules/symlinkat-tests (Files): Use new files.
36988
36989 2009-09-23  Eric Blake  <ebb9@byu.net>
36990
36991         readlink: document portability issue with symlink length
36992         * doc/posix-functions/lstat.texi (lstat): Mention that some file
36993         systems have bogus st_size on symlinks, and mention the
36994         areadlink-with-size module.
36995         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
36996         * doc/posix-functions/readlink.texi (readlink): Mention the
36997         areadlink module, and ERANGE failure.
36998         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
36999         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
37000
37001         readlink: fix Solaris 9 bug with trailing slash
37002         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
37003         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
37004         * doc/posix-functions/readlink.texi (readlink): Document this.
37005         * modules/readlink-tests: New test.
37006         * tests/test-readlink.c: Likewise.
37007
37008         readlink: fix cygwin 1.5.x bug with return type
37009         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
37010         * lib/unistd.in.h (readlink): Use ssize_t.
37011         * lib/readlink.c (readlink): Likewise.
37012         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37013         * modules/unistd (Makefile.am): Substitute it.
37014         * lib/unistd.in.h (readlink): Declare replacement.
37015         * doc/posix-functions/readlink.texi (readlink): Document this.
37016
37017         symlink: use throughout gnulib
37018         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
37019         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
37020         symlink is not used.
37021         * modules/symlinkat (Depends-on): Add symlink.
37022         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37023         * modules/canonicalize-tests (Depends-on): Likewise.
37024         * modules/lstat-tests (Depends-on): Likewise.
37025         * modules/openat-tests (Depends-on): Likewise.
37026         * modules/remove-tests (Depends-on): Likewise.
37027         * modules/rmdir-tests (Depends-on): Likewise.
37028         * modules/unlink-tests (Depends-on): Likewise.
37029         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
37030         * tests/test-canonicalize.c (symlink): Likewise.
37031         * tests/test-fstatat.c (symlink): Likewise.
37032         * tests/test-lstat.c (symlink): Likewise.
37033         * tests/test-remove.c (symlink): Likewise.
37034         * tests/test-rmdir.c (symlink): Likewise.
37035         * tests/test-unlink.c (symlink): Likewise.
37036         * tests/test-unlinkat.c (symlink): Likewise.
37037
37038         symlink: new module, for Solaris 9 bug
37039         * modules/symlink: New file.
37040         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
37041         * lib/symlink.c: Likewise.
37042         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
37043         * modules/unistd (Makefile.am): Substitute them.
37044         * lib/unistd.in.h (symlink): Declare replacement.
37045         * MODULES.html.sh (File system functions): Mention it.
37046         * doc/posix-functions/symlink.texi (symlink): Likewise.
37047         * modules/symlink-tests: New test.
37048         * tests/test-symlink.c: Likewise.
37049
37050 2009-09-23  Bruno Haible  <bruno@clisp.org>
37051
37052         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
37053         when needed.
37054         Test case: gnulib-tool --import --with-tests atexit inttypes.
37055         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
37056
37057 2009-09-23  Bruno Haible  <bruno@clisp.org>
37058
37059         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
37060         subcommand, not in a subshell.
37061
37062 2009-09-22  Eric Blake  <ebb9@byu.net>
37063
37064         unistd: sort replacement declarations
37065         * lib/unistd.in.h: Sort declarations.
37066
37067         open, openat: minor optimization
37068         * lib/open.c (open): If open succeeded, len is non-zero.
37069         * lib/openat.c (rpl_openat): Likewise.
37070
37071         link-follow: ensure correct result
37072         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
37073         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
37074         distinguish between possible failures.
37075
37076 2009-09-21  Eric Blake  <ebb9@byu.net>
37077
37078         fts: avoid compiler warning
37079         * lib/fts.c (dirent_inode_sort_may_be_useful)
37080         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
37081
37082 2009-09-19  Bruno Haible  <bruno@clisp.org>
37083
37084         * lib/progreloc.c (canonicalize_file_name): New declaration.
37085
37086 2009-09-19  Eric Blake  <ebb9@byu.net>
37087
37088         link: fix quoting
37089         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
37090
37091         openat: fix openat bugs on Solaris 9
37092         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
37093         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
37094         * modules/openat (Depends-on): Add open.
37095         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
37096         * modules/fcntl-h (Makefile.am): Substitute it.
37097         * lib/fcntl.in.h (openat): Declare replacement.
37098         * doc/posix-functions/openat.texi (openat): Document this.
37099
37100         openat: move fstatat and unlinkat into correct files
37101         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
37102         compiled.
37103         * lib/openat.c (fstatat, unlinkat): Move...
37104         * lib/fstatat.c (fstatat): ...into correct files.
37105         * lib/unlinkat.c (unlinkat): Likewise.
37106
37107         openat: fix unlinkat bugs on Solaris 9
37108         * lib/unlinkat.c (unlinkat): New file.
37109         * modules/openat (Depends-on): Add unlink.
37110         (Files): Distribute it.
37111         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
37112         trailing slash behavior is broken.
37113         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37114         * modules/unistd (Makefile.am): Substitute it.
37115         * lib/unistd.in.h (unlinkat): Declare replacement.
37116         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
37117
37118         openat: fix fstatat bugs on Solaris 9
37119         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
37120         stat.
37121         * doc/posix-functions/fstatat.texi (fstatat): Document this.
37122
37123         test-unlinkat: enhance test, to expose Solaris 9 bug
37124         * tests/test-unlink.c (main): Factor guts...
37125         * tests/test-unlink.h (test_rmdir_func): ...into new file.
37126         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
37127         * tests/test-rmdir.c (main): Adjust caller.
37128         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
37129         (unlinker): New helper function.
37130         (rmdirat): Enhance check.
37131         * modules/rmdir-tests (Depends-on): Add stdbool.
37132         * modules/unlink-tests (Depends-on): Likewise.
37133         (Files): Add test-unlink.h.
37134         * modules/openat-tests (Files): Likewise.
37135         (Depends-on): Add unlinkdir.
37136
37137         test-fstatat: new test, to expose Solaris 9 bugs
37138         * tests/test-stat.c (main): Factor guts...
37139         * tests/test-stat.h (test_stat_func): ...into new file.
37140         * tests/test-lstat.c (main): Factor guts...
37141         * tests/test-lstat.h (test_lstat_func): ...into new file.
37142         * tests/test-fstatat.c: New file.
37143         * modules/stat-tests (Files): Add test-stat.h.
37144         * modules/lstat-tests (Files): Add test-lstat.h.
37145         (Depends-on): Add stdbool.
37146         * modules/openat-tests (Depends-on): Add pathmax.
37147         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
37148         (Makefile.am): Run new test.
37149
37150         remove: new module, for mingw and Solaris 9 bugs
37151         * modules/remove: New file.
37152         * lib/remove.c: Likewise.
37153         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
37154         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
37155         * modules/stdio (Makefile.am): Use them.
37156         * lib/stdio.in.h (remove): Declare replacement.
37157         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37158         * doc/posix-functions/remove.texi (remove): Likewise.
37159         * modules/remove-tests: New test.
37160         * tests/test-remove.c: Likewise.
37161
37162         unlink: new module, for Solaris 9 bug
37163         * modules/unlink: New file.
37164         * lib/unlink.c: Likewise.
37165         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
37166         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
37167         * modules/unistd (Makefile.am): Use them.
37168         * lib/unistd.in.h (stat): Declare replacement.
37169         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37170         * doc/posix-functions/unlink.texi (unlink): Likewise.
37171         * modules/unlink-tests: New test.
37172         * tests/test-unlink.c: Likewise.
37173
37174         lstat: fix Solaris 9 bug
37175         * lib/lstat.c (lstat): Also check for trailing slash on
37176         non-symlink, non-directories.  Use stat module to simplify logic.
37177         * doc/posix-functions/lstat.texi (lstat): Document it.
37178         * modules/lstat-tests (Depends-on): Add errno, same-inode.
37179         (configure.ac): Check for symlink.
37180         * tests/test-lstat.c (main): Add more tests.
37181
37182         stat: add as dependency to other modules
37183         * modules/chown (Depends-on): Add stat.
37184         * modules/euidaccess (Depends-on): Likewise.
37185         * modules/fchdir (Depends-on): Likewise.
37186         * modules/isdir (Depends-on): Likewise.
37187         * modules/link (Depends-on): Likewise.
37188         * modules/lstat (Depends-on): Likewise.
37189         * modules/mkdir-p (Depends-on): Likewise.
37190         * modules/modechange (Depends-on): Likewise.
37191         * modules/open (Depends-on): Likewise.
37192         * modules/readlink (Depends-on): Likewise.
37193         * modules/same (Depends-on): Likewise.
37194
37195         stat: fix Solaris 9 bug
37196         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
37197         slash.
37198         * lib/stat.c (rpl_stat): Work around it.
37199         * doc/posix-functions/stat.texi (stat): Update documentation.
37200
37201         stat: new module, for mingw bug
37202         * modules/stat: New file.
37203         * lib/stat.c: Likewise.
37204         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
37205         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
37206         * modules/sys_stat (Makefile.am): Use them.
37207         * lib/sys_stat.in.h (stat): Declare replacement.
37208         * lib/openat.c (fstatat): Deal with lstat and stat being function
37209         macros.
37210         * modules/openat (Depends-on): Add inline.
37211         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37212         * doc/posix-functions/stat.texi (stat): Likewise.
37213         * modules/stat-tests: New test.
37214         * tests/test-stat.c: Likewise.
37215
37216 2009-09-19  Jim Meyering  <meyering@redhat.com>
37217
37218         syntax-check: detect unnecessary inclusion of canonicalize.h
37219         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
37220
37221 2009-09-19  Eric Blake  <ebb9@byu.net>
37222
37223         canonicalize-lgpl: adjust clients to use correct header
37224         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
37225         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
37226         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
37227         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
37228         * lib/progreloc.c (includes): Likewise.
37229
37230 2009-09-19  Jim Meyering  <meyering@redhat.com>
37231
37232         test-posixtm.c: correct a comment
37233         * tests/test-posixtm.c: Correct first-line comment.
37234         Spotted by Eric Blake.
37235
37236 2009-09-16  Jim Meyering  <meyering@redhat.com>
37237
37238         posixtm-tests: make T const-correct; add a test case
37239         * tests/test-posixtm.c (T): Declare const.
37240         Add a test for -(2^31+1).
37241         Remove useless can-succeed-only-in-2002 test.
37242
37243         posixtm-tests: adjust the sole failing test
37244         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
37245         expected output matches what mktime now produces.  Cross-checked via
37246         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
37247
37248         posixtm: move #ifdef'd tests into a new module
37249         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
37250         * tests/test-posixtm.c: ... this new file.
37251         * modules/posixtm-tests: New module.
37252
37253 2009-09-19  Eric Blake  <ebb9@byu.net>
37254
37255         openat: simplify use of at-func.c
37256         * lib/at-func.c (includes): Include prerequisites here, to
37257         simplify requirements on client files.
37258         * lib/openat-priv.h: Add double-inclusion guard.
37259         * lib/faccessat.c (includes): Simplify.
37260         * lib/fchmodat.c (includes): Likewise.
37261         * lib/fchownat.c (includes): Likewise.
37262         * lib/mkdirat.c (includes): Likewise.
37263         * lib/mkfifoat.c (includes): Likewise.
37264         * lib/symlinkat.c (includes): Likewise.
37265
37266         openat: allow return of fd 0
37267         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
37268         * modules/save-cwd (Depends-on): Replace fcntl-safer with
37269         unistd-safer.
37270         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
37271         <fcntl.h>; this module does not leak fds.
37272         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
37273         must be allowed to return 0, leaving openat_safer to add the
37274         safety.
37275         (openat_permissive): Avoid writing to just-opened fd 2 if
37276         restoring the current directory fails.
37277         * lib/openat-die.c (openat_restore_fail): Add comment.
37278         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
37279         (save_cwd): Guarantee safe fd, but without use of open_safer.
37280         * tests/test-openat.c: New test.
37281         * modules/openat-tests (Files, Makefile.am): Distribute and build
37282         new file.
37283
37284         relocatable-prog-wrapper: fix build
37285         * modules/relocatable-prog-wrapper (Files): Update name of
37286         canonicalize m4 file, broken on 2009-09-17.
37287         Reported by emad hajjar <aleppos@hotmail.com>.
37288
37289 2009-09-19  Bruno Haible  <bruno@clisp.org>
37290
37291         * lib/safe-alloc.h: Use the standard header with GPL copyright.
37292         * lib/safe-alloc.c: Likewise.
37293         Reported by Ian Beckwith <ianb@erislabs.net>.
37294
37295 2009-09-18  Bruno Haible  <bruno@clisp.org>
37296
37297         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
37298         Reported by <erobles@sensacd.com.mx>.
37299
37300 2009-09-17  Eric Blake  <ebb9@byu.net>
37301
37302         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
37303         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
37304         slashes when checking if last component is missing.
37305         * tests/test-canonicalize.c (main): Test this.
37306
37307         canonicalize, canonicalize-lgpl: honor // if distinct from /
37308         * modules/canonicalize (Files): Add double-slash-root.m4.
37309         * modules/canonicalize-lgpl (Files): Likewise.
37310         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
37311         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
37312         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
37313         fallback definition.
37314         (canonicalize_filename_mode): Use it to protect //.
37315         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
37316         (__realpath): Likewise.
37317         * tests/test-canonicalize.c (main): Test this.
37318         * tests/test-canonicalize-lgpl.c (main): Likewise.
37319         * modules/canonicalize-tests (Depends-on): Add same-inode.
37320         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37321
37322         canonicalize-lgpl: fix glibc bug with trailing slash
37323         * m4/canonicalize-lgpl.m4: Move contents...
37324         * m4/canonicalize.m4: ...here.
37325         (gl_CANONICALIZE_LGPL): Factor realpath check...
37326         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
37327         glibc 2.3.5 bug, fixed 2005-04-27.
37328         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
37329         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
37330         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
37331         * modules/canonicalize-lgpl (Files): Manage file rename.
37332         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
37333         * modules/stdlib (Makefile.am): Substitute witness.
37334         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
37335         is needed.
37336         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
37337         replacement is required.
37338         * lib/canonicalize.c (canonicalize_file_name): Likewise.
37339         * doc/glibc-functions/canonicalize_file_name.texi
37340         (canonicalize_file_name): Document this.
37341         * doc/posix-functions/realpath.texi (realpath): Likewise.
37342
37343         canonicalize-lgpl: reject non-directory with trailing slash
37344         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
37345         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
37346         catches failures in glibc 2.3.5.
37347         * tests/test-canonicalize.c (main): Likewise.
37348
37349         canonicalize-lgpl: use native realpath if it works
37350         * lib/canonicalize-lgpl.c (realpath): Guard with
37351         FUNC_REALPATH_WORKS.
37352         * lib/stdlib.in.h (realpath): Make declaration optional based on
37353         HAVE_REALPATH.
37354         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
37355         native realpath works.
37356         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
37357         * modules/stdlib (Makefile.am): Substitute witness.
37358
37359         canonicalize, canonicalize-lgpl: use <stdlib.h>
37360         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
37361         (Include): Mention <stdlib.h>.
37362         (configure.ac): Mention functions we provide.
37363         * modules/canonicalize (configure.ac): Likewise.
37364         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
37365         realpath if canonicalize_file_name is missing.
37366         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
37367         * modules/stdlib (Makefile.am): Substitute witnesses.
37368         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
37369         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
37370         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
37371         * NEWS: Document this.
37372         * doc/glibc-functions/canonicalize_file_name.texi
37373         (canonicalize_file_name): Likewise.
37374         * doc/posix-functions/realpath.texi (realpath): Likewise.
37375         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
37376
37377         test-canonicalize: consolidate into single C program
37378         * tests/test-canonicalize.sh: Delete; move setup into...
37379         * tests/test-canonicalize.c (main): ...the program, making it
37380         easier to run in debugger.  Add some tests.
37381         * modules/canonicalize-tests (Files): Remove unused file.
37382         (Depends-on): Add progname.
37383         (configure.ac, Makefile.am): Simplify.
37384
37385         test-canonicalize-lgpl: consolidate into single C program
37386         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
37387         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
37388         easier to run in debugger.  Add some tests.
37389         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
37390         (configure.ac, Makefile.am): Simplify.
37391
37392         canonicalize: avoid resolvepath
37393         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
37394         unnecessary checks.
37395         * lib/canonicalize.c (includes): Simplify.
37396         (canonicalize_file_name): Drop resolvepath implementation.
37397         * modules/canonicalize (Depends-on): Drop filenamecat.
37398
37399         canonicalize: don't lose errno
37400         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
37401         over calls to free.
37402
37403         canonicalize: simplify errno handling
37404         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
37405         assignment.
37406
37407         canonicalize, canonicalize-lgpl: update module dependencies
37408         * modules/canonicalize (Depends-on): Add extensions, lstat,
37409         pathmax, stdlib.
37410         (Files): Drop pathmax.h.
37411         (configure.ac): Adjust macro name.
37412         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
37413         lstat, stdlib, sys_stat.
37414         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
37415         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
37416         extensions.
37417         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
37418         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
37419         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
37420         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
37421         declaration, if available.
37422         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
37423         we can rely on the readlink module.
37424         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
37425         (includes): Use <unistd.h> unconditionally.
37426
37427 2009-09-17  Eric Blake  <ebb9@byu.net>
37428
37429         maint: make Include sections of modules consistent
37430         * modules/alloca: Use only header name; no need to list #include.
37431         * modules/alloca-opt: Likewise.
37432         * modules/arpa_inet: Likewise.
37433         * modules/canon-host: Likewise.
37434         * modules/configmake: Likewise.
37435         * modules/dirent: Likewise.
37436         * modules/eealloc: Likewise.
37437         * modules/environ: Likewise.
37438         * modules/fchdir: Likewise.
37439         * modules/fcntl: Likewise.
37440         * modules/fcntl-h: Likewise.
37441         * modules/gethrxtime: Likewise.
37442         * modules/gettime: Likewise.
37443         * modules/ignore-value: Likewise.
37444         * modules/inet_ntop: Likewise.
37445         * modules/inet_pton: Likewise.
37446         * modules/inttypes: Likewise.
37447         * modules/isnand-nolibm: Likewise.
37448         * modules/isnanf-nolibm: Likewise.
37449         * modules/mbchar: Likewise.
37450         * modules/mbfile: Likewise.
37451         * modules/mbiter: Likewise.
37452         * modules/mbuiter: Likewise.
37453         * modules/netdb: Likewise.
37454         * modules/netinet_in: Likewise.
37455         * modules/nproc: Likewise.
37456         * modules/pagealign_alloc: Likewise.
37457         * modules/poll: Likewise.
37458         * modules/printf-frexp: Likewise.
37459         * modules/pthread: Likewise.
37460         * modules/putenv: Likewise.
37461         * modules/random_r: Likewise.
37462         * modules/relocatable-prog: Likewise.
37463         * modules/search: Likewise.
37464         * modules/select: Likewise.
37465         * modules/selinux-h: Likewise.
37466         * modules/settime: Likewise.
37467         * modules/signal: Likewise.
37468         * modules/size_max: Likewise.
37469         * modules/socklen: Likewise.
37470         * modules/ssize_t: Likewise.
37471         * modules/stdarg: Likewise.
37472         * modules/stdbool: Likewise.
37473         * modules/stddef: Likewise.
37474         * modules/stdint: Likewise.
37475         * modules/stdio: Likewise.
37476         * modules/stdlib: Likewise.
37477         * modules/string: Likewise.
37478         * modules/strings: Likewise.
37479         * modules/sys_file: Likewise.
37480         * modules/sys_ioctl: Likewise.
37481         * modules/sys_select: Likewise.
37482         * modules/sys_socket: Likewise.
37483         * modules/sys_stat: Likewise.
37484         * modules/sys_time: Likewise.
37485         * modules/sys_times: Likewise.
37486         * modules/sys_utsname: Likewise.
37487         * modules/sys_wait: Likewise.
37488         * modules/sysexits: Likewise.
37489         * modules/time: Likewise.
37490         * modules/times: Likewise.
37491         * modules/tmpfile: Likewise.
37492         * modules/trim: Likewise.
37493         * modules/unistd: Likewise.
37494         * modules/wchar: Likewise.
37495         * modules/wctype: Likewise.
37496
37497 2009-09-17  Bruno Haible  <bruno@clisp.org>
37498
37499         Make getdate.y compile on QNX and NetBSD 5 / i386.
37500         * m4/getdate.m4 (gl_GETDATE): Conditionally define
37501         TIME_T_FITS_IN_LONG_INT.
37502         * lib/getdate.y (long_time_t): New type.
37503         (relative_time): Change type of 'seconds' field to long_time_t.
37504         (get_date): Update types of local variables. Check against overflow
37505         during conversion from long_time_t to time_t.
37506         Reported by Matt Kraai <kraai@ftbfs.org>
37507         and Hasso Tepper <hasso@netbsd.org>.
37508
37509 2009-09-17  Bruno Haible  <bruno@clisp.org>
37510
37511         * modules/COPYING: Update copyright years.
37512         * modules/README: Likeiwse.
37513         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
37514         Reported by Ian Beckwith <ianb@erislabs.net>.
37515
37516 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
37517
37518         * users.txt: Update references for gnuit package.
37519
37520 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
37521
37522         * m4/getdelim.m4: Fix typo in copyright line.
37523
37524 2009-09-17  Bruno Haible  <bruno@clisp.org>
37525
37526         * lib/atoll.c: Use the standard header with GPL copyright.
37527         * lib/argz.in.h: Likewise.
37528         * lib/glob.c: Likewise.
37529         * lib/glob-libc.h: Likewise.
37530         * lib/random_r.c: Likewise.
37531         * lib/siglist.h: Likewise.
37532         * lib/strsignal.c: Likewise.
37533         Reported by Ian Beckwith <ianb@erislabs.net>.
37534
37535 2009-09-17  Eric Blake  <ebb9@byu.net>
37536
37537         rmdir: ensure correct dependency order
37538         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
37539
37540 2009-09-17  Bruno Haible  <bruno@clisp.org>
37541
37542         Disable assertion that fails on NetBSD 5 / i386.
37543         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
37544         Reported by Sam Steingold <sds@gnu.org>
37545         and Hasso Tepper <hasso@netbsd.org>.
37546
37547 2009-09-16  Eric Blake  <ebb9@byu.net>
37548
37549         unlinkdir: port to mingw
37550         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
37551         on which no one can unlink a directory.
37552
37553         stdlib: sort witness names
37554         * modules/stdlib (Makefile.am): Sort replacements.
37555         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
37556         * lib/stdlib.in.h: Likewise.
37557
37558         parse-duration-tests: avoid link failure
37559         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
37560         LIBINTL.
37561         Reported by Tom G. Christensen.
37562
37563         openat-tests: ensure unlinkat behaves like rmdir
37564         * tests/test-rmdir.c (main): Factor guts...
37565         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
37566         * modules/rmdir-tests (Files): Ship new file.
37567         * modules/openat-tests: New test.
37568         * tests/test-unlinkat.c: Likewise.
37569
37570         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
37571         * modules/rmdir-errno (Status, Notice): Now obsolete.
37572
37573         rmdir: work around cygwin 1.5.x and mingw bugs
37574         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
37575         * lib/rmdir.c (rmdir): Work around it.
37576         * modules/rmdir (Status, Notice): No longer obsolete.
37577         (Files): Add dos.m4.
37578         (Depends-on): Add unistd.
37579         (configure.ac): Set witnesses.
37580         (License): Relax to LGPLv2+.
37581         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
37582         * modules/unistd (Makefile.am): Substitute witnesses.
37583         * lib/unistd.in.h (rmdir): Declare replacement.
37584         * doc/posix-functions/rmdir.texi (rmdir): Document this.
37585         * modules/rmdir-tests: New tests.
37586         * tests/test-rmdir.c: Likewise.
37587
37588 2009-09-15  Eric Blake  <ebb9@byu.net>
37589
37590         fchdir: improve use of replacement functions
37591         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
37592         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
37593         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
37594         REPLACE_CLOSEDIR.
37595         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
37596         * modules/sys_stat (Makefile.am): Substitute correct witness.
37597         * modules/dirent (Makefile.am): Likewise.
37598         * modules/unistd (Makefile.am): Likewise.
37599         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
37600         * lib/unistd.in.h (dup): Likewise.
37601         * lib/sys_stat.in.h (fstat): Likewise.
37602
37603         maint: ignore gnulib-tool temp files
37604         * .gitignore: Ignore files created during gnulib-tool --test.
37605
37606 2009-09-13  Jim Meyering  <meyering@redhat.com>
37607
37608         posixtm: don't reject a time that specify "60" as the number of seconds
37609         * lib/posixtm.c (posixtime): The code to reject invalid dates
37610         would also reject a time specified with the .60 suffix.
37611         But POSIX allows that, in order to accommodate leap seconds.
37612         So don't reject it.
37613         (main): Adjust tests accordingly.
37614         * modules/posixtm (Depends-on): Add stpcpy.
37615
37616 2009-09-11  Jim Meyering  <meyering@redhat.com>
37617
37618         announce-gen: include [$release_type] in emitted Subject:
37619         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
37620         e.g., [stable] in the emitted Subject: line.
37621
37622 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37623
37624         Remove obsolete macros from several modules.
37625         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
37626         obsolete Autoconf macros with their modern counterparts.
37627         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
37628         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
37629         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
37630         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
37631         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
37632         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
37633         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
37634         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
37635         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
37636         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
37637         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
37638         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
37639         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
37640         * m4/sockets.m4 (gl_SOCKETS): Likewise.
37641         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
37642         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
37643         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
37644         * m4/time_r.m4 (gl_TIME_R): Likewise.
37645         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
37646         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
37647         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
37648
37649         Fix copyright header in build-aux scripts.
37650         * build-aux/git-version-gen: Fix copyright header to match GPLv3
37651         recommendation.
37652         * build-aux/ncftpput-ftp: Likewise.
37653         * build-aux/update-copyright: Likewise.
37654
37655 2009-09-09  Eric Blake  <ebb9@byu.net>
37656
37657         test-link: allow Linux choice of errno
37658         * tests/test-link.c (main): Relax test for alternate error.
37659
37660         strndup: fix improper m4 caching
37661         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
37662         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
37663         (gl_PREREQ_STRNDUP): Delete.
37664         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
37665         * modules/string (Makefile.am): Substitute it.
37666         * lib/string.in.h (strndup): Modernize prototype.
37667
37668         getcwd: port to mingw
37669         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
37670         different from the POSIX assumptions made throughout the getcwd
37671         module; fortunately, the mingw getcwd does not need replacement.
37672         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
37673         * modules/getcwd-tests: New test.
37674         * tests/test-getcwd.c: Likewise.
37675
37676         link: fix platform bugs
37677         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
37678         * lib/link.c (link): Work around them.  Fix related mingw bug.
37679         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
37680         * modules/unistd (Makefile.am): Substitute it.
37681         * lib/unistd.in.h (link): Declare replacement.
37682         * doc/posix-functions/link.texi (link): Document this.
37683         * modules/link (Depends-on): Add strdup-posix, sys_stat.
37684
37685         test-link: consolidate into single C program, test more cases
37686         * tests/test-link.sh: Delete.
37687         * tests/test-link.c: Test more error conditions.  Exposes bugs on
37688         at least Cygwin and Solaris.
37689         * modules/link-tests (Files): Remove unused file.
37690         (Depends-on): Add errno, sys_stat.
37691         (Makefile.am): Simplify.
37692
37693 2009-09-08  Bruno Haible  <bruno@clisp.org>
37694
37695         Work around towlower, towupper bug on mingw.
37696         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
37697         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
37698         * doc/posix-functions/towlower.texi: Mention the mingw bug.
37699         * doc/posix-functions/towupper.texi: Likewise.
37700         Reported by Eric Blake.
37701
37702 2009-09-08  Jim Meyering  <meyering@redhat.com>
37703
37704         build: don't try to run autoheader if we don't use it
37705         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
37706         is not used in configure.ac.
37707
37708 2009-09-08  Eric Blake  <ebb9@byu.net>
37709
37710         euidaccess: fix compilation error
37711         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
37712
37713         rawmemchr: relax license
37714         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
37715         okay.
37716         Reported by Jim Meyering.
37717
37718         mkfifoat: new module
37719         * modules/mkfifoat: New file.
37720         * lib/mkfifoat.c: Likewise.
37721         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
37722         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
37723         * modules/sys_stat (Makefile.am): Use them.
37724         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
37725         * MODULES.html.sh (File system functions): Mention module.
37726         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
37727         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
37728         * modules/mkfifoat-tests: New test.
37729         * tests/test-mkfifoat.c: Likewise.
37730
37731         strchrnul: relax license
37732         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
37733         okay.
37734         Reported by Jim Meyering.
37735
37736 2009-09-08  Eric Blake  <ebb9@byu.net>
37737
37738         fstatat: fix compilation on Solaris
37739         * lib/fstatat.c (includes): Add fcntl.h.
37740         Reported by Pádraig Brady.
37741
37742 2009-09-07  Eric Blake  <ebb9@byu.net>
37743
37744         rename: modernize replacement
37745         * modules/rename (Depends-on): Add stdio.
37746         (configure.ac): Declare witness.
37747         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
37748         stdio take care of replacement.
37749         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
37750         * modules/stdio (Makefile.am): Substitute them.
37751         * lib/stdio.in.h (rename): Declare replacement.
37752         * lib/rename.c (includes): Allow cross-compilation to non-windows
37753         machines.
37754         * doc/posix-functions/rename.texi (rename): Improve
37755         documentation.
37756
37757         stdio: sort witness names
37758         * modules/stdio (Makefile.am): Sort replacements.
37759         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37760         * lib/stdio.in.h: Likewise.
37761
37762         getcwd: minor cleanups
37763         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
37764         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
37765
37766         openat: provide more convenience names
37767         * modules/faccessat (configure.ac): Add C witness.
37768         * lib/unistd.in.h (readlinkat): Fix typo.
37769         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
37770         convenience wrappers.
37771         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
37772         wrappers in syntax checks.
37773
37774 2009-09-06  Eric Blake  <ebb9@byu.net>
37775
37776         doc: fix comments in recent patches
37777         * lib/faccessat.c: Mention correct function.
37778         * lib/fchmodat.c: Likewise.
37779         * lib/fchownat.c: Likewise.
37780         * lib/symlinkat.c: Likewise.
37781         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
37782         constants.
37783
37784         faccessat, symlinkat: continue cleanup of previous patch
37785         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
37786         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
37787         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
37788         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
37789         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
37790         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
37791         set.
37792
37793 2009-09-06  Bruno Haible  <bruno@clisp.org>
37794
37795         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
37796         (fstatat): Declare if GNULIB_FSTATAT is set.
37797         (mkdirat): Declare if GNULIB_MKDIRAT is set.
37798         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
37799         (unlinkat): Declare if GNULIB_UNLINKAT is set.
37800         * modules/fcntl-h (Files): Remove m4/openat.m4.
37801         * modules/sys_stat (Files): Remove m4/openat.m4.
37802         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
37803         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
37804         * modules/unistd (Files): Remove m4/openat.m4.
37805         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
37806         GNULIB_OPENAT.
37807         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
37808         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
37809         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
37810         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
37811         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
37812         gl_OPENAT_DEFAULTS.
37813         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
37814         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
37815         Don't require gl_OPENAT_DEFAULTS.
37816         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
37817         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
37818         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
37819         (gl_OPENAT_DEFAULTS): Remove macro.
37820
37821 2009-09-06  Bruno Haible  <bruno@clisp.org>
37822
37823         * modules/openat (configure.ac): Remove unneeded witness.
37824
37825 2009-09-06  Bruno Haible  <bruno@clisp.org>
37826
37827         Set errno to ENOSYS when a function is entirely unsupported.
37828         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
37829         EOPNOTSUPP.
37830         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
37831         * modules/chown (Depends-on): Remove errno.
37832
37833 2009-09-06  Bruno Haible  <bruno@clisp.org>
37834
37835         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
37836
37837 2009-09-06  Bruno Haible  <bruno@clisp.org>
37838
37839         * lib/sys_stat.in.h: Fix preprocessor command indentation.
37840
37841 2009-09-06  Ben Pfaff  <blp@gnu.org>
37842             Bruno Haible  <bruno@clisp.org>
37843
37844         Work around a glibc bug in strtok_r.
37845         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
37846         Undefine if UNDEFINE_STRTOK_R is set.
37847         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
37848         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
37849         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
37850         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
37851         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
37852         UNDEFINE_STRTOK_R.
37853         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
37854
37855 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
37856
37857         exclude: minor fix
37858         * lib/exclude.c: Include wctype.h
37859
37860 2009-09-06  Akim Demaille  <demaille@gostai.com>
37861
37862         bootstrap: improve error message
37863         * build-aux/bootstrap (find_tool): Upon failure, report the list
37864         of candidates.
37865         Honor the initial value of the envvar.
37866
37867 2009-09-05  Eric Blake  <ebb9@byu.net>
37868
37869         symlinkat: new module
37870         * modules/symlinkat: New file.
37871         * lib/symlinkat.c: Likewise.
37872         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
37873         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
37874         * modules/unistd (Makefile.am): Use them.
37875         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
37876         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
37877         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
37878         * MODULES.html.sh (File system functions): Mention module.
37879         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
37880         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
37881         * modules/symlinkat-tests: New test.
37882         * tests/test-symlinkat.c: Likewise.
37883
37884         test-openat-safer: add more checks
37885         * tests/test-openat-safer.c (main): Check more code paths.
37886
37887 2009-09-05  Jim Meyering  <meyering@redhat.com>
37888
37889         syntax-check: detect unnecessary inclusion of openat.h
37890         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
37891
37892 2009-09-05  Bruno Haible  <bruno@clisp.org>
37893
37894         Support towlower, towupper.
37895         * doc/posix-functions/towlower.texi: Mention module wctype.
37896         * doc/posix-functions/towupper.texi: Likewise.
37897         * lib/wctype.in.h (towlower, towupper): New functions.
37898         * tests/test-wctype.c: Include stdio.h, stdlib.h.
37899         (ASSERT): New macro.
37900         (e): New variable.
37901         (main): Test also towlower, towupper. Test WEOF argument.
37902         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
37903
37904 2009-09-05  Bruno Haible  <bruno@clisp.org>
37905
37906         Fix conversion behaviour when the input is invalid.
37907         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
37908         mark occurring in first pass of indirect conversion.
37909         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
37910         input.
37911         Found by clang's static analyzer.
37912
37913 2009-09-05  Bruno Haible  <bruno@clisp.org>
37914
37915         * tests/test-striconveh.c (main): Test indirect conversion on platforms
37916         where direct conversion is possible.
37917
37918 2009-09-04  Eric Blake  <ebb9@byu.net>
37919
37920         openat: fail with ENOENT on empty name
37921         * lib/openat-proc.c (openat_proc_name): Special-case the empty
37922         buffer.
37923
37924         link-follow: fix logic bug in prior patch
37925         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
37926         reversed sense of yes and no in prior patch.  Avoid confusing
37927         compilation failure with desired semantics.
37928
37929         link-follow: accomodate mingw and cross-compilation
37930         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
37931         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
37932         cross-compilation results to -1, to make linkat easier to
37933         implement when cross-compiling.  Trivially support mingw.
37934         * modules/link-follow (configure.ac): Call new name.
37935         * NEWS: Mention this.
37936
37937 2009-09-03  Eric Blake  <ebb9@byu.net>
37938
37939         faccessat: compile replacement
37940         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
37941         needed.
37942
37943         fts: fix compilation error
37944         * lib/fts.c (includes): Re-add "openat.h", for
37945         openat_needs_fchdir.
37946
37947         faccessat: new module
37948         * modules/faccessat: New file.
37949         * lib/faccessat.c: Likewise.
37950         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
37951         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37952         * modules/unistd (Makefile.am): Use it.
37953         * lib/unistd.in.h (faccessat): Declare it.
37954         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
37955         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
37956         * MODULES.html.sh (File system functions): Mention it.
37957         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
37958         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
37959
37960         euidaccess: prefer POSIX over non-standard implementation
37961         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
37962         * lib/euidaccess.c (euidaccess): Use it if available.
37963
37964         openat: make template easier to use
37965         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
37966         AT_FUNC_F2 to be undefined.
37967         (VALIDATE_FLAG): New macro; use it to reject bad flags.
37968         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
37969         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
37970         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
37971         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
37972         Likewise.
37973         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
37974         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
37975         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
37976         Likewise.
37977
37978         openat: declare in POSIX headers
37979         * NEWS: Mention this.
37980         * modules/openat (configure.ac): Declare witnesses.
37981         (Depends-on): Add fcntl-h, sys_stat, unistd.
37982         (Include): Mention correct headers.
37983         * modules/fcntl-h (Depends-on): Add link-warning.
37984         (Files): Add openat.m4.
37985         (Makefile.am): Substitute witnesses.
37986         * modules/sys_stat (Files, Makefile.am): Likewise.
37987         * modules/unistd (Files, Makefile.am): Likewise.
37988         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
37989         (gl_OPENAT_DEFAULTS): New macro.
37990         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
37991         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
37992         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
37993         (SYS_STAT_H): Remove unused variable.
37994         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
37995         * lib/fcntl--.h (includes): Remove unneeded header.
37996         * lib/openat-safer.c (includes): Likewise.
37997         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
37998         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
37999         appropriate headers.
38000         (__OPENAT_PREFIX): Delete.
38001         * lib/fcntl.in.h (openat): Provide declaration.
38002         (AT_FDCWD): Fix Solaris bug.
38003         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
38004         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
38005         * lib/fchmodat.c (includes):  Adjust to find declaration.
38006         * lib/fchownat.c (includes): Likewise.
38007         * lib/mkdirat.c (includes): Likewise.
38008         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
38009         still visible.
38010
38011 2009-09-02  Eric Blake  <ebb9@byu.net>
38012
38013         errno: use consistently
38014         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
38015         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
38016         * lib/canonicalize.c (ELOOP): Likewise.
38017         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
38018         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
38019         * lib/lchown.c (EOPNOTSUPP): Likewise.
38020         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
38021         * lib/savewd.c (ESTALE): Likewise.
38022         * lib/settime.c (ENOSYS): Likewise.
38023         * lib/utimens.c (ENOSYS): Likewise.
38024         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
38025         * lib/chdir-safer.c (ELOOP): Likewise.
38026         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
38027         * modules/c-stack (Depends-on): Add errno.
38028         * modules/canonicalize (Depends-on): Likewise.
38029         * modules/chdir-safer (Depends-on): Likewise.
38030         * modules/fdopendir (Depends-on): Likewise.
38031         * modules/inet_ntop (Depends-on): Likewise.
38032         * modules/inet_pton (Depends-on): Likewise.
38033         * modules/lchown (Depends-on): Likewise.
38034         * modules/openat (Depends-on): Likewise.
38035         * modules/savewd (Depends-on): Likewise.
38036         * modules/settime (Depends-on): Likewise.
38037         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
38038
38039         fts: avoid leaking fds
38040         * modules/fts (Depends-on): Add cloexec.
38041         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
38042         flag.
38043
38044         fts: make directory fds more robust
38045         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
38046         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
38047
38048         backupfile, chdir-long, fts, savedir: make safer
38049         * lib/backupfile.c (includes): Use "dirent--.h", since
38050         numbered_backup can write to stderr during readdir.
38051         * lib/savedir.c (includes): Likewise.
38052         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
38053         emulation can write to stderr on failure.
38054         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
38055         * lib/getcwd.c: Document why opendir_safer is unused.
38056         * lib/glob.c: Likewise.
38057         * lib/scandir.c: Likewise.
38058         * lib/openat-proc.c: Likewise, for open_safer.
38059         * modules/backupfile (Depends-on): Add dirent-safer.
38060         * modules/savedir (Depends-on): Likewise.
38061         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
38062         * modules/chdir-long (Depends-on): Add openat-safer.
38063
38064         openat-safer: new module
38065         * modules/openat-safer: New file.
38066         * lib/openat-safer.c: Likewise.
38067         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
38068         * lib/fcntl-safer.h (openat_safer): Declare.
38069         * lib/fcntl--.h (openat): Override.
38070         * MODULES.html.sh (File descriptor based I/O): Mention it.
38071         * lib/openat.h: Add double-inclusion guards.
38072         * lib/openat.c (includes): Only include "fcntl-safer.h", not
38073         "fcntl--.h", so we can implement openat.
38074         * modules/openat-safer-tests: New test.
38075         * tests/test-openat-safer.c: New file.
38076
38077         dirent-safer: new module
38078         * modules/dirent-safer: New file.
38079         * lib/dirent--.h: Likewise.
38080         * lib/dirent-safer.h: Likewise.
38081         * lib/opendir-safer.c: Likewise.
38082         * m4/dirent-safer.m4: Likewise.
38083         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
38084         * modules/dirent-safer-tests: New test.
38085         * tests/test-dirent-safer.c: New file.
38086         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
38087
38088         fdopendir: optimize on mingw
38089         * lib/unistd.in.h (_gl_directory_name): New prototype.
38090         * lib/fchdir.c (_gl_directory_name): Implement it.
38091         (fchdir): Use it to simplify implementation.
38092         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
38093         fchdir, when available, to avoid calling [f]chdir().
38094
38095         fdopendir: split into its own module
38096         * lib/openat.c (fdopendir): Move...
38097         * lib/fdopendir.c: ...into new file.
38098         * modules/fdopendir: New module.
38099         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
38100         * modules/openat (Depends-on): Add fdopendir.
38101         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
38102         fdopendir here.
38103         * modules/savedir (Depends-on): Only need fdopendir, not full
38104         openat.
38105         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
38106         * lib/openat.h (fdopendir): Drop prototype.
38107         * lib/dirent.in.h (fdopendir): Provide prototype.
38108         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
38109         * modules/dirent (Makefile.am): Substitute them.
38110         * MODULES.html.sh (File system functions): Mention it.
38111         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
38112         * modules/fdopendir-tests: New file.
38113         * tests/test-fdopendir.c: Likewise.
38114
38115         fchdir: use more consistent macro convention
38116         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
38117         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
38118         REPLACE_FCHDIR, rather than relying on config.h macros.
38119         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
38120         inside a single make-time REPLACE_FCHDIR block, rather than using
38121         the config.h FCHDIR_REPLACEMENT.
38122         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
38123         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
38124         Manage fstat replacement.
38125         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
38126         REPLACE_FCHDIR.
38127         * modules/sys_stat (Files): Add m4/unistd_h.m4.
38128         (Makefile.am): Substitute REPLACE_FCHDIR.
38129         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
38130         FCHDIR_REPLACEMENT.
38131         * lib/dup-safer.c (dup_safer): Likewise.
38132         * lib/dup2.c (rpl_dup2): Likewise.
38133         * lib/dup3.c (rpl_dup3): Likewise.
38134         * lib/open.c (rpl_open): Likewise.
38135
38136         fchdir: simplify error handling, and support dup3
38137         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
38138         stdbool, malloc-posix, realloc-posix.
38139         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
38140         (ensure_dirs_slot): Return false on allocation failure.
38141         (rpl_dup2): Delete.
38142         (_gl_register_dup): New function.
38143         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
38144         (_gl_register_fd): Close fd on allocation failure.
38145         * lib/fcntl.in.h (_gl_register_fd): Update signature.
38146         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
38147         prototype.
38148         (rpl_dup2_fchdir): Delete prototype.
38149         * lib/open.c (open): Update caller.
38150         * lib/dup2.c (dup2): Track fchdir metadata.
38151         * lib/dup3.c (dup3): Likewise.
38152         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
38153         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
38154
38155 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38156
38157         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
38158         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
38159         don't pass arguments to AC_OUTPUT.
38160
38161 2009-09-02  Bruno Haible  <bruno@clisp.org>
38162
38163         * modules/mkdtemp (License): Relicense under LGPLv2+.
38164         Reported by Paolo Bonzini.
38165
38166 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38167
38168         Replace uses of obsolete autoconf macros in Jim's modules.
38169         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
38170         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
38171         can evoke a warning from autoconf when run with -Wobsolete
38172         enabled.  They were declared obsolete for good reasons (see
38173         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
38174         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
38175         should not continue using the deprecated macros.
38176         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
38177         obsolete Autoconf macros with modern counterparts.
38178         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
38179         * m4/dos.m4 (gl_AC_DOS): Likewise.
38180         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
38181         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
38182         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
38183         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
38184         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
38185         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
38186         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
38187         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
38188         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
38189         Likewise.
38190         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
38191         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
38192         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
38193         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
38194         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
38195         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
38196
38197 2009-09-01  Eric Blake  <ebb9@byu.net>
38198
38199         fchdir: fix off-by-one bug in previous patch
38200         * lib/fchdir.c (rpl_fstat): Use correct bounds.
38201         (_gl_unregister_fd): Delete useless if.
38202
38203 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
38204
38205         maint.mk: sort the list of syntax-check rules
38206         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
38207         easier to get a sense of progress when the rules are run sequentially
38208         and take a long time.
38209
38210 2009-09-01  Simon Josefsson  <simon@josefsson.org>
38211
38212         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
38213         * modules/netinet_in: Likewise.
38214         * modules/sys_file: Likewise.
38215         * modules/sys_ioctl: Likewise.
38216         * modules/sys_select: Likewise.
38217         * modules/sys_socket: Likewise.
38218         * modules/sys_stat: Likewise.
38219         * modules/sys_time: Likewise.
38220         * modules/sys_times: Likewise.
38221         * modules/sys_utsname: Likewise.
38222         * modules/sys_wait: Likewise.
38223
38224 2009-09-01  Jim Meyering  <meyering@redhat.com>
38225
38226         fts: help ensure that return values are not ignored
38227         * lib/fts_.h (__GNUC_PREREQ): Define.
38228         (__attribute_warn_unused_result__): Define.
38229         (fts_children, fts_close, fts_open, fts_read): Declare with
38230         __attribute_warn_unused_result__.
38231
38232         fts: fts_close now fails also when closing a dir file descriptor fails
38233         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
38234         and propagate to caller, along with errno.
38235
38236         announce-gen: correct formatting in --help output
38237         * build-aux/announce-gen (usage): Move the one-line description in
38238         --help output "up", to where it belongs, just after Usage:.
38239
38240 2009-08-31  Eric Blake  <ebb9@byu.net>
38241
38242         fchdir: port to mingw
38243         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
38244         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
38245         opened, then use a substitute.
38246         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
38247         replacement.
38248         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
38249         (_gl_register_fd): No need to check stat if open already filters
38250         all directories.
38251         (fchdir): Fix error condition to match POSIX.
38252         * modules/fchdir (Depends-on): Add sys_stat.
38253         * doc/posix-functions/open.texi (open): Document the limitation.
38254         * modules/fchdir-tests: New file.
38255         * tests/test-fchdir.c: Likewise.
38256
38257         canonicalize: allow cross-testing from cygwin to mingw
38258         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
38259         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
38260         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
38261         Likewise.
38262         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
38263         target does not support symlinks.
38264         * tests/test-canonicalize-lgpl.sh: Likewise.
38265
38266         chown: avoid compilation warning on mingw
38267         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
38268         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
38269         mingw.
38270         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
38271         * modules/chown (Depends-on): Add errno.
38272
38273 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
38274
38275         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
38276         command.
38277
38278 2009-08-31  Jim Meyering  <meyering@redhat.com>
38279
38280         canonicalize: remove useless initialization
38281         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
38282         initialization of local, "end".
38283
38284 2009-08-30  Bruno Haible  <bruno@clisp.org>
38285
38286         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
38287         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
38288         ENOSYS.
38289
38290 2009-08-30  Bruno Haible  <bruno@clisp.org>
38291
38292         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
38293         /usr/xpg4/bin/tr when it exists.
38294         * tests/test-pipe-filter-gi1.sh: Likewise.
38295
38296 2009-08-30  Bruno Haible  <bruno@clisp.org>
38297
38298         Work around deficient /usr/bin/id program on Solaris.
38299         * tests/test-file-has-acl.sh (ID): New variable.
38300         * tests/test-set-mode-acl.sh (ID): Likewise.
38301         * tests/test-copy-acl.sh (ID): Likewise.
38302         * tests/test-copy-file.sh (ID): Likewise.
38303
38304 2009-08-30  Bruno Haible  <bruno@clisp.org>
38305
38306         New module 'xstriconveh'.
38307         * lib/xstriconveh.h: New file.
38308         * lib/xstriconveh.c: New file.
38309         * modules/xstriconveh: New file.
38310
38311 2009-08-30  Bruno Haible  <bruno@clisp.org>
38312
38313         Make it easier to use mem_cd_iconveh.
38314         * lib/striconveh.h (iconveh_t): New type.
38315         (iconveh_open, iconveh_close): New declarations.
38316         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
38317         with a single 'const iconveh_t *' argument.
38318         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
38319         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
38320         with a single 'const iconveh_t *' argument.
38321         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
38322         * tests/test-striconveh.c (main): Update.
38323         * NEWS: Mention the change.
38324
38325 2009-08-30  Bruno Haible  <bruno@clisp.org>
38326
38327         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
38328         problem.
38329
38330 2009-08-30  Bruno Haible  <bruno@clisp.org>
38331
38332         Work around iconv_open problem on Solaris.
38333         * lib/iconv_open-solaris.gperf: New file.
38334         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
38335         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
38336         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
38337         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
38338         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
38339         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
38340
38341 2009-08-29  Jim Meyering  <meyering@redhat.com>
38342
38343         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
38344         * top/maint.mk (cvs-check): Remove target; it was just an alias
38345         to the better-named vc-diff-check.
38346         (maintainer-distcheck): Remove rule.  It was used only from
38347         the (alpha/beta/major) target, and all of its commands but one
38348         were coreutils-specific.
38349         (vc-dist): Remove rule.
38350         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
38351         Run vc-diff-check, not vc-dist.
38352         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
38353
38354 2009-08-27  Bruno Haible  <bruno@clisp.org>
38355
38356         * tests/test-bitrotate.c (main): Remove test that uses a shift count
38357         of 0.
38358
38359 2009-08-27  Bruno Haible  <bruno@clisp.org>
38360
38361         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
38362         compilers.
38363         * doc/func.texi: Document the SunPRO C bug.
38364
38365 2009-08-27  Bruno Haible  <bruno@clisp.org>
38366
38367         Fix link error on Solaris.
38368         * tests/test-parse-duration.c (xstrdup): Remove function.
38369
38370 2009-08-26  Pádraig Brady  <P@draigbrady.com>
38371
38372         ignore-value: handle pointer types, too
38373         * lib/ignore-value.h (__attribute__): Remove definition.
38374         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
38375         of a more concise and more-often effective "(void) i" statement.
38376         (ignore_ptr): New function to suppress warnings from functions that
38377         return pointers, and to make it explicit that one function doesn't
38378         handle all cases.
38379
38380 2009-08-25  Bruno Haible  <bruno@clisp.org>
38381
38382         dup2: work around a Linux bug.
38383         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
38384         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
38385         * doc/posix-functions/dup2.texi: Mention the Linux bug.
38386         Reported by Simon Josefsson.
38387
38388 2009-08-25  Jim Meyering  <meyering@redhat.com>
38389
38390         libguestfs uses gnulib
38391         * users.txt: Add libguestfs.
38392
38393 2009-08-24  Eric Blake  <ebb9@byu.net>
38394
38395         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
38396         * lib/pipe2.c (includes): Add binary-io.h.
38397         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
38398
38399 2009-08-24  Bruno Haible  <bruno@clisp.org>
38400
38401         Tolerate declared but missing accept4 syscall.
38402         * lib/accept4.c (accept4): Invoke original accept4 function first, if
38403         available.
38404         * lib/sys_socket.in.h (accept4): If the function is already present,
38405         override it.
38406         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
38407         * modules/accept4 (Makefile.am): Compile accept4.c always.
38408         Reported by Paolo Bonzini and Eric Blake.
38409
38410 2009-08-23  Bruno Haible  <bruno@clisp.org>
38411
38412         New module 'accept4'.
38413         * lib/sys_socket.in.h (accept4): New declaration.
38414         * lib/accept4.c: New file.
38415         * m4/accept4.m4: New file.
38416         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
38417         GNULIB_ACCEPT4, HAVE_ACCEPT4.
38418         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
38419         HAVE_ACCEPT4.
38420         * modules/accept4: New file.
38421         * doc/glibc-functions/accept4.texi: Mention the new module.
38422
38423 2009-08-24  Jim Meyering  <meyering@redhat.com>
38424
38425         progname: also set global program_invocation_name, when possible
38426         Before this change, a libtool-enabled program that calls glibc's
38427         error function would report the program name as
38428         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
38429         * modules/progname (configure.ac): Check for a declaration of
38430         program_invocation_name.
38431         * lib/progname.c:  Include <errno.h>.
38432         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
38433         Set program_invocation_name.
38434
38435 2009-08-23  Bruno Haible  <bruno@clisp.org>
38436
38437         * lib/dup3.c: Include <string.h>.
38438
38439 2009-08-23  Bruno Haible  <bruno@clisp.org>
38440
38441         * lib/dup3.c (dup3): Test only once whether the system actually exists.
38442         * lib/pipe2.c (pipe2): Likewise.
38443         Suggested by Eric Blake.
38444
38445 2009-08-23  Bruno Haible  <bruno@clisp.org>
38446
38447         Tolerate declared but missing dup3 syscall.
38448         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
38449         * lib/unistd.in.h (dup3): If the function is already present,
38450         override it.
38451         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
38452         * modules/dup3 (Makefile.am): Compile dup3.c always.
38453         Reported by Paolo Bonzini.
38454
38455 2009-08-23  Bruno Haible  <bruno@clisp.org>
38456
38457         Tolerate declared but missing pipe2 syscall.
38458         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
38459         available.
38460         * lib/unistd.in.h (pipe2): If the function is already present,
38461         override it.
38462         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
38463         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
38464         Reported by Paolo Bonzini.
38465
38466 2009-08-23  Bruno Haible  <bruno@clisp.org>
38467
38468         * lib/pipe2.c (pipe2): Move #ifs inside function.
38469
38470 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
38471
38472         quotearg: document limitations of quote_these_too
38473         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
38474         those limitations are created.
38475         * lib/quotearg.h (set_char_quoting): Document that digits and
38476         letters that are special after backslash are not permitted.
38477         (quotearg_char): Cross-reference set_char_quoting documentation.
38478
38479 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
38480
38481         quotearg: implement custom_quoting_style
38482         * lib/quotearg.c: (struct quoting_options): Add left_quote and
38483         right_quote fields.
38484         (set_custom_quoting): New public function.
38485         (quotearg_buffer_restyled): Add left_quote and right_quote
38486         arguments, handle them very much like locale quoting, and update
38487         all uses.
38488         (quotearg_n_custom): New public function.
38489         (quotearg_n_custom_mem): New public function.
38490         (quotearg_custom): New public function.
38491         (quotearg_custom_mem): New public function.
38492         * lib/quotearg.h: Prototype and document new public functions.
38493         (enum quoting_style): For escape_quoting_style and
38494         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
38495         ignored even though they're otherwise like c_quoting_style.
38496         Add custom_quoting_style member and document with comparison to
38497         clocale_quoting_style.
38498         * tests/test-quotearg.c (custom_quotes): New array.
38499         (custom_results): New array.
38500         (main): Extend to test custom quoting.
38501
38502 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
38503
38504         quotearg: fix right quote escaping when it's in quote_these_too
38505         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
38506         quote, be sure to prepend only one backslash.
38507         * tests/test-quotearg.c (use_quote_double_quotes): New function.
38508         (main): Test it.
38509
38510 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
38511
38512         quotearg-tests: test escaping of embedded locale quotes
38513         * tests/test-quotearg.c (struct result_strings): Add member for
38514         new input.
38515         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
38516         (inputs): Add new input.
38517         (results_g): Add expected results.
38518         (flag_results): Likewise.
38519         (locale_results): Likewise.
38520         (compare_strings): Check those.
38521
38522 2009-08-23  Bruno Haible  <bruno@clisp.org>
38523
38524         Tests for module 'dup3'.
38525         * modules/dup3-tests: New file.
38526         * tests/test-dup3.c: New file.
38527
38528         New module 'dup3'.
38529         * lib/unistd.in.h (dup3): New declaration.
38530         * lib/dup3.c: New file.
38531         * m4/dup3.m4: New file.
38532         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
38533         HAVE_DUP3.
38534         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
38535         * modules/dup3: New file.
38536         * doc/glibc-functions/dup3.texi: Mention the new module.
38537
38538 2009-08-23  Bruno Haible  <bruno@clisp.org>
38539
38540         Tweak the dup2 test.
38541         * tests/test-dup2.c (main): Create the test file empty. Verify that an
38542         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
38543         the test file is still empty. Fix argument order of lseek.
38544
38545 2009-08-23  Bruno Haible  <bruno@clisp.org>
38546
38547         Avoid test link errors when the modules getopt-gnu, gettext are used.
38548         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
38549         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38550
38551 2009-08-23  Bruno Haible  <bruno@clisp.org>
38552
38553         Fix getdtablesize() on mingw.
38554         * lib/getdtablesize.c (getdtablesize): Implement differently.
38555         * lib/unistd.in.h (getdtablesize): Improve comment.
38556
38557 2009-08-23  Bruno Haible  <bruno@clisp.org>
38558
38559         New module 'mkostemp'.
38560         Based on Ulrich Drepper's 2007-08-10 change in glibc.
38561         * lib/stdlib.in.h (mksotemp): New declaration.
38562         * lib/mkostemp.c: New file, from glibc with modifications.
38563         * lib/tempname.h (GT_FILE): Remove outdated comment.
38564         (gen_tempname): Add flags argument.
38565         * lib/tempname.c (__GT_BIGFILE): Remove macro.
38566         (__GT_FILE): Map to 1.
38567         (small_open, large_open): Remove macros.
38568         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
38569         * lib/mkstemp.c (mkstemp): Update.
38570         * lib/mkdtemp.c (mkdtemp): Likewise.
38571         * m4/mkostemp.m4: New file.
38572         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
38573         HAVE_MKOSTEMP.
38574         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
38575         HAVE_MKOSTEMP.
38576         * modules/mkostemp: New file, based on modules/mkstemp.
38577         * doc/glibc-functions/mkostemp.texi: Mention the new module.
38578         * NEWS: Mention the change.
38579
38580 2009-08-23  Bruno Haible  <bruno@clisp.org>
38581
38582         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
38583         Reported by Eric Blake.
38584
38585 2009-08-23  Bruno Haible  <bruno@clisp.org>
38586
38587         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
38588         Reported by Eric Blake.
38589
38590 2009-08-23  Bruno Haible  <bruno@clisp.org>
38591
38592         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
38593         * modules/pipe2 (Depends-on): Likewise.
38594
38595 2009-08-23  Eric Blake  <ebb9@byu.net>
38596
38597         fcntl-h: add O_TTY_INIT support
38598         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
38599         * tests/test-fcntl-h.c (o): Test it.
38600         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
38601
38602         fcntl-h: rename from fcntl, in preparation for fcntl(2)
38603         * modules/fcntl: Move <fcntl.h> header replacement...
38604         * modules/fcntl-h: ...to new name, so as not to collide with
38605         like-named function.
38606         * tests/test-fcntl.c: Rename...
38607         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
38608         * modules/fcntl-tests: Rename...
38609         * modules/fcntl-h-tests: ...to this.  Update test file name.
38610         * modules/chdir-long (Depends-on): Update clients.
38611         * modules/chdir-safer (Depends-on): Likewise.
38612         * modules/fcntl-safer (Depends-on): Likewise.
38613         * modules/fts (Depends-on): Likewise.
38614         * modules/mkancesdirs (Depends-on): Likewise.
38615         * modules/mkdir-p (Depends-on): Likewise.
38616         * modules/open (Depends-on): Likewise.
38617         * modules/savewd (Depends-on): Likewise.
38618         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
38619         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
38620
38621 2009-08-22  Bruno Haible  <bruno@clisp.org>
38622
38623         * modules/binary-io (License): Relicense under LGPL.
38624         * modules/pipe2 (License): Likewise.
38625
38626 2009-08-22  Bruno Haible  <bruno@clisp.org>
38627
38628         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
38629         return value.
38630         * lib/pipe-filter-gi.c (filter_init): Likewise.
38631         Reported by Eric Blake.
38632
38633 2009-08-22  Bruno Haible  <bruno@clisp.org>
38634
38635         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
38636         * modules/pipe (Depends-on): Add pipe2.
38637
38638 2009-08-22  Bruno Haible  <bruno@clisp.org>
38639
38640         Tests for module 'pipe2'.
38641         * modules/pipe2-tests: New file.
38642         * tests/test-pipe2.c: New file.
38643
38644         New module 'pipe2'.
38645         * lib/unistd.in.h (pipe2): New declaration.
38646         * lib/pipe2.c: New file.
38647         * m4/pipe2.m4: New file.
38648         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
38649         HAVE_PIPE2.
38650         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
38651         * modules/pipe2: New file.
38652         * doc/glibc-functions/pipe2.texi: Mention the new module.
38653
38654 2009-08-22  Bruno Haible  <bruno@clisp.org>
38655
38656         Reference some new glibc functions.
38657         * doc/glibc-functions/accept4.texi: New file.
38658         * doc/glibc-functions/dup3.texi: New file.
38659         * doc/glibc-functions/mkostemp.texi: New file.
38660         * doc/glibc-functions/pipe2.texi: New file.
38661         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
38662         (Glibc sys/socket.h): Refer to accept4.
38663         (Glibc unistd.h): Refer to dup3, pipe2.
38664         Reported by Eric Blake.
38665
38666 2009-08-22  Jim Meyering  <meyering@redhat.com>
38667             Bruno Haible  <bruno@clisp.org>
38668
38669         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
38670         This makes it so packages using automake-1.11's silent-rules option
38671         can print e.g., a single "GEN    configmake.h" line, rather than
38672         the 30+ statements that perform the job.  If you want to see the
38673         actual commands, you can still run "make V=1".
38674         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
38675         so that make output is abbreviated when those variables are defined
38676         appropriately.
38677         * modules/argz: Likewise.
38678         * modules/arpa_inet: Likewise.
38679         * modules/byteswap: Likewise.
38680         * modules/configmake: Likewise.
38681         * modules/dirent: Likewise.
38682         * modules/errno: Likewise.
38683         * modules/fcntl: Likewise.
38684         * modules/float: Likewise.
38685         * modules/fnmatch: Likewise.
38686         * modules/getopt-posix: Likewise.
38687         * modules/glob: Likewise.
38688         * modules/iconv_open: Likewise.
38689         * modules/inttypes: Likewise.
38690         * modules/localcharset: Likewise.
38691         * modules/locale: Likewise.
38692         * modules/math: Likewise.
38693         * modules/netdb: Likewise.
38694         * modules/netinet_in: Likewise.
38695         * modules/poll: Likewise.
38696         * modules/posix_spawnp-tests: Likewise.
38697         * modules/sched: Likewise.
38698         * modules/search: Likewise.
38699         * modules/selinux-h: Likewise.
38700         * modules/signal: Likewise.
38701         * modules/spawn: Likewise.
38702         * modules/stdarg: Likewise.
38703         * modules/stdbool: Likewise.
38704         * modules/stddef: Likewise.
38705         * modules/stdint: Likewise.
38706         * modules/stdio: Likewise.
38707         * modules/stdlib: Likewise.
38708         * modules/string: Likewise.
38709         * modules/strings: Likewise.
38710         * modules/sys_file: Likewise.
38711         * modules/sys_ioctl: Likewise.
38712         * modules/sys_select: Likewise.
38713         * modules/sys_socket: Likewise.
38714         * modules/sys_stat: Likewise.
38715         * modules/sys_time: Likewise.
38716         * modules/sys_times: Likewise.
38717         * modules/sys_utsname: Likewise.
38718         * modules/sys_wait: Likewise.
38719         * modules/sysexits: Likewise.
38720         * modules/time: Likewise.
38721         * modules/unistd: Likewise.
38722         * modules/wchar: Likewise.
38723         * modules/wctype: Likewise.
38724
38725 2009-08-22  Jim Meyering  <meyering@redhat.com>
38726
38727         announce-gen: detect write failure
38728         * build-aux/announce-gen: Add Coda at end.
38729         Remove equivalent-but-more-verbose block at top.
38730
38731 2009-08-19  Akim Demaille  <demaille@gostai.com>
38732
38733         bootstrap: --help to stdout.
38734         * bootstrap (usage): Don't send --help to stderr.
38735         Use a here doc instead of a long string.
38736
38737 2009-08-21  Eric Blake  <ebb9@byu.net>
38738
38739         test-popen-safer: split from test-popen
38740         * tests/test-popen.c (main): Move...
38741         * tests/test-popen.h: ...into new file.
38742         * tests/test-popen-safer2.c: New file.
38743         * modules/popen-tests (Files): Add test-popen.h.
38744         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
38745         Suggested by Bruno Haible.
38746
38747         test-fcntl-safer: split from test-open
38748         * tests/test-open.c (main): Move...
38749         * tests/test-open.h: ...into new file.
38750         * tests/test-fcntl-safer.c: New file.
38751         * modules/open-tests (Files): Add test-open.h.
38752         * modules/fcntl-safer-tests: New file.
38753         Suggested by Bruno Haible.
38754
38755         test-fopen-safer: split from test-fopen
38756         * tests/test-fopen.c (main): Move...
38757         * tests/test-fopen.h: ...into new file.
38758         * tests/test-fopen-safer.c: New file.
38759         * modules/fopen-tests (Files): Add test-fopen.h.
38760         * modules/fopen-safer-tests: New file.
38761         Suggested by Bruno Haible.
38762
38763 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
38764
38765         popen-safer: test O_CLOEXEC at run-time.
38766         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
38767
38768 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
38769
38770         fcntl: move more flags to the header
38771         * lib/cloexec.c: Do not define FD_CLOEXEC here.
38772         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
38773         * lib/fcntl.in.h: Do both things here.
38774
38775 2009-08-21  Jim Meyering  <meyering@redhat.com>
38776
38777         consistently remove $@-t before redirecting to it
38778         * modules/argz: Remove $@-t and $@ before redirecting to the former.
38779         * modules/alloca-opt: Likewise.
38780         * modules/byteswap: Likewise.
38781         * modules/fnmatch: Likewise.
38782         * modules/getopt-posix: Likewise.
38783         * modules/glob: Likewise.
38784         * modules/poll: Likewise.
38785         * modules/posix_spawnp-tests: Likewise.
38786         * modules/sys_socket: Likewise.
38787         * modules/sysexits: Likewise.
38788
38789 2009-08-21  Eric Blake  <ebb9@byu.net>
38790
38791         popen: simplify access to original popen
38792         * lib/popen.c (rpl_popen): No need to worry about popen being a
38793         macro.
38794         Reported by Bruno Haible.
38795
38796 2009-08-20  Eric Blake  <ebb9@byu.net>
38797
38798         build: avoid some compiler warnings
38799         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
38800         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
38801         type.
38802         (new_exclude_segment, excluded_file_pattern_p)
38803         (excluded_file_name_p): Reduce scope.
38804         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
38805         old-style declaration.
38806
38807 2009-08-20  Simon Josefsson  <simon@josefsson.org>
38808
38809         * tests/test-exclude1.sh: Handle Windows EOL.
38810         * tests/test-exclude2.sh: Likewise.
38811         * tests/test-exclude3.sh: Likewise.
38812         * tests/test-exclude4.sh: Likewise.
38813         * tests/test-exclude5.sh: Likewise.
38814         * tests/test-exclude6.sh: Likewise.
38815         * tests/test-exclude7.sh: Likewise.
38816
38817 2009-08-19  Akim Demaille  <demaille@gostai.com>
38818
38819         bootstrap: find sha1sum when named gsha1sum.
38820         * bootstrap (find_tool): New.
38821         ($SHA1SUM): New.
38822         Use it.
38823
38824 2009-08-20  Jim Meyering  <meyering@redhat.com>
38825
38826         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
38827         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
38828         expression that converts "." in a file name to "\." in the resulting
38829         regexp.  Start with a dummy statement, so that prior shell variable
38830         definitions are expanded portably.  Reported by Simon Josefsson.
38831
38832 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
38833
38834         Fix polling for writeability of a screen buffer.
38835         * lib/poll.c: Distinguish input and screen buffers for the
38836         Win32 implementation.
38837         * lib/select.c: Likewise.
38838
38839 2009-08-19  Eric Blake  <ebb9@byu.net>
38840
38841         popen-safer: prevent popen from clobbering std descriptors
38842         * modules/popen-safer: New file.
38843         * lib/popen-safer.c: Likewise.
38844         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
38845         * lib/stdio--.h (popen): Provide override.
38846         * lib/stdio-safer.h (popen_safer): Provide declaration.
38847         * tests/test-popen.c (includes): Partially test this.
38848         * modules/popen-safer-tests: New file, for more tests.
38849         * tests/test-popen-safer.c: Likewise.
38850         * MODULES.html.sh (file stream based Input/Output): Mention it.
38851
38852         tests: test some of the *-safer modules
38853         * modules/fopen-safer (Depends-on): Add fopen.
38854         * modules/fcntl-safer (Depends-on): Add fcntl.
38855         * modules/stdlib-safer (Depends-on): Add stdlib.
38856         (configure.ac): Set indicator.
38857         * modules/unistd-safer (configure.ac): Likewise.
38858         * modules/tmpfile-safer (configure.ac): Likewise.
38859         (Depends-on): Add tmpfile.
38860         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
38861         active.
38862         * tests/test-fopen.c (includes): Test safer versions when they are
38863         in use.
38864         * tests/test-open.c (includes): Likewise.
38865
38866         popen: fix cygwin 1.5 bug when stdin closed
38867         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
38868         * modules/popen: New file.
38869         * modules/popen-tests: Likewise.
38870         * tests/test-popen.c: Likewise.
38871         * m4/popen.m4: Likewise.
38872         * lib/popen.c: Likewise.
38873         * lib/stdio.in.h (popen): New declaration.
38874         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
38875         * modules/stdio (Makefile.am): Likewise.
38876         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
38877
38878 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
38879
38880         maint.mk: give full control over update-copyright exclusions
38881         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
38882         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
38883         (update-copyright): Don't force inclusion of top-level
38884         ChangeLog.  Don't force exclusion of all COPYING files, but make
38885         them the default exclusion instead.
38886
38887 2009-08-16  Bruno Haible  <bruno@clisp.org>
38888
38889         Fix test failures on Solaris 10.
38890         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
38891         tests when Solaris iconv() is used.
38892         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
38893         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
38894         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
38895         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
38896         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
38897
38898 2009-08-16  Bruno Haible  <bruno@clisp.org>
38899
38900         Fix test failures on Solaris 10.
38901         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
38902         'tr' program and pass it as first argument.
38903         * tests/test-pipe-filter-gi1.sh: Likewise.
38904         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
38905         program as first argument.
38906         * tests/test-pipe-filter-gi1.c (main): Likewise.
38907
38908 2009-08-16  Eric Blake  <ebb9@byu.net>
38909
38910         fpurge: fix previous commits
38911         * modules/fpurge (Makefile.am): Make replacement conditional,
38912         partially reverting 2007-04-29 change; missed in previous
38913         attempt.
38914         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
38915         is missing.
38916
38917 2009-08-16  Bruno Haible  <bruno@clisp.org>
38918
38919         Clarify fpurge's effect on the file position.
38920         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
38921         * tests/test-fpurge.c (main): Make a second pass for checking the file
38922         position.
38923
38924 2009-08-16  Bruno Haible  <bruno@clisp.org>
38925
38926         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
38927         declaration of fpurge is missing.
38928         * tests/test-fpurge.c (main): Check that the file has not more contents
38929         than expected. Close the file before removing it.
38930
38931 2009-08-15  Eric Blake  <ebb9@byu.net>
38932
38933         fpurge: don't wrap working cygwin implementation
38934         * lib/fpurge.c (fpurge): Fix comment typo.
38935         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
38936         1.7 to avoid replacement.
38937         * tests/test-fpurge.c (main): Enhance test.
38938
38939 2009-08-15  Eric Blake  <ebb9@byu.net>
38940         and Jim Meyering  <meyering@redhat.com>
38941
38942         test-update-copyright: skip if perl is insufficient
38943         * tests/test-update-copyright.sh: Failure to run maintainer tool
38944         should not cause testsuite failure on cygwin 1.5.
38945
38946 2009-08-14  Eric Blake  <ebb9@byu.net>
38947
38948         doc: mention more functions added in cygwin 1.7.0
38949         * doc/posix-headers/limits.texi (limits.h): Update for recent
38950         cygwin additions.
38951         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
38952         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
38953         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
38954         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
38955         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
38956
38957 2009-08-14  Eric Blake  <ebb9@byu.net>
38958
38959         maint.mk: simplify update-copyright rule
38960         * top/maint.mk (update-copyright-local): Delete, and document how
38961         to do it in cfg.mk instead.
38962         (update-copyright-exclude-regexp): Delete, and document how to do
38963         it in .x-update-copyright instead.
38964         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
38965         exclude ChangeLog.
38966
38967 2009-08-14  Bruno Haible  <bruno@clisp.org>
38968
38969         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
38970
38971 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
38972
38973         maint.mk: support update-copyright-env
38974         * top/maint.mk (update-copyright-env): Define place-holder.
38975         (update-copyright): Expand $(update-copyright-env) before
38976         invoking update-copyright.
38977
38978 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
38979
38980         update-copyright: implement forced reformatting
38981         * build-aux/update-copyright: Implement and document
38982         UPDATE_COPYRIGHT_FORCE.
38983         * tests/test-update-copyright.sh: Test it.
38984
38985 2009-08-14  Eric Blake  <ebb9@byu.net>
38986         and Bruno Haible  <bruno@clisp.org>
38987
38988         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
38989         * tests/test-locale.c: Revert previous patch related to NULL.
38990         * tests/test-stdio.c: Likewise.
38991         * tests/test-stdlib.c: Likewise.
38992         * tests/test-string.c: Likewise.
38993         * tests/test-unistd.c: Likewise.
38994         * modules/time-tests (Depends-on): Add verify.
38995         * modules/wchar-tests (Depends-on): Likewise.
38996         * tests/test-time.c: Test for NULL compliance.
38997         * tests/test-wchar.c: Likewise.
38998         * modules/locale (Depends-on): Add stddef.
38999         * modules/stdio (Depends-on): Likewise.
39000         * modules/stdlib (Depends-on): Likewise.
39001         * modules/string (Depends-on): Likewise.
39002         * modules/time (Depends-on): Likewise.
39003         * modules/unistd (Depends-on): Likewise.
39004         * modules/wchar (Depends-on): Likewise.
39005         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
39006         * lib/stdlib.in.h (includes): Likewise.
39007         * lib/string.in.h (includes): Likewise.
39008         * lib/time.in.h (includes): Likewise.
39009         * lib/unistd.in.h (includes): Likewise.
39010         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
39011         replaced.
39012         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
39013         * m4/stddef_h.m4: New file.
39014         * modules/stddef: Likewise.
39015         * lib/stddef.in.h: Likewise.
39016         * modules/stddef-tests: Likewise.
39017         * tests/test-stddef.c: Likewise.
39018         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
39019         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
39020         * doc/posix-headers/locale.texi (locale.h): Likewise.
39021         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
39022         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
39023         * doc/posix-headers/string.texi (string.h): Likewise.
39024         * doc/posix-headers/time.texi (time.h): Likewise.
39025         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
39026         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
39027
39028 2009-08-14  Eric Blake  <ebb9@byu.net>
39029
39030         doc: improve git diff of texinfo files
39031         * .gitattributes: Add rule for *.texi files, with hint on how to
39032         use it.
39033         Copied from m4, and based on a report by Bruno Haible.
39034
39035 2009-08-14  Bruno Haible  <bruno@clisp.org>
39036
39037         Disable multithread support by default on Cygwin 1.5.x for real.
39038         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
39039
39040 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
39041
39042         update-copyright: much ado about intervals
39043         * build-aux/update-copyright: Implement and document
39044         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
39045         of copyright year intervals.
39046         Also, document UPDATE_COPYRIGHT_YEAR.
39047         * tests/test-update-copyright.sh: Test it.
39048
39049         update-copyright: convert 2-digit to 4-digit years
39050         * build-aux/update-copyright: Implement and document.
39051         * tests/test-update-copyright.sh: Update.
39052
39053 2009-08-14  Jim Meyering  <meyering@redhat.com>
39054
39055         test-exclude: avoid coreutils "make check" failure
39056         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
39057         just as in test-argmatch.c.
39058
39059 2009-08-13  Eric Blake  <ebb9@byu.net>
39060
39061         test-dup2: fix bad assumption
39062         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
39063         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
39064
39065         test-version-etc: fix CRLF portability issue
39066         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
39067         recognize \r.
39068         * tests/test-argp-version-etc-1.sh: Likewise.
39069
39070         getopt: update client modules
39071         * modules/argp (Depends-on): Use getopt-gnu.
39072         * modules/git-merge-changelog (Depends-on): Likewise.
39073         * modules/long-options (Depends-on): Likewise.
39074         * modules/xstrtol (Depends-on): Likewise.
39075
39076 2009-08-13  Simon Josefsson  <simon@josefsson.org>
39077
39078         * tests/test-version-etc.sh: Don't fail on different
39079         project/version.  Don't fail on CRLF differences.  Rewrite to use
39080         multiple -e instead of multiple sed forks, suggested by Eric Blake
39081         <ebb9@byu.net>.
39082         * tests/test-argp-version-etc-1.sh: Likewise.
39083
39084 2009-08-13  Simon Josefsson  <simon@josefsson.org>
39085
39086         * tests/test-version-etc.sh: Don't fail on different
39087         project/version.
39088
39089 2009-08-12  Bruno Haible  <bruno@clisp.org>
39090
39091         Tests for modules 'getopt-posix', 'getopt-gnu'.
39092         * modules/getopt-posix-tests: New file.
39093         * tests/test-getopt.c: New file.
39094         * tests/test-getopt.h: New file.
39095         * tests/test-getopt_long.h: New file.
39096
39097         New modules 'getopt-posix', 'getopt-gnu'.
39098         * modules/getopt-gnu: New file, renamed from modules/getopt.
39099         * modules/getopt-posix: New file.
39100         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
39101         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
39102         (gl_GETOPT): Remove macro.
39103         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
39104         Disable the test against BSD systems that declare optreset. Test
39105         against mingw bug. Test against lack of support of optional arguments
39106         on many platforms.
39107         * doc/glibc-headers/getopt.texi: Update module name and list of
39108         relevant platforms.
39109         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
39110         'getopt-gnu' and more portability problems.
39111         * NEWS: Mention the changes.
39112
39113 2009-08-12  Bruno Haible  <bruno@clisp.org>
39114
39115         Ensure that optarg etc. get declared by <unistd.h>.
39116         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
39117         AC_USE_SYSTEM_EXTENSIONS.
39118         * modules/getopt (Depends-on): Add 'extensions'.
39119
39120 2009-08-12  Bruno Haible  <bruno@clisp.org>
39121
39122         Avoid test link errors.
39123         * modules/pipe-filter-ii-tests (Makefile.am): Define
39124         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
39125         * modules/pipe-filter-gi-tests (Makefile.am): Define
39126         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
39127         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39128
39129 2009-08-12  Bruno Haible  <bruno@clisp.org>
39130
39131         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
39132         gl_GETOPT_SUBSTITUTE before.
39133         (gl_GETOPT): Use it.
39134         * m4/argp.m4 (gl_ARGP): Update.
39135         Reported by Sergey Poznyakoff.
39136
39137         * m4/getopt.m4: Reorder macros.
39138         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
39139         (gl_GETOPT_SUBSTITUTE): Remove macro.
39140
39141 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39142
39143         Minor improvement in gitlog-to-changelog
39144
39145         * build-aux/gitlog-to-changelog: New option `--format' makes
39146         output format string configurable.
39147
39148 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39149
39150         Optimize exclude: use hash tables for non-wildcard patterns.
39151
39152         * lib/exclude.c: Include hash.h and mbuiter.h
39153         (struct exclude_pattern, exclude_segment): New data types.
39154         (struct exclude): Rewrite.
39155         (fnmatch_pattern_has_wildcards): New function.
39156         (new_exclude_segment, free_exclude_segment): New functions.
39157         (excluded_file_pattern_p, excluded_file_name_p): New functions.
39158         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
39159         * lib/exclude.h (is_fnmatch_pattern): New prototype.
39160         * modules/exclude: Depend on hash and mbuiter.
39161
39162         * modules/exclude-tests: New file.
39163         * tests/test-exclude.c: New file.
39164         * tests/test-exclude1.sh: New file.
39165         * tests/test-exclude2.sh: New file.
39166         * tests/test-exclude3.sh: New file.
39167         * tests/test-exclude4.sh: New file.
39168         * tests/test-exclude5.sh: New file.
39169         * tests/test-exclude6.sh: New file.
39170         * tests/test-exclude7.sh: New file.
39171
39172 2009-08-12  Bruno Haible  <bruno@clisp.org>
39173
39174         Ensure that getopt() gets declared by <unistd.h>.
39175         * lib/unistd.in.h: Conditionally include getopt.h.
39176         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
39177         Set GNULIB_UNISTD_H_GETOPT.
39178         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39179         GNULIB_UNISTD_H_GETOPT.
39180         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
39181
39182 2009-08-12  Bruno Haible  <bruno@clisp.org>
39183
39184         Clarify logic.
39185         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
39186         gl_replace_getopt instead of GETOPT_H.
39187
39188 2009-08-12  Bruno Haible  <bruno@clisp.org>
39189
39190         * m4/getopt.m4: Add comments.
39191
39192 2009-08-12  Bruno Haible  <bruno@clisp.org>
39193
39194         Disable multithread support by default on Cygwin 1.5.x.
39195         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
39196         set gl_use_threads=no if not specified otherwise.
39197
39198 2009-08-11  Bruno Haible  <bruno@clisp.org>
39199
39200         Avoid compilation error on NetBSD 5.0.
39201         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
39202         * tests/test-stdio.c: Likewise.
39203         * tests/test-stdlib.c: Likewise.
39204         * tests/test-string.c: Likewise.
39205         * tests/test-unistd.c: Likewise.
39206         Reported by Greg Troxel <gdt@ir.bbn.com>
39207         at <https://savannah.gnu.org/support/?106973>.
39208
39209 2009-08-11  Bruno Haible  <bruno@clisp.org>
39210
39211         * modules/dup2-tests (Depends-on): Remove close.
39212
39213         Undo 2009-07-19 commit.
39214         * modules/acl-tests (Depends-on): Remove close.
39215         * modules/binary-io-tests (Depends-on): Likewise.
39216         * modules/closein-tests (Depends-on): Likewise.
39217         * modules/flock-tests (Depends-on): Likewise.
39218         * modules/fsync-tests (Depends-on): Likewise.
39219         * modules/lseek-tests (Depends-on): Likewise.
39220         * modules/pipe-tests (Depends-on): Likewise.
39221         * modules/posix_spawn-tests (Depends-on): Likewise.
39222         * modules/posix_spawnp-tests (Depends-on): Likewise.
39223         * modules/stat-time-tests (Depends-on): Likewise.
39224         * modules/yesno-tests (Depends-on): Likewise.
39225
39226 2009-08-10  Bruno Haible  <bruno@clisp.org>
39227
39228         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
39229
39230 2009-08-10  Bruno Haible  <bruno@clisp.org>
39231
39232         Fix a gcc warning.
39233         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
39234
39235 2009-08-10  Bruno Haible  <bruno@clisp.org>
39236
39237         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
39238         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
39239         not only the first time.
39240         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
39241         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
39242         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
39243         is 1, not only the the first time.
39244
39245 2009-08-10  Bruno Haible  <bruno@clisp.org>
39246
39247         Make it possible to use module 'gethostname' without module 'close'.
39248         * lib/unistd.in.h (close): Evoke a link error only if
39249         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
39250         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39251         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39252         * modules/unistd (Makefile.am): Substitute
39253         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39254         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
39255         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
39256         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
39257         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39258         * modules/sys_ioctl (Makefile.am): Substitute
39259         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39260         * modules/socket (configure.ac): On native Windows, set
39261         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
39262         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39263         Reported by Sam Steingold <sds@gnu.org>.
39264
39265 2009-08-10  Bruno Haible  <bruno@clisp.org>
39266
39267         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
39268         * modules/ioctl (configure.ac): Likewise.
39269
39270 2009-08-10  Bruno Haible  <bruno@clisp.org>
39271
39272         Avoid collision between gnulib wrapper and libintl wrapper.
39273         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
39274         already defined in intl/printf.c.
39275         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
39276         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
39277
39278 2009-08-09  Bruno Haible  <bruno@clisp.org>
39279
39280         Make <sys/select.h> really self-contained, also on Solaris 10.
39281         * lib/sys_select.in.h: Include <string.h>.
39282         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
39283         Solaris 10 problem.
39284         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
39285         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
39286         Reported by Jim Meyering.
39287
39288 2009-08-09  Bruno Haible  <bruno@clisp.org>
39289
39290         Avoid warnings from 'aclocal' that are due to a use of macro name
39291         AM_XGETTEXT_OPTION that is not defined in automake.
39292         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
39293         automake.
39294         * modules/error (configure.ac): Likewise.
39295         * modules/propername (configure.ac): Likewise.
39296         * modules/vasprintf (configure.ac): Likewise.
39297         * modules/verror (configure.ac): Likewise.
39298         * modules/xprintf (configure.ac): Likewise.
39299         * modules/xvasprintf (configure.ac): Likewise.
39300
39301 2009-08-08  Bruno Haible  <bruno@clisp.org>
39302
39303         Avoid compilation error in C++ mode.
39304         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
39305         Reported by Sam Steingold <sds@gnu.org>.
39306
39307 2009-08-08  Bruno Haible  <bruno@clisp.org>
39308
39309         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
39310         for the various Unix platforms.
39311         * doc/posix-headers/limits.texi: Update platforms list regarding
39312         HOST_NAME_MAX.
39313         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39314
39315 2009-08-07  Jim Meyering  <meyering@redhat.com>
39316
39317         selinux-at: fix typo in a comment
39318         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
39319         Spotted by Paolo Bonzini.
39320
39321         selinux-at: remove redundant m4 code, add documentation
39322         * modules/selinux-at (configure.ac): Remove redundant code.
39323         LIB_SELINUX is already set via the dependent module, selinux-h.
39324         (Include): Add quotes around selinux-at.h.
39325         * lib/selinux-at.h: Add documentation.
39326         Reported by Bruno Haible in
39327         http://marc.info/?l=gnulib-bug&m=124958988300749
39328
39329 2009-08-07  Bruno Haible  <bruno@clisp.org>
39330
39331         Avoid link error on MacOS X 10.3 and 10.4.
39332         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
39333         on non-ELF systems.
39334         * lib/argp-pv.c (argp_program_version): Likewise.
39335         Reported by Simon Josefsson.
39336
39337 2009-08-07  Simon Josefsson  <simon@josefsson.org>
39338
39339         * tests/test-version-etc.sh: Use $EXEEXT.
39340
39341 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
39342
39343         update-copyright: update documentation to point to maint.mk
39344         * build-aux/update-copyright: Here.
39345
39346 2009-08-06  Jim Meyering  <meyering@redhat.com>
39347
39348         maint.mk: support update-copyright-local
39349         * top/maint.mk (update-copyright-local): Define place-holder.
39350         (update-copyright): Depend on $(update-copyright-local).
39351
39352 2009-08-06  Jim Meyering  <meyering@redhat.com>
39353
39354         selinux-at: new module
39355         Initially written for coreutils, this module will soon be
39356         used by findutils, too.
39357         * MODULES.html.sh [Misc]: Add selinux-at.
39358         * lib/selinux-at.h: New file, from coreutils.
39359         * lib/selinux-at.c: Likewise.
39360         * modules/selinux-at: Likewise.
39361         (License): Change from LGPL to GPL, since it depends
39362         on the GPL'd openat module.
39363
39364         doc: update README
39365         * README: Remove references to cogito.
39366         Remove cvs-repo-updating instructions from 2007.
39367         Don't imply that CVS is better if you have limited disk space.
39368
39369 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39370
39371         update-copyright: support C-style comments
39372         * build-aux/update-copyright: Implement and document.
39373         * tests/test-update-copyright.sh: Test.
39374
39375 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39376
39377         update-copyright: support omitted "(C)"
39378         * build-aux/update-copyright: Implement and document.  Also,
39379         allow variable whitespace before "(C)".
39380         * tests/test-update-copyright.sh: Test.
39381
39382 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39383
39384         update-copyright: don't trip on non-FSF copyright statements
39385         * build-aux/update-copyright: Fix so that the first correctly
39386         formatted FSF copyright statement is recognized no matter what
39387         appears before it.  Update documentation.
39388         * tests/test-update-copyright.sh: Test that.
39389
39390 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39391
39392         update-copyright: clean up code a little
39393         * build-aux/update-copyright: Append "_re" to the name of any
39394         variable holding a regular expression.
39395         Replace "old" and "new" with "stmt" in variable names.
39396         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
39397         handled correctly.
39398         Format code more consistently.
39399
39400 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39401
39402         update-copyright-tests: improve portability
39403         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
39404         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
39405
39406 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
39407
39408         update-copyright: support @copyright{} and &copy;
39409         * build-aux/update-copyright: Implement and document.
39410         * tests/test-update-copyright.sh: Test.
39411
39412 2009-08-04  Jim Meyering  <meyering@redhat.com>
39413
39414         update-copyright-tests: correctly test EOL=\r\n handling
39415         * tests/test-update-copyright.sh: Put \r at the end of some lines
39416         for the dos-eol tests.  Based on a patch by Joel E. Denny.
39417
39418         maint.mk: make update-copyright exclusion list more configurable
39419         * top/maint.mk (update-copyright): Default to excluding COPYING,
39420         but allow an override, in case someone does want to update that file.
39421
39422         maint.mk: don't update copyright date in COPYING
39423         * top/maint.mk (update-copyright): Exclude COPYING.
39424
39425         maint.mk: add a copyright-updating rule
39426         * top/maint.mk (update-copyright): New rule.
39427         Derived from coreutils/Makefile.am.
39428
39429         update-copyright: rename some variables
39430         * build-aux/update-copyright: Rename a few variables for clarity.
39431         Tweak syntax.  List Joel E. Denny as coauthor.
39432
39433 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
39434
39435         update-copyright: fix bug for 2-digit last year and add tests
39436         * build-aux/update-copyright: Fix bug.
39437         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
39438         specified.
39439         * modules/update-copyright-tests: New
39440         * tests/test-update-copyright.sh: New.
39441
39442 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
39443
39444         update-copyright: handle leading tabs in line prefix
39445         * build-aux/update-copyright: Count leading tabs as 8 spaces
39446         when computing margin.  This helps with the formatting of
39447         ChangeLogs, for example.
39448         Fix documentation a little.
39449
39450 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
39451
39452         update-copyright: support EOL=\r\n
39453         * build-aux/update-copyright: Implement that.
39454
39455 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
39456
39457         update-copyright: automatically format copyright statements
39458         * build-aux/update-copyright: Implement that.
39459         Also, be a little more predictable and safer by always failing
39460         when the full copyright format is not perfectly recognized as an
39461         unbroken whole.  Discussed at
39462         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
39463         Rewrite documentation.
39464
39465 2009-08-03  Bruno Haible  <bruno@clisp.org>
39466
39467         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
39468
39469 2009-08-02  Bruno Haible  <bruno@clisp.org>
39470
39471         Tests for module 'uname'.
39472         * modules/uname-tests: New file.
39473         * tests/test-uname.c: New file.
39474
39475         New module 'uname'.
39476         * lib/uname.c: New file.
39477         * m4/uname.m4: New file.
39478         * modules/uname: New file.
39479         * doc/posix-functions/uname.texi: Mention the new module.
39480
39481 2009-08-02  Bruno Haible  <bruno@clisp.org>
39482
39483         Tests for module 'sys_utsname'.
39484         * modules/sys_utsname-tests: New file.
39485         * tests/test-sys_utsname.c: New file.
39486
39487         New module 'sys_utsname'.
39488         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
39489         * m4/sys_utsname_h.m4: New file.
39490         * modules/sys_utsname: New file.
39491         * doc/posix-headers/sys_utsname.texi: Mention the new module.
39492
39493 2009-08-02  Bruno Haible  <bruno@clisp.org>
39494
39495         Implicitly initialize the sockets library.
39496         * lib/gethostname.c: Include sockets.h.
39497         (rpl_gethostname): Invoke gl_sockets_startup.
39498         * lib/socket.c: Include sockets.h.
39499         (rpl_socket): Invoke gl_sockets_startup.
39500         * modules/gethostname (Depends-on): Add sockets.
39501         * modules/socket (Depends-on): Likewise.
39502         * tests/test-poll.c: Don't include sockets.h.
39503         (main): Don't invoke gl_sockets_startup.
39504         * tests/test-select.c: Don't include sockets.h.
39505         (main): Don't invoke gl_sockets_startup.
39506
39507 2009-08-02  Bruno Haible  <bruno@clisp.org>
39508
39509         Allow multiple calls to gl_sockets_startup.
39510         * lib/sockets.c (initialized_sockets_version): New variable.
39511         (gl_sockets_startup): Do nothing if already called for this or a higher
39512         version.
39513         (gl_sockets_cleanup): Reset initialized_sockets_version.
39514
39515 2009-08-03  Simon Josefsson  <simon@josefsson.org>
39516
39517         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
39518         different project/version.
39519
39520 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
39521             Bruno Haible  <bruno@clisp.org>
39522
39523         Tests for module 'pipe-filter-gi'.
39524         * modules/pipe-filter-gi-tests: New file.
39525         * tests/test-pipe-filter-gi1.sh: New file.
39526         * tests/test-pipe-filter-gi1.c: New file.
39527         * tests/test-pipe-filter-gi2.sh: New file.
39528         * tests/test-pipe-filter-gi2-main.c: New file.
39529         * tests/test-pipe-filter-gi2-child.c: New file.
39530
39531         New module 'pipe-filter-gi'.
39532         * lib/pipe-filter-gi.c: New file.
39533         * modules/pipe-filter-gi: New file.
39534
39535 2009-08-02  Bruno Haible  <bruno@clisp.org>
39536             Paolo Bonzini  <bonzini@gnu.org>
39537
39538         Tests for module 'pipe-filter-ii'.
39539         * modules/pipe-filter-ii-tests: New file.
39540         * tests/test-pipe-filter-ii1.sh: New file.
39541         * tests/test-pipe-filter-ii1.c: New file.
39542         * tests/test-pipe-filter-ii2.sh: New file.
39543         * tests/test-pipe-filter-ii2-main.c: New file.
39544         * tests/test-pipe-filter-ii2-child.c: New file.
39545
39546         New module 'pipe-filter-ii'.
39547         * lib/pipe-filter.h: New file.
39548         * lib/pipe-filter-ii.c: New file.
39549         * lib/pipe-filter-aux.h: New file.
39550         * modules/pipe-filter-ii: New file.
39551
39552 2009-08-02  Simon Josefsson  <simon@josefsson.org>
39553
39554         * lib/gc-libgcrypt.c: Change copyright to FSF.
39555         * lib/gc-gnulib.c: Likewise.
39556
39557 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
39558
39559         * lib/gethostname.c: Include limits.h.
39560
39561 2009-08-02  Simon Josefsson  <simon@josefsson.org>
39562             Bruno Haible  <bruno@clisp.org>
39563
39564         Ensure HOST_NAME_MAX as part of the gethostname module.
39565         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
39566         define also HOST_NAME_MAX.
39567         * tests/test-gethostname.c: Include <limits.h>.
39568         (main): Check also HOST_NAME_MAX.
39569         * doc/posix-headers/limits.texi: Document the mingw problem.
39570
39571 2009-08-02  Bruno Haible  <bruno@clisp.org>
39572
39573         * lib/gethostname.c (gethostname): Fix handling of large len argument.
39574         Add comments.
39575
39576 2009-03-31  Simon Josefsson  <simon@josefsson.org>
39577
39578         * lib/gethostname.c: Add Windows wrapper.
39579         * m4/gethostname.m4: Look for gethostname in -lws2_32.
39580         * modules/gethostname: Depend on sys_socket & errno, for also
39581         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
39582         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
39583
39584 2009-07-31  Jim Meyering  <meyering@redhat.com>
39585
39586         getloadavg: fix symbol name in comment
39587         * lib/getloadavg.c: Correct a typo I introduced when adding
39588         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
39589         Matt Kraai spotted the problem.
39590
39591 2009-07-29  Matt Kraai  <mkraai@beckman.com>
39592
39593         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
39594         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
39595         code also if ! defined N_NAME_POINTER.
39596         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
39597         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
39598         but the n_name member is a 12-byte array.
39599
39600 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
39601
39602         update-copyright: generalize comment handling
39603         * build-aux/update-copyright: Handle copyright statements
39604         within more comment styles.
39605         Document usage.
39606         Report any file with an external copyright holder or parse failure.
39607
39608 2009-07-29  Jim Meyering  <meyering@redhat.com>
39609
39610         mktime: correct setting of REPLACE_MKTIME
39611         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
39612
39613         update-copyright: new module
39614         * modules/update-copyright: New file.
39615         * build-aux/update-copyright: New file.
39616         * MODULES.html.sh (maint+release support): Add update-copyright.
39617
39618 2009-07-27  Bruno Haible  <bruno@clisp.org>
39619
39620         Fix compilation error when <ctime> is used and mktime is replaced.
39621         * lib/time.in.h (mktime): New declaration.
39622         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
39623         REPLACE_MKTIME instead of defining mktime in config.h.
39624         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
39625         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
39626         Reported by Ross McFarland <rwmcfa1@neces.com>.
39627
39628 2009-07-27  Bruno Haible  <bruno@clisp.org>
39629
39630         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
39631         Reported by Matt Kraai <mkraai@beckman.com>.
39632
39633 2009-07-25  Jim Meyering  <meyering@redhat.com>
39634
39635         maint.mk: avoid warnings about missing files
39636         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
39637         diagnostic when .prev-version does not exist.
39638         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
39639         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
39640         nonexistent cfg.mk.
39641         Suggestions from Simon Josefsson.
39642
39643 2009-07-25  Bruno Haible  <bruno@clisp.org>
39644
39645         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
39646         defined as macros. Needed on QNX 6.4.1.
39647         Reported by Matt Kraai <mkraai@beckman.com>.
39648
39649 2009-07-23  Jim Meyering  <meyering@redhat.com>
39650
39651         maint.mk: invoke "make dist" with a working value of XZ_OPT
39652         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
39653
39654 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
39655
39656         Make fseeko.c compile on QNX.
39657         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
39658
39659 2009-07-22  Peter Simons  <simons@cryp.to>
39660
39661         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
39662         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
39663         * lib/md4.h: Likewise.
39664         * lib/md5.h: Likewise.
39665         * lib/sha1.h: Likewise.
39666         * lib/sha256.h: Likewise.
39667         * lib/sha512.h: Likewise.
39668
39669         tests-sha1: don't assign literal string to 'char *' variable
39670         * tests/test-sha1.c (main): Declare locals with "const" to match
39671         attributes of the right hand side.
39672
39673 2009-07-21  Eric Blake  <ebb9@byu.net>
39674
39675         dup2: fix more mingw problems
39676         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
39677         fd to itself.
39678         * doc/posix-functions/dup2.texi (dup2): Document the bug.
39679         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
39680         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
39681         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
39682         care of mingw bugs.
39683
39684 2009-07-21  Jim Meyering  <meyering@redhat.com>
39685
39686         vc-list-files: avoid failure when /bin/sh is dash
39687         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
39688         On some Debian based systems, /bin/sh is a symlink to dash, and running
39689         this command would omit the "/" following each 'tests' prefix:
39690           dash -x build-aux/vc-list-files -C . tests
39691         That is because bash and dash work differently:
39692           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
39693           bash ok
39694           dash odd
39695
39696 2009-07-21  Eric Blake  <ebb9@byu.net>
39697
39698         dup2-tests: test previous patch
39699         * modules/dup2-tests: New file.
39700         * tests/test-dup2.c: Likewise.
39701         * tests/test-open.c (main): Avoid unspecified behavior.
39702         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
39703         test.
39704
39705         dup2: work around mingw and cygwin 1.5 bug
39706         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
39707         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39708         * modules/unistd (Makefile.am): Substitute it.
39709         * lib/unistd.in.h (dup2): Declare the replacement.
39710         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
39711         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
39712         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
39713         * modules/execute (Depends-on): Add dup2.
39714         * modules/fseterr (Depends-on): Likewise.
39715         * modules/pipe (Depends-on): Likewise.
39716         * modules/posix_spawn-internal (Depends-on): Likewise.
39717
39718 2009-07-21  Bruno Haible  <bruno@clisp.org>
39719
39720         * modules/.gitattributes: New file.
39721
39722 2009-07-20  Bruno Haible  <bruno@clisp.org>
39723
39724         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
39725         (main): Use it.
39726
39727 2009-07-20  Eric Blake  <ebb9@byu.net>
39728
39729         test-pipe: make a bit more robust.
39730         * tests/test-pipe.c (myerr): Allow error messages regardless of
39731         what we do to stderr.
39732         (test_pipe): Rearrange to avoid deadlock.
39733         (child_main): Try a larger read, to ensure we avoided deadlock.
39734         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
39735         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
39736         if misused.
39737
39738 2009-07-19  Jim Meyering  <meyering@redhat.com>
39739
39740         fts: avoid false-positive cycle-detection
39741         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
39742         for each new command line argument.
39743
39744 2009-07-19  Bruno Haible  <bruno@clisp.org>
39745
39746         Fix build error on mingw with the modules sys_select and unistd.
39747         * modules/acl-tests (Depends-on): Add close.
39748         * modules/binary-io-tests (Depends-on): Likewise.
39749         * modules/closein-tests (Depends-on): Likewise.
39750         * modules/flock-tests (Depends-on): Likewise.
39751         * modules/fsync-tests (Depends-on): Likewise.
39752         * modules/lseek-tests (Depends-on): Likewise.
39753         * modules/pipe-tests (Depends-on): Likewise.
39754         * modules/posix_spawn-tests (Depends-on): Likewise.
39755         * modules/posix_spawnp-tests (Depends-on): Likewise.
39756         * modules/stat-time-tests (Depends-on): Likewise.
39757         * modules/yesno-tests (Depends-on): Likewise.
39758
39759 2009-07-19  Bruno Haible  <bruno@clisp.org>
39760
39761         Unify conditionals.
39762         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
39763         macros, not at the compiler macros.
39764         * lib/pipe.c: Likewise.
39765         * lib/execute.c: Likewise.
39766         * lib/spawni.c: Likewise.
39767
39768 2009-07-19  Bruno Haible  <bruno@clisp.org>
39769
39770         Fix handling of closed stdin/stdout/stderr on mingw.
39771         * lib/w32spawn.h: Include unistd.h.
39772         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
39773         file descriptor with O_NOINHERIT flag.
39774         (fd_safer_noinherit): New function, based on fd-safer.c.
39775         (dup_safer_noinherit): New function, based on dup-safer.c.
39776         (undup_safer_noinherit): New function.
39777         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
39778         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
39779         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
39780         instead of fd_safer.
39781         * tests/test-pipe.c: Include <windows.h>.
39782         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
39783         result.
39784
39785         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
39786         from main.
39787         (test_pipe): Pass an extra argument for disambiguation.
39788         (main): Invoke parent_main or child_main.
39789
39790         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
39791         consistently.
39792
39793 2009-07-18  Eric Blake  <ebb9@byu.net>
39794
39795         test-pipe: fix mingw build
39796         * tests/test-pipe.c (main): Avoid fcntl on mingw.
39797
39798 2009-07-18  Bruno Haible  <bruno@clisp.org>
39799
39800         * modules/pipe-tests (Makefile.am): Fix typo.
39801
39802 2009-07-18  Eric Blake  <ebb9@byu.net>
39803
39804         error: fix mingw build
39805         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
39806         Reported by Bruno Haible.
39807
39808         error: avoid undefined use of stdout
39809         * lib/error.c (error, error_at_line): Check that fd 1 is open
39810         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
39811         is handling faults and the close_stdout module wants to report the
39812         detection of closed stdout as an error.
39813
39814 2009-07-17  Eric Blake  <ebb9@byu.net>
39815
39816         pipe: be robust in face of closed fds
39817         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
39818         should cause child to misbehave.
39819         * modules/pipe-tests: New module.
39820         * tests/test-pipe.c: New file.
39821         * tests/test-pipe.sh: New file.
39822         Reported by Akim Demaille.
39823
39824 2009-07-14  Bruno Haible  <bruno@clisp.org>
39825
39826         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
39827         Reported by anonymous kc.
39828
39829 2009-07-07  Jim Meyering  <meyering@redhat.com>
39830
39831         maint.mk: don't look for translatable strings in *.m4 or *.mk
39832         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
39833         when searching for translatable strings.
39834
39835 2009-07-05  Jim Meyering  <meyering@redhat.com>
39836
39837         remove superfluous parentheses in STREQ definition
39838         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
39839         * lib/getugroups.c (STREQ): Likewise.
39840         * lib/fnmatch.c (STREQ): Likewise.
39841         Spotted by Bruno Haible.
39842
39843 2009-07-04  Jim Meyering  <meyering@redhat.com>
39844
39845         argv-iter: new module
39846         * MODULES.html.sh: Add argv-iter.
39847         * lib/argv-iter.c, lib/argv-iter.h: New files.
39848         * modules/argv-iter: New file.
39849         * modules/argv-iter-tests: New file.
39850         * tests/test-argv-iter.c: Test it.
39851
39852 2009-07-04  Bruno Haible  <bruno@clisp.org>
39853
39854         Fix assertion.
39855         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
39856         contains more exact copies of a given entry than file2, leave the extra
39857         copies unpaired rather than aborting.
39858         Reported by Eric Blake.
39859
39860 2009-07-02  Bruno Haible  <bruno@clisp.org>
39861
39862         Speedup git-merge-changelog for git cherry-pick.
39863         * lib/git-merge-changelog.c (struct entries_mapping): New type.
39864         (entries_mapping_get): New function, extracted from compute_mapping.
39865         (entries_mapping_reverse_get): New function.
39866         (compute_mapping): Add a 'full' argument. Return the result in a
39867         'struct entries_mapping'.
39868         (main): Update. Access the mappings through entries_mapping_get.
39869         Reported by Eric Blake.
39870
39871 2009-07-02  Bruno Haible  <bruno@clisp.org>
39872
39873         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
39874         best_i.
39875
39876 2009-07-02  Bruno Haible  <bruno@clisp.org>
39877
39878         Speed up approximate search for matching ChangeLog entries.
39879         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
39880         argument. Call fstrcmp_bounded instead of fstrcmp.
39881         (compute_mapping, try_split_merged_entry, main): Update callers.
39882
39883 2009-07-02  Bruno Haible  <bruno@clisp.org>
39884
39885         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
39886
39887 2009-06-30  Bruno Haible  <bruno@clisp.org>
39888
39889         Reduce the number of uc_is_cased calls.
39890         * lib/unicase.h (casing_suffix_context_t): Add
39891         'first_char_except_ignorable' field.
39892         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
39893         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
39894         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
39895         Update initializer.
39896         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
39897         case-ignorable characters.
39898         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
39899         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
39900         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
39901         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
39902         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
39903
39904 2009-06-30  Bruno Haible  <bruno@clisp.org>
39905
39906         Tests for module 'unicase/ignorable'.
39907         * modules/unicase/ignorable-tests: New file.
39908         * tests/unicase/test-ignorable.c: New file, generated by
39909         gen-uni-tables.
39910
39911         Tests for module 'unicase/cased'.
39912         * modules/unicase/cased-tests: New file.
39913         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
39914         * tests/unicase/test-predicate-part1.h: New file, derived from
39915         tests/unictype/test-predicate-part1.h.
39916         * tests/unicase/test-predicate-part2.h: New file, same as
39917         tests/unictype/test-predicate-part2.h.
39918
39919         Fix evaluation of "Before C" condition of FINAL_SIGMA.
39920         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
39921         (output_casing_properties): New function.
39922         (main): Call it.
39923         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
39924         * lib/unicase/cased.c: Include unictype/bitmap.h.
39925         (uc_is_cased): Define through a bitmap lookup.
39926         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
39927         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
39928         (uc_is_case_ignorable): Define through a bitmap lookup.
39929         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
39930         lib/unictype/bitmap.h.
39931         (Depends-on): Add inline. Clean up.
39932         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
39933         lib/unictype/bitmap.h.
39934         (Depends-on): Add inline. Clean up.
39935         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
39936         recognition.
39937         * tests/unicase/test-u16-tolower.c (main): Likewise.
39938         * tests/unicase/test-u32-tolower.c (main): Likewise.
39939
39940 2009-06-30  Bruno Haible  <bruno@clisp.org>
39941
39942         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
39943         * lib/unicase/u16-casemap.c: Likewise.
39944         * lib/unicase/u32-casemap.c: Likewise.
39945
39946 2009-06-29  Bruno Haible  <bruno@clisp.org>
39947
39948         Define u32_casefold as a wrapper around u32_ct_casefold.
39949         * lib/unicase/u32-casefold.c: Update.
39950         * modules/unicase/u32-casefold (Depends-on): Add
39951         unicase/u32-ct-casefold, unicase/empty-prefix-context,
39952         unicase/empty-suffix-context. Clean up.
39953
39954         Define u16_casefold as a wrapper around u16_ct_casefold.
39955         * lib/unicase/u16-casefold.c: Update.
39956         * modules/unicase/u16-casefold (Depends-on): Add
39957         unicase/u16-ct-casefold, unicase/empty-prefix-context,
39958         unicase/empty-suffix-context. Clean up.
39959
39960         Define u8_casefold as a wrapper around u8_ct_casefold.
39961         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
39962         * lib/unicase/u8-casefold.c: Update.
39963         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
39964         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
39965
39966         Define u32_totitle as a wrapper around u32_ct_totitle.
39967         * lib/unicase/u32-totitle.c: Update.
39968         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
39969         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
39970
39971         Define u16_totitle as a wrapper around u16_ct_totitle.
39972         * lib/unicase/u16-totitle.c: Update.
39973         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
39974         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
39975
39976         Define u8_totitle as a wrapper around u8_ct_totitle.
39977         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
39978         functions.
39979         (FUNC): Delegate to U_CT_TOTITLE.
39980         * lib/unicase/u8-totitle.c: Update.
39981         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
39982         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
39983
39984         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
39985         invocation.
39986         * modules/unicase/u32-tolower (Depends-on): Add
39987         unicase/empty-prefix-context, unicase/empty-suffix-context.
39988
39989         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
39990         invocation.
39991         * modules/unicase/u16-tolower (Depends-on): Add
39992         unicase/empty-prefix-context, unicase/empty-suffix-context.
39993
39994         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
39995         * modules/unicase/u8-tolower (Depends-on): Add
39996         unicase/empty-prefix-context, unicase/empty-suffix-context.
39997
39998         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
39999         invocation.
40000         * modules/unicase/u32-toupper (Depends-on): Add
40001         unicase/empty-prefix-context, unicase/empty-suffix-context.
40002
40003         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
40004         invocation.
40005         * modules/unicase/u16-toupper (Depends-on): Add
40006         unicase/empty-prefix-context, unicase/empty-suffix-context.
40007
40008         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
40009         * modules/unicase/u8-toupper (Depends-on): Add
40010         unicase/empty-prefix-context, unicase/empty-suffix-context.
40011
40012         New module 'unicase/u32-ct-casefold'.
40013         * lib/unicase/u32-ct-casefold.c: New file.
40014         * modules/unicase/u32-ct-casefold: New file.
40015
40016         New module 'unicase/u16-ct-casefold'.
40017         * lib/unicase/u16-ct-casefold.c: New file.
40018         * modules/unicase/u16-ct-casefold: New file.
40019
40020         New module 'unicase/u8-ct-casefold'.
40021         * lib/unicase/u8-ct-casefold.c: New file.
40022         * lib/unicase/u-ct-casefold.h: New file, derived from
40023         lib/unicase/u-casefold.h.
40024         * modules/unicase/u8-ct-casefold: New file.
40025
40026         New module 'unicase/u32-ct-totitle'.
40027         * lib/unicase/u32-ct-totitle.c: New file.
40028         * modules/unicase/u32-ct-totitle: New file.
40029
40030         New module 'unicase/u16-ct-totitle'.
40031         * lib/unicase/u16-ct-totitle.c: New file.
40032         * modules/unicase/u16-ct-totitle: New file.
40033
40034         New module 'unicase/u8-ct-totitle'.
40035         * lib/unicase/u8-ct-totitle.c: New file.
40036         * lib/unicase/u-ct-totitle.h: New file, derived from
40037         lib/unicase/u-totitle.h.
40038         * modules/unicase/u8-ct-totitle: New file.
40039
40040         New module 'unicase/u32-ct-tolower'.
40041         * lib/unicase/u32-ct-tolower.c: New file.
40042         * modules/unicase/u32-ct-tolower: New file.
40043
40044         New module 'unicase/u16-ct-tolower'.
40045         * lib/unicase/u16-ct-tolower.c: New file.
40046         * modules/unicase/u16-ct-tolower: New file.
40047
40048         New module 'unicase/u8-ct-tolower'.
40049         * lib/unicase/u8-ct-tolower.c: New file.
40050         * modules/unicase/u8-ct-tolower: New file.
40051
40052         New module 'unicase/u32-ct-toupper'.
40053         * lib/unicase/u32-ct-toupper.c: New file.
40054         * modules/unicase/u32-ct-toupper: New file.
40055
40056         New module 'unicase/u16-ct-toupper'.
40057         * lib/unicase/u16-ct-toupper.c: New file.
40058         * modules/unicase/u16-ct-toupper: New file.
40059
40060         New module 'unicase/u8-ct-toupper'.
40061         * lib/unicase/u8-ct-toupper.c: New file.
40062         * modules/unicase/u8-ct-toupper: New file.
40063
40064         Add context arguments to u*_casemap functions.
40065         * lib/unicase/unicasemap.h: Include unicase.h.
40066         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
40067         suffix_context arguments.
40068         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
40069         functions.
40070         (FUNC): Add prefix_context and suffix_context arguments. Use
40071         uc_is_cased and uc_is_case_ignorable.
40072         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
40073         * lib/unicase/u16-casemap.c: Likewise.
40074         * lib/unicase/u32-casemap.c: Likewise.
40075         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
40076         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
40077         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
40078         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
40079         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
40080         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
40081
40082         New module 'unicase/u32-suffix-context'.
40083         * lib/unicase/u32-suffix-context.c: New file.
40084         * modules/unicase/u32-suffix-context: New file.
40085
40086         New module 'unicase/u16-suffix-context'.
40087         * lib/unicase/u16-suffix-context.c: New file.
40088         * modules/unicase/u16-suffix-context: New file.
40089
40090         New module 'unicase/u8-suffix-context'.
40091         * lib/unicase/u8-suffix-context.c: New file.
40092         * lib/unicase/u-suffix-context.h: New file.
40093         * modules/unicase/u8-suffix-context: New file.
40094
40095         New module 'unicase/empty-suffix-context'.
40096         * lib/unicase/empty-suffix-context.c: New file.
40097         * modules/unicase/empty-suffix-context: New file.
40098
40099         New module 'unicase/u32-prefix-context'.
40100         * lib/unicase/u32-prefix-context.c: New file.
40101         * modules/unicase/u32-prefix-context: New file.
40102
40103         New module 'unicase/u16-prefix-context'.
40104         * lib/unicase/u16-prefix-context.c: New file.
40105         * modules/unicase/u16-prefix-context: New file.
40106
40107         New module 'unicase/u8-prefix-context'.
40108         * lib/unicase/u8-prefix-context.c: New file.
40109         * lib/unicase/u-prefix-context.h: New file.
40110         * lib/unicase/context.h: New file.
40111         * modules/unicase/u8-prefix-context: New file.
40112
40113         New module 'unicase/empty-prefix-context'.
40114         * lib/unicase/empty-prefix-context.c: New file.
40115         * modules/unicase/empty-prefix-context: New file.
40116
40117         New module 'unicase/ignorable'.
40118         * lib/unicase/ignorable.c: New file.
40119         * modules/unicase/ignorable: New file.
40120
40121         New module 'unicase/cased'.
40122         * lib/unicase/caseprop.h: New file.
40123         * lib/unicase/cased.c: New file.
40124         * modules/unicase/cased: New file.
40125
40126         New functions for case mapping of substrings.
40127         * lib/unicase.h (casing_prefix_context_t): New type.
40128         (unicase_empty_prefix_context): New variable.
40129         (u8_casing_prefix_context, u16_casing_prefix_context,
40130         u32_casing_prefix_context, u8_casing_prefixes_context,
40131         u16_casing_prefixes_context, u32_casing_prefixes_context): New
40132         declarations.
40133         (casing_suffix_context_t): New type.
40134         (unicase_empty_suffix_context): New variable.
40135         (u8_casing_suffix_context, u16_casing_suffix_context,
40136         u32_casing_suffix_context, u8_casing_suffixes_context,
40137         u16_casing_suffixes_context, u32_casing_suffixes_context,
40138         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
40139         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
40140         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
40141         declarations.
40142
40143 2009-06-28  Jim Meyering  <meyering@redhat.com>
40144
40145         boostrap: indent only with spaces
40146         * build-aux/bootstrap: Indent only with spaces, never TABs.
40147
40148         bootstrap: split long lines
40149         * build-aux/bootstrap: Keep line length < 80.
40150
40151         bootstrap: sync from coreutils
40152         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
40153         just as autoreconf does.  Verify a list of prerequisite
40154         package-name,version-number pairs if defined in bootstrap.conf.
40155         Refer to README-prereq, if prerequisites are not satisfied.
40156
40157 2009-06-27  Eric Blake  <ebb9@byu.net>
40158
40159         tests: add test for bogus NULL definition
40160         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
40161         * tests/test-stdlib.c: Likewise.
40162         * tests/test-string.c: Likewise.
40163         * tests/test-locale.c: Likewise.
40164         * tests/test-unistd.c: Likewise.
40165         * modules/stdio-tests (Depends-on): Add verify.
40166         * modules/stdlib-tests (Depends-on): Likewise.
40167         * modules/string-tests (Depends-on): Likewise.
40168         * modules/locale-tests (Depends-on): Likewise.
40169         * modules/unistd-tests (Depends-on): Likewise.
40170
40171 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
40172
40173         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
40174         self-explaining comment.
40175         * m4/selinux-selinux-h: Update serial.
40176         (gl_LIBSELINUX): New macro, adding a warning for missing development
40177         packages to code extracted from...
40178         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
40179         Add warning for missing development packages here, too.
40180
40181 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
40182
40183         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
40184
40185 2009-06-25  Eric Blake  <ebb9@byu.net>
40186
40187         version-etc: fix regression
40188         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
40189         gcc.
40190         (version_etc): Use it, to catch bugs with trailing NULL.
40191         * lib/version-etc.c (version_etc_arn): Delete unused argument.
40192         (version_etc_va): Fix logic bug.
40193         * modules/version-etc-tests: Add test.
40194         * tests/test-version-etc.c: New file.
40195         * tests/test-version-etc.sh: Likewise.
40196
40197 2009-06-25  Sam Steingold  <sds@gnu.org>
40198
40199         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
40200         mbtowc declaration.
40201
40202 2009-06-25  Eric Blake  <ebb9@byu.net>
40203
40204         fpurge: migrate into <stdio.h>
40205         * lib/fpurge.h: Delete...
40206         * lib/stdio.in.h (fpurge): ...and declare here, instead.
40207         * lib/fpurge.c (fpurge): Change declaring header.
40208         * modules/fpurge (Files): Drop deleted file.
40209         (Depends-on): Add stdio.
40210         (configure.ac): Set witness.
40211         * modules/stdio (Makefile.am): Support fpurge macros.
40212         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
40213         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
40214         * lib/fflush.c: Update client.
40215         * tests/test-fpurge.c: Likewise.
40216         * NEWS: Mention the change.
40217
40218 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40219
40220         * lib/argp-version-etc.c (program_authors): Add const
40221         qualifier.
40222         * lib/version-etc.c: Fix typos in the comments.
40223         * modules/argp-version-etc: Depends on version-etc.
40224
40225 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40226
40227         argp-version-etc: new module.
40228
40229         * lib/argp-version-etc.c: New file.
40230         * lib/argp-version-etc.h: New file.
40231         * modules/argp-version-etc: New file.
40232         * modules/argp-version-etc-tests: New file.
40233         * tests/test-argp-version-etc.c: New test.
40234         * tests/test-argp-version-etc-1.sh: New test.
40235
40236 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40237
40238         Provide additional interfaces and documentation for version-etc
40239         module.
40240
40241         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
40242         interfaces.
40243         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
40244         prototypes.
40245
40246 2009-06-24  Bruno Haible  <bruno@clisp.org>
40247
40248         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
40249         HAVE_LIB${NAME} macro.
40250         Reported by Sam Steingold <sds@gnu.org>.
40251
40252 2009-06-23  Simon Josefsson  <simon@josefsson.org>
40253
40254         * modules/hash-tests (test_hash_LDADD): Link to libintl when
40255         needed.
40256
40257 2009-06-21  Bruno Haible  <bruno@clisp.org>
40258
40259         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
40260         work.
40261         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
40262         together with LIB${NAME}, LTLIB${NAME}.
40263         Reported by Sam Steingold <sds@gnu.org>.
40264
40265 2009-06-20  Jim Meyering  <meyering@redhat.com>
40266
40267         tests: make sc_require_test_exit_idiom more generic
40268         * top/maint.mk (Exit_witness_file): New overridable variable.
40269         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
40270         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
40271
40272 2009-06-19  Jim Meyering  <meyering@redhat.com>
40273
40274         hash: reverse order of src/dst parameters in an internal interface
40275         * lib/hash.c (transfer_entries): Reverse order of parameters to
40276         put DST before SRC.  Adjust callers.
40277
40278         tests: test-hash: avoid wholesale duplication
40279         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
40280         Instead, use a loop and add a single conditional.
40281
40282         tests: test-hash: allow seed selection via a command line argument
40283         * tests/test-hash.c (get_seed): New function.
40284         (main): Use it.
40285
40286 2009-06-19  Eric Blake  <ebb9@byu.net>
40287
40288         hash: avoid memory leak on allocation failure
40289         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
40290         failure.  Factor repeated algorithm...
40291         (transfer_entries): ...into new helper routine.
40292         (hash_delete): React to hash_rehash return value.
40293
40294         hash: reduce memory pressure in hash_rehash no-op case
40295         * lib/hash.c (next_prime): Avoid overflow.
40296         (hash_initialize): Factor bucket size computation...
40297         (compute_bucket_size): ...into new helper function.
40298         (hash_rehash): Use new function and open coding to reduce memory
40299         pressure, and avoid a memory leak in USE_OBSTACK code.
40300         Reported by Jim Meyering.
40301
40302 2009-06-18  Eric Blake  <ebb9@byu.net>
40303
40304         hash: make rotation more obvious
40305         * modules/hash (Depends-on): Add bitrotate and stdint.
40306         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
40307         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
40308         (SIZE_MAX): Rely on headers for definition.
40309         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
40310         (raw_hasher): Use rotr_sz.
40311         Suggested by Jim Meyering.
40312
40313         hash: fix memory leak in last patch
40314         * lib/hash.c (hash_rehash): Avoid memory leak.
40315
40316         hash: avoid no-op rehashing
40317         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
40318
40319         hash: provide default callback functions
40320         * lib/hash.c (raw_hasher, raw_comparator): New functions.
40321         (hash_initialize): Use them as defaults.
40322         * tests/test-hash.c (main): Test this.
40323
40324         hash: minor optimization
40325         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
40326         when possible.
40327         (hash_initialize): Document this promise.
40328         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
40329         * tests/test-hash.c (hash_compare_strings): Test this.
40330
40331 2009-06-18  Bruno Haible  <bruno@clisp.org>
40332
40333         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
40334         going to be replaced anyway.
40335
40336 2009-06-18  Bruno Haible  <bruno@clisp.org>
40337
40338         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
40339         in one place.
40340         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
40341         be replaced anyway.
40342
40343 2009-06-18  Eric Blake  <ebb9@byu.net>
40344
40345         hash: check for resize before insertion
40346         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
40347         threshold before insertion, so that a pathological hash_rehash
40348         that fills every bucket can still trigger another rehash.
40349
40350 2009-06-18  Jim Meyering  <meyering@redhat.com>
40351
40352         hash-tests: add a loop around the small tests
40353         * tests/test-hash.c (main): Repeat small tests with selected
40354         small initial table sizes.
40355
40356 2009-06-17  Eric Blake  <ebb9@byu.net>
40357
40358         hash: minor cleanups
40359         * lib/hash.h (hash_entry): Make opaque, by moving...
40360         * lib/hash.c (hash_entry): ...here.
40361         (hash_insert): Clarify restrictions on what can be inserted.
40362         (hash_get_next): Clarify when it is safe to remove an element
40363         during traversal.
40364         (check_tuning): Skip verification when tuning is known safe.
40365         (hash_initialize): Clarify restrictions on tuning.
40366
40367 2009-06-17  Jim Meyering  <jim@meyering.net>
40368         and Eric Blake  <ebb9@byu.net>
40369
40370         hash-tests: new module
40371         * modules/hash-tests: New file.
40372         * tests/test-hash.c: New file.
40373
40374 2009-06-17  Eric Blake  <ebb9@byu.net>
40375
40376         strstr-simple: document new module
40377         * MODULES.html.sh: Document new module.
40378
40379         strstr, strcasestr: replace on platforms with broken memchr
40380         * modules/strstr: Split into...
40381         * modules/strstr-simple: ...new module that does not care about
40382         performance, but does care about glibc bug.
40383         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
40384         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
40385         if platform memchr is broken, per Debian bug 521737.
40386         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
40387         memchr.
40388         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
40389         * doc/posix-functions/strstr.texi (strstr): Document the fix.
40390         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
40391         * modules/mountlist (Depends-on): Add strstr-simple.
40392         * modules/gen-uni-tables (Depends-on): Likewise.
40393         * modules/argz (Depends-on): Add strstr.
40394
40395 2009-06-17  Bruno Haible  <bruno@clisp.org>
40396
40397         * modules/posix_spawn-internal (Depends-on): Add errno.
40398
40399 2009-06-17  Bruno Haible  <bruno@clisp.org>
40400
40401         Define missing ESTALE on Interix 3.5.
40402         * lib/errno.in.h (ESTALE): Assign a value if missing.
40403         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
40404         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
40405         missing.
40406         * doc/posix-headers/errno.texi: Mention the Interix bug.
40407         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
40408
40409 2009-06-15  Eric Blake  <ebb9@byu.net>
40410
40411         memchr, memchr2: add valgrind exception
40412         * lib/memchr.valgrind: New file.
40413         * lib/memchr2.valgrind: New file.
40414         * modules/memchr (Files): Distribute valgrind file.
40415         * modules/memchr2 (Files): Likewise.
40416
40417         docs: memchr is no longer obsolete
40418         * MODULES.html.sh: Move memchr from obsolete to string.h section.
40419         * lib/string.in.h (memchr): Simplify logic.
40420
40421 2009-06-14  Jim Meyering  <meyering@redhat.com>
40422
40423         link-follow: fix the "checking..." message to not mention trailing slash
40424         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
40425         never considered trailing slashes.
40426
40427 2009-06-14  Bruno Haible  <bruno@clisp.org>
40428
40429         * m4/memchr.m4: Mention also the bug on IA-64.
40430         * doc/posix-functions/memchr.texi: Likewise.
40431
40432 2009-06-12  Eric Blake  <ebb9@byu.net>
40433
40434         memchr: detect broken x86_64 and alpha implementations
40435         * modules/memchr-tests (Depends-on): Move mmap detection...
40436         * modules/memchr (Depends-on): ...here.
40437         (configure.ac): Set indicator.
40438         * lib/string.in.h (memchr): Declare replacement.
40439         * modules/string (Makefile.am): Trigger replacement.
40440         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
40441         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
40442         bugs.
40443         * doc/posix-functions/memchr.texi (memchr): Document the bug.
40444         * modules/getpagesize (License): Relax license.
40445
40446 2009-06-11  Bruno Haible  <bruno@clisp.org>
40447
40448         * lib/idpriv.h: Add more references.
40449
40450 2009-06-08  Bruno Haible  <bruno@clisp.org>
40451
40452         Tests for module 'idpriv-droptemp'.
40453         * modules/idpriv-droptemp-tests: New file.
40454         * tests/test-idpriv-droptemp.sh: New file.
40455         * tests/test-idpriv-droptemp.su.sh: New file.
40456         * tests/test-idpriv-droptemp.c: New file.
40457
40458         New module 'idpriv-droptemp'.
40459         * lib/idpriv-droptemp.c: New file.
40460         * modules/idpriv-droptemp: New file.
40461
40462 2009-06-08  Bruno Haible  <bruno@clisp.org>
40463
40464         Tests for module 'idpriv-drop'.
40465         * modules/idpriv-drop-tests: New file.
40466         * tests/test-idpriv-drop.sh: New file.
40467         * tests/test-idpriv-drop.su.sh: New file.
40468         * tests/test-idpriv-drop.c: New file.
40469
40470         New module 'idpriv-drop'.
40471         * lib/idpriv.h: New file.
40472         * lib-idpriv-drop.c: New file.
40473         * m4/idpriv.m4: New file.
40474         * modules/idpriv-drop: New file.
40475
40476 2009-06-08  Bruno Haible  <bruno@clisp.org>
40477
40478         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
40479         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
40480         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
40481         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
40482         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
40483         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
40484         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
40485
40486 2009-06-08  Eric Blake  <ebb9@byu.net>
40487
40488         test-strstr: use memory fence, when possible
40489         * tests/test-strstr.c (main): Use memory fence, in order to be
40490         more likely to trigger Debian bug 521737.
40491         * modules/strstr-tests (Files): Pull in additional files.
40492
40493         memchr: no longer obsolete, for wider field testing
40494         * modules/memchr (Status, Notice): Delete, this module is no
40495         longer obsolete.
40496         * modules/vasnprintf (Depends-on): Add memchr.
40497
40498 2009-06-07  Jim Meyering  <meyering@redhat.com>
40499
40500         hash: declare some functions with the warn_unused_result attribute
40501         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
40502
40503 2009-06-07  Bruno Haible  <bruno@clisp.org>
40504
40505         * tests/test-alignof.c: Don't test int64_t if it does not exist.
40506         Reported by Eric Blake.
40507
40508 2009-06-06  Eric Blake  <ebb9@byu.net>
40509
40510         test-alignof: fix typo with long double
40511         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
40512         compiler error.
40513
40514 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
40515
40516         Escape non-texinfo { and }s.
40517         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
40518         markup error.
40519
40520 2009-06-04  Jim Meyering  <meyering@redhat.com>
40521
40522         gitlog-to-changelog: don't infloop on an empty commit log
40523         * build-aux/gitlog-to-changelog: Warn about an empty log message.
40524         Reported by Boris Petersen <transacid@centerim.org>.
40525
40526 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
40527
40528         version-etc: extend for packagers
40529         Add three new configure options, intended for packagers:
40530           --with-packager="packager name"
40531           --with-packager-version="packager-specific version"
40532           --with-packager-bug-reports="packager bug reporting"
40533         An example with coreutils:
40534           $ ./configure \
40535             --with-packager=Gentoo \
40536             --with-packager-bug-report=http://bugs.gentoo.org/ \
40537             --with-packager-version="patchset 1.6"
40538           $ ./src/ls --version | head -n2
40539           ls (GNU coreutils) 7.1-dirty
40540           Packaged by Gentoo (patchset 1.6)
40541         Note that the bug reporting info via --help doesn't show up because
40542         coreutils uses its own custom emit_bug_reporting_address() implementation
40543         in src/system.h.  If it didn't, it'd look like:
40544           $ ./src/ls --help | tail -n4
40545           Report bugs to <bug-coreutils@gnu.org>.
40546           Report Gentoo bugs to <http://bugs.gentoo.org/>.
40547           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
40548           General help using GNU software: <http://www.gnu.org/gethelp/>.
40549         * lib/version-etc.c: Print new information, if provided.
40550         * m4/version-etc.m4: New file.
40551         * modules/version-etc (Files): Add m4/version-etc.m4.
40552         (configure.ac): Add gl_VERSION_ETC.
40553
40554 2009-05-31  Bruno Haible  <bruno@clisp.org>
40555
40556         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
40557         and 'int64_t'.
40558         * modules/alignof-tests (Dependencies): Add stdint.
40559         Reported by Eric Blake.
40560
40561 2009-05-31  Bruno Haible  <bruno@clisp.org>
40562
40563         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
40564         restriction due to compiler bugs.
40565         Reported by Eric Blake.
40566
40567 2009-05-31  Simon Josefsson  <simon@josefsson.org>
40568             Bruno Haible  <bruno@clisp.org>
40569
40570         Fix test-alignof failure.
40571         * lib/alignof.h (alignof_slot): New macro.
40572         (alignof_type): New macro, with the same semantics as the previous
40573         'alignof'.
40574         (alignof): Alias to alignof_slot.
40575         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
40576         check that the results are usable as constant expressions.
40577
40578 2009-05-31  Bruno Haible  <bruno@clisp.org>
40579
40580         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
40581         * tests/test-memchr.c (main): Check that memchr does not read past the
40582         first occurrence of the byte.
40583         * tests/test-strstr.c (main): Update comment.
40584         Suggested by Eric Blake.
40585
40586 2009-05-30  Bruno Haible  <bruno@clisp.org>
40587
40588         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
40589         detail how to use dumpbin.
40590         Reported by David Byron <dbyron@dbyron.com>.
40591
40592 2009-06-02  Simon Josefsson  <simon@josefsson.org>
40593
40594         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
40595
40596 2009-06-02  Simon Josefsson  <simon@josefsson.org>
40597
40598         * m4/manywarnings.m4: Add GCC 4.4 warnings.
40599
40600 2009-05-28  Bruno Haible  <bruno@clisp.org>
40601
40602         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
40603         build-aux/ files.
40604
40605 2009-05-28  Simon Josefsson  <simon@josefsson.org>
40606
40607         * gnulib-tool (func_import): Transform license on build-aux/ files too.
40608
40609 2009-05-27  Simon Josefsson  <simon@josefsson.org>
40610
40611         * gnulib-tool (sed_transform_main_lib_file)
40612         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
40613         regexps.
40614
40615 2009-05-26  Simon Josefsson  <simon@josefsson.org>
40616
40617         * tests/test-strstr.c: Add another self-test.
40618         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
40619         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
40620
40621 2009-05-23  Bruno Haible  <bruno@clisp.org>
40622
40623         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
40624         change.
40625
40626 2009-05-21  Bruno Haible  <bruno@clisp.org>
40627
40628         Simplify use of mode_t varargs.
40629         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
40630         uses 'mode_t' or 'int'.
40631         * lib/openat.c (openat): Likewise.
40632         * lib/open-safer.c (open_safer): Likewise.
40633         * m4/mode_t.m4: New file.
40634         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
40635         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
40636         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
40637         * modules/open (Files): Add m4/mode_t.m4.
40638         * modules/openat (Files): Likewise.
40639         * modules/fcntl-safer (Files): Likewise.
40640         Suggested by Eric Blake.
40641
40642 2009-05-21  Pádraig Brady  <P@draigbrady.com>
40643
40644         * doc/glibc-functions/fallocate.texi: New file.
40645         * doc/gnulib.texi: Include it.
40646
40647 2009-05-21  Eric Blake  <ebb9@byu.net>
40648             Bruno Haible  <bruno@clisp.org>
40649
40650         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
40651         invocations.
40652         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
40653
40654 2009-05-21  Eric Blake  <ebb9@byu.net>
40655             Bruno Haible  <bruno@clisp.org>
40656
40657         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
40658         include_next. Fix of 2008-11-20 commit.
40659         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
40660         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
40661         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
40662         NEXT_MATH_H.
40663         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
40664         instead of NEXT_MATH_H.
40665
40666 2009-05-21  Bruno Haible  <bruno@clisp.org>
40667
40668         Avoid redefinition warnings for SIZE_MAX.
40669         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
40670         Reported by Simon Josefsson.
40671
40672 2009-05-21  Bruno Haible  <bruno@clisp.org>
40673
40674         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
40675         AC_CACHE_VAL.
40676
40677 2009-05-20  Bruno Haible  <bruno@clisp.org>
40678
40679         Make zeroptr.h work on mingw.
40680         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
40681         mprotect.
40682         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
40683         * modules/memchr2-tests (configure.ac): Likewise.
40684         * modules/memcmp-tests (configure.ac): Likewise.
40685         * modules/memmem-tests (configure.ac): Likewise.
40686         * modules/memrchr-tests (configure.ac): Likewise.
40687         Reported by Simon Josefsson.
40688
40689 2009-05-20  Simon Josefsson  <simon@josefsson.org>
40690
40691         * tests/test-glob.c: Include string.h for strcmp prototype.
40692
40693 2009-05-20  Simon Josefsson  <simon@josefsson.org>
40694
40695         * modules/getdelim (Depends-on): Add explicit stdint, although it
40696         was implicitly already pulled in via realloc-posix.
40697         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
40698
40699 2009-05-20  Simon Josefsson  <simon@josefsson.org>
40700
40701         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
40702         G. Christensen" <tgc@jupiterrise.com>.
40703         * m4/sys_socket_h.m4: Check for sa_family_t.
40704         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
40705         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
40706         * tests/test-sys_socket.c: Check that sa_family_t works.
40707
40708 2009-05-18  Eric Blake  <ebb9@byu.net>
40709
40710         maint.mk: allow gnulib_dir in VPATH build
40711         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
40712
40713 2009-05-15  Jim Meyering  <meyering@redhat.com>
40714
40715         maint.mk: Give gnulib_dir a default definition.
40716         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
40717         Thus, most packages no longer need to specify this variable in cfg.mk
40718
40719 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
40720
40721         rename.m4: fix typos that would make non-mingw cross-configure fail
40722         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
40723
40724 2009-05-13  Eric Blake  <ebb9@byu.net>
40725
40726         mmap-anon: avoid out-of-order autoconf expansion
40727         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
40728         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
40729         * modules/memchr-tests (Depends-on): Add extensions.
40730         * modules/memchr2-tests (Depends-on): Add extensions.
40731         * modules/memcmp-tests (Depends-on): Add extensions.
40732         * modules/memmem-tests (Depends-on): Add extensions.
40733         * modules/memrchr-tests (Depends-on): Add extensions.
40734
40735 2009-05-13  Bruno Haible  <bruno@clisp.org>
40736
40737         Make some tests ISO C 99 compliant.
40738         * tests/zerosize-ptr.h: New file.
40739         * tests/test-memchr.c: Include zerosize-ptr.h.
40740         (main): Use a zero-size object pointer instead of NULL.
40741         * tests/test-memchr2.c: Include zerosize-ptr.h.
40742         (main): Use a zero-size object pointer instead of NULL.
40743         * tests/test-memcmp.c: Include zerosize-ptr.h.
40744         (main): Use a zero-size object pointer instead of NULL.
40745         * tests/test-memmem.c: Include zerosize-ptr.h.
40746         (main): Use a zero-size object pointer instead of NULL.
40747         * tests/test-memrchr.c: Include zerosize-ptr.h.
40748         (main): Use a zero-size object pointer instead of NULL.
40749         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
40750         m4/mmap-anon.m4.
40751         (Depends-on): Add getpagesize.
40752         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
40753         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
40754         m4/mmap-anon.m4.
40755         (Depends-on): Add getpagesize.
40756         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
40757         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
40758         m4/mmap-anon.m4.
40759         (Depends-on): Add getpagesize.
40760         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
40761         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
40762         m4/mmap-anon.m4.
40763         (Depends-on): Add getpagesize.
40764         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
40765         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
40766         m4/mmap-anon.m4.
40767         (Depends-on): Add getpagesize.
40768         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
40769
40770 2009-05-12  Bruno Haible  <bruno@clisp.org>
40771
40772         Tests for module 'alignof'.
40773         * modules/alignof-tests: New file.
40774         * tests/test-alignof.c: New file.
40775
40776 2009-05-12  Bruno Haible  <bruno@clisp.org>
40777
40778         Fix alignof macro.
40779         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
40780         vendor compilers that are always correct.
40781
40782 2009-05-12  Bruno Haible  <bruno@clisp.org>
40783
40784         Make the MAP_ANONYMOUS detection work on HP-UX 11.
40785         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
40786         not whether its fully works.
40787
40788 2009-05-12  Bruno Haible  <bruno@clisp.org>
40789
40790         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
40791
40792 2009-05-12  Jim Meyering  <meyering@redhat.com>
40793
40794         * top/maint.mk: Adjust backslash alignment.
40795
40796 2009-05-11  Simon Josefsson  <simon@josefsson.org>
40797
40798         * top/maint.mk: Make $(srcdir)/build-aux configurable.
40799
40800 2009-05-11  Eric Blake  <ebb9@byu.net>
40801
40802         argp: avoid undefined behavior
40803         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
40804         macros.
40805
40806 2009-05-08  Simon Josefsson  <simon@josefsson.org>
40807
40808         * tests/test-vc-list-files-git.sh: Do git config of user.email and
40809         user.name to prevent git commit from complaining.
40810
40811 2009-05-10  Bruno Haible  <bruno@clisp.org>
40812
40813         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
40814         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
40815         it rewrites every file name only once.
40816         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
40817
40818 2009-05-08  Bruno Haible  <bruno@clisp.org>
40819
40820         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
40821         instead of 'max'.
40822
40823 2009-05-08  Simon Josefsson  <simon@josefsson.org>
40824
40825         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
40826         sockaddr_storage test.
40827
40828 2009-05-07  Simon Josefsson  <simon@josefsson.org>
40829
40830         * modules/sys_socket (Makefile.am): Substitute
40831         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
40832         * m4/sys_socket_h.m4: Check for sockaddr_storage.
40833         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
40834         * tests/test-sys_socket.c: Check sockaddr_storage.
40835
40836 2009-05-08  Bruno Haible  <bruno@clisp.org>
40837
40838         New module 'alignof'.
40839         * lib/alignof.h: New file.
40840         * modules/alignof: New file.
40841
40842 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
40843             Bruno Haible  <bruno@clisp.org>
40844
40845         Fix test-file-has-acl on FreeBSD.
40846         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
40847         mask is implicitly added.
40848         * tests/test-file-has-acl.c: Include <signal.h>.
40849         (main): Terminate the test after 5 seconds.
40850         * modules/acl-tests (configure.ac): Check for alarm function.
40851
40852 2009-05-04  Bruno Haible  <bruno@clisp.org>
40853
40854         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
40855         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
40856         * modules/errno (configure.ac): Drop AC_REQUIRE.
40857         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
40858         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
40859
40860 2009-05-04  Simon Josefsson  <simon@josefsson.org>
40861
40862         * modules/glob-tests: New module.
40863         * tests/test-glob.c: Add.
40864
40865 2009-05-04  Simon Josefsson  <simon@josefsson.org>
40866
40867         * modules/fnmatch-tests: New module.
40868         * tests/test-fnmatch.c: Add.
40869
40870 2009-05-04  Eric Blake  <ebb9@byu.net>
40871
40872         maint: make the new no-submodule-changes rule VPATH-safe
40873         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
40874
40875 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
40876             Bruno Haible  <bruno@clisp.org>
40877
40878         acl: Fix infinite loop on FreeBSD.
40879         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
40880         of return value from acl_get_entry.
40881         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
40882         Likewise.
40883
40884 2009-05-03  Bruno Haible  <bruno@clisp.org>
40885
40886         * lib/acl-internal.h (acl_entries): Clarify return value.
40887         * lib/acl_entries.c (acl_entries): Likewise.
40888
40889 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
40890
40891         Bug fix in acl module.
40892         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
40893
40894 2009-05-03  Bruno Haible  <bruno@clisp.org>
40895
40896         Create gperf-generated file in the source dir, not in the build dir.
40897         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
40898         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
40899         * modules/unicase/locale-language (unicase/locale-languages.h):
40900         Likewise.
40901         * modules/unicase/special-casing (unicase/special-casing-table.h):
40902         Likewise.
40903         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
40904         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
40905         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
40906         Reported by Ralf Wildenhues.
40907
40908 2009-05-03  Bruno Haible  <bruno@clisp.org>
40909
40910         * modules/fnmatch (Description, configure.ac): Taken from
40911         fnmatch-posix.
40912         * modules/fnmatch-posix: Turn into a symbolic reference to the
40913         'fnmatch' module, and deprecate.
40914         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
40915
40916 2009-05-03  Bruno Haible  <bruno@clisp.org>
40917
40918         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
40919         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
40920         Reported by Ralf Wildenhues.
40921
40922 2009-05-04  Simon Josefsson  <simon@josefsson.org>
40923
40924         * m4/fnmatch.m4: Fix fnmatch re-define.
40925
40926 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
40927
40928         priv-set: new module and tests; adapt write-any-file
40929         * lib/priv-set.c: New file.
40930         * lib/priv-set.h: New file.
40931         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
40932         * lib/write-any-file.c: Simplify by using priv-set module.
40933         * m4/priv-set.m4: New file.
40934         * modules/priv-set: New file.
40935         * modules/unlinkdir: Add dependency on priv-set module.
40936         * modules/write-any-file: Likewise.
40937
40938         Tests for module 'priv-set'.
40939         * modules/priv-set-tests: New file.
40940         * tests/test-priv-set.c: New file.
40941
40942 2009-05-03  Jim Meyering  <meyering@redhat.com>
40943             Bruno Haible  <bruno@clisp.org>
40944
40945         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
40946         use the converted UTF-8 variant of the name instead.
40947
40948 2009-05-03  Jim Meyering  <meyering@redhat.com>
40949
40950         tests: tighten some getdate tests
40951         * tests/test-getdate.c (main): Tighten tests: require equality,
40952         not just greater than.  Set TZ envvar to UTC0.
40953
40954 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
40955
40956         getdate: correctly interpret "next monday" when run on a Monday
40957         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
40958         that e.g., "next tues" (when run on a tuesday) results in a date
40959         that is one week in the future, and not today's date.
40960         I.e., add a week when the wday is the same as the current one.
40961         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
40962         and earlier by Martin Bernreuther and Jan Minář.
40963         * tests/test-getdate.c (main): Check that "next DAY" is always in
40964         the future and that "last DAY" is always in the past.
40965
40966 2009-05-02  Jim Meyering  <meyering@redhat.com>
40967
40968         build: ensure that a release build fails when a submodule is unclean
40969         * top/maint.mk (no-submodule-changes): New rule.
40970         (alpha beta major): Depend on it.
40971
40972 2009-05-02  Bruno Haible  <bruno@clisp.org>
40973
40974         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
40975         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
40976         shell variable gl_fnmatch_required to detect which variant is
40977         requested.
40978         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
40979         gl_FUNC_FNMATCH_POSIX.
40980         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
40981         exclude fnmatch-posix.
40982
40983 2009-05-02  Bruno Haible  <bruno@clisp.org>
40984
40985         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
40986         * modules/mbsrtowcs (License): Change to LGPLv2+.
40987         * modules/strnlen1 (License): Likewise.
40988         Reported by Simon Josefsson.
40989
40990 2009-05-02  Bruno Haible  <bruno@clisp.org>
40991
40992         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
40993         "cross".
40994         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
40995         gnulib-tool was called with option --source-base=lib.
40996
40997 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40998
40999         Use automake *-local hooks without commands, for extensibility.
41000         * modules/localcharset (Makefile.am): Rename install-exec-local
41001         rule to install-exec-localcharset, and make it a prerequisite of
41002         install-exec-local.  Likewise, rename the uninstall-local rule to
41003         uninstall-localcharset, and make it a prerequisite of the former.
41004
41005 2009-05-01  Bruno Haible  <bruno@clisp.org>
41006
41007         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
41008         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
41009         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
41010         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
41011         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
41012         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
41013         m4/locale-zh.m4, m4/codeset.m4.
41014
41015         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
41016         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
41017         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
41018         m4/locale-zh.m4.
41019
41020         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
41021         REPLACE_WCRTOMB if mbstate_t must be replaced.
41022         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
41023         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
41024
41025 2009-05-01  Bruno Haible  <bruno@clisp.org>
41026
41027         Avoid compiler warnings when redefining macros defined by <libintl.h>.
41028         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
41029         dngettext, dcngettext, textdomain, bindtextdomain,
41030         bind_textdomain_codeset): Undefine before redefining.
41031
41032 2009-04-30  Bruno Haible  <bruno@clisp.org>
41033
41034         Fix bug introduced on 2009-04-25.
41035         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
41036         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
41037         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
41038         is defined.
41039         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
41040         is defined.
41041         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
41042         is defined.
41043         Reported by Elbert_Pol <elbert.pol@gmail.com>.
41044
41045 2009-04-28  Bruno Haible  <bruno@clisp.org>
41046
41047         Comment tweaks.
41048         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
41049         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
41050         * lib/unicase.h (u*_casexfrm): Likewise.
41051         Reported by Paolo Bonzini.
41052
41053 2009-04-28  Bruno Haible  <bruno@clisp.org>
41054
41055         Fix a compilation error.
41056         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
41057         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
41058         Reported by Jim Meyering.
41059
41060 2009-04-27  Bruno Haible  <bruno@clisp.org>
41061
41062         New module 'libunistring'.
41063         * modules/libunistring: New file.
41064         * m4/libunistring.m4: New file.
41065         * MODULES.html.sh (Unicode string functions): Add it.
41066
41067 2009-04-27  Eric Blake  <ebb9@byu.net>
41068
41069         maint.mk: allow package-specific header to provide <config.h>
41070         * top/maint.mk (sc_require_config_h): New variable.
41071         (sc_require_config_h, sc_require_config_h_first): Use it.
41072
41073 2009-04-27  Simon Josefsson  <simon@josefsson.org>
41074
41075         * top/maint.mk (sc_avoid_if_before_free): Except
41076         useless-if-before-free script.
41077
41078 2009-04-27  Eric Blake  <ebb9@byu.net>
41079
41080         maintainer-makefile: depend on all required helper scripts
41081         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
41082         useless-if-before-free.
41083         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
41084         version, rather than assuming gnulib checkout is available.
41085         Reported by Simen Josefsson.
41086
41087 2009-04-26  Bruno Haible  <bruno@clisp.org>
41088
41089         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
41090         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
41091         "../" or "..".
41092
41093 2009-04-26  Bruno Haible  <bruno@clisp.org>
41094
41095         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
41096         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
41097         AC_LIB_HAVE_LINKFLAGS.
41098
41099 2009-04-26  Bruno Haible  <bruno@clisp.org>
41100
41101         Simplify calling convention of u*_conv_from_encoding.
41102         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
41103         u32_conv_from_encoding): Expect a resultbuf argument and return the
41104         result directly as a pointer.
41105         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
41106         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
41107         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
41108         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
41109         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
41110         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
41111         Update.
41112         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
41113         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
41114         * lib/vasnprintf.c (VASNPRINTF): Update.
41115         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
41116         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
41117         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
41118         * NEWS: Mention the change.
41119
41120 2009-04-26  Bruno Haible  <bruno@clisp.org>
41121
41122         Simplify calling convention of u*_conv_to_encoding.
41123         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
41124         u32_conv_to_encoding): Expect a resultbuf argument and return the
41125         result directly as a pointer.
41126         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
41127         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
41128         freeing scaled_offsets if mem_iconveha failed.
41129         * lib/unicase/u-casexfrm.h (FUNC): Update.
41130         * lib/uninorm/u-normxfrm.h (FUNC): Update.
41131         * lib/vasnprintf.c (VASNPRINTF): Update.
41132         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
41133         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
41134         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
41135         * NEWS: Mention the change.
41136
41137 2009-04-26  Bruno Haible  <bruno@clisp.org>
41138
41139         Avoid test failures on AIX and OSF/1.
41140         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
41141         malloc(0).
41142         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
41143         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
41144         Likewise.
41145         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
41146         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
41147         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
41148         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
41149         * doc/posix-functions/malloc.texi: Document the portability problem
41150         related to malloc(0).
41151
41152 2009-04-26  Bruno Haible  <bruno@clisp.org>
41153
41154         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
41155         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
41156         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
41157
41158 2009-04-25  Bruno Haible  <bruno@clisp.org>
41159
41160         Avoid link error when creating a namespace clean library.
41161         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
41162         as macro with arguments if already defined as an alias.
41163         * lib/signbitf.c (gl_signbitf): Don't undefine.
41164         * lib/signbitd.c (gl_signbitd): Don't undefine.
41165         * lib/signbitl.c (gl_signbitl): Don't undefine.
41166
41167 2009-04-25  Jim Meyering  <meyering@redhat.com>
41168
41169         vc-list-files: fix another quoting bug
41170         * build-aux/vc-list-files: Avoid sed backslash expansion
41171         of pathological directory names.
41172
41173 2009-04-25  Eric Blake  <ebb9@byu.net>
41174
41175         vc-list-files: fix shell quoting error
41176         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
41177         timestamp.
41178
41179 2009-04-25  Jim Meyering  <meyering@redhat.com>
41180
41181         vc-list-files: restore lost functionality with subdir argument
41182         * build-aux/vc-list-files: When given a non-"." sub-directory
41183         argument, substitute the $dir/ prefix back onto each resulting name.
41184         Otherwise, coreutils' root_tests check would fail.
41185
41186 2009-04-24  Eric Blake  <ebb9@byu.net>
41187
41188         vc-list-files: ignore git symlinks
41189         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
41190         than ls-files, to ignore git symlinks.
41191
41192         maint.mk: import improvements from m4
41193         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
41194         (move_if_change): Delete unused macro.
41195         (news-date-check, vc-diff-check): Support VPATH builds.
41196         (announcement): Likewise.  Split --bootstrap-tools list...
41197         (boostrap-tools): ...into separate list, which can be overridden
41198         in cfg.mk.
41199         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
41200         requiring dependency on useless-if-before-free module.
41201         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
41202         Support VPATH builds.
41203
41204 2009-04-24  Jim Meyering  <meyering@redhat.com>
41205
41206         maint.mk: remove coreutils-specific rules and variables
41207         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
41208         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
41209         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
41210
41211         maint.mk: remove obsolete rule
41212         * top/maint.mk (rel-check): Remove rule.
41213         (WGET, WGETFLAGS): Remove now-unused variables.
41214
41215 2009-04-24  Simon Josefsson  <simon@josefsson.org>
41216
41217         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
41218         consistency.
41219
41220         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
41221         '$(PATH_SEPARATOR)' instead of ':'.
41222
41223 2009-04-24  Simon Josefsson  <simon@josefsson.org>
41224
41225         * lib/getopt1.c (main): Use 'const' for static array.
41226
41227 2009-04-24  Simon Josefsson  <simon@josefsson.org>
41228
41229         * top/maint.mk: Sync with coreutils.
41230         * NEWS: Explain incompatibilities.
41231
41232 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41233             Bruno Haible  <bruno@clisp.org>
41234
41235         Fix cross-compilation results.
41236         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
41237         statement, as third argument of AC_TRY_RUN.
41238         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
41239         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
41240         Likewise.
41241         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
41242         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
41243         Likewise.
41244         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
41245         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
41246         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
41247
41248 2009-04-20  Bruno Haible  <bruno@clisp.org>
41249
41250         Avoid test failure on mingw.
41251         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
41252
41253 2009-04-20  Bruno Haible  <bruno@clisp.org>
41254
41255         Avoid compilation error on mingw.
41256         * modules/localename-tests (Depends-on): Add locale.
41257
41258 2009-04-19  Bruno Haible  <bruno@clisp.org>
41259
41260         Support for building a shared library on Windows platforms.
41261         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
41262         (main): Test the presence of UNINORM_NFC here.
41263         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
41264         (main): Test the presence of UNINORM_NFD here.
41265         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
41266         (main): Test the presence of UNINORM_NFKC here.
41267         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
41268         (main): Test the presence of UNINORM_NFKD here.
41269
41270 2009-04-19  Bruno Haible  <bruno@clisp.org>
41271
41272         Avoid a compiler warning.
41273         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
41274         Change type of variable 'sequence'.
41275
41276 2009-04-19  Bruno Haible  <bruno@clisp.org>
41277
41278         * modules/configmake (Makefile.am): When the contents of configmake.h
41279         does not change, arrange to preserve its modification time.
41280
41281 2009-04-17  Simon Josefsson  <simon@josefsson.org>
41282
41283         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
41284         gettext domain.
41285
41286 2009-04-16  Jim Meyering  <meyering@redhat.com>
41287
41288         useless-if-before-free: improve conversion code
41289         * build-aux/useless-if-before-free: Adjust code-in-comment to match
41290         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
41291
41292 2009-04-14  Bruno Haible  <bruno@clisp.org>
41293
41294         * modules/fcntl (Depends-on): Add extensions.
41295         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
41296
41297 2009-04-12  Ben Pfaff  <blp@gnu.org>
41298
41299         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
41300         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
41301
41302 2009-03-20  Ben Pfaff  <blp@gnu.org>
41303
41304         Make rename replace existing destinations on Windows.
41305         * m4/rename.m4: Add test for Mingw.
41306         * lib/rename.c: Add rename replacement that uses MoveFileEx with
41307         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
41308         * doc/posix-functions/rename.texi: Document.
41309
41310 2009-04-10  Bruno Haible  <bruno@clisp.org>
41311
41312         New include file "iconveh.h".
41313         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
41314         * lib/striconveh.h: Include it.
41315         (enum iconv_ilseq_handler): Remove definition.
41316         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
41317         striconveh.h.
41318         * lib/striconveha.c: Include striconveh.h.
41319         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
41320         * modules/striconveh (Files): Add lib/iconveh.h.
41321         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
41322         lib/striconveh.h.
41323
41324 2009-04-10  Bruno Haible  <bruno@clisp.org>
41325
41326         * lib/uniconv.h: Update comment.
41327
41328 2009-04-10  Bruno Haible  <bruno@clisp.org>
41329
41330         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
41331         always.
41332         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
41333         * lib/unistr/u16-mbtouc-aux.c: Likewise.
41334         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
41335         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
41336         "unistring-notinline.h", so that the function gets defined always.
41337         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
41338         * lib/unistr/u8-uctomb.c: Likewise.
41339         * lib/unistr/u16-mbtouc.c: Likewise.
41340         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
41341         * lib/unistr/u16-uctomb.c: Likewise.
41342         * lib/unistr/u32-mbtouc.c: Likewise.
41343         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
41344         * lib/unistr/u32-uctomb.c: Likewise.
41345
41346 2009-04-10  Bruno Haible  <bruno@clisp.org>
41347
41348         Mark 'utime' obsolete.
41349         * modules/utime (Status, Notice): New sections.
41350         Suggested by Jim Meyering.
41351
41352         Fix cross-compile guess for utime test.
41353         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
41354         autoconf.
41355         * doc/posix-functions/utime.texi: Give more precisions.
41356         Reported by Jan <ipif@ymail.com>.
41357
41358 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
41359
41360         filevercmp: correct today's change
41361         * lib/filevercmp.c: Also handle coreutils' test inputs.
41362         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
41363
41364         Fix regression in 'filevercmp' module. Thanks Sven Joachim
41365         for reporting it.
41366         * lib/filevercmp.c: Special handle for "", "." and "..".
41367         * tests/test-filevercmp.c: Enlarge the set suite.
41368
41369 2009-04-07  Jim Meyering  <meyering@redhat.com>
41370
41371         useless-if-before-free: show how to remove braced useless free, too
41372         * build-aux/useless-if-before-free: still only in a comment, though.
41373
41374 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
41375
41376         maint.mk: import changes to syntax-check macros from coreutils
41377         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
41378         Use them in the relevant macros.
41379
41380 2009-04-06  Bruno Haible  <bruno@clisp.org>
41381
41382         Fix unportable use of bit-fields.
41383         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
41384         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
41385         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
41386
41387 2009-04-06  Bruno Haible  <bruno@clisp.org>
41388
41389         Avoid test failures on AIX and OSF/1.
41390         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
41391         that malloc(0) = NULL.
41392         * tests/unicase/test-u8-tolower.c (check): Likewise.
41393         * tests/unicase/test-u8-totitle.c (check): Likewise.
41394         * tests/unicase/test-u8-toupper.c (check): Likewise.
41395         * tests/unicase/test-u16-casefold.c (check): Likewise.
41396         * tests/unicase/test-u16-tolower.c (check): Likewise.
41397         * tests/unicase/test-u16-totitle.c (check): Likewise.
41398         * tests/unicase/test-u16-toupper.c (check): Likewise.
41399         * tests/unicase/test-u32-casefold.c (check): Likewise.
41400         * tests/unicase/test-u32-tolower.c (check): Likewise.
41401         * tests/unicase/test-u32-totitle.c (check): Likewise.
41402         * tests/unicase/test-u32-toupper.c (check): Likewise.
41403         * tests/uninorm/test-u8-nfc.c (check): Likewise.
41404         * tests/uninorm/test-u8-nfd.c (check): Likewise.
41405         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
41406         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
41407         * tests/uninorm/test-u16-nfc.c (check): Likewise.
41408         * tests/uninorm/test-u16-nfd.c (check): Likewise.
41409         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
41410         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
41411         * tests/uninorm/test-u32-nfc.c (check): Likewise.
41412         * tests/uninorm/test-u32-nfd.c (check): Likewise.
41413         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
41414         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
41415
41416 2009-04-05  Bruno Haible  <bruno@clisp.org>
41417
41418         Work around an autoconf limitation.
41419         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
41420         comment line if it would be longer than 3 KB.
41421
41422 2009-04-05  Bruno Haible  <bruno@clisp.org>
41423
41424         Avoid test failure with libiconv-1.13.
41425         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
41426         of the expected test results.
41427
41428 2009-04-05  Bruno Haible  <bruno@clisp.org>
41429
41430         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
41431         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
41432         that it should be installed.
41433
41434 2009-04-05  Bruno Haible  <bruno@clisp.org>
41435
41436         * gnulib-tool: New option --copy-file.
41437         (func_usage): Document it.
41438         (func_dest_tmpfilename): Moved out of func_import.
41439         (func_add_file, func_update_file): New functions, extracted from
41440         func_import.
41441         (func_import): Update.
41442
41443 2009-04-05  Karl Berry  <karl@gnu.org>
41444
41445         * README: prominently mention gnulib-tool.
41446         Rearrange sections so getting the code is near the top.
41447
41448 2009-04-05  Bruno Haible  <bruno@clisp.org>
41449
41450         * lib/unicase.h: Mention u*_cmp2.
41451         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
41452         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
41453         * lib/unicase/ulc-casecmp.c: Likewise.
41454         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
41455         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
41456         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
41457         unistr/u8-cmp.
41458         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
41459         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
41460         unistr/u16-cmp.
41461         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
41462         unistr/u32-cmp.
41463
41464         * lib/uninorm.h: Mention u*_cmp2.
41465         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
41466         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
41467         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
41468         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
41469         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
41470         unistr/u8-cmp.
41471         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
41472         unistr/u16-cmp.
41473         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
41474         unistr/u32-cmp.
41475
41476         New module 'unistr/u32-cmp2'.
41477         * lib/unistr/u32-cmp2.c: New file.
41478         * modules/unistr/u32-cmp2: New file.
41479
41480         New module 'unistr/u16-cmp2'.
41481         * lib/unistr/u16-cmp2.c: New file.
41482         * modules/unistr/u16-cmp2: New file.
41483
41484         New module 'unistr/u8-cmp2'.
41485         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
41486         * lib/unistr/u8-cmp2.c: New file.
41487         * lib/unistr/u-cmp2.h: New file.
41488         * modules/unistr/u8-cmp2: New file.
41489
41490 2009-04-05  Bruno Haible  <bruno@clisp.org>
41491
41492         * lib/unictype.h (uc_property_is_valid): New macro.
41493         * tests/unictype/test-pr_byname.c (main): Use it.
41494
41495         * lib/unistr.h: Doc fixes.
41496         * lib/uniconv.h: Doc fixes.
41497         * lib/unictype.h: Doc fixes.
41498
41499 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
41500
41501         Port coreutils 7.2 to Solaris 8.
41502
41503         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
41504         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
41505         for Solaris 8.  This is a bit of a hack, as it means it's the
41506         caller's responsibility to add -lnsl if needed, but most likely it
41507         won't be needed since only getaddrinfo uses this and getaddrinfo
41508         isn't needed on Solaris 8.
41509
41510         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
41511         problem to Solaris 8 encountered with coreutils 7.2, which
41512         resulted in a message "fnmatch.c:292: warning: passing argument 4
41513         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
41514         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
41515
41516 2009-04-03  Simon Josefsson  <simon@josefsson.org>
41517
41518         * m4/ld-version-script.m4: Add FIXME comment.
41519
41520 2009-04-02  Simon Josefsson  <simon@josefsson.org>
41521
41522         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
41523         SOVERSION variable.
41524
41525 2009-04-02  Bruno Haible  <bruno@clisp.org>
41526
41527         * Makefile (info, html, dvi, pdf): Combine the rules.
41528         Suggested by Jim Meyering.
41529
41530 2009-04-01  Bruno Haible  <bruno@clisp.org>
41531
41532         * Makefile (info, html, dvi, pdf): New targets.
41533         Reported by Reuben Thomas <rrt@sc3d.org>.
41534
41535 2009-04-01  Bruno Haible  <bruno@clisp.org>
41536
41537         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
41538         can be put into PATH.
41539         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
41540
41541 2009-04-01  Bruno Haible  <bruno@clisp.org>
41542
41543         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
41544
41545 2009-04-01  Bruno Haible  <bruno@clisp.org>
41546
41547         Rename module 'visibility'.
41548         * modules/lib-symbol-visibility: Renamed from modules/visibility.
41549         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
41550         * doc/gnulib.texi: Update.
41551         * MODULES.html.sh (Misc): Update.
41552         * NEWS: Mention the change.
41553
41554 2009-04-01  Simon Josefsson  <simon@josefsson.org>
41555
41556         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
41557         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
41558         Eric Blake <ebb9@byu.net> for review.
41559         * MODULES.html.sh: Add lib-msvc-compat.
41560         * doc/gnulib.texi: Link to new section.
41561         * m4/ld-output-def.m4: New file.
41562         * doc/ld-output-def.texi: New file.
41563
41564 2009-04-01  Simon Josefsson  <simon@josefsson.org>
41565
41566         Rename ld-version-script to lib-symbol-versions.  Suggested by
41567         Bruno Haible <bruno@clisp.org>.
41568         * modules/ld-version-script: Renamed to lib-symbol-versions.
41569         * doc/ld-version-script.texi: Fix module name.
41570         * MODULES.html.sh: Add lib-symbol-versions.
41571
41572 2009-03-31  Simon Josefsson  <simon@josefsson.org>
41573
41574         * modules/u64-tests: New file.
41575         * tests/test-u64.c: New file.
41576
41577 2009-03-04  Simon Josefsson  <simon@josefsson.org>
41578
41579         * MODULES.html.sh: Mention u64.
41580         * modules/u64: New module.
41581         * modules/crypto/sha512: Depend on u64 module instead of providing
41582         u64.h.
41583
41584 2009-03-27  Eric Blake  <ebb9@byu.net>
41585
41586         test-strerror: make debugging EAI_SYSTEM easier
41587         * modules/getaddrinfo-tests (Depends-on): Add strerror.
41588         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
41589         failure was EAI_SYSTEM.
41590
41591 2009-03-25  Bruno Haible  <bruno@clisp.org>
41592
41593         Fix a problem with --enable-relocatable on Solaris 7.
41594         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
41595         since 2008-02-24.
41596
41597 2009-03-25  Eric Blake  <ebb9@byu.net>
41598
41599         test-sockets: avoid gcc warning
41600         * tests/test-sockets.c (main): Silence compiler warning.
41601
41602 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
41603
41604         New modules nproc, pthread, contributed by Glen Lenker.
41605
41606         * MODULES.html.sh: Add pthread, nproc.
41607         * lib/nproc.c: New file.
41608         * lib/nproc.h: New file.
41609         * lib/pthread.in.h: New file.
41610         * m4/pthread.m4: New file.
41611         * modules/nproc: New file.
41612         * modules/pthread: New file.
41613
41614 2009-03-24  Simon Josefsson  <simon@josefsson.org>
41615
41616         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
41617         New variable.
41618
41619 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
41620
41621         filevercmp: handle simple~ and numbered.~3~ backup suffixes
41622         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
41623         * tests/test-filevercmp.c: Add tests for backup suffixes.
41624
41625 2009-03-24  Simon Josefsson  <simon@josefsson.org>
41626
41627         * modules/stdlib (Depends-on): Add stdint, needed when defining
41628         struct random_data on, for example, HP-UX 10.20.  Reported by
41629         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41630
41631 2009-03-24  Simon Josefsson  <simon@josefsson.org>
41632
41633         * lib/readline.c (readline): Call fflush on stdout after printing
41634         prompt.
41635
41636 2009-03-20  Bruno Haible  <bruno@clisp.org>
41637
41638         Remove dependency from 'close' module to -lws2_32 on native Windows.
41639         * lib/close-hook.h: New file.
41640         * lib/close-hook.c: New file.
41641         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
41642         w32sock.h.
41643         (_gl_close_fd_maybe_socket): Remove function.
41644         (rpl_close): Invoke execute_all_close_hooks instead of
41645         _gl_close_fd_maybe_socket.
41646         * lib/sockets.c: Include close-hook.h, w32sock.h.
41647         (close_fd_maybe_socket): New function, essentially from lib/close.c.
41648         (close_sockets_hook): New variable.
41649         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
41650         (gl_sockets_cleanup): Unregister it.
41651         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
41652         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
41653         * modules/close-hook: New file.
41654         * modules/close (Files): Remove lib/w32sock.h.
41655         (Depends-on): Add close-hook.
41656         (Link): Remove section.
41657         * modules/sockets (Files): Add lib/w32sock.h.
41658         (Depends-on): Add close-hook.
41659         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
41660         invocation.
41661         * NEWS: Mention that LIB_CLOSE is gone.
41662
41663 2009-03-23  Eric Blake  <ebb9@byu.net>
41664
41665         signal-tests: test previous patch
41666         * tests/test-signal.c: New file.
41667         * modules/signal-tests: Likewise.
41668
41669         signal.h: always support 'volatile sig_atomic_t'
41670         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
41671         (gl_SIGNAL_H_DEFAULTS): Add a default.
41672         * modules/signal (Makefile.am): Substitute if needed.
41673         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
41674         users can blindly add volatile.
41675         * doc/posix-headers/signal.texi (signal.h): Document it.
41676         Reported by Matthew Woehlke.
41677
41678 2009-03-23  Jim Meyering  <meyering@redhat.com>
41679
41680         pathmax: PATH_MAX: use pathconf only when available
41681         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
41682         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
41683         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
41684         This avoids a link failure in a PSP cross-compilation environment
41685         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
41686
41687         * lib/vasnprintf.c (divide): Fix typo in comment.
41688
41689 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41690
41691         * gnulib-tool (func_filter_filelist): Fix comment.
41692
41693 2009-03-20  Bruno Haible  <bruno@clisp.org>
41694
41695         Make sockets.h self-contained.
41696         * lib/sockets.c: Include sockets.h first.
41697         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
41698
41699 2009-03-19  Eric Blake  <ebb9@byu.net>
41700
41701         doc: mention more functions added in cygwin 1.7.0
41702         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
41703         addition.
41704         * doc/posix-functions/log2f.texi: Likewise.
41705
41706 2009-03-19  Jim Meyering  <meyering@redhat.com>
41707
41708         fsusage: avoid syntax error due to statement-before-declaration
41709         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
41710         after all declarations.  Reported by Matthew Woehlke in
41711         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
41712
41713 2009-03-18  Eric Blake  <ebb9@byu.net>
41714
41715         build-aux/compile: sync from automake
41716         * build-aux/compile: New file, from automake.
41717         * config/srclist.txt: Mention build-aux/compile.
41718
41719 2009-03-17  Bruno Haible  <bruno@clisp.org>
41720
41721         * lib/git-merge-changelog.c: Fix typo in comment.
41722         Reported by Reuben Thomas <rrt@sc3d.org>.
41723
41724 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
41725
41726         * m4/regex.m4: update and improve help for
41727         --without-included-regex.
41728
41729 2009-03-17  Simon Josefsson  <simon@josefsson.org>
41730
41731         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
41732         failure on missing include files.
41733
41734 2009-03-17  Eric Blake  <ebb9@byu.net>
41735
41736         doc: mention more functions added in cygwin 1.7.0
41737         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
41738         addition.
41739         * doc/posix-functions/fwscanf.texi: Likewise.
41740         * doc/posix-functions/swprintf.texi: Likewise.
41741         * doc/posix-functions/swscanf.texi: Likewise.
41742         * doc/posix-functions/vfwprintf.texi: Likewise.
41743         * doc/posix-functions/vfwscanf.texi: Likewise.
41744         * doc/posix-functions/vswprintf.texi: Likewise.
41745         * doc/posix-functions/vswscanf.texi: Likewise.
41746         * doc/posix-functions/vwprintf.texi: Likewise.
41747         * doc/posix-functions/vwscanf.texi: Likewise.
41748         * doc/posix-functions/wcscasecmp.texi: Likewise.
41749         * doc/posix-functions/wcsdup.texi: Likewise.
41750         * doc/posix-functions/wcsftime.texi: Likewise.
41751         * doc/posix-functions/wcsncasecmp.texi: Likewise.
41752         * doc/posix-functions/wprintf.texi: Likewise.
41753         * doc/posix-functions/wscanf.texi: Likewise.
41754         * doc/glibc-functions/gethostbyname2.texi: Likewise.
41755
41756 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41757
41758         maint.mk: really add $(AM_MAKEFLAGS)
41759         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
41760         was inadvertently omitted in the last commit.
41761         Spotted by Bruno Haible.
41762
41763         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
41764         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
41765         $(AM_MAKEFLAGS)' rather than plain `make'.
41766
41767         gnulib-tool: execute $MAKE not make
41768         * gnulib-tool: Default $MAKE to 'make'.
41769         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
41770         than make.  Initialize $MAKE in the do-autobuild script.
41771
41772         gnulib-tool: use $MAKE not make in generated files
41773         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
41774         make, in generated files.  Initialize $MAKE in the do-autobuild
41775         script.
41776
41777         * top/GNUmakefile (_have-git-version-gen): Fix typo.
41778
41779         GNUmakefile: disable parallelism only for multiple, recursive targets
41780         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
41781         additions in the Makefile.
41782         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
41783         by Automake.
41784         (.NOTPARALLEL): Only disable parallel builds if multiple targets
41785         are listed on the command line and at least one of them is
41786         listed in $(ALL_RECURSIVE_TARGETS).
41787
41788 2009-03-14  Bruno Haible  <bruno@clisp.org>
41789
41790         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
41791         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
41792         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
41793         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
41794         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
41795         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
41796         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
41797         unistr/u8-uctomb.
41798         * modules/unistr/u8-strchr (Depends-on): Likewise.
41799         * modules/unistr/u8-strrchr (Depends-on): Likewise.
41800         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
41801         unistr/u16-uctomb.
41802         * modules/unistr/u16-strchr (Depends-on): Likewise.
41803         * modules/unistr/u16-strrchr (Depends-on): Likewise.
41804
41805 2009-03-12  Bruno Haible  <bruno@clisp.org>
41806
41807         Work around select() bug on Interix 3.5.
41808         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
41809         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
41810         * m4/select.m4: New file.
41811         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
41812         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
41813         * modules/select (Files): Add m4/select.m4.
41814         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
41815         * modules/nanosleep (Depends-on): Add select.
41816         * modules/poll (Depends-on): Likewise.
41817         * doc/posix-functions/select.texi: Mention the Interix bug.
41818         Reported by Markus Duft <mduft@gentoo.org>.
41819
41820         * lib/select.c: Renamed from lib/winsock-select.c.
41821         * modules/select (Files): Add lib/select.c, remove
41822         lib/winsock-select.c.
41823         (configure.ac): Update.
41824
41825 2009-03-12  Jim Meyering  <meyering@redhat.com>
41826
41827         avoid gcc warnings about unused macro definitions
41828         * lib/readtokens.c (STREQ): Remove unused definition.
41829         * lib/xmalloc.c (SIZE_MAX): Likewise.
41830         * lib/openat-die.c (N_): Likewise.
41831         * lib/mountlist.c (SIZE_MAX): Remove definition.
41832         Instead, include <stdint.h>.
41833         * lib/readutmp.c: Likewise.
41834         * modules/readutmp (Depends-on): Add stdint.
41835         * modules/mountlist (Depends-on): Add stdint.
41836         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
41837
41838 2009-03-10  Bruno Haible  <bruno@clisp.org>
41839
41840         Tests for module 'mbmemcasecoll'.
41841         * modules/mbmemcasecoll-tests: New file.
41842         * tests/test-mbmemcasecoll1.sh: New file.
41843         * tests/test-mbmemcasecoll2.sh: New file.
41844         * tests/test-mbmemcasecoll3.sh: New file.
41845         * tests/test-mbmemcasecoll.c: New file.
41846
41847         New module 'mbmemcasecoll'.
41848         * lib/mbmemcasecoll.h: New file.
41849         * lib/mbmemcasecoll.c: New file.
41850         * modules/mbmemcasecoll: New file.
41851
41852         * tests/test-mbmemcasecmp.h: New file, extracted from
41853         tests/test-mbmemcasecmp.c.
41854         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
41855         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
41856         (main): Update.
41857         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
41858
41859 2009-03-09  Bruno Haible  <bruno@clisp.org>
41860
41861         Tests for module 'mbmemcasecmp'.
41862         * modules/mbmemcasecmp-tests: New file.
41863         * tests/test-mbmemcasecmp1.sh: New file.
41864         * tests/test-mbmemcasecmp2.sh: New file.
41865         * tests/test-mbmemcasecmp3.sh: New file.
41866         * tests/test-mbmemcasecmp.c: New file.
41867
41868         New module 'mbmemcasecmp'.
41869         * lib/mbmemcasecmp.h: New file.
41870         * lib/mbmemcasecmp.c: New file.
41871         * modules/mbmemcasecmp: New file.
41872
41873 2009-03-09  Bruno Haible  <bruno@clisp.org>
41874
41875         Tests for module 'unicase/ulc-casecoll'.
41876         * modules/unicase/ulc-casecoll-tests: New file.
41877         * tests/unicase/test-ulc-casecoll1.sh: New file.
41878         * tests/unicase/test-ulc-casecoll2.sh: New file.
41879         * tests/unicase/test-ulc-casecoll.c: New file.
41880
41881         New module 'unicase/ulc-casecoll'.
41882         * lib/unicase.h (ulc_casecoll): New declaration.
41883         * lib/unicase/ulc-casecoll.c: New file.
41884         * modules/unicase/ulc-casecoll: New file.
41885
41886         New module 'unicase/ulc-casexfrm'.
41887         * lib/unicase.h (ulc_casexfrm): New declaration.
41888         * lib/unicase/ulc-casexfrm.c: New file.
41889         * modules/unicase/ulc-casexfrm: New file.
41890
41891 2009-03-09  Bruno Haible  <bruno@clisp.org>
41892
41893         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
41894         invocations.
41895
41896         * m4/mbscasecmp.m4: Remove file.
41897         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
41898         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
41899
41900         * m4/mbscasestr.m4: Remove file.
41901         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
41902         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
41903
41904         * m4/mbschr.m4: Remove file.
41905         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
41906         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
41907
41908         * m4/mbscspn.m4: Remove file.
41909         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
41910         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
41911
41912         * m4/mbslen.m4: Remove file.
41913         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
41914         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
41915
41916         * m4/mbsncasecmp.m4: Remove file.
41917         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
41918         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
41919
41920         * m4/mbsnlen.m4: Remove file.
41921         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
41922         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
41923
41924         * m4/mbspbrk.m4: Remove file.
41925         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
41926         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
41927
41928         * m4/mbspcasecmp.m4: Remove file.
41929         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
41930         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
41931
41932         * m4/mbsrchr.m4: Remove file.
41933         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
41934         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
41935
41936         * m4/mbssep.m4: Remove file.
41937         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
41938         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
41939
41940         * m4/mbsspn.m4: Remove file.
41941         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
41942         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
41943
41944         * m4/mbsstr.m4: Remove file.
41945         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
41946         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
41947
41948         * m4/mbstok_r.m4: Remove file.
41949         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
41950         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
41951
41952         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
41953
41954         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
41955         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
41956
41957         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
41958
41959 2009-03-08  Bruno Haible  <bruno@clisp.org>
41960
41961         Tests for module 'unicase/ulc-casecmp'.
41962         * modules/unicase/ulc-casecmp-tests: New file.
41963         * tests/unicase/test-ulc-casecmp1.sh: New file.
41964         * tests/unicase/test-ulc-casecmp2.sh: New file.
41965         * tests/unicase/test-ulc-casecmp.c: New file.
41966
41967         New module 'unicase/ulc-casecmp'.
41968         * lib/unicase.h (ulc_casecmp): New declaration.
41969         * lib/unicase/ulc-casecmp.c: New file.
41970         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
41971         'const SRC_UNIT *'.
41972         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
41973         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
41974         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
41975         * modules/unicase/ulc-casecmp: New file.
41976
41977         Tests for module 'unicase/u32-is-cased'.
41978         * modules/unicase/u32-is-cased-tests: New file.
41979         * tests/unicase/test-u32-is-cased.c: New file.
41980
41981         Tests for module 'unicase/u16-is-cased'.
41982         * modules/unicase/u16-is-cased-tests: New file.
41983         * tests/unicase/test-u16-is-cased.c: New file.
41984
41985         Tests for module 'unicase/u8-is-cased'.
41986         * modules/unicase/u8-is-cased-tests: New file.
41987         * tests/unicase/test-u8-is-cased.c: New file.
41988         * tests/unicase/test-is-cased.h: New file.
41989
41990         New module 'unicase/u32-is-cased'.
41991         * lib/unicase/u32-is-cased.c: New file.
41992         * modules/unicase/u32-is-cased: New file.
41993
41994         New module 'unicase/u16-is-cased'.
41995         * lib/unicase/u16-is-cased.c: New file.
41996         * modules/unicase/u16-is-cased: New file.
41997
41998         New module 'unicase/u8-is-cased'.
41999         * lib/unicase/u8-is-cased.c: New file.
42000         * lib/unicase/u-is-cased.h: New file.
42001         * modules/unicase/u8-is-cased: New file.
42002
42003         Tests for module 'unicase/u32-is-casefolded'.
42004         * modules/unicase/u32-is-casefolded-tests: New file.
42005         * tests/unicase/test-u32-is-casefolded.c: New file.
42006
42007         Tests for module 'unicase/u16-is-casefolded'.
42008         * modules/unicase/u16-is-casefolded-tests: New file.
42009         * tests/unicase/test-u16-is-casefolded.c: New file.
42010
42011         Tests for module 'unicase/u8-is-casefolded'.
42012         * modules/unicase/u8-is-casefolded-tests: New file.
42013         * tests/unicase/test-u8-is-casefolded.c: New file.
42014         * tests/unicase/test-is-casefolded.h: New file.
42015
42016         New module 'unicase/u32-is-casefolded'.
42017         * lib/unicase/u32-is-casefolded.c: New file.
42018         * modules/unicase/u32-is-casefolded: New file.
42019
42020         New module 'unicase/u16-is-casefolded'.
42021         * lib/unicase/u16-is-casefolded.c: New file.
42022         * modules/unicase/u16-is-casefolded: New file.
42023
42024         New module 'unicase/u8-is-casefolded'.
42025         * lib/unicase/u8-is-casefolded.c: New file.
42026         * modules/unicase/u8-is-casefolded: New file.
42027
42028         Tests for module 'unicase/u32-is-titlecase'.
42029         * modules/unicase/u32-is-titlecase-tests: New file.
42030         * tests/unicase/test-u32-is-titlecase.c: New file.
42031
42032         Tests for module 'unicase/u16-is-titlecase'.
42033         * modules/unicase/u16-is-titlecase-tests: New file.
42034         * tests/unicase/test-u16-is-titlecase.c: New file.
42035
42036         Tests for module 'unicase/u8-is-titlecase'.
42037         * modules/unicase/u8-is-titlecase-tests: New file.
42038         * tests/unicase/test-u8-is-titlecase.c: New file.
42039         * tests/unicase/test-is-titlecase.h: New file.
42040
42041         New module 'unicase/u32-is-titlecase'.
42042         * lib/unicase/u32-is-titlecase.c: New file.
42043         * modules/unicase/u32-is-titlecase: New file.
42044
42045         New module 'unicase/u16-is-titlecase'.
42046         * lib/unicase/u16-is-titlecase.c: New file.
42047         * modules/unicase/u16-is-titlecase: New file.
42048
42049         New module 'unicase/u8-is-titlecase'.
42050         * lib/unicase/u8-is-titlecase.c: New file.
42051         * modules/unicase/u8-is-titlecase: New file.
42052
42053         Tests for module 'unicase/u32-is-lowercase'.
42054         * modules/unicase/u32-is-lowercase-tests: New file.
42055         * tests/unicase/test-u32-is-lowercase.c: New file.
42056
42057         Tests for module 'unicase/u16-is-lowercase'.
42058         * modules/unicase/u16-is-lowercase-tests: New file.
42059         * tests/unicase/test-u16-is-lowercase.c: New file.
42060
42061         Tests for module 'unicase/u8-is-lowercase'.
42062         * modules/unicase/u8-is-lowercase-tests: New file.
42063         * tests/unicase/test-u8-is-lowercase.c: New file.
42064         * tests/unicase/test-is-lowercase.h: New file.
42065
42066         New module 'unicase/u32-is-lowercase'.
42067         * lib/unicase/u32-is-lowercase.c: New file.
42068         * modules/unicase/u32-is-lowercase: New file.
42069
42070         New module 'unicase/u16-is-lowercase'.
42071         * lib/unicase/u16-is-lowercase.c: New file.
42072         * modules/unicase/u16-is-lowercase: New file.
42073
42074         New module 'unicase/u8-is-lowercase'.
42075         * lib/unicase/u8-is-lowercase.c: New file.
42076         * modules/unicase/u8-is-lowercase: New file.
42077
42078         Tests for module 'unicase/u32-is-uppercase'.
42079         * modules/unicase/u32-is-uppercase-tests: New file.
42080         * tests/unicase/test-u32-is-uppercase.c: New file.
42081
42082         Tests for module 'unicase/u16-is-uppercase'.
42083         * modules/unicase/u16-is-uppercase-tests: New file.
42084         * tests/unicase/test-u16-is-uppercase.c: New file.
42085
42086         Tests for module 'unicase/u8-is-uppercase'.
42087         * modules/unicase/u8-is-uppercase-tests: New file.
42088         * tests/unicase/test-u8-is-uppercase.c: New file.
42089         * tests/unicase/test-is-uppercase.h: New file.
42090
42091         New module 'unicase/u32-is-uppercase'.
42092         * lib/unicase/u32-is-uppercase.c: New file.
42093         * modules/unicase/u32-is-uppercase: New file.
42094
42095         New module 'unicase/u16-is-uppercase'.
42096         * lib/unicase/u16-is-uppercase.c: New file.
42097         * modules/unicase/u16-is-uppercase: New file.
42098
42099         New module 'unicase/u8-is-uppercase'.
42100         * lib/unicase/u8-is-uppercase.c: New file.
42101         * modules/unicase/u8-is-uppercase: New file.
42102
42103         New module 'unicase/u32-is-invariant'.
42104         * lib/unicase/u32-is-invariant.c: New file.
42105         * modules/unicase/u32-is-invariant: New file.
42106
42107         New module 'unicase/u16-is-invariant'.
42108         * lib/unicase/u16-is-invariant.c: New file.
42109         * modules/unicase/u16-is-invariant: New file.
42110
42111         New module 'unicase/u8-is-invariant'.
42112         * lib/unicase/u8-is-invariant.c: New file.
42113         * lib/unicase/invariant.h: New file.
42114         * lib/unicase/u-is-invariant.h: New file.
42115         * modules/unicase/u8-is-invariant: New file.
42116
42117         Tests for module 'unicase/u32-casecoll'.
42118         * modules/unicase/u32-casecoll-tests: New file.
42119         * tests/unicase/test-u32-casecoll.c: New file.
42120
42121         Tests for module 'unicase/u16-casecoll'.
42122         * modules/unicase/u16-casecoll-tests: New file.
42123         * tests/unicase/test-u16-casecoll.c: New file.
42124
42125         Tests for module 'unicase/u8-casecoll'.
42126         * modules/unicase/u8-casecoll-tests: New file.
42127         * tests/unicase/test-u8-casecoll.c: New file.
42128
42129         New module 'unicase/u32-casecoll'.
42130         * lib/unicase/u32-casecoll.c: New file.
42131         * modules/unicase/u32-casecoll: New file.
42132
42133         New module 'unicase/u16-casecoll'.
42134         * lib/unicase/u16-casecoll.c: New file.
42135         * modules/unicase/u16-casecoll: New file.
42136
42137         New module 'unicase/u8-casecoll'.
42138         * lib/unicase/u8-casecoll.c: New file.
42139         * lib/unicase/u-casecoll.h: New file.
42140         * modules/unicase/u8-casecoll: New file.
42141
42142         New module 'unicase/u32-casexfrm'.
42143         * lib/unicase/u32-casexfrm.c: New file.
42144         * modules/unicase/u32-casexfrm: New file.
42145
42146         New module 'unicase/u16-casexfrm'.
42147         * lib/unicase/u16-casexfrm.c: New file.
42148         * modules/unicase/u16-casexfrm: New file.
42149
42150         New module 'unicase/u8-casexfrm'.
42151         * lib/unicase/u8-casexfrm.c: New file.
42152         * lib/unicase/u-casexfrm.h: New file.
42153         * modules/unicase/u8-casexfrm: New file.
42154
42155         Tests for module 'unicase/u32-casecmp'.
42156         * modules/unicase/u32-casecmp-tests: New file.
42157         * tests/unicase/test-u32-casecmp.c: New file.
42158
42159         Tests for module 'unicase/u16-casecmp'.
42160         * modules/unicase/u16-casecmp-tests: New file.
42161         * tests/unicase/test-u16-casecmp.c: New file.
42162
42163         Tests for module 'unicase/u8-casecmp'.
42164         * modules/unicase/u8-casecmp-tests: New file.
42165         * tests/unicase/test-u8-casecmp.c: New file.
42166         * tests/unicase/test-casecmp.h: New file.
42167
42168         New module 'unicase/u32-casecmp'.
42169         * lib/unicase/u32-casecmp.c: New file.
42170         * modules/unicase/u32-casecmp: New file.
42171
42172         New module 'unicase/u16-casecmp'.
42173         * lib/unicase/u16-casecmp.c: New file.
42174         * modules/unicase/u16-casecmp: New file.
42175
42176         New module 'unicase/u8-casecmp'.
42177         * lib/unicase/u8-casecmp.c: New file.
42178         * lib/unicase/u-casecmp.h: New file.
42179         * modules/unicase/u8-casecmp: New file.
42180
42181         Tests for module 'unicase/u32-casefold'.
42182         * modules/unicase/u32-casefold-tests: New file.
42183         * tests/unicase/test-u32-casefold.c: New file.
42184
42185         Tests for module 'unicase/u16-casefold'.
42186         * modules/unicase/u16-casefold-tests: New file.
42187         * tests/unicase/test-u16-casefold.c: New file.
42188
42189         Tests for module 'unicase/u8-casefold'.
42190         * modules/unicase/u8-casefold-tests: New file.
42191         * tests/unicase/test-u8-casefold.c: New file.
42192
42193         New module 'unicase/u32-casefold'.
42194         * lib/unicase/u32-casefold.c: New file.
42195         * modules/unicase/u32-casefold: New file.
42196
42197         New module 'unicase/u16-casefold'.
42198         * lib/unicase/u16-casefold.c: New file.
42199         * modules/unicase/u16-casefold: New file.
42200
42201         New module 'unicase/u8-casefold'.
42202         * lib/unicase/u8-casefold.c: New file.
42203         * lib/unicase/u-casefold.h: New file.
42204         * modules/unicase/u8-casefold: New file.
42205
42206         New module 'unicase/tocasefold'.
42207         * lib/unicase/casefold.h: New file.
42208         * lib/unicase/tocasefold.c: New file.
42209         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
42210         * modules/unicase/tocasefold: New file.
42211
42212         Tests for module 'unicase/u32-totitle'.
42213         * modules/unicase/u32-totitle-tests: New file.
42214         * tests/unicase/test-u32-totitle.c: New file.
42215
42216         Tests for module 'unicase/u16-totitle'.
42217         * modules/unicase/u16-totitle-tests: New file.
42218         * tests/unicase/test-u16-totitle.c: New file.
42219
42220         Tests for module 'unicase/u8-totitle'.
42221         * modules/unicase/u8-totitle-tests: New file.
42222         * tests/unicase/test-u8-totitle.c: New file.
42223
42224         New module 'unicase/u32-totitle'.
42225         * lib/unicase/u32-totitle.c: New file.
42226         * modules/unicase/u32-totitle: New file.
42227
42228         New module 'unicase/u16-totitle'.
42229         * lib/unicase/u16-totitle.c: New file.
42230         * modules/unicase/u16-totitle: New file.
42231
42232         New module 'unicase/u8-totitle'.
42233         * lib/unicase/u8-totitle.c: New file.
42234         * lib/unicase/u-totitle.h: New file.
42235         * modules/unicase/u8-totitle: New file.
42236
42237         Tests for module 'unicase/u32-tolower'.
42238         * modules/unicase/u32-tolower-tests: New file.
42239         * tests/unicase/test-u32-tolower.c: New file.
42240
42241         Tests for module 'unicase/u16-tolower'.
42242         * modules/unicase/u16-tolower-tests: New file.
42243         * tests/unicase/test-u16-tolower.c: New file.
42244
42245         Tests for module 'unicase/u8-tolower'.
42246         * modules/unicase/u8-tolower-tests: New file.
42247         * tests/unicase/test-u8-tolower.c: New file.
42248
42249         New module 'unicase/u32-tolower'.
42250         * lib/unicase/u32-tolower.c: New file.
42251         * modules/unicase/u32-tolower: New file.
42252
42253         New module 'unicase/u16-tolower'.
42254         * lib/unicase/u16-tolower.c: New file.
42255         * modules/unicase/u16-tolower: New file.
42256
42257         New module 'unicase/u8-tolower'.
42258         * lib/unicase/u8-tolower.c: New file.
42259         * modules/unicase/u8-tolower: New file.
42260
42261         Tests for module 'unicase/u32-toupper'.
42262         * modules/unicase/u32-toupper-tests: New file.
42263         * tests/unicase/test-u32-toupper.c: New file.
42264
42265         Tests for module 'unicase/u16-toupper'.
42266         * modules/unicase/u16-toupper-tests: New file.
42267         * tests/unicase/test-u16-toupper.c: New file.
42268
42269         Tests for module 'unicase/u8-toupper'.
42270         * modules/unicase/u8-toupper-tests: New file.
42271         * tests/unicase/test-u8-toupper.c: New file.
42272
42273         New module 'unicase/u32-toupper'.
42274         * lib/unicase/u32-toupper.c: New file.
42275         * modules/unicase/u32-toupper: New file.
42276
42277         New module 'unicase/u16-toupper'.
42278         * lib/unicase/u16-toupper.c: New file.
42279         * modules/unicase/u16-toupper: New file.
42280
42281         New module 'unicase/u8-toupper'.
42282         * lib/unicase/u8-toupper.c: New file.
42283         * modules/unicase/u8-toupper: New file.
42284
42285         New module 'unicase/u32-casemap'.
42286         * lib/unicase/u32-casemap.c: New file.
42287         * modules/unicase/u32-casemap: New file.
42288
42289         New module 'unicase/u16-casemap'.
42290         * lib/unicase/u16-casemap.c: New file.
42291         * modules/unicase/u16-casemap: New file.
42292
42293         New module 'unicase/u8-casemap'.
42294         * lib/unicase/unicasemap.h: New file.
42295         * lib/unicase/u8-casemap.c: New file.
42296         * lib/unicase/u-casemap.h: New file.
42297         * modules/unicase/u8-casemap: New file.
42298
42299         New module 'unicase/special-casing'.
42300         * lib/unicase/special-casing.h: New file.
42301         * lib/unicase/special-casing.c: New file.
42302         * lib/unicase/special-casing-table.gperf: New file, generated by
42303         gen-uni-tables.c.
42304         * modules/unicase/special-casing: New file.
42305
42306         Tests for module 'unicase/locale-language'.
42307         * modules/unicase/locale-language-tests: New file.
42308         * tests/unicase/test-locale-language.sh: New file.
42309         * tests/unicase/test-locale-language.c: New file.
42310
42311         New module 'unicase/locale-language'.
42312         * lib/unicase/locale-language.c: New file.
42313         * lib/unicase/locale-languages.gperf: New file.
42314         * modules/unicase/locale-language: New file.
42315
42316         Generate more tables for case conversion and case folding.
42317         * lib/gen-uni-tables.c (SCC_*): New enum items.
42318         (struct special_casing_rule): New type.
42319         (casing_rules, num_casing_rules, allocated_casing_rules): New
42320         variables.
42321         (add_casing_rule, fill_casing_rules): New functions.
42322         (struct casefold_rule): New type.
42323         (casefolding_rules, num_casefolding_rules,
42324         allocated_casefolding_rules): New variables.
42325         (fill_casefolding_rules): New function.
42326         (unicode_casefold): New variable.
42327         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
42328         sort_casing_rules, output_casing_rules): New functions.
42329         (main): Accept to more arguments: SpecialCasing.txt and
42330         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
42331         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
42332         Output mapping for casefolding.
42333
42334         * lib/unicase.h: Include stdbool.h, uninorm.h.
42335         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
42336         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
42337         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
42338         arguments.
42339         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
42340         resultp arguments.
42341         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
42342         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
42343         resultp arguments.
42344         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
42345         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
42346         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
42347         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
42348         declarations.
42349         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
42350
42351 2009-03-08  Bruno Haible  <bruno@clisp.org>
42352
42353         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
42354         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
42355         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
42356         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
42357
42358 2009-03-07  Bruno Haible  <bruno@clisp.org>
42359
42360         Adjust u*_normcmp, u*_normcoll API.
42361         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
42362         u16_normcoll, u32_normcoll): Change failure conventions.
42363         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
42364         errno and return -1.
42365         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
42366
42367 2009-03-07  Bruno Haible  <bruno@clisp.org>
42368
42369         Tests for module 'uninorm/u32-normcoll'.
42370         * modules/uninorm/u32-normcoll-tests: New file.
42371         * tests/uninorm/test-u32-normcoll.c: New file.
42372
42373         Tests for module 'uninorm/u16-normcoll'.
42374         * modules/uninorm/u16-normcoll-tests: New file.
42375         * tests/uninorm/test-u16-normcoll.c: New file.
42376
42377         Tests for module 'uninorm/u8-normcoll'.
42378         * modules/uninorm/u8-normcoll-tests: New file.
42379         * tests/uninorm/test-u8-normcoll.c: New file.
42380
42381 2009-03-07  Bruno Haible  <bruno@clisp.org>
42382
42383         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
42384         tests/uninorm/test-u32-normcmp.c.
42385         * tests/uninorm/test-u32-normcmp.c: Include it.
42386         (test_nonascii): New function, extracted from main. Add some more
42387         tests.
42388         (main): Invoke test_ascii and test_nonascii.
42389         * modules/uninorm/u32-normcmp-tests (Files): Add
42390         tests/uninorm/test-u32-normcmp.h.
42391         (Depends-on): Remove uninorm/u32-normcmp.
42392
42393         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
42394         tests/uninorm/test-u16-normcmp.c.
42395         * tests/uninorm/test-u16-normcmp.c: Include it.
42396         (test_nonascii): New function, extracted from main. Add some more
42397         tests.
42398         (main): Invoke test_ascii and test_nonascii.
42399         * modules/uninorm/u16-normcmp-tests (Files): Add
42400         tests/uninorm/test-u16-normcmp.h.
42401         (Depends-on): Remove uninorm/u16-normcmp.
42402
42403         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
42404         tests/uninorm/test-u8-normcmp.c.
42405         * tests/uninorm/test-u8-normcmp.c: Include it.
42406         (test_nonascii): New function, extracted from main. Add some more
42407         tests.
42408         (main): Invoke test_ascii and test_nonascii.
42409         * modules/uninorm/u8-normcmp-tests (Files): Add
42410         tests/uninorm/test-u8-normcmp.h.
42411         (Depends-on): Remove uninorm/u8-normcmp.
42412
42413 2009-03-07  Bruno Haible  <bruno@clisp.org>
42414
42415         New module 'uninorm/u32-normcoll'.
42416         * lib/uninorm/u32-normcoll.c: New file.
42417         * modules/uninorm/u32-normcoll: New file.
42418
42419         New module 'uninorm/u16-normcoll'.
42420         * lib/uninorm/u16-normcoll.c: New file.
42421         * modules/uninorm/u16-normcoll: New file.
42422
42423         New module 'uninorm/u8-normcoll'.
42424         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
42425         declarations.
42426         * lib/uninorm/u8-normcoll.c: New file.
42427         * lib/uninorm/u-normcoll.h: New file.
42428         * modules/uninorm/u8-normcoll: New file.
42429
42430         New module 'uninorm/u32-normxfrm'.
42431         * lib/uninorm/u32-normxfrm.c: New file.
42432         * modules/uninorm/u32-normxfrm: New file.
42433
42434         New module 'uninorm/u16-normxfrm'.
42435         * lib/uninorm/u16-normxfrm.c: New file.
42436         * modules/uninorm/u16-normxfrm: New file.
42437
42438         New module 'uninorm/u8-normxfrm'.
42439         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
42440         declarations.
42441         * lib/uninorm/u8-normxfrm.c: New file.
42442         * lib/uninorm/u-normxfrm.h: New file.
42443         * modules/uninorm/u8-normxfrm: New file.
42444
42445 2009-03-07  Bruno Haible  <bruno@clisp.org>
42446
42447         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
42448         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
42449         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
42450
42451 2009-03-07  Bruno Haible  <bruno@clisp.org>
42452
42453         New module 'memxfrm'.
42454         * lib/memxfrm.h: New file.
42455         * lib/memxfrm.c: New file.
42456         * modules/memxfrm: New file.
42457
42458 2009-03-07  Bruno Haible  <bruno@clisp.org>
42459
42460         New module 'memcmp2'.
42461         * lib/memcmp2.h: New file.
42462         * lib/memcmp2.c: New file.
42463         * modules/memcmp2: New file.
42464
42465 2009-03-07  Bruno Haible  <bruno@clisp.org>
42466
42467         Tests for module 'uninorm/decomposing-form'.
42468         * modules/uninorm/decomposing-form-tests: New file.
42469         * tests/uninorm/test-decomposing-form.c: New file.
42470
42471         New module 'uninorm/decomposing-form'.
42472         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
42473         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
42474         Add 'decomposing_variant' field.
42475         * lib/uninorm/decomposing-form.c: New file.
42476         * lib/uninorm/nfc.c (uninorm_nfc): Update.
42477         * lib/uninorm/nfd.c (uninorm_nfd): Update.
42478         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
42479         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
42480         * modules/uninorm/decomposing-form: New file.
42481         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
42482         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
42483
42484 2009-03-07  Bruno Haible  <bruno@clisp.org>
42485
42486         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
42487         strings.
42488
42489 2009-03-06  Bruno Haible  <bruno@clisp.org>
42490
42491         Tests for module 'uninorm/u32-normcmp'.
42492         * tests/uninorm/test-u32-normcmp.c: New file.
42493         * modules/uninorm/u32-normcmp-tests: New file.
42494
42495         Tests for module 'uninorm/u16-normcmp'.
42496         * tests/uninorm/test-u16-normcmp.c: New file.
42497         * modules/uninorm/u16-normcmp-tests: New file.
42498
42499         Tests for module 'uninorm/u8-normcmp'.
42500         * tests/uninorm/test-u8-normcmp.c: New file.
42501         * modules/uninorm/u8-normcmp-tests: New file.
42502
42503         New module 'uninorm/u32-normcmp'.
42504         * lib/uninorm/u32-normcmp.c: New file.
42505         * modules/uninorm/u32-normcmp: New file.
42506
42507         New module 'uninorm/u16-normcmp'.
42508         * lib/uninorm/u16-normcmp.c: New file.
42509         * modules/uninorm/u16-normcmp: New file.
42510
42511         New module 'uninorm/u8-normcmp'.
42512         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
42513         declarations.
42514         * lib/uninorm/u8-normcmp.c: New file.
42515         * lib/uninorm/u-normcmp.h: New file.
42516         * modules/uninorm/u8-normcmp: New file.
42517
42518 2009-03-06  Bruno Haible  <bruno@clisp.org>
42519
42520         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
42521         Reported by Eric Blake.
42522
42523 2009-03-06  Eric Blake  <ebb9@byu.net>
42524             Bruno Haible  <bruno@clisp.org>
42525
42526         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
42527         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
42528         condition.
42529         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
42530         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
42531         condition.
42532         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
42533
42534 2009-03-06  Eric Blake  <ebb9@byu.net>
42535
42536         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
42537         to avoid compiler warnings.
42538         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
42539
42540 2009-03-05  Bruno Haible  <bruno@clisp.org>
42541
42542         * tests/test-ftell.c (main): Disable test beyond end of file on
42543         FreeMiNT.
42544         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
42545
42546 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
42547
42548         * lib/filevercmp.c: Move hidden files up in ordering.
42549         * tests/test-filevercmp.c: Add tests for hidden files.
42550
42551 2009-03-04  Bruno Haible  <bruno@clisp.org>
42552
42553         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
42554         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
42555         AM_CFLAGS.
42556         Reported by Simon Josefsson.
42557
42558 2009-03-03  Bruno Haible  <bruno@clisp.org>
42559
42560         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
42561         Reported by Simon Josefsson.
42562
42563         * doc/ld-version-script.texi: Update node reference.
42564
42565 2009-03-03  Bruno Haible  <bruno@clisp.org>
42566
42567         * modules/visibility (License): Change to 'unlimited'.
42568         Suggested by Simon Josefsson.
42569
42570 2009-03-03  Jim Meyering  <meyering@redhat.com>
42571
42572         unlinkdir: cannot_unlink_dir may modify process state
42573         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
42574         it's neither thread-safe nor appropriate for use in a library.
42575
42576 2009-03-03  Eric Blake  <ebb9@byu.net>
42577
42578         test-closein: silence test under Darwin
42579         * tests/test-closein.sh: Ignore stderr from cat, since we don't
42580         care if it dies from EPIPE or EBADF.
42581
42582 2009-03-03  Bruno Haible  <bruno@clisp.org>
42583
42584         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
42585         earlier.
42586         * doc/visibility.texi: Fix @node and @section.
42587
42588 2009-03-03  Simon Josefsson  <simon@josefsson.org>
42589
42590         * doc/gnulib.texi: Link to sections for ld version script and
42591         visibility.
42592         * doc/visibility.texi: Add @node and @section.
42593         * modules/ld-version-script: New module.
42594         * m4/ld-version-script.m4: New file.
42595         * doc/ld-version-script.texi: New file.
42596
42597 2009-03-02  David Lutterkort  <lutter@redhat.com>
42598
42599         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
42600         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42601
42602 2009-03-02  Bruno Haible  <bruno@clisp.org>
42603
42604         * doc/visibility.texi: Mention libtool's -export-symbols option.
42605
42606 2009-03-02  Jim Meyering  <meyering@redhat.com>
42607
42608         announce-gen: new option: --no-print-checksums
42609         * build-aux/announce-gen (usage): Describe it.
42610         (print_checksums): Print a newline here, not in the [*] footnote.
42611         (main): Honor it.
42612
42613 2009-03-01  Bruno Haible  <bruno@clisp.org>
42614
42615         Use socklen_t in the native Windows replacements prototypes.
42616         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
42617         instead of 'int'.
42618         * lib/getsockopt.c (rpl_getsockopt): Likewise.
42619         * lib/setsockopt.c (rpl_setsockopt): Likewise.
42620         * modules/getsockopt (Depends-on): Add socklen.
42621         * modules/setsockopt (Depends-on): Add socklen.
42622
42623 2009-03-01  Bruno Haible  <bruno@clisp.org>
42624
42625         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
42626         least 4.2.
42627
42628 2009-03-01  Eric Blake  <ebb9@byu.net>
42629             Bruno Haible  <bruno@clisp.org>
42630
42631         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
42632         error messages.
42633         * lib/wait-process.c (wait_subprocess): Omit error message about
42634         deadly signal sent to the child of termsigp != NULL.
42635
42636 2009-03-01  Eric Blake  <ebb9@byu.net>
42637
42638         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
42639
42640 2009-03-01  Bruno Haible  <bruno@clisp.org>
42641
42642         Avoid a gcc warning.
42643         * tests/test-sched.c (b): Make global.
42644         Reported by Eric Blake.
42645
42646 2009-01-19  Martin Lambers  <marlam@marlam.de>
42647
42648         Provide POSIX semantics for socket timeout options on W32.
42649         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
42650         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
42651         * modules/setsockopt: Depend on sys_time module for struct timeval.
42652         * modules/getsockopt: Depend on sys_time module for struct timeval.
42653
42654 2009-03-01  Simon Josefsson  <simon@josefsson.org>
42655
42656         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
42657         __USE_GNU, for consistency with netdb.in.h.
42658         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42659
42660 2009-03-01  Bruno Haible  <bruno@clisp.org>
42661
42662         More support for FreeMiNT.
42663         * lib/fseeko.c (rpl_fseeko): Complete last commit.
42664         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42665
42666 2009-03-01  Bruno Haible  <bruno@clisp.org>
42667
42668         More support for FreeMiNT.
42669         * lib/fpurge.c (fpurge): Correct last commit.
42670         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42671
42672 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42673
42674         Fix unportable awk script in vc-list-files.
42675         * build-aux/vc-list-files: In the replacement awk script, use
42676         substr with a second argument of 1, not zero.
42677         Report by Simon Josefsson.
42678
42679 2009-02-28  Bruno Haible  <bruno@clisp.org>
42680
42681         More support for FreeMiNT.
42682         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
42683         to FreeMiNT today.
42684         * lib/fwriting.c (fwriting): Likewise.
42685         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
42686
42687 2009-02-28  Bruno Haible  <bruno@clisp.org>
42688
42689         * tests/test-freadseek.c (main): Disable test beyond end of file on
42690         FreeMiNT.
42691         * tests/test-ftello.c (main): Likewise.
42692         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
42693
42694 2009-02-28  Bruno Haible  <bruno@clisp.org>
42695
42696         Add tentative support for FreeMiNT.
42697         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
42698         * lib/fpurge.c (fpurge): Likewise.
42699         * lib/freadable.c (freadable): Likewise.
42700         * lib/freading.c (freading): Likewise.
42701         * lib/freadptr.c (freadptr): Likewise.
42702         * lib/freadseek.c (freadptrinc): Likewise.
42703         * lib/fseeko.c (rpl_fseeko): Likewise.
42704         * lib/fseterr.c (fseterr): Likewise.
42705         * lib/fwritable.c (fwritable): Likewise.
42706         * lib/fwriting.c (fwriting): Likewise.
42707         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
42708         Hourihane.
42709         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42710
42711 2009-02-28  Bruno Haible  <bruno@clisp.org>
42712
42713         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
42714         SIGCHLD.
42715         Reported by Jim Meyering.
42716
42717 2009-02-28  Bruno Haible  <bruno@clisp.org>
42718
42719         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
42720         Mention the results of these tests on various platforms.
42721         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
42722         order.
42723         * doc/posix-functions/printf.texi: Likewise.
42724         * doc/posix-functions/snprintf.texi: Likewise.
42725         * doc/posix-functions/sprintf.texi: Likewise.
42726         * doc/posix-functions/vfprintf.texi: Likewise.
42727         * doc/posix-functions/vprintf.texi: Likewise.
42728         * doc/posix-functions/vsnprintf.texi: Likewise.
42729         * doc/posix-functions/vsprintf.texi: Likewise.
42730         * doc/glibc-functions/obstack_printf.texi: Likewise.
42731         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
42732
42733 2009-02-28  Bruno Haible  <bruno@clisp.org>
42734
42735         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
42736         Reported by Loïc Minier <lool@dooz.org>.
42737
42738 2009-02-27  Bruno Haible  <bruno@clisp.org>
42739
42740         * gnulib-tool (func_import): Make the sed expression used to create the
42741         sed script for updating the .gitignore file POSIX compliant.
42742         Reported by Eric Blake.
42743
42744 2009-02-27  Bruno Haible  <bruno@clisp.org>
42745
42746         * gnulib-tool (sed): Don't alias as "sed --posix".
42747         Reported by Eric Blake.
42748
42749 2009-02-27  Bruno Haible  <bruno@clisp.org>
42750
42751         Avoid test link errors.
42752         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
42753         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
42754         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
42755         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
42756         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42757
42758 2009-02-27  Bruno Haible  <bruno@clisp.org>
42759
42760         Avoid spurious "(cached)" in configure output.
42761         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
42762         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
42763         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
42764         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
42765         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
42766         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
42767         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
42768         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
42769         Reported by Eric Blake.
42770
42771 2009-02-27  Eric Blake  <ebb9@byu.net>
42772
42773         printf: fix regression in previous patch
42774         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
42775
42776 2009-02-27  Bruno Haible  <bruno@clisp.org>
42777
42778         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
42779         value.
42780         * lib/stdint.in.h: Likewise.
42781         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
42782
42783 2009-02-27  Eric Blake  <ebb9@byu.net>
42784
42785         doc: mention more functions added in cygwin 1.7.0
42786         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
42787         addition.
42788         * doc/posix-functions/open_wmemstream.texi: Likewise.
42789         * doc/posix-functions/wcsnlen.texi: Likewise.
42790         * doc/posix-functions/wcsnrtombs.texi: Likewise.
42791         * doc/posix-functions/wcstod.texi: Likewise.
42792         * doc/posix-functions/wcstof.texi: Likewise.
42793         * doc/posix-functions/wcstoimax.texi: Likewise.
42794         * doc/posix-functions/wcstok.texi: Likewise.
42795         * doc/posix-functions/wcstoumax.texi: Likewise.
42796
42797         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
42798         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
42799         * doc/posix-functions/fprintf.texi: Update.
42800         * doc/posix-functions/printf.texi: Update.
42801         * doc/posix-functions/snprintf.texi: Update.
42802         * doc/posix-functions/sprintf.texi: Update.
42803         * doc/posix-functions/vfprintf.texi: Update.
42804         * doc/posix-functions/vprintf.texi: Update.
42805         * doc/posix-functions/vsnprintf.texi: Update.
42806         * doc/posix-functions/vsprintf.texi: Update.
42807         * doc/glibc-functions/obstack_printf.texi: Update.
42808         * doc/glibc-functions/obstack_vprintf.texi: Update.
42809
42810 2009-02-26  Eric Blake  <ebb9@byu.net>
42811
42812         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
42813         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
42814         compilation bug by using runtime conversion.
42815         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
42816         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
42817         * modules/ceill-tests (Files): Use nan.h.
42818         * modules/floorl-tests (Files): Likewise.
42819         * modules/frexpl-tests (Files): Likewise.
42820         * modules/isnanl-tests (Files): Likewise.
42821         * modules/ldexpl-tests (Files): Likewise.
42822         * modules/roundl-tests (Files): Likewise.
42823         * modules/truncl-tests (Files): Likewise.
42824         * tests/test-ceill.c (main): Use a working NaN.
42825         * tests/test-floorl.c (main): Likewise.
42826         * tests/test-frexpl.c (main): Likewise.
42827         * tests/test-isnan.c (test_long_double): Likewise.
42828         * tests/test-isnanl.h (main): Likewise.
42829         * tests/test-ldexpl.h (main): Likewise.
42830         * tests/test-roundl.h (main): Likewise.
42831         * tests/test-truncl.h (main): Likewise.
42832         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
42833
42834 2009-02-26  Eric Blake  <ebb9@byu.net>
42835             Bruno Haible  <bruno@clisp.org>
42836
42837         Work around a *printf bug with %ls on Solaris.
42838         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
42839         precision is specified, sprintf stops converting the wide string
42840         argument when the number of bytes that have been produced by this
42841         conversion equals or exceeds the precision.
42842         * doc/posix-functions/fprintf.texi: Update.
42843         * doc/posix-functions/printf.texi: Update.
42844         * doc/posix-functions/snprintf.texi: Update.
42845         * doc/posix-functions/sprintf.texi: Update.
42846         * doc/posix-functions/vfprintf.texi: Update.
42847         * doc/posix-functions/vprintf.texi: Update.
42848         * doc/posix-functions/vsnprintf.texi: Update.
42849         * doc/posix-functions/vsprintf.texi: Update.
42850         * doc/glibc-functions/obstack_printf.texi: Update.
42851         * doc/glibc-functions/obstack_vprintf.texi: Update.
42852
42853 2009-02-26  Eric Blake  <ebb9@byu.net>
42854
42855         stdlib: favor compiler check of random.h
42856         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
42857         to avoid an ObjC random.h installed by Swarm.
42858
42859 2009-02-26  Bruno Haible  <bruno@clisp.org>
42860
42861         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
42862         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
42863         Reported by Gary V. Vaughan <gary@gnu.org>.
42864
42865 2009-02-26  Bruno Haible  <bruno@clisp.org>
42866
42867         Fix *printf behaviour regarding the %ls directive.
42868         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
42869         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
42870         NEED_PRINTF_DIRECTIVE_LS.
42871         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
42872         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42873         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42874         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
42875         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
42876         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
42877         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
42878         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42879         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42880         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42881         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42882         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
42883         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42884         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42885         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42886         * doc/posix-functions/fprintf.texi: Update.
42887         * doc/posix-functions/printf.texi: Update.
42888         * doc/posix-functions/snprintf.texi: Update.
42889         * doc/posix-functions/sprintf.texi: Update.
42890         * doc/posix-functions/vfprintf.texi: Update.
42891         * doc/posix-functions/vprintf.texi: Update.
42892         * doc/posix-functions/vsnprintf.texi: Update.
42893         * doc/posix-functions/vsprintf.texi: Update.
42894         * doc/glibc-functions/obstack_printf.texi: Update.
42895         * doc/glibc-functions/obstack_vprintf.texi: Update.
42896         Reported by Eric Blake.
42897
42898 2009-02-25  Bruno Haible  <bruno@clisp.org>
42899
42900         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
42901         with known value.
42902         Reported by Gary V. Vaughan <gary@gnu.org>.
42903
42904 2009-02-25  Bruno Haible  <bruno@clisp.org>
42905
42906         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
42907         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
42908         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
42909         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
42910         Reported by Gary V. Vaughan <gary@gnu.org>.
42911
42912 2009-02-25  Bruno Haible  <bruno@clisp.org>
42913
42914         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
42915         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
42916         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
42917         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
42918         Reported by Gary V. Vaughan <gary@gnu.org>.
42919
42920 2009-02-25  Eric Blake  <ebb9@byu.net>
42921
42922         tests: skip fseek/ftell tests if ungetc is broken
42923         * m4/ungetc.m4: New file.
42924         * modules/fseek-tests: Split test, so ungetc dependency is
42925         separate from rest of test.
42926         * modules/fseeko-tests: Likewise.
42927         * modules/ftell-tests: Likewise.
42928         * modules/ftello-tests: Likewise.
42929         * tests/test-fseek.c (main): Isolate ungetc dependency.
42930         * tests/test-fseeko.c (main): Likewise.
42931         * tests/test-ftell.c (main): Likewise.
42932         * tests/test-ftello.c (main): Likewise.
42933         * tests/test-fseek2.sh: New file.
42934         * tests/test-fseeko2.sh: Likewise.
42935         * tests/test-ftell2.sh: Likewise.
42936         * tests/test-ftello2.sh: Likewise.
42937
42938 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
42939
42940         test-getaddrinfo: fix usage of skip return code 77
42941         * tests/test-gettaddrinfo.c: Return skip code 77 only
42942         for first occurance of skip (4x77 is not 77)
42943
42944 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
42945
42946         strtod: avoid C99 decl-after-statement
42947         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
42948
42949 2009-02-24  Eric Blake  <ebb9@byu.net>
42950
42951         strtod: detect HP-UX 11.31 bug
42952         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
42953         Reported by Gary V. Vaughan.
42954
42955 2009-02-23  Bruno Haible  <bruno@clisp.org>
42956
42957         Fix invalid read past end of memory block.
42958         * lib/vasnprintf.c (DCHAR_SET): Define.
42959         (local_wcslen): Define only when needed.
42960         (local_strnlen, local_wcsnlen): New functions.
42961         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
42962         directives that involve a conversion ourselves.
42963         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
42964         wcsnlen, mbrtowc, wcrtomb.
42965         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
42966         * tests/test-vasprintf-posix.c (test_function): Likewise.
42967         * tests/test-snprintf-posix.h (test_function): Likewise.
42968         * tests/test-sprintf-posix.h (test_function): Likewise.
42969         Reported by Ben Pfaff <blp@cs.stanford.edu>.
42970
42971 2009-02-22  Bruno Haible  <bruno@clisp.org>
42972
42973         Implement new clarified decomposition of Hangul syllables.
42974         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
42975         of type LTV, return only a pairwise decomposition.
42976         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
42977         Likewise.
42978         * tests/uninorm/test-decomposition.c (main): Updated expected result.
42979         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
42980         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
42981
42982 2009-02-22  Bruno Haible  <bruno@clisp.org>
42983
42984         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
42985         zero-length results and shrink excess allocated memory.
42986         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
42987         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
42988         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
42989         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
42990         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
42991         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
42992         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
42993         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
42994         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
42995         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
42996         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
42997         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
42998
42999 2009-02-21  Bruno Haible  <bruno@clisp.org>
43000
43001         * doc/gnulib.texi: Include safe-alloc.texi earlier.
43002         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
43003         spaces after a period. Put a space between a macro name and its
43004         argument list. Trivial rewordings.
43005         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
43006         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
43007         (main): Return 0 explicitly.
43008
43009 2009-02-21  Bruno Haible  <bruno@clisp.org>
43010
43011         Tests for module 'uninorm/filter'.
43012         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
43013         * modules/uninorm/filter-tests: New file.
43014
43015         New module 'uninorm/filter'.
43016         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
43017         uninorm_filter_flush, uninorm_filter_free): New declarations.
43018         * lib/uninorm/uninorm-filter.c: New file.
43019         * modules/uninorm/filter: New file.
43020
43021 2009-02-21  Bruno Haible  <bruno@clisp.org>
43022
43023         Tests for module 'uninorm/nfkc'.
43024         * tests/uninorm/test-nfkc.c: New file.
43025         * tests/uninorm/test-u8-nfkc.c: New file.
43026         * tests/uninorm/test-u16-nfkc.c: New file.
43027         * tests/uninorm/test-u32-nfkc.c: New file.
43028         * tests/uninorm/test-u32-nfkc-big.sh: New file.
43029         * tests/uninorm/test-u32-nfkc-big.c: New file.
43030         * modules/uninorm/nfkc-tests: New file.
43031
43032         New module 'uninorm/nfkc'.
43033         * lib/uninorm/nfkc.c: New file.
43034         * modules/uninorm/nfkc: New file.
43035
43036         Tests for module 'uninorm/nfkd'.
43037         * tests/uninorm/test-nfkd.c: New file.
43038         * tests/uninorm/test-u8-nfkd.c: New file.
43039         * tests/uninorm/test-u16-nfkd.c: New file.
43040         * tests/uninorm/test-u32-nfkd.c: New file.
43041         * tests/uninorm/test-u32-nfkd-big.sh: New file.
43042         * tests/uninorm/test-u32-nfkd-big.c: New file.
43043         * modules/uninorm/nfkd-tests: New file.
43044
43045         New module 'uninorm/nfkd'.
43046         * lib/uninorm/nfkd.c: New file.
43047         * modules/uninorm/nfkd: New file.
43048
43049         Tests for module 'uninorm/nfc'.
43050         * tests/uninorm/test-nfc.c: New file.
43051         * tests/uninorm/test-u8-nfc.c: New file.
43052         * tests/uninorm/test-u16-nfc.c: New file.
43053         * tests/uninorm/test-u32-nfc.c: New file.
43054         * tests/uninorm/test-u32-nfc-big.sh: New file.
43055         * tests/uninorm/test-u32-nfc-big.c: New file.
43056         * modules/uninorm/nfc-tests: New file.
43057
43058         New module 'uninorm/nfc'.
43059         * lib/uninorm/nfc.c: New file.
43060         * modules/uninorm/nfc: New file.
43061
43062         Tests for module 'uninorm/nfd'.
43063         * tests/uninorm/test-nfd.c: New file.
43064         * tests/uninorm/test-u8-nfd.c: New file.
43065         * tests/uninorm/test-u16-nfd.c: New file.
43066         * tests/uninorm/test-u32-nfd.c: New file.
43067         * tests/uninorm/test-u32-nfd-big.sh: New file.
43068         * tests/uninorm/test-u32-nfd-big.c: New file.
43069         * tests/uninorm/test-u32-normalize-big.h: New file.
43070         * tests/uninorm/test-u32-normalize-big.c: New file.
43071         * tests/uninorm/NormalizationTest.txt: New file, created from
43072         Unicode 5.1.0 NormalizationTest.txt.
43073         * modules/uninorm/nfd-tests: New file.
43074
43075         New module 'uninorm/nfd'.
43076         * lib/uninorm/nfd.c: New file.
43077         * modules/uninorm/nfd: New file.
43078
43079         New module 'uninorm/u32-normalize'.
43080         * lib/uninorm/u32-normalize.c: New file.
43081         * modules/uninorm/u32-normalize: New file.
43082
43083         New module 'uninorm/u16-normalize'.
43084         * lib/uninorm/u16-normalize.c: New file.
43085         * modules/uninorm/u16-normalize: New file.
43086
43087         New module 'uninorm/u8-normalize'.
43088         * lib/uninorm/u8-normalize.c: New file.
43089         * lib/uninorm/normalize-internal.h: New file.
43090         * lib/uninorm/u-normalize-internal.h: New file.
43091         * modules/uninorm/u8-normalize: New file.
43092
43093         New module 'uninorm/decompose-internal'.
43094         * lib/uninorm/decompose-internal.c: New file.
43095         * modules/uninorm/decompose-internal: New file.
43096
43097         Tests for module 'uninorm/composition'.
43098         * tests/uninorm/test-composition.c: New file.
43099         * modules/uninorm/composition-tests: New file.
43100
43101         New module 'uninorm/composition'.
43102         * lib/uninorm/composition.c: New file.
43103         * lib/uninorm/composition-table.gperf: New file, generated by
43104         gen-uni-tables.
43105         * modules/uninorm/composition: New file.
43106
43107         Tests for module 'uninorm/compat-decomposition'.
43108         * tests/uninorm/test-compat-decomposition.c: New file.
43109         * modules/uninorm/compat-decomposition-tests: New file.
43110
43111         New module 'uninorm/compat-decomposition'.
43112         * lib/uninorm/decompose-internal.h: New file.
43113         * lib/uninorm/compat-decomposition.c: New file.
43114         * modules/uninorm/compat-decomposition: New file.
43115
43116         Tests for module 'uninorm/canonical-decomposition'.
43117         * tests/uninorm/test-canonical-decomposition.c: New file.
43118         * modules/uninorm/canonical-decomposition-tests: New file.
43119
43120         New module 'uninorm/canonical-decomposition'.
43121         * lib/uninorm/canonical-decomposition.c: New file.
43122         * modules/uninorm/canonical-decomposition: New file.
43123
43124         Tests for module 'uninorm/decomposition'.
43125         * tests/uninorm/test-decomposition.c: New file.
43126         * modules/uninorm/decomposition-tests: New file.
43127
43128         New module 'uninorm/decomposition'.
43129         * lib/uninorm/decomposition.c: New file.
43130         * modules/uninorm/decomposition: New file.
43131
43132         New module 'uninorm/decomposition-table'.
43133         * lib/uninorm/decomposition-table.h: New file.
43134         * lib/uninorm/decomposition-table.c: New file.
43135         * lib/uninorm/decomposition-table1.h: New file, generated by
43136         gen-uni-tables.
43137         * lib/uninorm/decomposition-table2.h: New file, generated by
43138         gen-uni-tables.
43139         * modules/uninorm/decomposition-table: New file.
43140
43141         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
43142         (UC_DECOMP_*): New enumeration items.
43143         (get_decomposition): New function.
43144         (struct decomp_table): New type.
43145         (output_decomposition, output_decomposition_tables): New functions.
43146         (unicode_composition_exclusions): New variable.
43147         (fill_composition_exclusions, debug_output_composition_tables): New
43148         functions.
43149         (main): Accept one more argument. Invoke fill_composition_exclusions.
43150         Output decomposition and composition tables.
43151
43152         New module 'uninorm/base'.
43153         * lib/uninorm.h: New file.
43154         * lib/unictype.h: Update comment.
43155         * modules/uninorm/base: New file.
43156
43157 2009-02-21  David Lutterkort  <lutter@redhat.com>
43158
43159         Tests for module 'safe-alloc'.
43160         * tests/test-safe-alloc.c: New file.
43161         * modules/safe-alloc-tests: New file.
43162
43163         New module 'safe-alloc'.
43164         * lib/safe-alloc.h: New file.
43165         * lib/safe-alloc.c: New file.
43166         * m4/safe-alloc.m4: New file.
43167         * modules/safe-alloc: New file.
43168         * doc/safe-alloc.texi: New file.
43169         * doc/gnulib.texi: Include it.
43170         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
43171         safe-alloc.
43172
43173 2009-02-18  Bruno Haible  <bruno@clisp.org>
43174
43175         Fix link error on non-glibc systems.
43176         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
43177         variable.
43178         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43179
43180 2009-02-18  Jim Meyering  <meyering@redhat.com>
43181
43182         fts: avoid used-uninitialized error due to recent change
43183         * lib/fts.c (fts_read): Guard uses of the new member,
43184         parent->fts_n_dirs_remaining, since it's not relevant for
43185         the parent of a directory specified on the command-line.
43186
43187 2009-02-17  James Youngman  <jay@gnu.org>
43188             Bruno Haible  <bruno@clisp.org>
43189
43190         * m4/include_next.m4: Reformulate comment.
43191
43192 2009-02-16  Jim Meyering  <meyering@redhat.com>
43193
43194         fts: add #if guards so that the fts_lgpl module still builds
43195         * lib/fts.c: Guard just-added hash-table-using parts with
43196         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
43197         Reported by Simon Josefsson.
43198
43199 2009-02-15  Bruno Haible  <bruno@clisp.org>
43200
43201         * modules/array-mergesort-tests: New file.
43202         * tests/test-array-mergesort.c: New file.
43203
43204         New module 'array-mergesort'.
43205         * modules/array-mergesort: New file.
43206         * lib/array-mergesort.h: New file.
43207
43208 2009-02-15  Bruno Haible  <bruno@clisp.org>
43209
43210         Fix 2009-02-07 commit.
43211         * lib/gen-uni-tables.c (output_predicate, output_category,
43212         output_combclass, output_bidi_category, output_decimal_digit,
43213         output_digit, output_numeric, output_mirror, output_scripts,
43214         output_ident_category, output_simple_mapping): Fix format directives.
43215         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
43216
43217 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
43218
43219         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
43220         fixes are available from IBM.
43221
43222 2009-02-13  Jim Meyering  <meyering@redhat.com>
43223
43224         fts: arrange not to stat non-directories in more cases
43225         This makes GNU find (when it doesn't need to stat each file)
43226         *much* more efficient at traversing reiserfs file systems.
43227         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
43228         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
43229         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
43230         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
43231         (leaf_optimization_applies): New function.
43232         (LCO_hash, LCO_compare): New helper functions.
43233         (link_count_optimize_ok): New function.
43234         (fts_stat): Initialize new member (if dir).
43235         (fts_read): Decrement parent's fts_n_dirs_remaining count if
43236         we've just stat'ed a directory.  Skip the stat call when possible.
43237         ---
43238         Note this AFS-related exchange:
43239         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
43240         and note find's pioctl call in find/fstype.c.
43241         But that is necessary only if you want to enable the
43242         optimization for AFS, and for now, I don't.
43243
43244         fts: move a function definition "up" (no semantic change)
43245         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
43246         "up" to precede upcoming use of a related function.
43247
43248 2009-02-11  Jim Meyering  <meyering@redhat.com>
43249
43250         fts: correct internal computation of nlinks (optimization-related)
43251         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
43252         whether the current entry is a directory, so don't test it.
43253
43254 2009-02-10  Bruno Haible  <bruno@clisp.org>
43255
43256         Tests for module 'uniwbrk/ulc-wordbreaks'.
43257         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
43258         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
43259         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
43260
43261         Tests for module 'uniwbrk/u32-wordbreaks'.
43262         * modules/uniwbrk/u32-wordbreaks-tests: New file.
43263         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
43264
43265         Tests for module 'uniwbrk/u16-wordbreaks'.
43266         * modules/uniwbrk/u16-wordbreaks-tests: New file.
43267         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
43268
43269         Tests for module 'uniwbrk/u8-wordbreaks'.
43270         * modules/uniwbrk/u8-wordbreaks-tests: New file.
43271         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
43272
43273 2009-02-10  Bruno Haible  <bruno@clisp.org>
43274
43275         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
43276         property.
43277         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
43278         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
43279         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
43280
43281 2009-02-10  Simon Josefsson  <simon@josefsson.org>
43282
43283         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
43284         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
43285
43286 2009-02-10  Bruno Haible  <bruno@clisp.org>
43287
43288         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
43289         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
43290         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
43291         * lib/unilbrk/u8-possible-linebreaks.c: Update.
43292         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
43293         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
43294
43295 2009-02-09  Simon Josefsson  <simon@josefsson.org>
43296
43297         * lib/sockets.h (gl_fd_to_handle): New function.
43298
43299         * tests/test-sockets.c: Call gl_fd_to_handle.
43300
43301 2009-02-09  Bruno Haible  <bruno@clisp.org>
43302
43303         * doc/havelib.texi: Document the conventions on bi-arch systems.
43304
43305 2009-02-08  Bruno Haible  <bruno@clisp.org>
43306
43307         Document the AC_LIB_LINKFLAGS macro.
43308         * doc/havelib.texi: New file, mostly written on 2005-05-24.
43309         * doc/gnulib.texi: Include it.
43310
43311 2009-02-08  Bruno Haible  <bruno@clisp.org>
43312
43313         Fix wrong order of sections, compared to TOC.
43314         * doc/gnulib.texi: Include relocatable-maint.texi after the
43315         "Regular expressions" node, not before.
43316
43317 2009-02-08  Bruno Haible  <bruno@clisp.org>
43318
43319         Tests for module 'unicase/totitle'.
43320         * modules/unicase/totitle-tests: New file.
43321
43322         Tests for module 'unicase/tolower'.
43323         * modules/unicase/tolower-tests: New file.
43324
43325         Tests for module 'unicase/toupper'.
43326         * modules/unicase/toupper-tests: New file.
43327         * tests/unicase/test-mapping-part1.h: New file.
43328         * tests/unicase/test-mapping-part2.h: New file.
43329
43330         New module 'unicase/totitle'.
43331         * modules/unicase/totitle: New file.
43332         * lib/unicase/totitle.c: New file.
43333
43334         New module 'unicase/tolower'.
43335         * modules/unicase/tolower: New file.
43336         * lib/unicase/tolower.c: New file.
43337
43338         New module 'unicase/toupper'.
43339         * modules/unicase/toupper: New file.
43340         * lib/unicase/toupper.c: New file.
43341         * lib/unicase/simple-mapping.h: New file.
43342
43343         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
43344         (mapping_table): New structure.
43345         (output_simple_mapping): New function.
43346         (main): Invoke output_simple_mapping_test and output_simple_mapping.
43347         * modules/gen-uni-tables (Description): Update.
43348         * lib/unicase/toupper.h: New file, automatically generated by
43349         gen-uni-tables.
43350         * lib/unicase/tolower.h: New file, automatically generated by
43351         gen-uni-tables.
43352         * lib/unicase/totitle.h: New file, automatically generated by
43353         gen-uni-tables.
43354         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
43355         gen-uni-tables.
43356         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
43357         gen-uni-tables.
43358         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
43359         gen-uni-tables.
43360
43361         New module 'unicase/base'.
43362         * modules/unicase/base: New file.
43363         * lib/unicase.h: New file.
43364
43365 2009-02-08  Bruno Haible  <bruno@clisp.org>
43366
43367         New module 'uniwbrk/ulc-wordbreaks'.
43368         * modules/uniwbrk/ulc-wordbreaks: New file.
43369         * lib/uniwbrk/ulc-wordbreaks.c: New file.
43370
43371         New module 'uniwbrk/u32-wordbreaks'.
43372         * modules/uniwbrk/u32-wordbreaks: New file.
43373         * lib/uniwbrk/u32-wordbreaks.c: New file.
43374
43375         New module 'uniwbrk/u16-wordbreaks'.
43376         * modules/uniwbrk/u16-wordbreaks: New file.
43377         * lib/uniwbrk/u16-wordbreaks.c: New file.
43378
43379         New module 'uniwbrk/u8-wordbreaks'.
43380         * modules/uniwbrk/u8-wordbreaks: New file.
43381         * lib/uniwbrk/u8-wordbreaks.c: New file.
43382         * lib/uniwbrk/u-wordbreaks.h: New file.
43383
43384         New module 'uniwbrk/table'.
43385         * modules/uniwbrk/table: New file.
43386         * lib/uniwbrk/wbrktable.h: New file.
43387         * lib/uniwbrk/wbrktable.c: New file.
43388
43389         New module 'uniwbrk/wordbreak-property'.
43390         * modules/uniwbrk/wordbreak-property: New file.
43391         * lib/uniwbrk/wordbreak-property.c: New file.
43392
43393         * lib/gen-uni-tables.c (WBP_*): New enum items.
43394         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
43395         (unicode_org_wbp): New variable.
43396         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
43397         New functions.
43398         (wbp_table): New structure.
43399         (output_wbp, output_wbrk_tables): New functions.
43400         (main): Accept additional argument. Invoke fill_org_wbp,
43401         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
43402         output_wbrk_tables.
43403         * modules/gen-uni-tables (Description): Update.
43404         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
43405         gen-uni-tables.
43406
43407         New module 'uniwbrk/base'.
43408         * modules/uniwbrk/base: New file.
43409         * lib/uniwbrk.h: New file.
43410
43411 2009-02-08  Bruno Haible  <bruno@clisp.org>
43412
43413         Update to Unicode 5.1.0.
43414         * lib/gen-uni-tables.c (is_property_alphabetic): Include
43415         U+2185..U+2188.
43416         (is_property_default_ignorable_code_point): Don't include characters
43417         of category Cc or Cs and not-a-characters.
43418         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
43419         U+0D79, U+109E, U+109F, U+A60C.
43420         * lib/unictype/bidi_of.h: Regenerated.
43421         * lib/unictype/blocks.h: Regenerated.
43422         * lib/unictype/categ_C.h: Regenerated.
43423         * lib/unictype/categ_Cf.h: Regenerated.
43424         * lib/unictype/categ_Cn.h: Regenerated.
43425         * lib/unictype/categ_L.h: Regenerated.
43426         * lib/unictype/categ_Ll.h: Regenerated.
43427         * lib/unictype/categ_Lm.h: Regenerated.
43428         * lib/unictype/categ_Lo.h: Regenerated.
43429         * lib/unictype/categ_Lu.h: Regenerated.
43430         * lib/unictype/categ_M.h: Regenerated.
43431         * lib/unictype/categ_Mc.h: Regenerated.
43432         * lib/unictype/categ_Me.h: Regenerated.
43433         * lib/unictype/categ_Mn.h: Regenerated.
43434         * lib/unictype/categ_N.h: Regenerated.
43435         * lib/unictype/categ_Nd.h: Regenerated.
43436         * lib/unictype/categ_Nl.h: Regenerated.
43437         * lib/unictype/categ_No.h: Regenerated.
43438         * lib/unictype/categ_P.h: Regenerated.
43439         * lib/unictype/categ_Pd.h: Regenerated.
43440         * lib/unictype/categ_Pe.h: Regenerated.
43441         * lib/unictype/categ_Pf.h: Regenerated.
43442         * lib/unictype/categ_Pi.h: Regenerated.
43443         * lib/unictype/categ_Po.h: Regenerated.
43444         * lib/unictype/categ_Ps.h: Regenerated.
43445         * lib/unictype/categ_S.h: Regenerated.
43446         * lib/unictype/categ_Sk.h: Regenerated.
43447         * lib/unictype/categ_Sm.h: Regenerated.
43448         * lib/unictype/categ_So.h: Regenerated.
43449         * lib/unictype/categ_of.h: Regenerated.
43450         * lib/unictype/combining.h: Regenerated.
43451         * lib/unictype/ctype_alnum.h: Regenerated.
43452         * lib/unictype/ctype_alpha.h: Regenerated.
43453         * lib/unictype/ctype_graph.h: Regenerated.
43454         * lib/unictype/ctype_lower.h: Regenerated.
43455         * lib/unictype/ctype_print.h: Regenerated.
43456         * lib/unictype/ctype_punct.h: Regenerated.
43457         * lib/unictype/ctype_upper.h: Regenerated.
43458         * lib/unictype/decdigit.h: Regenerated.
43459         * lib/unictype/digit.h: Regenerated.
43460         * lib/unictype/mirror.h: Regenerated.
43461         * lib/unictype/numeric.h: Regenerated.
43462         * lib/unictype/pr_alphabetic.h: Regenerated.
43463         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
43464         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
43465         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
43466         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
43467         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
43468         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
43469         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
43470         * lib/unictype/pr_combining.h: Regenerated.
43471         * lib/unictype/pr_dash.h: Regenerated.
43472         * lib/unictype/pr_decimal_digit.h: Regenerated.
43473         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
43474         * lib/unictype/pr_deprecated.h: Regenerated.
43475         * lib/unictype/pr_diacritic.h: Regenerated.
43476         * lib/unictype/pr_extender.h: Regenerated.
43477         * lib/unictype/pr_format_control.h: Regenerated.
43478         * lib/unictype/pr_grapheme_base.h: Regenerated.
43479         * lib/unictype/pr_grapheme_extend.h: Regenerated.
43480         * lib/unictype/pr_grapheme_link.h: Regenerated.
43481         * lib/unictype/pr_id_continue.h: Regenerated.
43482         * lib/unictype/pr_id_start.h: Regenerated.
43483         * lib/unictype/pr_ideographic.h: Regenerated.
43484         * lib/unictype/pr_ignorable_control.h: Regenerated.
43485         * lib/unictype/pr_lowercase.h: Regenerated.
43486         * lib/unictype/pr_math.h: Regenerated.
43487         * lib/unictype/pr_numeric.h: Regenerated.
43488         * lib/unictype/pr_other_alphabetic.h: Regenerated.
43489         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
43490         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
43491         * lib/unictype/pr_other_id_continue.h: Regenerated.
43492         * lib/unictype/pr_other_lowercase.h: Regenerated.
43493         * lib/unictype/pr_other_math.h: Regenerated.
43494         * lib/unictype/pr_punctuation.h: Regenerated.
43495         * lib/unictype/pr_sentence_terminal.h: Regenerated.
43496         * lib/unictype/pr_soft_dotted.h: Regenerated.
43497         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
43498         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
43499         * lib/unictype/pr_unified_ideograph.h: Regenerated.
43500         * lib/unictype/pr_uppercase.h: Regenerated.
43501         * lib/unictype/pr_xid_continue.h: Regenerated.
43502         * lib/unictype/pr_xid_start.h: Regenerated.
43503         * lib/unictype/pr_zero_width.h: Regenerated.
43504         * lib/unictype/scripts.h: Regenerated.
43505         * lib/unictype/scripts_byname.gperf: Regenerated.
43506         * lib/unictype/sy_java_ident.h: Regenerated.
43507         * lib/unilbrk/lbrkprop1.h: Regenerated.
43508         * lib/unilbrk/lbrkprop2.h: Regenerated.
43509         * tests/unictype/test-categ_C.c: Regenerated.
43510         * tests/unictype/test-categ_Cf.c: Regenerated.
43511         * tests/unictype/test-categ_Cn.c: Regenerated.
43512         * tests/unictype/test-categ_L.c: Regenerated.
43513         * tests/unictype/test-categ_Ll.c: Regenerated.
43514         * tests/unictype/test-categ_Lm.c: Regenerated.
43515         * tests/unictype/test-categ_Lo.c: Regenerated.
43516         * tests/unictype/test-categ_Lu.c: Regenerated.
43517         * tests/unictype/test-categ_M.c: Regenerated.
43518         * tests/unictype/test-categ_Mc.c: Regenerated.
43519         * tests/unictype/test-categ_Me.c: Regenerated.
43520         * tests/unictype/test-categ_Mn.c: Regenerated.
43521         * tests/unictype/test-categ_N.c: Regenerated.
43522         * tests/unictype/test-categ_Nd.c: Regenerated.
43523         * tests/unictype/test-categ_Nl.c: Regenerated.
43524         * tests/unictype/test-categ_No.c: Regenerated.
43525         * tests/unictype/test-categ_P.c: Regenerated.
43526         * tests/unictype/test-categ_Pd.c: Regenerated.
43527         * tests/unictype/test-categ_Pe.c: Regenerated.
43528         * tests/unictype/test-categ_Pf.c: Regenerated.
43529         * tests/unictype/test-categ_Pi.c: Regenerated.
43530         * tests/unictype/test-categ_Po.c: Regenerated.
43531         * tests/unictype/test-categ_Ps.c: Regenerated.
43532         * tests/unictype/test-categ_S.c: Regenerated.
43533         * tests/unictype/test-categ_Sk.c: Regenerated.
43534         * tests/unictype/test-categ_Sm.c: Regenerated.
43535         * tests/unictype/test-categ_So.c: Regenerated.
43536         * tests/unictype/test-ctype_alnum.c: Regenerated.
43537         * tests/unictype/test-ctype_alpha.c: Regenerated.
43538         * tests/unictype/test-ctype_graph.c: Regenerated.
43539         * tests/unictype/test-ctype_lower.c: Regenerated.
43540         * tests/unictype/test-ctype_print.c: Regenerated.
43541         * tests/unictype/test-ctype_punct.c: Regenerated.
43542         * tests/unictype/test-ctype_upper.c: Regenerated.
43543         * tests/unictype/test-decdigit.h: Regenerated.
43544         * tests/unictype/test-digit.h: Regenerated.
43545         * tests/unictype/test-numeric.h: Regenerated.
43546         * tests/unictype/test-pr_alphabetic.c: Regenerated.
43547         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
43548         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
43549         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
43550         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
43551         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
43552         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
43553         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
43554         * tests/unictype/test-pr_combining.c: Regenerated.
43555         * tests/unictype/test-pr_dash.c: Regenerated.
43556         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
43557         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
43558         * tests/unictype/test-pr_deprecated.c: Regenerated.
43559         * tests/unictype/test-pr_diacritic.c: Regenerated.
43560         * tests/unictype/test-pr_extender.c: Regenerated.
43561         * tests/unictype/test-pr_format_control.c: Regenerated.
43562         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
43563         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
43564         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
43565         * tests/unictype/test-pr_id_continue.c: Regenerated.
43566         * tests/unictype/test-pr_id_start.c: Regenerated.
43567         * tests/unictype/test-pr_ideographic.c: Regenerated.
43568         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
43569         * tests/unictype/test-pr_lowercase.c: Regenerated.
43570         * tests/unictype/test-pr_math.c: Regenerated.
43571         * tests/unictype/test-pr_numeric.c: Regenerated.
43572         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
43573         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
43574         Regenerated.
43575         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
43576         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
43577         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
43578         * tests/unictype/test-pr_other_math.c: Regenerated.
43579         * tests/unictype/test-pr_punctuation.c: Regenerated.
43580         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
43581         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
43582         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
43583         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
43584         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
43585         * tests/unictype/test-pr_uppercase.c: Regenerated.
43586         * tests/unictype/test-pr_xid_continue.c: Regenerated.
43587         * tests/unictype/test-pr_xid_start.c: Regenerated.
43588         * tests/unictype/test-pr_zero_width.c: Regenerated.
43589
43590         Update to Unicode 5.1.0.
43591         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
43592         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
43593         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
43594         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
43595         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
43596         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
43597         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
43598         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
43599         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
43600         (nonspacing_table_ind): Update.
43601         * tests/uniwidth/test-uc_width2.sh: Update expected result.
43602
43603         Update to Unicode 5.1.0.
43604         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
43605         code transform.
43606         * lib/uniname/uniname.c (unicode_character_name,
43607         unicode_name_character): Add the range 0x1Fxxx to the code transform.
43608         * lib/uniname/uninames.h: Regenerated.
43609         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
43610
43611 2009-02-07  Bruno Haible  <bruno@clisp.org>
43612
43613         Merge gen-ctype and gen-lbrk into a single program.
43614         * lib/gen-uni-tables.c: New file, incorporating
43615         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
43616         Add directory prefixes to the names of the generated files.
43617         * lib/unictype/gen-ctype.c: Remove file.
43618         * lib/unilbrk/gen-lbrk.c: Remove file.
43619         * modules/gen-uni-tables: New file.
43620         * modules/unictype/gen-ctype: Remove file.
43621         * modules/unilbrk/gen-lbrk: Remove file.
43622
43623 2009-02-07  Bruno Haible  <bruno@clisp.org>
43624
43625         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
43626
43627         New module 'unistr/u32-strcoll'.
43628         * modules/unistr/u32-strcoll: New file.
43629         * lib/unistr/u32-strcoll.c: New file.
43630
43631         New module 'unistr/u16-strcoll'.
43632         * modules/unistr/u16-strcoll: New file.
43633         * lib/unistr/u16-strcoll.c: New file.
43634
43635         New module 'unistr/u8-strcoll'.
43636         * modules/unistr/u8-strcoll: New file.
43637         * lib/unistr/u8-strcoll.c: New file.
43638         * lib/unistr/u-strcoll.h: New file.
43639
43640 2009-02-07  Bruno Haible  <bruno@clisp.org>
43641
43642         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
43643         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
43644         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
43645         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
43646         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
43647         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
43648
43649 2009-02-07  Bruno Haible  <bruno@clisp.org>
43650
43651         Make 64-bit clean.
43652         * lib/unictype/gen-ctype.c (output_predicate, output_category,
43653         output_combclass, output_bidi_category, output_decimal_digit,
43654         output_digit, output_numeric, output_mirror, output_scripts,
43655         output_ident_category): Use proper width specifier in format strings.
43656
43657 2009-02-07  Bruno Haible  <bruno@clisp.org>
43658
43659         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
43660         failure behaviour.
43661
43662 2009-02-07  Jim Meyering  <meyering@redhat.com>
43663
43664         regex: avoid compilation failure with upcoming gcc-4.4
43665         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
43666         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
43667         "... error: integer overflow in preprocessor expression".
43668
43669 2009-02-05  Ben Pfaff  <blp@gnu.org>
43670
43671         Fix link errors on Windows when close module is used.
43672         * modules/close: Add $(LIB_CLOSE) to Link section.
43673         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
43674         $(LIB_CLOSE) on Windows.
43675
43676 2009-02-05  Jim Meyering  <meyering@redhat.com>
43677
43678         still avoid unused-parameter warnings, but do it cleanly
43679         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
43680         (get_fs_usage): Cast to void instead.
43681         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
43682         (dev_from_mount_options, read_file_system_list): Cast to void.
43683         Prompted by Bruno Haible.
43684
43685 2009-02-04  Jim Meyering  <meyering@redhat.com>
43686
43687         fsusage.c: correct copyright year
43688         * lib/fsusage.c: Reflect year in which the change is pushed into
43689
43690         avoid misc. warnings
43691         * lib/fsusage.c (UNUSED_PARAM): Define.
43692         (get_fs_usage): Mark parameter "disk" as unused.
43693         * lib/getugroups.c (getgrent): Use "void" in prototype.
43694         * lib/mountlist.c: Mark unused parameters.
43695         (read_file_system_list): Declare a local with "const".
43696         * lib/nanosleep.c (getnow): Declare static.
43697         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
43698
43699         dirfd: set errno upon failure
43700         * lib/dirfd.c: Include <errno.h>.
43701         Set errno to ENOTSUP when returning -1.
43702         * modules/dirfd (Depends-on): Add errno.
43703         Suggested by John Kodis <kodis@comcast.net>.
43704
43705 2009-02-01  Bruno Haible  <bruno@clisp.org>
43706
43707         Don't assume sizeof (long) >= sizeof (void *).
43708         * lib/memcmp.c: Include stdint.h.
43709         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
43710         srcp2 to 'const byte *'.
43711         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
43712         types to uintptr_t.
43713         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
43714         * modules/memcmp (Depends-on): Add stdint.
43715         Reported by Ozkan Sezer <sezeroz@gmail.com>.
43716
43717 2009-01-30  Eric Blake  <ebb9@byu.net>
43718
43719         fix more require-before-expand issues
43720         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
43721         expand, AC_PROG_AWK.
43722         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
43723
43724 2009-01-28  Eric Blake  <ebb9@byu.net>
43725
43726         version-etc: use consistent URL formatting
43727         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
43728         Improve formatting.  Use fputs for string without %.
43729
43730 2009-01-28  Jim Meyering  <meyering@redhat.com>
43731
43732         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
43733         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
43734         "underquoted definition of NAME" from autoconf-2.59.
43735
43736 2009-01-28  Bruno Haible  <bruno@clisp.org>
43737
43738         * doc/gnulib.texi: Add "Obsolete modules" to index.
43739
43740 2009-01-28  Jim Meyering  <meyering@redhat.com>
43741
43742         useless-if-before-free: recognize more variants
43743         * build-aux/useless-if-before-free: Also recognize e.g.,
43744         if (NULL != p) free (p);
43745
43746 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
43747
43748         test-getaddrinfo: skip (don't fail) this test when there's no network
43749         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
43750         on the presumption that it means you lack network access.
43751
43752 2009-01-26  Jim Meyering  <meyering@redhat.com>
43753
43754         fflush: avoid warnings on modern systems
43755         * lib/fflush.c (rpl_fflush): Move declarations of locals,
43756         pos and result, into scopes where they're used.
43757
43758 2009-01-26  Eric Blake  <ebb9@byu.net>
43759
43760         Silence warning reintroduced by recent extensions patch.
43761         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
43762         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
43763         autoconf.
43764
43765         Backport improved autoconf semantics of AC_DEFUN_ONCE.
43766         * m4/00gnulib.m4: New file.
43767         * gnulib-tool (func_get_filelist): Always use it.
43768         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
43769         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
43770
43771 2009-01-25  Bruno Haible  <bruno@clisp.org>
43772
43773         Make test-quotearg work on MacOS X and AIX.
43774         * tests/test-quotearg.sh: New file.
43775         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
43776         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
43777         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
43778         include <libintl.h>.
43779         (fake_locale): Remove variable.
43780         (gettext, dgettext, dcgettext): Remove functions.
43781         (main): Instead of setting a fake locale, set a real locale. Call
43782         textdomain and bindtextdomain.
43783         * modules/quotearg-tests (Files): Add the new files.
43784         (Depends-on): Add gettext, setenv, unsetenv.
43785         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
43786         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
43787         Augment TESTS_ENVIRONMENT.
43788
43789 2009-01-25  Bruno Haible  <bruno@clisp.org>
43790
43791         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
43792         fr_FR.ISO8859-1 locale on MacOS X.
43793         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
43794         ja_JP.eucJP locale on MacOS X.
43795         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
43796         zh_CN.GB18030 locale on MacOS X.
43797
43798 2009-01-25  Bruno Haible  <bruno@clisp.org>
43799
43800         Avoid link errors on MacOS X 10.3.
43801         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
43802         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
43803
43804 2009-01-25  Bruno Haible  <bruno@clisp.org>
43805
43806         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
43807         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
43808         * modules/pipe (Files): Remove m4/posix_spawn.m4.
43809         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
43810         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
43811         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
43812         posix_spawnattr_init, posix_spawnattr_setsigmask,
43813         posix_spawnattr_setflags, posix_spawnattr_destroy.
43814
43815         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
43816         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
43817         * modules/execute (Files): Remove m4/posix_spawn.m4.
43818         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
43819         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
43820         posix_spawnattr_init, posix_spawnattr_setsigmask,
43821         posix_spawnattr_setflags, posix_spawnattr_destroy.
43822
43823 2009-01-25  Bruno Haible  <bruno@clisp.org>
43824
43825         * lib/glthread/threadlib.c: Include <stdlib.h>.
43826
43827 2009-01-25  Bruno Haible  <bruno@clisp.org>
43828
43829         * lib/glthread/threadlib.c (dummy): New declaration.
43830
43831 2009-01-25  Bruno Haible  <bruno@clisp.org>
43832
43833         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
43834         multibyte characters also for the GB18030 encoding. Don't crash when
43835         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
43836
43837 2009-01-25  Bruno Haible  <bruno@clisp.org>
43838
43839         Avoid redefining 'struct random_data' on OSF/1 5.1.
43840         * lib/stdlib.in.h: Include <random.h> if it exists.
43841         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
43842         HAVE_RANDOM_H. Include <random.h> when testing whether
43843         'struct random_data' exists.
43844         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
43845
43846 2009-01-25  Bruno Haible  <bruno@clisp.org>
43847
43848         Don't install charset.alias on MacOS X >= 10.3.
43849         * lib/localcharset.c (DARWIN7): New macro.
43850         (get_charset_aliases): Hardcode the result for Darwin7.
43851         * modules/localcharset (install-exec-local): Don't install
43852         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
43853
43854 2009-01-25  Bruno Haible  <bruno@clisp.org>
43855
43856         Don't install charset.alias on mingw and Cygwin.
43857         * modules/localcharset (install-exec-local): Don't install
43858         charset.alias on mingw and Cygwin, if the file does not yet exist.
43859         The result for these platforms is hardcoded in localcharset.c.
43860
43861 2009-01-25  Bruno Haible  <bruno@clisp.org>
43862
43863         Make it possible again to use AC_GNU_SOURCE together with gnulib.
43864         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
43865         before requiring AC_USE_SYSTEM_EXTENSIONS.
43866
43867 2009-01-25  Jim Meyering  <meyering@redhat.com>
43868
43869         c-strtod: avoid warnings
43870         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
43871         "assignment discards qualifiers from pointer target type" warnings.
43872
43873 2009-01-24  Bruno Haible  <bruno@clisp.org>
43874
43875         Add support for non-UTF-8 locales on MacOS X.
43876         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
43877         canonical encodings. For Darwin 7 and newer, don't map traditional
43878         encodings to UTF-8.
43879         Reported by Vincent Lefevre <vincent@vinc17.org>
43880         at <http://savannah.gnu.org/bugs/?25235>.
43881
43882 2009-01-24  Bruno Haible  <bruno@clisp.org>
43883
43884         * doc/gnulib.texi (Obsolete modules): New section.
43885         Reported by Mike Frysinger <vapier@gentoo.org>.
43886
43887 2009-01-24  Bruno Haible  <bruno@clisp.org>
43888
43889         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
43890         (%.dvi): New rule.
43891
43892 2009-01-24  Bruno Haible  <bruno@clisp.org>
43893
43894         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
43895         Reported by Eric Blake.
43896
43897 2009-01-24  Bruno Haible  <bruno@clisp.org>
43898
43899         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
43900         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
43901         Reported by Gary V. Vaughan <gary@gnu.org>.
43902
43903 2009-01-24  Bruno Haible  <bruno@clisp.org>
43904
43905         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
43906
43907 2009-01-23  Bruno Haible  <bruno@clisp.org>
43908
43909         Make c-strtod, c-strtold usable in libraries.
43910         * lib/c-strtod.c: Include string.h instead of xalloc.h.
43911         (C_STRTOD): Call strdup instead of xstrdup.
43912         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
43913         * modules/c-strtold (Depends-on): Likewise.
43914         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
43915         * NEWS: Mention the change.
43916         Reported by Michael Gold <mgold@ncf.ca>.
43917
43918 2009-01-23  Jim Meyering  <meyering@redhat.com>
43919
43920         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
43921         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
43922         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
43923
43924 2009-01-23  Simon Josefsson  <simon@josefsson.org>
43925
43926         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
43927         GNU CoreUtils.
43928         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
43929         * modules/version-etc (Description): Update.
43930
43931 2009-01-22  Bruno Haible  <bruno@clisp.org>
43932
43933         Cache the C locale object.
43934         * lib/c-strtod.c (c_locale_cache): New variable.
43935         (c_locale): New function.
43936         (C_STRTOD): Use it, and don't call freelocale.
43937         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
43938         Suggested by Paolo Bonzini.
43939
43940 2009-01-21  Bruno Haible  <bruno@clisp.org>
43941
43942         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
43943         conditions other than overflow.
43944
43945 2009-01-21  Bruno Haible  <bruno@clisp.org>
43946
43947         * lib/c-strtod.c: Include errno.h.
43948         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
43949         value from STRTOD_L and STRTOD.
43950
43951 2009-01-21  Bruno Haible  <bruno@clisp.org>
43952         and Jim Meyering  <meyering@redhat.com>
43953
43954         nanosleep: skip configure test (fail it) for apple universal builds
43955         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
43956         universal builds, assume that nanosleep does not work.
43957         * modules/nanosleep (Depends-on): Add multiarch.
43958
43959         mktime: skip configure test (fail it) for apple universal builds
43960         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
43961         universal builds, assume that mktime does not work.
43962         * modules/mktime (Depends-on): Add multiarch.
43963
43964 2009-01-21  Eric Blake  <ebb9@byu.net>
43965
43966         multiarch: avoid expand-before-require warning
43967         * modules/multiarch (configure.ac): Require, rather than expand,
43968         gl_MULTIARCH.
43969         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
43970         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
43971         enforce that all clients require it.  Partial reversion of
43972         2008-12-29 patch.
43973
43974         error: avoid expand-before-require warning
43975         * modules/errno (configure.ac): Require, rather than expand,
43976         gl_HEADER_ERRNO_H.
43977         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
43978         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
43979         enforce that all clients require it.
43980
43981         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
43982         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
43983         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
43984         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
43985
43986 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
43987
43988         Revert:
43989         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
43990
43991         regex: do not depend on obsolete modules.
43992         * modules/regex: Remove memcmp and memmove.
43993
43994 2009-01-20  Bruno Haible  <bruno@clisp.org>
43995
43996         Make the 'link' module link on Windows NT 4.
43997         * lib/link.c (_WIN32_WINNT): Don't define.
43998         (CreateHardLinkFuncType): New type.
43999         (CreateHardLinkFunc, initialized): New variables.
44000         (initialize): New function.
44001         (link): Invoke CreateHardLink indirectly through the function pointer.
44002
44003 2009-01-20  Bruno Haible  <bruno@clisp.org>
44004
44005         Fix compilation failure on mingw.
44006         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
44007
44008 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
44009
44010         * doc/c-strtod.texi: Mention a couple of restrictions.
44011
44012 2009-01-20  Jim Meyering  <meyering@redhat.com>
44013
44014         gettimeofday: move more declarations out of functions
44015         * lib/gettimeofday.c: Move extern declarations of tzset and
44016         gmtime out of containing functions.  Prompted by Bruno Haible.
44017
44018 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
44019
44020         regex: do not depend on obsolete modules.
44021         * modules/regex: Remove memcmp and memmove.
44022
44023 2009-01-19  Bruno Haible  <bruno@clisp.org>
44024
44025         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
44026         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
44027         gl_BIGENDIAN, not AC_C_BIGENDIAN.
44028         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
44029         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
44030
44031 2009-01-19  Bruno Haible  <bruno@clisp.org>
44032
44033         * tests/test-link.c: Include <errno.h>.
44034         (main): Exit with code 77 when a hard link cannot be created due to
44035         the file system.
44036         * tests/test-link.sh: Skip test when a hard link cannot be created due
44037         to the file system.
44038         Suggested by Eric Blake.
44039
44040 2009-01-19  Martin Lambers  <marlam@marlam.de>
44041
44042         * modules/link-tests: New file.
44043         * tests/test-link.sh: New file.
44044         * tests/test-link.c: New file.
44045
44046 2009-01-19  Eric Blake  <ebb9@byu.net>
44047
44048         doc: mention another function added in cygwin 1.7.0
44049         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
44050         Another new function in cygwin 1.7.
44051
44052 2009-01-19  Bruno Haible  <bruno@clisp.org>
44053
44054         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
44055         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
44056         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
44057         gl_BIGENDIAN, not AC_C_BIGENDIAN.
44058         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
44059         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
44060         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
44061         * m4/md4.m4 (gl_MD4): Likewise.
44062         * m4/md5.m4 (gl_MD5): Likewise.
44063         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
44064         * m4/sha1.m4 (gl_SHA1): Likewise.
44065         * m4/sha256.m4 (gl_SHA256): Likewise.
44066         * m4/sha512.m4 (gl_SHA512): Likewise.
44067
44068 2009-01-19  Bruno Haible  <bruno@clisp.org>
44069
44070         * modules/uniname/uniname-tests (Depends-on): Add progname.
44071         * tests/uniname/test-uninames.c: Include progname.h.
44072         (main): Call set_program_name.
44073
44074         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
44075         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
44076         (main): Call set_program_name.
44077
44078         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
44079         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
44080         (main): Call set_program_name.
44081
44082         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
44083         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
44084         (main): Call set_program_name.
44085
44086         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
44087         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
44088         (main): Call set_program_name.
44089
44090         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
44091         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
44092         (main): Call set_program_name.
44093
44094         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
44095         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
44096         (main): Call set_program_name.
44097
44098         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
44099         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
44100         (main): Call set_program_name.
44101
44102         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
44103         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
44104         (main): Call set_program_name.
44105
44106 2009-01-19  Eric Blake  <ebb9@byu.net>
44107
44108         test-unistd: test previous patch
44109         * tests/test-unistd.c: Test *_FILENO macros.
44110
44111         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
44112         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
44113         Guarantee a definition.
44114         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
44115         * modules/unistd-safer (Depends-on): Add dependency on unistd.
44116         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
44117         * lib/dup-safer.c (STDERR_FILENO): Likewise.
44118         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
44119         Likewise.
44120         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
44121         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
44122         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
44123         Likewise.
44124         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
44125         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
44126         (STDERR_FILENO): Likewise.
44127         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
44128         (STDERR_FILENO): Likewise.
44129         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
44130         (STDERR_FILENO): Likewise.
44131         Reported by Elbert Pol.
44132
44133 2009-01-19  Eric Blake  <ebb9@byu.net>
44134
44135         doc: mention more functions added in cygwin 1.7.0
44136         * doc/posix-functions/abort.texi (abort): Update wording related
44137         to cygwin.
44138         * doc/posix-functions/daylight.texi (daylight): Likewise.
44139         * doc/posix-functions/optarg.texi (optarg): Likewise.
44140         * doc/posix-functions/optarg.texi (opterr): Likewise.
44141         * doc/posix-functions/optarg.texi (optind): Likewise.
44142         * doc/posix-functions/optarg.texi (optopt): Likewise.
44143         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
44144         worked in 1.5.x, and was withdrawn in 1.7.
44145         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
44146         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
44147         cygwin versions.
44148         * doc/posix-functions/perror.texi (perror): Likewise.
44149         * doc/posix-functions/printf.texi (printf): Likewise.
44150         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
44151         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
44152         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
44153         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
44154         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
44155         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
44156         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
44157         Likewise.
44158         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
44159         Likewise.
44160         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
44161         this function.
44162         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
44163         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
44164         Likewise.
44165         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
44166         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
44167         * doc/posix-functions/confstr.texi (confstr): Likewise.
44168         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
44169         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
44170         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
44171         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
44172         * doc/posix-functions/fputws.texi (fputws): Likewise.
44173         * doc/posix-functions/fwide.texi (fwide): Likewise.
44174         * doc/posix-functions/getwc.texi (getwc): Likewise.
44175         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
44176         * doc/posix-functions/putwc.texi (putwc): Likewise.
44177         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
44178         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
44179         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
44180         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
44181         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
44182         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
44183         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
44184         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
44185         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
44186         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
44187         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
44188
44189 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
44190
44191         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
44192         * lib/ioctl.c: Include <sys/ioctl.h>.
44193
44194 2009-01-19  Simon Josefsson  <simon@josefsson.org>
44195
44196         * modules/getdate-tests (Depends-on): Add progname.
44197         * tests/test-getdate.c: Use progname module, to avoid link errors
44198         on non-glibc systems.
44199
44200 2009-01-18  Simon Josefsson  <simon@josefsson.org>
44201
44202         * modules/filenamecat-tests (Depends-on): Add progname.
44203         * modules/fstrcmp-tests (Depends-on): Likewise.
44204
44205         * tests/test-filenamecat.c: Use progname module, to avoid link
44206         errors on non-glibc systems.
44207         * tests/test-fstrcmp.c: Likewise.
44208
44209 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
44210
44211         gettimeofday: avoid warning: nested extern declaration of 'localtime'
44212         * lib/gettimeofday.c: Move extern declaration out of function.
44213
44214 2009-01-18  Bruno Haible  <bruno@clisp.org>
44215
44216         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
44217         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
44218         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
44219
44220 2009-01-18  Bruno Haible  <bruno@clisp.org>
44221
44222         * lib/strftime.c (MEMPCPY): Remove unused macro.
44223         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
44224
44225 2009-01-18  Martin Lambers  <marlam@marlam.de>
44226
44227         New module 'link'.
44228         * lib/unistd.in.h (link): New declaration.
44229         * lib/link.c: New file.
44230         * m4/link.m4: New file.
44231         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
44232         HAVE_LINK.
44233         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
44234         * modules/link: New file.
44235         * doc/posix-functions/link.texi: Mention the new module.
44236
44237 2009-01-18  Bruno Haible  <bruno@clisp.org>
44238
44239         * tests/test-avltree_list.c (main): Call set_program_name.
44240         * tests/test-avltree_oset.c (main): Likewise.
44241         * tests/test-obstack-printf.c: Include progname.h.
44242         (main): Call set_program_name.
44243         * tests/test-quotearg.c: Include progname.h.
44244         (main): Call set_program_name.
44245         * tests/test-xmemdup0.c: Include progname.h.
44246         (main): Call set_program_name.
44247
44248 2009-01-18  Bruno Haible  <bruno@clisp.org>
44249
44250         New module 'alphasort'.
44251         * lib/dirent.in.h (alphasort): New declaration.
44252         * lib/alphasort.c: New file, from glibc with modifications.
44253         * m4/alphasort.m4: New file.
44254         * modules/alphasort: New file.
44255         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
44256         HAVE_ALPHASORT.
44257         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
44258         HAVE_ALPHASORT.
44259         * doc/posix-functions/alphasort.texi: Mention the new module and the
44260         portability problems.
44261
44262 2009-01-18  Bruno Haible  <bruno@clisp.org>
44263
44264         New module 'scandir'.
44265         * lib/dirent.in.h (scandir): New declaration.
44266         * lib/scandir.c: New file, from glibc with modifications.
44267         * m4/scandir.m4: New file.
44268         * modules/scandir: New file.
44269         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
44270         HAVE_SCANDIR.
44271         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
44272         HAVE_SCANDIR.
44273         * doc/posix-functions/scandir.texi: Mention the new module and the
44274         portability problems.
44275
44276 2009-01-17  Bruno Haible  <bruno@clisp.org>
44277
44278         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
44279         Update documentation.
44280         (func_remove_suffix): Escape all dots in the suffix. Update
44281         documentation.
44282         (func_filter_filelist): Update documentation.
44283         Reported by Ralf Wildenhues.
44284
44285 2009-01-17  Bruno Haible  <bruno@clisp.org>
44286
44287         * modules/dprintf-posix-tests: New file.
44288         * tests/test-dprintf-posix.sh: New file.
44289         * tests/test-dprintf-posix.c: New file.
44290
44291         New modules 'dprintf', 'dprintf-posix'.
44292         * lib/stdio.in.h (dprintf): New declaration.
44293         * lib/dprintf.c: New file.
44294         * m4/dprintf.m4: New file.
44295         * m4/dprintf-posix.m4: New file.
44296         * modules/dprintf: New file.
44297         * modules/dprintf-posix: New file.
44298         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
44299         HAVE_DPRINTF, REPLACE_DPRINTF.
44300         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
44301         HAVE_DPRINTF, REPLACE_DPRINTF.
44302         * doc/posix-functions/dprintf.texi: Mention the new modules.
44303
44304 2009-01-17  Bruno Haible  <bruno@clisp.org>
44305
44306         * modules/vdprintf-posix-tests: New file.
44307         * tests/test-vdprintf-posix.sh: New file.
44308         * tests/test-vdprintf-posix.c: New file.
44309
44310         New modules 'vdprintf', 'vdprintf-posix'.
44311         * lib/stdio.in.h (vdprintf): New declaration.
44312         * lib/vdprintf.c: New file.
44313         * m4/vdprintf.m4: New file.
44314         * m4/vdprintf-posix.m4: New file.
44315         * modules/vdprintf: New file.
44316         * modules/vdprintf-posix: New file.
44317         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
44318         HAVE_VDPRINTF, REPLACE_VDPRINTF.
44319         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
44320         HAVE_VDPRINTF, REPLACE_VDPRINTF.
44321         * doc/posix-functions/vdprintf.texi: Mention the new modules.
44322
44323 2009-01-17  Bruno Haible  <bruno@clisp.org>
44324
44325         Fix replacement of fopen on mingw.
44326         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
44327         mingw.
44328
44329 2009-01-17  Bruno Haible  <bruno@clisp.org>
44330
44331         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
44332         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
44333
44334 2009-01-17  Bruno Haible  <bruno@clisp.org>
44335
44336         Avoid test-fflush2.sh failure on mingw.
44337         * tests/test-fflush2.c: Include binary-io.h.
44338         (main): Put standard input into binary mode.
44339         * modules/fflush-tests (Depends-on): Add binary-io.
44340
44341 2009-01-17  Bruno Haible  <bruno@clisp.org>
44342
44343         * lib/wchar.in.h: In another particular situation, include only the
44344         system's <wchar.h> file.
44345         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
44346         Reported by Albert Chin-A-Young <china@thewrittenword.com>
44347         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
44348
44349 2009-01-17  Bruno Haible  <bruno@clisp.org>
44350
44351         Support for stripping executables in --enable-relocatable.
44352         * build-aux/install-reloc: Expect one more argument, or an environment
44353         variable RELOC_STRIP_PROG. If set, strip the destination program and
44354         its wrapper.
44355         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
44356         RELOC_STRIP_PROG.
44357         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
44358         to set RELOCATABLE_STRIP.
44359         * NEWS: Mention the new Makefile requirement.
44360
44361 2009-01-17  Bruno Haible  <bruno@clisp.org>
44362
44363         * build-aux/install-reloc: Remove debugging information left over by
44364         C compiler on MacOS X.
44365
44366 2009-01-17  Bruno Haible  <bruno@clisp.org>
44367
44368         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
44369         * lib/progreloc.c (find_executable): Fix type of pointer passed to
44370         _NSGetExecutablePath.
44371
44372 2009-01-16  Jim Meyering  <meyering@redhat.com>
44373
44374         strerror: avoid warnings about discarding "const"
44375         * lib/strerror.c (rpl_strerror): Instead of returning a const
44376         string from each and every "case", use a variable, and add a single
44377         cast after the switch.
44378
44379 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
44380
44381         * lib/arpa_inet.in.h: Add extern "C" block for C++.
44382
44383 2009-01-16  Bruno Haible  <bruno@clisp.org>
44384
44385         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
44386         array initializer syntax that also works in C++ mode.
44387         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44388
44389 2009-01-16  Jim Meyering  <meyering@redhat.com>
44390
44391         poll: suppress a warning
44392         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
44393         to ignore "...unsigned expression < 0 is always false" warnings.
44394
44395 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
44396
44397         poll: remove declarations of unused variables
44398         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
44399         sockbuf and optlen.
44400
44401 2009-01-15  Bruno Haible  <bruno@clisp.org>
44402
44403         Make fflush-after-ungetc POSIX compliant on BSD systems.
44404         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
44405         (clear_ungetc_buffer): Implement also for other systems.
44406         (rpl_fflush): On glibc systems, invoke
44407         clear_ungetc_buffer_preserving_position. Otherwise, invoke
44408         clear_ungetc_buffer after fetching the stream's position, not before.
44409
44410 2009-01-15  Bruno Haible  <bruno@clisp.org>
44411
44412         Make fflush-after-ungetc POSIX compliant on glibc systems.
44413         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
44414         after ungetc.
44415         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
44416         (rpl_fflush): On glibc systems, simply call the system's fflush
44417         function after clearing the ungetc buffer.
44418         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
44419         Instead, lseek only to the end of file, then use the system's fseeko
44420         for the rest. On glibc systems, reset the EOF indicator bit.
44421
44422 2009-01-15  Jim Meyering  <meyering@redhat.com>
44423
44424         openmp.m4: revert quote-adding change, for portability to older autoconf
44425         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
44426         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
44427         Simon Josefsson noticed the problem when using autoconf-2.61.
44428
44429 2009-01-15  Bruno Haible  <bruno@clisp.org>
44430
44431         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
44432         * tests/test-fflush2.c (ASSERT): Always fail.
44433         (main): Add two tests for fflush() after ungetc(), taking into account
44434         the Austin Group's clarification.
44435         Suggested by Eric Blake.
44436
44437 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
44438
44439         mktime.m4: remove K&R-style function prototypes
44440         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
44441         for the Sun C++ compiler.
44442
44443 2009-01-14  Bruno Haible  <bruno@clisp.org>
44444
44445         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
44446         while including <wchar.h>.
44447         * lib/wchar.in.h: In two particular situations on HP-UX, include only
44448         the system's <wchar.h> file.
44449         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44450
44451 2009-01-14  Bruno Haible  <bruno@clisp.org>
44452
44453         * m4/csharp.m4: Don't mention gettext on the serial number line.
44454         * m4/csharpexec.m4: Likewise.
44455         * m4/eaccess.m4: Likewise.
44456         * m4/javaexec.m4: Likewise.
44457         * m4/sig_atomic_t.m4: Likewise.
44458         * m4/tmpdir.m4: Likewise.
44459         * m4/intldir.m4: Bump gettext version.
44460         * m4/lib-ld.m4: Likewise.
44461
44462 2009-01-14  Bruno Haible  <bruno@clisp.org>
44463
44464         * lib/progname.c (set_program_name): Add more comments.
44465         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
44466
44467 2009-01-14  Simon Josefsson  <simon@josefsson.org>
44468
44469         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
44470         were sys/stat.h does not define it.
44471
44472 2009-01-14  Jim Meyering  <meyering@redhat.com>
44473
44474         many *.m4 files: improve m4 quoting
44475         99% of this change was performed by running the following commands:
44476         git ls-files | grep '\.m4$' | xargs perl -pi \
44477           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
44478           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
44479           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
44480           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
44481         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
44482         The remainder were to add Copyright dates, increment serial numbers,
44483         undo some changes in comments, exclude m4/intl.m4, and add quotes
44484         around the "1" in ",1" where the unusual spacing prohibited the
44485         above regexps from doing the job.  For more details, see
44486         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
44487         * m4/acl.m4: Modified.
44488         * m4/afs.m4: Likewise.
44489         * m4/alloca.m4: Likewise.
44490         * m4/argp.m4: Likewise.
44491         * m4/argz.m4: Likewise.
44492         * m4/atexit.m4: Likewise.
44493         * m4/bison-i18n.m4: Likewise.
44494         * m4/bison.m4: Likewise.
44495         * m4/byteswap.m4: Likewise.
44496         * m4/c-stack.m4: Likewise.
44497         * m4/c-strtod.m4: Likewise.
44498         * m4/calloc.m4: Likewise.
44499         * m4/canonicalize-lgpl.m4: Likewise.
44500         * m4/chown.m4: Likewise.
44501         * m4/clock_time.m4: Likewise.
44502         * m4/codeset.m4: Likewise.
44503         * m4/copy-file.m4: Likewise.
44504         * m4/csharp.m4: Likewise.
44505         * m4/csharpcomp.m4: Likewise.
44506         * m4/csharpexec.m4: Likewise.
44507         * m4/d-ino.m4: Likewise.
44508         * m4/d-type.m4: Likewise.
44509         * m4/dirfd.m4: Likewise.
44510         * m4/double-slash-root.m4: Likewise.
44511         * m4/eaccess.m4: Likewise.
44512         * m4/eealloc.m4: Likewise.
44513         * m4/environ.m4: Likewise.
44514         * m4/errno_h.m4: Likewise.
44515         * m4/euidaccess.m4: Likewise.
44516         * m4/execute.m4: Likewise.
44517         * m4/fatal-signal.m4: Likewise.
44518         * m4/fchdir.m4: Likewise.
44519         * m4/fcntl_h.m4: Likewise.
44520         * m4/fileblocks.m4: Likewise.
44521         * m4/filenamecat.m4: Likewise.
44522         * m4/findprog.m4: Likewise.
44523         * m4/flexmember.m4: Likewise.
44524         * m4/fnmatch.m4: Likewise.
44525         * m4/fopen.m4: Likewise.
44526         * m4/fpending.m4: Likewise.
44527         * m4/fprintf-posix.m4: Likewise.
44528         * m4/free.m4: Likewise.
44529         * m4/frexp.m4: Likewise.
44530         * m4/frexpl.m4: Likewise.
44531         * m4/fsusage.m4: Likewise.
44532         * m4/ftruncate.m4: Likewise.
44533         * m4/gc-camellia.m4: Likewise.
44534         * m4/gc-random.m4: Likewise.
44535         * m4/gc.m4: Likewise.
44536         * m4/getaddrinfo.m4: Likewise.
44537         * m4/getcwd-abort-bug.m4: Likewise.
44538         * m4/getcwd-path-max.m4: Likewise.
44539         * m4/getdate.m4: Likewise.
44540         * m4/getdomainname.m4: Likewise.
44541         * m4/getgroups.m4: Likewise.
44542         * m4/gethostname.m4: Likewise.
44543         * m4/gethrxtime.m4: Likewise.
44544         * m4/getline.m4: Likewise.
44545         * m4/getloadavg.m4: Likewise.
44546         * m4/getndelim2.m4: Likewise.
44547         * m4/getpass.m4: Likewise.
44548         * m4/gettext.m4: Likewise.
44549         * m4/gettime.m4: Likewise.
44550         * m4/gettimeofday.m4: Likewise.
44551         * m4/gnulib-common.m4: Likewise.
44552         * m4/group-member.m4: Likewise.
44553         * m4/host-os.m4: Likewise.
44554         * m4/iconv.m4: Likewise.
44555         * m4/iconv_open.m4: Likewise.
44556         * m4/inet_ntop.m4: Likewise.
44557         * m4/inet_pton.m4: Likewise.
44558         * m4/inline.m4: Likewise.
44559         * m4/intldir.m4: Likewise.
44560         * m4/intlmacosx.m4: Likewise.
44561         * m4/intmax.m4: Likewise.
44562         * m4/intmax_t.m4: Likewise.
44563         * m4/inttypes.m4: Likewise.
44564         * m4/inttypes_h.m4: Likewise.
44565         * m4/inttypes-pri.m4: Likewise.
44566         * m4/isapipe.m4: Likewise.
44567         * m4/isnand.m4: Likewise.
44568         * m4/isnanf.m4: Likewise.
44569         * m4/isnanl.m4: Likewise.
44570         * m4/javacomp.m4: Likewise.
44571         * m4/javaexec.m4: Likewise.
44572         * m4/jm-winsz1.m4: Likewise.
44573         * m4/jm-winsz2.m4: Likewise.
44574         * m4/lchown.m4: Likewise.
44575         * m4/lcmessage.m4: Likewise.
44576         * m4/ldexpl.m4: Likewise.
44577         * m4/lib-ld.m4: Likewise.
44578         * m4/lib-link.m4: Likewise.
44579         * m4/libsigsegv.m4: Likewise.
44580         * m4/link-follow.m4: Likewise.
44581         * m4/localcharset.m4: Likewise.
44582         * m4/locale-fr.m4: Likewise.
44583         * m4/locale-ja.m4: Likewise.
44584         * m4/locale-tr.m4: Likewise.
44585         * m4/locale-zh.m4: Likewise.
44586         * m4/lock.m4: Likewise.
44587         * m4/longlong.m4: Likewise.
44588         * m4/ls-mntd-fs.m4: Likewise.
44589         * m4/lstat.m4: Likewise.
44590         * m4/malloc.m4: Likewise.
44591         * m4/mathl.m4: Likewise.
44592         * m4/mbrtowc.m4: Likewise.
44593         * m4/mbstate_t.m4: Likewise.
44594         * m4/mbswidth.m4: Likewise.
44595         * m4/memchr.m4: Likewise.
44596         * m4/memcmp.m4: Likewise.
44597         * m4/memcpy.m4: Likewise.
44598         * m4/memmem.m4: Likewise.
44599         * m4/memmove.m4: Likewise.
44600         * m4/mempcpy.m4: Likewise.
44601         * m4/memrchr.m4: Likewise.
44602         * m4/memset.m4: Likewise.
44603         * m4/minmax.m4: Likewise.
44604         * m4/mkdir-slash.m4: Likewise.
44605         * m4/mkdtemp.m4: Likewise.
44606         * m4/mktime.m4: Likewise.
44607         * m4/mmap-anon.m4: Likewise.
44608         * m4/mountlist.m4: Likewise.
44609         * m4/nanosleep.m4: Likewise.
44610         * m4/nls.m4: Likewise.
44611         * m4/nocrash.m4: Likewise.
44612         * m4/open.m4: Likewise.
44613         * m4/openat.m4: Likewise.
44614         * m4/openmp.m4: Likewise.
44615         * m4/pathmax.m4: Likewise.
44616         * m4/perl.m4: Likewise.
44617         * m4/physmem.m4: Likewise.
44618         * m4/pipe.m4: Likewise.
44619         * m4/po.m4: Likewise.
44620         * m4/poll.m4: Likewise.
44621         * m4/posixtm.m4: Likewise.
44622         * m4/posixver.m4: Likewise.
44623         * m4/printf-frexp.m4: Likewise.
44624         * m4/printf-frexpl.m4: Likewise.
44625         * m4/printf-posix.m4: Likewise.
44626         * m4/printf-posix-rpl.m4: Likewise.
44627         * m4/printf.m4: Likewise.
44628         * m4/progtest.m4: Likewise.
44629         * m4/putenv.m4: Likewise.
44630         * m4/readline.m4: Likewise.
44631         * m4/readlink.m4: Likewise.
44632         * m4/readutmp.m4: Likewise.
44633         * m4/realloc.m4: Likewise.
44634         * m4/regex.m4: Likewise.
44635         * m4/relocatable.m4: Likewise.
44636         * m4/relocatable-lib.m4: Likewise.
44637         * m4/rename-dest-slash.m4: Likewise.
44638         * m4/rename.m4: Likewise.
44639         * m4/rmdir-errno.m4: Likewise.
44640         * m4/rmdir.m4: Likewise.
44641         * m4/roundf.m4: Likewise.
44642         * m4/roundl.m4: Likewise.
44643         * m4/rpmatch.m4: Likewise.
44644         * m4/save-cwd.m4: Likewise.
44645         * m4/selinux-selinux-h.m4: Likewise.
44646         * m4/setenv.m4: Likewise.
44647         * m4/settime.m4: Likewise.
44648         * m4/sig2str.m4: Likewise.
44649         * m4/sig_atomic_t.m4: Likewise.
44650         * m4/signalblocking.m4: Likewise.
44651         * m4/signbit.m4: Likewise.
44652         * m4/sigpipe.m4: Likewise.
44653         * m4/sockets.m4: Likewise.
44654         * m4/sockpfaf.m4: Likewise.
44655         * m4/st_dm_mode.m4: Likewise.
44656         * m4/stat-time.m4: Likewise.
44657         * m4/stdbool.m4: Likewise.
44658         * m4/stdint.m4: Likewise.
44659         * m4/stdint_h.m4: Likewise.
44660         * m4/stpcpy.m4: Likewise.
44661         * m4/stpncpy.m4: Likewise.
44662         * m4/strcase.m4: Likewise.
44663         * m4/strchrnul.m4: Likewise.
44664         * m4/strcspn.m4: Likewise.
44665         * m4/strdup.m4: Likewise.
44666         * m4/strftime.m4: Likewise.
44667         * m4/strndup.m4: Likewise.
44668         * m4/strnlen.m4: Likewise.
44669         * m4/strpbrk.m4: Likewise.
44670         * m4/strptime.m4: Likewise.
44671         * m4/strsep.m4: Likewise.
44672         * m4/strtod.m4: Likewise.
44673         * m4/strtoimax.m4: Likewise.
44674         * m4/strtok_r.m4: Likewise.
44675         * m4/strtol.m4: Likewise.
44676         * m4/strtoll.m4: Likewise.
44677         * m4/strtoul.m4: Likewise.
44678         * m4/strtoull.m4: Likewise.
44679         * m4/strtoumax.m4: Likewise.
44680         * m4/strverscmp.m4: Likewise.
44681         * m4/threadlib.m4: Likewise.
44682         * m4/timegm.m4: Likewise.
44683         * m4/tm_gmtoff.m4: Likewise.
44684         * m4/tmpdir.m4: Likewise.
44685         * m4/tmpfile.m4: Likewise.
44686         * m4/tzset.m4: Likewise.
44687         * m4/uintmax_t.m4: Likewise.
44688         * m4/unlinkdir.m4: Likewise.
44689         * m4/unlocked-io.m4: Likewise.
44690         * m4/uptime.m4: Likewise.
44691         * m4/userspec.m4: Likewise.
44692         * m4/utimbuf.m4: Likewise.
44693         * m4/utime.m4: Likewise.
44694         * m4/utimes-null.m4: Likewise.
44695         * m4/utimes.m4: Likewise.
44696         * m4/vararrays.m4: Likewise.
44697         * m4/vasnprintf.m4: Likewise.
44698         * m4/vfprintf-posix.m4: Likewise.
44699         * m4/vprintf-posix.m4: Likewise.
44700         * m4/wait-process.m4: Likewise.
44701         * m4/wchar_t.m4: Likewise.
44702         * m4/wint_t.m4: Likewise.
44703         * m4/write-any-file.m4: Likewise.
44704         * m4/yield.m4: Likewise.
44705
44706 2009-01-13  Bruno Haible  <bruno@clisp.org>
44707
44708         Avoid test-copy-file.sh failures when ACL support insufficient.
44709         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
44710         TESTS_ENVIRONMENT.
44711         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
44712         Reported by Jim Meyering.
44713
44714 2009-01-13  Bruno Haible  <bruno@clisp.org>
44715
44716         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
44717         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
44718         * modules/unistdio/u8-printf-parse (Files): Likewise.
44719         * modules/unistdio/u32-printf-parse (Files): Likewise.
44720         * modules/unistdio/ulc-printf-parse (Files): Likewise.
44721
44722 2009-01-13  Simon Josefsson  <simon@josefsson.org>
44723
44724         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
44725         and m4/inttypes_h.m4 too.
44726
44727 2009-01-12  Eric Blake  <ebb9@byu.net>
44728
44729         tests: IRIX 6.2 cc can't compile -0.0 into .data
44730         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
44731         rather than at compile-time.
44732         * tests/test-floorl.c (minus_zero): Likewise.
44733         * tests/test-frexpl.c (minus_zero): Likewise.
44734         * tests/test-isnan.c (minus_zerol): Likewise.
44735         * tests/test-isnanl.h (minus_zero): Likewise.
44736         * tests/test-ldexpl.c (minus_zero): Likewise.
44737         * tests/test-roundl.c (minus_zero): Likewise.
44738         * tests/test-signbit.c (minus_zerol): Likewise.
44739         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
44740         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
44741         * tests/test-truncl.c (minus_zero): Likewise.
44742         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
44743         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
44744         Reported by Tom G. Christensen and Nelson H. F. Beebe.
44745
44746 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
44747
44748         regex: fix glibc bug 9697
44749         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
44750         handling.
44751
44752 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
44753
44754         regex: fix glibc bug 697
44755         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
44756         being NULL also if there are no backreferences.
44757
44758 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
44759
44760         regex: merge glibc changes
44761         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
44762         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
44763         re_string_skip_chars, re_string_reconstruct): Likewise.
44764         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
44765
44766 2009-01-07  Jim Meyering  <meyering@redhat.com>
44767
44768         poll: filter through cppi
44769         * lib/poll.c: Indent cpp directives to reflect nesting.
44770
44771 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
44772
44773         poll: don't return uninitialized
44774         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
44775
44776 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
44777
44778         avoid compile failure on AIX 6.1
44779         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
44780         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
44781
44782 2009-01-04  Jim Meyering  <meyering@redhat.com>
44783
44784         remove duplicate inclusion of <stdio.h>
44785         * tests/test-fprintf-posix.c: Likewise.
44786         * tests/test-printf-posix.c: Likewise.
44787         * tests/test-snprintf-posix.c: Likewise.
44788         * tests/test-sprintf-posix.c: Likewise.
44789         * tests/test-vasprintf-posix.c: Likewise.
44790         * tests/test-vfprintf-posix.c: Likewise.
44791         * tests/test-vprintf-posix.c: Likewise.
44792         * tests/test-vsnprintf-posix.c: Likewise.
44793         * tests/test-vsprintf-posix.c: Likewise.
44794
44795 2009-01-03  Jim Meyering  <meyering@redhat.com>
44796
44797         gnulib-tool: fix sed-based filtering
44798         * gnulib-tool (func_filter_filelist): Remove extra backslash
44799         in sed_fff_filter definition.
44800
44801 2009-01-02  Jim Meyering  <meyering@redhat.com>
44802
44803         strftime: avoid compilation failure on Solaris 2.6
44804         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
44805         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
44806         Don't #define mbrlen or mbsinit, since now they're guaranteed to
44807         be available.  Reported by Tom G. Christensen.  Details in
44808         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
44809
44810 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44811             Bruno Haible  <bruno@clisp.org>
44812
44813         Speed up gnulib-tool by doing more string processing through shell
44814         built-ins.
44815         * gnulib-tool (fast_func_append): New variable.
44816         (func_remove_prefix, func_remove_suffix): New functions.
44817         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
44818         (func_filter_filelist): New function.
44819         (func_get_dependencies): Use func_remove_suffix instead of sed.
44820         (func_get_automake_snippet): Use func_filter_filelist instead of a
44821         subshell and sed invocation.
44822
44823 2009-01-01  Bruno Haible  <bruno@clisp.org>
44824
44825         Fix a security bug.
44826         * gnulib-tool (func_import, import, update): Don't allow the characters
44827         '"', '$', '`', '\' in macro arguments that become part of commands that
44828         are evaluated.
44829
44830 2009-01-01  Bruno Haible  <bruno@clisp.org>
44831
44832         * gnulib-tool (func_reset_sigpipe): Add more comments.
44833
44834 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44835
44836         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
44837         func_emit_tests_Makefile_am, func_import): Abort loops early if we
44838         already know the answer.
44839
44840 2009-01-01  Jim Meyering  <meyering@redhat.com>
44841
44842         * lib/version-etc.c (version_etc_va): Update copyright year.
44843
44844 2008-12-30  Bruno Haible  <bruno@clisp.org>
44845
44846         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
44847         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
44848         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
44849
44850 2008-12-29  Eric Blake  <ebb9@byu.net>
44851
44852         multiarch: avoid autoconf AC_REQUIRE bug
44853         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
44854         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
44855         2.63 and older.
44856         Reported by Bruno Haible, and analyzed in
44857         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
44858
44859 2008-12-29  Bruno Haible  <bruno@clisp.org>
44860
44861         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
44862         files in subdirectories correctly.
44863         Reported by Ralf Wildenhues.
44864
44865 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44866
44867         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
44868         rather than 'join FILE -', for Solaris join.
44869
44870 2008-12-29  Bruno Haible  <bruno@clisp.org>
44871
44872         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
44873         quoting.
44874         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
44875         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
44876         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
44877         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
44878         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
44879         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
44880         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
44881         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
44882         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
44883         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
44884         * m4/nls.m4 (AM_NLS): Likewise.
44885         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
44886         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
44887         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
44888         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
44889         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
44890         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
44891         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
44892         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
44893         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
44894         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
44895         * m4/xsize.m4 (gl_XSIZE): Likewise.
44896         Suggested by Jim Meyering.
44897
44898 2008-11-17  Bruce Korb  <bkorb@gnu.org>
44899
44900         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
44901         * lib/parse-duration.c: use a switch instead of cascading if's.
44902
44903 2008-12-29  Eric Blake  <ebb9@byu.net>
44904
44905         wchar.h: supply WEOF on Irix 5.3
44906         * lib/wchar.in.h (wint_t): Also supply WEOF.
44907         * lib/wctype.in.h (wint_t): Likewise.
44908         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
44909         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
44910         Reported by Tom G. Christensen.
44911
44912 2008-12-26  Bruno Haible  <bruno@clisp.org>
44913
44914         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
44915         i486, i586, i686.
44916
44917 2008-12-26  Bruno Haible  <bruno@clisp.org>
44918
44919         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
44920
44921 2008-12-26  Bruno Haible  <bruno@clisp.org>
44922
44923         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
44924         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
44925         not __STDC_CONSTANT_MACROS.
44926         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
44927
44928 2008-12-25  Bruno Haible  <bruno@clisp.org>
44929
44930         Add support for universal builds to vasnprintf.
44931         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
44932         universal builds, guess no.
44933         * modules/vasnprintf-posix (Depends-on): Add multiarch.
44934         * modules/vasprintf-posix (Depends-on): Likewise.
44935         * modules/fprintf-posix (Depends-on): Likewise.
44936         * modules/vfprintf-posix (Depends-on): Likewise.
44937         * modules/snprintf-posix (Depends-on): Likewise.
44938         * modules/vsnprintf-posix (Depends-on): Likewise.
44939         * modules/sprintf-posix (Depends-on): Likewise.
44940         * modules/vsprintf-posix (Depends-on): Likewise.
44941         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
44942         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
44943         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
44944         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
44945         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
44946         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
44947         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
44948
44949         Add support for universal builds to <inttypes.h>.
44950         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
44951         _SCNu64_PREFIX): In Apple
44952         universal builds, define directly, using _LP64.
44953         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
44954         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
44955         * modules/inttypes (Depends-on): Add multiarch.
44956         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
44957
44958         Add support for universal builds to <stdint.h>.
44959         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
44960         universal builds, define directly, using _LP64.
44961         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
44962         Apple universal builds, don't test for the size and suffix of ptrdiff_t
44963         and size_t.
44964         * modules/stdint (Depends-on): Add multiarch.
44965         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
44966
44967         New module 'multiarch'.
44968         * modules/multiarch: New file.
44969         * m4/multiarch.m4: New file.
44970
44971 2008-12-25  Bruno Haible  <bruno@clisp.org>
44972
44973         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
44974
44975 2008-12-25  Bruno Haible  <bruno@clisp.org>
44976
44977         * modules/btowc (License): Relicense under LGPLv2+.
44978         * modules/mbsinit (License): Likewise.
44979         * modules/mbrtowc (License): Likewise.
44980         * modules/wcrtomb (License): Likewise.
44981         * modules/streq (License): Likewise.
44982         Reported by David Lutterkort <lutter@redhat.com>.
44983
44984 2008-12-23  Bruno Haible  <bruno@clisp.org>
44985
44986         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
44987
44988 2008-12-23  Bruno Haible  <bruno@clisp.org>
44989
44990         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
44991         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
44992         GETADDRINFO_LIB, not in LIBS.
44993         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
44994         * modules/canon-host (Link): Likewise.
44995         * NEWS: Mention the change.
44996         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
44997         GETADDRINFO_LIB.
44998
44999 2008-12-22  Bruno Haible  <bruno@clisp.org>
45000
45001         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
45002         * doc/posix-functions/iswalpha_l.texi: Likewise.
45003         * doc/posix-functions/iswblank_l.texi: Likewise.
45004         * doc/posix-functions/iswcntrl_l.texi: Likewise.
45005         * doc/posix-functions/iswctype_l.texi: Likewise.
45006         * doc/posix-functions/iswdigit_l.texi: Likewise.
45007         * doc/posix-functions/iswgraph_l.texi: Likewise.
45008         * doc/posix-functions/iswlower_l.texi: Likewise.
45009         * doc/posix-functions/iswprint_l.texi: Likewise.
45010         * doc/posix-functions/iswpunct_l.texi: Likewise.
45011         * doc/posix-functions/iswspace_l.texi: Likewise.
45012         * doc/posix-functions/iswupper_l.texi: Likewise.
45013         * doc/posix-functions/iswxdigit_l.texi: Likewise.
45014         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
45015         * doc/posix-functions/open_wmemstream.texi: Likewise.
45016         * doc/posix-functions/swscanf.texi: Likewise.
45017         * doc/posix-functions/towctrans_l.texi: Likewise.
45018         * doc/posix-functions/towlower.texi: Likewise.
45019         * doc/posix-functions/towlower_l.texi: Likewise.
45020         * doc/posix-functions/towupper.texi: Likewise.
45021         * doc/posix-functions/towupper_l.texi: Likewise.
45022         * doc/posix-functions/vfwprintf.texi: Likewise.
45023         * doc/posix-functions/vfwscanf.texi: Likewise.
45024         * doc/posix-functions/vswscanf.texi: Likewise.
45025         * doc/posix-functions/vwprintf.texi: Likewise.
45026         * doc/posix-functions/vwscanf.texi: Likewise.
45027         * doc/posix-functions/wcpcpy.texi: Likewise.
45028         * doc/posix-functions/wcpncpy.texi: Likewise.
45029         * doc/posix-functions/wcscasecmp.texi: Likewise.
45030         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
45031         * doc/posix-functions/wcscoll_l.texi: Likewise.
45032         * doc/posix-functions/wcsdup.texi: Likewise.
45033         * doc/posix-functions/wcsncasecmp.texi: Likewise.
45034         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
45035         * doc/posix-functions/wcsnlen.texi: Likewise.
45036         * doc/posix-functions/wcsnrtombs.texi: Likewise.
45037         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
45038         * doc/posix-functions/wctrans_l.texi: Likewise.
45039         * doc/posix-functions/wctype_l.texi: Likewise.
45040         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
45041         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
45042         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
45043         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
45044         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
45045         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
45046         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
45047         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
45048         * doc/glibc-functions/wcschrnul.texi: Likewise.
45049         * doc/glibc-functions/wcsftime_l.texi: Likewise.
45050         * doc/glibc-functions/wcstod_l.texi: Likewise.
45051         * doc/glibc-functions/wcstof_l.texi: Likewise.
45052         * doc/glibc-functions/wcstol_l.texi: Likewise.
45053         * doc/glibc-functions/wcstold_l.texi: Likewise.
45054         * doc/glibc-functions/wcstoll_l.texi: Likewise.
45055         * doc/glibc-functions/wcstoq.texi: Likewise.
45056         * doc/glibc-functions/wcstoul_l.texi: Likewise.
45057         * doc/glibc-functions/wcstoull_l.texi: Likewise.
45058         * doc/glibc-functions/wcstouq.texi: Likewise.
45059         * doc/glibc-functions/wmempcpy.texi: Likewise.
45060
45061 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
45062             Eric Blake  <ebb9@byu.net>
45063             Paolo Bonzini  <bonzini@gnu.org>
45064             Bruno Haible  <bruno@clisp.org>
45065
45066         Make c-stack work on Haiku.
45067         * lib/c-stack.c (SA_ONSTACK): Define fallback.
45068         (c_stack_action): Use SA_ONSTACK flag.
45069
45070 2008-12-22  Bruno Haible  <bruno@clisp.org>
45071
45072         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
45073
45074 2008-12-22  Bruno Haible  <bruno@clisp.org>
45075
45076         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
45077         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
45078         being overridden.
45079         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
45080         New macros.
45081         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
45082         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
45083         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
45084         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
45085
45086 2008-12-22  Bruno Haible  <bruno@clisp.org>
45087
45088         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
45089         from test code.
45090
45091 2008-12-22  Eric Blake  <ebb9@byu.net>
45092
45093         Avoid gcc warnings on cygwin.
45094         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
45095         Avoid unused variable.
45096         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
45097         Likewise.
45098
45099 2008-12-22  Bruno Haible  <bruno@clisp.org>
45100
45101         Remove HAVE_MBRTOWC conditionals.
45102         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
45103         (mbscasecmp): Assume mbrtowc function.
45104         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
45105         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
45106         * lib/mbschr.c: Include mbuiter.h unconditionally.
45107         (mbschr): Assume mbrtowc function.
45108         * lib/mbscspn.c: Include mbuiter.h unconditionally.
45109         (mbscspn): Assume mbrtowc function.
45110         * lib/mbslen.c: Include mbuiter.h unconditionally.
45111         (mbslen): Assume mbrtowc function.
45112         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
45113         (mbsncasecmp): Assume mbrtowc function.
45114         * lib/mbsnlen.c: Include mbiter.h unconditionally.
45115         (mbsnlen): Assume mbrtowc function.
45116         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
45117         (mbspbrk): Assume mbrtowc function.
45118         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
45119         (mbspcasecmp): Assume mbrtowc function.
45120         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
45121         (mbsrchr): Assume mbrtowc function.
45122         * lib/mbssep.c: Include mbuiter.h unconditionally.
45123         (mbssep): Assume mbrtowc function.
45124         * lib/mbsspn.c: Include mbuiter.h unconditionally.
45125         (mbsspn): Assume mbrtowc function.
45126         * lib/mbsstr.c: Include mbuiter.h unconditionally.
45127         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
45128         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
45129         (mbstok_r): Assume mbrtowc function.
45130         * lib/propername.c: Include mbuiter.h unconditionally.
45131         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
45132         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
45133         (trim2): Assume mbrtowc function.
45134         * lib/mbswidth.c (mbsinit): Remove fallback definition.
45135         (mbsnwidth): Assume mbrtowc function.
45136         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
45137         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
45138         fallback definitions.
45139         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
45140
45141 2008-12-22  Bruno Haible  <bruno@clisp.org>
45142
45143         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
45144
45145 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
45146
45147         * modules/regex: Request emulations for the mb*/wc* functions we need.
45148         * m4/regex.m4: Don't look for those functions here.
45149         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
45150
45151 2008-12-22  Bruno Haible  <bruno@clisp.org>
45152
45153         * modules/fnmatch (Depends-on): Remove duplicated dependency.
45154
45155 2008-12-21  Bruno Haible  <bruno@clisp.org>
45156
45157         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
45158         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
45159         (Include): Remove conditionalization.
45160         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
45161         (Include): Remove conditionalization.
45162         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
45163         (Include): Remove conditionalization.
45164         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
45165         * m4/mbfile.m4 (gl_MBFILE): Likewise.
45166         * NEWS: Mention the change.
45167         Reported by Alan Hourihane <alanh@fairlite.co.uk>
45168         via Sergey Poznyakoff <gray@gnu.org.ua>.
45169
45170 2008-12-21  Bruno Haible  <bruno@clisp.org>
45171
45172         * MODULES.html.sh (Extended multibyte and wide character utilities
45173         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
45174         wcrtomb, wcsrtombs.
45175         (Support for systems lacking POSIX:2008): Add accept, bind, close,
45176         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
45177         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
45178         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
45179
45180 2008-12-21  Bruno Haible  <bruno@clisp.org>
45181
45182         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
45183
45184 2008-12-21  Bruno Haible  <bruno@clisp.org>
45185
45186         * modules/wcsnrtombs-tests: New file.
45187         * tests/test-wcsnrtombs1.sh: New file.
45188         * tests/test-wcsnrtombs2.sh: New file.
45189         * tests/test-wcsnrtombs3.sh: New file.
45190         * tests/test-wcsnrtombs4.sh: New file.
45191         * tests/test-wcsnrtombs.c: New file.
45192
45193         New module 'wcsnrtombs'.
45194         * lib/wchar.in.h (wcsnrtombs): New declaration.
45195         * lib/wcsnrtombs.c: New file.
45196         * lib/wcsrtombs-state.c: New file.
45197         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
45198         (internal_state): Remove variable.
45199         * m4/wcsnrtombs.m4: New file.
45200         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
45201         compilation units.
45202         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
45203         HAVE_WCSNRTOMBS.
45204         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
45205         HAVE_WCSNRTOMBS.
45206         * modules/wcsnrtombs: New file.
45207         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
45208         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
45209
45210 2008-12-21  Bruno Haible  <bruno@clisp.org>
45211
45212         * modules/wcsrtombs-tests: New file.
45213         * tests/test-wcsrtombs1.sh: New file.
45214         * tests/test-wcsrtombs2.sh: New file.
45215         * tests/test-wcsrtombs3.sh: New file.
45216         * tests/test-wcsrtombs4.sh: New file.
45217         * tests/test-wcsrtombs.c: New file.
45218
45219         New module 'wcsrtombs'.
45220         * lib/wchar.in.h (wcsrtombs): New declaration.
45221         * lib/wcsrtombs.c: New file.
45222         * m4/wcsrtombs.m4: New file.
45223         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
45224         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
45225         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
45226         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
45227         * modules/wcsrtombs: New file.
45228         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
45229         bugs.
45230
45231 2008-12-21  Bruno Haible  <bruno@clisp.org>
45232
45233         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
45234         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
45235         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
45236         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
45237         if not correct.
45238         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
45239         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
45240         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
45241         m4/locale-zh.m4, m4/codeset.m4.
45242         * doc/posix-functions/wcrtomb.texi: Document the bug.
45243
45244 2008-12-21  Bruno Haible  <bruno@clisp.org>
45245
45246         Work around a btowc() bug on IRIX 6.5.
45247         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
45248         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
45249         REPLACE_WTOBC if not.
45250         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
45251         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
45252         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
45253
45254 2008-12-21  Bruno Haible  <bruno@clisp.org>
45255
45256         * modules/wcrtomb-tests: New file.
45257         * tests/test-wcrtomb.sh: New file.
45258         * tests/test-wcrtomb.c: New file.
45259
45260         New module 'wcrtomb'.
45261         * lib/wchar.in.h (wcrtomb): New declaration.
45262         * lib/wcrtomb.c: New file.
45263         * m4/wcrtomb.m4: New file.
45264         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
45265         HAVE_WCRTOMB.
45266         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
45267         HAVE_WCRTOMB.
45268         * modules/wcrtomb: New file.
45269         * doc/posix-functions/wcrtomb.texi: Mention the new module.
45270
45271 2008-12-21  Bruno Haible  <bruno@clisp.org>
45272
45273         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
45274         * modules/mbsrtowcs (Files): Likewise.
45275         * modules/wctob (Files): Likewise.
45276         * modules/c-strcase-tests (Files): Likewise.
45277         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
45278         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
45279         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
45280         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
45281         * modules/vasnprintf-posix-tests (Files): Likewise.
45282
45283 2008-12-21  William Pursell  <bill.pursell@gmail.com>
45284
45285         gitlog-to-changelog: pass all command-line arguments to git-log
45286         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
45287         it is sometimes convenient to filter the commits in various ways.
45288         gitlog-to-changelog only allows --since to specify a start date,
45289         but git-log itself supports many other filtering mechanisms.
45290         At the moment, I want to filter by branch name.  Rather than
45291         adding a --branch option to gitlog-to-changelog, it seems more
45292         flexible to simply pass all options directly to git-log and let
45293         git do the work.  Notice that this effectively makes --since a
45294         redundant option for gitlog-to-changelog, but removing it would
45295         require current usage to change since calls would then require
45296         an additional '--'.
45297
45298 2008-12-21  Bruno Haible  <bruno@clisp.org>
45299
45300         * modules/mbsnrtowcs-tests: New file.
45301         * tests/test-mbsnrtowcs1.sh: New file.
45302         * tests/test-mbsnrtowcs2.sh: New file.
45303         * tests/test-mbsnrtowcs3.sh: New file.
45304         * tests/test-mbsnrtowcs4.sh: New file.
45305         * tests/test-mbsnrtowcs.c: New file.
45306
45307         New module 'mbsnrtowcs'.
45308         * lib/wchar.in.h (mbsnrtowcs): New declaration.
45309         * lib/mbsnrtowcs.c: New file.
45310         * lib/mbsrtowcs-state.c: New file.
45311         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
45312         (internal_state): Remove variable.
45313         * m4/mbsnrtowcs.m4: New file.
45314         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
45315         compilation units.
45316         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
45317         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
45318         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
45319         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
45320         * modules/mbsnrtowcs: New file.
45321         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
45322         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
45323         portability problem.
45324
45325 2008-12-21  Bruno Haible  <bruno@clisp.org>
45326
45327         Work around mbsrtowcs bug.
45328         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
45329         (gl_FUNC_MBSRTOWCS): Invoke it.
45330         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
45331         m4/locale-zh.m4.
45332         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
45333
45334 2008-12-21  Bruno Haible  <bruno@clisp.org>
45335
45336         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
45337
45338 2008-12-21  Bruno Haible  <bruno@clisp.org>
45339
45340         Update doc for AIX.
45341         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
45342         16-bit wchar_t type.
45343         * doc/posix-functions/btowc.texi: Likewise.
45344         * doc/posix-functions/fgetwc.texi: Likewise.
45345         * doc/posix-functions/fgetws.texi: Likewise.
45346         * doc/posix-functions/fputwc.texi: Likewise.
45347         * doc/posix-functions/fputws.texi: Likewise.
45348         * doc/posix-functions/fwide.texi: Likewise.
45349         * doc/posix-functions/fwprintf.texi: Likewise.
45350         * doc/posix-functions/fwscanf.texi: Likewise.
45351         * doc/posix-functions/getwchar.texi: Likewise.
45352         * doc/posix-functions/getwc.texi: Likewise.
45353         * doc/posix-functions/iswalnum.texi: Likewise.
45354         * doc/posix-functions/iswalpha.texi: Likewise.
45355         * doc/posix-functions/iswblank.texi: Likewise.
45356         * doc/posix-functions/iswcntrl.texi: Likewise.
45357         * doc/posix-functions/iswctype.texi: Likewise.
45358         * doc/posix-functions/iswdigit.texi: Likewise.
45359         * doc/posix-functions/iswgraph.texi: Likewise.
45360         * doc/posix-functions/iswlower.texi: Likewise.
45361         * doc/posix-functions/iswprint.texi: Likewise.
45362         * doc/posix-functions/iswpunct.texi: Likewise.
45363         * doc/posix-functions/iswspace.texi: Likewise.
45364         * doc/posix-functions/iswupper.texi: Likewise.
45365         * doc/posix-functions/iswxdigit.texi: Likewise.
45366         * doc/posix-functions/mbrtowc.texi: Likewise.
45367         * doc/posix-functions/mbsrtowcs.texi: Likewise.
45368         * doc/posix-functions/mbstowcs.texi: Likewise.
45369         * doc/posix-functions/mbtowc.texi: Likewise.
45370         * doc/posix-functions/putwchar.texi: Likewise.
45371         * doc/posix-functions/putwc.texi: Likewise.
45372         * doc/posix-functions/swprintf.texi: Likewise.
45373         * doc/posix-functions/tolower.texi: Likewise.
45374         * doc/posix-functions/toupper.texi: Likewise.
45375         * doc/posix-functions/towctrans.texi: Likewise.
45376         * doc/posix-functions/ungetwc.texi: Likewise.
45377         * doc/posix-functions/vswprintf.texi: Likewise.
45378         * doc/posix-functions/wcrtomb.texi: Likewise.
45379         * doc/posix-functions/wcscat.texi: Likewise.
45380         * doc/posix-functions/wcschr.texi: Likewise.
45381         * doc/posix-functions/wcscmp.texi: Likewise.
45382         * doc/posix-functions/wcscoll.texi: Likewise.
45383         * doc/posix-functions/wcscpy.texi: Likewise.
45384         * doc/posix-functions/wcscspn.texi: Likewise.
45385         * doc/posix-functions/wcsftime.texi: Likewise.
45386         * doc/posix-functions/wcslen.texi: Likewise.
45387         * doc/posix-functions/wcsncat.texi: Likewise.
45388         * doc/posix-functions/wcsncmp.texi: Likewise.
45389         * doc/posix-functions/wcsncpy.texi: Likewise.
45390         * doc/posix-functions/wcspbrk.texi: Likewise.
45391         * doc/posix-functions/wcsrchr.texi: Likewise.
45392         * doc/posix-functions/wcsrtombs.texi: Likewise.
45393         * doc/posix-functions/wcsspn.texi: Likewise.
45394         * doc/posix-functions/wcsstr.texi: Likewise.
45395         * doc/posix-functions/wcstod.texi: Likewise.
45396         * doc/posix-functions/wcstof.texi: Likewise.
45397         * doc/posix-functions/wcstoimax.texi: Likewise.
45398         * doc/posix-functions/wcstok.texi: Likewise.
45399         * doc/posix-functions/wcstold.texi: Likewise.
45400         * doc/posix-functions/wcstoll.texi: Likewise.
45401         * doc/posix-functions/wcstol.texi: Likewise.
45402         * doc/posix-functions/wcstombs.texi: Likewise.
45403         * doc/posix-functions/wcstoull.texi: Likewise.
45404         * doc/posix-functions/wcstoul.texi: Likewise.
45405         * doc/posix-functions/wcstoumax.texi: Likewise.
45406         * doc/posix-functions/wcswidth.texi: Likewise.
45407         * doc/posix-functions/wcsxfrm.texi: Likewise.
45408         * doc/posix-functions/wctob.texi: Likewise.
45409         * doc/posix-functions/wctomb.texi: Likewise.
45410         * doc/posix-functions/wctrans.texi: Likewise.
45411         * doc/posix-functions/wctype.texi: Likewise.
45412         * doc/posix-functions/wcwidth.texi: Likewise.
45413         * doc/posix-functions/wmemchr.texi: Likewise.
45414         * doc/posix-functions/wmemcmp.texi: Likewise.
45415         * doc/posix-functions/wmemcpy.texi: Likewise.
45416         * doc/posix-functions/wmemmove.texi: Likewise.
45417         * doc/posix-functions/wmemset.texi: Likewise.
45418         * doc/posix-functions/wprintf.texi: Likewise.
45419         * doc/posix-functions/wscanf.texi: Likewise.
45420
45421 2008-12-21  Bruno Haible  <bruno@clisp.org>
45422
45423         Update doc for HP-UX 11.11.
45424         * doc/posix-functions/btowc.texi: Clarify that the function is missing
45425         in HP-UX version 11.00, not in all versions of HP-UX 11.
45426         * doc/posix-functions/fwide.texi: Likewise.
45427         * doc/posix-functions/fwprintf.texi: Likewise.
45428         * doc/posix-functions/fwscanf.texi: Likewise.
45429         * doc/posix-functions/inet_ntop.texi: Likewise.
45430         * doc/posix-functions/inet_pton.texi: Likewise.
45431         * doc/posix-functions/mbrlen.texi: Likewise.
45432         * doc/posix-functions/mbrtowc.texi: Likewise.
45433         * doc/posix-functions/mbsinit.texi: Likewise.
45434         * doc/posix-functions/mbsrtowcs.texi: Likewise.
45435         * doc/posix-functions/swprintf.texi: Likewise.
45436         * doc/posix-functions/swscanf.texi: Likewise.
45437         * doc/posix-functions/towctrans.texi: Likewise.
45438         * doc/posix-functions/vfwprintf.texi: Likewise.
45439         * doc/posix-functions/vswprintf.texi: Likewise.
45440         * doc/posix-functions/vwprintf.texi: Likewise.
45441         * doc/posix-functions/wcrtomb.texi: Likewise.
45442         * doc/posix-functions/wcsrtombs.texi: Likewise.
45443         * doc/posix-functions/wcsstr.texi: Likewise.
45444         * doc/posix-functions/wctob.texi: Likewise.
45445         * doc/posix-functions/wctrans.texi: Likewise.
45446         * doc/posix-functions/wmemchr.texi: Likewise.
45447         * doc/posix-functions/wmemcmp.texi: Likewise.
45448         * doc/posix-functions/wmemcpy.texi: Likewise.
45449         * doc/posix-functions/wmemmove.texi: Likewise.
45450         * doc/posix-functions/wmemset.texi: Likewise.
45451         * doc/posix-functions/wprintf.texi: Likewise.
45452         * doc/posix-functions/wscanf.texi: Likewise.
45453
45454 2008-12-21  Bruno Haible  <bruno@clisp.org>
45455
45456         Work around a portability problem.
45457         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
45458         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
45459
45460 2008-12-20  Bruno Haible  <bruno@clisp.org>
45461
45462         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
45463         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
45464         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
45465         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
45466         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
45467
45468         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
45469         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
45470         set.
45471         (GNULIB_defined_mbstate_t): New macro.
45472         (mbsinit): Redefine if REPLACE_MBSINIT is set.
45473         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
45474         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
45475         reuses the system's mbrtowc function but works around the bugs.
45476         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
45477         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
45478         macros.
45479         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
45480         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
45481         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
45482         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
45483         REPLACE_MBSINIT if mbsinit needs to be overridden.
45484         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
45485         REPLACE_MBSINIT, REPLACE_MBRTOWC.
45486         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
45487         REPLACE_MBSINIT, REPLACE_MBRTOWC.
45488         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
45489         m4/locale-zh.m4.
45490         (Depends): Add mbsinit.
45491         * modules/mbsinit (Depends): Add mbrtowc.
45492         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
45493
45494 2008-12-20  Bruno Haible  <bruno@clisp.org>
45495
45496         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
45497         so that there are no conversion errors on AIX.
45498         * tests/test-mbsrtowcs.c (main): LIkewise.
45499
45500 2008-12-20  Bruno Haible  <bruno@clisp.org>
45501
45502         Work around wctob bug on Solaris <= 9.
45503         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
45504         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
45505         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
45506         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
45507         * modules/wctob (Files): Add m4/locale-fr.m4.
45508         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
45509
45510 2008-12-20  Bruno Haible  <bruno@clisp.org>
45511
45512         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
45513         /dev/null.
45514         * tests/test-select-in.sh: Likewise.
45515         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45516
45517 2008-12-20  Bruno Haible  <bruno@clisp.org>
45518
45519         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
45520         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
45521         Cygwin 1.5.x.
45522
45523 2008-12-20  Bruno Haible  <bruno@clisp.org>
45524
45525         Ensure mbstate_t is defined on HP-UX 11.11.
45526         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
45527         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
45528         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
45529         AC_USE_SYSTEM_EXTENSIONS.
45530         * modules/fnmatch (Depends-on): Add extensions.
45531         * modules/mbrlen (Depends-on): Likewise.
45532         * modules/mbrtowc (Depends-on): Likewise.
45533         * modules/mbsinit (Depends-on): Likewise.
45534         * modules/mbsrtowcs (Depends-on): Likewise.
45535         * modules/mbswidth (Depends-on): Likewise.
45536         * modules/quotearg (Depends-on): Likewise.
45537         * modules/strftime (Depends-on): Likewise.
45538
45539 2008-12-20  Bruno Haible  <bruno@clisp.org>
45540
45541         Ensure wctob is declared on IRIX 6.5.
45542         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
45543         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
45544         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
45545         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
45546         of HAVE_WCTOB.
45547         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
45548         HAVE_WCTOB.
45549         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
45550
45551 2008-12-19  Bruno Haible  <bruno@clisp.org>
45552
45553         * modules/mbsrtowcs-tests: New file.
45554         * tests/test-mbsrtowcs1.sh: New file.
45555         * tests/test-mbsrtowcs2.sh: New file.
45556         * tests/test-mbsrtowcs3.sh: New file.
45557         * tests/test-mbsrtowcs4.sh: New file.
45558         * tests/test-mbsrtowcs.c: New file.
45559
45560         New module 'mbsrtowcs'.
45561         * lib/wchar.in.h (mbsrtowcs): New declaration.
45562         * lib/mbsrtowcs.c: New file.
45563         * m4/mbsrtowcs.m4: New file.
45564         * modules/mbsrtowcs: New file.
45565         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
45566         HAVE_MBSRTOWCS.
45567         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
45568         HAVE_MBSRTOWCS.
45569         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
45570
45571 2008-12-19  Bruno Haible  <bruno@clisp.org>
45572
45573         New module 'mbrlen'.
45574         * lib/wchar.in.h (mbrlen): New declaration.
45575         * lib/mbrlen.c: New file.
45576         * m4/mbrlen.m4: New file.
45577         * modules/mbrlen: New file.
45578         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
45579         HAVE_MBRLEN.
45580         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
45581         HAVE_MBRLEN.
45582         * doc/posix-functions/mbrlen.texi: Document the new module.
45583
45584 2008-12-19  Bruno Haible  <bruno@clisp.org>
45585
45586         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
45587         * modules/mbrtowc (Depends-on): Add verify.
45588         Suggested by Paul Eggert.
45589
45590 2008-12-18  Bruno Haible  <bruno@clisp.org>
45591
45592         * modules/mbsinit-tests: New file.
45593         * tests/test-mbsinit.sh: New file.
45594         * tests/test-mbsinit.c: New file.
45595
45596 2008-12-18  Bruno Haible  <bruno@clisp.org>
45597
45598         * modules/mbrtowc-tests: New file.
45599         * tests/test-mbrtowc1.sh: New file.
45600         * tests/test-mbrtowc2.sh: New file.
45601         * tests/test-mbrtowc3.sh: New file.
45602         * tests/test-mbrtowc4.sh: New file.
45603         * tests/test-mbrtowc.c: New file.
45604
45605         New module 'mbrtowc'.
45606         * lib/wchar.in.h (mbstate_t): Override when the system does not have
45607         mbsinit and mbrtowc.
45608         (mbrtowc): New declaration.
45609         * lib/mbrtowc.c: New file.
45610         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
45611         * modules/mbrtowc: New file.
45612         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
45613         HAVE_MBRTOWC.
45614         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
45615         HAVE_MBRTOWC.
45616         * doc/posix-functions/mbrtowc.texi: Document the new module.
45617
45618 2008-12-18  Bruno Haible  <bruno@clisp.org>
45619
45620         New module 'wctob'.
45621         * lib/wchar.in.h (wctob): New declaration.
45622         * lib/wctob.c: New file.
45623         * m4/wctob.m4: New file.
45624         * modules/wctob: New file.
45625         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
45626         HAVE_WCTOB.
45627         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
45628         * doc/posix-functions/wctob.texi: Document the new module.
45629
45630 2008-12-18  Bruno Haible  <bruno@clisp.org>
45631
45632         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
45633         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
45634
45635 2008-12-18  Simon Josefsson  <simon@josefsson.org>
45636
45637         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
45638         G. Christensen" <tgc@jupiterrise.com>.
45639
45640         * lib/flock.c: Need to include errno.h.  Reported by "Tom
45641         G. Christensen" <tgc@jupiterrise.com>.
45642
45643         * lib/flock.c: Need to include string.h.  Reported by "Tom
45644         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
45645         <ebb9@byu.net>.
45646
45647 2008-12-18  Bruno Haible  <bruno@clisp.org>
45648
45649         * m4/locale-ja.m4: New file, from GNU gettext.
45650
45651 2008-12-17  Bruno Haible  <bruno@clisp.org>
45652
45653         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
45654         Suggested by Eric Blake.
45655
45656 2008-12-17  Bruno Haible  <bruno@clisp.org>
45657
45658         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
45659
45660 2008-12-17  Bruno Haible  <bruno@clisp.org>
45661
45662         * lib/mbsinit.c: Include verify.h. Verify an assumption.
45663         * modules/mbsinit (Depends-on): Add verify.
45664         Suggested by Paul Eggert.
45665
45666 2008-12-17  Bruno Haible  <bruno@clisp.org>
45667
45668         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
45669         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
45670         gl_FUNC_MBRTOWC.
45671         * m4/mbiter.m4 (gl_MBITER): LIkewise.
45672         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
45673         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
45674         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
45675         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
45676         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
45677         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
45678         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
45679         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
45680         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
45681         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
45682         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
45683         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
45684         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
45685         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
45686         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
45687         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
45688         * modules/trim (configure.ac): Likewise.
45689
45690 2008-12-17  Bruno Haible  <bruno@clisp.org>
45691
45692         * modules/btowc-tests: New file.
45693         * tests/test-btowc1.sh: New file.
45694         * tests/test-btowc2.sh: New file.
45695         * tests/test-btowc.c: New file.
45696
45697         New module 'btowc'.
45698         * lib/wchar.in.h (btowc): New declaration.
45699         * lib/btowc.c: New file.
45700         * m4/btowc.m4: New file.
45701         * modules/btowc: New file.
45702         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
45703         HAVE_BTOWC.
45704         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
45705         * doc/posix-functions/btowc.texi: Document the new module.
45706
45707 2008-12-17  Bruno Haible  <bruno@clisp.org>
45708
45709         New module 'mbsinit'.
45710         * lib/wchar.in.h (mbsinit): New declaration.
45711         * lib/mbsinit.c: New file.
45712         * m4/mbsinit.m4: New file.
45713         * modules/mbsinit: New file.
45714         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
45715         HAVE_MBSINIT.
45716         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
45717         HAVE_MBSINIT.
45718         * doc/posix-functions/mbsinit.texi: Document the new module.
45719
45720 2008-12-16  Bruno Haible  <bruno@clisp.org>
45721
45722         * lib/unistd.in.h: Add comment.
45723         * tests/test-environ.c: Don't include <stdlib.h>.
45724
45725 2008-12-16  Bruno Haible  <bruno@clisp.org>
45726
45727         * lib/parse-duration.h (parse_duration): Document return value
45728         convention.
45729         * lib/parse-duration.c: Include specification header first. Add
45730         comments.
45731         (_): Remove macro.
45732         (parse_year_month_day, parse_hour_minute_second): Move side effects
45733         outside of strchr call.
45734         (parse_non_iso8601): Move side effects outside of isspace call.
45735         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
45736         call.
45737
45738 2008-12-16  Bruno Haible  <bruno@clisp.org>
45739
45740         * tests/test-parse-duration.sh: Produce no output when the test
45741         succeeds.
45742
45743 2008-12-16  Bruno Haible  <bruno@clisp.org>
45744
45745         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
45746         expressions.
45747
45748 2008-12-15  Bruno Haible  <bruno@clisp.org>
45749
45750         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
45751         * doc/glibc-functions/flistxattr.texi: Likewise.
45752         * doc/glibc-functions/fopencookie.texi: Likewise.
45753         * doc/glibc-functions/fremovexattr.texi: Likewise.
45754         * doc/glibc-functions/fsetxattr.texi: Likewise.
45755         * doc/glibc-functions/getxattr.texi: Likewise.
45756         * doc/glibc-functions/lgetxattr.texi: Likewise.
45757         * doc/glibc-functions/listxattr.texi: Likewise.
45758         * doc/glibc-functions/llistxattr.texi: Likewise.
45759         * doc/glibc-functions/lremovexattr.texi: Likewise.
45760         * doc/glibc-functions/lsetxattr.texi: Likewise.
45761         * doc/glibc-functions/removexattr.texi: Likewise.
45762         * doc/glibc-functions/setxattr.texi: Likewise.
45763         * doc/posix-functions/open_memstream.texi: Likewise.
45764
45765 2008-12-15  Eric Blake  <ebb9@byu.net>
45766
45767         Update doc for cygwin 1.7.
45768         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
45769         functions.
45770         * doc/posix-functions/fchmodat.texi: Likewise.
45771         * doc/posix-functions/fchownat.texi: Likewise.
45772         * doc/posix-functions/fdopendir.texi: Likewise.
45773         * doc/posix-functions/fmemopen.texi: Likewise.
45774         * doc/posix-functions/freeaddrinfo.texi: Likewise.
45775         * doc/posix-functions/fstatat.texi: Likewise.
45776         * doc/posix-functions/futimens.texi: Likewise.
45777         * doc/posix-functions/gai_strerror.texi: Likewise.
45778         * doc/posix-functions/getaddrinfo.texi: Likewise.
45779         * doc/posix-functions/getnameinfo.texi: Likewise.
45780         * doc/posix-functions/if_freenameindex.texi: Likewise.
45781         * doc/posix-functions/if_indextoname.texi: Likewise.
45782         * doc/posix-functions/if_nameindex.texi: Likewise.
45783         * doc/posix-functions/if_nametoindex.texi: Likewise.
45784         * doc/posix-functions/insque.texi: Likewise.
45785         * doc/posix-functions/linkat.texi: Likewise.
45786         * doc/posix-functions/llrint.texi: Likewise.
45787         * doc/posix-functions/llrintf.texi: Likewise.
45788         * doc/posix-functions/llrintl.texi: Likewise.
45789         * doc/posix-functions/lockf.texi: Likewise.
45790         * doc/posix-functions/lrintl.texi: Likewise.
45791         * doc/posix-functions/mkdirat.texi: Likewise.
45792         * doc/posix-functions/mkfifoat.texi: Likewise.
45793         * doc/posix-functions/mknodat.texi: Likewise.
45794         * doc/posix-functions/mq_close.texi: Likewise.
45795         * doc/posix-functions/mq_getattr.texi: Likewise.
45796         * doc/posix-functions/mq_notify.texi: Likewise.
45797         * doc/posix-functions/mq_open.texi: Likewise.
45798         * doc/posix-functions/mq_receive.texi: Likewise.
45799         * doc/posix-functions/mq_send.texi: Likewise.
45800         * doc/posix-functions/mq_setattr.texi: Likewise.
45801         * doc/posix-functions/mq_timedreceive.texi: Likewise.
45802         * doc/posix-functions/mq_timedsend.texi: Likewise.
45803         * doc/posix-functions/mq_unlink.texi: Likewise.
45804         * doc/posix-functions/open_memstream.texi: Likewise.
45805         * doc/posix-functions/openat.texi: Likewise.
45806         * doc/posix-functions/posix_fadvise.texi: Likewise.
45807         * doc/posix-functions/posix_fallocate.texi: Likewise.
45808         * doc/posix-functions/posix_madvise.texi: Likewise.
45809         * doc/posix-functions/posix_memalign.texi: Likewise.
45810         * doc/posix-functions/posix_openpt.texi: Likewise.
45811         * doc/posix-functions/readlinkat.texi: Likewise.
45812         * doc/posix-functions/remque.texi: Likewise.
45813         * doc/posix-functions/renameat.texi: Likewise.
45814         * doc/posix-functions/rintl.texi: Likewise.
45815         * doc/posix-functions/sem_unlink.texi: Likewise.
45816         * doc/posix-functions/shm_open.texi: Likewise.
45817         * doc/posix-functions/shm_unlink.texi: Likewise.
45818         * doc/posix-functions/signgam.texi: Likewise.
45819         * doc/posix-functions/sigset.texi: Likewise.
45820         * doc/posix-functions/stpcpy.texi: Likewise.
45821         * doc/posix-functions/stpncpy.texi: Likewise.
45822         * doc/posix-functions/strerror.texi: Likewise.
45823         * doc/posix-functions/strtod.texi: Likewise.
45824         * doc/posix-functions/symlinkat.texi: Likewise.
45825         * doc/posix-functions/unlinkat.texi: Likewise.
45826         * doc/posix-functions/utimensat.texi: Likewise.
45827         * doc/glibc-functions/bindresvport.texi: Likewise.
45828         * doc/glibc-functions/dn_expand.texi: Likewise.
45829         * doc/glibc-functions/exp10.texi: Likewise.
45830         * doc/glibc-functions/exp10f.texi: Likewise.
45831         * doc/glibc-functions/fgetxattr.texi: Likewise.
45832         * doc/glibc-functions/flistxattr.texi: Likewise.
45833         * doc/glibc-functions/fopencookie.texi: Likewise.
45834         * doc/glibc-functions/freeifaddrs.texi: Likewise.
45835         * doc/glibc-functions/fremovexattr.texi: Likewise.
45836         * doc/glibc-functions/fsetxattr.texi: Likewise.
45837         * doc/glibc-functions/getifaddrs.texi: Likewise.
45838         * doc/glibc-functions/getxattr.texi: Likewise.
45839         * doc/glibc-functions/lgetxattr.texi: Likewise.
45840         * doc/glibc-functions/listxattr.texi: Likewise.
45841         * doc/glibc-functions/llistxattr.texi: Likewise.
45842         * doc/glibc-functions/lremovexattr.texi: Likewise.
45843         * doc/glibc-functions/lsetxattr.texi: Likewise.
45844         * doc/glibc-functions/pow10.texi: Likewise.
45845         * doc/glibc-functions/pow10f.texi: Likewise.
45846         * doc/glibc-functions/rcmd_af.texi: Likewise.
45847         * doc/glibc-functions/removexattr.texi: Likewise.
45848         * doc/glibc-functions/res_init.texi: Likewise.
45849         * doc/glibc-functions/res_mkquery.texi: Likewise.
45850         * doc/glibc-functions/res_query.texi: Likewise.
45851         * doc/glibc-functions/res_querydomain.texi: Likewise.
45852         * doc/glibc-functions/res_send.texi: Likewise.
45853         * doc/glibc-functions/rresvport_af.texi: Likewise.
45854         * doc/glibc-functions/setxattr.texi: Likewise.
45855         * doc/glibc-functions/strcasestr.texi: Likewise.
45856
45857 2008-12-15  Bruno Haible  <bruno@clisp.org>
45858
45859         Fix compilation error on OSF/1 4.0.
45860         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
45861         <sys/time.h>, simply delegate to the system header.
45862         Reported by Daniel Richard G. <oss@teragram.com>.
45863
45864 2008-12-15  Bruno Haible  <bruno@clisp.org>
45865
45866         * doc/posix-functions/openat.texi: Mention the 'openat' module.
45867         * doc/posix-functions/fchmodat.texi: Likewise.
45868         * doc/posix-functions/fchownat.texi: Likewise.
45869         * doc/posix-functions/fdopendir.texi: Likewise.
45870         * doc/posix-functions/fstatat.texi: Likewise.
45871         * doc/posix-functions/mkdirat.texi: Likewise.
45872         * doc/posix-functions/unlinkat.texi: Likewise.
45873
45874 2008-12-14  Bruno Haible  <bruno@clisp.org>
45875
45876         Update doc for POSIX:2008.
45877         * doc/posix-functions/faccessat.texi: New file.
45878         * doc/posix-functions/fchmodat.texi: New file.
45879         * doc/posix-functions/fchownat.texi: New file.
45880         * doc/posix-functions/fdopendir.texi: New file.
45881         * doc/posix-functions/fstatat.texi: New file.
45882         * doc/posix-functions/futimens.texi: New file.
45883         * doc/posix-functions/linkat.texi: New file.
45884         * doc/posix-functions/mkdirat.texi: New file.
45885         * doc/posix-functions/mkfifoat.texi: New file.
45886         * doc/posix-functions/mknodat.texi: New file.
45887         * doc/posix-functions/open_wmemstream.texi: New file.
45888         * doc/posix-functions/openat.texi: New file.
45889         * doc/posix-functions/psiginfo.texi: New file.
45890         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
45891         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
45892         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
45893         * doc/posix-functions/readlinkat.texi: New file.
45894         * doc/posix-functions/renameat.texi: New file.
45895         * doc/posix-functions/strerror_l.texi: New file.
45896         * doc/posix-functions/symlinkat.texi: New file.
45897         * doc/posix-functions/unlinkat.texi: New file.
45898         * doc/posix-functions/utimensat.texi: New file.
45899         * doc/gnulib.texi (Function Substitutes): Add these subsections.
45900
45901 2008-12-14  Bruno Haible  <bruno@clisp.org>
45902
45903         Update doc for POSIX:2008.
45904         * doc/posix-functions/alphasort.texi: Renamed from
45905         doc/glibc-functions/alphasort.texi.
45906         * doc/posix-functions/dirfd.texi: Renamed from
45907         doc/glibc-functions/dirfd.texi.
45908         * doc/posix-functions/dprintf.texi: Renamed from
45909         doc/glibc-functions/dprintf.texi.
45910         * doc/posix-functions/duplocale.texi: Renamed from
45911         doc/glibc-functions/duplocale.texi.
45912         * doc/posix-functions/fexecve.texi: Renamed from
45913         doc/glibc-functions/fexecve.texi.
45914         * doc/posix-functions/fmemopen.texi: Renamed from
45915         doc/glibc-functions/fmemopen.texi.
45916         * doc/posix-functions/freelocale.texi: Renamed from
45917         doc/glibc-functions/freelocale.texi.
45918         * doc/posix-functions/getdate_err.texi: Renamed from
45919         doc/glibc-functions/getdate_err.texi.
45920         * doc/posix-functions/isalnum_l.texi: Renamed from
45921         doc/glibc-functions/isalnum_l.texi.
45922         * doc/posix-functions/isalpha_l.texi: Renamed from
45923         doc/glibc-functions/isalpha_l.texi.
45924         * doc/posix-functions/isblank_l.texi: Renamed from
45925         doc/glibc-functions/isblank_l.texi.
45926         * doc/posix-functions/iscntrl_l.texi: Renamed from
45927         doc/glibc-functions/iscntrl_l.texi.
45928         * doc/posix-functions/isdigit_l.texi: Renamed from
45929         doc/glibc-functions/isdigit_l.texi.
45930         * doc/posix-functions/isgraph_l.texi: Renamed from
45931         doc/glibc-functions/isgraph_l.texi.
45932         * doc/posix-functions/islower_l.texi: Renamed from
45933         doc/glibc-functions/islower_l.texi.
45934         * doc/posix-functions/isprint_l.texi: Renamed from
45935         doc/glibc-functions/isprint_l.texi.
45936         * doc/posix-functions/ispunct_l.texi: Renamed from
45937         doc/glibc-functions/ispunct_l.texi.
45938         * doc/posix-functions/isspace_l.texi: Renamed from
45939         doc/glibc-functions/isspace_l.texi.
45940         * doc/posix-functions/isupper_l.texi: Renamed from
45941         doc/glibc-functions/isupper_l.texi.
45942         * doc/posix-functions/iswalnum_l.texi: Renamed from
45943         doc/glibc-functions/iswalnum_l.texi.
45944         * doc/posix-functions/iswalpha_l.texi: Renamed from
45945         doc/glibc-functions/iswalpha_l.texi.
45946         * doc/posix-functions/iswblank_l.texi: Renamed from
45947         doc/glibc-functions/iswblank_l.texi.
45948         * doc/posix-functions/iswcntrl_l.texi: Renamed from
45949         doc/glibc-functions/iswcntrl_l.texi.
45950         * doc/posix-functions/iswctype_l.texi: Renamed from
45951         doc/glibc-functions/iswctype_l.texi.
45952         * doc/posix-functions/iswdigit_l.texi: Renamed from
45953         doc/glibc-functions/iswdigit_l.texi.
45954         * doc/posix-functions/iswgraph_l.texi: Renamed from
45955         doc/glibc-functions/iswgraph_l.texi.
45956         * doc/posix-functions/iswlower_l.texi: Renamed from
45957         doc/glibc-functions/iswlower_l.texi.
45958         * doc/posix-functions/iswprint_l.texi: Renamed from
45959         doc/glibc-functions/iswprint_l.texi.
45960         * doc/posix-functions/iswpunct_l.texi: Renamed from
45961         doc/glibc-functions/iswpunct_l.texi.
45962         * doc/posix-functions/iswspace_l.texi: Renamed from
45963         doc/glibc-functions/iswspace_l.texi.
45964         * doc/posix-functions/iswupper_l.texi: Renamed from
45965         doc/glibc-functions/iswupper_l.texi.
45966         * doc/posix-functions/iswxdigit_l.texi: Renamed from
45967         doc/glibc-functions/iswxdigit_l.texi.
45968         * doc/posix-functions/isxdigit_l.texi: Renamed from
45969         doc/glibc-functions/isxdigit_l.texi.
45970         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
45971         doc/glibc-functions/mbsnrtowcs.texi.
45972         * doc/posix-functions/mkdtemp.texi: Renamed from
45973         doc/glibc-functions/mkdtemp.texi.
45974         * doc/posix-functions/newlocale.texi: Renamed from
45975         doc/glibc-functions/newlocale.texi.
45976         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
45977         doc/glibc-functions/nl_langinfo_l.texi.
45978         * doc/posix-functions/open_memstream.texi: Renamed from
45979         doc/glibc-functions/open_memstream.texi.
45980         * doc/posix-functions/opterr.texi: Renamed from
45981         doc/glibc-functions/opterr.texi.
45982         * doc/posix-functions/optind.texi: Renamed from
45983         doc/glibc-functions/optind.texi.
45984         * doc/posix-functions/optopt.texi: Renamed from
45985         doc/glibc-functions/optopt.texi.
45986         * doc/posix-functions/psignal.texi: Renamed from
45987         doc/glibc-functions/psignal.texi.
45988         * doc/posix-functions/scandir.texi: Renamed from
45989         doc/glibc-functions/scandir.texi.
45990         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
45991         doc/glibc-functions/sched_get_priority_min.texi.
45992         * doc/posix-functions/signgam.texi: Renamed from
45993         doc/glibc-functions/signgam.texi.
45994         * doc/posix-functions/stpcpy.texi: Renamed from
45995         doc/glibc-functions/stpcpy.texi.
45996         * doc/posix-functions/stpncpy.texi: Renamed from
45997         doc/glibc-functions/stpncpy.texi.
45998         * doc/posix-functions/strcasecmp_l.texi: Renamed from
45999         doc/glibc-functions/strcasecmp_l.texi.
46000         * doc/posix-functions/strcoll_l.texi: Renamed from
46001         doc/glibc-functions/strcoll_l.texi.
46002         * doc/posix-functions/strfmon_l.texi: Renamed from
46003         doc/glibc-functions/strfmon_l.texi.
46004         * doc/posix-functions/strftime_l.texi: Renamed from
46005         doc/glibc-functions/strftime_l.texi.
46006         * doc/posix-functions/strncasecmp_l.texi: Renamed from
46007         doc/glibc-functions/strncasecmp_l.texi.
46008         * doc/posix-functions/strndup.texi: Renamed from
46009         doc/glibc-functions/strndup.texi.
46010         * doc/posix-functions/strnlen.texi: Renamed from
46011         doc/glibc-functions/strnlen.texi.
46012         * doc/posix-functions/strsignal.texi: Renamed from
46013         doc/glibc-functions/strsignal.texi.
46014         * doc/posix-functions/strxfrm_l.texi: Renamed from
46015         doc/glibc-functions/strxfrm_l.texi.
46016         * doc/posix-functions/timer_gettime.texi: Renamed from
46017         doc/glibc-functions/timer_gettime.texi.
46018         * doc/posix-functions/tolower_l.texi: Renamed from
46019         doc/glibc-functions/tolower_l.texi.
46020         * doc/posix-functions/toupper_l.texi: Renamed from
46021         doc/glibc-functions/toupper_l.texi.
46022         * doc/posix-functions/towctrans_l.texi: Renamed from
46023         doc/glibc-functions/towctrans_l.texi.
46024         * doc/posix-functions/towlower_l.texi: Renamed from
46025         doc/glibc-functions/towlower_l.texi.
46026         * doc/posix-functions/towupper_l.texi: Renamed from
46027         doc/glibc-functions/towupper_l.texi.
46028         * doc/posix-functions/uselocale.texi: Renamed from
46029         doc/glibc-functions/uselocale.texi.
46030         * doc/posix-functions/vdprintf.texi: Renamed from
46031         doc/glibc-functions/vdprintf.texi.
46032         * doc/posix-functions/wcpcpy.texi:
46033         Renamed from doc/glibc-functions/wcpcpy.texi.
46034         * doc/posix-functions/wcpncpy.texi: Renamed from
46035         doc/glibc-functions/wcpncpy.texi.
46036         * doc/posix-functions/wcscasecmp.texi: Renamed from
46037         doc/glibc-functions/wcscasecmp.texi.
46038         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
46039         doc/glibc-functions/wcscasecmp_l.texi.
46040         * doc/posix-functions/wcscoll_l.texi: Renamed from
46041         doc/glibc-functions/wcscoll_l.texi.
46042         * doc/posix-functions/wcsdup.texi: Renamed from
46043         doc/glibc-functions/wcsdup.texi.
46044         * doc/posix-functions/wcsncasecmp.texi: Renamed from
46045         doc/glibc-functions/wcsncasecmp.texi.
46046         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
46047         doc/glibc-functions/wcsncasecmp_l.texi.
46048         * doc/posix-functions/wcsnlen.texi: Renamed from
46049         doc/glibc-functions/wcsnlen.texi.
46050         * doc/posix-functions/wcsnrtombs.texi: Renamed from
46051         doc/glibc-functions/wcsnrtombs.texi.
46052         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
46053         doc/glibc-functions/wcsxfrm_l.texi.
46054         * doc/posix-functions/wctrans_l.texi: Renamed from
46055         doc/glibc-functions/wctrans_l.texi.
46056         * doc/posix-functions/wctype_l.texi: Renamed from
46057         doc/glibc-functions/wctype_l.texi.
46058         * doc/gnulib.texi (Function Substitutes): Add these subsections.
46059         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
46060         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
46061         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
46062         these subsections.
46063         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
46064         Remove sections.
46065
46066 2008-12-14  Bruno Haible  <bruno@clisp.org>
46067
46068         Update doc for POSIX:2008.
46069         * doc/posix-functions/*.texi: Update URL of POSIX specification.
46070
46071 2008-12-14  Bruno Haible  <bruno@clisp.org>
46072
46073         Update doc for POSIX:2008.
46074         * doc/pastposix-functions/bcmp.texi: Renamed from
46075         doc/posix-functions/bcmp.texi.
46076         * doc/pastposix-functions/bcopy.texi: Renamed from
46077         doc/posix-functions/bcopy.texi.
46078         * doc/pastposix-functions/bsd_signal.texi: Renamed from
46079         doc/posix-functions/bsd_signal.texi.
46080         * doc/pastposix-functions/bzero.texi: Renamed from
46081         doc/posix-functions/bzero.texi.
46082         * doc/pastposix-functions/ecvt.texi: Renamed from
46083         doc/posix-functions/ecvt.texi.
46084         * doc/pastposix-functions/fcvt.texi: Renamed from
46085         doc/posix-functions/fcvt.texi.
46086         * doc/pastposix-functions/ftime.texi: Renamed from
46087         doc/posix-functions/ftime.texi.
46088         * doc/pastposix-functions/gcvt.texi: Renamed from
46089         doc/posix-functions/gcvt.texi.
46090         * doc/pastposix-functions/getcontext.texi: Renamed from
46091         doc/posix-functions/getcontext.texi.
46092         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
46093         doc/posix-functions/gethostbyaddr.texi.
46094         * doc/pastposix-functions/gethostbyname.texi: Renamed from
46095         doc/posix-functions/gethostbyname.texi.
46096         * doc/pastposix-functions/getwd.texi: Renamed from
46097         doc/posix-functions/getwd.texi.
46098         * doc/pastposix-functions/h_errno.texi: Renamed from
46099         doc/posix-functions/h_errno.texi.
46100         * doc/pastposix-functions/index.texi: Renamed from
46101         doc/posix-functions/index.texi.
46102         * doc/pastposix-functions/makecontext.texi: Renamed from
46103         doc/posix-functions/makecontext.texi.
46104         * doc/pastposix-functions/mktemp.texi: Renamed from
46105         doc/posix-functions/mktemp.texi.
46106         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
46107         doc/posix-functions/pthread_attr_getstackaddr.texi.
46108         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
46109         doc/posix-functions/pthread_attr_setstackaddr.texi.
46110         * doc/pastposix-functions/rindex.texi: Renamed from
46111         doc/posix-functions/rindex.texi.
46112         * doc/pastposix-functions/scalb.texi: Renamed from
46113         doc/posix-functions/scalb.texi.
46114         * doc/pastposix-functions/setcontext.texi: Renamed from
46115         doc/posix-functions/setcontext.texi.
46116         * doc/pastposix-functions/swapcontext.texi: Renamed from
46117         doc/posix-functions/swapcontext.texi.
46118         * doc/pastposix-functions/ualarm.texi: Renamed from
46119         doc/posix-functions/ualarm.texi.
46120         * doc/pastposix-functions/usleep.texi: Renamed from
46121         doc/posix-functions/usleep.texi.
46122         * doc/pastposix-functions/vfork.texi: Renamed from
46123         doc/posix-functions/vfork.texi.
46124         * doc/pastposix-functions/wcswcs.texi: Renamed from
46125         doc/posix-functions/wcswcs.texi.
46126         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
46127         (Function Substitutes): Update.
46128
46129 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46130
46131         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
46132         m4/strerror.m4.
46133
46134 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46135             Bruno Haible  <bruno@clisp.org>
46136
46137         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
46138
46139 2008-12-13  Bruno Haible  <bruno@clisp.org>
46140
46141         * modules/strtoull (Depends-on): Remove unistd.
46142
46143 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46144
46145         * modules/strtoull (Depends-on): Add stdlib.
46146
46147 2008-12-11  Simon Josefsson  <simon@josefsson.org>
46148
46149         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
46150
46151 2008-12-10  Jim Meyering  <meyering@redhat.com>
46152
46153         gl_ASSERT: don't say assertions are disabled when they're not
46154         * m4/assert.m4 (gl_ASSERT): Do not make configure report
46155         "checking whether to enable assertions... no", when they are in
46156         fact enabled.  This is solely a bug in the output of configure.
46157         In spite of saying "no", NDEBUG was not defined in that case.
46158         Also, as noted by Eric Blake, leave assertions enabled upon
46159         --enable-assert=INVALID.
46160
46161 2008-12-10  Bruno Haible  <bruno@clisp.org>
46162
46163         Change MODULES.html to refer to POSIX:2008 where possible.
46164         * MODULES.html.sh (POSIX2008_URL): New variable.
46165         (posix_headers): Remove sys/timeb, ucontext.
46166         (posix2001_headers): New variable.
46167         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
46168         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
46169         index, makecontext, mktemp, pthread_attr_getstackaddr,
46170         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
46171         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
46172         (posix2001_functions): New variable.
46173         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
46174         otherwise.
46175
46176 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46177
46178         add missing include to parse-duration.c
46179         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
46180         * modules/parse-duration (Depends-on): Add xalloc.
46181
46182         fix sed script reading maint.mk
46183         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
46184         (syntax-check-rules): Use it.
46185
46186 2008-12-09  Bruno Haible  <bruno@clisp.org>
46187
46188         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
46189         MacOS X 10.4/PowerPC.
46190         Reported by Simon Josefsson.
46191
46192 2008-12-08  Jim Meyering  <meyering@redhat.com>
46193
46194         work around mingw's lack of some S_IF definitions
46195         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
46196         Reported by Simon Josefsson.
46197
46198 2008-12-08  Bruno Haible  <bruno@clisp.org>
46199
46200         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
46201         applied to variables. Needed on MacOS X 10.4/PowerPC.
46202         Reported by Simon Josefsson.
46203
46204 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
46205         and Eric Blake  <ebb9@byu.net>
46206
46207         assert: honor --enable-assert
46208         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
46209         order to honor --enable-assert, rather than treating it as a
46210         synonym for --disable-assert.
46211
46212 2008-12-08  Jim Meyering  <meyering@redhat.com>
46213
46214         * lib/posixtm.c: Remove now-useless declaration of mktime.
46215
46216         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
46217
46218 2008-12-07  Bruno Haible  <bruno@clisp.org>
46219
46220         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
46221         test_once): Mark functions as static.
46222         * tests/test-tls.c (test_tls): Likewise.
46223
46224 2008-12-07  Bruno Haible  <bruno@clisp.org>
46225
46226         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
46227         iconv_register_autodetect.
46228
46229 2008-12-07  Jim Meyering  <meyering@redhat.com>
46230
46231         posixtm.c: avoid a warning
46232         * lib/posixtm.c (posixtime): Don't initialize tm0.
46233         It's no longer needed to placate gcc4's -Wuninitialized,
46234         and the attempt to placate would elicit a new warning.
46235
46236         unicodeio.c: mark unused parameters
46237         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
46238         (fallback_failure_callback): Likewise.
46239
46240 2008-12-07  Bruno Haible  <bruno@clisp.org>
46241
46242         * gnulib-tool (func_create_testdir): When building the tests
46243         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
46244         Reported by Simon Josefsson.
46245
46246 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46247
46248         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
46249
46250 2008-12-06  Bruno Haible  <bruno@clisp.org>
46251
46252         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
46253         Suggested by Eric Blake.
46254
46255 2008-12-06  Bruno Haible  <bruno@clisp.org>
46256
46257         Fix a c-stack test failure on MacOS X.
46258         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
46259         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
46260         handler for SIGBUS as well.
46261         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
46262         install a signal handler for SIGBUS as well.
46263         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
46264
46265 2008-12-06  Bruno Haible  <bruno@clisp.org>
46266
46267         Advocacy documentation.
46268         * doc/gnulib-intro.texi (Benefits): New section.
46269         * doc/gnulib.texi: Update.
46270
46271 2008-12-06  Bruno Haible  <bruno@clisp.org>
46272
46273         Document the 'manywarnings' module.
46274         * doc/manywarnings.texi: New file.
46275         * doc/gnulib.texi: Include it.
46276
46277 2008-12-05  Eric Blake  <ebb9@byu.net>
46278
46279         tests: silence some gcc warnings
46280         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
46281         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
46282         type mismatches.
46283
46284 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46285             Bruno Haible  <bruno@clisp.org>
46286
46287         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
46288
46289 2008-11-29  Jim Meyering  <meyering@redhat.com>
46290
46291         unicodeio.c: mark unused parameters
46292         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
46293         (fallback_failure_callback): Likewise.
46294
46295         fts: fix a thinko
46296         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
46297         (set_stat_type): Return S_IF*-valued "type" directly.
46298         Prompted by James Youngman's spotting a related bug.
46299         Confirmed by further testing through find.
46300
46301         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
46302         * lib/fts.c (D_TYPE): Define.
46303         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
46304         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
46305         (s_ifmt_shift_bits): New function.
46306         (set_stat_type): New function.
46307         (fts_build): When not calling fts_stat, call set_stat_type
46308         to propagate dirent.d_type info to fts_read caller.
46309         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
46310         fts_statp->st_mode type information may be valid.
46311
46312 2008-11-28  Simon Josefsson  <simon@josefsson.org>
46313
46314         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
46315         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
46316         <sds@gnu.org>.
46317
46318 2008-11-20  Bruno Haible  <bruno@clisp.org>
46319
46320         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
46321         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
46322         INCLUDE_NEXT.
46323         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
46324         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
46325         * modules/math (Makefile.am): Substitute
46326         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
46327         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46328
46329 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
46330             Bruno Haible  <bruno@clisp.org>
46331
46332         * lib/stdint.in.h: Define all type macros so that their expansion is
46333         a single typedef'ed token. Fixes a compilation failure in Boost which
46334         does "using ::int8_t;".
46335
46336 2008-11-18  Simon Josefsson  <simon@josefsson.org>
46337
46338         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
46339         gl_MANYWARN_ALL_GCC.
46340         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
46341         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
46342         * modules/manywarnings: New file.
46343         * MODULES.html.sh: Mention manywarnings module.
46344
46345 2008-11-18  Bruno Haible  <bruno@clisp.org>
46346
46347         * doc/gnulib-tool.texi (Unit tests): New section.
46348
46349 2008-11-18  Simon Josefsson  <simon@josefsson.org>
46350
46351         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
46352         paths like 'lib/po/foo.po'.
46353
46354 2008-11-17  Simon Josefsson  <simon@josefsson.org>
46355
46356         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
46357         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
46358
46359 2008-11-17  Simon Josefsson  <simon@josefsson.org>
46360
46361         * m4/warnings.m4: Use CPPFLAGS to really check whether the
46362         parameter works.
46363
46364 2008-11-17  Simon Josefsson  <simon@josefsson.org>
46365
46366         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
46367
46368 2008-11-17  Bruce Korb  <bkorb@gnu.org>
46369
46370         * modules/parse-duration-tests: New file.
46371         * tests/test-parse-duration.sh: New file.
46372         * tests/test-parse-duration.c: New file.
46373
46374         New module 'parse-duration'.
46375         * lib/parse-duration.h: New file.
46376         * lib/parse-duration.c: New file.
46377         * modules/parse-duration: New file.
46378
46379 2008-11-17  Bruno Haible  <bruno@clisp.org>
46380
46381         * tests/test-select-out.sh: Comment out the first pipe test.
46382         Reported by Simon Josefsson.
46383
46384 2008-11-17  Bruno Haible  <bruno@clisp.org>
46385
46386         * modules/getaddrinfo (Depends-on): Add servent, hostent.
46387         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
46388         gl_HOSTENT.
46389
46390 2008-11-17  Bruno Haible  <bruno@clisp.org>
46391
46392         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
46393         -lnetwork and -lnet. Needed for Haiku and BeOS.
46394
46395 2008-11-16  Bruno Haible  <bruno@clisp.org>
46396
46397         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
46398
46399 2008-11-16  Bruno Haible  <bruno@clisp.org>
46400
46401         Avoid test failure on Haiku.
46402         * tests/test-fsync.c: Include <errno.h>.
46403         (main): Don't require that fsync (0) fails.
46404
46405 2008-11-15  Bruno Haible  <bruno@clisp.org>
46406
46407         New module 'hostent'.
46408         * modules/hostent: New file.
46409         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
46410
46411 2008-11-15  Bruno Haible  <bruno@clisp.org>
46412
46413         New module 'servent'.
46414         * modules/servent: New file.
46415         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
46416
46417 2008-11-15  Bruno Haible  <bruno@clisp.org>
46418
46419         Avoid generating same test program with two different rules.
46420         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
46421         test-frexp to test-frexp-nolibm.
46422         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
46423         test-frexpl to test-frexpl-nolibm.
46424
46425 2008-11-15  Bruno Haible  <bruno@clisp.org>
46426
46427         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
46428         $(FREXPL_LIBM).
46429
46430 2008-11-15  Bruno Haible  <bruno@clisp.org>
46431
46432         * lib/netdb.in.h: Activate the definitions also when the system's
46433         <netdb.h> has 'struct addrinfo'.
46434         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
46435         EAI_OVERFLOW or AI_NUMERICSERV.
46436         * doc/posix-headers/netdb.texi: Document the problem.
46437
46438 2008-11-15  Bruno Haible  <bruno@clisp.org>
46439
46440         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
46441
46442         Make the 'sched' module work on platforms where <sched.h> exists but
46443         is incomplete (such as Haiku).
46444         * lib/sched.in.h; Include the system's <sched.h> if it exists.
46445         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
46446         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
46447         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
46448         HAVE_STRUCT_SCHED_PARAM.
46449         * modules/sched (Depends-on): Add include_next.
46450         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
46451         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
46452         * doc/posix-headers/sched.texi: Document the issue.
46453
46454 2008-11-13  Jim Meyering  <meyering@redhat.com>
46455
46456         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
46457         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
46458         test would fail due to the difference in the Report bugs to ...
46459         line.  The expected address is empty, "<>", while the actual
46460         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
46461
46462 2008-11-12  Bruno Haible  <bruno@clisp.org>
46463
46464         lstat: don't compile lstat.c on systems lacking lstat
46465         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
46466         which don't have lstat; this is handled by lib/sys_stat.in.h already.
46467         Reported by Daniel P. Berrange via Jim Meyering.
46468
46469 2008-11-12  Jim Meyering  <meyering@redhat.com>
46470
46471         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
46472
46473 2008-11-12  Simon Josefsson  <simon@josefsson.org>
46474
46475         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
46476         instead.
46477
46478 2008-11-12  Bruno Haible  <bruno@clisp.org>
46479
46480         * lib/unicodeio.c: Include unistr.h.
46481         (utf8_wctomb): Remove function.
46482         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
46483
46484 2008-11-12  Simon Josefsson  <simon@josefsson.org>
46485
46486         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
46487         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
46488         <bruno@clisp.org>.
46489         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
46490
46491 2008-11-12  Simon Josefsson  <simon@josefsson.org>
46492
46493         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
46494         * doc/gnulib.texi: Add section for warnings.
46495
46496 2008-11-11  Bruno Haible  <bruno@clisp.org>
46497
46498         * lib/sockets.h: Add a comment.
46499
46500 2008-11-11  Karl Berry  <karl@gnu.org>
46501
46502         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
46503
46504 2008-11-11  Eric Blake  <ebb9@byu.net>
46505
46506         fdl.texi: avoid git symlinks
46507         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
46508
46509 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
46510
46511         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
46512
46513 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
46514
46515         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
46516         (gl_WARN_ADD): Substitute $2 if literal.
46517
46518 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
46519
46520         * m4/warning.m4: Remove.
46521
46522 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
46523
46524         * m4/warnings.m4: Almost complete rewrite. :-)
46525
46526 2008-11-10  Simon Josefsson  <simon@josefsson.org>
46527
46528         * modules/warnings: New module.
46529         * m4/warnings.m4: New file.
46530         * MODULES.html.sh: Mention warnings module.
46531         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
46532         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46533
46534 2008-11-10  Eric Blake  <ebb9@byu.net>
46535
46536         fdl.texi: make a symlink to the latest version
46537         * doc/standards.texi: Revert today's earlier change.
46538         * doc/fdl-1.2.texi: Rename from old fdl.texi...
46539         * doc/fdl.texi: ...and replace this with a symlink to the newer
46540         fdl-1.3.texi.
46541
46542 2008-11-10  Bruno Haible  <bruno@clisp.org>
46543
46544         * tests/test-select-fd.c (main): Accept the result file name as fourth
46545         argument.
46546         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
46547         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
46548
46549 2008-11-10  Bruno Haible  <bruno@clisp.org>
46550
46551         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
46552         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
46553         as autoconf-substituted macros.
46554         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
46555         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
46556         gl_NETDB_H_DEFAULTS. Set these variables.
46557         * modules/netdb (Makefile.am): Substitute these variables.
46558
46559 2008-11-10  Eric Blake  <ebb9@byu.net>
46560
46561         standards.texi: include correct file for FDL 1.3
46562         * doc/standards.texi (GNU Free Documentation License): Change
46563         include file to pull in FDL 1.3, not 1.2.
46564
46565         fdl.texi: revert accidental change to license
46566         * doc/fdl.texi: This is FDL 1.2, not 1.3.
46567
46568 2008-11-10  Bruno Haible  <bruno@clisp.org>
46569
46570         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
46571         cross-compiling guesses also when the native compile gives no result.
46572
46573 2008-11-10  Bruno Haible  <bruno@clisp.org>
46574
46575         * lib/spawni.c (__spawni): Force variable into the stack.
46576
46577 2008-11-10  Bruno Haible  <bruno@clisp.org>
46578
46579         Add support for Haiku.
46580         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
46581         glibc and BeOS, but also on Haiku.
46582         * lib/fpurge.c (fpurge): Likewise.
46583         * lib/freadable.c (freadable): Likewise.
46584         * lib/freadahead.c (freadahead): Likewise.
46585         * lib/freading.c (freading): Likewise.
46586         * lib/freadptr.c (freadptr): Likewise.
46587         * lib/freadseek.c (freadptrinc): Likewise.
46588         * lib/fseeko.c (rpl_fseeko): Likewise.
46589         * lib/fseterr.c (fseterr): Likewise.
46590         * lib/fwritable.c (fwritable): Likewise.
46591         * lib/fwriting.c (fwriting): Likewise.
46592         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
46593
46594 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
46595
46596         * lib/config.charset: Treat Haiku like BeOS.
46597
46598 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
46599
46600         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
46601         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
46602
46603 2008-11-08  Bruno Haible  <bruno@clisp.org>
46604
46605         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
46606         AC_CACHE_CHECK.
46607
46608 2008-11-08  Bruno Haible  <bruno@clisp.org>
46609
46610         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
46611
46612 2008-11-08  Bruno Haible  <bruno@clisp.org>
46613
46614         * tests/test-select-fd.c: New file.
46615         * tests/test-select-in.sh: New file.
46616         * tests/test-select-out.sh: New file.
46617         * tests/test-select-stdin.c: New file.
46618         * modules/select-tests (Files): Add the new files.
46619         (Depends-on): Add gettimeofday.
46620         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
46621         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
46622         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
46623
46624 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
46625             Bruno Haible  <bruno@clisp.org>
46626
46627         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
46628
46629 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
46630
46631         * build-aux/pmccabe2html: Added support for C++ source files.
46632
46633 2008-11-05  Ben Pfaff  <blp@gnu.org>
46634
46635         Fix lib/close.c build on Windows.
46636         * modules/close (Files): Add lib/w32sock.h.
46637
46638 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
46639
46640         Accept Bison's NEWS format.
46641         * build-aux/announce-gen (print_news_deltas): Tweak
46642         $re_prefix.
46643
46644 2008-11-04  Bruno Haible  <bruno@clisp.org>
46645
46646         * modules/random_r (Maintainer): Add glibc.
46647
46648 2008-11-04  Simon Josefsson  <simon@josefsson.org>
46649
46650         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
46651         by karl@freefriends.org (Karl Berry).
46652         * doc/alloca.texi: Likewise.
46653         * doc/c-ctype.texi: Likewise.
46654         * doc/c-strcase.texi: Likewise.
46655         * doc/c-strcaseeq.texi: Likewise.
46656         * doc/c-strcasestr.texi: Likewise.
46657         * doc/c-strstr.texi: Likewise.
46658         * doc/c-strtod.texi: Likewise.
46659         * doc/c-strtold.texi: Likewise.
46660         * doc/ctime.texi: Likewise.
46661         * doc/error.texi: Likewise.
46662         * doc/fdl.texi: Likewise.
46663         * doc/gcd.texi: Likewise.
46664         * doc/getdate.texi: Likewise.
46665         * doc/gnulib-intro.texi: Likewise.
46666         * doc/gnulib-tool.texi: Likewise.
46667         * doc/gnulib.texi: Likewise.
46668         * doc/inet_ntoa.texi: Likewise.
46669         * doc/maintain.texi: Likewise.
46670         * doc/make-stds.texi: Likewise.
46671         * doc/quote.texi: Likewise.
46672         * doc/regexprops-generic.texi: Likewise.
46673         * doc/standards.texi: Likewise.
46674         * doc/verify.texi: Likewise.
46675         * doc/visibility.texi: Likewise.
46676         * doc/gnulib.texi (GNU Free Documentation License): Include
46677         fdl-1.3.texi instead of fdl.texi.
46678
46679 2008-11-04  Simon Josefsson  <simon@josefsson.org>
46680
46681         * doc/fdl-1.3.texi: New file, from
46682         <http://www.gnu.org/licenses/fdl-1.3.texi>.
46683         * modules/fdl-1.3: Add.
46684         * MODULES.html.sh: Add fdl-1.3.
46685
46686 2008-11-03  Bruno Haible  <bruno@clisp.org>
46687
46688         Make determination of absolute name of header file work with AIX xlc.
46689         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
46690         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
46691         preprocessing.
46692         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
46693         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
46694
46695 2008-11-03  Simon Josefsson  <simon@josefsson.org>
46696
46697         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
46698         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
46699         <ludo@gnu.org>.
46700
46701 2008-11-02  Bruno Haible  <bruno@clisp.org>
46702
46703         Mark 'strpbrk' obsolete.
46704         * modules/strpbrk (Status, Notice): New sections.
46705         * modules/strtok_r (Depends-on): Add strpbrk.
46706
46707 2008-11-02  Bruno Haible  <bruno@clisp.org>
46708
46709         Mark 'strdup' obsolete.
46710         * modules/strdup (Status, Notice): New sections.
46711         * modules/findprog (Depends-on): Add strdup.
46712         * modules/getaddrinfo (Depends-on): Likewise.
46713         * modules/localename (Depends-on): Likewise.
46714         * modules/relocatable-lib (Depends-on): Likewise.
46715         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
46716         * modules/relocatable-prog (Depends-on): Likewise.
46717         * modules/trim (Depends-on): Likewise.
46718         * modules/unictype/gen-ctype (Depends-on): Likewise.
46719         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
46720
46721 2008-11-02  Bruno Haible  <bruno@clisp.org>
46722
46723         Mark 'strcspn' obsolete.
46724         * modules/strcspn (Status, Notice): New sections.
46725
46726 2008-11-02  Bruno Haible  <bruno@clisp.org>
46727
46728         Mark 'rmdir' obsolete.
46729         * modules/rmdir (Status, Notice): New sections.
46730         * modules/clean-temp (Depends-on): Add rmdir.
46731         * modules/openat (Depends-on): Likewise.
46732
46733 2008-11-02  Bruno Haible  <bruno@clisp.org>
46734
46735         Mark 'raise' obsolete.
46736         * modules/raise (Status, Notice): New sections.
46737         (Include): Specify <signal.h>.
46738         * modules/stdio (Depends-on): Add raise.
46739         * modules/write (Depends-on): Likewise.
46740
46741 2008-11-02  Bruno Haible  <bruno@clisp.org>
46742
46743         Mark 'memset' obsolete.
46744         * modules/memset (Status, Notice): New sections.
46745
46746 2008-11-02  Bruno Haible  <bruno@clisp.org>
46747
46748         Mark 'memmove' obsolete.
46749         * modules/memmove (Status, Notice): New sections.
46750         * modules/argp (Depends-on): Add memmove.
46751         * modules/argz (Depends-on): Likewise.
46752         * modules/canonicalize (Depends-on): Likewise.
46753         * modules/canonicalize-lgpl (Depends-on): Likewise.
46754         * modules/fts (Depends-on): Likewise.
46755         * modules/getcwd (Depends-on): Likewise.
46756         * modules/human (Depends-on): Likewise.
46757         * modules/regex (Depends-on): Likewise.
46758         * modules/striconveh (Depends-on): Likewise.
46759         * modules/trim (Depends-on): Likewise.
46760         * modules/unistr/u8-move (Depends-on): Likewise.
46761         * modules/unistr/u16-move (Depends-on): Likewise.
46762         * modules/unistr/u32-move (Depends-on): Likewise.
46763
46764 2008-11-02  Bruno Haible  <bruno@clisp.org>
46765
46766         Mark 'memcpy' obsolete.
46767         * modules/memcpy (Status, Notice): New sections.
46768
46769 2008-11-02  Bruno Haible  <bruno@clisp.org>
46770
46771         Mark 'memcmp' obsolete.
46772         * modules/memcmp (Status, Notice): New sections.
46773         * modules/argmatch (Depends-on): Add memchr.
46774         * modules/backupfile (Depends-on): Likewise.
46775         * modules/c-strcasestr (Depends-on): Likewise.
46776         * modules/crypto/des (Depends-on): Likewise.
46777         * modules/csharpcomp (Depends-on): Likewise.
46778         * modules/fnmatch (Depends-on): Likewise.
46779         * modules/git-merge-changelog (Depends-on): Likewise.
46780         * modules/isnand (Depends-on): Likewise.
46781         * modules/isnand-nolibm (Depends-on): Likewise.
46782         * modules/isnanf (Depends-on): Likewise.
46783         * modules/isnanf-nolibm (Depends-on): Likewise.
46784         * modules/isnanl (Depends-on): Likewise.
46785         * modules/isnanl-nolibm (Depends-on): Likewise.
46786         * modules/mbchar (Depends-on): Likewise.
46787         * modules/memcoll (Depends-on): Likewise.
46788         * modules/quotearg (Depends-on): Likewise.
46789         * modules/regex (Depends-on): Likewise.
46790         * modules/relocatable-prog (Depends-on): Likewise.
46791         * modules/same (Depends-on): Likewise.
46792         * modules/signbit (Depends-on): Likewise.
46793         * modules/strcasestr-simple (Depends-on): Likewise.
46794         * modules/unictype/gen-ctype (Depends-on): Likewise.
46795         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
46796         * modules/uniname/uniname (Depends-on): Likewise.
46797         * modules/unistr/u8-cmp (Depends-on): Likewise.
46798
46799 2008-11-02  Bruno Haible  <bruno@clisp.org>
46800
46801         Mark 'memchr' obsolete.
46802         * modules/memchr (Status, Notice): New sections.
46803         * modules/argp (Depends-on): Add memchr.
46804         * modules/base64 (Depends-on): Likewise.
46805         * modules/c-strcasestr (Depends-on): Likewise.
46806         * modules/chdir-long (Depends-on): Likewise.
46807         * modules/fnmatch (Depends-on): Likewise.
46808         * modules/getsubopt (Depends-on): Likewise.
46809         * modules/git-merge-changelog (Depends-on): Likewise.
46810         * modules/glob (Depends-on): Likewise.
46811         * modules/strcasestr-simple (Depends-on): Likewise.
46812         * modules/strnlen (Depends-on): Likewise.
46813
46814 2008-11-02  Bruno Haible  <bruno@clisp.org>
46815
46816         Mark 'atexit' obsolete.
46817         * modules/atexit (Status, Notice): New sections.
46818         * modules/chdir-long (Depends-on): Add atexit.
46819         * modules/wait-process (Depends-on): Likewise.
46820
46821 2008-11-02  Bruno Haible  <bruno@clisp.org>
46822
46823         * gnulib-tool: New option --with-obsolete.
46824         (func_usage): Document it.
46825         (func_modules_transitive_closure): Drop obsolete dependencies if
46826         incobsolete is not true.
46827         (func_import): Read and save the incobsolete variable to the cache.
46828
46829 2008-11-02  Bruno Haible  <bruno@clisp.org>
46830
46831         * modules/TEMPLATE-EXTENDED: New field 'Status'.
46832         * gnulib-tool: New option --extract-status.
46833         (func_usage): Document it.
46834         (sed_extract_prog): Recognize it.
46835         (func_get_status): New function.
46836
46837 2008-10-30  Simon Josefsson  <simon@josefsson.org>
46838
46839         * modules/sockets (License): Change from LGPL to LGPLv2+.
46840
46841 2008-10-28  Simon Josefsson  <simon@josefsson.org>
46842
46843         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
46844
46845 2008-10-28  Simon Josefsson  <simon@josefsson.org>
46846
46847         * MODULES.html.sh (Support for systems lacking POSIX:2001):
46848         Mention times and sys_times.
46849         * modules/sys_times, modules/sys_times-tests: New modules.
46850         * modules/times, modules/times-tests: Likewise
46851         * m4/sys_times_h.m4: New file.
46852         * lib/sys_times.in.h: Likewise
46853         * lib/times.c: Likewise.
46854         * tests/test-sys_times.c: Likewise.
46855         * tests/test-times.c: Likewise.
46856         * doc/posix-headers/sys_times.texi: Update.
46857         * doc/posix-functions/times.texi: Update.
46858
46859 2008-10-28  Jim Meyering  <meyering@redhat.com>
46860
46861         * modules/tempname (Depends-on): Add lstat.
46862
46863         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
46864
46865 2008-10-28  Simon Josefsson  <simon@josefsson.org>
46866
46867         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
46868         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
46869         using idiom used elsewhere in gnulib.
46870
46871 2008-10-27  Jim Meyering  <meyering@redhat.com>
46872
46873         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
46874
46875 2008-10-27  Simon Josefsson  <simon@josefsson.org>
46876
46877         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
46878         TESTS_ENVIRONMENT, for shell scripts that needs to call built
46879         programs.
46880         * tests/test-argp-2.sh: Use $EXEEXT when needed.
46881
46882 2008-10-27  Simon Josefsson  <simon@josefsson.org>
46883
46884         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
46885
46886 2008-10-27  Bruno Haible  <bruno@clisp.org>
46887
46888         * tests/test-lstat.c: Include <stdio.h>.
46889
46890 2008-10-27  Simon Josefsson  <simon@josefsson.org>
46891
46892         * modules/lstat-tests: New module.
46893         * tests/test-lstat.c: New file.
46894
46895 2008-10-26  Jim Meyering  <meyering@redhat.com>
46896
46897         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
46898
46899 2008-10-26  Simon Josefsson  <simon@josefsson.org>
46900             Bruno Haible  <bruno@clisp.org>
46901
46902         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
46903         * modules/configmake (Include): Add a note that the include must come
46904         after all system headers.
46905         * lib/javaversion.c: Include configmake.h after all other includes.
46906
46907 2008-10-26  Bruno Haible  <bruno@clisp.org>
46908
46909         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
46910         HAVE_STRUCT_RANDOM_DATA to 1.
46911         (gl_STDLIB_H): Simplify.
46912
46913 2008-10-26  Simon Josefsson  <simon@josefsson.org>
46914
46915         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
46916         substitute HAVE_STRUCT_RANDOM_DATA.
46917         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
46918         random_data.
46919         * modules/stdlib (Makefile.am): Substitute
46920         HAVE_STRUCT_RANDOM_DATA.
46921
46922 2008-10-26  Simon Josefsson  <simon@josefsson.org>
46923
46924         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
46925         * doc/gnulib-intro.texi (Copyright): Likewise.
46926
46927 2008-10-26  Simon Josefsson  <simon@josefsson.org>
46928
46929         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
46930         findings.
46931
46932 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
46933             Bruno Haible  <bruno@clisp.org>
46934
46935         * lib/unistd.in.h: Include <winsock2.h>.
46936         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
46937         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
46938         Provide dummy declarations.
46939         (gethostname): Override.
46940         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
46941         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
46942         gl_PREREQ_SYS_H_WINSOCK2.
46943         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
46944         * doc/posix-functions/gethostname.texi: More details.
46945
46946 2008-10-25  Bruno Haible  <bruno@clisp.org>
46947
46948         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
46949         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
46950         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
46951
46952         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
46953         here ...
46954         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
46955         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
46956         gl_UNISTD_H_DEFAULTS.
46957
46958 2008-10-25  Eric Blake  <ebb9@byu.net>
46959
46960         signbit: avoid spurious compiler failure
46961         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
46962         declarations inside function.
46963
46964 2008-10-24  Simon Josefsson  <simon@josefsson.org>
46965             Bruno Haible  <bruno@clisp.org>
46966
46967         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
46968         * modules/random_r (Depends-on): Add stdint.
46969
46970 2008-10-24  Bruno Haible  <bruno@clisp.org>
46971
46972         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
46973         Eggert.
46974         * modules/strerror (License): Likewise.
46975
46976 2008-10-24  Jim Meyering  <meyering@redhat.com>
46977
46978         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
46979         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
46980
46981 2008-10-24  Eric Blake  <ebb9@byu.net>
46982
46983         getgroups: fix compilation when getgroups is available
46984         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
46985         but with <config.h> override of getgroups disabled.
46986
46987 2008-10-24  Simon Josefsson  <simon@josefsson.org>
46988
46989         * doc/gnulib.texi (Header files): Add note about C++ problems.
46990         Explained by Bruno Haible <bruno@clisp.org>.
46991
46992 2008-10-23  Bruno Haible  <bruno@clisp.org>
46993
46994         Define a dummy SA_NODEFER macro on Interix.
46995         * lib/signal.in.h (SA_NODEFER): Define fallback.
46996         Reported by Aleksey Cheusov <cheusov@tut.by> via
46997         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
46998
46999 2008-10-23  Bruno Haible  <bruno@clisp.org>
47000
47001         * modules/freadahead (License): Change to LGPLv2+.
47002         Suggested by Simon Josefsson.
47003
47004 2008-10-23  Jim Meyering  <meyering@redhat.com>
47005
47006         random_r: new module
47007         * modules/random_r: New file.
47008         * m4/random_r.m4: New file.
47009         * lib/random_r.c: New file, from glibc.
47010         * modules/random_r-tests: New file.
47011         * tests/test-random_r.c: New file.
47012         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
47013          Declare.
47014         (RAND_MAX): Define.
47015         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
47016         * modules/stdlib: Substitute them, too.
47017         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
47018         * doc/glibc-functions/initstate_r.texi: Mention the new module.
47019         * doc/glibc-functions/random_r.texi: Likewise.
47020         * doc/glibc-functions/setstate_r.texi: Likewise.
47021         * doc/glibc-functions/srandom_r.texi: Likewise.
47022         * config/srclist.txt: Mention it.
47023
47024 2008-10-23  David Lutterkort  <lutter@redhat.com>
47025
47026         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
47027         link requirement
47028
47029 2008-10-23  Jim Meyering  <meyering@redhat.com>
47030
47031         selinux-h: mark parameters of stub functions as intentionally unused
47032         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
47033         * lib/se-context.in.h: Likewise.
47034
47035 2008-10-22  Simon Josefsson  <simon@josefsson.org>
47036
47037         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
47038
47039 2008-10-22  Simon Josefsson  <simon@josefsson.org>
47040
47041         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
47042
47043 2008-10-22  Eric Blake  <ebb9@byu.net>
47044
47045         glthread/thread: avoid compiler warning
47046         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
47047         Add unreachable abort to silence compiler.
47048
47049 2008-10-22  Eric Blake  <ebb9@byu.net>
47050
47051         netdb: also supply struct addrinfo for cygwin 1.5.x
47052         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
47053         older cygwin.
47054         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
47055         cygwin.
47056         * doc/posix-headers/netdb.texi (netdb.h): Document this.
47057
47058 2008-10-22  Bruno Haible  <bruno@clisp.org>
47059
47060         * users.txt: Update entry about pspp.
47061
47062 2008-10-21  Bruno Haible  <bruno@clisp.org>
47063
47064         Simplification.
47065         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
47066         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
47067
47068         Simplification.
47069         * lib/ioctl.c (ioctl): Don't undefine.
47070         * lib/socket.c (socket): Don't undefine.
47071
47072         Remove unused module indicator macros.
47073         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
47074         GNULIB_$1 as a C macro.
47075
47076         * doc/posix-functions/close.texi: Undo last change.
47077         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
47078         Windows platforms.
47079
47080 2008-10-21  Bruno Haible  <bruno@clisp.org>
47081
47082         Add gethostname() declaration to <unistd.h>.
47083         * lib/unistd.in.h (gethostname): New declaration.
47084         * lib/gethostname.c: Include <unistd.h>.
47085         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
47086         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
47087         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
47088         and HAVE_GETHOSTNAME.
47089         * modules/gethostname (Depends-on): Add unistd.
47090         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47091         (Include): Specify <unistd.h>.
47092         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
47093         HAVE_GETHOSTNAME.
47094         * tests/test-gethostname.c: Include <unistd.h> first.
47095
47096 2008-10-21  Bruno Haible  <bruno@clisp.org>
47097
47098         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
47099         * modules/select-tests (Depends-on): Likewise.
47100         Reported by Simon Josefsson.
47101
47102 2008-10-21  Simon Josefsson  <simon@josefsson.org>
47103
47104         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
47105         * lib/accept.c: New file, based on winsock.c.
47106         * lib/bind.c: New file, based on winsock.c.
47107         * lib/connect.c: New file, based on winsock.c.
47108         * lib/getpeername.c: New file, based on winsock.c.
47109         * lib/getsockname.c: New file, based on winsock.c.
47110         * lib/getsockopt.c: New file, based on winsock.c.
47111         * lib/ioctl.c: New file, based on winsock.c.
47112         * lib/listen.c: New file, based on winsock.c.
47113         * lib/recv.c: New file, based on winsock.c.
47114         * lib/recvfrom.c: New file, based on winsock.c.
47115         * lib/send.c: New file, based on winsock.c.
47116         * lib/sendto.c: New file, based on winsock.c.
47117         * lib/setsockopt.c: New file, based on winsock.c.
47118         * lib/shutdown.c: New file, based on winsock.c.
47119         * lib/socket.c: New file, based on winsock.c.
47120         * lib/w32sock.h: New file, based on winsock.c.
47121         * lib/winsock.c: Remove file.
47122         * modules/accept: Likewise.
47123         * modules/bind: Likewise.
47124         * modules/connect: Likewise.
47125         * modules/getpeername: Likewise.
47126         * modules/getsockname: Likewise.
47127         * modules/getsockopt: Likewise.
47128         * modules/ioctl: Likewise.
47129         * modules/listen: Likewise.
47130         * modules/recv: Likewise.
47131         * modules/recvfrom: Likewise.
47132         * modules/send: Likewise.
47133         * modules/sendto: Likewise.
47134         * modules/setsockopt: Likewise.
47135         * modules/shutdown: Likewise.
47136         * modules/socket: Use socket.c instead of winsock.c.
47137         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
47138         * doc/posix-functions/accept.texi: Doc fix.
47139         * doc/posix-functions/bind.texi: Doc fix.
47140         * doc/posix-functions/close.texi: Doc fix.
47141         * doc/posix-functions/connect.texi: Doc fix.
47142         * doc/posix-functions/getpeername.texi: Doc fix.
47143         * doc/posix-functions/getsockname.texi: Doc fix.
47144         * doc/posix-functions/getsockopt.texi: Doc fix.
47145         * doc/posix-functions/ioctl.texi: Doc fix.
47146         * doc/posix-functions/listen.texi: Doc fix.
47147         * doc/posix-functions/recv.texi: Doc fix.
47148         * doc/posix-functions/recvfrom.texi: Doc fix.
47149         * doc/posix-functions/send.texi: Doc fix.
47150         * doc/posix-functions/sendto.texi: Doc fix.
47151         * doc/posix-functions/setsockopt.texi: Doc fix.
47152         * doc/posix-functions/shutdown.texi: Doc fix.
47153         * doc/posix-functions/socket.texi: Doc fix.
47154
47155 2008-10-20  Bruno Haible  <bruno@clisp.org>
47156
47157         Take into account the role of SIGABRT_COMPAT on Windows 2008.
47158         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
47159         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
47160         as an alias for SIGABRT.
47161         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
47162         (sigaction): Map it to SIGABRT.
47163         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
47164
47165 2008-10-20  Bruno Haible  <bruno@clisp.org>
47166
47167         * lib/fts.c: Don't include lstat.h.
47168         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
47169
47170         Move the lstat() declaration to <sys/stat.h>.
47171         * lib/lstat.h: Remove file.
47172         * lib/sys_stat.in.h: Add special invocation convention.
47173         (lstat): New declaration.
47174         * lib/lstat.c (orig_lstat): New function.
47175         (rpl_lstat): Use orig_lstat instead of lstat.
47176         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
47177         AC_C_INLINE. Set REPLACE_LSTAT.
47178         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
47179         and REPLACE_LSTAT.
47180         * modules/lstat (Files): Remove lib/lstat.h.
47181         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
47182         (Include): Specify <sys/stat.h> instead of lstat.h.
47183         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
47184         REPLACE_LSTAT.
47185         * NEWS: Mention the change.
47186
47187 2008-10-20  Bruno Haible  <bruno@clisp.org>
47188
47189         * modules/posix_spawn-tests: New file.
47190         * tests/test-posix_spawn3.c: New file.
47191
47192 2008-10-20  Bruno Haible  <bruno@clisp.org>
47193
47194         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
47195         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
47196         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
47197         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
47198         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
47199
47200 2008-10-20  Bruno Haible  <bruno@clisp.org>
47201
47202         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
47203         of posix_spawn on AIX 5.3.
47204
47205 2008-10-20  Bruno Haible  <bruno@clisp.org>
47206
47207         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
47208
47209 2008-10-20  Bruno Haible  <bruno@clisp.org>
47210
47211         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
47212         of AC_LANG_PROGRAM.
47213
47214 2008-10-20  Simon Josefsson  <simon@josefsson.org>
47215
47216         * lib/netdb.in.h: Don't define GNU specific constants until they
47217         are supported or needed.  Reported by Bruno Haible
47218         <bruno@clisp.org>.
47219
47220 2008-10-20  Simon Josefsson  <simon@josefsson.org>
47221
47222         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
47223
47224 2008-10-20  Simon Josefsson  <simon@josefsson.org>
47225
47226         * lib/getaddrinfo.h: Remove file.
47227         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
47228         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
47229         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
47230         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
47231         * modules/netdb: Substitute GNULIB_GETADDRINFO.
47232         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
47233         * tests/test-getaddrinfo.c: Likewise.
47234         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
47235         * NEWS: Mention change.
47236
47237 2008-10-19  Bruno Haible  <bruno@clisp.org>
47238
47239         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
47240
47241 2008-10-19  Bruno Haible  <bruno@clisp.org>
47242
47243         * lib/wait-process.c: Include simply <sys/wait.h>.
47244         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
47245         WIFSTOPPED): Remove fallback definitions.
47246         * modules/wait-process (Depends-on): Add sys_wait.
47247
47248         New module 'sys_wait'.
47249         * modules/sys_wait: New file.
47250         * lib/sys_wait.in.h: New file, partially copied from
47251         lib/wait-process.c.
47252         * m4/sys_wait_h.m4: New file.
47253         * doc/posix-headers/sys_wait.texi: Mention the new module.
47254
47255 2008-10-19  Bruno Haible  <bruno@clisp.org>
47256
47257         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
47258
47259 2008-10-19  Bruno Haible  <bruno@clisp.org>
47260
47261         Assume that waitpid() fills an 'int' status, not a 'union wait'.
47262         * lib/wait-process.c (WAIT_T): Remove type.
47263         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
47264         (wait_subprocess): Update.
47265
47266 2008-10-19  Bruno Haible  <bruno@clisp.org>
47267
47268         New module 'atoll'.
47269         * modules/atoll: New file.
47270         * lib/stdlib.in.h (atoll): New declaration.
47271         * lib/atoll.c: New file, from glibc with modifications.
47272         * m4/atoll.m4: New file.
47273         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
47274         HAVE_ATOLL.
47275         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
47276         * doc/posix-functions/atoll.texi: Mention the new module.
47277
47278 2008-10-19  Bruno Haible  <bruno@clisp.org>
47279
47280         Add strtoull() declaration to <stdlib.h>.
47281         * lib/stdlib.in.h (strtoull): New declaration.
47282         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
47283         Set HAVE_STRTOULL.
47284         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
47285         HAVE_STRTOULL.
47286         * modules/strtoull (Depends-on): Add stdlib.
47287         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47288         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
47289         HAVE_STRTOULL.
47290
47291 2008-10-19  Bruno Haible  <bruno@clisp.org>
47292
47293         Add strtoll() declaration to <stdlib.h>.
47294         * lib/stdlib.in.h (strtoll): New declaration.
47295         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
47296         Set HAVE_STRTOLL.
47297         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
47298         HAVE_STRTOLL.
47299         * modules/strtoll (Depends-on): Add stdlib.
47300         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47301         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
47302
47303 2008-10-19  Bruno Haible  <bruno@clisp.org>
47304
47305         * modules/bcopy (Depends-on): Add strings.
47306         (Include): Specify <strings.h>.
47307
47308 2008-10-19  Bruno Haible  <bruno@clisp.org>
47309
47310         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
47311
47312 2008-10-19  Bruno Haible  <bruno@clisp.org>
47313
47314         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
47315         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
47316         mingw.
47317
47318 2008-10-19  Bruno Haible  <bruno@clisp.org>
47319
47320         * lib/atanl.c: Don't include isnanl.h.
47321         * lib/cosl.c: Likewise.
47322         * lib/ldexpl.c: Likewise.
47323         * lib/logl.c: Likewise.
47324         * lib/sinl.c: Likewise.
47325         * lib/sqrtl.c: Likewise.
47326         * lib/tanl.c: Likewise.
47327
47328         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
47329         * lib/isnanf.h: Remove file.
47330         * lib/isnand.h: Remove file.
47331         * lib/isnanl.h: Remove file.
47332         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
47333         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
47334         macros.
47335         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
47336         HAVE_ISNANF, don't define it as a C macro.
47337         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
47338         HAVE_ISNAND, don't define it as a C macro.
47339         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
47340         HAVE_ISNANL, don't define it as a C macro.
47341         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
47342         HAVE_ISNAN[FDL].
47343         * modules/isnanf (Files): Remove lib/isnanf.h.
47344         (Depends-on): Add math.
47345         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
47346         (Include): Specify <math.h> instead of isnanf.h.
47347         * modules/isnand (Files): Remove lib/isnand.h.
47348         (Depends-on): Add math.
47349         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
47350         (Include): Specify <math.h> instead of isnand.h.
47351         * modules/isnanl (Files): Remove lib/isnanl.h.
47352         (Depends-on): Add math.
47353         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
47354         (Include): Specify <math.h> instead of isnanl.h.
47355         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
47356         HAVE_ISNAN[FDL].
47357         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
47358         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
47359         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
47360         * NEWS: Mention the change.
47361
47362 2008-10-18  Bruno Haible  <bruno@clisp.org>
47363
47364         Add getusershell(), setusershell(), endusershell() declarations to
47365         <unistd.h>.
47366         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
47367         declarations.
47368         * lib/getusershell.c: Include unistd.h.
47369         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
47370         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
47371         HAVE_GETUSERSHELL.
47372         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
47373         and HAVE_GETUSERSHELL.
47374         * modules/getusershell (Depends-on): Add unistd, extensions.
47375         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47376         (Include): Specify <unistd.h>.
47377         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
47378         HAVE_GETUSERSHELL.
47379
47380 2008-10-18  Bruno Haible  <bruno@clisp.org>
47381
47382         Add a getloadavg() declaration to <stdlib.h>.
47383         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
47384         getloadavg declaration.
47385         (getloadavg): New declaration.
47386         * lib/getloadavg.c: Include <stdlib.h> first.
47387         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
47388         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
47389         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
47390         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
47391         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
47392         * modules/getloadavg (Depends-on): Add stdlib, extensions.
47393         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47394         (Include): Specify <stdlib.h>.
47395         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
47396         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
47397
47398 2008-10-18  Bruno Haible  <bruno@clisp.org>
47399
47400         * lib/dirchownmod.c: Don't include lchmod.h.
47401
47402         Move the lchmod() declaration to <sys/stat.h>.
47403         * lib/lchmod.h: Remove file.
47404         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
47405         (lchmod): New declaration, moved here from lib/lchown.h.
47406         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
47407         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
47408         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
47409         and HAVE_LCHMOD.
47410         * modules/lchmod (Files): Remove lib/lchmod.h.
47411         (Depends-on): Add sys_stat, extensions.
47412         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
47413         (Include): Specify <sys/stat.h> instead of lchmod.h.
47414         * modules/sys_stat (Depends-on): Add link-warning.
47415         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
47416         definition of GL_LINK_WARNING.
47417         * NEWS: Mention the change.
47418
47419 2008-10-18  Bruno Haible  <bruno@clisp.org>
47420
47421         * lib/fchdir.c: Don't include dirfd.h.
47422         * lib/fts.c: Likewise.
47423         * lib/getcwd.c: Likewise.
47424         * lib/glob.c: Likewise.
47425
47426         Move the dirfd() declaration to <dirent.h>.
47427         * lib/dirfd.h: Remove file.
47428         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
47429         (dirfd): New declaration.
47430         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
47431         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
47432         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
47433         HAVE_DECL_DIRFD.
47434         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
47435         HAVE_DECL_DIRFD.
47436         * modules/dirfd (Files): Remove lib/dirfd.h.
47437         (Depends-on): Add dirent, extensions.
47438         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
47439         (Include): Specify <dirent.h> instead of dirfd.h.
47440         * modules/dirent (Depends-on): Add link-warning.
47441         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
47442         definition of GL_LINK_WARNING.
47443         * NEWS: Mention the change.
47444
47445 2008-10-18  Bruno Haible  <bruno@clisp.org>
47446
47447         Move the euidaccess() declaration to <unistd.h>.
47448         * lib/euidaccess.h: Remove file.
47449         * lib/unistd.in.h (euidaccess): New declaration.
47450         * lib/euidaccess.c: Don't include euidaccess.h.
47451         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
47452         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
47453         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
47454         and HAVE_EUIDACCESS.
47455         * modules/euidaccess (Files): Remove lib/euidaccess.h.
47456         (Depends-on): Add unistd.
47457         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47458         (Include): Specify <unistd.h> instead of euidaccess.h.
47459         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
47460         HAVE_EUIDACCESS.
47461         * NEWS: Mention the change.
47462
47463 2008-10-18  Bruno Haible  <bruno@clisp.org>
47464
47465         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
47466
47467         Move the getdomainname() declaration to <unistd.h>.
47468         * lib/getdomainname.h: Remove file.
47469         * lib/unistd.in.h (getdomainname): New declaration.
47470         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
47471         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
47472         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
47473         HAVE_GETDOMAINNAME.
47474         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47475         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
47476         * modules/getdomainname (Files): Remove lib/getdomainname.h.
47477         (Depends-on): Add unistd, extensions.
47478         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47479         (Includes): Specify <unistd.h> instead of getdomainname.h.
47480         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
47481         HAVE_GETDOMAINNAME.
47482         * NEWS: Mention the change.
47483
47484 2008-10-18  Bruno Haible  <bruno@clisp.org>
47485
47486         * modules/dirent: New file.
47487         * m4/dirent_h.m4: New file.
47488         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
47489         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
47490         * modules/fchdir (Files): Remove lib/dirent.in.h.
47491         (Depends-on): Add dirent.
47492         (Makefile.am): Move rules to modules/dirent.
47493         * doc/posix-headers/dirent.texi: Mention the new module.
47494
47495 2008-10-18  Bruno Haible  <bruno@clisp.org>
47496
47497         Avoid -Wunused-parameter warnings in public gnulib header files.
47498         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
47499         macro.
47500         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
47501
47502 2008-10-18  Bruno Haible  <bruno@clisp.org>
47503
47504         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
47505         * doc/glibc-functions/error.texi: Mention the module 'error'.
47506         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
47507         * doc/glibc-functions/getdomainname.texi: Mention the module
47508         'getdomainname'.
47509         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
47510         * doc/glibc-functions/getpagesize.texi: Mention the module
47511         'getpagesize'.
47512         * doc/glibc-functions/getusershell.texi: Mention the module
47513         'getusershell'.
47514         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
47515         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
47516         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
47517         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
47518         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
47519         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
47520         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
47521         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
47522         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
47523         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
47524         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
47525         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
47526         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
47527         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
47528
47529 2008-10-17  Bruno Haible  <bruno@clisp.org>
47530
47531         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
47532         HP-UX and IRIX, use -0.0L.
47533         * tests/test-ceill.c (minus_zero): Likewise.
47534         * tests/test-floorl.c (minus_zero): Likewise.
47535         * tests/test-frexpl.c (minus_zero): Likewise.
47536         * tests/test-isnan.c (minus_zerol): Likewise.
47537         * tests/test-isnanl.h (minus_zero): Likewise.
47538         * tests/test-ldexpl.c (minus_zero): Likewise.
47539         * tests/test-roundl.c (minus_zero): Likewise.
47540         * tests/test-signbit.c (minus_zerol): Likewise.
47541         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
47542         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
47543         * tests/test-truncl.c (minus_zero): Likewise.
47544         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
47545         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
47546         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
47547         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
47548
47549 2008-10-17  Bruno Haible  <bruno@clisp.org>
47550
47551         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
47552         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
47553         that it gets activated only for gcc >= 3.0.
47554         * lib/dirent.in.h: Likewise.
47555         * lib/errno.in.h: Likewise.
47556         * lib/fcntl.in.h: Likewise.
47557         * lib/float.in.h: Likewise.
47558         * lib/iconv.in.h: Likewise.
47559         * lib/inttypes.in.h: Likewise.
47560         * lib/locale.in.h: Likewise.
47561         * lib/math.in.h: Likewise.
47562         * lib/netdb.in.h: Likewise.
47563         * lib/netinet_in.in.h: Likewise.
47564         * lib/search.in.h: Likewise.
47565         * lib/signal.in.h: Likewise.
47566         * lib/spawn.in.h: Likewise.
47567         * lib/stdarg.in.h: Likewise.
47568         * lib/stdint.in.h: Likewise.
47569         * lib/stdio.in.h: Likewise.
47570         * lib/stdlib.in.h: Likewise.
47571         * lib/string.in.h: Likewise.
47572         * lib/strings.in.h: Likewise.
47573         * lib/sys_file.in.h: Likewise.
47574         * lib/sys_ioctl.in.h: Likewise.
47575         * lib/sys_select.in.h: Likewise.
47576         * lib/sys_socket.in.h: Likewise.
47577         * lib/sys_stat.in.h: Likewise.
47578         * lib/sys_time.in.h: Likewise.
47579         * lib/sysexits.in.h: Likewise.
47580         * lib/time.in.h: Likewise.
47581         * lib/unistd.in.h: Likewise.
47582         * lib/wchar.in.h: Likewise.
47583         * lib/wctype.in.h: Likewise.
47584         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
47585
47586 2008-10-17  Jim Meyering  <meyering@redhat.com>
47587
47588         ignore-value: don't depend on inline module
47589         * modules/ignore-value (Depends-on): Remove 'inline'.
47590         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
47591         Suggestion from Bruno Haible.
47592
47593 2008-10-17  Bruno Haible  <bruno@clisp.org>
47594
47595         New implementation of condition variables for Win32.
47596         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
47597         (gl_linked_waitqueue_t): New type.
47598         (gl_cond_t): Use it.
47599         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
47600         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
47601         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
47602         (glthread_cond_init_func, glthread_cond_wait_func,
47603         glthread_cond_timedwait_func, glthread_cond_signal_func,
47604         glthread_cond_broadcast_func, glthread_cond_destroy_func):
47605         Reimplemented on the basis of gl_linked_waitqueue_t.
47606         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
47607         gl_waitqueue_t.
47608         (gl_rwlock_t): Update.
47609         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
47610
47611 2008-10-17  Simon Josefsson  <simon@josefsson.org>
47612
47613         * modules/recvfrom (Depends-on): Add dependency on getpeername.
47614         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
47615
47616 2008-10-17  Jim Meyering  <meyering@redhat.com>
47617
47618         ignore-value: new module
47619         * modules/ignore-value: New file.
47620         * lib/ignore-value.h: New file.
47621         * MODULES.html.sh (Compiler warning management): New section,
47622         just for this module.  More to come.
47623
47624 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
47625
47626         open-safer.c: avoid 'signed and unsigned in conditional...' warning
47627         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
47628         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
47629
47630 2008-10-16  Jim Meyering  <meyering@redhat.com>
47631
47632         openat-die.c: avoid 'no previous prototype' warning
47633         * lib/openat-die.c: Include "openat.h".
47634         Reported by Reuben Thomas <rrt@sc3d.org>.
47635
47636 2008-10-16  Simon Josefsson  <simon@josefsson.org>
47637
47638         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
47639         * lib/netdb.in.h: Fix typo.
47640         Reported by Bruno Haible  <bruno@clisp.org>
47641
47642         * lib/netdb.in.h: Include sys/socket.h for platforms without
47643         netdb.h, to get structures like hostent on MinGW.
47644         * modules/netdb (Depends-on): Add sys_socket.
47645
47646 2008-10-15  Simon Josefsson  <simon@josefsson.org>
47647
47648         * modules/netdb, modules/netdb-tests: New file.
47649         * m4/netdb_h.m4: New file.
47650         * lib/netdb.in.h: Add, currently just an empty file pending
47651         definitions.
47652         * tests/test-netdb.c: New file.
47653         * doc/posix-headers/netdb.texi: Mention that we replace it if
47654         needed.
47655         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47656         netdb.
47657
47658 2008-10-15  Simon Josefsson  <simon@josefsson.org>
47659
47660         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
47661         with code.
47662
47663 2008-10-13  Bruno Haible  <bruno@clisp.org>
47664
47665         * lib/glthread/cond.c (glthread_cond_wait_func,
47666         glthread_cond_timedwait_func): Add a comment.
47667
47668 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
47669
47670         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
47671         * tests/test-select.c: Likewise,
47672
47673 2008-10-13  Bruno Haible  <bruno@clisp.org>
47674
47675         * lib/glthread/cond.c (glthread_cond_wait_func,
47676         glthread_cond_timedwait_func): Fix variable name.
47677         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
47678
47679 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
47680
47681         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
47682         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
47683         struct sockaddr.sa_len.
47684         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
47685
47686 2008-10-13  Simon Josefsson  <simon@josefsson.org>
47687
47688         * build-aux/pmccabe2html: Add css and css_url parameters.
47689
47690 2008-10-12  Bruno Haible  <bruno@clisp.org>
47691
47692         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
47693         calling aclx_get.
47694         Reported by Rainer Tammer <tammer@tammer.net>.
47695
47696 2008-10-12  Bruno Haible  <bruno@clisp.org>
47697
47698         Use msvcrt aware primitives for creation/termination of Win32 threads.
47699         * lib/glthread/thread.c: Include <process.h>.
47700         (glthread_create_func): Use _beginthreadex instead of CreateThread.
47701         (wrapper_func): Update signature.
47702         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
47703
47704 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
47705             Bruno Haible  <bruno@clisp.org>
47706
47707         Provide a Win32 implementation of the 'cond' module.
47708         * lib/glthread/cond.h [USE_WIN32]: New implementation.
47709         * lib/glthread/cond.c (glthread_cond_init_func,
47710         glthread_cond_wait_func, glthread_cond_timedwait_func,
47711         glthread_cond_signal_func, glthread_cond_broadcast_func,
47712         glthread_cond_destroy_func) [USE_WIN32]: New functions.
47713         * modules/cond (Dependencies): Add gettimeofday.
47714
47715 2008-10-11  Bruno Haible  <bruno@clisp.org>
47716
47717         Make sleep work on older versions of mingw.
47718         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
47719         only whether it exists.
47720         * doc/posix-functions/sleep.texi: Mention the problem with older
47721         versions of mingw.
47722
47723 2008-10-11  Bruno Haible  <bruno@clisp.org>
47724
47725         New module 'shutdown'.
47726         * modules/shutdown: New file.
47727         * lib/sys_socket.in.h (shutdown): New declaration.
47728         * lib/winsock.c (shutdown): New function.
47729         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
47730         GNULIB_SHUTDOWN.
47731         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
47732         * doc/posix-functions/shutdown.texi: Document the new module.
47733
47734 2008-10-11  Jim Meyering  <meyering@redhat.com>
47735
47736         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
47737
47738 2008-10-11  Bruno Haible  <bruno@clisp.org>
47739
47740         New module 'fclose'.
47741         * modules/fclose: New file.
47742         * lib/stdio.in.h (fclose): New declaration.
47743         * lib/fclose.c: New file.
47744         * m4/fclose.m4: New file.
47745         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
47746         REPLACE_FCLOSE.
47747         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
47748         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
47749         REPLACE_FCLOSE.
47750         * modules/close (Depends-on): fclose.
47751         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
47752
47753 2008-10-11  Bruno Haible  <bruno@clisp.org>
47754
47755         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
47756         set errno and don't call _close.
47757
47758 2008-10-10  Bruno Haible  <bruno@clisp.org>
47759
47760         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
47761         ACL, not afterwards. Fixes test failure on Cygwin.
47762
47763 2008-10-09  Ben Pfaff  <blp@gnu.org>
47764
47765         * build-aux/announce-gen: Fix gnulib version related part of usage
47766         message.  Die with a useful error message if no tarballs are
47767         found.
47768
47769 2008-10-10  Jim Meyering  <meyering@redhat.com>
47770
47771         bootstrap: use git's --depth=N option only if it's supported
47772         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
47773         recognize the --depth option.  Reported by Pádraig Brady.
47774
47775 2008-10-09  Bruno Haible  <bruno@clisp.org>
47776
47777         New module 'ioctl'.
47778         * modules/ioctl: New file.
47779         * lib/sys_socket.in.h (ioctl): Remove declaration.
47780         * lib/winsock.c: Include <sys/ioctl.h>.
47781         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
47782         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
47783         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
47784         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
47785         * doc/posix-functions/ioctl.texi: Mention the new module.
47786
47787 2008-10-09  Bruno Haible  <bruno@clisp.org>
47788
47789         New module 'sys_ioctl'.
47790         * lib/sys_ioctl.in.h: New file.
47791         * m4/sys_ioctl_h.m4: New file.
47792         * modules/sys_ioctl: New file.
47793         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
47794
47795 2008-10-09  Bruno Haible  <bruno@clisp.org>
47796
47797         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
47798         * lib/winsock.c: Include <stdarg.h>.
47799         (rpl_ioctl): Change to second argument 'int' and then varargs.
47800
47801 2008-10-09  Bruno Haible  <bruno@clisp.org>
47802
47803         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
47804         when the sys_socket module is present and the system has <winsock2.h>.
47805
47806 2008-10-09  Bruno Haible  <bruno@clisp.org>
47807
47808         * doc/posix-functions/close.texi: Mention module 'close' instead of
47809         module 'sys_socket'.
47810
47811 2008-10-09  Bruno Haible  <bruno@clisp.org>
47812
47813         * doc/glibc-headers/sys_ioctl.texi: New file.
47814         * doc/gnulib.texi: Include it.
47815
47816 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
47817             Bruno Haible  <bruno@clisp.org>
47818
47819         Combine the two replacements of 'close'.
47820         * lib/sys_socket.in.h (close): Define to a reminder to include
47821         <unistd.h>.
47822         (_gl_close_fd_maybe_socket): New declaration.
47823         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
47824         * lib/winsock.c (close): Remove undefinition.
47825         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
47826         needed for the gnulib module 'close'.
47827         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
47828         define to an error symbol or to a warning, if suitable.
47829         * lib/close.c: Include <sys/socket.h>.
47830         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
47831         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
47832         UNISTD_H_HAVE_WINSOCK2_H.
47833         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
47834         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47835         UNISTD_H_HAVE_WINSOCK2_H.
47836         * modules/sys_socket (Files): Add m4/unistd_h.m4.
47837         (configure.ac): Set a module indicator.
47838         (Makefile.am): Substitute GNULIB_CLOSE.
47839         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
47840         * modules/poll-tests (Depends-on): Add close.
47841         * modules/select-tests (Depends-on): Likewise.
47842
47843 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
47844             Bruno Haible  <bruno@clisp.org>
47845
47846         New module 'close'.
47847         * modules/close: New file.
47848         * lib/unistd.in.h (close): Move declaration out of the
47849         FCHDIR_REPLACEMENT scope.
47850         (_gl_unregister_fd): New declaration.
47851         * lib/close.c: New file.
47852         * lib/fchdir.c (rpl_close): Remove function.
47853         * m4/close.m4: New file.
47854         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
47855         close.
47856         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
47857         REPLACE_CLOSE.
47858         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
47859         REPLACE_CLOSE.
47860         * modules/fchdir (Depends-on): Add close.
47861
47862 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
47863             Bruno Haible  <bruno@clisp.org>
47864
47865         * lib/fcntl.in.h (open): Simplify conditionals.
47866         (_gl_register_fd): New declaration.
47867         * lib/fchdir.c (rpl_open): Remove function.
47868         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
47869         also.
47870         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
47871         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
47872         open.
47873
47874 2008-10-09  Jim Meyering  <meyering@redhat.com>
47875
47876         GNUmakefile: use the more name-space-friendly "_version"
47877         * top/GNUmakefile (_dummy): Update.
47878         (_version): Rename from "version".
47879
47880 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
47881             Bruno Haible  <bruno@clisp.org>
47882
47883         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
47884         rpl_close.
47885         (_gl_register_fd): New function, extracted from rpl_open.
47886         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
47887         (rpl_open, rpl_opendir): Use _gl_register_fd.
47888
47889 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
47890
47891         Fix organization of 'open' replacement.
47892         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
47893         (gl_FUNC_OPEN): Use it.
47894         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
47895
47896 2008-10-08  Bruno Haible  <bruno@clisp.org>
47897
47898         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
47899
47900 2008-10-08  Simon Josefsson  <simon@josefsson.org>
47901
47902         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
47903         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
47904         listen).
47905
47906 2008-10-08  Eric Blake  <ebb9@byu.net>
47907
47908         GNUmakefile: add 'make version' target
47909         * top/GNUmakefile (_curr-ver): Split version update rules...
47910         (version): ...into a target.
47911
47912 2008-10-07  Bruno Haible  <bruno@clisp.org>
47913
47914         Use a more portable replacement expression for -0.0L.
47915         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
47916         instead of -0.0L. Fix m4 quotation.
47917
47918         * tests/test-signbit.c: Include <float.h>.
47919         (minus_zero): New variable.
47920         (test_signbitl): Use minus_zero instead of -zero.
47921         * modules/signbit-tests (Depends-on): Add float.
47922
47923         * tests/test-ceill.c: Include <float.h>.
47924         (zero): Remove variable.
47925         (minus_zero): New variable.
47926         (main): Use minus_zero instead of -zero.
47927         * modules/ceill-tests (Depends-on): Add float.
47928
47929         * tests/test-floorl.c: Include <float.h>.
47930         (zero): Remove variable.
47931         (minus_zero): New variable.
47932         (main): Use minus_zero instead of -zero.
47933         * modules/floorl-tests (Depends-on): Add float.
47934
47935         * tests/test-roundl.c: Include <float.h>.
47936         (zero): Remove variable.
47937         (minus_zero): New variable.
47938         (main): Use minus_zero instead of -zero.
47939         * modules/roundl-tests (Depends-on): Add float.
47940
47941         * tests/test-truncl.c: Include <float.h>.
47942         (zero): Remove variable.
47943         (minus_zero): New variable.
47944         (main): Use minus_zero instead of -zero.
47945         * modules/truncl-tests (Depends-on): Add float.
47946
47947         * tests/test-frexpl.c (zero): Remove variable.
47948         (minus_zero): New variable.
47949         (main): Use minus_zero instead of -zero.
47950         * modules/frexpl-tests (Depends-on): Add float.
47951
47952         * tests/test-isnan.c (zerol): Remove variable.
47953         (minus_zerol): New variable.
47954         (test_long_double): Use minus_zerol instead of -zerol.
47955         * modules/isnan-tests (Depends-on): Add float.
47956
47957         * tests/test-isnanl.h (zero): Remove variable.
47958         (minus_zero): New variable.
47959         (main): Use minus_zero instead of -zero.
47960         * modules/isnanl-nolibm-tests (Depends-on): Add float.
47961         * modules/isnanl-tests (Depends-on): Add float.
47962
47963         * tests/test-ldexpl.c (zero): Remove variable.
47964         (minus_zero): New variable.
47965         (main): Use minus_zero instead of -zero.
47966         * modules/ldexpl-tests (Depends-on): Add float.
47967
47968         * tests/test-snprintf-posix.h (zerol): Remove variable.
47969         (minus_zerol): New variable.
47970         (test_function): Use minus_zerol instead of -zerol.
47971         * modules/snprintf-posix-tests (Depends-on): Add float.
47972         * modules/vsnprintf-posix-tests (Depends-on): Add float.
47973
47974         * tests/test-sprintf-posix.h (zerol): Remove variable.
47975         (minus_zerol): New variable.
47976         (test_function): Use minus_zerol instead of -zerol.
47977         * modules/sprintf-posix-tests (Depends-on): Add float.
47978         * modules/vsprintf-posix-tests (Depends-on): Add float.
47979
47980         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
47981         (minus_zerol): New variable.
47982         (test_function): Use minus_zerol instead of -zerol.
47983         * modules/vasnprintf-posix-tests (Depends-on): Add float.
47984
47985         * tests/test-vasprintf-posix.c (zerol): Remove variable.
47986         (minus_zerol): New variable.
47987         (test_function): Use minus_zerol instead of -zerol.
47988         * modules/vasprintf-posix-tests (Depends-on): Add float.
47989
47990 2008-10-07  Simon Josefsson  <simon@josefsson.org>
47991
47992         * MODULES.html.sh (Support for building documentation): Mention
47993         pmccabe2html.  Sort entries.
47994
47995         Add pmccabe2html module, from gnupdf.
47996         * build-aux/pmccabe.css: New file.
47997         * build-aux/pmccabe2html: New file.
47998         * m4/pmccabe2html.m4: New file.
47999         * modules/pmccabe2html: New file.
48000
48001 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
48002
48003         flock: new module
48004         * MODULES.html.sh: Add to list of modules.
48005         * lib/flock.c: flock implementation for Windows and Unix systems
48006         which have fcntl.
48007         * doc/glibc-functions/flock.texi: Update documentation.
48008         * lib/sys_file.in.h: <sys/file.h> header file.
48009         * m4/flock.m4: M4 macros.
48010         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
48011         * modules/flock: flock module.
48012         * modules/flock-tests: flock tests module.
48013         * modules/sys_file: sys/file.h module.
48014         * tests/test-flock.c: test suite for flock.
48015
48016 2008-10-06  Jim Meyering  <meyering@redhat.com>
48017
48018         bootstrap: check for LT_INIT more portably still ;-)
48019         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
48020         Spotted by Bruno Haible.
48021
48022 2008-10-06  Eric Blake  <ebb9@byu.net>
48023
48024         test-signbit: avoid tripping Irix cc bug on -0.0L
48025         * tests/test-signbit.c (minus_zerol): Delete, and replace with
48026         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
48027         entire testsuite consistent and avoids an Irix 6.2 bug.
48028
48029 2008-10-05  Bruno Haible  <bruno@clisp.org>
48030             Jim Meyering  <jim@meyering.net>
48031
48032         Add an option for ignoring EPIPE during close_stdout.
48033         * lib/closeout.h: Include <stdbool.h>.
48034         (close_stdout_set_ignore_EPIPE): New declaration.
48035         * lib/closeout.c: Include <stdbool.h>.
48036         (ignore_EPIPE): New variable.
48037         (close_stdout_set_ignore_EPIPE): New function.
48038         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
48039         * lib/close-stream.c (close_stream): Mention the possible EPIPE
48040         failure.
48041         * modules/closeout (Depends-on): Add stdbool.
48042
48043 2008-10-05  Bruno Haible  <bruno@clisp.org>
48044
48045         * modules/accept: New file.
48046         * modules/bind: New file.
48047         * modules/connect: New file.
48048         * modules/getpeername: New file.
48049         * modules/getsockname: New file.
48050         * modules/getsockopt: New file.
48051         * modules/listen: New file.
48052         * modules/recv: New file.
48053         * modules/recvfrom: New file.
48054         * modules/send: New file.
48055         * modules/sendto: New file.
48056         * modules/setsockopt: New file.
48057         * modules/socket: New file.
48058         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
48059         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
48060         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
48061         the particular module is requested. Add a link warning when the
48062         particular module is not requested.
48063         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
48064         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
48065         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
48066         the particular module is requested.
48067         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
48068         gl_SYS_SOCKET_H_DEFAULTS): New macros.
48069         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
48070         * modules/sys_socket (Depends-on): Add link-warning.
48071         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
48072         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
48073         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
48074         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
48075         GL_LINK_WARNING.
48076         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
48077         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
48078         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
48079         * doc/posix-functions/getpeername.texi: Mention the new module
48080         'getpeername'.
48081         * doc/posix-functions/getsockname.texi: Mention the new module
48082         'getsockname'.
48083         * doc/posix-functions/getsockopt.texi: Mention the new module
48084         'getsockopt'.
48085         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
48086         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
48087         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
48088         * doc/posix-functions/send.texi: Mention the new module 'send'.
48089         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
48090         * doc/posix-functions/setsockopt.texi: Mention the new module
48091         'setsockopt'.
48092         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
48093         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
48094         listen, connect, accept.
48095         * modules/select-tests (Depends-on): Likewise.
48096
48097 2008-10-05  Bruno Haible  <bruno@clisp.org>
48098
48099         * lib/winsock.c (strerror): Remove unused #undef.
48100         (rpl_close): Remove unused local variable.
48101
48102         * modules/sys_socket (Depends-on); Add errno.
48103
48104 2008-10-05  Bruno Haible  <bruno@clisp.org>
48105
48106         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
48107         (select): Add a link warning when the 'select' module is not used.
48108         * modules/sys_select (Depends-on): Add link-warning.
48109         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
48110         Suggested by Paolo Bonzini.
48111
48112 2008-10-05  Jim Meyering  <meyering@redhat.com>
48113
48114         bootstrap: check for LT_INIT more portably
48115         * build-aux/bootstrap: Avoid using grep -E, since it's not
48116         portable enough.  Suggestion from Bruno Haible.
48117
48118 2008-10-05  Bruno Haible  <bruno@clisp.org>
48119
48120         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
48121         as being fixed by gnulib.
48122
48123 2008-10-05  Bruno Haible  <bruno@clisp.org>
48124
48125         * modules/select-tests: New file, mostly copied from
48126         modules/sys_select-tests.
48127         * tests/test-select.c: New file, mostly copied from
48128         tests/test-sys_select.c.
48129         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
48130         * modules/sys_select-tests (Depends-on): Remove all dependencies.
48131         (Makefile.am): Remove test_sys_select_LDADD.
48132
48133         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
48134         to an undefined symbol, for an error message.
48135         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
48136         (gl_SYS_SELECT_H_DEFAULTS): New macro.
48137         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
48138         winsock-select.c here.
48139         * modules/sys_select (Files): Remove lib/winsock-select.c.
48140         (Depends-on): Remove alloca.
48141         (Makefile.am): Substitute GNULIB_SELECT.
48142         * modules/select: New file.
48143         * doc/posix-functions/select.texi: Update.
48144
48145 2008-10-05  Bruno Haible  <bruno@clisp.org>
48146
48147         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
48148         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
48149         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
48150         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
48151         getdtablesize.
48152         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
48153         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
48154
48155 2008-10-05  Bruno Haible  <bruno@clisp.org>
48156
48157         * modules/getdtablesize-tests: New file.
48158         * tests/test-getdtablesize.c: New file.
48159
48160         New module 'getdtablesize'.
48161         * lib/unistd.in.h (getdtablesize): New declaration.
48162         * lib/getdtablesize.c: New file.
48163         * m4/getdtablesize.m4: New file.
48164         * modules/getdtablesize: New file.
48165         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48166         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
48167         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
48168         HAVE_GETDTABLESIZE.
48169         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
48170
48171 2008-10-05  Bruno Haible  <bruno@clisp.org>
48172
48173         * modules/sched (Makefile.am): Fix typo.
48174         Reported by Simon Josefsson.
48175
48176 2008-10-05  Jim Meyering  <meyering@redhat.com>
48177
48178         bootstrap: check for LT_INIT, too
48179         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
48180         are deprecated.  Suggestion from Ralf Wildenhues.
48181
48182 2008-10-05  Bruno Haible  <bruno@clisp.org>
48183
48184         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
48185         overriding them by ours.
48186         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
48187
48188 2008-10-05  Jim Meyering  <meyering@redhat.com>
48189
48190         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
48191         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
48192         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
48193
48194 2008-10-04  Bruno Haible  <bruno@clisp.org>
48195
48196         * modules/dup2 (License): Change to LGPLv2+.
48197         * modules/sleep (License): Likewise.
48198         * modules/perror (License): Likewise.
48199         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
48200         Blake.
48201         * modules/signal (License): Likewise.
48202         * modules/sigprocmask (License): Likewise.
48203         * modules/raise (License): Change to LGPLv2+, with approval by Jim
48204         Meyering.
48205
48206 2008-10-04  Bruno Haible  <bruno@clisp.org>
48207
48208         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
48209         Reported by Rainer Tammer <tammer@tammer.net>.
48210
48211 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
48212             Bruno Haible  <bruno@clisp.org>
48213
48214         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
48215         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
48216         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
48217
48218 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
48219
48220         filevercmp: new module
48221         * lib/filevercmp.h: New function filevercmp comparing version strings.
48222         * lib/filevercmp.c: Implementation of filevercmp function.
48223         * modules/filevercmp: Module metadata.
48224         * tests/test-filevercmp.c: Unit test for new module.
48225         * modules/filevercmp-tests: Unit test metadata.
48226         * MODULES.html.sh: Add filevercmp module.
48227
48228 2008-10-03  Bruno Haible  <bruno@clisp.org>
48229
48230         * lib/c-ctype.h: Add comment.
48231         Reported by Jim Meyering.
48232
48233 2008-10-02  Bruno Haible  <bruno@clisp.org>
48234
48235         * modules/posix_spawn-internal (Depends-on): Add 'open'.
48236
48237 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
48238
48239         * build-aux/bootstrap: Allow renaming bootstrap, and change the
48240         name of bootstrap.conf accordingly.
48241
48242 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
48243
48244         * build-aux/bootstrap: Install git-merge-changelog configuration
48245         items into .gitconfig if needed.
48246
48247 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
48248
48249         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
48250         git repository, and initialize/update it accordingly.
48251
48252 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
48253
48254         * modules/fsync-tests: New file.
48255         * tests/test-fsync.c: New file.
48256
48257         New module 'fsync'.
48258         * lib/fsync.c: New file.
48259         * m4/fsync.m4: New file.
48260         * modules/fsync: New file.
48261         * lib/unistd.in.h (fsync): New declaration.
48262         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
48263         GNULIB_FSYNC and HAVE_FSYNC.
48264         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
48265         * MODULES.html.sh (posix_functions): Add fsync.
48266         * doc/posix-functions/fsync.texi: Mention the new module.
48267
48268 2008-10-02  Jim Meyering  <meyering@redhat.com>
48269
48270         fts.c: sync with similar code from coreutils' remove.c
48271         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
48272         Guard also with "#if defined __linux__", since for now at least,
48273         this code is Linux-kernel-specific.
48274
48275 2008-10-02  Jim Meyering  <meyering@redhat.com>
48276
48277         fts: bug fixes
48278         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
48279         Include <sys/vfs.h>, not <sys/statfs.h>.
48280
48281         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
48282         Include <sys/vfs.h>, not <sys/statfs.h>.
48283
48284 2008-10-01  Bruno Haible  <bruno@clisp.org>
48285
48286         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
48287         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
48288         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
48289         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
48290         * doc/posix-functions/posix_spawnp.texi: Likewise.
48291         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
48292         whether posix_spawn actually works.
48293         * m4/pipe.m4 (gl_PIPE): Likewise.
48294         * modules/execute (Files): Add m4/posix_spawn.m4.
48295         * modules/pipe (Files): Add m4/posix_spawn.m4.
48296         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
48297
48298 2008-10-01  Jim Meyering  <meyering@redhat.com>
48299
48300         remove trailing spaces
48301         * NEWS: Likewise.
48302         * lib/poll.c (poll): Likewise.
48303         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
48304         * lib/winsock.c (rpl_close): Likewise.
48305         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
48306         * modules/yield: Likewise.
48307         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
48308         * tests/test-sys_select.c (connect_to_socket): Likewise.
48309
48310         fts.c: adjust a new interface to be more generally useful
48311         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
48312         (fts_build): Adjust caller.
48313
48314 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48315
48316         * modules/cond-tests: New file.
48317         * tests/test-cond.c: New file.
48318
48319 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48320             Bruno Haible  <bruno@clisp.org>
48321
48322         * modules/cond (Dependencies): Add errno, time.
48323         * lib/glthread/cond.h: Include <time.h>.
48324         (gl_cond_define, gl_cond_define_initialized): Use the same definition
48325         across platforms.
48326
48327 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48328             Bruno Haible  <bruno@clisp.org>
48329
48330         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
48331
48332 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48333             Bruno Haible  <bruno@clisp.org>
48334
48335         * modules/tls-tests (Depends-on): Add thread, yield.
48336         (configure.ac): Remove all checks.
48337         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
48338         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
48339         gl_thread_self): Remove definitions. Include glthread/thread.h and
48340         glthread/yield.h instead.
48341         (test_tls): Pass an additional NULL argument to gl_thread_join.
48342
48343 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48344             Bruno Haible  <bruno@clisp.org>
48345
48346         * modules/lock-tests (Depends-on): Add thread, yield.
48347         (configure.ac): Remove all checks.
48348         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
48349         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
48350         gl_thread_self): Remove definitions. Include glthread/thread.h and
48351         glthread/yield.h instead.
48352         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
48353         additional NULL argument to gl_thread_join.
48354
48355 2008-09-30  Bruno Haible  <bruno@clisp.org>
48356
48357         Fix the Win32 implementation of the 'thread' module.
48358         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
48359         pointer type.
48360         (gl_thread_self): Invoke gl_thread_self_func.
48361         (gl_thread_self_func): New declaration.
48362         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
48363         (do_init_self_key, init_self_key): New functions.
48364         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
48365         Remove some fields.
48366         (running_threads, running_lock): Remove variables.
48367         (get_current_thread_handle): New function.
48368         (gl_thread_self_func, wrapper_func, glthread_create_func,
48369         glthread_join_func, gl_thread_exit_func): Largely rewritten and
48370         simplified.
48371
48372 2008-09-30  Bruno Haible  <bruno@clisp.org>
48373
48374         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
48375         files.
48376
48377 2008-09-30  Jim Meyering  <meyering@redhat.com>
48378
48379         fts.m4: correct the test for statfs.f_type
48380         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
48381         when checking for statfs.f_type.
48382
48383 2008-09-15  Simon Josefsson  <simon@josefsson.org>
48384
48385         tests: avoid some compiler warnings
48386         * tests/test-memchr.c (main): Pass NULL indirectly.
48387         * tests/test-getdate.c (main): Remove unused variable 'ret'.
48388
48389 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
48390
48391         getdate.y: disallow countable dayshifts like "4 yesterday ago"
48392         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
48393         exactly specified dayshifts.
48394         (dayshift): New rule.
48395         (rel): Add dayshift.
48396         (relative_time_table) [tomorrow, yesterday, today, now]:
48397         Use tDAY_SHIFT in place of tDAY_UNIT.
48398         * tests/test-getdate.c: Add tests for now-disallowed countable
48399         dayshifts, e.g., "4 yesterday ago".
48400
48401 2008-09-29  Bruno Haible  <bruno@clisp.org>
48402
48403         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
48404         * tests/test-posix_spawn1.in.sh: Renamed from
48405         tests/test-posix_spawn.in.sh.
48406         * tests/test-posix_spawn2.c: New file.
48407         * tests/test-posix_spawn2.in.sh: New file.
48408         * modules/posix_spawnp-tests (Files): Update.
48409         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
48410
48411 2008-09-29  Bruno Haible  <bruno@clisp.org>
48412
48413         Propagate effects of putenv/setenv/unsetenv to child processes.
48414         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
48415         * lib/pipe.c (create_pipe): Likewise.
48416
48417 2008-09-29  Bruno Haible  <bruno@clisp.org>
48418
48419         Enable use of shell scripts as executables in mingw.
48420         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
48421         run the program as a shell script.
48422         * lib/pipe.c (create_pipe): Likewise.
48423         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
48424         resulting array.
48425
48426 2008-09-29  Eric Blake  <ebb9@byu.net>
48427
48428         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
48429
48430 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
48431
48432         * doc/posix-functions/accept.texi: Update mingw problems.
48433         * doc/posix-functions/bind.texi: Update mingw problems.
48434         * doc/posix-functions/close.texi: Update mingw problems.
48435         * doc/posix-functions/connect.texi: Update mingw problems.
48436         * doc/posix-functions/getpeername.texi: Update mingw problems.
48437         * doc/posix-functions/getsockname.texi: Update mingw problems.
48438         * doc/posix-functions/getsockopt.texi: Update mingw problems.
48439         * doc/posix-functions/ioctl.texi: Update mingw problems.
48440         * doc/posix-functions/listen.texi: Update mingw problems.
48441         * doc/posix-functions/recv.texi: Update mingw problems.
48442         * doc/posix-functions/recvfrom.texi: Update mingw problems.
48443         * doc/posix-functions/select.texi: Update mingw problems.
48444         * doc/posix-functions/send.texi: Update mingw problems.
48445         * doc/posix-functions/sendto.texi: Update mingw problems.
48446         * doc/posix-functions/setsockopt.texi: Update mingw problems.
48447         * doc/posix-functions/socket.texi: Update mingw problems.
48448
48449 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
48450             Bruno Haible  <bruno@clisp.org>
48451
48452         * lib/sys_select.in.h: Include sys/time.h.
48453         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
48454         * modules/sys_select: Depend on sys_time.
48455         * tests/test-sys_select.c: Test that sys/select.h defines struct
48456         timeval fully.
48457
48458 2008-09-29  Bruno Haible  <bruno@clisp.org>
48459
48460         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
48461         * lib/sys_select.in.h: Likewise.
48462
48463 2008-09-29  Bruno Haible  <bruno@clisp.org>
48464
48465         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
48466
48467 2008-09-29  Bruno Haible  <bruno@clisp.org>
48468
48469         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
48470         Set LIBSOCKET instead of augmenting LIBS.
48471         * modules/sockets (Link): New section.
48472         * modules/sockets-tests (test_sockets_LDADD): New variable.
48473         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
48474         * modules/poll-tests (test_poll_LDADD): New variable.
48475         * NEWS: Document the change.
48476
48477 2008-09-29  Bruno Haible  <bruno@clisp.org>
48478
48479         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
48480         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
48481         ARPA_INET_H directly.
48482         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
48483
48484 2008-09-28  Bruno Haible  <bruno@clisp.org>
48485
48486         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
48487         from gl_HEADER_SYS_SOCKET.
48488         (gl_HEADER_SYS_SOCKET): Invoke it.
48489         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
48490
48491 2008-09-28  Bruno Haible  <bruno@clisp.org>
48492
48493         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
48494         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
48495         Needed on OSF/1 4.0.
48496
48497 2008-09-28  Bruno Haible  <bruno@clisp.org>
48498
48499         Override open more carefully.
48500         * lib/open.c (orig_open): New function.
48501         (rpl_open): Use orig_open instead of open.
48502         * lib/fcntl.in.h: Add special invocation convention.
48503         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
48504         (gl_FUNC_OPEN): Invoke it.
48505
48506         Override freopen more carefully.
48507         * lib/freopen.c (orig_freopen): New function.
48508         (rpl_freopen): Use orig_freopen instead of freopen.
48509         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
48510         (gl_FUNC_FREOPEN): Invoke it.
48511
48512         Override fopen more carefully.
48513         * lib/fopen.c (orig_fopen): New function.
48514         (rpl_fopen): Use orig_fopen instead of fopen.
48515         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
48516         (gl_FUNC_FOPEN): Invoke it.
48517         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
48518
48519 2008-09-28  Bruno Haible  <bruno@clisp.org>
48520
48521         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
48522         SIGPIPE.
48523
48524 2008-09-28  Bruno Haible  <bruno@clisp.org>
48525
48526         * tests/test-sigaction.c (handler, main): Disable the check whether
48527         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
48528         glibc systems with LinuxThreads.
48529
48530 2008-09-28  Bruno Haible  <bruno@clisp.org>
48531
48532         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
48533
48534         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
48535         with AIX xlc.
48536         * lib/fcntl.in.h (open): Likewise.
48537         Reported by Rainer Tammer <tammer@tammer.net>.
48538
48539 2008-09-28  Bruno Haible  <bruno@clisp.org>
48540
48541         * modules/posix_spawnp-tests: New file.
48542         * tests/test-posix_spawn.c: New file.
48543         * tests/test-posix_spawn.in.sh: New file.
48544
48545         New module 'posix_spawnp'.
48546         * modules/posix_spawnp: New file.
48547         * lib/spawnp.c: New file, from GNU libc with modifications.
48548         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
48549
48550         New module 'posix_spawn'.
48551         * modules/posix_spawn: New file.
48552         * lib/spawn.c: New file, from GNU libc with modifications.
48553         * doc/posix-functions/posix_spawn.texi: Mention the new module.
48554
48555         New module 'posix_spawnattr_destroy'.
48556         * modules/posix_spawnattr_destroy: New file.
48557         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
48558         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
48559         module.
48560
48561         New module 'posix_spawnattr_setsigmask'.
48562         * modules/posix_spawnattr_setsigmask: New file.
48563         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
48564         modifications.
48565         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
48566         new module.
48567
48568         New module 'posix_spawnattr_getsigmask'.
48569         * modules/posix_spawnattr_getsigmask: New file.
48570         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
48571         modifications.
48572         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
48573         new module.
48574
48575         New module 'posix_spawnattr_setsigdefault'.
48576         * modules/posix_spawnattr_setsigdefault: New file.
48577         * lib/spawnattr_setdefault.c: New file, from GNU libc with
48578         modifications.
48579         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
48580         new module.
48581
48582         New module 'posix_spawnattr_getsigdefault'.
48583         * modules/posix_spawnattr_getsigdefault: New file.
48584         * lib/spawnattr_getdefault.c: New file, from GNU libc with
48585         modifications.
48586         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
48587         new module.
48588
48589         New module 'posix_spawnattr_setschedpolicy'.
48590         * modules/posix_spawnattr_setschedpolicy: New file.
48591         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
48592         modifications.
48593         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
48594         new module.
48595
48596         New module 'posix_spawnattr_getschedpolicy'.
48597         * modules/posix_spawnattr_getschedpolicy: New file.
48598         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
48599         modifications.
48600         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
48601         new module.
48602
48603         New module 'posix_spawnattr_setschedparam'.
48604         * modules/posix_spawnattr_setschedparam: New file.
48605         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
48606         modifications.
48607         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
48608         new module.
48609
48610         New module 'posix_spawnattr_getschedparam'.
48611         * modules/posix_spawnattr_getschedparam: New file.
48612         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
48613         modifications.
48614         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
48615         new module.
48616
48617         New module 'posix_spawnattr_setpgroup'.
48618         * modules/posix_spawnattr_setpgroup: New file.
48619         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
48620         modifications.
48621         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
48622         module.
48623
48624         New module 'posix_spawnattr_getpgroup'.
48625         * modules/posix_spawnattr_getpgroup: New file.
48626         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
48627         modifications.
48628         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
48629         module.
48630
48631         New module 'posix_spawnattr_setflags'.
48632         * modules/posix_spawnattr_setflags: New file.
48633         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
48634         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
48635         module.
48636
48637         New module 'posix_spawnattr_getflags'.
48638         * modules/posix_spawnattr_getflags: New file.
48639         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
48640         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
48641         module.
48642
48643         New module 'posix_spawnattr_init'.
48644         * modules/posix_spawnattr_init: New file.
48645         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
48646         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
48647         module.
48648
48649         New module 'posix_spawn_file_actions_destroy'.
48650         * modules/posix_spawn_file_actions_destroy: New file.
48651         * lib/spawn_faction_destroy.c: New file, from GNU libc with
48652         modifications.
48653         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
48654         the new module.
48655
48656         New module 'posix_spawn_file_actions_addopen'.
48657         * modules/posix_spawn_file_actions_addopen: New file.
48658         * lib/spawn_faction_addopen.c: New file, from GNU libc with
48659         modifications.
48660         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
48661         the new module.
48662
48663         New module 'posix_spawn_file_actions_adddup2'.
48664         * modules/posix_spawn_file_actions_adddup2: New file.
48665         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
48666         modifications.
48667         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
48668         the new module.
48669
48670         New module 'posix_spawn_file_actions_addclose'.
48671         * modules/posix_spawn_file_actions_addclose: New file.
48672         * lib/spawn_faction_addclose.c: New file, from GNU libc with
48673         modifications.
48674         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
48675         the new module.
48676
48677         New module 'posix_spawn_file_actions_init'.
48678         * modules/posix_spawn_file_actions_init: New file.
48679         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
48680         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
48681         new module.
48682
48683         New module 'posix_spawn-internal'.
48684         * modules/posix_spawn-internal: New file.
48685         * lib/spawn_int.h: New file, from GNU libc with modifications.
48686         * lib/spawni.c: New file, from GNU libc with modifications.
48687         * m4/posix_spawn.m4: New file.
48688
48689         New module 'spawn'.
48690         * modules/spawn: New file.
48691         * lib/spawn.in.h: New file, from GNU libc with modifications.
48692         * m4/spawn_h.m4: New file.
48693         * doc/posix-headers/spawn.texi: Mention the new module.
48694
48695 2008-09-28  Bruno Haible  <bruno@clisp.org>
48696
48697         * modules/sched-tests: New file.
48698         * tests/test-sched.c: New file.
48699
48700         New module 'sched'.
48701         * modules/sched: New file.
48702         * lib/sched.in.h: New file.
48703         * m4/sched_h.m4: New file.
48704         * doc/posix-headers/sched.texi: Mention the new module.
48705
48706 2008-09-27  Eric Blake  <ebb9@byu.net>
48707
48708         Fix previous patch, and tweak references to $0.
48709         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
48710         (func_version, func_gnulib_dir): Don't call this program
48711         gnulib-tool.
48712         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
48713         with using $0 in function.
48714         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
48715         (func_fatal_error): Reuse the name the user invoked us with.
48716
48717 2008-09-27  Bruno Haible  <bruno@clisp.org>
48718
48719         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
48720         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
48721         (gl_ICONV_H): Not here.
48722         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
48723         instead of assigning ICONV_H directly.
48724
48725         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
48726         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
48727         WCHAR_H directly.
48728
48729 2008-09-27  Bruno Haible  <bruno@clisp.org>
48730
48731         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
48732         * modules/arpa_inet (Depends-on): Add link-warning.
48733         (Makefile.am): Insert the definition of GL_LINK-WARNING.
48734         * modules/unistd (Makefile.am): Likewise.
48735
48736 2008-09-26  Bruno Haible  <bruno@clisp.org>
48737
48738         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
48739         variables.
48740         (func_version): Essentially copied from gnulib-tool.
48741         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
48742         func_readlink): Copied from gnulib-tool.
48743
48744 2008-09-26  Bruno Haible  <bruno@clisp.org>
48745
48746         * gnulib-tool (func_version): Change directory to $gnulib_dir before
48747         invoking git-version-gen.
48748
48749 2008-09-26  Bruno Haible  <bruno@clisp.org>
48750
48751         * posix-modules: Update to directory names changed on 2008-01-19.
48752         Remove commas in output before splitting into words. No more need to
48753         avoid 'ftruncate' since 2007-02-19.
48754
48755 2008-09-26  Bruno Haible  <bruno@clisp.org>
48756
48757         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
48758
48759 2008-09-26  Bruno Haible  <bruno@clisp.org>
48760
48761         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
48762         * modules/fwriteerror (Depends-on): Add errno.
48763
48764 2008-09-26  Bruno Haible  <bruno@clisp.org>
48765
48766         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
48767         * tests/test-vc-list-files-cvs.sh: Likewise.
48768
48769 2008-09-26  Bruno Haible  <bruno@clisp.org>
48770
48771         * doc/posix-headers/sys_resource.texi: Reorder items.
48772
48773 2008-09-26  Jim Meyering  <meyering@redhat.com>
48774
48775         fts: tweak inode comparison function
48776         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
48777         inode numbers, as documented.
48778
48779         fts: sort dirent entries on inode number before traversing
48780         This avoids a quadratic, seek-related performance penalty when
48781         operating on a directory containing many entries (measurable at 10k;
48782         3.5 hours at 2 million entries with a cold cache) on certain types
48783         of file systems, including ext3 and ext4, but not tmpfs.
48784         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
48785         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
48786         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
48787         (fs_handles_readdir_ordered_dirents_efficiently): New function.
48788         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
48789         (fts_build): Set the stat.st_ino member from D_INO.
48790         If it is likely to be useful, sort dirent entries on inode number.
48791
48792         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
48793         and the struct statfs.f_type member.
48794         * modules/fts (Depends-on): Add d-ino.
48795
48796 2008-09-26  Bruno Haible  <bruno@clisp.org>
48797
48798         * modules/sigpipe-die (Depends-on): Add sigpipe.
48799
48800         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
48801         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
48802         and GNULIB_STDIO_H_SIGPIPE are set.
48803         * lib/stdio-write.c: New file.
48804         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
48805         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
48806         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
48807         REPLACE_STDIO_WRITE_FUNCS.
48808         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
48809         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
48810         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
48811         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
48812         * modules/stdio (Files): Add lib/stdio-write.c.
48813         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
48814         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
48815         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
48816         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
48817         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
48818         REPLACE_FPRINTF_POSIX.
48819         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
48820         REPLACE_PRINTF_POSIX.
48821         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
48822         REPLACE_VFPRINTF_POSIX.
48823         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
48824         REPLACE_VPRINTF_POSIX.
48825         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
48826         SIGPIPE issue.
48827         * doc/posix-functions/fputc.texi: Likewise.
48828         * doc/posix-functions/fputs.texi: Likewise.
48829         * doc/posix-functions/fwrite.texi: Likewise.
48830         * doc/posix-functions/printf.texi: Likewise.
48831         * doc/posix-functions/putc.texi: Likewise.
48832         * doc/posix-functions/putchar.texi: Likewise.
48833         * doc/posix-functions/puts.texi: Likewise.
48834         * doc/posix-functions/vfprintf.texi: Likewise.
48835         * doc/posix-functions/vprintf.texi: Likewise.
48836
48837         * modules/safe-write (Depends-on): Add write.
48838
48839         * modules/sigpipe-tests: New file.
48840         * tests/test-sigpipe.c: New file.
48841         * tests/test-sigpipe.sh: New file.
48842
48843         * modules/write: New file.
48844         * lib/unistd.in.h: Include <sys/types.h>.
48845         (write): New declaration.
48846         * lib/write.c: New file.
48847         * m4/write.m4: New file.
48848         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48849         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
48850         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
48851         GNULIB_WRITE, REPLACE_WRITE.
48852         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
48853         and the SIGPIPE issue.
48854
48855         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
48856         (raise): New declaration.
48857         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
48858         (ext_signal): New function.
48859         (rpl_raise): New function.
48860         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
48861         GNULIB_SIGNAL_H_SIGPIPE.
48862         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
48863         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
48864
48865         * modules/sigpipe: New file.
48866         * m4/sigpipe.m4: New file.
48867
48868 2008-09-25  Derek Price  <derek@ximbiot.com>
48869             Bruno Haible  <bruno@clisp.org>
48870
48871         * gnulib-tool (func_import): Report all license incompatibilities, not
48872         just the first one.
48873
48874 2008-09-25  Bruno Haible  <bruno@clisp.org>
48875
48876         * gnulib-tool (func_import): When computing the edits, consider not
48877         only the Makefile.ams that exist but also those that will be generated.
48878
48879 2008-09-25  Simon Josefsson  <simon@josefsson.org>
48880
48881         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
48882         fixes gnulib-tool --test warning about duplicate dependency.
48883
48884 2008-09-25  Bruno Haible  <bruno@clisp.org>
48885
48886         * gnulib-tool: Don't ask the user to perform edits in the generated
48887         Makefile.ams.
48888         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
48889         apply to the Makefile.am being generated.
48890         (func_emit_tests_Makefile_am): Execute edits that apply to the
48891         Makefile.am being generated.
48892         (func_import): Setup list of Makefile.am edits before emitting the
48893         Makefile.ams, not at the end.
48894         (func_create_testdir): Update.
48895         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48896
48897 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48898
48899         * gnulib-tool (func_import): Store the --tests-base option in the
48900         comment in gnulib-cache.m4.
48901
48902 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
48903
48904         * NEWS: Document increased portability that sys_select now provides.
48905
48906         * lib/sys_select.in.h: Install select wrapper.
48907         * lib/sys_socket.in.h: Use more descriptive name when there is no
48908         select wrapper.
48909         * lib/winsock-select.c: New.
48910         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
48911         Require gl_HEADER_SYS_SOCKET.
48912         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
48913         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
48914         * tests/test-sys_select.c: Add functional tests.
48915
48916 2008-09-24  Eric Blake  <ebb9@byu.net>
48917
48918         open, fopen: close fd leak in last patch
48919         * lib/open.c (rpl_open): Close fd before returning error.
48920         * lib/fopen.c (rpl_fopen): Close fd before returning error.
48921         * doc/posix-functions/open.texi (open): Document that Irix also
48922         has the bug.
48923         * doc/posix-functions/fopen.texi (fopen): Likewise.
48924         Reported by Paolo Bonzini.
48925
48926 2008-09-24  Bruno Haible  <bruno@clisp.org>
48927
48928         Ensure that a filename ending in a slash cannot be used to access a
48929         non-directory.
48930         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
48931         to check whether it's really a directory.
48932         * lib/fopen.c: Include fcntl.h, unistd.h.
48933         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
48934         and fdopen().
48935         * modules/fopen (Depends-on): Add unistd.
48936         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
48937         * tests/test-fopen.c (main): Likewise.
48938         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
48939         * doc/posix-functions/fopen.texi: Likewise.
48940         Reported by Eric Blake.
48941
48942 2008-09-23  Eric Blake  <ebb9@byu.net>
48943
48944         c-stack: avoid compiler optimizations when provoking overflow
48945         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
48946         recursion harder to optimize, to ensure a stack overflow occurs.
48947         * tests/test-c-stack.c (recurse): Likewise.
48948         Borrowed from libsigsegv.
48949
48950         c-stack: work around Irix sigaltstack bug
48951         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
48952         whether sigaltstack uses wrong end of stack_t (copied in part from
48953         libsigsegv).
48954         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
48955         Irix bug, without requiring an over-allocation.
48956         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
48957         bug.
48958
48959         fopen: document mingw bug on directories
48960         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
48961         not allowing a stream visiting a directory, even though reading
48962         from such a stream is not portable.
48963
48964 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
48965
48966         * lib/poll.c: Rewrite.
48967         * modules/poll: Depend on alloca.
48968
48969 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
48970
48971         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
48972         instead define prototypes for a full set of wrappers.  Ensure
48973         that Cygwin does not use the compatibility code, which is only
48974         for MinGW.
48975         * lib/winsock.c: New.
48976         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
48977         * modules/sys_socket: Add lib/winsock.c.
48978
48979         * modules/poll-tests: Add errno and perror.
48980         * tests/test-poll.c: Use ioctl, not ioctlsocket.
48981
48982 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
48983
48984         * tests/test-poll.c: Downgrade minimum needed Winsock version.
48985
48986 2008-09-23  Bruno Haible  <bruno@clisp.org>
48987
48988         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
48989         * doc/glibc-functions/*: Likewise.
48990
48991 2008-09-23  Simon Josefsson  <simon@josefsson.org>
48992
48993         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
48994         success.
48995
48996 2008-09-22  Eric Blake  <ebb9@byu.net>
48997             Bruno Haible  <bruno@clisp.org>
48998
48999         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
49000         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
49001         supply %A but mishandle pseudo-NaN.
49002         Reported by Simon Josefsson.
49003
49004 2008-09-21  Bruno Haible  <bruno@clisp.org>
49005
49006         * tests/test-lock.c (main): Tweak skip message.
49007         * tests/test-tls.c (main): Likewise.
49008
49009 2008-09-21  Bruno Haible  <bruno@clisp.org>
49010
49011         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
49012         whether 'struct sigaction' has sa_sigaction here...
49013         (gl_PREREQ_SIG_HANDLER_H): ... not here.
49014         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
49015
49016 2008-09-21  Bruno Haible  <bruno@clisp.org>
49017
49018         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
49019         section.
49020         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
49021         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
49022         the new section.
49023         (Support for obsolete systems lacking POSIX:2001): New section.
49024         (String handling <string.h>): Move strdup to the new section.
49025         Suggested by Simon Josefsson and Paolo Bonzini.
49026
49027 2008-09-21  Bruno Haible  <bruno@clisp.org>
49028
49029         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
49030         exponents in %e and %g results on 'long double'. Needed for mingw's
49031         improved *printf functions.
49032         * tests/test-vasprintf-posix.c (test_function): Likewise.
49033         * tests/test-snprintf-posix.h (test_function): Likewise.
49034         * tests/test-sprintf-posix.h (test_function): Likewise.
49035         Reported by Eric Blake.
49036
49037 2008-09-21  Bruno Haible  <bruno@clisp.org>
49038
49039         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
49040         * tests/test-sprintf-posix.h (test_function): Likewise.
49041
49042 2008-09-21  Bruno Haible  <bruno@clisp.org>
49043
49044         * modules/getpass (Depends-on): Add strdup-posix.
49045
49046         New module 'strdup-posix'.
49047         * modules/strdup-posix: New file.
49048         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
49049         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
49050         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
49051         REPLACE_STRDUP.
49052         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
49053         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
49054         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49055         strdup-posix.
49056
49057         * modules/strdup (Depends-on): Remove malloc-posix.
49058
49059 2008-09-20  Bruno Haible  <bruno@clisp.org>
49060
49061         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
49062         Wildenhues.
49063
49064 2008-09-20  Bruno Haible  <bruno@clisp.org>
49065
49066         Ensure that wint_t gets defined on IRIX 5.3.
49067         * lib/wchar.in.h (wint_t): Define if not defined by the system.
49068         * lib/wctype.in.h (wint_t): Likewise.
49069         (__wctype_wint_t): Remove type.
49070         (isw*): Use wint_t instead of __wctype_wint_t.
49071         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
49072         * modules/wchar (Files): Add m4/wint_t.m4.
49073         (Makefile.am): Substitute HAVE_WINT_T.
49074         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
49075         * tests/test-wctype.c: Check that wint_t is defined.
49076         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
49077         * doc/posix-headers/wctype.texi: Likewise.
49078         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49079
49080 2008-09-18  Bruno Haible  <bruno@clisp.org>
49081
49082         * gnulib-tool (func_exit): Update comment.
49083
49084 2008-09-18  Simon Josefsson  <simon@josefsson.org>
49085
49086         * modules/getaddrinfo (Depends-on): Remove strdup, this module
49087         assumes strdup exists and does not depend on strdup to return
49088         ENOMEM on out of memory conditions.
49089
49090 2008-09-18  Bruno Haible  <bruno@clisp.org>
49091
49092         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
49093         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
49094         digits for the exponent.
49095
49096 2008-09-18  Jim Meyering  <meyering@redhat.com>
49097             Bruno Haible  <bruno@clisp.org>
49098
49099         * lib/vasnprintf.c (decimal_point_char): Define also if
49100         NEED_PRINTF_INFINITE_LONG_DOUBLE.
49101
49102 2008-09-16  Bruno Haible  <bruno@clisp.org>
49103         and Eric Blake  <ebb9@byu.net>
49104
49105         vasnprintf: support Irix 5.3
49106         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
49107         that mishandle long double infinity.
49108         Reported by Tom G. Christensen.
49109
49110 2008-09-16  Bruno Haible  <bruno@clisp.org>
49111
49112         * doc/glibc-functions/scandir.texi: Mention the function is missing on
49113         Solaris 9.
49114         * doc/glibc-functions/alphasort.texi: Likewise.
49115         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
49116
49117 2008-09-16  Jim Meyering  <meyering@redhat.com>
49118
49119         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
49120         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
49121         a umask modification leak out of a subshell.  Otherwise, the
49122         opensolaris /bin/sh would be accepted and thus cause unwarranted
49123         failures in the coreutils test suite.
49124
49125 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
49126
49127         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
49128         to succeed.
49129
49130 2008-09-16  Jim Meyering  <meyering@redhat.com>
49131
49132         avoid spurious test failure when library is built without ACL support
49133         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
49134         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
49135         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
49136         * tests/test-copy-acl.sh: Likewise.
49137
49138 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49139
49140         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
49141         based on character occurrence counts.
49142
49143 2008-09-15  Eric Blake  <ebb9@byu.net>
49144
49145         tests: avoid some compiler warnings
49146         * tests/test-memchr.c (main): Pass NULL indirectly.
49147         * tests/test-closein.c (main): Avoid unused variable.
49148
49149 2008-09-15  Bruno Haible  <bruno@clisp.org>
49150
49151         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
49152         are missing on OpenBSD 4.0 individually.
49153         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49154
49155 2008-09-15  Bruno Haible  <bruno@clisp.org>
49156
49157         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
49158         * doc/posix-functions/strerror.texi: Mention also Cygwin.
49159         * doc/posix-functions/perror.texi: Likewise.
49160         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
49161         is missing.
49162         Reported by Eric Blake.
49163
49164         * lib/errno.in.h: Use replacement values >= 2000.
49165         Reported by Eric Blake.
49166
49167 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49168
49169         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
49170         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
49171         limit.
49172         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
49173         compareseq was aborted.
49174
49175 2008-09-14  Bruno Haible  <bruno@clisp.org>
49176
49177         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
49178         yvec_edit_count.
49179         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
49180         (fstrcmp_bounded): Simplify result computation accordingly.
49181
49182 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49183
49184         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
49185         (fstrcmp): Define in terms of fstrcmp_bounded.
49186         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
49187         lower_bound argument.
49188         Return quickly if the result is certainly < lower_bound.
49189         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
49190
49191 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49192
49193         * lib/diffseq.h (EARLY_ABORT): New macro.
49194         (compareseq): Change return type to bool. Return true when EARLY_ABORT
49195         evaluates to true.
49196
49197 2008-09-14  Bruno Haible  <bruno@clisp.org>
49198
49199         * modules/perror-tests: New file.
49200         * tests/test-perror.sh: New file.
49201         * tests/test-perror.c: New file.
49202
49203         New module 'perror'.
49204         * lib/stdio.in.h (perror): New declaration.
49205         * lib/perror.c: New file.
49206         * m4/perror.m4: New file.
49207         * modules/perror: New file.
49208         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
49209         * doc/posix-functions/perror.texi: Mention the perror module.
49210         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
49211         REPLACE_PERROR.
49212         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
49213         REPLACE_PERROR.
49214
49215 2008-09-14  Bruno Haible  <bruno@clisp.org>
49216
49217         * modules/stdio (Makefile.am): Reorder to match the order in
49218         lib/stdio.in.h.
49219         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
49220
49221 2008-09-13  Bruno Haible  <bruno@clisp.org>
49222
49223         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
49224
49225 2008-09-13  Bruno Haible  <bruno@clisp.org>
49226
49227         Extend strerror to cover the added errno values.
49228         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
49229         (rpl_strerror): Provide error messages for the added errno values and
49230         for the WSA* values.
49231         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
49232         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
49233         strerror.
49234         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
49235         * modules/strerror (Depends-on): Add errno.
49236         * doc/posix-functions/strerror.texi: Document the change.
49237         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
49238         and EOVERFLOW.
49239
49240 2008-09-13  Bruno Haible  <bruno@clisp.org>
49241
49242         * modules/EOVERFLOW: Remove file.
49243         * m4/eoverflow.m4: Remove file.
49244         * modules/EOVERFLOW-tests: Remove file.
49245         * tests/test-EOVERFLOW.c: Remove file.
49246         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
49247         * modules/ftell (Depends-on): Likewise.
49248         * modules/getdelim (Depends-on): Likewise.
49249         * modules/getugroups (Depends-on): Likewise.
49250         * modules/poll (Depends-on): Likewise.
49251         * modules/snprintf (Depends-on): Likewise.
49252         * modules/sprintf-posix (Depends-on): Likewise.
49253         * modules/vasnprintf (Depends-on): Likewise.
49254         * modules/vasprintf (Depends-on): Likewise.
49255         * modules/vfprintf-posix (Depends-on): Likewise.
49256         * modules/vsnprintf (Depends-on): Likewise.
49257         * modules/vsprintf-posix (Depends-on): Likewise.
49258         * modules/xvasprintf (Depends-on): Likewise.
49259         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
49260         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
49261         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
49262         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
49263         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
49264         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
49265         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
49266         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
49267         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
49268         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
49269         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
49270         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
49271         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
49272         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
49273         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
49274         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
49275         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
49276         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
49277         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
49278         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
49279         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
49280         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
49281         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
49282         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
49283         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
49284         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
49285         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
49286         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
49287         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
49288         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
49289         * MODULES.html.sh: Remove EOVERFLOW.
49290         * NEWS: Mention the change.
49291
49292 2008-09-13  Bruno Haible  <bruno@clisp.org>
49293
49294         * modules/errno-tests: New file.
49295         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
49296
49297         * lib/errno.in.h: New file.
49298         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
49299         * modules/errno: New file.
49300         * doc/posix-headers/errno.texi: Update documentation.
49301         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
49302
49303 2008-09-13  Bruno Haible  <bruno@clisp.org>
49304
49305         * tests/test-poll.c: Use #if for native Windows, rather than testing
49306         __MSVCRT__.
49307
49308 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49309             Bruno Haible  <bruno@clisp.org>
49310
49311         * lib/glob.c: Don't include <pwd.h> on native Windows.
49312         (WINDOWS32): New macro.
49313         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
49314
49315 2008-09-13  Bruno Haible  <bruno@clisp.org>
49316
49317         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
49318         (ETIMEDOUT): Remove macro.
49319         (glthread_cond_timedwait_multithreaded): New declaration.
49320         (glthread_cond_timedwait): Use it.
49321         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
49322         (glthread_cond_timedwait_multithreaded): New function.
49323
49324 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
49325
49326         * modules/poll-tests: Do not check for io.h.
49327         * tests/test-poll.c: Check for __MSVCRT__ instead.
49328
49329 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
49330
49331         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
49332         * modules/poll-tests: Add inet_pton, stdbool, sockets.
49333         * tests/test-poll.c: Use them.  Use _pipe on Windows.
49334
49335 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
49336
49337         * modules/poll-tests: New.
49338         * tests/test-poll.c: New.
49339
49340 2008-09-12  Eric Blake  <ebb9@byu.net>
49341
49342         frexp: test for NetBSD failure on -0.0
49343         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
49344         not all, bugs from NetBSD 3.0 have been fixed.
49345         * doc/posix-functions/frexp.texi (frexp): Document bug.
49346         Reported by Thomas Klausner.
49347
49348         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
49349         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
49350         literal -0.0.
49351         Reported by Jonathan C. Patschke <jp@centtech.com>.
49352
49353 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49354
49355         * lib/glthread/cond.h: Use dummy implementation also if
49356         USE_WIN32_THREADS.
49357
49358 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49359
49360         * modules/fnmatch-posix (License): Change to LGPLv2+.
49361         * modules/fnmatch-gnu (License): Likewise.
49362
49363 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49364
49365         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
49366
49367 2008-09-11  Jim Meyering  <meyering@redhat.com>
49368
49369         * users.txt: Add gtk-vnc.
49370
49371 2008-09-08  Simon Josefsson  <simon@josefsson.org>
49372
49373         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
49374         rotate amounts.
49375
49376         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
49377         required for 16-bit and 8-bit rotates.
49378         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
49379         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
49380         UINT8_MAX instead of hard-coded constants.
49381         Suggested by Paul Eggert.
49382
49383 2008-09-07  Bruno Haible  <bruno@clisp.org>
49384
49385         * tests/test-striconveh.c (main): Check behaviour when converting from
49386         UTF-7.
49387
49388         Make striconveh work better with stateful encodings.
49389         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
49390         that iconv does not increment the inptr when returning -1/EINVAL.
49391
49392 2008-09-07  Bruno Haible  <bruno@clisp.org>
49393
49394         * build-aux/config.rpath: Update according to libtool-2.2.6.
49395         * build-aux/config.libpath: Likewise.
49396
49397 2008-09-06  Bruno Haible  <bruno@clisp.org>
49398
49399         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
49400         * lib/freadptr.c (freadptr): Likewise.
49401         * lib/freadseek.c (freadptrinc): Likewise.
49402         Reported by Simon Josefsson.
49403
49404 2008-09-06  Bruno Haible  <bruno@clisp.org>
49405
49406         * modules/freadptr (License): Change to LGPLv2+.
49407         * modules/freadseek (License): Likewise.
49408         Suggested by Eric Blake.
49409
49410         * modules/memchr2 (License): Change to LGPLv2+.
49411         Approved by Eric Blake.
49412
49413 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49414             Bruno Haible  <bruno@clisp.org>
49415
49416         Make gnulib-tool work with native 'sed' on AIX.
49417         * gnulib-tool (sed_noop): New variable.
49418         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
49419         func_add_or_update, func_create_testdir): Use it to initialize sed
49420         script variables.
49421         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49422
49423 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
49424             Bruno Haible  <bruno@clisp.org>
49425
49426         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
49427         also works after #include directives.
49428
49429 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
49430
49431         getdate.y: reject an out-of-range timezone value
49432         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
49433         the range [-24...+24].  When specified with only one or two digits,
49434         * tests/test-getdate.c: Tests for the fix.
49435         * doc/getdate.texi: Document this change.
49436
49437 2008-09-03  Bruno Haible  <bruno@clisp.org>
49438
49439         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
49440
49441 2008-09-02  Simon Josefsson  <simon@josefsson.org>
49442
49443         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
49444         <bruce.korb@gmail.com> with ideas from Ben Pfaff
49445         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
49446         Blake <ebb9@byu.net>.
49447
49448         * tests/test-bitrotate.c: Add more test vectors.
49449
49450 2008-09-02  Eric Blake  <ebb9@byu.net>
49451
49452         vasnprintf-posix: handle large precision via %.*d
49453         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
49454         when handling it ourselves.
49455         * tests/test-vasnprintf-posix.c (test_function): Add test.
49456         * tests/test-snprintf-posix.h (test_function): Likewise.
49457         * tests/test-sprintf-posix.h (test_function): Likewise.
49458         * tests/test-vasprintf-posix.c (test_function): Likewise.
49459         Reported by Alain Guibert.
49460
49461 2008-09-01  Eric Blake  <ebb9@byu.net>
49462
49463         c-stack: make configure-time check more robust
49464         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
49465         successful sigaction call.
49466         Reported by Tom G. Christensen.
49467
49468 2008-09-01  Bruno Haible  <bruno@clisp.org>
49469
49470         New module 'findprog-lgpl'.
49471         * modules/findprog-lgpl: New file.
49472         * lib/findprog-lgpl.c: New file.
49473         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
49474         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
49475         to decide whether to use strdup or xstrdup, concatenated_filename or
49476         xconcatenated_filename.
49477
49478 2008-09-01  Bruno Haible  <bruno@clisp.org>
49479
49480         Split module 'concat-filename' into 'concat-filename' (LGPL) and
49481         'xconcat-filename' (GPL).
49482         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
49483         (License): Change to LGPLv2+.
49484         * modules/xconcat-filename: New file.
49485         * lib/concat-filename.h (concatenated_filename): Change specification.
49486         (xconcatenated_filename): New declaration.
49487         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
49488         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
49489         memory situations.
49490         * lib/xconcat-filename.c: New file.
49491         * NEWS: Mention the change.
49492         * lib/findprog.c: Include concat-filename.h, not filename.h.
49493         (find_in_path): Use xconcatenated_filename instead of
49494         concatenated_filename.
49495         * lib/javacomp.c: Include concat-filename.h, not filename.h.
49496         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
49497         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
49498         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
49499         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
49500         instead of concatenated_filename.
49501         * lib/javaexec.c: Include concat-filename.h, not filename.h.
49502         (execute_java_class): Use xconcatenated_filename instead of
49503         concatenated_filename.
49504         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
49505         * modules/javacomp (Depends-on): Likewise.
49506         * modules/javaexec (Depends-on): Likewise.
49507
49508 2008-09-01  Bruno Haible  <bruno@clisp.org>
49509
49510         Split module 'filename' into 'filename' and 'concat-filename'.
49511         * modules/filename: Keep only lib/filename.h.
49512         (License): Change to LGPLv2+.
49513         * modules/concat-filename: New file, extracted from modules/filename.
49514         * lib/filename.h (concatenated_filename): Remove declaration.
49515         * lib/concat-filename.h: New file, extracted from lib/filename.h.
49516         * lib/concat-filename.c: Include concat-filename.h.
49517         * NEWS: Mention the change.
49518
49519 2008-09-01  Simon Josefsson  <simon@josefsson.org>
49520
49521         * lib/bitrotate.h (rotl8, rotr8): Add.
49522
49523         * modules/bitrotate (configure.ac): Need
49524         AC_REQUIRE([AC_C_INLINE]).
49525         (Description): Mention stdint.h.  Reported by Bruno Haible
49526         <bruno@clisp.org>.
49527
49528         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
49529         Paolo Bonzini <bonzini@gnu.org>.
49530
49531 2008-08-31  Bruno Haible  <bruno@clisp.org>
49532
49533         Assume Solaris specific bi-arch conventions on Solaris systems.
49534         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
49535         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
49536         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
49537         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
49538         like acl_libdirstem.
49539         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
49540         acl_libdirstem.
49541         * NEWS: Mention the change.
49542         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
49543
49544 2008-08-31  Jim Meyering  <meyering@redhat.com>
49545
49546         * lib/strftime.h: Add comments describing the two added arguments.
49547
49548         remove duplicate #include directives
49549         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
49550         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
49551
49552 2008-08-31  Bruno Haible  <bruno@clisp.org>
49553
49554         New module 'sigpipe-die'.
49555         * modules/sigpipe-die: New file.
49556         * lib/sigpipe-die.h: New file.
49557         * lib/sigpipe-die.c: New file.
49558         * MODULES.html.sh (Signal handling): Add sigpipe-die.
49559
49560 2008-08-31  Bruno Haible  <bruno@clisp.org>
49561
49562         Don't override previously installed signal handlers.
49563         * lib/fatal-signal.c (saved_sigactions): New variable.
49564         (uninstall_handlers): Reset the signal to the saved handler, not
49565         to SIG_DFL (except when ignored).
49566         (install_handlers): Save the previous handlers.
49567
49568 2008-08-30  Bruno Haible  <bruno@clisp.org>
49569
49570         * gnulib-tool (func_reset_sigpipe): New function.
49571         (func_get_automake_snippet, func_modules_transitive_closure,
49572         func_import): Invoke it before a join command that reads from stdin,
49573         to avoid "echo: write error: Broken pipe" error messages on stderr.
49574         Reported by Sam Steingold <sds@gnu.org>.
49575
49576 2008-08-30  Bruno Haible  <bruno@clisp.org>
49577
49578         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
49579         Code copied from m4/open.m4.
49580         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
49581         access and the filename ends in a slash. Code copied from lib/open.c.
49582         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
49583         * tests/test-fopen.c (main): Check against bug with trailing slash.
49584
49585 2008-08-29  Bruno Haible  <bruno@clisp.org>
49586
49587         Avoid some "gcc -pedantic" warnings.
49588         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
49589         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
49590         * lib/dirent.in.h: Likewise.
49591         * lib/fcntl.in.h: Likewise.
49592         * lib/float.in.h: Likewise.
49593         * lib/iconv.in.h: Likewise.
49594         * lib/inttypes.in.h: Likewise.
49595         * lib/locale.in.h: Likewise.
49596         * lib/math.in.h: Likewise.
49597         * lib/netinet_in.in.h: Likewise.
49598         * lib/search.in.h: Likewise.
49599         * lib/signal.in.h: Likewise.
49600         * lib/stdarg.in.h: Likewise.
49601         * lib/stdint.in.h: Likewise.
49602         * lib/stdio.in.h: Likewise.
49603         * lib/stdlib.in.h: Likewise.
49604         * lib/string.in.h: Likewise.
49605         * lib/strings.in.h: Likewise.
49606         * lib/sys_select.in.h: Likewise.
49607         * lib/sys_socket.in.h: Likewise.
49608         * lib/sys_stat.in.h: Likewise.
49609         * lib/sys_time.in.h: Likewise.
49610         * lib/sysexits.in.h: Likewise.
49611         * lib/time.in.h: Likewise.
49612         * lib/unistd.in.h: Likewise.
49613         * lib/wchar.in.h: Likewise.
49614         * lib/wctype.in.h: Likewise.
49615         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
49616         * modules/fchdir (Makefile.am): Likewise.
49617         * modules/fcntl (Makefile.am): Likewise.
49618         * modules/float (Makefile.am): Likewise.
49619         * modules/iconv_open (Makefile.am): Likewise.
49620         * modules/inttypes (Makefile.am): Likewise.
49621         * modules/locale (Makefile.am): Likewise.
49622         * modules/math (Makefile.am): Likewise.
49623         * modules/netinet_in (Makefile.am): Likewise.
49624         * modules/search (Makefile.am): Likewise.
49625         * modules/signal (Makefile.am): Likewise.
49626         * modules/stdarg (Makefile.am): Likewise.
49627         * modules/stdint (Makefile.am): Likewise.
49628         * modules/stdio (Makefile.am): Likewise.
49629         * modules/stdlib (Makefile.am): Likewise.
49630         * modules/string (Makefile.am): Likewise.
49631         * modules/strings (Makefile.am): Likewise.
49632         * modules/sys_select (Makefile.am): Likewise.
49633         * modules/sys_socket (Makefile.am): Likewise.
49634         * modules/sys_stat (Makefile.am): Likewise.
49635         * modules/sys_time (Makefile.am): Likewise.
49636         * modules/sysexits (Makefile.am): Likewise.
49637         * modules/time (Makefile.am): Likewise.
49638         * modules/unistd (Makefile.am): Likewise.
49639         * modules/wchar (Makefile.am): Likewise.
49640         * modules/wctype (Makefile.am): Likewise.
49641         Reported by Reuben Thomas <rrt@sc3d.org>.
49642
49643 2008-08-29  Bruno Haible  <bruno@clisp.org>
49644
49645         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
49646         any more.
49647
49648 2008-08-29  Simon Josefsson  <simon@josefsson.org>
49649
49650         * MODULES.html.sh (Misc): Add bitrotate.
49651
49652         * modules/bitrotate: New file.
49653
49654         * lib/bitrotate.h: New file.
49655
49656         * modules/bitrotate-tests: New file.
49657
49658         * tests/test-bitrotate.c: New file.
49659
49660         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
49661         on the bitrotate module.
49662
49663         * lib/arctwo.c: Use new bitrotate module.
49664
49665 2008-08-29  Jim Meyering  <meyering@redhat.com>
49666
49667         bootstrap: merge changes from coreutils
49668         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
49669         of copied files.  Remove a kludge, now that this is fixed.
49670         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
49671         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
49672         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
49673
49674 2008-08-29  Bruno Haible  <bruno@clisp.org>
49675
49676         * MODULES.html.sh: Remove --cvs-urls option.
49677
49678 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
49679
49680         maint.mk: adjust to file name change
49681         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
49682
49683 2008-08-28  Jim Meyering  <meyering@redhat.com>
49684
49685         * modules/getndelim2 (License): Relicense to LGPLv2+.
49686         Approved by Richard Stallman for the version of 1995, and by
49687         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
49688
49689 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
49690
49691         * lib/getdelim.c (flockfile, funlockfile): Make all of them
49692         dummy if one is not available.  Do not touch them if
49693         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
49694         (getc_maybe_unlocked): New.
49695         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
49696
49697 2008-08-26  Eric Blake  <ebb9@byu.net>
49698
49699         doc/INSTALL: resync from autoconf
49700         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
49701         (INSTALL_PRELUDE): Delete; this is done more efficiently by
49702         moving...
49703         * install.texi [!autoconf]: ...here.  Resync from autoconf.
49704         * INSTALL: Regenerate.
49705         * INSTALL.ISO: New file.
49706         * INSTALL.UTF-8: Likewise.
49707
49708 2008-08-26  Jim Meyering  <meyering@redhat.com>
49709
49710         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
49711         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
49712         these definitions conditional, so that they may be overridden, too.
49713
49714 2008-08-26  Bruno Haible  <bruno@clisp.org>
49715
49716         Generate INSTALL file variants with prettier quotes.
49717         * doc/Makefile (INSTALL_PRELUDE): New macro.
49718         (INSTALL): Use it.
49719         (INSTALL.ISO, INSTALL.UTF-8): New rules.
49720
49721 2008-08-26  Bruno Haible  <bruno@clisp.org>
49722
49723         Run makeinfo in an English locale.
49724         * doc/Makefile (MAKEINFO): New variable.
49725
49726 2008-08-26  Bruno Haible  <bruno@clisp.org>
49727
49728         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
49729         Suggested by Eric Blake.
49730
49731 2008-08-25  Bruno Haible  <bruno@clisp.org>
49732
49733         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
49734
49735 2008-08-25  Eric Blake  <ebb9@byu.net>
49736
49737         c-stack: test that stack overflow can be caught
49738         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
49739         that platform allows handling stack overflow; at least OS/2 EMX
49740         has sigaltstack, but crashes before transferring control to
49741         handler on stack overflow.
49742         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
49743         check for HAVE_STACK_OVERFLOW_HANDLING.
49744         Reported by Elbert Pol.
49745
49746 2008-08-25  Bruno Haible  <bruno@clisp.org>
49747
49748         * doc/posix-functions/strftime.texi: Fix description of strftime
49749         module.
49750
49751 2008-08-24  Bruno Haible  <bruno@clisp.org>
49752
49753         * tests/uniwidth/test-uc_width2.c: New file.
49754         * tests/uniwidth/test-uc_width2.sh: New file.
49755         * modules/uniwidth/width-tests (Files): Add the new files.
49756         (TESTS): Add uniwidth/test-uc_width2.sh.
49757         (TESTS_ENVIRONMENT): New variable.
49758         (check_PROGRAMS): Add test-uc_width2.
49759         (test_uc_width2_SOURCES): New variable.
49760
49761         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
49762         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
49763         not 0x00AB.
49764         Reported by Alexander V. Lukyanov <lav@netis.ru>.
49765
49766 2008-08-22  Eric Blake  <ebb9@byu.net>
49767
49768         test-lock, test-tls: mention why a test is skipped
49769         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
49770         skipped.
49771         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
49772
49773         count-one-bits: relax license
49774         * modules/count-one-bits (License): Relicense to LGPLv2+.
49775         Suggested by Ludovic Courtès, approved by Ben Pfaff.
49776
49777 2008-08-22  Andreas Schwab  <schwab@suse.de>
49778
49779         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
49780         Remove spurious space in assignment.
49781
49782 2008-08-21  Simon Josefsson  <simon@josefsson.org>
49783
49784         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
49785         Paul Eggert <eggert@CS.UCLA.EDU>.
49786
49787 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
49788
49789         * modules/gettext: Add m4/threadlib.m4.
49790
49791 2008-08-19  Eric Blake  <ebb9@byu.net>
49792
49793         test-c-stack: fix compilation failure on FreeBSD 5.0
49794         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
49795         headers before <sys/resource.h>.
49796         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
49797         the bug.
49798         Reported by Nelson H. F. Beebe.
49799
49800         strverscmp: migrate from "strverscmp.h" to <string.h>
49801         * modules/string (Makefile.am): Add new hooks.
49802         * modules/strverscmp (Files): Remove strverscmp.h.
49803         (Depends-on): Add string.
49804         (configure.ac): Add indicator.
49805         (Include): Mention new header.
49806         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
49807         defaults.
49808         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
49809         results.
49810         * lib/strverscmp.h: Delete.
49811         * lib/string.in.h (strverscmp): Provide declaration, when needed.
49812         * tests/test-strverscmp.c (includes): Adjust client.
49813         * lib/check-version.c (includes): Likewise.
49814         * NEWS: Document the change.
49815
49816         strverscmp: add unit test
49817         * modules/strverscmp-tests: New file.
49818         * tests/test-strverscmp.c: Likewise.
49819
49820 2008-08-19  Simon Josefsson  <simon@josefsson.org>
49821
49822         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
49823         regarding Windows crypto stuff, from Mono.
49824
49825 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
49826
49827         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
49828         if present, for intel RND.  Return error on failures.
49829
49830 2008-08-18  Ben Pfaff  <blp@gnu.org>
49831
49832         gitlog-to-changelog: give better diagnostic for failed pipe-open
49833         * build-aux/gitlog-to-changelog: Improve error message: suggest
49834         that the version of Git may be too old.
49835
49836 2008-08-18  Simon Josefsson  <simon@josefsson.org>
49837
49838         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
49839         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
49840
49841 2008-08-18  Bruno Haible  <bruno@clisp.org>
49842
49843         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
49844         pthread_in_use().
49845
49846 2008-08-18  Bruno Haible  <bruno@clisp.org>
49847
49848         * lib/glthread/threadlib.c: Include <pthread.h>.
49849
49850 2008-08-18  Bruno Haible  <bruno@clisp.org>
49851
49852         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
49853         glthread_recursive_lock_* macros.
49854         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
49855         Fix syntax error.
49856
49857 2008-08-18  Bruno Haible  <bruno@clisp.org>
49858
49859         * lib/glthread/thread.c: Avoid forcing a context switch right after
49860         thread creation.
49861
49862 2008-08-17  Bruno Haible  <bruno@clisp.org>
49863
49864         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
49865         * lib/glthread/thread.h: Provide Win32 specific implementation.
49866         * modules/thread (Files): Add lib/glthread/thread.c.
49867         (Depends-on): Add lock.
49868         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
49869
49870 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49871
49872         New module 'yield'.
49873         * modules/yield: New file.
49874         * lib/glthread/yield.h: New file.
49875         * m4/yield.m4: New file.
49876         * MODULES.html.sh (Multithreading): Add yield.
49877
49878 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49879
49880         New module 'thread'.
49881         * modules/thread: New file.
49882         * lib/glthread/thread.h: New file.
49883         * m4/thread.m4: New file.
49884         * MODULES.html.sh (Multithreading): Add thread.
49885
49886 2008-08-17  Bruno Haible  <bruno@clisp.org>
49887
49888         * lib/glthread/lock.h: Include <stdlib.h> always.
49889         * lib/glthread/tls.h: Likewise.
49890         * lib/glthread/cond.h: Likewise.
49891
49892 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49893
49894         New module 'cond'.
49895         * modules/cond: New file.
49896         * lib/glthread/cond.h: New file.
49897         * lib/glthread/cond.c: New file.
49898         * m4/cond.m4: New file.
49899         * MODULES.html.sh (Multithreading): Add cond.
49900
49901 2008-08-16  Eric Blake  <ebb9@byu.net>
49902
49903         c-stack: fix regression on Irix 5.3 from 2008-06-21
49904         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
49905         sa_sigaction...
49906         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
49907         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
49908         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
49909         * modules/signal (Makefile.am): Use the value.
49910         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
49911         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
49912         * doc/posix-headers/signal.texi (signal.h): Document this
49913         portability issue.
49914         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
49915         Reported by Tom G. Christensen.
49916
49917 2008-08-17  Bruno Haible  <bruno@clisp.org>
49918
49919         New module 'threadlib'.
49920         * modules/threadlib: New file.
49921         * lib/glthread/threadlib.c: New file, extracted from
49922         lib/glthread/lock.c.
49923         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
49924         functions.
49925         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
49926         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
49927         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
49928         macros.
49929         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
49930         (gl_DISABLE_THREADS): Remove macro.
49931         * modules/lock (Files): Remove build-aux/config.rpath.
49932         (Depends-on): Remove havelib. Add threadlib.
49933         (configure.ac-early): Remove section.
49934         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
49935         * modules/tls (Depends-on): Remove lock. Add threadlib.
49936         (Link): New section, copied from threadlib.
49937         * MODULES.html.sh (Multithreading): Add threadlib.
49938
49939 2008-08-14  Bruno Haible  <bruno@clisp.org>
49940
49941         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
49942         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
49943         glthread_rwlock_unlock, glthread_rwlock_destroy,
49944         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
49945         glthread_recursive_lock_destroy): Define as macros always.
49946         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
49947         glthread_lock_lock.
49948         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
49949         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
49950         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
49951         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
49952         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
49953         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
49954         (glthread_recursive_lock_lock_func): Renamed from
49955         glthread_recursive_lock_lock.
49956         (glthread_recursive_lock_unlock_func): Renamed from
49957         glthread_recursive_lock_unlock.
49958         (glthread_recursive_lock_destroy_func): Renamed from
49959         glthread_recursive_lock_destroy.
49960
49961 2008-08-14  Bruno Haible  <bruno@clisp.org>
49962
49963         * lib/glthread/lock.h: Renamed from lib/lock.h.
49964         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
49965         * lib/glthread/tls.h: Renamed from lib/tls.h.
49966         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
49967         * lib/fstrcmp.c: Update includes.
49968         * lib/strsignal.c: Update includes.
49969         * modules/lock (Files, Makefile.am): Update.
49970         (Include): Change to "glthread/lock.h".
49971         * modules/tls (Files, Makefile.am): Update.
49972         (Include): Change to "glthread/tls.h".
49973         * tests/test-lock.c: Update includes.
49974         * tests/test-tls.c: Update includes.
49975         * NEWS: Mention the renamed header files.
49976
49977 2008-08-11  Jim Meyering  <meyering@redhat.com>
49978
49979         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
49980
49981 2008-08-11  Eric Blake  <ebb9@byu.net>
49982
49983         test-c-stack: avoid C99-ism
49984         * tests/test-c-stack.c (main): Fix whitespace, move declaration
49985         before statement.
49986         Reported by Alain Guibert.
49987
49988 2008-08-10  Jim Meyering  <meyering@redhat.com>
49989
49990         ensure that return value of uinttostr et al are not ignored
49991         * lib/inttostr.h (__GNUC_PREREQ): Define.
49992         (__attribute_warn_unused_result__): Define.
49993         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
49994
49995 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
49996
49997         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
49998         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
49999
50000 2008-08-07  Jim Meyering  <meyering@redhat.com>
50001
50002         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
50003
50004         * modules/mkstemp (License): Relicense under LGPLv2+.
50005         * modules/tempname (License): Likewise.
50006
50007 2008-08-06  Bruno Haible  <bruno@clisp.org>
50008
50009         * lib/poll.c (poll): Further micro-optimization.
50010
50011 2008-08-06  Jim Meyering  <meyering@redhat.com>
50012
50013         inet_pton.c: use locale-independent tolower
50014         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
50015         (inet_pton6): Use c_tolower rather than tolower.
50016         * modules/inet_pton (Depends-on): Add c-ctype.
50017
50018 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
50019
50020         * lib/poll.c (poll): Avoid division when timeout is 0, cache
50021         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
50022
50023 2008-08-06  Jim Meyering  <meyering@redhat.com>
50024
50025         * modules/inet_pton (License): Relicense under LGPLv2+.
50026
50027 2008-08-03  Bruno Haible  <bruno@clisp.org>
50028
50029         Additional non-aborting API for lock and tls.
50030         * lib/lock.h: Include <errno.h>.
50031         (glthread_lock_init): New macro/function.
50032         (gl_lock_init): Define as wrapper around glthread_lock_init.
50033         (glthread_lock_lock): New macro/function.
50034         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
50035         (glthread_lock_unlock): New macro/function.
50036         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
50037         (glthread_lock_destroy): New macro/function.
50038         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
50039         (glthread_rwlock_init): New macro/function.
50040         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
50041         (glthread_rwlock_rdlock): New macro/function.
50042         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
50043         (glthread_rwlock_wrlock): New macro/function.
50044         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
50045         (glthread_rwlock_unlock): New macro/function.
50046         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
50047         (glthread_rwlock_destroy): New macro/function.
50048         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
50049         (glthread_recursive_lock_init): New macro/function.
50050         (gl_recursive_lock_init): Define as wrapper around
50051         glthread_recursive_lock_init.
50052         (glthread_recursive_lock_lock): New macro/function.
50053         (gl_recursive_lock_lock): Define as wrapper around
50054         glthread_recursive_lock_lock.
50055         (glthread_recursive_lock_unlock): New macro/function.
50056         (gl_recursive_lock_unlock): Define as wrapper around
50057         glthread_recursive_lock_unlock.
50058         (glthread_recursive_lock_destroy): New macro/function.
50059         (gl_recursive_lock_destroy): Define as wrapper around
50060         glthread_recursive_lock_destroy.
50061         (glthread_once): New macro/function.
50062         (gl_once): Define as wrapper around glthread_once.
50063         Update function declarations.
50064         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
50065         glthread_rwlock_init. Return error code.
50066         (glthread_rwlock_rdlock_multithreaded): Renamed from
50067         glthread_rwlock_rdlock. Return error code.
50068         (glthread_rwlock_wrlock_multithreaded): Renamed from
50069         glthread_rwlock_wrlock. Return error code.
50070         (glthread_rwlock_unlock_multithreaded): Renamed from
50071         glthread_rwlock_unlock. Return error code.
50072         (glthread_rwlock_destroy_multithreaded): Renamed from
50073         glthread_rwlock_destroy. Return error code.
50074         (glthread_recursive_lock_init_multithreaded): Renamed from
50075         glthread_recursive_lock_init. Return error code.
50076         (glthread_recursive_lock_lock_multithreaded): Renamed from
50077         glthread_recursive_lock_lock. Return error code.
50078         (glthread_recursive_lock_unlock_multithreaded): Renamed from
50079         glthread_recursive_lock_unlock. Return error code.
50080         (glthread_recursive_lock_destroy_multithreaded): Renamed from
50081         glthread_recursive_lock_destroy. Return error code.
50082         (glthread_once_call): Make static.
50083         (glthread_once_multithreaded): Renamed from glthread_once.
50084         * lib/tls.h: Include <errno.h>.
50085         (glthread_tls_key_init): New macro/function.
50086         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
50087         (glthread_tls_set): New macro/function.
50088         (gl_tls_set): Define as wrapper around glthread_tls_set.
50089         (glthread_tls_key_destroy): New macro/function.
50090         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
50091         Update function declarations.
50092         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
50093         glthread_tls_get.
50094         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
50095
50096 2008-08-04  Eric Blake  <ebb9@byu.net>
50097
50098         gnumakefile: use space, not TAB, outside of targets
50099         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
50100
50101 2008-08-02  Jim Meyering  <meyering@redhat.com>
50102
50103         getdate.y: avoid locale-dependent date parsing failure
50104         In Turkish locales, getdate would fail to recognize keywords
50105         containing a lowercase "i".  The solution is not to rely on
50106         locale-sensitive case-conversion.
50107         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
50108         (lookup_word): Use c_toupper in place of toupper.
50109         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
50110         Reported by Vefa Bicakci <bicave@superonline.com> in
50111         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
50112         * modules/getdate (Depends-on): Add c-ctype.
50113
50114 2008-08-02  Bruno Haible  <bruno@clisp.org>
50115
50116         * gnulib-tool (func_import): When updating or creating a .gitignore
50117         file, prepend each added line with a slash, and ignore leading slashes
50118         from the existing lines.
50119         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
50120
50121 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50122
50123         Portability fix for GNU make 3.79.1.
50124         * top/GNUmakefile: Avoid 'else COND', which older GNU make
50125         versions do not understand.
50126
50127 2008-08-01  Bruno Haible  <bruno@clisp.org>
50128
50129         Work around bug of HP-UX 10.20 cc with -0.0 literal.
50130         * tests/test-isnanf.h (zero): New variable.
50131         (main): Avoid literal -0.0f.
50132         * tests/test-isnand.h (zero): New variable.
50133         (main): Avoid literal -0.0.
50134         * tests/test-isnanl.h (zero): New variable.
50135         (main): Avoid literal -0.0L.
50136         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
50137         (test_float, test_double, test_long_double): Avoid literals -0.0f,
50138         -0.0, -0.0L.
50139         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
50140         (test_signbitd): Avoid literal -0.0.
50141         (test_signbitl): Avoid literal -0.0L.
50142         * tests/test-ceilf1.c (zero): New variable.
50143         (main): Avoid literal -0.0f.
50144         * tests/test-ceill.c (zero): New variable.
50145         (main): Avoid literal -0.0L.
50146         * tests/test-floorf1.c (zero): New variable.
50147         (main): Avoid literal -0.0f.
50148         * tests/test-floorl.c (zero): New variable.
50149         (main): Avoid literal -0.0L.
50150         * tests/test-roundf1.c (zero): New variable.
50151         (main): Avoid literal -0.0f.
50152         * tests/test-round1.c (zero): New variable.
50153         (main): Avoid literal -0.0.
50154         * tests/test-roundl.c (zero): New variable.
50155         (main): Avoid literal -0.0L.
50156         * tests/test-truncf1.c (zero): New variable.
50157         (main): Avoid literal -0.0f.
50158         * tests/test-trunc1.c (zero): New variable.
50159         (main): Avoid literal -0.0.
50160         * tests/test-truncl.c (zero): New variable.
50161         (main): Avoid literal -0.0L.
50162         * tests/test-frexp.c (zero): New variable.
50163         (main): Avoid literal -0.0.
50164         * tests/test-frexpl.c (zero): New variable.
50165         (main): Avoid literal -0.0L.
50166         * tests/test-ldexpl.c (zero): New variable.
50167         (main): Avoid literal -0.0L.
50168         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
50169         (zerod, zerol): New variables.
50170         (test_function): Avoid literals -0.0, -0.0L.
50171         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
50172         (zerod, zerol): New variables.
50173         (test_function): Avoid literals -0.0, -0.0L.
50174         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
50175         (zerod, zerol): New variables.
50176         (test_function): Avoid literals -0.0, -0.0L.
50177         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
50178         (zerod, zerol): New variables.
50179         (test_function): Avoid literals -0.0, -0.0L.
50180         * tests/test-strtod.c (zero): New variable.
50181         (main): Avoid literal -0.0.
50182         Reported by Jonathan C. Patschke <jp@centtech.com>.
50183
50184 2008-07-31  Jim Meyering  <meyering@redhat.com>
50185
50186         sha256.h: correct definition of SHA224_DIGEST_SIZE
50187         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
50188         Reported by Paulie Pena IV <paulie4@gmail.com>.
50189         Define as 224 / 8, rather than as a literal.
50190         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
50191         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
50192         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
50193
50194 2008-07-31  Bruno Haible  <bruno@clisp.org>
50195
50196         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
50197         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
50198         Reported by Jonathan Patschke <jp@centtech.com>.
50199
50200 2008-07-31  Bruno Haible  <bruno@clisp.org>
50201
50202         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
50203         Reported by Paolo Bonzini <bonzini@gnu.org>.
50204
50205 2008-07-30  Eric Blake  <ebb9@byu.net>
50206
50207         test-strtod: allow compilation without -lm
50208         * tests/test-strtod.c (main): Avoid link dependence on fabs.
50209         Reported by Dennis Clarke <blastwave@gmail.com>.
50210
50211 2008-07-28  Jim Meyering  <meyering@redhat.com>
50212
50213         bootstrap: work also when there are no .po files in po/
50214         * build-aux/bootstrap (update_po_files): Complete the change
50215         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
50216
50217 2008-07-27  Jim Meyering  <meyering@redhat.com>
50218
50219         * users.txt: Add zile.
50220
50221 2008-07-26  Ben Pfaff  <blp@gnu.org>
50222
50223         Add missing dependencies on new m4/exponent[fdl].m4 files.
50224         * modules/isnanf-nolibm: Add m4/exponentf.m4.
50225         * modules/isnand-nolibm: Add m4/exponentd.m4.
50226         * modules/isnanl-nolibm: Add m4/exponentl.m4.
50227         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
50228         m4/isnan[fdl].m4, because the macros actually used moved.
50229         Reported by Jim Meyering.
50230
50231 2008-07-14  Ben Pfaff  <blp@gnu.org>
50232
50233         Add isinf module.
50234         * lib/isinf.c: New file.
50235         * lib/math.in.h: Define isinf macro if we have decided to replace
50236         it.
50237         * m4/isinf.m4: New file.
50238         * m4/math_h.m4: Initialize and substitute variables for isinf
50239         module.
50240         * modules/isinf: New file.
50241         * modules/isinf-tests: New file.
50242         * modules/math: Add substitutions for new module.
50243         * tests/test-isinf.c: New file.
50244         * doc/posix-functions/isinf.texi: Mention new module.
50245         * MODULES.html.sh: Mention new module.
50246
50247 2008-07-14  Ben Pfaff  <blp@gnu.org>
50248
50249         Factor out some macros for use by additional modules.
50250         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
50251         exponentf.m4.
50252         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
50253         exponentd.m4.
50254         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
50255         file exponentl.m4.
50256         * m4/exponentf.m4: New file.
50257         * m4/exponentd.m4: New file.
50258         * m4/exponentl.m4: New file.
50259         * modules/isnanf: Use new file m4/exponentf.m4.
50260         * modules/isnand: Use new file m4/exponentd.m4.
50261         * modules/isnanl: Use new file m4/exponentl.m4.
50262
50263 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
50264
50265         mktime.c: normalize tp->tm_isdst value to -1/0/1.
50266         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
50267         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
50268         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
50269
50270         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
50271         readlink on platforms without PATH_MAX.
50272
50273 2008-07-21  Eric Blake  <ebb9@byu.net>
50274
50275         Warn, not fail, on stale version.
50276         * top/GNUmakefile (_curr-ver): Tone down previous patch.
50277
50278         Don't allow installation with stale devel version number.
50279         * top/GNUmakefile (_is-install-target): New macro.
50280         (_curr-ver): Forbid installation with stale version number.
50281
50282 2008-07-20  Bruno Haible  <bruno@clisp.org>
50283
50284         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
50285         TESTS_ENVIRONMENT.
50286         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
50287
50288 2008-07-20  Bruno Haible  <bruno@clisp.org>
50289
50290         * lib/c-stack.h (c_stack_action): Add documentation.
50291         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
50292
50293 2008-07-20  Bruno Haible  <bruno@clisp.org>
50294
50295         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
50296         * modules/readlink (License): Likewise.
50297
50298 2008-07-17  Eric Blake  <ebb9@byu.net>
50299
50300         * modules/c-stack (Link): Fix typo.
50301
50302         Make c-stack use libsigsegv, when available.
50303         * modules/c-stack (Depends-on): Add libsigsegv.
50304         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
50305         needed.
50306         * lib/c-stack.c (SIGSTKSZ): Define fallback.
50307         (segv_handler, overflow_handler, c_stack_action)
50308         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
50309         implementation when libsigsegv is available, but only when using
50310         the library is necessary.
50311         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
50312         comment, explaining why XSI check fails on Linux.
50313         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
50314         * tests/test-c-stack2.sh: Tweak skip message.
50315         * NEWS: Document new link-time requirements.
50316
50317 2008-07-16  Eric Blake  <ebb9@byu.net>
50318
50319         c-stack: Expose false positives when not using libsigsegv.
50320         * modules/c-stack-tests (Files): Expand test.
50321         * tests/test-c-stack.c (main): Add means to conditionally trigger
50322         non-overflow SIGSEGV.
50323         * tests/test-c-stack2.sh: New file.
50324
50325 2008-07-14  Bruno Haible  <bruno@clisp.org>
50326
50327         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
50328         Reported by Eric Blake.
50329
50330 2008-07-14  Sam Steingold  <sds@gnu.org>
50331             Bruno Haible  <bruno@clisp.org>
50332
50333         New module libsigsegv.
50334         * modules/libsigsegv: New file.
50335         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
50336         modifications.
50337         * MODULES.html.sh (Signal handling): New section.
50338
50339 2008-07-14  Bruno Haible  <bruno@clisp.org>
50340
50341         * modules/unictype/ctype-* (Description): Add the word "function".
50342         Improves the resulting doc in MODULES.html.
50343
50344 2008-07-12  Ben Pfaff  <blp@gnu.org>
50345
50346         Add longlong module.
50347         * modules/longlong: New file.
50348
50349 2008-07-12  Bruno Haible  <bruno@clisp.org>
50350
50351         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
50352         to empty.
50353
50354 2008-07-10  Ben Pfaff  <blp@gnu.org>
50355
50356         Add isnan module.
50357         * doc/posix-functions/isnan.texi: Mention new module.
50358         * lib/math.in.h: Define isnan macro if we have decided to replace
50359         it.
50360         * m4/isnan.m4: New file.
50361         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
50362         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
50363         also.
50364         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
50365         redundancy.
50366         * m4/math_h.m4: Initialize and substitute variables for isnan
50367         module.
50368         * modules/isnan: New file.
50369         * modules/isnan-tests: New file.
50370         * modules/math: Add substitutions for new module.
50371         * tests/test-isnan.c: New file.
50372         * MODULES.html.sh: Mention new module.
50373
50374 2008-07-10  Ben Pfaff  <blp@gnu.org>
50375
50376         Add isnanf module.
50377         * lib/isnanf.m4: New file.
50378         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
50379         (gl_HAVE_ISNANF_IN_LIBM): New macro.
50380         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
50381         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
50382         * modules/isnanf: New file.
50383         * modules/isnanf-tests: New file.
50384         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
50385         files.
50386         * tests/test-isnanf-nolibm.c: factored most of its contents into
50387         new file tests/test-isnanf.h.
50388         * tests/test-isnanf.h: New file.
50389         * tests/test-isnanf.c: New file.
50390         * MODULES.html.sh: Mention new module.
50391         * doc/glibc-functions/isnanf.texi: Mention new module.
50392
50393 2008-07-10  Ben Pfaff  <blp@gnu.org>
50394
50395         Add isnand module.
50396         * lib/isnand.h: New file.
50397         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
50398         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
50399         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
50400         functionality also.
50401         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
50402         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
50403         (gl_HAVE_ISNAND_IN_LIBM): New macro.
50404         * modules/isnand: New file.
50405         * modules/isnand-tests: New file.
50406         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
50407         files.
50408         * tests/test-isnand-nolibm.c: factored most of its contents into
50409         new file tests/test-isnand.h.
50410         * tests/test-isnand.h: New file.
50411         * tests/test-isnand.c: New file.
50412         * MODULES.html.sh: Mention new module.
50413
50414 2008-07-10  Ben Pfaff  <blp@gnu.org>
50415
50416         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
50417         * lib/isnand.h: Rename lib/isnand-nolibm.h.
50418         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
50419         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
50420         * modules/isnanf-nolibm: Update references to renamed files.
50421         * modules/isnand-nolibm: Likewise.
50422         * modules/isnanf-nolibm-tests: Likewise.
50423         * modules/isnand-nolibm-tests: Likewise.
50424         * lib/frexp.c: Likewise.
50425         * lib/isfinite.c: Likewise.
50426         * lib/signbitd.c: Likewise.
50427         * lib/signbitf.c: Likewise.
50428         * lib/vasnprintf.c: Likewise.
50429         * tests/test-ceilf1.c: Likewise.
50430         * tests/test-ceilf2.c: Likewise.
50431         * tests/test-floorf1.c: Likewise.
50432         * tests/test-floorf2.c: Likewise.
50433         * tests/test-frexp.c: Likewise.
50434         * tests/test-round1.c: Likewise.
50435         * tests/test-round2.c: Likewise.
50436         * tests/test-roundf1.c: Likewise.
50437         * tests/test-strtod.c: Likewise.
50438         * tests/test-trunc1.c: Likewise.
50439         * tests/test-trunc2.c: Likewise.
50440         * tests/test-truncf1.c: Likewise.
50441         * tests/test-truncf2.c: Likewise.
50442         * NEWS: Mention the renamed header files.
50443
50444 2008-07-11  Jim Meyering  <meyering@redhat.com>
50445
50446         vc-list-files: make the last-resort awk code more portable
50447         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
50448         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
50449         does not support it.
50450
50451 2008-07-10  Eric Blake  <ebb9@byu.net>
50452
50453         Work with tar's bootstrap.
50454         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
50455         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
50456         an m4 comment.
50457
50458 2008-07-09  Jim Meyering  <meyering@redhat.com>
50459
50460         posix-shell.m4: fix typo that made this test malfunction
50461         * m4/posix-shell.m4: Remove capitalization in variable name.
50462
50463 2008-07-08  Bruno Haible  <bruno@clisp.org>
50464
50465         * m4/onceonly.m4: Update comments.
50466         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50467
50468 2008-07-04  Jim Meyering  <meyering@redhat.com>
50469
50470         * users.txt: Add vc-dwim.
50471         (bison, coreutils): Use the gitweb URL.
50472
50473 2008-07-03  Jim Meyering  <meyering@redhat.com>
50474
50475         * users.txt: Add libffcall.  From Sam Steingold.
50476
50477 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
50478
50479         getdate.y: do not ignore TZ with relative day, month or year offset
50480         * lib/getdate.y (get_date): Move the tz-handling block to follow the
50481         relative-date-handling, since otherwise, the latter would clobber the
50482         sole output (an updated Start value) of the tz-handling block.
50483         * tests/test-getdate.c: Tests for the fix
50484
50485 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50486
50487         Recognize 'foo_LIBRARIES += libgnu.a'.
50488         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
50489         makefile snippet has already specified an installation location,
50490         also using '+='.
50491
50492 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
50493
50494         getdate.y: factor out common actions
50495         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
50496         Use them in place of open-coded actions.
50497
50498 2008-07-01  Simon Josefsson  <simon@josefsson.org>
50499
50500         Add self-test for getdate module.
50501         * modules/getdate-tests: New file.
50502         * tests/test-getdate.c: New file.
50503
50504 2008-06-29  Bruno Haible  <bruno@clisp.org>
50505
50506         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
50507         .gitignore.
50508         Reported by Sylvain Beucler <beuc@beuc.net>.
50509
50510 2008-06-29  Bruno Haible  <bruno@clisp.org>
50511
50512         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
50513         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
50514
50515 2008-06-29  Bruno Haible  <bruno@clisp.org>
50516
50517         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
50518         EXTRA_DIST.
50519         Reported by Sylvain Beucler <beuc@beuc.net>.
50520
50521 2008-06-26  Jim Meyering  <meyering@redhat.com>
50522
50523         make several modules depend on the "open" module
50524         This provides slightly increased consistency when opening-for-write
50525         the name of a non-directory spelled with a trailing slash.
50526         * modules/chdir-safer: Likewise.
50527         * modules/chown: Likewise.
50528         * modules/clean-temp: Likewise.
50529         * modules/copy-file: Likewise.
50530         * modules/fchdir: Likewise.
50531         * modules/fcntl-safer: Likewise.
50532         * modules/pipe: Likewise.
50533         * modules/utime: Likewise.
50534         Prompted by Eric Blake and Bruno Haible.
50535
50536 2008-06-24  Andreas Schwab  <schwab@suse.de>
50537
50538         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
50539         literals can be used as initializers for global variables.
50540
50541 2008-06-23  Eric Blake  <ebb9@byu.net>
50542
50543         Make gnulib-cache.m4 easier to diff.
50544         * gnulib-tool (func_import): Allow newlines when reading cached
50545         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
50546
50547 2008-06-23  Bruno Haible  <bruno@clisp.org>
50548
50549         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
50550         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
50551         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
50552         m4/signalblocking.m4.
50553         (gl_PREREQ_SIGACTION): Don't invoke it.
50554         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
50555         gl_PREREQ_SIG_HANDLER_H.
50556         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
50557         Don't check for sigaction here.
50558
50559 2008-06-23  Bruno Haible  <bruno@clisp.org>
50560
50561         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
50562         (install_handlers): Don't set the SA_RESETHAND flag.
50563
50564 2008-06-23  Bruno Haible  <bruno@clisp.org>
50565
50566         * m4/sigaction.m4: Comment fixes.
50567         * lib/signal.in.h: Likewise.
50568
50569 2008-06-23  Eric Blake  <ebb9@byu.net>
50570
50571         Fix typo.
50572         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
50573
50574         Avoid SA_ namespace.
50575         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
50576         Reported by Ralf Wildenhues.
50577
50578         Avoid test failure due to SA_RESTORER.
50579         * tests/test-sigaction.c (SA_MASK): New macro.
50580         (main): Avoid failing due to extension flags being set.
50581         Reported by Jim Meyering.
50582
50583         Revert use of sig-handler.h in sigprocmask.c.
50584         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
50585         it requires the existence of struct sigaction.
50586         * lib/sigprocmask.c (handler_t): Restore typedef.
50587         (rpl_signal, old_handlers): Use local type.
50588
50589 2008-06-22  Bruno Haible  <bruno@clisp.org>
50590
50591         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
50592         conditionally.
50593         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50594
50595 2008-06-22  Bruno Haible  <bruno@clisp.org>
50596
50597         * doc/posix-functions/siginterrupt.texi: Move note.
50598
50599         * lib/signal.in.h (SA_RESTART): New macro.
50600         * lib/sigaction.c: Update comment.
50601
50602         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
50603
50604         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
50605         (gl_PREREQ_SIGPROCMASK): Invoke it.
50606         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
50607
50608         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
50609
50610         * lib/sigprocmask.c: Update a comment.
50611
50612 2008-06-21  Eric Blake  <ebb9@byu.net>
50613
50614         Use sigaction module rather than signal().
50615         * modules/c-stack (Depends-on): Add sigaction.
50616         * modules/fatal-signal (Depends-on): Likewise.
50617         * modules/nanosleep (Depends-on): Likewise.
50618         * modules/sigprocmask (Files): Add sig-handler.h.
50619         * modules/sigaction (Files): Likewise.
50620         * lib/sig-handler.h (get_handler): New file, suggested by Paul
50621         Eggert.
50622         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
50623         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
50624         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
50625         (init_fatal_signals): Likewise.
50626         * lib/nanosleep.c (rpl_nanosleep): Likewise.
50627         (siginterrupt): Delete fallback.
50628         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
50629         instead.
50630         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
50631         siginterrupt.
50632
50633         New module sigaction, for mingw.
50634         * modules/sigaction: New module...
50635         * modules/sigaction-tests: ...and its test.
50636         * m4/sigaction.m4: New file.
50637         * lib/sigaction.c: Likewise.
50638         * tests/test-sigaction.c: Likewise.
50639         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
50640         * modules/signal (Makefile.am): Likewise.
50641         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
50642         needed.
50643         * doc/posix-headers/signal.texi (signal.h): Mention provided
50644         types.
50645         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
50646         that sigaction is preferable.
50647         * doc/posix-functions/sigaction.texi (sigaction): Mention new
50648         module.
50649         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50650         sigaction.
50651
50652         Improve robustness of sigprocmask by overriding signal.
50653         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
50654         is in use.
50655         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
50656         (SIGKILL, SIGSTOP): Provide fallbacks.
50657         (rpl_signal): Implement.
50658         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
50659         signal can be called inside handlers.
50660
50661         Fix nanosleep module on mingw.
50662         * modules/nanosleep (Depends-on): Add sys_select.
50663         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
50664
50665         Fix licensing of sigprocmask.
50666         * modules/raise (License): Relicense as LGPL.
50667
50668 2008-06-21  Bruno Haible  <bruno@clisp.org>
50669
50670         * lib/propername.c (proper_name_utf8): Don't use the transliterated
50671         result if it contains question marks.
50672         Reported by Michael Geng <linux@michaelgeng.de>.
50673
50674 2008-06-19  Bruno Haible  <bruno@clisp.org>
50675
50676         Fix CVS-ism.
50677         * doc/gnulib.texi: Include updated-stamp.texi.
50678         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
50679         (updated-stamp.texi): New rule.
50680         (gnulib.info): Depend on it.
50681         * doc/.gitignore: Add updated-stamp.texi.
50682         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
50683
50684 2008-06-19  Bruno Haible  <bruno@clisp.org>
50685
50686         * doc/Makefile (gnulib.info): Update and simplify dependencies.
50687         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
50688
50689 2008-06-19  Eric Blake  <ebb9@byu.net>
50690
50691         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
50692         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
50693         Reported by Stepan Kasal.
50694
50695 2008-06-18  Bruno Haible  <bruno@clisp.org>
50696
50697         * lib/fatal-signal.c (init_fatal_signals): Add comment.
50698         Reported by Eric Blake.
50699
50700 2008-06-18  Eric Blake  <ebb9@byu.net>
50701
50702         Work around cygwin 1.5.25 strsignal bug.
50703         * tests/test-strsignal.c: Allow for const char *.
50704         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
50705
50706 2008-06-18  Simon Josefsson  <simon@josefsson.org>
50707
50708         * users.txt: Update URL to article and add author/date
50709         information.
50710
50711 2008-06-17  Bruno Haible  <bruno@clisp.org>
50712
50713         New macro gl_DISABLE_THREADS.
50714         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
50715         if the user did not pass --enable-threads or --disable-threads option.
50716         (gl_DISABLE_THREADS): New macro.
50717         Reported by Eric Blake <ebb9@byu.net>.
50718
50719 2008-06-17  Bruno Haible  <bruno@clisp.org>
50720
50721         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
50722         when the macro ignores it.
50723         Based on a patch by Eric Blake <ebb9@byu.net>.
50724
50725 2008-06-17  Bruno Haible  <bruno@clisp.org>
50726
50727         * modules/tls (License): Change to LGPLv2+.
50728         Reported by Eric Blake.
50729
50730 2008-06-17  Eric Blake  <ebb9@byu.net>
50731
50732         Simplify c-stack prerequisites.
50733         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
50734         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
50735         no longer requires <ucontext.h> to exist.  Optimize setrlimit
50736         check.
50737         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
50738         <sys/resource.h>.
50739
50740         Move c-stack test into testsuite.
50741         * modules/c-stack-tests: New file.
50742         * lib/c-stack.c [DEBUG]: Move test program...
50743         * tests/test-c-stack.c: ...into this new file.  Skip rather than
50744         fail test if sigaltstack is lacking.
50745         * tests/test-c-stack.sh: New driver file.
50746
50747 2008-06-16  Eric Blake  <ebb9@byu.net>
50748
50749         Use raise module consistently.
50750         * modules/fatal-signal (Depends-on): Add raise.
50751         * modules/sigprocmask (Depends-on): Likewise.
50752         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
50753         * lib/sigprocmask.c (sigprocmask): Likewise.
50754         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
50755         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
50756
50757         Fix compliance bug in sigpending.
50758         * lib/sigprocmask.c (sigpending): Return pending array via
50759         parameter, not return value.
50760
50761 2008-06-14  Eric Blake  <ebb9@byu.net>
50762
50763         Improve obstack-printf test code.
50764         * tests/test-obstack-printf.c (test_function): Fix comment, and
50765         simplify usage of obstack_* in macros.  Add a test for coverage.
50766         Reported by Bruno Haible.
50767
50768 2008-06-14  Bruno Haible  <bruno@clisp.org>
50769
50770         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
50771         array size as a constant, not as a const variable.
50772         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
50773         AC_USE_SYSTEM_EXTENSIONS.
50774         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
50775         Test whether the obstack_printf function actually exists.
50776         * modules/obstack-printf (Depends-on): Add extensions.
50777         (Include): Remove obstack.h.
50778         * modules/obstack-printf-posix (Depends-on): Add extensions.
50779         (Include): Remove obstack.h.
50780
50781 2008-06-13  Eric Blake  <ebb9@byu.net>
50782
50783         Add obstack-printf and obstack-printf-posix modules.
50784         * modules/obstack-printf: New file.
50785         * modules/obstack-printf-posix: Likewise.
50786         * MODULES.html.sh (Misc): Mention them.
50787         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
50788         Likewise.
50789         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
50790         Likewise.
50791         * modules/stdio (Makefile.am): Accomodate new modules.
50792         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
50793         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
50794         Declare.
50795         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
50796         functions.
50797         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
50798         (gl_REPLACE_OBSTACK_PRINTF): New macros
50799         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
50800         * tests/test-obstack-printf.c: New file.
50801         * modules/obstack-printf-tests: Likewise.
50802         * modules/obstack-printf-posix-tests: Likewise.
50803
50804 2008-06-11  Bruno Haible  <bruno@clisp.org>
50805
50806         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
50807         * lib/open.c: Include errno.h.
50808         (open): Fail when attempting to write to a file that has a trailing
50809         slash.
50810         * tests/test-open.c (main): Test against trailing slash bug.
50811         * doc/posix-functions/open.texi: Mention the trailing slash bug.
50812
50813 2008-06-10  Bruno Haible  <bruno@clisp.org>
50814
50815         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
50816         for $? to work inside the trap command, with various /bin/sh-s.
50817         * tests/test-vc-list-files-cvs.sh: Likewise.
50818
50819 2008-06-10  Bruno Haible  <bruno@clisp.org>
50820
50821         * lib/acl-internal.h: Don't include gettext.h here.
50822         * lib/set-mode-acl.c: Include gettext.h here.
50823         * lib/copy-acl.c: Likewise.
50824
50825 2008-06-10  Bruno Haible  <bruno@clisp.org>
50826
50827         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
50828         * lib/wait-process.c (wait_subprocess): Likewise.
50829         * lib/execute.h (execute): Add termsigp argument.
50830         * lib/execute.c (execute): Likewise.
50831         * lib/csharpcomp.c (compile_csharp_using_pnet,
50832         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
50833         * lib/csharpexec.c (execute_csharp_using_pnet,
50834         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
50835         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
50836         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
50837         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
50838         is_jikes_present): Update.
50839         * lib/javaexec.c (execute_java_class): Update.
50840         * lib/javaversion.c (execute_and_read_line): Update.
50841         * NEWS: Document the changes.
50842         Reported by Eric Blake.
50843
50844 2008-06-10  Eric Blake  <ebb9@byu.net>
50845
50846         Add missing include.
50847         * tests/test-strstr.c (includes): Add <signal.h>.
50848         * tests/test-strcasestr.c (includes): Likewise.
50849         * tests/test-memmem.c (includes): Likewise.
50850
50851 2008-06-10  Bruno Haible  <bruno@clisp.org>
50852
50853         * lib/wait-process.c (wait_subprocess): Add an assertion.
50854
50855 2008-06-10  Bruno Haible  <bruno@clisp.org>
50856
50857         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
50858
50859 2008-06-10  Bruno Haible  <bruno@clisp.org>
50860
50861         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
50862         using alarm().
50863         * tests/test-strcasestr.c (main): Likewise.
50864         * tests/test-strstr.c (main): Likewise.
50865
50866 2008-06-09  Bruno Haible  <bruno@clisp.org>
50867
50868         Work around the Solaris 10 ACE ACLs ABI change.
50869         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
50870         declare if ACL_NO_TRIVIAL is present.
50871         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
50872         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
50873         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
50874         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
50875         define if ACL_NO_TRIVIAL is present.
50876         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
50877         and use the current ABI.
50878         (file_has_acl): Use same #if condition as elsewhere.
50879         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
50880         in use, and use the current ABI.
50881         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
50882         Reported by Jim Meyering.
50883
50884 2008-06-09  Eric Blake  <ebb9@byu.net>
50885
50886         Work around environments that (stupidly) ignore SIGALRM.
50887         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
50888         before using alarm().
50889         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
50890         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
50891         Reported by Ian Beckwith <ianb@erislabs.net>.
50892
50893         Produce autobuild blurb earlier in log.
50894         * modules/autobuild (configure.ac-early): Move AB_INIT here.
50895
50896 2008-06-09  Jim Meyering  <meyering@redhat.com>
50897         and OndÅ™ej Vašík  <ovasik@redhat.com>
50898
50899         utimens.c: correct kernel bug work-around
50900         OndÅ™ej Vašík found that the invalid return value of 280 indicates
50901         failure, not success, and the kernel bug we're trying to work
50902         around affects not just the utimensat call, but also the fallback
50903         futimens call.
50904         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
50905         not success.
50906         [HAVE_FUTIMENS]: Use the same work-around, here.
50907
50908 2008-06-09  Jim Meyering  <meyering@redhat.com>
50909
50910         add more guards around definition of ACE_-related code
50911         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
50912         ALLOW and ACE_OWNER are also defined.
50913
50914 2008-06-08  Bruno Haible  <bruno@clisp.org>
50915
50916         * lib/acl-internal.h: Add me as co-author.
50917         * lib/file-has-acl.c: Likewise.
50918         * lib/set-mode-acl.c: Likewise.
50919         * lib/copy-acl.c: Likewise.
50920
50921 2008-06-08  Bruno Haible  <bruno@clisp.org>
50922
50923         Add support for AIX ACLs.
50924         * lib/acl-internal.h (acl_nontrivial): New declaration.
50925         * lib/file-has-acl.c (acl_nontrivial): New function.
50926         (file_has_acl): Add implementation using AIX 4 ACL API.
50927         * lib/set-mode-acl.c (qset_acl): Likewise.
50928         * lib/copy-acl.c (qcopy_acl): Likewise.
50929
50930 2008-06-08  Bruno Haible  <bruno@clisp.org>
50931
50932         Add support for HP-UX ACLs.
50933         * lib/acl-internal.h (acl_nontrivial): New declaration.
50934         * lib/file-has-acl.c (acl_nontrivial): New function.
50935         (file_has_acl): Add implementation using HP-UX 11 ACL API.
50936         * lib/set-mode-acl.c (qset_acl): Likewise.
50937         * lib/copy-acl.c (qcopy_acl): Likewise.
50938
50939 2008-06-08  Bruno Haible  <bruno@clisp.org>
50940
50941         Add support for Cygwin ACLs.
50942         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
50943         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
50944         the chmod_or_fchmod call.
50945         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
50946
50947 2008-06-08  Bruno Haible  <bruno@clisp.org>
50948
50949         Fix bug with setuid modes in Solaris 10+ code.
50950         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
50951         succeeded, when the mode contains some special bits.
50952
50953 2008-06-08  Bruno Haible  <bruno@clisp.org>
50954
50955         Add support for Solaris 7..10 ACLs.
50956         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
50957         declarations.
50958         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
50959         functions.
50960         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
50961         * lib/set-mode-acl.c (qset_acl): Likewise.
50962         * lib/copy-acl.c (qcopy_acl): Likewise.
50963
50964 2008-06-08  Bruno Haible  <bruno@clisp.org>
50965
50966         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
50967         declaration.
50968         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
50969         (acl_access_nontrivial): Remove MacOS X case.
50970         (file_has_acl): Use acl_extended_nontrivial.
50971         * lib/copy-acl.c (qcopy_acl): Likewise.
50972
50973 2008-06-08  Bruno Haible  <bruno@clisp.org>
50974
50975         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
50976
50977 2008-06-08  Jim Meyering  <meyering@redhat.com>
50978
50979         * modules/acl (Maintainer): Add Bruno Haible.
50980
50981 2008-06-07  Bruno Haible  <bruno@clisp.org>
50982
50983         Improve support for Tru64 ACLs.
50984         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
50985         ACL on OSF/1.
50986
50987 2008-06-07  Bruno Haible  <bruno@clisp.org>
50988
50989         Add support for MacOS X ACLs.
50990         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
50991         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
50992         * lib/set-mode-acl.c (qset_acl): Likewise.
50993         * lib/copy-acl.c (qcopy_acl): Likewise.
50994
50995 2008-06-07  Bruno Haible  <bruno@clisp.org>
50996
50997         Fix memory leak introduced on 2008-05-22.
50998         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
50999         use.
51000
51001 2008-06-07  Bruno Haible  <bruno@clisp.org>
51002
51003         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
51004         to construct an empty ACL.
51005
51006 2008-06-07  Bruno Haible  <bruno@clisp.org>
51007
51008         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
51009         precisely.
51010         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
51011
51012 2008-06-07  Bruno Haible  <bruno@clisp.org>
51013
51014         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
51015         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
51016
51017 2008-06-07  Bruno Haible  <bruno@clisp.org>
51018
51019         * doc/posix-functions/_setjmp.texi: Explain the use of this function
51020         regardless of POSIX.
51021         * doc/posix-functions/_longjmp.texi: Likewise.
51022         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
51023         SystemV platform in this case.
51024
51025 2008-06-06  Eric Blake  <ebb9@byu.net>
51026
51027         Document abort() bugs.
51028         * doc/posix-functions/abort.texi (abort): Mention anomalies.
51029
51030         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
51031         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
51032         sigsetjmp.
51033         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
51034         siglongjmp, but only as a macro.
51035         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
51036         is obsolete.
51037         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
51038
51039         Tweak documentation to cover cygwin argz bugs.
51040         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
51041         argz bug fix; no code change needed since no cygwin releases
51042         occurred between the last fix and the bug being tested.
51043         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
51044         module and recently fixed cygwin bugs.
51045         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
51046         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
51047         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
51048         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
51049         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
51050         Likewise.
51051         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
51052         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
51053         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
51054         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
51055         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
51056         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
51057         Likewise.
51058
51059         Avoid gcc warning on cygwin.
51060         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
51061         !ACL_NO_TRIVIAL]: Avoid unused variable.
51062
51063 2008-06-05  Eric Blake  <ebb9@byu.net>
51064
51065         Be tolerant of UNKNOWN version in gnulib-tool test dir.
51066         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
51067         git-version-gen fails to come up with a version.
51068         Reported by Simon Josefsson.
51069
51070 2008-06-05  Jim Meyering  <meyering@redhat.com>
51071             Paul Eggert  <eggert@cs.ucla.edu>
51072
51073         utimens.c: work around a probable Linux kernel bug
51074         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
51075         appears to be a kernel bug that causes utimensat to return 280
51076         instead of 0, indicating success.
51077
51078 2008-06-04  Bruno Haible  <bruno@clisp.org>
51079
51080         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
51081         2008-06-01 commit.
51082
51083 2008-06-04  Bruno Haible  <bruno@clisp.org>
51084
51085         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
51086         * lib/file-has-acl.c (acl_access_nontrivial): New function.
51087         (file_has_acl): Use it. Save errno afterwards.
51088         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
51089
51090 2008-06-03  Bruno Haible  <bruno@clisp.org>
51091
51092         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
51093         draft code. Simplify #ifs.
51094         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
51095         Put Solaris code after POSIX-draft code. Fix comments regarding
51096         Solaris 10, HP-UX. Mention Cygwin.
51097         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
51098
51099 2008-06-03  Eric Blake  <ebb9@byu.net>
51100
51101         Provide fallback for older kernels.
51102         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
51103         Provide runtime fallback if kernel lacks support.
51104         Reported by Mike Frysinger.
51105
51106 2008-06-02  Bruno Haible  <bruno@clisp.org>
51107
51108         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
51109         it exists.
51110
51111 2008-06-02  Bruno Haible  <bruno@clisp.org>
51112
51113         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
51114         * lib/copy-acl.c (qcopy_acl): Update comment.
51115
51116 2008-06-02  Bruno Haible  <bruno@clisp.org>
51117
51118         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
51119         like ACL APIs.
51120
51121 2008-06-02  Bruno Haible  <bruno@clisp.org>
51122
51123         * tests/test-file-has-acl.sh: Use different code for Cygwin.
51124         * tests/test-set-mode-acl.sh: Likewise.
51125         * tests/test-copy-acl.sh: Likewise.
51126         * tests/test-copy-file.sh: Likewise.
51127
51128 2008-06-02  Bruno Haible  <bruno@clisp.org>
51129
51130         * tests/test-file-has-acl.sh: Remove unused code.
51131
51132 2008-06-01  Bruno Haible  <bruno@clisp.org>
51133
51134         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
51135         (copy_acl): Just a wrapper around qcopy_acl that emits the error
51136         messages.
51137         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
51138
51139 2008-06-01  Bruno Haible  <bruno@clisp.org>
51140
51141         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
51142         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
51143         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
51144         APIs.
51145         * modules/acl-tests (configure.ac): Remove tests now contained in
51146         m4/acl.m4.
51147
51148 2008-06-02  Jim Meyering  <meyering@redhat.com>
51149
51150         announce-gen: use a better key-server host name
51151         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
51152         it may be more consistently reliable.  Suggested by Werner Koch
51153         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
51154
51155 2008-06-01  Bruno Haible  <bruno@clisp.org>
51156
51157         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
51158         Reported by Voroskoi Andras <voroskoi@gmail.com>.
51159
51160 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
51161
51162         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
51163
51164 2008-06-01  Bruno Haible  <bruno@clisp.org>
51165
51166         New ACL tests.
51167         * tests/test-file-has-acl.sh: New file.
51168         * tests/test-file-has-acl.c: New file.
51169         * tests/test-set-mode-acl.sh: New file.
51170         * tests/test-set-mode-acl.c: New file.
51171         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
51172         * tests/test-copy-acl.c: New file.
51173         * modules/acl-tests: New file, based on modules/copy-file-tests.
51174         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
51175         (Depends-on): Add acl-tests.
51176         (configure.ac): Remove checks.
51177         (Makefile.am): Don't create test-sameacls program here any more.
51178
51179 2008-06-01  Bruno Haible  <bruno@clisp.org>
51180
51181         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
51182         * tests/test-sameacls.c: Include progname.h.
51183         (main): Invoke set_program_name. Portability fixes for MacOS X,
51184         Solaris, HP-UX.
51185
51186 2008-06-01  Bruno Haible  <bruno@clisp.org>
51187
51188         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
51189         function.
51190         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
51191
51192 2008-06-01  Bruno Haible  <bruno@clisp.org>
51193
51194         * modules/rpmatch (Depends-on): Add strdup.
51195
51196 2008-06-01  Bruno Haible  <bruno@clisp.org>
51197
51198         * lib/pipe.c: Include unistd-safer.h.
51199         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
51200         * modules/pipe (Depends-on): Add unistd-safer.
51201
51202 2008-05-30  Simon Josefsson  <simon@josefsson.org>
51203
51204         * modules/autobuild (configure.ac): Call AB_INIT.
51205
51206 2008-05-30  Simon Josefsson  <simon@josefsson.org>
51207
51208         * tests/test-getaddrinfo.c: Don't print debug messages by default.
51209         Suggested by Bruno Haible <bruno@clisp.org>.
51210
51211 2008-05-30  Simon Josefsson  <simon@josefsson.org>
51212
51213         * tests/test-base64.c: Cast size_t to unsigned long when invoking
51214         printf.  Use %lu instead of %d.  Reported by Bruno Haible
51215         <bruno@clisp.org>.
51216
51217 2008-05-29  Eric Blake  <ebb9@byu.net>
51218
51219         Prefer new POSIX 200x interfaces over futimesat.
51220         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
51221         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
51222         when available.
51223         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
51224
51225 2008-05-28  Bruno Haible  <bruno@clisp.org>
51226
51227         * modules/stpcpy (License): Change to LGPLv2+.
51228         Requested by David Lutterkort <dlutter@redhat.com>.
51229
51230 2008-05-27  Bruno Haible  <bruno@clisp.org>
51231
51232         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
51233         current mingw.
51234         Reported by Jose E. Marchesi <jemarch@gnu.org>.
51235
51236 2008-05-27  Bruno Haible  <bruno@clisp.org>
51237
51238         * modules/iconv_open (Link): New section, from module 'iconv'.
51239         * modules/striconv (Link): Likewise.
51240         * modules/striconveh (Link): Likewise.
51241         * modules/xstriconv (Link): Likewise.
51242         * modules/unicodeio (Link): Likewise.
51243         * modules/propername (Link): Likewise.
51244         Reported by Jim Meyering.
51245
51246 2008-05-26  Jim Meyering  <meyering@redhat.com>
51247
51248         sha256: do not artificially restrict buffer length to be < 2^32
51249         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
51250         uint32_t to size_t.
51251         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
51252         to match.
51253
51254         avoid unaligned access errors, e.g., on sparc
51255         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
51256         direct access through a possibly-unaligned uint64* pointer.
51257         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
51258         direct access through a possibly-unaligned uint32* pointer.
51259         Prompted by this patch from Tom "spot" Callaway:
51260         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
51261
51262         sha512.c: fix typo in comment
51263         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
51264
51265 2008-05-25  Bruno Haible  <bruno@clisp.org>
51266
51267         * lib/set-mode-acl.c: Renamed from lib/acl.c.
51268         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
51269         (Makefile.am): Update lib_SOURCES.
51270
51271 2008-05-25  Bruno Haible  <bruno@clisp.org>
51272
51273         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
51274
51275 2008-05-25  Jim Meyering  <meyering@redhat.com>
51276
51277         useless-if-before-free: freed expr may have white-space differences
51278         * build-aux/useless-if-before-free: Recognize cases in which the
51279         freed expression differs from the tested one in embedded white
51280         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
51281         $1 was used, so we can't make any regexp shy.  Improved tests now
51282         detect this.
51283
51284         useless-if-before-free: accept white space in the expression.
51285         * build-aux/useless-if-before-free: For now, any white space
51286         in the expression must be identical in the free argument.
51287
51288         useless-if-before-free: efficiency tweak
51289         * build-aux/useless-if-before-free: Make the expression-matching
51290         regexp "shy".
51291         Make the *outer* regexp shy, not the expr-matching one.
51292
51293         update code-in-comment to accept cast of free arg
51294         * build-aux/useless-if-before-free: Update regexp.
51295
51296 2008-05-25  Bruno Haible  <bruno@clisp.org>
51297
51298         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
51299         * modules/copy-file-tests (Files, Makefile.am): Update.
51300         * tests/test-copy-file.c (func_test_copy): Update.
51301
51302 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
51303
51304         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
51305
51306 2008-05-23  Bruno Haible  <bruno@clisp.org>
51307
51308         Improve support for ACLs on OSF/1.
51309         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
51310         Remove fallback for unknown flavors of ACLs.
51311
51312 2008-05-22  Bruno Haible  <bruno@clisp.org>
51313
51314         Add support for ACLs on OSF/1.
51315         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
51316         replacements.
51317         (acl_free_text): New macro fallback.
51318         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
51319         acl_free.
51320         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
51321         acl_free_text function. Require AC_C_INLINE.
51322
51323 2008-05-22  Bruno Haible  <bruno@clisp.org>
51324
51325         Make copy_acl work on MacOS X 10.5.
51326         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
51327         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
51328         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
51329         If MODE_INSIDE_ACL, don't assume that every system has the same text
51330         representation for ACLs as FreeBSD.
51331         * lib/copy-acl.c (copy_acl): Add support for platforms with
51332         !MODE_INSIDE_ACL.
51333         * lib/file-has-acl.c (file_has_acl): Likewise.
51334         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
51335         FreeBSD, MacOS X, or IRIX, respectively.
51336
51337 2008-05-22  Bruno Haible  <bruno@clisp.org>
51338
51339         * lib/acl.h: Don't include <sys/acl.h>.
51340         (GETACLCNT): Move fallback to lib/acl-internal.h.
51341         * lib/acl-internal.h: Include <sys/acl.h> here.
51342         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
51343
51344 2008-05-22  Bruno Haible  <bruno@clisp.org>
51345
51346         Split off copy_acl function to separate file.
51347         * lib/copy-acl.c: New file, extracted from lib/acl.c.
51348         * lib/acl.c (copy_acl): Moved function to separate file.
51349         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
51350         * modules/acl (Files): Add lib/copy-acl.c.
51351         (Makefiles.am): Augment lib_SOURCES.
51352
51353 2008-05-22  Bruno Haible  <bruno@clisp.org>
51354
51355         * modules/copy-file-tests: New file.
51356         * tests/test-copy-file.sh: New file.
51357         * tests/test-copy-file.c: New file.
51358         * tests/test-copy-file-sameacls.c: New file.
51359
51360 2008-05-22  Eric Blake  <ebb9@byu.net>
51361
51362         Avoid gcc warning.
51363         * tests/test-memcmp.c (main): Pass NULL indirectly.
51364
51365 2008-05-21  Bruno Haible  <bruno@clisp.org>
51366
51367         Add reference doc about ACLs.
51368         * doc/acl-resources.txt: New file.
51369         * doc/acl-cygwin.txt: New file.
51370
51371 2008-05-21  Bruno Haible  <bruno@clisp.org>
51372
51373         Avoid one more warning from gcc.
51374         * lib/vasnprintf.c (IF_LINT): Update comments.
51375         (VASNPRINTF): Use it also for the 'prefix' array initializer.
51376
51377 2008-05-21  Jim Meyering  <meyering@redhat.com>
51378
51379         avoid a warning from gcc
51380         * lib/vasnprintf.c (IF_LINT): Define.
51381         (scale10_round_decimal_long_double):
51382         Use it to avoid a "may be used uninitialized" warning.
51383         (scale10_round_decimal_double): Likewise.
51384
51385 2008-05-21  Simon Josefsson  <simon@josefsson.org>
51386
51387         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
51388         declared.
51389
51390 2008-05-20  Bruno Haible  <bruno@clisp.org>
51391
51392         * tests/test-memcmp.c (main): Test also the sign of the result. Test
51393         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
51394
51395 2008-05-20  Simon Josefsson  <simon@josefsson.org>
51396
51397         * modules/memcmp-tests: New file.
51398         * tests/test-memcmp.c: New file.
51399
51400 2008-05-19  Bruno Haible  <bruno@clisp.org>
51401
51402         * modules/propername (Notice, configure.ac): Put quoted "..." into
51403         --keyword option.
51404         * lib/propername.h: Update comments accordingly.
51405         Reported by Eric Blake.
51406
51407 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
51408
51409         * modules/getpass-gnu (Depends-on): Add fseeko.
51410
51411 2008-05-19  Simon Josefsson  <simon@josefsson.org>
51412
51413         * modules/base64-tests: New file.
51414
51415 2008-05-19  Bo Borgerson <gigabo@gmail.com>
51416
51417         * lib/base64.c (base64_decode_ctx): If a decode context structure
51418         was passed in use it to ignore newlines.  If a context structure
51419         was _not_ passed in, continue to treat newlines as garbage (this
51420         is the historical behavior).  Formerly base64_decode.
51421         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
51422         takes a decode context structure.
51423         * lib/base64.h (base64_decode): Macro for four-argument calls.
51424         (base64_decode_alloc): Likewise.
51425         * lib/base64.c (base64_decode_ctx): If a decode context structure
51426         was passed in use it to ignore newlines.  If a context structure
51427         was _not_ passed in, continue to treat newlines as garbage (this
51428         is the historical behavior).  Formerly base64_decode.
51429         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
51430         takes a decode context structure.
51431         * lib/base64.h (base64_decode): Macro for four-argument calls.
51432         (base64_decode_alloc): Likewise.
51433
51434 2008-05-19  Jim Meyering  <meyering@redhat.com>
51435
51436         avoid a warning from gcc
51437         * lib/trim.c (IF_LINT): Define.
51438         (trim2): Use it to avoid a "may be used uninitialized" warning.
51439
51440         Fix doc typo.
51441         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
51442
51443 2008-05-19  Bruno Haible  <bruno@clisp.org>
51444
51445         * doc/glibc-functions/getpass.texi: Document limits of other
51446         implementations.
51447
51448 2008-05-19  Simon Josefsson  <simon@josefsson.org>
51449             Bruno Haible <bruno@clisp.org>
51450
51451         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
51452
51453 2008-05-18  Bruno Haible  <bruno@clisp.org>
51454
51455         * modules/propername: New file, from GNU gettext.
51456         * lib/propername.h: New file, from GNU gettext.
51457         * lib/propername.c: New file, from GNU gettext.
51458         * MODULES.html.sh (Internationalization functions): Add propername.
51459
51460 2008-05-16  Jim Meyering  <meyering@redhat.com>
51461             Bruno Haible  <bruno@clisp.org>
51462
51463         Avoid some warnings from "gcc -Wshadow".
51464         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
51465
51466 2008-05-15  Eric Blake  <ebb9@byu.net>
51467
51468         Extend previous patch to cygwin 1.7.0.
51469         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
51470         fast implementation in cygwin >= 1.7.0.
51471         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
51472         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
51473
51474 2008-05-15  Bruno Haible  <bruno@clisp.org>
51475
51476         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
51477         implementation in glibc >= 2.9.
51478         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
51479         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
51480
51481 2008-05-15  Bruno Haible  <bruno@clisp.org>
51482
51483         * MODULES.html.sh (Internationalization functions): Remove linebreak.
51484         (Unicode string functions): Add unilbrk/*.
51485         Reported by Karl Berry.
51486
51487 2008-05-15  Eric Blake  <ebb9@byu.net>
51488
51489         Fix violation of <stdbool.h> replacement in regex.
51490         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
51491         * lib/regexec.c (re_search_internal): Likewise.
51492         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
51493
51494 2008-05-15  Jim Meyering  <meyering@redhat.com>
51495
51496         avoid distracting test output when git or cvs is not found
51497         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
51498         * tests/test-vc-list-files-git.sh: Likewise.
51499
51500 2008-05-15  Eric Blake  <ebb9@byu.net>
51501
51502         Glibc finally accepted the memmem speedup code, bugzilla #5514.
51503         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
51504         glibc version.
51505         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
51506         * doc/posix-functions/strstr.texi (strstr): Likewise.
51507         * lib/str-two-way.h (MAX): Sychronize with glibc.
51508
51509 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
51510
51511         * lib/regcomp.c (optimize_utf8): Add a note on why we test
51512         opr.ctx_type.
51513         (calc_first): Initialize constraint field.
51514         (duplicate_node_closure): Use it instead of special casing ANCHORS.
51515         Fix grammar.
51516         (duplicate_node): Merge constraint field for all node types.
51517         (calc_eclosure_iter): Look at constraint field for all node types.
51518         * lib/regex_internal.c (create_cd_newstate): Don't look at
51519         opr.ctx_type.
51520
51521 2008-05-14  Bruno Haible  <bruno@clisp.org>
51522
51523         Help GCC to do better code generation.
51524         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
51525         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
51526         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
51527         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
51528         Declare with attribute 'malloc' if supported.
51529
51530 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
51531
51532         use "echo STR|wc -c" rather than unportable "expr length STR"
51533         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
51534         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
51535
51536 2008-05-14  Jim Meyering  <meyering@redhat.com>
51537
51538         use dd ibs=$n count=1 ... rather than less-portable head -c$n
51539         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
51540         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
51541         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
51542         via Collin Lasse.
51543
51544 2008-05-14  Eric Blake  <ebb9@byu.net>
51545
51546         Avoid quadratic growth in gl_LIBSOURCES.
51547         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
51548         Suggested by Bruno Haible.
51549
51550         Test xmemdup0.
51551         * modules/xmemdup0-tests: New file.
51552         * tests/test-xmemdup0.c: Likewise.
51553
51554 2008-05-13  Eric Blake  <ebb9@byu.net>
51555
51556         Split xmemdup0 into its own module.
51557         * modules/xmemdup0: New file.
51558         * lib/xmemdup0.h: Likewise.
51559         * lib/xmemdup0.c: Likewise.
51560         * MODULES.html.sh (Memory management functions): Add xmemdup0.
51561         * lib/xalloc.h (xmemdup0): Remove.
51562         * lib/xmalloc.c (xmemdup0): Likewise.
51563
51564 2008-05-13  Eric Blake  <ebb9@byu.net>
51565             Bruno Haible  <bruno@clisp.org>
51566
51567         Reduce number of forks required during autoconf.
51568         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
51569         and gl_LIBSOURCES_DIR.
51570         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
51571         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
51572         m4_syscmd per file.
51573         <m4_foreach_w>: Move...
51574         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
51575
51576 2008-05-13  Eric Blake  <ebb9@byu.net>
51577
51578         * gnulib-tool: Fix various comment typos.
51579
51580 2008-05-12  Bruno Haible  <bruno@clisp.org>
51581
51582         Tailor the linebreaking algorithm.
51583         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
51584
51585 2008-05-12  Bruno Haible  <bruno@clisp.org>
51586
51587         Update to Unicode 5.0.0.
51588         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
51589         LBP_JV, LBP_JT. Redistribute values.
51590         (unilbrk_table): Change size.
51591         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
51592         Unicode TR#14 rev. 22.
51593         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
51594         LBP_JV, LBP_JT. Redistribute values.
51595         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
51596         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
51597         Update.
51598         * lib/unilbrk/lbrkprop1.h: Regenerated.
51599         * lib/unilbrk/lbrkprop2.h: Regenerated.
51600         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
51601         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
51602         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
51603         Likewise.
51604         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
51605         Likewise.
51606         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
51607         result.
51608         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
51609         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
51610         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
51611         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
51612         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
51613         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
51614
51615 2008-05-11  Bruno Haible  <bruno@clisp.org>
51616
51617         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
51618
51619 2008-05-11  Bruno Haible  <bruno@clisp.org>
51620
51621         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
51622         * modules/unilbrk/gen-lbrk: New file.
51623
51624 2008-05-11  Bruno Haible  <bruno@clisp.org>
51625
51626         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
51627         * m4/sha512.m4 (gl_SHA512): Likewise.
51628
51629 2008-05-11  Jim Meyering  <meyering@redhat.com>
51630
51631         New modules: crypto/sha256, crypto/sha512 (from coreutils)
51632         * modules/crypto/sha256: New file.
51633         * modules/crypto/sha512: Likewise.
51634         * lib/sha256.c: Likewise.
51635         * lib/sha256.h: Likewise.
51636         * lib/sha512.c: Likewise.
51637         * lib/sha512.h: Likewise.
51638         * lib/u64.h: Likewise.
51639         * m4/sha256.m4: Likewise.
51640         * m4/sha512.m4: Likewise.
51641         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
51642
51643 2008-05-10  Bruno Haible  <bruno@clisp.org>
51644
51645         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
51646         (Input/Output <stdio.h>): Add xprintf.
51647         (Signal handling <signal.h>): Add strsignal.
51648         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
51649         (Core language properties): Add func.
51650         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
51651         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
51652         strings.
51653         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
51654         (Input/output): New section.
51655         (File system functions): Add openat-die, stat-macros.
51656         (Networking functions): Add sockets.
51657         (Unicode string functions): Add unictype/*.
51658         (Support for building libraries and executables): Add gperf.
51659         (Support for building documentation): Add agpl-3.0.
51660         (Misc): Add nocrash.
51661
51662 2008-05-10  Bruno Haible  <bruno@clisp.org>
51663
51664         * modules/unictype/gen-ctype: New file.
51665
51666 2008-05-10  Jim Meyering  <meyering@redhat.com>
51667
51668         Make chdir-safer.c more efficient on a system with no symlinks.
51669         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
51670         also if ELOOP is zero.  Suggested by Bruno Haible.
51671
51672         Make chdir-safer.c slightly safer.
51673         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
51674         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
51675
51676         Avoid compile failure on systems without ELOOP (like mingw).
51677         * lib/chdir-safer.c (ELOOP): Define if not already defined.
51678         Reported by Bruno Haible.
51679
51680 2008-05-10  Bruno Haible  <bruno@clisp.org>
51681
51682         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
51683         (is_utf8_encoding): Use a case-insensitive comparison.
51684         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
51685         streq.
51686
51687 2008-05-10  Bruno Haible  <bruno@clisp.org>
51688
51689         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
51690         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
51691         * lib/unilbrk/ulc-common.h (iconv_string_length,
51692         iconv_string_keeping_offsets): Remove declarations.
51693         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
51694         Don't include <iconv.h>, streq.h, xsize.h.
51695         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
51696         conversion.
51697         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
51698         <iconv.h>, streq.h, xsize.h.
51699         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
51700         conversion.
51701         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
51702         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
51703         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
51704         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
51705
51706 2008-05-10  Bruno Haible  <bruno@clisp.org>
51707
51708         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
51709         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
51710
51711         * modules/unilbrk/u32-width-linebreaks-tests: New file.
51712         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
51713
51714         * modules/unilbrk/u16-width-linebreaks-tests: New file.
51715         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
51716
51717         * modules/unilbrk/u8-width-linebreaks-tests: New file.
51718         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
51719
51720         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
51721         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
51722
51723         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
51724         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
51725
51726         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
51727         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
51728
51729         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
51730         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
51731
51732 2008-05-10  Bruno Haible  <bruno@clisp.org>
51733
51734         Split up 'linebreak' module.
51735         * lib/unilbrk.h: New file, based on lib/linebreak.h.
51736         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
51737         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
51738         modifications.
51739         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
51740         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
51741         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
51742         lib/linebreak.c.
51743         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
51744         lib/linebreak.c.
51745         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
51746         lib/linebreak.c.
51747         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
51748         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
51749         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
51750         lib/linebreak.c.
51751         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
51752         lib/linebreak.c.
51753         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
51754         lib/linebreak.c.
51755         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
51756         lib/linebreak.c.
51757         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
51758         lib/linebreak.c.
51759         * modules/unilbrk/base: New file.
51760         * modules/unilbrk/tables: New file.
51761         * modules/unilbrk/u8-possible-linebreaks: New file.
51762         * modules/unilbrk/u16-possible-linebreaks: New file.
51763         * modules/unilbrk/u32-possible-linebreaks: New file.
51764         * modules/unilbrk/ulc-common: New file.
51765         * modules/unilbrk/ulc-possible-linebreaks: New file.
51766         * modules/unilbrk/u8-width-linebreaks: New file.
51767         * modules/unilbrk/u16-width-linebreaks: New file.
51768         * modules/unilbrk/u32-width-linebreaks: New file.
51769         * modules/unilbrk/ulc-width-linebreaks: New file.
51770         * lib/linebreak.h: Remove file.
51771         * lib/linebreak.c: Remove file.
51772         * m4/linebreak.m4: Remove file.
51773         * modules/linebreak: Remove file.
51774         * NEWS: Mention the changes.
51775
51776 2008-05-09  Eric Blake  <ebb9@byu.net>
51777
51778         Add xmemdup0.
51779         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
51780         implementation.
51781         * lib/xmalloc.c (xmemdup0): New C implementation.
51782
51783 2008-05-08  Bruno Haible  <bruno@clisp.org>
51784
51785         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
51786
51787 2008-05-07  Eric Blake  <ebb9@byu.net>
51788
51789         Support cross-compilation of <wctype.h>.
51790         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
51791         AC_CACHE_CHECK.
51792
51793 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
51794
51795         * build-aux/vc-list-files: Add support for bzr.
51796
51797 2008-05-03  Jim Meyering  <meyering@redhat.com>
51798
51799         avoid failed assertion with tight malloc
51800         * tests/test-getndelim2.c: Correct an off-by-one assertion.
51801
51802 2008-05-03  Simon Josefsson  <simon@josefsson.org>
51803
51804         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
51805         are needed from arpa/inet.h.
51806         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
51807         Reported by Bruno Haible.
51808
51809 2008-05-02  Jim Meyering  <meyering@redhat.com>
51810
51811         avoid compilation error on FreeBSD 6
51812         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
51813
51814 2008-05-01  Jim Meyering  <meyering@redhat.com>
51815
51816         useless-if-before-free: correct --help's exit status description
51817         * build-aux/useless-if-before-free (usage): Like grep, exit 0
51818         for one or more matches, etc.  Reported by Bruno Haible.
51819
51820         vc-list-files: make the stand-alone gnulib test work
51821         * modules/vc-list-files-tests (configure.ac):
51822         Define and AC_SUBST abs_aux_dir.
51823         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
51824         $(abs_top_srcdir) to each script and having each of them
51825         duplicate the work of setting PATH, set PATH here, using
51826         the new variable, abs_aux_dir instead.
51827         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
51828         * tests/test-vc-list-files-git.sh: Likewise.
51829         Reported by Bruno Haible.
51830
51831 2008-05-01  Bruno Haible  <bruno@clisp.org>
51832
51833         * lib/getndelim2.c (getndelim2): Fix newsize computation during
51834         reallocation. Rename 'done' to 'found_delimiter'.
51835
51836 2008-05-01  Jim Meyering  <meyering@redhat.com>
51837
51838         vc-list-files: accommodate /bin/sh like the one from Solaris 10
51839         * build-aux/vc-list-files: Use `...`, not $(...).
51840
51841 2008-04-30  Jim Meyering  <meyering@redhat.com>
51842
51843         add tests for vc-list-files
51844         * modules/vc-list-files-tests: New module.
51845         * tests/test-vc-list-files-cvs.sh: New file.
51846         * tests/test-vc-list-files-git.sh: New file.
51847
51848         avoid a warning from gcc
51849         * lib/getndelim2.c (IF_LINT): Define.
51850         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
51851
51852         vc-list-files: work properly with build-aux/cvsu, too
51853         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
51854         to all cvs-based clauses.
51855
51856         vc-list-files: work properly in the CVS+awk case, too
51857         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
51858
51859         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
51860         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
51861         take more than one file argument, so .  Add quotes, just in case $dir
51862         ever contains a shell meta-character.  Prompted by Soren Hansen in
51863         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
51864
51865 2008-04-29  Eric Blake  <ebb9@byu.net>
51866
51867         Optimize getndelim2 to use block operations when possible.
51868         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
51869         freadseek, and memchr2.
51870         * lib/getndelim2.c (getndelim2): Use them for block reads.
51871
51872 2008-04-29  Bruno Haible  <bruno@clisp.org>
51873
51874         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
51875         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
51876         * modules/inet_ntop (Depends-on): Add extensions.
51877         * modules/inet_pton (Depends-on): Likewise.
51878         Reported by Simon Josefsson.
51879
51880 2008-04-29  Jim Meyering  <meyering@redhat.com>
51881
51882         When the is more than one match in a block, match all of them.
51883         * build-aux/useless-if-before-free: Iterate through each block
51884         until there are no more matches.
51885
51886         Fix broken useless-if-before-free script.
51887         * build-aux/useless-if-before-free: Fix typo: missing "?" after
51888         the expression to match cast of argument to free-like function.
51889
51890 2008-04-29  Eric Blake  <ebb9@byu.net>
51891
51892         Use new header.
51893         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
51894
51895 2008-04-29  Jim Meyering  <meyering@redhat.com>
51896
51897         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
51898         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
51899         by gnulib to exist and to declare e.g., inet_ntop.
51900         Don't include "inet_ntop.h", now removed.
51901
51902         * m4/arpa_inet_h.m4: Remove trailing blanks.
51903
51904 2008-04-29  Eric Blake  <ebb9@byu.net>
51905
51906         Silence valgrind on safe reads beyond potential array bounds.
51907         * lib/rawmemchr.valgrind: New file.
51908         * lib/strchrnul.valgrind: Likewise.
51909         * modules/rawmemchr (Files): Distribute new file.
51910         * modules/strchrnul (Files): Likewise.
51911         Suggested by Bruno Haible.
51912
51913 2008-04-29  Bruno Haible  <bruno@clisp.org>
51914
51915         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
51916         (inet_ntop, inet_pton): Change portability warning's wording.
51917         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
51918         Invoke gl_CHECK_NEXT_HEADERS.
51919         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
51920         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
51921         set ARPA_INET_H.
51922         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
51923         * modules/arpa_inet (Description): No longer only for systems that
51924         lack it.
51925         (Depends-on): Add include_next.
51926         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
51927         HAVE_ARPA_INET_H.
51928
51929 2008-04-29  Jim Meyering  <meyering@redhat.com>
51930
51931         * modules/mkdir (License): Re-license as LGPLv2+.
51932
51933 2008-04-29  Bruno Haible  <bruno@clisp.org>
51934
51935         * modules/rawmemchr (Maintainer): Set to Eric.
51936         * modules/strchrnul (Maintainer): Likewise.
51937
51938 2008-04-29  Simon Josefsson  <simon@josefsson.org>
51939
51940         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
51941         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
51942
51943         * modules/arpa_inet (arpa/inet.h): Use them.
51944
51945 2008-04-28  Eric Blake  <ebb9@byu.net>
51946
51947         Test getndelim2.
51948         * modules/getndelim2-tests: New file.
51949         * tests/test-getndelim2.c: Likewise.
51950         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
51951         stream.
51952         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
51953
51954         * MODULES.html.sh: Document new module.
51955
51956 2008-04-20  Bruno Haible  <bruno@clisp.org>
51957
51958         * lib/c-stack.c (die): Use raise.
51959         * modules/c-stack (Depends-on): Add raise.
51960
51961 2008-04-28  Bruno Haible  <bruno@clisp.org>
51962
51963         Expect rpmatch to be declared.
51964         * lib/yesno.c (rpmatch): Remove declaration.
51965
51966         Declare rpmatch.
51967         * lib/stdlib.in.h (rpmatch): New declaration.
51968         * lib/rpmatch.c: Include <stdlib.h> first.
51969         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
51970         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
51971         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
51972         HAVE_RPMATCH.
51973         * modules/rpmatch (Depends-on): Add stdlib, extensions.
51974         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51975         (Include): Set to <stdlib.h>.
51976         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
51977         HAVE_RPMATCH.
51978         * NEWS: Document the change.
51979
51980 2008-04-28  Bruno Haible  <bruno@clisp.org>
51981
51982         Change rpmatch to use nl_langinfo when appropriate.
51983         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
51984         (N_): New macro.
51985         (localized_pattern): New function/macro.
51986         (try): Remove match, nomatch arguments. Copy the pattern into safe
51987         memory before caching it.
51988         (rpmatch): Use localized_pattern. Add translator comments.
51989         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
51990         Suggested by Eric Blake.
51991         * modules/rpmatch (Depends-on): Add stdbool.
51992
51993 2008-04-28  Eric Blake  <ebb9@byu.net>
51994
51995         Add rawmemchr module, matching glibc.
51996         * modules/string (Makefile.am): New indicator.
51997         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
51998         * lib/string.in.h (rawmemchr): Declare when appropriate.
51999         * modules/rawmemchr: New file.
52000         * m4/rawmemchr.m4: Likewise.
52001         * lib/rawmemchr.c: Likewise.
52002         * modules/rawmemchr-tests: Likewise.
52003         * tests/test-rawmemchr.c: Likewise.
52004         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
52005         module.
52006         * modules/strchrnul (Depends-on): Add rawmemchr.
52007         * lib/strchrnul.c (strchrnul): Optimize a corner case.
52008
52009         Whitespace cleanup.
52010         * tests/test-strchrnul.c: Reindent.
52011         * lib/strchrnul.c: Likewise.
52012
52013         Optimize and test strchrnul.
52014         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
52015         * modules/strchrnul-tests: New file.
52016         * tests/test-strchrnul.c: Likewise.
52017
52018         Remove intprops dependency.
52019         * modules/memchr (Depends-on): Remove intprops.
52020         * modules/memrchr (Depends-on): Likewise.
52021         * modules/memchr2 (Depends-on): Likewise.
52022         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
52023         * lib/memrchr.c (__memrchr): Likewise.
52024         * lib/memrchr2.c (memchr2): Likewise.
52025         Reported by Simon Josefsson.
52026
52027 2008-04-28  Simon Josefsson  <simon@josefsson.org>
52028
52029         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
52030         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52031
52032 2008-04-28  Simon Josefsson  <simon@josefsson.org>
52033
52034         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
52035
52036         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
52037
52038         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
52039
52040         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
52041         declarations.
52042         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
52043
52044         * m4/inet_pton.m4: Don't check for header files.
52045
52046         * m4/inet_ntop.m4: Don't check for header files.
52047
52048 2008-04-28  Simon Josefsson  <simon@josefsson.org>
52049
52050         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
52051         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
52052         trigger for cygwin).
52053         Reported by Bruno Haible  <bruno@clisp.org>.
52054
52055 2008-04-28  Bruno Haible  <bruno@clisp.org>
52056
52057         * doc/posix-functions/strdup.texi: Mention mingw problem.
52058
52059 2008-04-27  Bruno Haible  <bruno@clisp.org>
52060
52061         * modules/stat-time-tests (Depends-on): Add sleep.
52062         * tests/test-stat-time.c (force_unlink): New function.
52063         (cleanup): Use it.
52064         (test_mtime): Remove the ctime related tests.
52065         (test_ctime): New function, containing the ctime related tests.
52066         (main): Call test_ctime, except on native Windows platforms.
52067
52068 2008-04-27  Bruno Haible  <bruno@clisp.org>
52069
52070         * lib/rpmatch.c (rpmatch): Add some comments.
52071         Reported by James Youngman <jay@gnu.org>.
52072
52073 2008-04-27  Bruno Haible  <bruno@clisp.org>
52074
52075         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
52076         quiet NaNs.
52077
52078 2008-04-27  Bruno Haible  <bruno@clisp.org>
52079
52080         Make test-yesno.sh work on mingw.
52081         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
52082         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
52083         (main): Set stdin to binary mode.
52084         * modules/yesno-tests (Depends-on): Add binary-io.
52085
52086 2008-04-27  Bruno Haible  <bruno@clisp.org>
52087
52088         Fix 'isfinite' on x86, x86_64, ia64 platforms.
52089         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
52090         argument that lie outside the IEEE 854 domain.
52091         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
52092         (gl_ISFINITE): Use it.
52093         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
52094
52095 2008-04-27  Bruno Haible  <bruno@clisp.org>
52096
52097         Allow local renaming in config.h.
52098         * lib/memrchr.c (memrchr): Don't undefine outside libc.
52099
52100 2008-04-27  Bruno Haible  <bruno@clisp.org>
52101
52102         * lib/memchr.c (__memchr): Change type of 'i'.
52103         * lib/memchr2.c (memchr2): Likewise.
52104
52105 2008-04-26  Eric Blake  <ebb9@byu.net>
52106         and Bruno Haible  <bruno@clisp.org>
52107
52108         Optimize and test memrchr.
52109         * modules/memrchr (Depends-on): Add intprops.
52110         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
52111         * modules/memrchr-tests: New file.
52112         * tests/test-memrchr.c: New file.
52113
52114 2008-04-26  Bruno Haible  <bruno@clisp.org>
52115
52116         Add tentative support for DragonFly BSD.
52117         * lib/stdio-impl.h: Add macros for DragonFly BSD.
52118         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
52119         fp.
52120         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
52121         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
52122         * lib/fpurge.c (fpurge): Likewise.
52123         * lib/freadable.c (freaadable): Likewise.
52124         * lib/freadahead.c (freadahead): Likewise.
52125         * lib/freading.c (freading): Likewise.
52126         * lib/freadptr.c (freadptr): Likewise.
52127         * lib/freadseek.c (freadptrinc): Likewise.
52128         * lib/fseeko.c (fseeko): Likewise.
52129         * lib/fseterr.c (fseterr): Likewise.
52130         * lib/fwritable.c (fwritable): Likewise.
52131         * lib/fwriting.c (fwriting): Likewise.
52132
52133 2008-04-26  Bruno Haible  <bruno@clisp.org>
52134
52135         * lib/stdio-impl.h: New file.
52136         * lib/fbufmode.c: Include stdio-impl.h.
52137         (fbufmode): Use fp_, remove redundant #defines.
52138         * lib/fflush.c: Include stdio-impl.h.
52139         (clear_ungetc_buffer): Remove redundant #defines.
52140         * lib/fpurge.c: Include stdio-impl.h.
52141         (fpurge): Remove redundant #defines.
52142         * lib/freadable.c: Include stdio-impl.h.
52143         (freadable): Remove redundant #defines.
52144         * lib/freadahead.c: Include stdio-impl.h.
52145         (freadahead): Remove redundant #defines.
52146         * lib/freading.c: Include stdio-impl.h.
52147         (freading): Remove redundant #defines.
52148         * lib/freadptr.c: Include stdio-impl.h.
52149         (freadptr): Remove redundant #defines.
52150         * lib/freadseek.c: Include stdio-impl.h.
52151         (freadptrinc): Remove redundant #defines.
52152         * lib/fseeko.c: Include stdio-impl.h.
52153         (rpl_fseeko): Remove redundant #defines.
52154         * lib/fseterr.c: Include stdio-impl.h.
52155         (fseterr): Remove redundant #defines.
52156         * lib/fwritable.c: Include stdio-impl.h.
52157         (fwritable: Remove redundant #defines.
52158         * lib/fwriting.c: Include stdio-impl.h.
52159         (fwriting): Remove redundant #defines.
52160         * modules/fbufmode (Files): Add lib/stdio-impl.h.
52161         * modules/fflush (Files): Likewise.
52162         * modules/fpurge (Files): Likewise.
52163         * modules/freadable (Files): Likewise.
52164         * modules/freadahead (Files): Likewise.
52165         * modules/freading (Files): Likewise.
52166         * modules/freadptr (Files): Likewise.
52167         * modules/freadseek (Files): Likewise.
52168         * modules/fseeko (Files): Likewise.
52169         * modules/fseterr (Files): Likewise.
52170         * modules/fwritable (Files): Likewise.
52171         * modules/fwriting (Files): Likewise.
52172
52173 2008-04-26  Bruno Haible  <bruno@clisp.org>
52174
52175         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
52176         restore_seek_optimization, update_fpos_cache): New functions, extracted
52177         from rpl_fflush.
52178         (rpl_fflush): Use them.
52179         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
52180         (gl_REPLACE_FFLUSH): Use it.
52181
52182 2008-04-26  Bruno Haible  <bruno@clisp.org>
52183
52184         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
52185         on Solaris.
52186         * tests/test-xstrtoimax.sh: Likewise.
52187         * tests/test-xstrtoumax.sh: Likewise.
52188         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52189
52190 2008-04-26  Bruno Haible  <bruno@clisp.org>
52191
52192         * modules/memchr-tests: New file.
52193         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
52194
52195 2008-04-26  Eric Blake  <ebb9@byu.net>
52196             Bruno Haible  <bruno@clisp.org>
52197
52198         * lib/memchr.c: Include intprops.h.
52199         (__memchr): Optimize parallel detection of matching bytes. Rename local
52200         variables. Add explanatory comments.
52201
52202 2008-04-26  Bruno Haible  <bruno@clisp.org>
52203
52204         Fix module 'memchr', broken since 2000-10-28.
52205         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
52206
52207 2008-04-26  Bruno Haible  <bruno@clisp.org>
52208
52209         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
52210         comments.
52211
52212 2008-04-25  Eric Blake  <ebb9@byu.net>
52213
52214         Use native fstatat on cygwin 1.7.0.
52215         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
52216         first.
52217
52218 2008-04-23  Eric Blake  <ebb9@byu.net>
52219
52220         Improve memchr2 performance.
52221         * lib/memchr2.c (memchr2): Further optimize parallel detection of
52222         NUL bytes.
52223         * modules/memchr2 (Depends-on): Use intprops.h.
52224
52225 2008-04-23  Simon Josefsson  <simon@josefsson.org>
52226
52227         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
52228         an inline function instead of a CPP macro.  Patch by Ben Pfaff
52229         <blp@cs.stanford.edu>.
52230
52231 2008-04-23  Simon Josefsson  <simon@josefsson.org>
52232
52233         * lib/arpa_inet.in.h: New file.
52234
52235         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
52236         (Makefile.am): Sed in substitute header file.
52237
52238         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
52239         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
52240
52241         * modules/inet_ntop (configure.ac): Use
52242         gl_ARPA_INET_MODULE_INDICATOR.
52243
52244         * modules/inet_pton (configure.ac): Use
52245         gl_ARPA_INET_MODULE_INDICATOR.
52246
52247 2008-04-22  Jim Meyering  <meyering@redhat.com>
52248
52249         * modules/verify (License): Re-license as LGPLv2+.
52250
52251 2008-04-22  Simon Josefsson  <simon@josefsson.org>
52252
52253         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
52254         parameter to void* as per POSIX standard (MinGW uses char*).
52255
52256 2008-04-21  Bruno Haible  <bruno@clisp.org>
52257
52258         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
52259         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
52260         Define to replacements if REPLACE_ISWCNTRL is 1.
52261         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
52262         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
52263         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
52264         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
52265         what it fixes.
52266         * doc/posix-functions/iswalpha.texi: Likewise.
52267         * doc/posix-functions/iswblank.texi: Likewise.
52268         * doc/posix-functions/iswcntrl.texi: Likewise.
52269         * doc/posix-functions/iswdigit.texi: Likewise.
52270         * doc/posix-functions/iswgraph.texi: Likewise.
52271         * doc/posix-functions/iswlower.texi: Likewise.
52272         * doc/posix-functions/iswprint.texi: Likewise.
52273         * doc/posix-functions/iswpunct.texi: Likewise.
52274         * doc/posix-functions/iswspace.texi: Likewise.
52275         * doc/posix-functions/iswupper.texi: Likewise.
52276         * doc/posix-functions/iswxdigit.texi: Likewise.
52277         Reported by Alain Guibert.
52278
52279 2008-04-21  Bruno Haible  <bruno@clisp.org>
52280
52281         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
52282         Patch by Alain Guibert.
52283
52284 2008-04-21  Bruno Haible  <bruno@clisp.org>
52285
52286         Fix test failures on mingw.
52287         * tests/test-xstrtol.c (print_no_progname): New function.
52288         (main): Install it in error_print_progname hook.
52289         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
52290         * tests/test-xstrtoimax.sh: Likewise.
52291         * tests/test-xstrtoumax.sh: Likewise.
52292
52293 2008-04-21  Bruno Haible  <bruno@clisp.org>
52294
52295         Fix test failure on mingw.
52296         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
52297
52298 2008-04-21  Bruno Haible  <bruno@clisp.org>
52299
52300         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
52301         Actually assign a value.
52302
52303 2008-04-20  Bruno Haible  <bruno@clisp.org>
52304
52305         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
52306         take 2.
52307         * lib/canonicalize.c (canonicalize_file_name): Elide if the
52308         'canonicalize-lgpl' module is also used.
52309         * lib/canonicalize-lgpl.c: Undo last change.
52310         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
52311
52312 2008-04-20  Bruno Haible  <bruno@clisp.org>
52313
52314         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
52315         config.h. Provide _mkdir based fallback for mingw.
52316         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
52317         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
52318         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
52319         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
52320         rather than defining mkdir in config.h.
52321         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
52322         (gl_SYS_STAT_H_DEFAULTS): New macro.
52323         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
52324         HAVE_IO_H any more.
52325         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
52326         HAVE_DECL_MKDIR and HAVE_IO_H.
52327
52328 2008-04-20  Bruno Haible  <bruno@clisp.org>
52329
52330         * lib/isapipe.c: Port to native Windows platforms.
52331
52332 2008-04-20  Bruno Haible  <bruno@clisp.org>
52333
52334         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
52335
52336 2008-04-21  Eric Blake  <ebb9@byu.net>
52337
52338         Work around preprocessors that don't handle UINTMAX_MAX.
52339         * lib/memchr2.c (memchr2): Avoid embedded #if.
52340         Reported by Alain Guibert, fix suggested by Bruno Haible.
52341
52342 2008-04-21  Simon Josefsson  <simon@josefsson.org>
52343
52344         * doc/posix-functions/strftime.texi (strftime): Explain better
52345         Windows incompatibility.  Suggested by Micah Cowan
52346         <micah@cowan.name>.
52347
52348 2008-04-20  Bruno Haible  <bruno@clisp.org>
52349
52350         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
52351         unistr/u8-mblen.
52352
52353 2008-04-20  Bruno Haible  <bruno@clisp.org>
52354
52355         Fix test failure on platforms with non-GNU iconv.
52356         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
52357         (U_TO_U8): Use it, rather than u16_to_u8.
52358         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
52359         units at the end of the input string.
52360         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
52361
52362 2008-04-20  Bruno Haible  <bruno@clisp.org>
52363
52364         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
52365         when the resulting length is 0.
52366         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
52367
52368 2008-04-20  Bruno Haible  <bruno@clisp.org>
52369
52370         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
52371         works.
52372         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
52373
52374 2008-04-20  Bruno Haible  <bruno@clisp.org>
52375
52376         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
52377         * modules/tsearch-tests (configure.ac): Test for initstate function.
52378
52379 2008-04-20  Bruno Haible  <bruno@clisp.org>
52380
52381         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
52382         for nlink_t if missing.
52383         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
52384
52385 2008-04-19  Bruno Haible  <bruno@clisp.org>
52386
52387         Work around snprintf bug on Linux libc5.
52388         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
52389         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
52390         gl_SNPRINTF_SIZE1.
52391         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52392         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
52393         that test failed.
52394         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
52395         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
52396         * modules/snprintf (Files): Add m4/printf.m4.
52397         * modules/vsnprintf (Files): Likewise.
52398         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
52399         * doc/posix-functions/vsnprintf.texi: Likewise.
52400
52401 2008-04-19  Bruno Haible  <bruno@clisp.org>
52402
52403         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
52404         from 0.0058 to less than 10^-7.
52405
52406 2008-04-19  Bruno Haible  <bruno@clisp.org>
52407
52408         Fix rounding when a precision is given.
52409         * lib/vasnprintf.c (is_borderline): New function.
52410         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
52411         9...9x.
52412         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
52413         %e, %g.
52414         * tests/test-vasprintf-posix.c (test_function): Likewise.
52415         * tests/test-snprintf-posix.h (test_function): Likewise.
52416         * tests/test-sprintf-posix.h (test_function): Likewise.
52417         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
52418         * tests/test-printf-posix.h (test_function): Likewise.
52419         * tests/test-printf-posix.output: Update.
52420         Reported by John Darrington <john@darrington.wattle.id.au> via
52421         Ben Pfaff <blp@cs.stanford.edu>.
52422
52423 2008-04-18  Simon Josefsson  <simon@josefsson.org>
52424
52425         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
52426         Suggested by Bruno Haible <bruno@clisp.org>.
52427
52428 2008-04-17  Bruno Haible  <bruno@clisp.org>
52429
52430         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
52431         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
52432         implementation.
52433         Patch by Bruce Merry <bmerry@gmail.com>.
52434
52435 2008-04-17  Simon Josefsson  <simon@josefsson.org>
52436
52437         * doc/posix-functions/strftime.texi (strftime): Mention that %e
52438         doesn't work under Windows.
52439
52440 2008-04-16  Bruno Haible  <bruno@clisp.org>
52441
52442         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
52443         New macros.
52444         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
52445         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
52446         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
52447         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
52448         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
52449         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
52450         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
52451         macros.
52452         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
52453         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
52454         Northern Sotho, Uighur.
52455
52456 2008-04-16  Bruno Haible  <bruno@clisp.org>
52457
52458         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
52459         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
52460         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
52461         Reported by Daniel Bergström <daniel@octocode.com>.
52462
52463 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
52464             Bruno Haible  <bruno@clisp.org>
52465
52466         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
52467         function.
52468         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
52469         New functions, mostly extracted from gl_locale_name_default.
52470         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
52471
52472 2008-04-16  Eric Blake  <ebb9@byu.net>
52473
52474         Adjust strtod detection to catch glibc 2.7 bug.
52475         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
52476         Reported by John Gatewood Ham.
52477
52478 2008-04-16  Bruno Haible  <bruno@clisp.org>
52479
52480         Add tentative support for Linux libc5.
52481         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
52482         * lib/fpurge.c (fpurge): Likewise.
52483         * lib/freadable.c (freadable): Likewise.
52484         * lib/freadahead.c (freadahead): Likewise.
52485         * lib/freading.c (freading): Likewise.
52486         * lib/freadptr.c (freadptr): Likewise.
52487         * lib/freadseek.c (freadptrinc): Likewise.
52488         * lib/fseeko.c (rpl_fseeko): Likewise.
52489         * lib/fseterr.c (fseterr): Likewise.
52490         * lib/fwritable.c (fwritable): Likewise.
52491         * lib/fwriting.c (fwriting): Likewise.
52492         Reported by Alain Guibert <alguibert+bts@free.fr>.
52493
52494 2008-04-15  Bruno Haible  <bruno@clisp.org>
52495
52496         * modules/mathl (configure.ac): Define module indicator.
52497
52498 2008-04-15  Bruno Haible  <bruno@clisp.org>
52499
52500         * lib/logl.c (logl): Remove unused variables.
52501
52502 2008-04-15  Bruno Haible  <bruno@clisp.org>
52503
52504         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
52505         fails.
52506
52507 2008-04-15  Bruno Haible  <bruno@clisp.org>
52508
52509         * lib/trim.c (trim2): Fix argument of isspace() macro.
52510
52511 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
52512
52513         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
52514         to 0.
52515         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
52516
52517 2008-04-14  Bruno Haible  <bruno@clisp.org>
52518
52519         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
52520         AC_LANG_PROGRAM argument.
52521         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
52522         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
52523         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
52524         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
52525         * m4/math_h.m4 (gl_MATH_H): Likewise.
52526         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
52527         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
52528         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
52529         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
52530         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
52531         * m4/regex.m4 (gl_REGEX): Likewise.
52532         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
52533         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
52534         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52535         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
52536         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
52537         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
52538         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
52539         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
52540
52541 2008-04-14  Jim Meyering  <meyering@redhat.com>
52542
52543         test-strtod: fix typos: s/abs/fabs/
52544         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
52545
52546 2008-04-13  Bruno Haible  <bruno@clisp.org>
52547
52548         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
52549         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
52550         module is also used and while not building the reloc-wrapper.
52551
52552 2008-04-13  Bruno Haible  <bruno@clisp.org>
52553
52554         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
52555
52556 2008-04-13  Bruno Haible  <bruno@clisp.org>
52557
52558         Fix AIX compilation failure introduced on 2008-04-02.
52559         * tests/test-frexp.c (exp): Undefine before redefining.
52560         * tests/test-frexpl.c (exp): Likewise.
52561
52562 2008-04-13  Bruno Haible  <bruno@clisp.org>
52563
52564         Work around a HP-UX stdio bug.
52565         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
52566         * tests/test-ftello.c (main): Likewise.
52567         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
52568         * doc/posix-functions/ftello.texi: Likewise.
52569
52570 2008-04-13  Bruno Haible  <bruno@clisp.org>
52571
52572         Make test-signbit pass on HP-UX/hppa.
52573         * tests/test-signbit.c (minus_zerol): New variable.
52574         (test_signbitl): Use it.
52575
52576 2008-04-13  Bruno Haible  <bruno@clisp.org>
52577
52578         Make truncl work on OSF/1 4.0.
52579         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
52580         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
52581         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
52582         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
52583         HAVE_DECL_TRUNCL.
52584         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
52585         HAVE_DECL_TRUNCL.
52586         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
52587
52588 2008-04-13  Bruno Haible  <bruno@clisp.org>
52589
52590         * lib/unictype.h: Remove trailing comma from enumeration definitions.
52591
52592 2008-04-13  Bruno Haible  <bruno@clisp.org>
52593
52594         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
52595         expression, so as to avoid HP-UX 11 cc compiler bug.
52596
52597 2008-04-13  Bruno Haible  <bruno@clisp.org>
52598
52599         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
52600
52601 2008-04-13  Bruno Haible  <bruno@clisp.org>
52602
52603         * lib/git-merge-changelog.c: Remove empty declaration outside of
52604         functions.
52605
52606 2008-04-13  Bruno Haible  <bruno@clisp.org>
52607
52608         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
52609
52610 2008-04-13  Bruno Haible  <bruno@clisp.org>
52611
52612         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
52613         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
52614         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
52615         also if it exists but lacks definitions of the SHUT_* macros.
52616         * modules/sys_socket (Description): Update.
52617         Reported by Elbert Pol <e.pol@chello.nl>.
52618
52619 2008-04-13  Bruno Haible  <bruno@clisp.org>
52620
52621         * lib/localcharset.c (OS2): Don't redefine if already defined.
52622         Reported by Elbert Pol <e.pol@chello.nl>.
52623
52624 2008-04-13  Bruno Haible  <bruno@clisp.org>
52625
52626         * lib/binary-io.h [__EMX__]: Include <io.h>.
52627         Reported by Elbert Pol <e.pol@chello.nl>.
52628
52629 2008-04-12  Bruno Haible  <bruno@clisp.org>
52630
52631         * lib/fpucw.h: Enable the definitions also for x86_64.
52632         Needed for NetBSD/x86_64.
52633         Reported by Thomas Klausner <tk@giga.or.at>.
52634
52635 2008-04-12  Bruno Haible  <bruno@clisp.org>
52636
52637         * tests/test-strtod.c: Include isnand.h.
52638         (main): Use isnand instead of isnan.
52639         Reported by Jim Meyering.
52640
52641 2008-04-12  Bruno Haible  <bruno@clisp.org>
52642
52643         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
52644         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
52645
52646 2008-04-12  Jim Meyering  <meyering@redhat.com>
52647
52648         * m4/math_h.m4 (gl_MATH_H): Fix typos.
52649
52650 2008-04-12  Bruno Haible  <bruno@clisp.org>
52651
52652         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
52653         Reported by Elbert Pol <e.pol@chello.nl>.
52654
52655 2008-04-12  Eric Blake  <ebb9@byu.net>
52656
52657         Work around Solaris 10 math.h bug.
52658         * m4/math_h.m4 (gl_MATH_H): Check for bug.
52659         (gl_MATH_H_DEFAULTS): Set up default.
52660         * modules/math (Makefile.am): Replace new indicators.
52661         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
52662         * tests/test-math.c (main): Test this.
52663         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
52664         * doc/posix-headers/math.texi (math.h): Mention bug.
52665         Reported by Nelson H. F. Beebe and Jim Meyering.
52666
52667 2008-04-11  Bruno Haible  <bruno@clisp.org>
52668
52669         Adapt to future versions of Apple GCC.
52670         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
52671         Reported by Peter O'Gorman <peter@pogma.com>.
52672
52673 2008-04-11  Bruno Haible  <bruno@clisp.org>
52674
52675         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
52676
52677 2008-04-11  Bruno Haible  <bruno@clisp.org>
52678
52679         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
52680
52681         * modules/getaddrinfo-tests (Makefile.am): Define
52682         test_getaddrinfo_LDADD.
52683
52684 2008-04-11  Bruno Haible  <bruno@clisp.org>
52685
52686         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
52687         (init): Fix syntax error.
52688         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
52689         is declared.
52690
52691 2008-04-11  Bruno Haible  <bruno@clisp.org>
52692
52693         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
52694         * modules/glob (Depends-on): Add stdbool.
52695
52696 2008-04-11  Bruno Haible  <bruno@clisp.org>
52697
52698         * lib/trim.c: Include <string.h>.
52699
52700 2008-04-11  Eric Blake  <ebb9@byu.net>
52701
52702         Avoid compile failure on OS/2.
52703         * lib/regex_internal.h (internal_function): Disable optimization
52704         on OS/2 (__EMX__), where it caused compiler error.
52705         Reported by Elbert Pol.
52706
52707 2008-04-11  Bruno Haible  <bruno@clisp.org>
52708
52709         Flush the standard error stream before aborting. Needed on mingw.
52710         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
52711         * tests/test-array_list.c (ASSERT): Likewise.
52712         * tests/test-array_oset.c (ASSERT): Likewise.
52713         * tests/test-avltree_list.c (ASSERT): Likewise.
52714         * tests/test-avltree_oset.c (ASSERT): Likewise.
52715         * tests/test-avltreehash_list.c (ASSERT): Likewise.
52716         * tests/test-binary-io.c (ASSERT): Likewise.
52717         * tests/test-byteswap.c (ASSERT): Likewise.
52718         * tests/test-c-ctype.c (ASSERT): Likewise.
52719         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
52720         * tests/test-c-strcasestr.c (ASSERT): Likewise.
52721         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
52722         * tests/test-c-strstr.c (ASSERT): Likewise.
52723         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
52724         * tests/test-canonicalize.c (ASSERT): Likewise.
52725         * tests/test-carray_list.c (ASSERT): Likewise.
52726         * tests/test-ceilf1.c (ASSERT): Likewise.
52727         * tests/test-ceilf2.c (ASSERT): Likewise.
52728         * tests/test-ceill.c (ASSERT): Likewise.
52729         * tests/test-count-one-bits.c (ASSERT): Likewise.
52730         * tests/test-fbufmode.c (ASSERT): Likewise.
52731         * tests/test-fflush2.c (ASSERT): Likewise.
52732         * tests/test-floorf1.c (ASSERT): Likewise.
52733         * tests/test-floorf2.c (ASSERT): Likewise.
52734         * tests/test-floorl.c (ASSERT): Likewise.
52735         * tests/test-fopen.c (ASSERT): Likewise.
52736         * tests/test-fpending.c (ASSERT): Likewise.
52737         * tests/test-fprintf-posix.c (ASSERT): Likewise.
52738         * tests/test-fpurge.c (ASSERT): Likewise.
52739         * tests/test-freadable.c (ASSERT): Likewise.
52740         * tests/test-freadahead.c (ASSERT): Likewise.
52741         * tests/test-freading.c (ASSERT): Likewise.
52742         * tests/test-freadptr.c (ASSERT): Likewise.
52743         * tests/test-freadptr2.c (ASSERT): Likewise.
52744         * tests/test-freadseek.c (ASSERT): Likewise.
52745         * tests/test-freopen.c (ASSERT): Likewise.
52746         * tests/test-frexp.c (ASSERT): Likewise.
52747         * tests/test-frexpl.c (ASSERT): Likewise.
52748         * tests/test-fseek.c (ASSERT): Likewise.
52749         * tests/test-fseeko.c (ASSERT): Likewise.
52750         * tests/test-fstrcmp.c (ASSERT): Likewise.
52751         * tests/test-ftell.c (ASSERT): Likewise.
52752         * tests/test-ftello.c (ASSERT): Likewise.
52753         * tests/test-func.c (ASSERT): Likewise.
52754         * tests/test-fwritable.c (ASSERT): Likewise.
52755         * tests/test-fwriting.c (ASSERT): Likewise.
52756         * tests/test-getdelim.c (ASSERT): Likewise.
52757         * tests/test-getline.c (ASSERT): Likewise.
52758         * tests/test-i-ring.c (ASSERT): Likewise.
52759         * tests/test-iconv-utf.c (ASSERT): Likewise.
52760         * tests/test-iconv.c (ASSERT): Likewise.
52761         * tests/test-isfinite.c (ASSERT): Likewise.
52762         * tests/test-isnand.c (ASSERT): Likewise.
52763         * tests/test-isnanf.c (ASSERT): Likewise.
52764         * tests/test-isnanl.h (ASSERT): Likewise.
52765         * tests/test-ldexpl.c (ASSERT): Likewise.
52766         * tests/test-linked_list.c (ASSERT): Likewise.
52767         * tests/test-linkedhash_list.c (ASSERT): Likewise.
52768         * tests/test-localename.c (ASSERT): Likewise.
52769         * tests/test-lseek.c (ASSERT): Likewise.
52770         * tests/test-mbscasecmp.c (ASSERT): Likewise.
52771         * tests/test-mbscasestr1.c (ASSERT): Likewise.
52772         * tests/test-mbscasestr2.c (ASSERT): Likewise.
52773         * tests/test-mbscasestr3.c (ASSERT): Likewise.
52774         * tests/test-mbscasestr4.c (ASSERT): Likewise.
52775         * tests/test-mbschr.c (ASSERT): Likewise.
52776         * tests/test-mbscspn.c (ASSERT): Likewise.
52777         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
52778         * tests/test-mbspbrk.c (ASSERT): Likewise.
52779         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
52780         * tests/test-mbsrchr.c (ASSERT): Likewise.
52781         * tests/test-mbsspn.c (ASSERT): Likewise.
52782         * tests/test-mbsstr1.c (ASSERT): Likewise.
52783         * tests/test-mbsstr2.c (ASSERT): Likewise.
52784         * tests/test-mbsstr3.c (ASSERT): Likewise.
52785         * tests/test-memchr2.c (ASSERT): Likewise.
52786         * tests/test-memmem.c (ASSERT): Likewise.
52787         * tests/test-open.c (ASSERT): Likewise.
52788         * tests/test-printf-frexp.c (ASSERT): Likewise.
52789         * tests/test-printf-frexpl.c (ASSERT): Likewise.
52790         * tests/test-printf-posix.c (ASSERT): Likewise.
52791         * tests/test-quotearg.c (ASSERT): Likewise.
52792         * tests/test-rbtree_list.c (ASSERT): Likewise.
52793         * tests/test-rbtree_oset.c (ASSERT): Likewise.
52794         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
52795         * tests/test-round1.c (ASSERT): Likewise.
52796         * tests/test-roundf1.c (ASSERT): Likewise.
52797         * tests/test-roundl.c (ASSERT): Likewise.
52798         * tests/test-signbit.c (ASSERT): Likewise.
52799         * tests/test-sleep.c (ASSERT): Likewise.
52800         * tests/test-snprintf-posix.c (ASSERT): Likewise.
52801         * tests/test-snprintf.c (ASSERT): Likewise.
52802         * tests/test-sprintf-posix.c (ASSERT): Likewise.
52803         * tests/test-stat-time.c (ASSERT): Likewise.
52804         * tests/test-strcasestr.c (ASSERT): Likewise.
52805         * tests/test-strerror.c (ASSERT): Likewise.
52806         * tests/test-striconv.c (ASSERT): Likewise.
52807         * tests/test-striconveh.c (ASSERT): Likewise.
52808         * tests/test-striconveha.c (ASSERT): Likewise.
52809         * tests/test-strsignal.c (ASSERT): Likewise.
52810         * tests/test-strstr.c (ASSERT): Likewise.
52811         * tests/test-strtod.c (ASSERT): Likewise.
52812         * tests/test-trunc1.c (ASSERT): Likewise.
52813         * tests/test-trunc2.c (ASSERT): Likewise.
52814         * tests/test-truncf1.c (ASSERT): Likewise.
52815         * tests/test-truncf2.c (ASSERT): Likewise.
52816         * tests/test-truncl.c (ASSERT): Likewise.
52817         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
52818         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
52819         * tests/test-vasnprintf.c (ASSERT): Likewise.
52820         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
52821         * tests/test-vasprintf.c (ASSERT): Likewise.
52822         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
52823         * tests/test-vprintf-posix.c (ASSERT): Likewise.
52824         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
52825         * tests/test-vsnprintf.c (ASSERT): Likewise.
52826         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
52827         * tests/test-wcwidth.c (ASSERT): Likewise.
52828         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
52829         * tests/test-xprintf-posix.c (ASSERT): Likewise.
52830         * tests/test-xvasprintf.c (ASSERT): Likewise.
52831         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
52832         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
52833         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
52834         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
52835         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
52836         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
52837         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
52838         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
52839         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
52840         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
52841         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
52842         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
52843         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
52844         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
52845         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
52846         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
52847         * tests/unictype/test-block_list.c (ASSERT): Likewise.
52848         * tests/unictype/test-block_of.c (ASSERT): Likewise.
52849         * tests/unictype/test-block_test.c (ASSERT): Likewise.
52850         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
52851         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
52852         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
52853         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
52854         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
52855         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
52856         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
52857         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
52858         * tests/unictype/test-combining.c (ASSERT): Likewise.
52859         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
52860         * tests/unictype/test-digit.c (ASSERT): Likewise.
52861         * tests/unictype/test-mirror.c (ASSERT): Likewise.
52862         * tests/unictype/test-numeric.c (ASSERT): Likewise.
52863         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
52864         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
52865         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
52866         * tests/unictype/test-scripts.c (ASSERT): Likewise.
52867         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
52868         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
52869         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
52870         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
52871         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
52872         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
52873         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
52874         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
52875         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
52876         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
52877         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
52878         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
52879         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
52880         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
52881         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
52882         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
52883         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
52884         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
52885         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
52886         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
52887         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
52888         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
52889         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
52890         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
52891         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
52892         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
52893         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
52894         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
52895         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
52896         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
52897         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
52898         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
52899         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
52900         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
52901         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
52902         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
52903         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
52904         Reported by Eric Blake.
52905
52906 2008-04-11  Bruno Haible  <bruno@clisp.org>
52907
52908         * lib/wchar.in.h: Tweak comment.
52909
52910 2008-04-11  Bruno Haible  <bruno@clisp.org>
52911
52912         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
52913         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
52914         gl_COMMON.
52915         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
52916
52917 2008-04-11  Bruno Haible  <bruno@clisp.org>
52918
52919         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
52920
52921 2008-04-11  Simon Josefsson  <simon@josefsson.org>
52922
52923         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
52924         of attempting to use non-existing /dev/*random.  Based on patch
52925         from Adam Strzelecki <ono@java.pl> in
52926         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
52927
52928 2008-04-08  Bruno Haible  <bruno@clisp.org>
52929
52930         Add tentative support for emx+gcc.
52931         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
52932         * lib/fpurge.c (fpurge): Likewise.
52933         * lib/freadable.c (freadable): Likewise.
52934         * lib/freadahead.c (freadahead): Likewise.
52935         * lib/freading.c (freading): Likewise.
52936         * lib/freadptr.c (freadptr): Likewise.
52937         * lib/freadseek.c (freadptrinc): Likewise.
52938         * lib/fseeko.c (rpl_fseeko): Likewise.
52939         * lib/fseterr.c (fseterr): Likewise.
52940         * lib/fwritable.c (fwritable): Likewise.
52941         * lib/fwriting.c (fwriting): Likewise.
52942         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
52943
52944 2008-04-09  Eric Blake  <ebb9@byu.net>
52945
52946         Avoid some autoconf warnings.
52947         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
52948         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
52949         * m4/afs.m4 (gl_AFS): Likewise.
52950         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
52951         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
52952         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
52953         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
52954         (gl_INTEGER_TYPE_SUFFIX): Likewise.
52955         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
52956         (AC_CHECK_DECLS_ONCE): Likewise.
52957         Rename file...
52958         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
52959         gnulib-tool requires autoconf 2.59 or better.
52960         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
52961
52962 2008-04-08  Eric Blake  <ebb9@byu.net>
52963
52964         Use 'git describe --match' if present (added in git 1.5.5).
52965         * build-aux/git-version-gen: Limit result to tags that match 'v*'
52966         if possible.
52967
52968 2008-04-08  Bruno Haible  <bruno@clisp.org>
52969
52970         Add tentative support for OpenServer.
52971         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
52972         _ptr, _cnt.
52973         * lib/fpurge.c (fpurge): Likewise.
52974         * lib/freadable.c (freadable): Likewise.
52975         * lib/freadahead.c (freadahead): Likewise.
52976         * lib/freading.c (freading): Likewise.
52977         * lib/freadptr.c (freadptr): Likewise.
52978         * lib/freadseek.c (freadptrinc): Likewise.
52979         * lib/fseeko.c (rpl_fseeko): Likewise.
52980         * lib/fseterr.c (fseterr): Likewise.
52981         * lib/fwritable.c (fwritable): Likewise.
52982         * lib/fwriting.c (fwriting): Likewise.
52983         Reported by Roger Cornelius <rac@tenzing.org> and
52984         Brian K. White <brian@aljex.com>.
52985
52986 2008-04-06  Jim Meyering  <meyering@redhat.com>
52987
52988         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
52989
52990 2008-04-06  Bruno Haible  <bruno@clisp.org>
52991
52992         Avoid possible error with non-ASCII bytes in UTF-8 locales.
52993         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
52994         * tests/test-printf-posix.sh: Likewise.
52995         * tests/test-vfprintf-posix.sh: Likewise.
52996         * tests/test-vprintf-posix.sh: Likewise.
52997         * tests/test-xprintf-posix.sh: Likewise.
52998
52999 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53000
53001         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
53002         hide error from 'ls', needed on OS/2.
53003         Report by Elbert Pol <elbert.pol@gmail.com>.
53004
53005 2008-04-04  Eric Blake  <ebb9@byu.net>
53006
53007         Make test-fseeko.c failures meaningful.
53008         * tests/test-fseeko.c: Print line number on failure.
53009         * tests/test-fseek.c: Likewise.
53010         Reported by Nelson H. F. Beebe.
53011
53012         Improve strtod bug detection check.
53013         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
53014         required for Solaris 10.
53015         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
53016
53017 2008-04-04  Bruno Haible  <bruno@clisp.org>
53018
53019         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
53020         by m4/setenv.m4.
53021
53022 2008-04-03  Eric Blake  <ebb9@byu.net>
53023
53024         Ensure sane .version contents.
53025         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
53026         version string.
53027         * build-aux/git-version-gen: Improve documentation.
53028
53029         Make GNU make output nicer.
53030         * top/GNUmakefile [!_have-Makefile]: Add dependency on
53031         MAKECMDGOALS to enforce message for all command line targets.  Set
53032         srcdir for use in maint.mk.
53033
53034         Another maintainer tweak.
53035         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
53036         a target that regenerates version.
53037
53038 2008-04-03  Jim Meyering  <meyering@redhat.com>
53039
53040         vc-list-files: don't cause coreutils "make po-check" failure
53041         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
53042
53043 2008-04-03  Eric Blake  <ebb9@byu.net>
53044
53045         Allow VPATH usage of vc-list-files.
53046         * build-aux/vc-list-files (scriptversion): Add timestamp.
53047         (options): Add --help, --version, -C.
53048         (CVS): Support installed cvsu.
53049
53050 2008-04-02  Bruno Haible  <bruno@clisp.org>
53051
53052         Avoid some "statement with no effect" warnings from gcc.
53053         * tests/test-wctype.c (main): Explicitly ignore unused values.
53054         Reported by Jim Meyering.
53055
53056 2008-04-02  Jim Meyering  <meyering@redhat.com>
53057
53058         Avoid some warnings from "gcc -Wshadow".
53059         * tests/test-frexp.c (exp): Define to a different identifier.
53060         * tests/test-frexpl.c (exp): Likewise.
53061
53062 2008-04-03  Jim Meyering  <meyering@redhat.com>
53063
53064         bootstrap: remove dangling *.[ch] symlinks from lib
53065         * build-aux/bootstrap [dangling symlink removal]: Move find's
53066         -depth option to precede all others, to avoid a warning.
53067         Remove *.[ch] files too, and from "$source_base" (usually lib/).
53068
53069 2008-04-02  Bruno Haible  <bruno@clisp.org>
53070
53071         Avoid some warnings from "gcc -Wshadow".
53072         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
53073         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
53074         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
53075         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
53076         Reported by Jim Meyering.
53077
53078 2008-04-01  Bruno Haible  <bruno@clisp.org>
53079
53080         Fix test to work on IRIX 6.5 with cc.
53081         * tests/test-math.c (numeric_equal): New function.
53082         (main): Use it.
53083
53084 2008-04-01  Bruno Haible  <bruno@clisp.org>
53085
53086         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
53087
53088 2008-04-01  Bruno Haible  <bruno@clisp.org>
53089
53090         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
53091         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53092         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
53093         (Depends-on): Remove math.
53094
53095         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
53096         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53097         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
53098         (Depends-on): Remove math.
53099
53100         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
53101         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53102         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
53103         (Depends-on): Remove math.
53104         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
53105         (Depends-on): Remove math.
53106
53107         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
53108         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53109         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
53110         (Depends-on): Remove math.
53111         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
53112         (Depends-on): Remove math.
53113
53114         * tests/test-round1.c: Include nan.h.
53115         (main): Use NaNd instead of NAN.
53116         * modules/round-tests (Files): Add tests/nan.h.
53117
53118         * tests/test-trunc1.c: Include nan.h.
53119         (main): Use NaNd instead of NAN.
53120         * modules/trunc-tests (Files): Add tests/nan.h.
53121
53122         * tests/test-roundf1.c: Include nan.h.
53123         (main): Use NaNf instead of NAN.
53124         * modules/roundf-tests (Files): Add tests/nan.h.
53125
53126         * tests/test-truncf1.c: Include nan.h.
53127         (main): Use NaNf instead of NAN.
53128         * modules/truncf-tests (Files): Add tests/nan.h.
53129
53130         * tests/test-ceilf1.c: Include nan.h.
53131         (main): Use NaNf instead of NAN.
53132         * modules/ceilf-tests (Files): Add tests/nan.h.
53133
53134         * tests/test-floorf1.c: Include nan.h.
53135         (main): Use NaNf instead of NAN.
53136         * modules/floorf-tests (Files): Add tests/nan.h.
53137
53138         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
53139         (main): Use NaNf instead of NAN.
53140         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
53141
53142         * tests/test-isnand.c: Include nan.h instead of <math.h>.
53143         (main): Use NaNd instead of NAN.
53144         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
53145
53146         * tests/test-frexp.c: Include nan.h.
53147         (main): Use NaNd instead of NAN.
53148         * modules/frexp-tests (Files): Add tests/nan.h.
53149
53150         * lib/isnan.c: Don't include <math.h>.
53151         (FUNC): Don't use NAN macro.
53152         * modules/isnand-nolibm (Depends-on): Remove math.
53153         * modules/isnanf-nolibm (Depends-on): Remove math.
53154         * modules/isnanl (Depends-on): Remove math.
53155         * modules/isnanl-nolibm (Depends-on): Remove math.
53156
53157         * tests/nan.h: New file.
53158
53159 2008-04-01  Eric Blake  <ebb9@byu.net>
53160
53161         Fix typos.
53162         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
53163         values to be the right type.
53164
53165         For now, cater to gnulib strtod inaccuracies.
53166         * tests/test-strtod.c (main): Allow 1-ulp error on expected
53167         fractional results.  While not as nice from a QoI perspective, it
53168         is a quicker patch than correctly implementing decimal to binary
53169         rounding.
53170
53171 2008-03-31  Eric Blake  <ebb9@byu.net>
53172
53173         Guarantee a definition of NAN.
53174         * lib/math.in.h (NAN): Define if missing.
53175         * tests/test-math.c (main): Test it.
53176         * doc/posix-headers/math.texi (math.h): Document this.
53177         * lib/isnan.c (rpl_isnand): Use it.
53178         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
53179         * tests/test-floorf1.c (NaN): Likewise.
53180         * tests/test-frexp.c (NaN): Likewise.
53181         * tests/test-isnand.c (NaN): Likewise.
53182         * tests/test-isnanf.c (NaN): Likewise.
53183         * tests/test-round1.c (NaN): Likewise.
53184         * tests/test-roundf1.c (NaN): Likewise.
53185         * tests/test-snprintf-posix.h (NaN): Likewise.
53186         * tests/test-sprintf-posix.h (NaN): Likewise.
53187         * tests/test-trunc1.c (NaN): Likewise.
53188         * tests/test-truncf1.c (NaN): Likewise.
53189         * tests/test-vasnprintf-posix.c (NaN): Likewise.
53190         * tests/test-vasprintf-posix.c (NaN): Likewise.
53191         * modules/isnand-nolibm (Depends-on): Add math.
53192         * modules/isnanf-nolibm (Depends-on): Likewise.
53193         * modules/isnanl (Depends-on): Likewise.
53194         * modules/isnanl-nolibm (Depends-on): Likewise.
53195         * modules/snprintf-posix-tests (Depends-on): Likewise.
53196         * modules/sprintf-posix-tests (Depends-on): Likewise.
53197         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
53198         * modules/vsprintf-posix-tests (Depends-on): Likewise.
53199         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
53200         * modules/vasprintf-posix-tests (Depends-on): Likewise.
53201
53202 2008-03-31  Bruno Haible  <bruno@clisp.org>
53203
53204         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
53205         * doc/posix-functions/strtod.texi: Likewise.
53206
53207 2008-03-31  Bruno Haible  <bruno@clisp.org>
53208
53209         * tests/test-strtod.c (main): Don't use C99 syntax.
53210
53211 2008-03-31  Bruno Haible  <bruno@clisp.org>
53212
53213         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
53214         Reported by Eric Blake.
53215
53216 2008-03-31  Jim Meyering  <meyering@redhat.com>
53217
53218         Don't compare actual signbit return values.
53219         * tests/test-strtod.c (main): Rather, compare only their
53220         zero/non-zero nature.
53221
53222 2008-03-31  Eric Blake  <ebb9@byu.net>
53223
53224         More strtod documentation.
53225         * doc/posix-functions/strtod.texi (strtod): Interpret more test
53226         failures as distinct bugs.
53227
53228 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
53229
53230         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
53231         Problem reported by Erik Benada in
53232         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
53233
53234 2008-03-30  Bruno Haible  <bruno@clisp.org>
53235
53236         * tests/test-strtod.c: Add comments about which assertion fails on which
53237         platform.
53238         * doc/posix-functions/strtod.texi: Add info about many more platforms.
53239
53240 2008-03-30  Eric Blake  <ebb9@byu.net>
53241
53242         Test signbit behavior on zeros.
53243         * tests/test-signbit.c (test_signbitf): Add tests for zero.
53244         (test_signbitd, test_signbitl): Likewise.
53245
53246         More strtod touchups.
53247         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
53248         sign of negative underflow, for now.  Use .5, not .1.
53249         * doc/posix-functions/strtod.texi (strtod): Mention these
53250         limitations.
53251         Reported by Jim Meyering.
53252
53253 2008-03-30  Bruno Haible  <bruno@clisp.org>
53254
53255         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
53256         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
53257
53258 2008-03-30  Bruno Haible  <bruno@clisp.org>
53259
53260         Avoid failure when attempting to return empty iconv results on some
53261         platforms.
53262         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
53263         allocation, don't report ENOMEM when the resulting string is empty.
53264
53265 2008-03-30  Bruno Haible  <bruno@clisp.org>
53266
53267         Fix buffer overrun.
53268         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
53269         Don't consider the width for tmp_length. Check count against tmp_length
53270         before doing the padding. Ensure enough allocation during padding.
53271
53272 2008-03-30  Eric Blake  <ebb9@byu.net>
53273
53274         strtod touchups.
53275         * lib/strtod.c (strtod): Avoid compiler warnings.
53276         Reported by Jim Meyering.
53277
53278 2008-03-30  Bruno Haible  <bruno@clisp.org>
53279
53280         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
53281         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
53282         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
53283         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
53284         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
53285         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
53286         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
53287         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
53288
53289         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
53290         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
53291         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
53292         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
53293         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
53294         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
53295         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
53296         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
53297
53298         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
53299         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
53300         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
53301         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
53302         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
53303         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
53304         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
53305         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
53306
53307         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
53308         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
53309
53310         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
53311         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
53312
53313         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
53314         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
53315
53316         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
53317         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
53318         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
53319
53320         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
53321         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
53322         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
53323
53324         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
53325         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
53326         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
53327
53328         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
53329         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
53330         * modules/vasprintf (Depends-on): Add EOVERFLOW.
53331
53332         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
53333         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
53334         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
53335         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
53336         (Depends-on): Add EOVERFLOW.
53337         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
53338         (Depends-on): Add EOVERFLOW.
53339         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
53340         (Depends-on): Add EOVERFLOW.
53341         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
53342         (Depends-on): Add EOVERFLOW.
53343         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
53344         (Depends-on): Add EOVERFLOW.
53345         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
53346         (Depends-on): Add EOVERFLOW.
53347         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
53348         (Depends-on): Add EOVERFLOW.
53349         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
53350         (Depends-on): Add EOVERFLOW.
53351
53352         * lib/sprintf.c (EOVERFLOW): Remove fallback.
53353         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
53354         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
53355
53356         * lib/snprintf.c (EOVERFLOW): Remove fallback.
53357         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
53358         * modules/snprintf (Depends-on): Add EOVERFLOW.
53359
53360         * lib/poll.c (EOVERFLOW): Remove fallback.
53361         * modules/poll (Depends-on): Add EOVERFLOW.
53362
53363         * lib/getugroups.c (EOVERFLOW): Remove fallback.
53364         * modules/getugroups (Depends-on): Add EOVERFLOW.
53365
53366         * lib/getdelim.c (EOVERFLOW): Remove fallback.
53367         * modules/getdelim (Depends-on): Add EOVERFLOW.
53368
53369         * lib/ftell.c (EOVERFLOW): Remove fallback.
53370         * modules/ftell (Depends-on): Add EOVERFLOW.
53371
53372         * lib/fprintf.c (EOVERFLOW): Remove fallback.
53373         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
53374         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
53375
53376         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
53377
53378         * modules/EOVERFLOW-tests: New file.
53379         * tests/test-EOVERFLOW.c: New file.
53380
53381         * modules/EOVERFLOW: New file.
53382         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
53383
53384 2008-03-30  Bruno Haible  <bruno@clisp.org>
53385
53386         Fix bug introduced on 2007-06-10.
53387         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
53388         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
53389
53390 2008-03-30  Bruno Haible  <bruno@clisp.org>
53391
53392         Improve freadseek's efficiency after ungetc.
53393         * lib/freadseek.c: Include freadahead.h.
53394         (freadptrinc): New function, extracted from freadseek.
53395         (freadseek): Use it in a loop. Use freadahead to determine the number
53396         of loop iterations.
53397         * modules/freadseek (Depends-on): Add freadahead.
53398         (configure.ac): Require AC_C_INLINE.
53399
53400 2008-03-30  Bruno Haible  <bruno@clisp.org>
53401
53402         * lib/freadseek.c (freadseek): Don't ignore the return value of
53403         freadptr.
53404
53405 2008-03-29  Eric Blake  <ebb9@byu.net>
53406
53407         Add hex float support.
53408         * modules/strtod (Depends-on): Add c-ctype.
53409         (Link): Mention POW_LIB.
53410         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
53411         whitespace between 'e' and exponent.
53412         * tests/test-strtod.c (main): Enable hex float tests.
53413         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
53414         now provides.
53415
53416         Document various strtod bugs, with some fixes.
53417         * doc/posix-functions/strtod.texi (strtod): Document bugs with
53418         "-0x", "inf", "nan", and hex constants.
53419         * doc/posix-functions/atof.texi (atof): Likewise.
53420         * modules/stdlib (Makefile.am): Support strtod.
53421         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
53422         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
53423         detect additional strtod bugs.
53424         * lib/stdlib.in.h (rpl_strtod): Add declarations.
53425         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
53426         bool where appropriate.  Parse 'inf' and 'nan'.
53427         * tests/test-strtod.c: New file.
53428         * modules/strtod (Depends-on): Add stdbool, stdlib.
53429         (configure.ac): Turn on module indicator.
53430         * modules/strtod-tests: New module.
53431
53432 2008-03-29  Eric Blake  <ebb9@byu.net>
53433
53434         Fix ftell on mingw.
53435         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
53436         * modules/ftell-tests (Depends-on): Add binary-io.
53437         * modules/ftello-tests (Depends-on): Likewise.
53438         * tests/test-ftell.c (main): Enhance test to cover behavior after
53439         ungetc.  Enforce binary mode.
53440         * tests/test-ftello.c (main): Likewise.
53441
53442         Pass test-freadseek on cygwin.
53443         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
53444         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
53445         ungetc buffer.
53446
53447         * tests/test-fflush2.c (main): Fix typo.
53448
53449 2008-03-29  Bruno Haible  <bruno@clisp.org>
53450
53451         * tests/test-fflush2.c (main): Temporarily disable the contents of
53452         this test.
53453         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
53454         Reported by Eric Blake.
53455
53456 2008-03-28  Simon Josefsson  <simon@josefsson.org>
53457
53458         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
53459         (GC_SHA224_DIGEST_SIZE): Add.
53460
53461         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
53462         (gc_hash_digest_length): Likewise.
53463         (gc_hash_buffer): Likewise.
53464
53465 2008-03-25  Bruno Haible  <bruno@clisp.org>
53466
53467         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
53468         detail which gettext release to use.
53469         Reported by Simon Josefsson.
53470
53471 2008-03-26  Jim Meyering  <meyering@redhat.com>
53472
53473         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
53474         * modules/gnumakefile (clean-GNUmakefile): Also, use
53475         test ... && ... || : syntax rather than if-then ... fi.
53476
53477         gnumakefile: Don't double-quote-expand $(VPATH) value.
53478         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
53479
53480 2008-03-24  Eric Blake  <ebb9@byu.net>
53481
53482         Alter GNUmakefile to install into top directory.
53483         * modules/maintainer-makefile: Split, and add dependency...
53484         * modules/gnumakefile: to this new module.
53485         * build-aux/GNUmakefile: Move...
53486         * top/GNUmakefile: ...here.
53487         * build-aux/maint.mk: Move...
53488         * top/maint.mk: ...here.
53489         * MODULES.html.sh (Support for maintaining...): Document new
53490         module.
53491
53492 2008-03-23  Bruno Haible  <bruno@clisp.org>
53493
53494         * gnulib-tool: New options --vc-files, --no-vc-files.
53495         (func_usage): Document them.
53496         (vc_files): New variable.
53497         (func_import): Consider vc_files.
53498         (func_create_testdir): Set vc_files to empty.
53499         Suggested by Jim Meyering and Karl Berry.
53500
53501 2008-03-23  Bruno Haible  <bruno@clisp.org>
53502
53503         Fix regex compilation error on HP-UX 11.
53504         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
53505         * modules/regex (Files): Add m4/mbstate_t.m4.
53506         Reported by Ton Voon <ton.voon@altinity.com>.
53507
53508 2008-03-23  Bruno Haible  <bruno@clisp.org>
53509
53510         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
53511
53512 2008-03-23  Eric Blake  <ebb9@byu.net>
53513             Bruno Haible  <bruno@clisp.org>
53514
53515         Install files from top/ in the destination directory.
53516         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
53517         augmentation also for the files from top/.
53518         (func_import, func_create_testdir): Rewrite file names:
53519         top/filename -> filename.
53520
53521 2008-03-23  Bruno Haible  <bruno@clisp.org>
53522
53523         Tweak "gnulib --version" output.
53524         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
53525
53526 2008-03-23  Bruno Haible  <bruno@clisp.org>
53527
53528         Tweak "gnulib --version" output.
53529         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
53530         rather than contents of ChangeLog, when possible.
53531
53532 2008-03-21  Eric Blake  <ebb9@byu.net>
53533
53534         More --version tweaks.
53535         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
53536         date of last ChangeLog entry.
53537
53538 2008-03-21  Jim Meyering  <meyering@redhat.com>
53539
53540         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
53541
53542 2008-03-20  Eric Blake  <ebb9@byu.net>
53543
53544         VPATH fix.
53545         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
53546
53547 2008-03-20  Simon Josefsson  <simon@josefsson.org>
53548
53549         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
53550         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
53551
53552 2008-03-20  Eric Blake  <ebb9@byu.net>
53553
53554         Sync GNUmakefile with coreutils.
53555         * build-aux/GNUmakefile (have-Makefile): Rename...
53556         (_have-Makefile): ...to this, for namespace consideration.
53557         (GNUmakefile.cfg): Include, if present.
53558         (_autoreconf): Define a default.
53559         (_is-dist-target): New rule for rebuilds to pick up intra-release
53560         version.
53561         (maint-cfg.mk): Rename...
53562         (cfg.mk): ...to this.
53563
53564 2008-03-18  Jim Meyering  <meyering@redhat.com>
53565
53566         New script and module: mktempd
53567         * MODULES.html.sh (maint+release support): Add mktempd.
53568         * build-aux/mktempd: New file.
53569         * modules/mktempd: New file.
53570
53571 2008-03-15  Jim Meyering  <meyering@redhat.com>
53572
53573         Undo last change.
53574         * lib/sha1.c, lib/md5.c: 63 != ~63.
53575         Reported by Andreas Schwab.
53576
53577         sha1.c, md5.c: Hoist a redundant expression.
53578         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
53579         "ctx->buflen" only once, before calling *_process_block.
53580         * lib/md5.c (md5_process_bytes): Likewise.
53581
53582 2008-03-14  Eric Blake  <ebb9@byu.net>
53583
53584         Bump copyright year in files generated by gnulib-tool.
53585         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
53586         gnulib-tool, rather than hard-coding it.
53587
53588         Fix 'gnulib-tool --version' output to work with git.
53589         * gnulib-tool (func_gnulib_dir): New function, extracted from...
53590         (startup): ...here.
53591         (func_version): Use it to invoke git-version-gen, rather than
53592         relying on CVS keyword expansion.  Modernize wording.
53593         (cvsdatestamp, last_checkin_date, version): Kill unused
53594         variables.
53595
53596 2008-03-12  Jim Meyering  <meyering@redhat.com>
53597
53598         Recognize optional cast of the argument to free.
53599         * build-aux/useless-if-before-free: Update regexps.
53600
53601         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
53602
53603 2008-03-11  Bruno Haible  <bruno@clisp.org>
53604
53605         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
53606         by a single package.
53607         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
53608         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
53609         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
53610         Reported by Sam Steingold <sds@gnu.org>.
53611
53612 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
53613
53614         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
53615         repositories.
53616
53617 2008-03-11  Bruno Haible  <bruno@clisp.org>
53618
53619         Avoid conflicts between local macro definitions.
53620         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
53621         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
53622
53623 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
53624             Bruno Haible  <bruno@clisp.org>
53625
53626         Make va_copy work with some version of xlc on AIX 5.1.
53627         * lib/stdarg.in.h: New file.
53628         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
53629         On AIX, use a <stdarg.h> file substitute.
53630         * modules/stdarg (Files): Add lib/stdarg.in.h.
53631         (Depends-on): Add include_next.
53632         (Makefile.am): Build a stdarg.h substitute if requested.
53633         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
53634
53635 2008-03-10  Bruno Haible  <bruno@clisp.org>
53636
53637         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
53638         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
53639         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
53640
53641 2008-03-10  Bruno Haible  <bruno@clisp.org>
53642
53643         * modules/stdlib (Depends-on): Add include_next, remove
53644         absolute-header.
53645
53646 2008-03-09  Bruno Haible  <bruno@clisp.org>
53647
53648         * lib/freadahead.h (freadahead): Document more precisely.
53649         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
53650         the sum of both buffer sizes.
53651         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
53652         * NEWS: Document the change.
53653
53654 2008-03-09  Bruno Haible  <bruno@clisp.org>
53655
53656         Extend freadptr to return also the buffer size.
53657         * lib/freadptr.h (freadptr): Add sizep argument.
53658         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
53659         (freadptr): Add sizep argument. Determine buffer size like freadahead
53660         does.
53661         * tests/test-freadptr.c: Don't include freadahead.h.
53662         (main): Adapt for new calling convention of freadptr.
53663         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
53664         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
53665         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
53666         tests/test-freadptr2.sh.
53667         (Depends): Remove freadahead.
53668         (TESTS): Add test-freadptr2.sh.
53669         (check_PROGRAMS): Add test-freadptr2.
53670
53671 2008-03-09  Bruno Haible  <bruno@clisp.org>
53672
53673         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
53674         Report and solution by Simon Josefsson.
53675
53676 2008-03-06  Bruno Haible  <bruno@clisp.org>
53677
53678         Make fflush after ungetc work on BSD platforms.
53679         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
53680         * tests/test-fflush2.c: New file.
53681         * tests/test-fflush2.sh: New file.
53682         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
53683         tests/test-fflush2.c.
53684         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
53685         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
53686
53687 2008-03-06  Eric Blake  <ebb9@byu.net>
53688
53689         Likewise for ftello.
53690         * modules/ftello (Dependencies): Add extensions.
53691         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
53692
53693 2008-03-06  Bruno Haible  <bruno@clisp.org>
53694
53695         * modules/fseeko (Dependencies): Add extensions.
53696         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
53697         Needed on glibc systems.
53698
53699 2008-03-06  Bruno Haible  <bruno@clisp.org>
53700
53701         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
53702         email address.
53703         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
53704
53705 2008-03-06  Bruno Haible  <bruno@clisp.org>
53706
53707         * users.txt: Add libgnupdf.
53708
53709 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
53710
53711         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
53712         (Header File Substitutes, Function Substitutes,
53713         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
53714         (Build robot for gnulib): Fix typo.
53715
53716 2008-03-06  Bruno Haible  <bruno@clisp.org>
53717
53718         * doc/gnulib-tool.texi (VCS Issues): Small updates.
53719         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
53720
53721 2008-03-06  Bruno Haible  <bruno@clisp.org>
53722
53723         * doc/func.texi: New file, extracted from doc/gnulib.texi.
53724         * doc/gnulib.texi: Include it.
53725
53726 2008-03-06  Simon Josefsson  <simon@josefsson.org>
53727
53728         * modules/func (License): Change license to unlimited; there was
53729         no LGPL parts in the module anyway.
53730
53731 2008-03-06  Simon Josefsson  <simon@josefsson.org>
53732
53733         * modules/__func__: Renamed to modules/func.
53734         * modules/__func__-tests: Renamed to modules/func-tests.
53735         * tests/test-__func__.c: Renamed to tests/test-func.c.
53736         * m4/__func__.m4: Renamed to m4/func.m4.
53737         * doc/gnulib.texi (__func__): Section renamed to func.
53738         Suggested by Eric Blake <ebb9@byu.net>.
53739
53740 2008-03-06  Simon Josefsson  <simon@josefsson.org>
53741
53742         * doc/gnulib.texi (__func__): Use C99 terminology when talking
53743         about __func__.  Make example self-contained.  Suggested by Eric
53744         Blake <ebb9@byu.net>.
53745
53746         * tests/test-__func__.c (main): Avoid extraneous () around __func.
53747         Suggested by Eric Blake <ebb9@byu.net>.
53748
53749 2008-03-06  Simon Josefsson  <simon@josefsson.org>
53750
53751         * modules/__func__: New file.
53752         * modules/__func__-tests: New file.
53753         * tests/test-__func__.c: New file.
53754         * m4/__func__.m4: New file.
53755         * doc/gnulib.texi (__func__): Document __func__ module.
53756
53757 2008-03-05  Simon Josefsson  <simon@josefsson.org>
53758
53759         * modules/byteswap (License): Re-license as LGPLv2+.
53760
53761 2008-03-05  Simon Josefsson  <simon@josefsson.org>
53762
53763         * doc/Makefile: Add pdf target.
53764
53765 2008-03-05  Simon Josefsson  <simon@josefsson.org>
53766
53767         * modules/inline (License): Use 'unlimited', since there are only
53768         *.m4 files in this module.
53769
53770 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
53771             Bruno Haible  <bruno@clisp.org>
53772
53773         Add support for HP C 7.1 on OpenVMS 8.3.
53774         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
53775
53776 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
53777
53778         Update VMS specifics.
53779         * lib/getopt.c [VMS]: Remove include of unixlib.h.
53780
53781 2008-03-02  Jim Meyering  <meyering@redhat.com>
53782
53783         Remove the last dependency on the "free" module.
53784         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
53785         Reported by Bob Proulx.
53786
53787         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
53788
53789         Remove useless "if" tests before free.  Deprecate "free" module.
53790         * doc/posix-functions/free.texi: Mention that this
53791         module is no longer useful.
53792         * modules/free (Notice): Say this module is obsolete.
53793         * modules/readutmp (Depends-on): Remove free.
53794         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
53795         * lib/putenv.c (putenv): Likewise.
53796         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
53797         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
53798         * tests/test-c-strcasestr.c (main): Likewise.
53799         * tests/test-c-strstr.c (main): Likewise.
53800         * tests/test-mbscasestr1.c (main): Likewise.
53801         * tests/test-mbscasestr2.c (main): Likewise.
53802         * tests/test-mbsstr1.c (main): Likewise.
53803         * tests/test-mbsstr2.c (main): Likewise.
53804         * tests/test-memmem.c (main): Likewise.
53805         * tests/test-strcasestr.c (main): Likewise.
53806         * tests/test-striconv.c (main): Likewise.
53807         * tests/test-striconveh.c (main): Likewise.
53808         * tests/test-striconveha.c (main): Likewise.
53809         * tests/test-strstr.c (main): Likewise.
53810
53811         * build-aux/git-version-gen: Adjust a comment and the Usage string.
53812
53813         bootstrap: sync from coreutils again
53814         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
53815
53816 2008-03-01  Jim Meyering  <meyering@redhat.com>
53817
53818         bootstrap: sync from coreutils
53819         * build-aux/bootstrap (update_po_files): Copy a .po file into place
53820         also when the target doesn't exist.
53821
53822 2008-03-01  Eric Blake  <ebb9@byu.net>
53823
53824         Fix bugs in last patch.
53825         * lib/memchr2.c (memchr2): Fix typo.
53826         * tests/test-memchr2.c: Test previous bug, and don't use GNU
53827         extension.
53828         Reported by Bruce Korb.
53829
53830         New module 'memchr2'.
53831         * modules/memchr2: New file.
53832         * modules/memchr2-tests: Likewise.
53833         * lib/memchr2.h: Likewise.
53834         * lib/memchr2.c: Likewise, based on memchr.c.
53835         * tests/test-memchr2.c: New test.
53836         * MODULES.html.sh (String handling): Add memchr2.
53837
53838 2008-02-29  Bruno Haible  <bruno@clisp.org>
53839
53840         * modules/freadseek-tests: New file.
53841         * tests/test-freadseek.sh: New file.
53842         * tests/test-freadseek.c: New file.
53843
53844         New module 'freadseek'.
53845         * modules/freadseek: New file.
53846         * lib/freadseek.h: New file.
53847         * lib/freadseek.c: New file.
53848         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
53849
53850 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
53851
53852         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
53853         wydawca.
53854
53855         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
53856         program_invocation_name and program_invocation_short_name are
53857         present.
53858
53859 2008-02-28  Bruno Haible  <bruno@clisp.org>
53860
53861         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
53862         * tests/test-freadptr.sh: Also test non-seekable stdin.
53863
53864 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
53865
53866         * build-aux/bootstrap (source_base, m4_base)
53867         (doc_base, tests_base): New variables.
53868         (gnulib_tool_options): Do not hardcode base directories, use
53869         the above variables instead.
53870
53871 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
53872
53873         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
53874
53875 2008-02-28  Bruno Haible  <bruno@clisp.org>
53876
53877         * modules/freadptr-tests: New file.
53878         * tests/test-freadptr.sh: New file.
53879         * tests/test-freadptr.c: New file.
53880
53881         New module 'freadptr'.
53882         * modules/freadptr: New file.
53883         * lib/freadptr.h: New file.
53884         * lib/freadptr.c: New file.
53885         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
53886
53887 2008-02-26  Karl Berry  <karl@freefriends.org>
53888
53889         Sync from Libtool:
53890         * libltdl/argz.c (argz_add, argz_count): New functions.
53891         * libltdl/argz.in.h: Declare them.
53892         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
53893
53894 2008-02-22  Bruno Haible  <bruno@clisp.org>
53895
53896         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
53897         is a pointer type.  Needed for HP-UX 10.
53898         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
53899         * doc/posix-functions/gmtime_r.texi: Likewise.
53900         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
53901
53902 2008-02-24  Bruno Haible  <bruno@clisp.org>
53903
53904         * modules/environ-tests: New file.
53905         * tests/test-environ.c: New file.
53906
53907         New module 'environ'.
53908         * modules/environ: New file.
53909         * lib/unistd.in.h (environ): New declaration.
53910         * m4/environ.m4: New file.
53911         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
53912         after use.
53913         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
53914         HAVE_DECL_ENVIRON.
53915         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
53916         HAVE_DECL_ENVIRON.
53917         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
53918         wrong claim that 'environ' is missing on some systems.
53919         * modules/execute (Depends-on): Add environ.
53920         * lib/execute.c (environ): Remove fallback declaration.
53921         * modules/pipe (Depends-on): Add environ.
53922         * lib/pipe.c (environ): Remove fallback declaration.
53923         * modules/setenv (Depends-on): Add environ.
53924         * lib/setenv.c (environ): Remove fallback declaration.
53925         * modules/unsetenv (Depends-on): Add environ.
53926         * lib/unsetenv.c (environ): Remove fallback declaration.
53927         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
53928         m4/environ.m4.
53929         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
53930         (gl_PREREQ_UNSETENV): Likewise.
53931
53932 2008-02-24  Bruno Haible  <bruno@clisp.org>
53933
53934         * doc/posix-functions/environ.texi: Document the MacOS X problem.
53935
53936 2008-02-20  Bob Proulx  <bob@proulx.com>
53937
53938         Enable use of older two part flavor 'git describe'.
53939         * build-aux/git-version-gen: If using the older two part flavor of
53940         git version then recreate the third part now present in the
53941         newer three part flavor of git describe.
53942
53943 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
53944
53945         * lib/fts.c (fts_build): Typo correction to comment.
53946
53947 2008-02-17  Bruno Haible  <bruno@clisp.org>
53948
53949         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
53950         generating no-op conflicts.
53951
53952 2008-02-17  Bruno Haible  <bruno@clisp.org>
53953
53954         Speed up by 10%.
53955         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
53956         result_entries, rather than an index-based loop.
53957
53958 2008-02-17  Bruno Haible  <bruno@clisp.org>
53959
53960         Speed up by 25%.
53961         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
53962         'hashcode_cached'.
53963         (entry_create): New function.
53964         (entry_hashcode): Use the cached hashcode if possible.
53965         (read_changelog_file, try_split_merged_entry): Use entry_create.
53966
53967 2008-02-17  Bruno Haible  <bruno@clisp.org>
53968
53969         Speed up from O(n^2) to O(n) for long ChangeLog files.
53970         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
53971         (read_changelog_file): Change implementation of entries_reversed list
53972         to rbtreehash.
53973         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
53974
53975 2008-02-17  Bruno Haible  <bruno@clisp.org>
53976
53977         New option --split-merged-entry.
53978         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
53979         (find_paragraph_end, try_split_merged_entry): New functions.
53980         (long_options): Add option --split-merged-entry.
53981         (usage): Document option --split-merged-entry.
53982         (main): Implement option --split-merged-entry.
53983         Reported by Eric Blake.
53984
53985 2008-02-17  Bruno Haible  <bruno@clisp.org>
53986
53987         * lib/git-merge-changelog.c: Include c-strstr.h.
53988         (main): Support the "git pull --rebase" situation.
53989         * modules/git-merge-changelog (Depends-on): Add c-strstr.
53990         Reported by Eric Blake.
53991
53992 2008-02-16  Eric Blake  <ebb9@byu.net>
53993
53994         Avoid doubling \ in common case of "c-maybe" quoting style.
53995         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
53996         eliding outer quotes.
53997         * lib/quotearg.h: Document this.
53998         * tests/test-quotearg.c (result_strings, inputs, results_g)
53999         (flag_results, locale_results): Test it by adding a new string to
54000         each test group.
54001         (compare_strings): Test new string.
54002
54003 2008-02-13  Eric Blake  <ebb9@byu.net>
54004
54005         Avoid trigraph quoting in default output.
54006         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
54007         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
54008         unless explicitly requested.
54009         * tests/test-quotearg.c (flag_results, main): Add additional tests.
54010
54011 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
54012
54013         Don't rely on signed integer overflowing to negative value.
54014         * lib/getugroups.c (getugroups): Include <limits.h>.
54015         Instead, compare against INT_MAX, and increment only if the test passes.
54016
54017 2008-02-13  Jim Meyering  <meyering@redhat.com>
54018         and Eric Blake  <ebb9@byu.net>
54019
54020         Avoid shadowing warning and compile errors on Linux.
54021         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
54022         forwarding macros on Linux.
54023         (dcgettext): Define a stub, for Linux.
54024         (results_g, main): Avoid warnings.
54025
54026 2008-02-12  Eric Blake  <ebb9@byu.net>
54027
54028         Silence warning in last patch.
54029         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
54030
54031         Quotearg part 4: add tests, fix c-maybe colon quoting.
54032         * lib/quotearg.h: Improve documentation.
54033         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
54034         escapes when adding outer quotes.  When quoting trigraphs, use
54035         valid C notation.  When quoting NUL, omit extra characters if next
54036         character is not digit.  Alter prototype.
54037         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
54038         callers.
54039         * modules/quotearg-tests: New module.
54040         * tests/test-quotearg.c: New test.
54041
54042 2008-02-07  Eric Blake  <ebb9@byu.net>
54043
54044         Quotearg part 3: add flag to control outer quote elision.
54045         * lib/quotearg.h (c_maybe_quoting_style): New style.
54046         (enum quoting_flags): Better documentation of flags.
54047         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
54048         c-maybe style.
54049         (quotearg_buffer_restyled): Handle new flag to elide outer
54050         quotes.
54051
54052         Quotearg part 2: add flag that can control NUL elision.
54053         * lib/quotearg.h (set_quoting_flags): New prototype.
54054         * lib/quotearg.c (struct quoting_options): Add flag field.
54055         (set_quoting_flags): New function.
54056         (quotearg_buffer_restyled): Add flags parameter.
54057         (quotearg_alloc_mem): Set the flag if length cannot be returned.
54058         (quotearg_n_options): Set the flag, since length cannot be
54059         returned.
54060         (quoting_options_from_style): Default flags correctly.
54061
54062         Quotearg part 1: more wrappers, restore quotearg_char state.
54063         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
54064         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
54065         (quotearg_colon_mem): New wrappers.
54066         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
54067         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
54068         functions.
54069         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
54070         (quotearg_colon_mem): New functions.
54071
54072 2008-02-11  Bruno Haible  <bruno@clisp.org>
54073
54074         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
54075         library in the current directory: it does not work with parallel make.
54076         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54077
54078 2008-02-11  Bruno Haible  <bruno@clisp.org>
54079
54080         * .gitattributes: New file.
54081
54082 2008-02-11  Jim Meyering  <meyering@redhat.com>
54083
54084         useless-if-before-free: Fix reversed exit values.
54085         * build-aux/useless-if-before-free: Use correct values
54086         for EXIT_MATCH and EXIT_NO_MATCH.
54087
54088         * build-aux/useless-if-before-free: Close stdout carefully.
54089
54090 2008-02-10  Bruno Haible  <bruno@clisp.org>
54091
54092         New module 'git-merge-changelog'.
54093         * modules/git-merge-changelog: New file.
54094         * lib/git-merge-changelog.c: New file.
54095
54096 2008-02-10  Jim Meyering  <meyering@redhat.com>
54097
54098         useless-if-before-free: New option: --list (-l).
54099
54100         useless-if-before-free: Don't exit immediately upon open failure.
54101         * build-aux/useless-if-before-free: Exit 2 for errors.
54102         Upon failure to open a file, don't exit immediately.
54103         Rather, just warn and continue with any remaining files.
54104
54105 2008-02-10  Bruno Haible  <bruno@clisp.org>
54106
54107         New abstract list operation 'node_set_value'.
54108         * lib/gl_list.h (gl_list_node_set_value): New function.
54109         (struct gl_list_implementation): New field node_set_value.
54110         * lib/gl_list.c (gl_list_node_set_value): New function.
54111         * lib/gl_array_list.c (gl_array_node_set_value): New function.
54112         (gl_array_list_implementation): Update.
54113         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
54114         (gl_carray_list_implementation): Update.
54115         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
54116         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
54117         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
54118         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
54119         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
54120         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
54121         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
54122         Update.
54123         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
54124         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
54125         (gl_sublist_list_implementation): Update.
54126
54127 2008-02-10  Bruno Haible  <bruno@clisp.org>
54128
54129         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
54130         Needed when ELEMENT is #defined to 'some_type *'.
54131
54132 2008-02-10  Jim Meyering  <meyering@redhat.com>
54133
54134         New script and module: useless-if-before-free
54135         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
54136         * build-aux/useless-if-before-free: New file.
54137         * modules/useless-if-before-free: New file.
54138
54139         * build-aux/gitlog-to-changelog: Use committer date, not author date.
54140
54141         xstrtol_error: Fix typo.
54142         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
54143         s/exit_failure/exit_status/.
54144
54145 2008-02-09  Jim Meyering  <meyering@redhat.com>
54146
54147         New script and module: gitlog-to-changelog
54148         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
54149         * modules/gitlog-to-changelog: New file.
54150         * build-aux/gitlog-to-changelog: New file.
54151
54152 2008-02-08  Jim Meyering  <meyering@redhat.com>
54153
54154         Avoid two "parameter unused" warnings.
54155         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
54156         Mark "st" as used.
54157
54158         Use "git COMMAND", not "git-COMMAND".
54159         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
54160         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
54161         * build-aux/git-version-gen: Use "git status", not "git-status".
54162
54163 2008-02-07  Bruno Haible  <bruno@clisp.org>
54164
54165         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
54166         Avoids a crash on Windows Vista.
54167         Reported by Adam Strzelecki <ono@java.pl> via
54168         Simon Josefsson <simon@josefsson.org>.
54169
54170 2008-02-06  Bruno Haible  <bruno@clisp.org>
54171
54172         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
54173         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
54174         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
54175         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
54176         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
54177         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54178         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
54179         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
54180         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54181         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54182         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54183         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54184         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54185         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54186         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54187         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
54188         left-adjust flag.
54189         * tests/test-snprintf-posix.h (test_function): Likewise.
54190         * tests/test-sprintf-posix.h (test_function): Likewise.
54191         * tests/test-vasprintf-posix.c (test_function): Likewise.
54192         * doc/posix-functions/fprintf.texi: Update.
54193         * doc/posix-functions/printf.texi: Update.
54194         * doc/posix-functions/snprintf.texi: Update.
54195         * doc/posix-functions/sprintf.texi: Update.
54196         * doc/posix-functions/vfprintf.texi: Update.
54197         * doc/posix-functions/vprintf.texi: Update.
54198         * doc/posix-functions/vsnprintf.texi: Update.
54199         * doc/posix-functions/vsprintf.texi: Update.
54200         Reported by Peter Fales <psfales@alcatel-lucent.com>.
54201
54202 2008-02-06  Bruno Haible  <bruno@clisp.org>
54203
54204         Fix bug introduced on 2008-01-26.
54205         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
54206
54207 2008-02-06  Bruno Haible  <bruno@clisp.org>
54208
54209         Fix bug introduced on 2007-06-10.
54210         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
54211         !NEED_PRINTF_FLAG_ZERO.
54212
54213 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
54214
54215         getloadavg: use libperfstat on AIX5
54216         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
54217
54218 2008-02-03  Bruno Haible  <bruno@clisp.org>
54219
54220         * lib/diffseq.h: Add comments about required #includes.
54221         Reported by Michael Biggs <gnulib@doubleplum.net>.
54222
54223 2008-02-01  Bruno Haible  <bruno@clisp.org>
54224
54225         * users.txt: Add gnuit.
54226
54227 2008-01-31  Bruno Haible  <bruno@clisp.org>
54228
54229         * lib/md4.c (set_uint32): Mark as inline.
54230         * lib/md5.c (set_uint32): Likewise.
54231         * lib/sha1.c (set_uint32): Likewise.
54232         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
54233         * m4/md5.m4 (gl_MD5): Likewise.
54234         * m4/sha1.m4 (gl_SHA1): Likewise.
54235
54236 2008-01-31  Jim Meyering  <meyering@redhat.com>
54237
54238         Use "sizeof VAR", rather than a literal "4".
54239         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
54240         * lib/md4.c (md4_read_ctx): Likewise.
54241         * lib/sha1.c (sha1_read_ctx): Likewise.
54242
54243 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54244
54245         * tests/test-sha1.c: New file, based on test-md5.c.
54246
54247         * modules/crypto/sha1-tests: New file.
54248
54249 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54250
54251         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
54252
54253 2008-01-31  Jim Meyering  <meyering@redhat.com>
54254
54255         Prefer "sizeof v" over the equivalent "4".
54256         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
54257         * lib/md5.c (set_uint32): Likewise.
54258         * lib/sha1.c (set_uint32): Likewise.
54259
54260 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54261
54262         * lib/sha1.c (set_uint32): Mark function as static.
54263
54264 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54265
54266         md2: clarify comments to say that alignment is not required.
54267         * lib/md2.h: Remove warning about alignment in comment.
54268         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
54269         never been required.
54270
54271 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54272
54273         md4: adapt alignment constraint fix from sha1.
54274         * lib/md4.c (set_uint32): New function, from sha1.c
54275         (md4_read_ctx): Use it.
54276         (md4_finish_ctx): Doc fix.
54277         * lib/md4.h: Doc fix.
54278
54279 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54280
54281         md5: adapt alignment constraint fix from sha1.
54282         * lib/md5.c (set_uint32): New function, from sha1.c
54283         (md5_read_ctx): Use it.
54284         (md5_finish_ctx): Doc fix.
54285         * lib/md5.h: Doc fix.
54286
54287 2008-01-30  Peter Palfrader  <weasel@debian.org>
54288
54289         sha1: remove the result buffer alignment constraint
54290         * lib/sha1.c (set_uint32): New function.
54291         (sha1_read_ctx): Rewrite to remove the result buffer alignment
54292         constraint.
54293         (sha1_finish_ctx): Remove comment warning about alignment constraint.
54294         * lib/sha1.h: Likewise.
54295
54296 2008-01-30  Andreas Schwab  <schwab@suse.de>
54297             Bruno Haible  <bruno@clisp.org>
54298
54299         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
54300         correct definition of LDBL_MIN_EXP.
54301
54302 2008-01-30  Karl Berry  <karl@gnu.org>
54303
54304         * config/srclist-update: try to preserve x bit on updates.
54305         * config/srclistvars.sh: update for karl.
54306
54307 2008-01-29  Jim Meyering  <meyering@redhat.com>
54308
54309         vasnprintf.c: Avoid warning about unused label
54310         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
54311         "overflow" label definition and associated code with the
54312         same cpp condition that guards the sole use of that label.
54313
54314 2008-01-26  Bruno Haible  <bruno@clisp.org>
54315
54316         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
54317         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
54318         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
54319         * lib/isnanl-nolibm.h (isnanl): Likewise.
54320         Reported by Paul Eggert <eggert@cs.ucla.edu>.
54321
54322 2008-01-26  Bruno Haible  <bruno@clisp.org>
54323
54324         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
54325         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
54326
54327 2008-01-26  Bruno Haible  <bruno@clisp.org>
54328
54329         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
54330         GCC >= 4.0 built-in.
54331         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
54332
54333 2008-01-26  Bruno Haible  <bruno@clisp.org>
54334
54335         Rename isnan, applicable to 'double' only, to isnand.
54336         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
54337         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
54338         (configure.ac): Update.
54339         (Include): Replace "isnan.h" with "isnand.h".
54340         * m4/isnand.m4: Renamed from m4/isnan.m4.
54341         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
54342         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
54343         instead of isnan.c.
54344         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
54345         instead of HAVE_ISNAN_IN_LIBC.
54346         (isnand): Renamed from isnan.
54347         * lib/isnand.c: New file.
54348         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
54349         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
54350         (Makefile.am): Update.
54351         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
54352         Include isnand.h instead of isnan.h.
54353         (main): Test isnand instead of isnan.
54354         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
54355         isnan-nolibm.
54356         * modules/frexp (Depends-on): Likewise.
54357         * modules/frexp-tests (Depends-on): Likewise.
54358         * modules/frexp-nolibm (Depends-on): Likewise.
54359         * modules/frexp-nolibm-tests (Depends-on): Likewise.
54360         * modules/isfinite (Depends-on): Likewise.
54361         * modules/round-tests (Depends-on): Likewise.
54362         * modules/signbit (Depends-on): Likewise.
54363         * modules/signbit-tests (Depends-on): Likewise.
54364         * modules/snprintf-posix (Depends-on): Likewise.
54365         * modules/sprintf-posix (Depends-on): Likewise.
54366         * modules/trunc-tests (Depends-on): Likewise.
54367         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
54368         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
54369         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
54370         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
54371         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
54372         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
54373         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
54374         * modules/vasnprintf-posix (Depends-on): Likewise.
54375         * modules/vasprintf-posix (Depends-on): Likewise.
54376         * modules/vfprintf-posix (Depends-on): Likewise.
54377         * modules/vsnprintf-posix (Depends-on): Likewise.
54378         * modules/vsprintf-posix (Depends-on): Likewise.
54379         * lib/frexp.c: Include isnand.h instead of isnan.h.
54380         (ISNAN): Set to isnand instead of isnan.
54381         * lib/isfinite.c: Include isnand.h instead of isnan.h.
54382         (gl_isfinited): Use isnand instead of isnan.
54383         * lib/signbitd.c: Include isnand.h instead of isnan.h.
54384         (gl_signbitd): Use isnand instead of isnan.
54385         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
54386         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
54387         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
54388         (main): Use isnand instead of isnan.
54389         * tests/test-round1.c: Include isnand.h.
54390         (main): Use isnand instead of isnan.
54391         * tests/test-round2.c: Include isnand.h instead of isnan.h.
54392         (ISNAN): Set to isnand instead of isnan.
54393         * tests/test-trunc1.c: Include isnand.h.
54394         (main): Use isnand instead of isnan.
54395         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
54396         (equal): Use isnand instead of isnan.
54397         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
54398         isnand-nolibm.
54399         * NEWS: Mention the change.
54400
54401 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
54402             Bruno Haible  <bruno@clisp.org>
54403
54404         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
54405         the GCC builtins for signbits are present and set
54406         REPLACE_SIGNBIT_USING_GCC if so.
54407         * lib/math.in.h (signbit): Define using GCC builtins if
54408         REPLACE_SIGNBIT_USING_GCC is set.
54409         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
54410         REPLACE_SIGNBIT_USING_GCC.
54411         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
54412
54413 2008-01-25  Jim Meyering  <meyering@redhat.com>
54414
54415         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
54416         * lib/poll.c: Include <config.h>, not "config.h".
54417         * tests/test-getaddrinfo.c: Likewise.
54418
54419 2008-01-25  Simon Josefsson  <simon@josefsson.org>
54420
54421         * modules/sockets-tests: New file.
54422
54423 2008-01-24  Simon Josefsson  <simon@josefsson.org>
54424
54425         * modules/sockets: New module, can be used to call WSA_Startup and
54426         WSA_Cleanup when needed.
54427
54428         * lib/sockets.h, lib/sockets.c: New files.
54429
54430         * m4/sockets.m4: New file.
54431
54432         * tests/test-sockets.c: New file.
54433
54434 2008-01-19  Bruno Haible  <bruno@clisp.org>
54435
54436         * doc/posix-headers: Renamed from doc/headers.
54437         * doc/posix-functions: Renamed from doc/functions.
54438         * doc/gnulib.texi: Update.
54439
54440 2008-01-19  Bruno Haible  <bruno@clisp.org>
54441
54442         * doc/glibc-functions/strcasestr.texi: Include contents of
54443         doc/functions/strcasestr.texi, fixing the list of platforms.
54444         * doc/functions/strcasestr.texi: Remove file.
54445
54446 2008-01-19  Bruno Haible  <bruno@clisp.org>
54447
54448         * doc/glibc-functions/memmem.texi: Include contents of
54449         doc/functions/memmem.texi.
54450         * doc/functions/memmem.texi: Remove file.
54451
54452 2008-01-18  Bruno Haible  <bruno@clisp.org>
54453
54454         * doc/glibc-functions/*.texi: New files.
54455         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
54456         to use the new files.
54457
54458 2008-01-17  Bruno Haible  <bruno@clisp.org>
54459
54460         * tests/test-gethostname.c (main): Fix printf statement.
54461
54462 2008-01-17  Simon Josefsson  <simon@josefsson.org>
54463
54464         * modules/gethostname-tests: New file.
54465
54466         * tests/test-gethostname.c: New file.
54467
54468 2008-01-17  Simon Josefsson  <simon@josefsson.org>
54469
54470         * lib/gethostname.c: Include string.h unconditionally, strncpy is
54471         used by the UNAME case.  Reported by Bruno Haible
54472         <bruno@clisp.org>.
54473
54474 2008-01-17  Eric Blake  <ebb9@byu.net>
54475
54476         Convert c-strcasestr to be more efficient.
54477         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
54478         (Depends-on): Add c-strcase, remove malloca, strnlen.
54479         * tests/test-c-strcasestr.c (main): Enhance test.
54480         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
54481
54482 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
54483
54484         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
54485         Use it in creating po/Makevars.
54486
54487 2008-01-15  Simon Josefsson  <simon@josefsson.org>
54488
54489         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
54490         Applications that requires it should initialize libgcrypt
54491         manually.
54492
54493 2008-01-16  Simon Josefsson  <simon@josefsson.org>
54494
54495         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
54496
54497 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
54498
54499         Fix problem with getdate on mingw32 reported by Simon Josefsson
54500         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
54501         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
54502         tzname", when deciding whether to declare tzname.
54503         * lib/strftime.c (tzname): Likewise.
54504
54505 2008-01-15  Bruno Haible  <bruno@clisp.org>
54506
54507         Work around a MacOS X 10.5 bug in frexpl().
54508         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
54509         * doc/functions/frexpl.texi: Document the bug.
54510         Reported by Elias Pipping <pipping@gentoo.org>.
54511
54512 2008-01-14  Eric Blake  <ebb9@byu.net>
54513
54514         Touch up previous patch.
54515         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
54516         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
54517
54518         Convert strcasestr module to use Two-Way algorithm.
54519         * modules/strcasestr-simple: New module, based on the old
54520         strcasestr, but with Two-Way rather than KMP.
54521         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
54522         * lib/string.in.h (rpl_strcasestr): Declare.
54523         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
54524         performance.
54525         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
54526         * modules/string (Makefile.am): Support strcasestr.
54527         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
54528         * modules/strcasestr-tests (Depends-on): Check for alarm.
54529         * tests/test-strcasestr.c: Augment test.
54530         * lib/str-two-way.h: Clean up stray macro.
54531         * NEWS: Document new module.
54532         * MODULES.html.sh (string handling): Likewise.
54533         * doc/functions/strcasestr.texi: New file.
54534         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
54535         here, since it is not a POSIX function.
54536
54537 2008-01-14  Colin Watson  <cjwatson@debian.org>
54538             Bruno Haible  <bruno@clisp.org>
54539
54540         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
54541         works fine; if not, set REPLACE_STRSIGNAL.
54542         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
54543         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54544         REPLACE_STRSIGNAL.
54545         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
54546         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
54547         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
54548
54549 2008-01-14  Bruno Haible  <bruno@clisp.org>
54550
54551         * modules/strsignal (Include): Change to <string.h>.
54552
54553 2008-01-14  Colin Watson  <cjwatson@debian.org>
54554
54555         * modules/argp (Notice): Add a notice recommending to change
54556         XGETTEXT_OPTIONS.
54557         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
54558
54559 2008-01-13  Colin Watson  <cjwatson@debian.org>
54560
54561         * modules/strsignal-tests: New file.
54562         * tests/test-strsignal.c: New file.
54563
54564         * lib/strsignal.c: New file, from glibc with modifications.
54565         * lib/siglist.h: New file, from glibc with modifications.
54566         * lib/string.in.h (strsignal): New declaration.
54567         * m4/strsignal.m4: New file.
54568         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54569         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
54570         * modules/strsignal: New file.
54571         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
54572         HAVE_DECL_STRSIGNAL.
54573
54574 2008-01-13  Bruno Haible  <bruno@clisp.org>
54575
54576         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
54577         locale encoding is not ASCII. Needed for OpenBSD 4.0.
54578         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
54579         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
54580
54581 2008-01-13  Bruno Haible  <bruno@clisp.org>
54582
54583         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
54584         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
54585         * lib/argp.h (__attribute__): Likewise.
54586         * lib/c-stack.c (__attribute__): Likewise.
54587         * lib/error.h (__attribute__): Likewise.
54588         * lib/fts.c (__attribute__): Likewise.
54589         * lib/openat.h (__attribute__): Likewise.
54590         * lib/stdio.in.h (__attribute__): Likewise.
54591         * lib/string.in.h (__attribute__): Likewise.
54592         * lib/utimens.c (__attribute__): Likewise.
54593         * lib/vasnprintf.h (__attribute__): Likewise.
54594         * lib/xalloc.h (__attribute__): Likewise.
54595         * lib/xprintf.h (__attribute__): Likewise.
54596         * lib/xstrtol.h (__attribute__): Likewise.
54597         * lib/xvasprintf.h (__attribute__): Likewise.
54598
54599 2008-01-12  Bruno Haible  <bruno@clisp.org>
54600
54601         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
54602         * doc/glibc-headers/a.out.texi: New file.
54603         * doc/glibc-headers/aliases.texi: New file.
54604         * doc/glibc-headers/alloca.texi: New file.
54605         * doc/glibc-headers/ar.texi: New file.
54606         * doc/glibc-headers/argp.texi: New file.
54607         * doc/glibc-headers/argz.texi: New file.
54608         * doc/glibc-headers/byteswap.texi: New file.
54609         * doc/glibc-headers/crypt.texi: New file.
54610         * doc/glibc-headers/endian.texi: New file.
54611         * doc/glibc-headers/envz.texi: New file.
54612         * doc/glibc-headers/err.texi: New file.
54613         * doc/glibc-headers/error.texi: New file.
54614         * doc/glibc-headers/execinfo.texi: New file.
54615         * doc/glibc-headers/fpu_control.texi: New file.
54616         * doc/glibc-headers/fstab.texi: New file.
54617         * doc/glibc-headers/fts.texi: New file.
54618         * doc/glibc-headers/getopt.texi: New file.
54619         * doc/glibc-headers/ieee754.texi: New file.
54620         * doc/glibc-headers/ifaddrs.texi: New file.
54621         * doc/glibc-headers/libintl.texi: New file.
54622         * doc/glibc-headers/mcheck.texi: New file.
54623         * doc/glibc-headers/mntent.texi: New file.
54624         * doc/glibc-headers/obstack.texi: New file.
54625         * doc/glibc-headers/paths.texi: New file.
54626         * doc/glibc-headers/printf.texi: New file.
54627         * doc/glibc-headers/pty.texi: New file.
54628         * doc/glibc-headers/resolv.texi: New file.
54629         * doc/glibc-headers/shadow.texi: New file.
54630         * doc/glibc-headers/sysexits.texi: New file.
54631         * doc/glibc-headers/ttyent.texi: New file.
54632
54633 2008-01-12  Jim Meyering  <meyering@redhat.com>
54634
54635         announce-gen: emit Gnulib's git-based version string.
54636         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
54637         New option --gnulib-version=V, where V is expected to be
54638         the output of running git describe in the gnulib directory.
54639         (get_tool_versions): Request feedback on xdelta.  I suspect it's
54640         not useful, and plan to stop publishing an xdelta file with each
54641         coreutils release.
54642
54643         * build-aux/announce-gen: Also check for lzma-compressed files.
54644
54645 2008-01-11  Bruno Haible  <bruno@clisp.org>
54646
54647         * tests/test-memmem.c (main): Increase maximum allowed time.
54648         * tests/test-strstr.c (main): Likewise.
54649
54650 2008-01-11  Bruno Haible  <bruno@clisp.org>
54651
54652         * doc/functions/memmem.texi: Add more precisions about platforms.
54653         * doc/functions/strstr.texi: Likewise.
54654
54655 2008-01-10  Eric Blake  <ebb9@byu.net>
54656
54657         * m4/strstr.m4: Delete cruft from copy-n-paste.
54658         Reported by Bruno Haible.
54659
54660 2008-01-10  Bruno Haible  <bruno@clisp.org>
54661
54662         Make c-strstr rely on strstr.
54663         * lib/c-strstr.c: Don't include str-kmp.h.
54664         (c_strstr): Define in terms of strstr.
54665         * modules/c-strstr (Files): Remove lib/str-kmp.h.
54666         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
54667
54668 2008-01-10  Bruno Haible  <bruno@clisp.org>
54669
54670         * doc/gnulib.texi (String Functions in C Locale): New section.
54671         * doc/c-ctype.texi: New file.
54672         * doc/c-strcase.texi: New file.
54673         * doc/c-strcaseeq.texi: New file.
54674         * doc/c-strcasestr.texi: New file.
54675         * doc/c-strstr.texi: New file.
54676         * doc/c-strtod.texi: New file.
54677         * doc/c-strtold.texi: New file.
54678
54679 2008-01-10  Eric Blake  <ebb9@byu.net>
54680
54681         * lib/relocatable.h: Fix a comment.
54682
54683 2008-01-10  Eric Blake  <ebb9@byu.net>
54684
54685         Share two-way algorithm.
54686         * lib/str-two-way.h: New file, merged from...
54687         * lib/memmem.c: ...here...
54688         * lib/strstr.c: ...and here.
54689         * modules/memmem (Files): Use it.
54690         * modules/strstr (Files): Likewise.
54691
54692         Avoid quadratic strstr implementations.
54693         * lib/strstr.c: New file.
54694         * m4/strstr.m4: Likewise.
54695         * modules/strstr: Likewise.
54696         * modules/strstr-tests: Likewise.
54697         * tests/test-strstr.c: Likewise.
54698         * lib/string.in.h (rpl_strstr): Declare.
54699         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
54700         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
54701         * modules/string (Makefile.am): Likewise.
54702         * MODULES.html.sh (string handling): Mention new module.
54703         * doc/functions/strstr.texi (strstr): Document the bug.
54704
54705 2008-01-10  Bruno Haible  <bruno@clisp.org>
54706
54707         * lib/relocatable.h (relocate): State whether result is freshly
54708         allocated or not.
54709         * lib/relocatable.c (relocate): Return a freshly allocated string
54710         instead of a pointer to a privately held string.
54711         Reported by Sylvain Beucler <beuc@gnu.org>.
54712
54713 2008-01-10  Colin Watson  <cjwatson@debian.org>
54714
54715         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
54716         s/S_ISNLK/S_ISLNK/.
54717
54718 2008-01-09  Bruno Haible  <bruno@clisp.org>
54719
54720         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
54721         and other files.
54722         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
54723         if it's only a guess.
54724         * modules/memmem: Simplify by depending on memmem-simple.
54725
54726 2008-01-09  Bruno Haible  <bruno@clisp.org>
54727
54728         Work around OpenBSD 4.0 tdelete() bug.
54729         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
54730         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
54731         macros and don't redefine the enum values.
54732         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
54733         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
54734         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
54735
54736 2008-01-09  Bruno Haible  <bruno@clisp.org>
54737
54738         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
54739         (main): Don't perform the tests if setlocale did not install a UTF-8
54740         locale. Needed on OpenBSD 4.0.
54741         * modules/wcwidth-tests (Depends-on): Add localcharset.
54742
54743 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
54744
54745         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
54746         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
54747         * NEWS: announce this.
54748         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
54749
54750 2008-01-09  Simon Josefsson  <simon@josefsson.org>
54751         and Eric Blake  <ebb9@byu.net>
54752
54753         Add memmem-simple module.
54754         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
54755         (gl_FUNC_MEMMEM): Separate performance from presence checks.
54756         * modules/memmem-simple: New file.
54757         * modules/memmem (Description): Tweak.
54758         * MODULES.html.sh (string handling): Mention new module.
54759         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
54760         addressed by memmem-simple.
54761         * NEWS: Document the difference.
54762
54763 2008-01-09  Eric Blake  <ebb9@byu.net>
54764
54765         Give gcc some memmem optimization hints.
54766         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
54767         (strcasestr): Declare as pure.
54768         * modules/memmem (Maintainer): Claim my implementation.
54769
54770 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54771
54772         Support AIX 6.1 and higher.
54773         * build-aux/config.libpath: Likewise.
54774         * build-aux/config.rpath: Likewise.
54775
54776 2008-01-08  Jim Meyering  <meyering@redhat.com>
54777             Bruno Haible  <bruno@clisp.org>
54778
54779         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
54780         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
54781         Reported by Peter Fales in
54782         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
54783
54784 2008-01-08  Bruno Haible  <bruno@clisp.org>
54785
54786         * modules/unictype/category-of (Depends-on): Add
54787         unictype/category-none.
54788         * modules/unictype/category-and-tests (Depends-on): Add
54789         unictype/category-{L,N,Lu,Nd}.
54790         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
54791         * modules/unictype/category-or-tests (Depends-on): Add
54792         unictype/category-{L,N}.
54793         * modules/unictype/category-name-tests (Depends-on): Add
54794         unictype/category-{Z,Nl}.
54795         Reported by Simon Josefsson.
54796
54797 2008-01-08  Bruno Haible  <bruno@clisp.org>
54798
54799         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
54800         convention better.
54801         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
54802         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
54803         Reported by Peter Miller <millerp@canb.auug.org.au>.
54804
54805 2008-01-08  Eric Blake  <ebb9@byu.net>
54806
54807         Rewrite memmem to guarantee linear complexity without malloc.
54808         * lib/memmem.c (memmem): Use Two-Way rather than
54809         Knuth-Morris-Pratt, to allow O(1) space usage.
54810         (critical_factorization, two_way_short_needle)
54811         (two_way_long_needle): New functions.
54812         (knuth_morris_pratt): Delete.
54813         * modules/memmem (Depends-on): No longer need malloca or stdbool.
54814         Add stdint.
54815         * tests/test-memmem.c (main): Add tests for periodic needle and
54816         sublinear performance.
54817         * doc/functions/memmem.texi (memmem): Document other deficiencies
54818         in cygwin and older glibc.
54819
54820 2008-01-08  Bruno Haible  <bruno@clisp.org>
54821
54822         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
54823         augmentation.
54824
54825 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
54826
54827         Add a configure time option: --disable-acl.
54828         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
54829         AC_ARG_ENABLE(acl).
54830
54831 2008-01-06  Simon Josefsson  <simon@josefsson.org>
54832
54833         * tests/test-localename.c: Don't include obsolete "setenv.h".
54834
54835         * modules/localename-tests (Depends-on): Need unsetenv.
54836
54837 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54838
54839         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
54840
54841 2008-01-06  Colin Watson  <cjwatson@debian.org>
54842
54843         * users.txt: Add man-db.
54844
54845 2008-01-07  Bruno Haible  <bruno@clisp.org>
54846
54847         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
54848         previous section name.
54849
54850 2008-01-07  Bruno Haible  <bruno@clisp.org>
54851
54852         * lib/progname.c (set_program_name): Don't strip off a leading
54853         "lt-" prefix outside a .libs directory.
54854         Suggested by Paul Eggert.
54855
54856 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
54857             Bruno Haible  <bruno@clisp.org>
54858
54859         Improve memory cleanup in 'relocatable' module.
54860         * lib/relocatable.h (compute_curr_prefix): Change return type to
54861         'char *'.
54862         * lib/relocatable.c (compute_curr_prefix): Change return type to
54863         'char *'. Free curr_installdir after use.
54864         (relocate): Free curr_prefix_better after use.
54865         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
54866
54867 2008-01-01  Bruno Haible  <bruno@clisp.org>
54868
54869         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
54870         failure on older glibc systems.
54871         Reported by Peter Fales <psfales@alcatel-lucent.com>.
54872
54873 2008-01-05  Eric Blake  <ebb9@byu.net>
54874
54875         Avoid quadratic system memmem.
54876         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
54877         Reported by Ralf Wildenhues.
54878
54879         Fix memmem test for mingw.
54880         * modules/memmem-tests (configure.ac): Check for alarm.
54881         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
54882         it.
54883         * doc/functions/memmem.texi: New file.
54884         * doc/gnulib.texi (Function Substitutes): Add memmem.
54885         Reported by Bruno Haible.
54886
54887 2008-01-04  Bruno Haible  <bruno@clisp.org>
54888
54889         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
54890         Require gl_HEADER_STRINGS_H_DEFAULTS, not
54891         gl_HEADER_STRING_H_DEFAULTS.
54892
54893 2008-01-04  Eric Blake  <ebb9@byu.net>
54894
54895         Shorten duration of memmem test.
54896         * tests/test-memmem.c (main): Use alarm to declare failure if test
54897         is taking too long.
54898         Reported by Ralf Wildenhues.
54899
54900 2007-12-21  Simon Josefsson  <simon@josefsson.org>
54901
54902         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
54903         string, needed by strerror.
54904
54905 2008-01-03  Colin Watson  <cjwatson@debian.org>
54906             Bruno Haible  <bruno@clisp.org>
54907
54908         * doc/gnulib-tool.texi (Localization): New section.
54909
54910 2008-01-02  Bruno Haible  <bruno@clisp.org>
54911
54912         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
54913         variables to 'unsigned char *' type.
54914         Reported by Paul Eggert.
54915
54916 2008-01-02  Jim Meyering  <jim@meyering.net>
54917
54918         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
54919
54920 2007-12-31  Jim Meyering  <jim@meyering.net>
54921
54922         Avoid use of private FTS type name.
54923         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
54924
54925 2007-12-30  Karl Berry  <karl@gnu.org>
54926
54927         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
54928         work around defect in Texinfo and/or the standalone Info browser.
54929
54930 2007-12-30  Bruno Haible  <bruno@clisp.org>
54931
54932         Unify 5 copies of the KMP code.
54933         * lib/str-kmp.h: New file.
54934         * lib/c-strcasestr.c: Include str-kmp.h.
54935         (knuth_morris_pratt): Remove function.
54936         (c_strcasestr): Update.
54937         * lib/c-strstr.c: Include str-kmp.h.
54938         (knuth_morris_pratt): Remove function.
54939         (c_strcasestr): Update.
54940         * lib/mbscasestr.c: Include str-kmp.h.
54941         (knuth_morris_pratt_unibyte): Remove function.
54942         * lib/mbsstr.c: Include str-kmp.h.
54943         (knuth_morris_pratt_unibyte): Remove function.
54944         * lib/strcasestr.c: Include str-kmp.h.
54945         (knuth_morris_pratt): Remove function.
54946         (strcasestr): Update.
54947         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
54948         * modules/c-strstr (Files): Likewise.
54949         * modules/mbscasestr (Files): Likewise.
54950         * modules/mbsstr (Files): Likewise.
54951         * modules/strcasestr (Files): Likewise.
54952         Suggested by Paul Eggert.
54953
54954 2007-12-30  Bruno Haible  <bruno@clisp.org>
54955
54956         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
54957         defined.
54958
54959 2007-12-30  Bruno Haible  <bruno@clisp.org>
54960
54961         * lib/xmalloca.h: Include xalloc.h.
54962         (xnmalloca): New macro.
54963
54964 2007-12-30  Bruno Haible  <bruno@clisp.org>
54965
54966         * lib/malloca.h (nmalloca): New macro.
54967         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
54968         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
54969         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
54970         knuth_morris_pratt_multibyte): Likewise.
54971         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
54972         knuth_morris_pratt_multibyte): Likewise.
54973         * lib/memmem.c (knuth_morris_pratt): Likewise.
54974         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
54975
54976 2007-12-25  Bruno Haible  <bruno@clisp.org>
54977
54978         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
54979         * lib/glob.c: Don't include openat.h.
54980         (link_exists2_p): Add back the code that deals with the
54981         !GLOB_ALTDIRFUNC case.
54982         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
54983         let it do the filename concatenation.
54984         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
54985         * modules/glob (Depends-on): Remove openat.
54986
54987 2007-12-31  Bruno Haible  <bruno@clisp.org>
54988
54989         * modules/dirfd (License): Change to LGPLv2+.
54990         Approved by Jim Meyering.
54991
54992 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
54993
54994         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
54995         when multiplying M by sizeof (size_t).
54996
54997 2007-12-10  Martin Lambers  <marlam@marlam.de>
54998
54999         Override getpagesize on mingw.
55000         * lib/getpagesize.c: New file.
55001         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
55002         * modules/getpagesize (Files): Add lib/getpagesize.c.
55003         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
55004         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55005         REPLACE_GETPAGESIZE.
55006         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
55007
55008 2007-12-25  Bruno Haible  <bruno@clisp.org>
55009
55010         * modules/localcharset (Notice): New field.
55011         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
55012         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
55013
55014 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
55015             Bruno Haible  <bruno@clisp.org>
55016
55017         Avoid using the syntax symbol() in formatted documentation.
55018         * MODULES.html.sh (func_module): When replacing symbol() with a
55019         hyperlink, remove the parentheses. Show an error if some remain.
55020         Recognize and render the '...' syntax.
55021         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
55022         Rework. Add paragraph about GCC's inlining.
55023         * doc/alloca.texi: Likewise.
55024         * doc/error.texi: Remove parentheses from symbol reference.
55025         * doc/gnulib-intro.texi: Likewise.
55026         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
55027         * modules/fnmatch (Description): Reword to say "the ... function".
55028         * modules/full-read (Description): Likewise.
55029         * modules/full-write (Description): Likewise.
55030         * modules/safe-read (Description): Likewise.
55031         * modules/safe-write (Description): Likewise.
55032         * modules/strchrnul (Description): Likewise.
55033         * modules/trim (Description): Likewise.
55034         * modules/error (Description): Remove parentheses from symbol
55035         references.
55036         * modules/verror (Description): Likewise.
55037         Reported by Karl Berry.
55038
55039 2007-12-25  Bruno Haible  <bruno@clisp.org>
55040
55041         Fixup after 2007-10-16 commit.
55042         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
55043
55044 2007-12-24  Bruno Haible  <bruno@clisp.org>
55045
55046         Make --enable-relocatable work with DESTDIR.
55047         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
55048         to compute installdir from destprog.
55049         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
55050         also set the RELOC_DESTDIR variable.
55051         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
55052
55053 2007-12-24  Bruno Haible  <bruno@clisp.org>
55054
55055         Fix link error due to xalloc_die().
55056         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
55057         of xreadlink.
55058         * lib/relocwrapper.c: Update comments.
55059         * build-aux/install-reloc: Remove xreadlink.c from file list.
55060         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
55061         xreadlink.c.
55062         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
55063
55064 2007-12-24  Bruno Haible  <bruno@clisp.org>
55065
55066         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
55067         * lib/setenv.h: Remove file.
55068         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
55069         lib/setenv.h.
55070         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
55071         (Depends-on): Add stdlib.
55072         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
55073         gl_FUNC_UNSETENV.
55074         (Include): Replace setenv.h with <stdlib.h>.
55075         * modules/unsetenv: New file.
55076         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
55077         * lib/unsetenv.c: Include <stdlib.h> first.
55078         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
55079         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
55080         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
55081         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
55082         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
55083         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
55084         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
55085         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
55086         * doc/functions/unsetenv.texi: Update.
55087         * modules/xsetenv (Depends-on): Add unsetenv.
55088         * modules/getdate (Depends-on): Likewise.
55089         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
55090         * lib/xsetenv.c: Don't include setenv.h.
55091         * lib/getdate.y: Likewise.
55092         * lib/relocwrapper.c: Likewise.
55093         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
55094         (Depends-on): Add stdlib.
55095         * NEWS: Mention the changes.
55096         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
55097
55098 2007-12-23  Bruno Haible  <bruno@clisp.org>
55099
55100         * lib/memmem.c (memmem): Use lowercase variable names. Tab
55101         indentation.
55102
55103 2007-12-23  Bruno Haible  <bruno@clisp.org>
55104
55105         * lib/c-strcasestr.c: Add more comments.
55106         * lib/c-strstr.c: Likewise.
55107         * lib/mbscasestr.c: Likewise.
55108         * lib/mbsstr.c: Likewise.
55109         * lib/strcasestr.c: Likewise.
55110         * lib/memmem.c: Likewise.
55111
55112 2007-12-23  Bruno Haible  <bruno@clisp.org>
55113
55114         * tests/test-memmem.c: Include <string.h> first.
55115
55116 2007-12-22  Bruno Haible  <bruno@clisp.org>
55117
55118         * gnulib-tool (func_create_testdir): Change $auxdir while generating
55119         the contents of $testsbase.
55120         Reported by Ralf Wildenhues.
55121
55122 2007-12-22  Bruno Haible  <bruno@clisp.org>
55123
55124         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
55125         two variables local_ldadd_before, local_ldadd_last.
55126
55127 2007-12-20  Eric Blake  <ebb9@byu.net>
55128
55129         Work around circular library issue when cross-compiling.
55130         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
55131         that progname.o does not need to pull in rpl_memcmp.
55132
55133 2007-12-19  Eric Blake  <ebb9@byu.net>
55134
55135         Fix memmem to avoid O(n^2) worst-case complexity.
55136         * lib/memmem.c (knuth_morris_pratt): New function.
55137         (memmem): Use it if first few naive iterations fail.
55138         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
55139         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
55140         * modules/memchr (License): Likewise.
55141         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
55142         malloca.
55143         * tests/test-memmem.c: Rewrite, borrowing ideas from
55144         test-mbsstr1.c; the old version wouldn't even compile!
55145         * modules/memmem-tests: New file.
55146         * lib/string.in.h (rpl_memmem): Add declaration.
55147         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
55148         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
55149         REPLACE_MEMMEM.
55150
55151 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
55152
55153         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
55154         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
55155         before any system include files, and undef after them all.  This
55156         should fix a problem on VMS reported by John E. Malmberg in
55157         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
55158
55159 2007-12-17  Eric Blake  <ebb9@byu.net>
55160
55161         Revert addition of verify, for BSD/OS.
55162         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
55163         can't handle large files, for the sake of obsolete platforms.
55164         * modules/fseeko (Depends-on): Remove verify.
55165         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
55166         * doc/functions/ftello.texi (ftello): Likewise.
55167         * doc/functions/fgetpos.texi (fgetpos): Likewise.
55168         Reported by Larry Jones.
55169
55170 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
55171
55172         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
55173         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
55174
55175 2007-12-17  Jim Meyering  <meyering@redhat.com>
55176
55177         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
55178         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
55179         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
55180         * modules/getcwd (Depends-on): Add openat.
55181         Reported by Petr Salinger.
55182
55183 2007-12-17  Bruno Haible  <bruno@clisp.org>
55184
55185         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
55186         avoid a segmentation fault of the configure test on x86_64 systems.
55187
55188 2007-12-15  Jim Meyering  <meyering@redhat.com>
55189
55190         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
55191
55192 2007-12-13  Eric Blake  <ebb9@byu.net>
55193
55194         Another fseek test.
55195         * tests/test-fseek.c (main): Also test ungetc handling.
55196         * tests/test-fseeko.c (main): Likewise.
55197         * modules/fseeko (Depends-on): Add verify.
55198         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
55199         large.
55200         Reported by Larry Jones.
55201
55202         Fix fseeko on mingw.
55203         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
55204         seek.
55205
55206         Beef up fseek tests.
55207         * tests/test-fseek.c (main): Also test eof handling.
55208         * tests/test-fseeko.c (main): Likewise.
55209         Reported by Larry Jones.
55210
55211 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
55212
55213         Fix fseeko on BSD-based platforms.
55214         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
55215         successful seek.
55216
55217 2007-12-12  Eric Blake  <ebb9@byu.net>
55218
55219         Allow circular dependency of separate libtests.a
55220         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
55221         when use_libtests.
55222
55223 2007-12-11  Eric Blake  <ebb9@byu.net>
55224
55225         Fix bug with -0.0L in previous patch.
55226         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
55227         * tests/test-isnan.c (main): Also test on zeroes.
55228         * tests/test-isnanf.c (main): Likewise.
55229         * tests/test-isnanl.h (main): Likewise.
55230
55231         Detect pseudo-denormals on x86 even when cross-compiling.
55232         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
55233         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
55234         invalid bit patterns that happen to satisfy ==.
55235
55236         Avoid link failures with separate libtests.a.
55237         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
55238         last, to satisfy circular dependencies.
55239
55240 2007-12-11  Eric Blake  <ebb9@byu.net>
55241         and Bruno Haible  <bruno@clisp.org>
55242
55243         Fix OpenBSD 4.0 <float.h> handling of long double.
55244         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
55245         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
55246         * doc/headers/float.texi (float.h): Document OpenBSD bug.
55247
55248 2007-12-11  Jim Meyering  <meyering@redhat.com>
55249
55250         * users.txt: Add libvirt.
55251
55252         Support versions of autoconf prior to 2.59c.
55253         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
55254         if it is not already defined.
55255
55256 2007-12-09  Bruno Haible  <bruno@clisp.org>
55257
55258         Let 'gnulib-tool --import' collect sources needed for the tests in
55259         tests/ rather than in lib/.
55260         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
55261         argument. If true, add rules to generate libtests.a, and put libtests.a
55262         into $(LDADD). Consider source files in subdirectories and set
55263         uses_subdirs.
55264         (func_emit_initmacro_start, func_emit_initmacro_end,
55265         func_emit_initmacro_done): Pass all arguments explicitly.
55266         (func_import): Determine two module lists main_modules,
55267         testsrelated_modules. Determine use_libtests. Determine two variables
55268         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
55269         instead of just sed_transform_lib_file. Determine two variables
55270         main_files and testsrelated_files. Compute 'files' as the union of
55271         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
55272         func_add_or_update. In the generated gnulib-comp.m4, collect the
55273         object files for tests/ in different variables than those for lib/.
55274         Substitute LIBTESTS_LIBDEPS.
55275         (func_create_testdir): Combine the uses_subdirs results from
55276         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
55277
55278 2007-12-09  Bruno Haible  <bruno@clisp.org>
55279
55280         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
55281         the build-aux directory.
55282
55283 2007-12-09  Bruno Haible  <bruno@clisp.org>
55284
55285         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
55286         introduced on 2006-09-09.
55287
55288 2007-12-07  Jim Meyering  <meyering@redhat.com>
55289
55290         Let these macros work also with autoconf-2.59.
55291         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
55292         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
55293         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
55294
55295 2007-12-06  Jim Meyering  <meyering@redhat.com>
55296
55297         Avoid a configure-time syntax error in gl_FUNC_ACL.
55298         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
55299         function in each branch, before testing the cache variable.
55300
55301 2007-12-04  Eric Blake  <ebb9@byu.net>
55302
55303         Make scripts executable.
55304         * build-aux/config.guess: Add execute permissions.
55305         * build-aux/config.sub: Likewise.
55306         * build-aux/gendocs.sh: Likewise.
55307
55308         Fix frexp on mingw.
55309         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
55310         cross-compiling.
55311         * doc/functions/frexp.texi (frexp): Document the bug.
55312
55313         Make cygwin fseeko check more reliable.
55314         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
55315         version numbers, rather than unrelated feature check.
55316         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
55317         * doc/functions/ftello.texi (ftello): Likewise.
55318         Reported by Bruno Haible.
55319
55320         * m4/strerror.m4: Bump version number.
55321
55322 2007-12-03  Bruno Haible  <bruno@clisp.org>
55323
55324         * doc/functions/mprotect.texi: Mention the mingw problem.
55325
55326 2007-12-03  Eric Blake  <ebb9@byu.net>
55327
55328         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
55329         REPLACE_STRERROR is initialized before this macro.
55330
55331 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
55332
55333         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
55334         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
55335         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
55336         put -lsec in even for programs other than 'ls'.  This fixes a problem
55337         for gettext reported by Bruno Haible in
55338         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
55339         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
55340         Add support for Solaris 10.  This isn't efficient, but should get the
55341         job done for now.
55342
55343 2007-12-03  James Youngman  <jay@gnu.org>
55344
55345         * doc/regexprops-generic.texi: change "an close-group" to "a
55346         close-group" and "illegal" to "not allowed".
55347
55348 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55349
55350         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
55351         pr_byname.h. Needed for the rare case when the maintainer has done
55352         "make maintainer-clean" in the source directory and then attempts a
55353         build outside the source directory.
55354         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
55355         scripts_byname.h.
55356
55357 2007-12-02  Martin Lambers <marlam@marlam.de>
55358             Bruno Haible  <bruno@clisp.org>
55359
55360         * lib/getpagesize.h: Remove file.
55361         * lib/unistd.in.h: Include declaration of getpagesize here.
55362         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
55363         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
55364         HAVE_SYS_PARAM_H.
55365         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
55366         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
55367         * modules/getpagesize (Files): Remove lib/getpagesize.h.
55368         (Depends-on): Add unistd.
55369         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55370         (Include): Use <unistd.h> instead of getpagesize.h.
55371         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
55372         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
55373         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
55374         gl_GETPAGESIZE invocation, already handled by module dependency.
55375         * lib/pagealign_alloc.c: Don't include getpagesize.h.
55376
55377 2007-12-02  Bruno Haible  <bruno@clisp.org>
55378
55379         * modules/strings-tests: New file.
55380         * tests/test-strings.c: New file.
55381
55382         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
55383         * lib/strings.in.h: New file.
55384         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
55385         * m4/strings_h.m4: New file.
55386         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
55387         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
55388         * modules/strings: New file.
55389         * modules/string (Makefile.am): Update.
55390         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
55391         Reported by Karl Berry.
55392
55393 2007-12-01  Eric Blake  <ebb9@byu.net>
55394
55395         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
55396         accomodate fix in cygwin 1.5.25.
55397
55398 2007-12-01  Jim Meyering  <meyering@redhat.com>
55399
55400         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
55401         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
55402         that would inhibit utf8-optimization of a regexp containing line-
55403         or buffer-anchors, e.g., `^', `$'.
55404
55405 2007-11-30  Bruno Haible  <bruno@clisp.org>
55406
55407         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
55408         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
55409         glthread_recursive_lock_init.
55410         * lib/lock.c (glthread_recursive_lock_init)
55411         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
55412         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55413
55414 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
55415
55416         New function qset_acl, like set_acl but with syscall semantics.
55417         * lib/acl.h (qset_acl): New decl.
55418         * lib/acl.c (qset_acl): New function.
55419         (set_acl): Use new function.  Use more-consistent diagnostics.
55420
55421 2007-11-28  Jim Meyering  <meyering@redhat.com>
55422
55423         * modules/physmem (License): Change from GPL to LGPLv2+.
55424
55425 2007-11-26  Bruno Haible  <bruno@clisp.org>
55426
55427         * lib/vasnprintf.c (decode_long_double): Don't abort if the
55428         'long double' type has excess precision.
55429         Reported by Jim Meyering in
55430         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
55431
55432 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55433
55434         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
55435         Sync from <http://gnu.org/licenses>.
55436         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
55437         with license text from same location.
55438         * doc/maintain.texi, doc/standards.texi:  Sync from
55439         <http://savannah.gnu.org/projects/gnustandards>.
55440
55441 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
55442         and Jim Meyering  <meyering@redhat.com>
55443
55444         Adjust getdate' grammar to accept a slightly more regular language.
55445         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
55446         Before, the former was rejected.
55447         * lib/getdate.y (digits_to_date_time): New function, factored
55448         out of ...
55449         (number): ...here.  Just call digits_to_date_time.
55450         (hybrid): New non-terminal to handle an <unsigned number,
55451         signed relative offset> sequence consistently.
55452
55453 2007-11-18  Jim Meyering  <meyering@redhat.com>
55454
55455         Pull my changes from coreutils:
55456         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
55457         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
55458         use of $gnulib_tool_option_extras, so that it's separated from the
55459         preceding argument.
55460
55461         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
55462         * build-aux/bootstrap (cp_mark_as_generated): Create any required
55463         parent destination directories before copying a file into place.
55464
55465 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
55466
55467         bootstrap: work also with 4-argument variant of AC_INIT
55468         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
55469
55470 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55471
55472         Port test-getaddrinfo to Solaris.
55473         Problem reported by Bruno Haible in
55474         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
55475         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
55476         explanation of setting 'hints'.
55477         Don't reject an implementation merely because it returns EAI_SERVICE.
55478         (EAI_SERVICE): Define to 0 if not defined.
55479
55480 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
55481
55482         The license of gnu-make and posix-shell is now "GPLed build tool".
55483         * modules/gnu-make (License): Likewise.
55484         * modules/posix-shell (License): Likewise.
55485
55486         New module posix-shell, for determining a POSIX shell
55487         or perhaps something that is close enough to a POSIX shell.
55488         * m4/posix-shell.m4: New file.
55489         * modules/posix-shell: New file.
55490
55491         * MODULES.html.sh: Mention new module.
55492
55493         New module gnu-make, for determining whether we're using GNU Make.
55494         * m4/gnu-make.m4: New file.
55495         * modules/gnu-make: New file.
55496         * MODULES.html.sh: Mention new module.
55497
55498 2007-11-14  Jim Meyering  <meyering@redhat.com>
55499
55500         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
55501         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
55502         use this macro to create a function _definition_.
55503         Remove useless "#undef ARGMATCH_DIE".
55504
55505 2007-11-14  Bruno Haible  <bruno@clisp.org>
55506
55507         * lib/config.charset: Update for OpenBSD 4.1.
55508         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
55509
55510 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
55511
55512         Document 64-bit #if problems in stdint.texi.
55513         * doc/headers/stdint.texi (stdint.h): Mention problems with
55514         64-bit-#if, and how to work around them.
55515
55516         Don't insist on 'long long int' support in the preprocessor.  It
55517         breaks too many things.  For example, PRIdMAX still uses a 'long
55518         long int' format with the latest Sun compiler, even though
55519         HAVE_LONG_LONG_INT isn't defined due to that compiler's
55520         preprocessor problem.  This causes the latest coreutils to dump
55521         core on Solaris 10 sparc with the Sun C compiler.
55522         Instead, fix the 2007-10-16 problem in a different way, by evaluating
55523         the troublesome expressions at configure-time, not at #if-time.
55524         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
55525         preprocessor.
55526         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
55527         compile-time C checks, done at 'configure'-time.
55528         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
55529         * modules/inttypes (Makefile): Substitute the new symbols that
55530         gl_INTTYPES_H now generates.
55531         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
55532
55533 2007-11-12  Bruno Haible  <bruno@clisp.org>
55534
55535         Tests for Unicode character classification functions.
55536
55537         * modules/unictype/bidicategory-byname-tests: New file.
55538         * modules/unictype/bidicategory-name-tests: New file.
55539         * modules/unictype/bidicategory-of-tests: New file.
55540         * modules/unictype/bidicategory-test-tests: New file.
55541         * modules/unictype/block-list-tests: New file.
55542         * modules/unictype/block-of-tests: New file.
55543         * modules/unictype/block-test-tests: New file.
55544         * modules/unictype/category-C-tests: New file.
55545         * modules/unictype/category-Cc-tests: New file.
55546         * modules/unictype/category-Cf-tests: New file.
55547         * modules/unictype/category-Cn-tests: New file.
55548         * modules/unictype/category-Co-tests: New file.
55549         * modules/unictype/category-Cs-tests: New file.
55550         * modules/unictype/category-L-tests: New file.
55551         * modules/unictype/category-Ll-tests: New file.
55552         * modules/unictype/category-Lm-tests: New file.
55553         * modules/unictype/category-Lo-tests: New file.
55554         * modules/unictype/category-Lt-tests: New file.
55555         * modules/unictype/category-Lu-tests: New file.
55556         * modules/unictype/category-M-tests: New file.
55557         * modules/unictype/category-Mc-tests: New file.
55558         * modules/unictype/category-Me-tests: New file.
55559         * modules/unictype/category-Mn-tests: New file.
55560         * modules/unictype/category-N-tests: New file.
55561         * modules/unictype/category-Nd-tests: New file.
55562         * modules/unictype/category-Nl-tests: New file.
55563         * modules/unictype/category-No-tests: New file.
55564         * modules/unictype/category-P-tests: New file.
55565         * modules/unictype/category-Pc-tests: New file.
55566         * modules/unictype/category-Pd-tests: New file.
55567         * modules/unictype/category-Pe-tests: New file.
55568         * modules/unictype/category-Pf-tests: New file.
55569         * modules/unictype/category-Pi-tests: New file.
55570         * modules/unictype/category-Po-tests: New file.
55571         * modules/unictype/category-Ps-tests: New file.
55572         * modules/unictype/category-S-tests: New file.
55573         * modules/unictype/category-Sc-tests: New file.
55574         * modules/unictype/category-Sk-tests: New file.
55575         * modules/unictype/category-Sm-tests: New file.
55576         * modules/unictype/category-So-tests: New file.
55577         * modules/unictype/category-Z-tests: New file.
55578         * modules/unictype/category-Zl-tests: New file.
55579         * modules/unictype/category-Zp-tests: New file.
55580         * modules/unictype/category-Zs-tests: New file.
55581         * modules/unictype/category-and-not-tests: New file.
55582         * modules/unictype/category-and-tests: New file.
55583         * modules/unictype/category-byname-tests: New file.
55584         * modules/unictype/category-name-tests: New file.
55585         * modules/unictype/category-none-tests: New file.
55586         * modules/unictype/category-of-tests: New file.
55587         * modules/unictype/category-or-tests: New file.
55588         * modules/unictype/category-test-withtable-tests: New file.
55589         * modules/unictype/combining-class-tests: New file.
55590         * modules/unictype/ctype-alnum-tests: New file.
55591         * modules/unictype/ctype-alpha-tests: New file.
55592         * modules/unictype/ctype-blank-tests: New file.
55593         * modules/unictype/ctype-cntrl-tests: New file.
55594         * modules/unictype/ctype-digit-tests: New file.
55595         * modules/unictype/ctype-graph-tests: New file.
55596         * modules/unictype/ctype-lower-tests: New file.
55597         * modules/unictype/ctype-print-tests: New file.
55598         * modules/unictype/ctype-punct-tests: New file.
55599         * modules/unictype/ctype-space-tests: New file.
55600         * modules/unictype/ctype-upper-tests: New file.
55601         * modules/unictype/ctype-xdigit-tests: New file.
55602         * modules/unictype/decimal-digit-tests: New file.
55603         * modules/unictype/digit-tests: New file.
55604         * modules/unictype/mirror-tests: New file.
55605         * modules/unictype/numeric-tests: New file.
55606         * modules/unictype/property-alphabetic-tests: New file.
55607         * modules/unictype/property-ascii-hex-digit-tests: New file.
55608         * modules/unictype/property-bidi-arabic-digit-tests: New file.
55609         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
55610         * modules/unictype/property-bidi-block-separator-tests: New file.
55611         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
55612         * modules/unictype/property-bidi-common-separator-tests: New file.
55613         * modules/unictype/property-bidi-control-tests: New file.
55614         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
55615         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
55616         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
55617         * modules/unictype/property-bidi-european-digit-tests: New file.
55618         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
55619         * modules/unictype/property-bidi-left-to-right-tests: New file.
55620         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
55621         * modules/unictype/property-bidi-other-neutral-tests: New file.
55622         * modules/unictype/property-bidi-pdf-tests: New file.
55623         * modules/unictype/property-bidi-segment-separator-tests: New file.
55624         * modules/unictype/property-bidi-whitespace-tests: New file.
55625         * modules/unictype/property-byname-tests: New file.
55626         * modules/unictype/property-combining-tests: New file.
55627         * modules/unictype/property-composite-tests: New file.
55628         * modules/unictype/property-currency-symbol-tests: New file.
55629         * modules/unictype/property-dash-tests: New file.
55630         * modules/unictype/property-decimal-digit-tests: New file.
55631         * modules/unictype/property-default-ignorable-code-point-tests: New file.
55632         * modules/unictype/property-deprecated-tests: New file.
55633         * modules/unictype/property-diacritic-tests: New file.
55634         * modules/unictype/property-extender-tests: New file.
55635         * modules/unictype/property-format-control-tests: New file.
55636         * modules/unictype/property-grapheme-base-tests: New file.
55637         * modules/unictype/property-grapheme-extend-tests: New file.
55638         * modules/unictype/property-grapheme-link-tests: New file.
55639         * modules/unictype/property-hex-digit-tests: New file.
55640         * modules/unictype/property-hyphen-tests: New file.
55641         * modules/unictype/property-id-continue-tests: New file.
55642         * modules/unictype/property-id-start-tests: New file.
55643         * modules/unictype/property-ideographic-tests: New file.
55644         * modules/unictype/property-ids-binary-operator-tests: New file.
55645         * modules/unictype/property-ids-trinary-operator-tests: New file.
55646         * modules/unictype/property-ignorable-control-tests: New file.
55647         * modules/unictype/property-iso-control-tests: New file.
55648         * modules/unictype/property-join-control-tests: New file.
55649         * modules/unictype/property-left-of-pair-tests: New file.
55650         * modules/unictype/property-line-separator-tests: New file.
55651         * modules/unictype/property-logical-order-exception-tests: New file.
55652         * modules/unictype/property-lowercase-tests: New file.
55653         * modules/unictype/property-math-tests: New file.
55654         * modules/unictype/property-non-break-tests: New file.
55655         * modules/unictype/property-not-a-character-tests: New file.
55656         * modules/unictype/property-numeric-tests: New file.
55657         * modules/unictype/property-other-alphabetic-tests: New file.
55658         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
55659         * modules/unictype/property-other-grapheme-extend-tests: New file.
55660         * modules/unictype/property-other-id-continue-tests: New file.
55661         * modules/unictype/property-other-id-start-tests: New file.
55662         * modules/unictype/property-other-lowercase-tests: New file.
55663         * modules/unictype/property-other-math-tests: New file.
55664         * modules/unictype/property-other-uppercase-tests: New file.
55665         * modules/unictype/property-paired-punctuation-tests: New file.
55666         * modules/unictype/property-paragraph-separator-tests: New file.
55667         * modules/unictype/property-pattern-syntax-tests: New file.
55668         * modules/unictype/property-pattern-white-space-tests: New file.
55669         * modules/unictype/property-private-use-tests: New file.
55670         * modules/unictype/property-punctuation-tests: New file.
55671         * modules/unictype/property-quotation-mark-tests: New file.
55672         * modules/unictype/property-radical-tests: New file.
55673         * modules/unictype/property-sentence-terminal-tests: New file.
55674         * modules/unictype/property-soft-dotted-tests: New file.
55675         * modules/unictype/property-space-tests: New file.
55676         * modules/unictype/property-terminal-punctuation-tests: New file.
55677         * modules/unictype/property-test-tests: New file.
55678         * modules/unictype/property-titlecase-tests: New file.
55679         * modules/unictype/property-unassigned-code-value-tests: New file.
55680         * modules/unictype/property-unified-ideograph-tests: New file.
55681         * modules/unictype/property-uppercase-tests: New file.
55682         * modules/unictype/property-variation-selector-tests: New file.
55683         * modules/unictype/property-white-space-tests: New file.
55684         * modules/unictype/property-xid-continue-tests: New file.
55685         * modules/unictype/property-xid-start-tests: New file.
55686         * modules/unictype/property-zero-width-tests: New file.
55687         * modules/unictype/scripts-tests: New file.
55688         * modules/unictype/syntax-c-ident-tests: New file.
55689         * modules/unictype/syntax-c-whitespace-tests: New file.
55690         * modules/unictype/syntax-java-ident-tests: New file.
55691         * modules/unictype/syntax-java-whitespace-tests: New file.
55692         * tests/unictype/test-bidi_byname.c: New file.
55693         * tests/unictype/test-bidi_name.c: New file.
55694         * tests/unictype/test-bidi_of.c: New file.
55695         * tests/unictype/test-bidi_test.c: New file.
55696         * tests/unictype/test-block_list.c: New file.
55697         * tests/unictype/test-block_of.c: New file.
55698         * tests/unictype/test-block_test.c: New file.
55699         * tests/unictype/test-categ_and.c: New file.
55700         * tests/unictype/test-categ_and_not.c: New file.
55701         * tests/unictype/test-categ_byname.c: New file.
55702         * tests/unictype/test-categ_name.c: New file.
55703         * tests/unictype/test-categ_none.c: New file.
55704         * tests/unictype/test-categ_of.c: New file.
55705         * tests/unictype/test-categ_or.c: New file.
55706         * tests/unictype/test-categ_test_withtable.c: New file.
55707         * tests/unictype/test-combining.c: New file.
55708         * tests/unictype/test-decdigit.c: New file.
55709         * tests/unictype/test-digit.c: New file.
55710         * tests/unictype/test-mirror.c: New file.
55711         * tests/unictype/test-numeric.c: New file.
55712         * tests/unictype/test-pr_byname.c: New file.
55713         * tests/unictype/test-pr_test.c: New file.
55714         * tests/unictype/test-predicate-part1.h: New file.
55715         * tests/unictype/test-predicate-part2.h: New file.
55716         * tests/unictype/test-scripts.c: New file.
55717         * tests/unictype/test-sy_c_ident.c: New file.
55718         * tests/unictype/test-sy_java_ident.c: New file.
55719
55720         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
55721         for Unicode 5.0.0.
55722         * tests/unictype/test-categ_Cc.c: Likewise.
55723         * tests/unictype/test-categ_Cf.c: Likewise.
55724         * tests/unictype/test-categ_Cn.c: Likewise.
55725         * tests/unictype/test-categ_Co.c: Likewise.
55726         * tests/unictype/test-categ_Cs.c: Likewise.
55727         * tests/unictype/test-categ_L.c: Likewise.
55728         * tests/unictype/test-categ_Ll.c: Likewise.
55729         * tests/unictype/test-categ_Lm.c: Likewise.
55730         * tests/unictype/test-categ_Lo.c: Likewise.
55731         * tests/unictype/test-categ_Lt.c: Likewise.
55732         * tests/unictype/test-categ_Lu.c: Likewise.
55733         * tests/unictype/test-categ_M.c: Likewise.
55734         * tests/unictype/test-categ_Mc.c: Likewise.
55735         * tests/unictype/test-categ_Me.c: Likewise.
55736         * tests/unictype/test-categ_Mn.c: Likewise.
55737         * tests/unictype/test-categ_N.c: Likewise.
55738         * tests/unictype/test-categ_Nd.c: Likewise.
55739         * tests/unictype/test-categ_Nl.c: Likewise.
55740         * tests/unictype/test-categ_No.c: Likewise.
55741         * tests/unictype/test-categ_P.c: Likewise.
55742         * tests/unictype/test-categ_Pc.c: Likewise.
55743         * tests/unictype/test-categ_Pd.c: Likewise.
55744         * tests/unictype/test-categ_Pe.c: Likewise.
55745         * tests/unictype/test-categ_Pf.c: Likewise.
55746         * tests/unictype/test-categ_Pi.c: Likewise.
55747         * tests/unictype/test-categ_Po.c: Likewise.
55748         * tests/unictype/test-categ_Ps.c: Likewise.
55749         * tests/unictype/test-categ_S.c: Likewise.
55750         * tests/unictype/test-categ_Sc.c: Likewise.
55751         * tests/unictype/test-categ_Sk.c: Likewise.
55752         * tests/unictype/test-categ_Sm.c: Likewise.
55753         * tests/unictype/test-categ_So.c: Likewise.
55754         * tests/unictype/test-categ_Z.c: Likewise.
55755         * tests/unictype/test-categ_Zl.c: Likewise.
55756         * tests/unictype/test-categ_Zp.c: Likewise.
55757         * tests/unictype/test-categ_Zs.c: Likewise.
55758         * tests/unictype/test-ctype_alnum.c: Likewise.
55759         * tests/unictype/test-ctype_alpha.c: Likewise.
55760         * tests/unictype/test-ctype_blank.c: Likewise.
55761         * tests/unictype/test-ctype_cntrl.c: Likewise.
55762         * tests/unictype/test-ctype_digit.c: Likewise.
55763         * tests/unictype/test-ctype_graph.c: Likewise.
55764         * tests/unictype/test-ctype_lower.c: Likewise.
55765         * tests/unictype/test-ctype_print.c: Likewise.
55766         * tests/unictype/test-ctype_punct.c: Likewise.
55767         * tests/unictype/test-ctype_space.c: Likewise.
55768         * tests/unictype/test-ctype_upper.c: Likewise.
55769         * tests/unictype/test-ctype_xdigit.c: Likewise.
55770         * tests/unictype/test-decdigit.h: Likewise.
55771         * tests/unictype/test-digit.h: Likewise.
55772         * tests/unictype/test-numeric.h: Likewise.
55773         * tests/unictype/test-pr_alphabetic.c: Likewise.
55774         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
55775         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
55776         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
55777         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
55778         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
55779         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
55780         * tests/unictype/test-pr_bidi_control.c: Likewise.
55781         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
55782         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
55783         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
55784         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
55785         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
55786         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
55787         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
55788         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
55789         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
55790         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
55791         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
55792         * tests/unictype/test-pr_combining.c: Likewise.
55793         * tests/unictype/test-pr_composite.c: Likewise.
55794         * tests/unictype/test-pr_currency_symbol.c: Likewise.
55795         * tests/unictype/test-pr_dash.c: Likewise.
55796         * tests/unictype/test-pr_decimal_digit.c: Likewise.
55797         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
55798         * tests/unictype/test-pr_deprecated.c: Likewise.
55799         * tests/unictype/test-pr_diacritic.c: Likewise.
55800         * tests/unictype/test-pr_extender.c: Likewise.
55801         * tests/unictype/test-pr_format_control.c: Likewise.
55802         * tests/unictype/test-pr_grapheme_base.c: Likewise.
55803         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
55804         * tests/unictype/test-pr_grapheme_link.c: Likewise.
55805         * tests/unictype/test-pr_hex_digit.c: Likewise.
55806         * tests/unictype/test-pr_hyphen.c: Likewise.
55807         * tests/unictype/test-pr_id_continue.c: Likewise.
55808         * tests/unictype/test-pr_id_start.c: Likewise.
55809         * tests/unictype/test-pr_ideographic.c: Likewise.
55810         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
55811         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
55812         * tests/unictype/test-pr_ignorable_control.c: Likewise.
55813         * tests/unictype/test-pr_iso_control.c: Likewise.
55814         * tests/unictype/test-pr_join_control.c: Likewise.
55815         * tests/unictype/test-pr_left_of_pair.c: Likewise.
55816         * tests/unictype/test-pr_line_separator.c: Likewise.
55817         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
55818         * tests/unictype/test-pr_lowercase.c: Likewise.
55819         * tests/unictype/test-pr_math.c: Likewise.
55820         * tests/unictype/test-pr_non_break.c: Likewise.
55821         * tests/unictype/test-pr_not_a_character.c: Likewise.
55822         * tests/unictype/test-pr_numeric.c: Likewise.
55823         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
55824         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
55825         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
55826         * tests/unictype/test-pr_other_id_continue.c: Likewise.
55827         * tests/unictype/test-pr_other_id_start.c: Likewise.
55828         * tests/unictype/test-pr_other_lowercase.c: Likewise.
55829         * tests/unictype/test-pr_other_math.c: Likewise.
55830         * tests/unictype/test-pr_other_uppercase.c: Likewise.
55831         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
55832         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
55833         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
55834         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
55835         * tests/unictype/test-pr_private_use.c: Likewise.
55836         * tests/unictype/test-pr_punctuation.c: Likewise.
55837         * tests/unictype/test-pr_quotation_mark.c: Likewise.
55838         * tests/unictype/test-pr_radical.c: Likewise.
55839         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
55840         * tests/unictype/test-pr_soft_dotted.c: Likewise.
55841         * tests/unictype/test-pr_space.c: Likewise.
55842         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
55843         * tests/unictype/test-pr_titlecase.c: Likewise.
55844         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
55845         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
55846         * tests/unictype/test-pr_uppercase.c: Likewise.
55847         * tests/unictype/test-pr_variation_selector.c: Likewise.
55848         * tests/unictype/test-pr_white_space.c: Likewise.
55849         * tests/unictype/test-pr_xid_continue.c: Likewise.
55850         * tests/unictype/test-pr_xid_start.c: Likewise.
55851         * tests/unictype/test-pr_zero_width.c: Likewise.
55852         * tests/unictype/test-sy_c_whitespace.c: Likewise.
55853         * tests/unictype/test-sy_java_whitespace.c: Likewise.
55854
55855 2007-11-12  Bruno Haible  <bruno@clisp.org>
55856
55857         Unicode character classification functions.
55858         * lib/unictype.h: New file.
55859         * modules/unictype/base: New file.
55860         * modules/unictype/category-L: New file.
55861         * modules/unictype/category-Lu: New file.
55862         * modules/unictype/category-Ll: New file.
55863         * modules/unictype/category-Lt: New file.
55864         * modules/unictype/category-Lm: New file.
55865         * modules/unictype/category-Lo: New file.
55866         * modules/unictype/category-M: New file.
55867         * modules/unictype/category-Mn: New file.
55868         * modules/unictype/category-Mc: New file.
55869         * modules/unictype/category-Me: New file.
55870         * modules/unictype/category-N: New file.
55871         * modules/unictype/category-Nd: New file.
55872         * modules/unictype/category-Nl: New file.
55873         * modules/unictype/category-No: New file.
55874         * modules/unictype/category-P: New file.
55875         * modules/unictype/category-Pc: New file.
55876         * modules/unictype/category-Pd: New file.
55877         * modules/unictype/category-Ps: New file.
55878         * modules/unictype/category-Pe: New file.
55879         * modules/unictype/category-Pi: New file.
55880         * modules/unictype/category-Pf: New file.
55881         * modules/unictype/category-Po: New file.
55882         * modules/unictype/category-S: New file.
55883         * modules/unictype/category-Sm: New file.
55884         * modules/unictype/category-Sc: New file.
55885         * modules/unictype/category-Sk: New file.
55886         * modules/unictype/category-So: New file.
55887         * modules/unictype/category-Z: New file.
55888         * modules/unictype/category-Zs: New file.
55889         * modules/unictype/category-Zl: New file.
55890         * modules/unictype/category-Zp: New file.
55891         * modules/unictype/category-C: New file.
55892         * modules/unictype/category-Cc: New file.
55893         * modules/unictype/category-Cf: New file.
55894         * modules/unictype/category-Cs: New file.
55895         * modules/unictype/category-Co: New file.
55896         * modules/unictype/category-Cn: New file.
55897         * modules/unictype/category-or: New file.
55898         * modules/unictype/category-of: New file.
55899         * modules/unictype/category-test: New file.
55900         * modules/unictype/category-test-withtable: New file.
55901         * modules/unictype/category-byname: New file.
55902         * modules/unictype/category-none: New file.
55903         * modules/unictype/category-and: New file.
55904         * modules/unictype/category-and-not: New file.
55905         * modules/unictype/category-name: New file.
55906         * modules/unictype/combining-class: New file.
55907         * modules/unictype/category-all: New file.
55908         * modules/unictype/bidicategory-all: New file.
55909         * modules/unictype/bidicategory-byname: New file.
55910         * modules/unictype/bidicategory-name: New file.
55911         * modules/unictype/bidicategory-of: New file.
55912         * modules/unictype/bidicategory-test: New file.
55913         * modules/unictype/decimal-digit: New file.
55914         * modules/unictype/digit: New file.
55915         * modules/unictype/numeric: New file.
55916         * modules/unictype/mirror: New file.
55917         * modules/unictype/property-white-space: New file.
55918         * modules/unictype/property-alphabetic: New file.
55919         * modules/unictype/property-other-alphabetic: New file.
55920         * modules/unictype/property-not-a-character: New file.
55921         * modules/unictype/property-default-ignorable-code-point: New file.
55922         * modules/unictype/property-other-default-ignorable-code-point: New
55923         file.
55924         * modules/unictype/property-deprecated: New file.
55925         * modules/unictype/property-logical-order-exception: New file.
55926         * modules/unictype/property-variation-selector: New file.
55927         * modules/unictype/property-private-use: New file.
55928         * modules/unictype/property-unassigned-code-value: New file.
55929         * modules/unictype/property-uppercase: New file.
55930         * modules/unictype/property-other-uppercase: New file.
55931         * modules/unictype/property-lowercase: New file.
55932         * modules/unictype/property-other-lowercase: New file.
55933         * modules/unictype/property-titlecase: New file.
55934         * modules/unictype/property-soft-dotted: New file.
55935         * modules/unictype/property-id-start: New file.
55936         * modules/unictype/property-other-id-start: New file.
55937         * modules/unictype/property-id-continue: New file.
55938         * modules/unictype/property-other-id-continue: New file.
55939         * modules/unictype/property-xid-start: New file.
55940         * modules/unictype/property-xid-continue: New file.
55941         * modules/unictype/property-pattern-white-space: New file.
55942         * modules/unictype/property-pattern-syntax: New file.
55943         * modules/unictype/property-join-control: New file.
55944         * modules/unictype/property-grapheme-base: New file.
55945         * modules/unictype/property-grapheme-extend: New file.
55946         * modules/unictype/property-other-grapheme-extend: New file.
55947         * modules/unictype/property-grapheme-link: New file.
55948         * modules/unictype/property-bidi-control: New file.
55949         * modules/unictype/property-bidi-left-to-right: New file.
55950         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
55951         * modules/unictype/property-bidi-arabic-right-to-left: New file.
55952         * modules/unictype/property-bidi-european-digit: New file.
55953         * modules/unictype/property-bidi-eur-num-separator: New file.
55954         * modules/unictype/property-bidi-eur-num-terminator: New file.
55955         * modules/unictype/property-bidi-arabic-digit: New file.
55956         * modules/unictype/property-bidi-common-separator: New file.
55957         * modules/unictype/property-bidi-block-separator: New file.
55958         * modules/unictype/property-bidi-segment-separator: New file.
55959         * modules/unictype/property-bidi-whitespace: New file.
55960         * modules/unictype/property-bidi-non-spacing-mark: New file.
55961         * modules/unictype/property-bidi-boundary-neutral: New file.
55962         * modules/unictype/property-bidi-pdf: New file.
55963         * modules/unictype/property-bidi-embedding-or-override: New file.
55964         * modules/unictype/property-bidi-other-neutral: New file.
55965         * modules/unictype/property-hex-digit: New file.
55966         * modules/unictype/property-ascii-hex-digit: New file.
55967         * modules/unictype/property-ideographic: New file.
55968         * modules/unictype/property-unified-ideograph: New file.
55969         * modules/unictype/property-radical: New file.
55970         * modules/unictype/property-ids-binary-operator: New file.
55971         * modules/unictype/property-ids-trinary-operator: New file.
55972         * modules/unictype/property-zero-width: New file.
55973         * modules/unictype/property-space: New file.
55974         * modules/unictype/property-non-break: New file.
55975         * modules/unictype/property-iso-control: New file.
55976         * modules/unictype/property-format-control: New file.
55977         * modules/unictype/property-dash: New file.
55978         * modules/unictype/property-hyphen: New file.
55979         * modules/unictype/property-punctuation: New file.
55980         * modules/unictype/property-line-separator: New file.
55981         * modules/unictype/property-paragraph-separator: New file.
55982         * modules/unictype/property-quotation-mark: New file.
55983         * modules/unictype/property-sentence-terminal: New file.
55984         * modules/unictype/property-terminal-punctuation: New file.
55985         * modules/unictype/property-currency-symbol: New file.
55986         * modules/unictype/property-math: New file.
55987         * modules/unictype/property-other-math: New file.
55988         * modules/unictype/property-paired-punctuation: New file.
55989         * modules/unictype/property-left-of-pair: New file.
55990         * modules/unictype/property-combining: New file.
55991         * modules/unictype/property-composite: New file.
55992         * modules/unictype/property-decimal-digit: New file.
55993         * modules/unictype/property-numeric: New file.
55994         * modules/unictype/property-diacritic: New file.
55995         * modules/unictype/property-extender: New file.
55996         * modules/unictype/property-ignorable-control: New file.
55997         * modules/unictype/property-test: New file.
55998         * modules/unictype/property-byname: New file.
55999         * modules/unictype/property-all: New file.
56000         * modules/unictype/scripts: New file.
56001         * modules/unictype/scripts-all: New file.
56002         * modules/unictype/block-of: New file.
56003         * modules/unictype/block-test: New file.
56004         * modules/unictype/block-list: New file.
56005         * modules/unictype/block-all: New file.
56006         * modules/unictype/syntax-c-whitespace: New file.
56007         * modules/unictype/syntax-java-whitespace: New file.
56008         * modules/unictype/syntax-c-ident: New file.
56009         * modules/unictype/syntax-java-ident: New file.
56010         * modules/unictype/ctype-alnum: New file.
56011         * modules/unictype/ctype-alpha: New file.
56012         * modules/unictype/ctype-cntrl: New file.
56013         * modules/unictype/ctype-digit: New file.
56014         * modules/unictype/ctype-graph: New file.
56015         * modules/unictype/ctype-lower: New file.
56016         * modules/unictype/ctype-print: New file.
56017         * modules/unictype/ctype-punct: New file.
56018         * modules/unictype/ctype-space: New file.
56019         * modules/unictype/ctype-upper: New file.
56020         * modules/unictype/ctype-xdigit: New file.
56021         * modules/unictype/ctype-blank: New file.
56022         * lib/unictype/bidi_byname.c: New file.
56023         * lib/unictype/bidi_name.c: New file.
56024         * lib/unictype/bidi_of.c: New file.
56025         * lib/unictype/bidi_test.c: New file.
56026         * lib/unictype/bitmap.h: New file.
56027         * lib/unictype/block_test.c: New file.
56028         * lib/unictype/blocks.c: New file.
56029         * lib/unictype/categ_C.c: New file.
56030         * lib/unictype/categ_Cc.c: New file.
56031         * lib/unictype/categ_Cf.c: New file.
56032         * lib/unictype/categ_Cn.c: New file.
56033         * lib/unictype/categ_Co.c: New file.
56034         * lib/unictype/categ_Cs.c: New file.
56035         * lib/unictype/categ_L.c: New file.
56036         * lib/unictype/categ_Ll.c: New file.
56037         * lib/unictype/categ_Lm.c: New file.
56038         * lib/unictype/categ_Lo.c: New file.
56039         * lib/unictype/categ_Lt.c: New file.
56040         * lib/unictype/categ_Lu.c: New file.
56041         * lib/unictype/categ_M.c: New file.
56042         * lib/unictype/categ_Mc.c: New file.
56043         * lib/unictype/categ_Me.c: New file.
56044         * lib/unictype/categ_Mn.c: New file.
56045         * lib/unictype/categ_N.c: New file.
56046         * lib/unictype/categ_Nd.c: New file.
56047         * lib/unictype/categ_Nl.c: New file.
56048         * lib/unictype/categ_No.c: New file.
56049         * lib/unictype/categ_P.c: New file.
56050         * lib/unictype/categ_Pc.c: New file.
56051         * lib/unictype/categ_Pd.c: New file.
56052         * lib/unictype/categ_Pe.c: New file.
56053         * lib/unictype/categ_Pf.c: New file.
56054         * lib/unictype/categ_Pi.c: New file.
56055         * lib/unictype/categ_Po.c: New file.
56056         * lib/unictype/categ_Ps.c: New file.
56057         * lib/unictype/categ_S.c: New file.
56058         * lib/unictype/categ_Sc.c: New file.
56059         * lib/unictype/categ_Sk.c: New file.
56060         * lib/unictype/categ_Sm.c: New file.
56061         * lib/unictype/categ_So.c: New file.
56062         * lib/unictype/categ_Z.c: New file.
56063         * lib/unictype/categ_Zl.c: New file.
56064         * lib/unictype/categ_Zp.c: New file.
56065         * lib/unictype/categ_Zs.c: New file.
56066         * lib/unictype/categ_and.c: New file.
56067         * lib/unictype/categ_and_not.c: New file.
56068         * lib/unictype/categ_byname.c: New file.
56069         * lib/unictype/categ_name.c: New file.
56070         * lib/unictype/categ_none.c: New file.
56071         * lib/unictype/categ_of.c: New file.
56072         * lib/unictype/categ_or.c: New file.
56073         * lib/unictype/categ_test.c: New file.
56074         * lib/unictype/combining.c: New file.
56075         * lib/unictype/ctype_alnum.c: New file.
56076         * lib/unictype/ctype_alpha.c: New file.
56077         * lib/unictype/ctype_blank.c: New file.
56078         * lib/unictype/ctype_cntrl.c: New file.
56079         * lib/unictype/ctype_digit.c: New file.
56080         * lib/unictype/ctype_graph.c: New file.
56081         * lib/unictype/ctype_lower.c: New file.
56082         * lib/unictype/ctype_print.c: New file.
56083         * lib/unictype/ctype_punct.c: New file.
56084         * lib/unictype/ctype_space.c: New file.
56085         * lib/unictype/ctype_upper.c: New file.
56086         * lib/unictype/ctype_xdigit.c: New file.
56087         * lib/unictype/decdigit.c: New file.
56088         * lib/unictype/digit.c: New file.
56089         * lib/unictype/identsyntaxmap.h: New file.
56090         * lib/unictype/mirror.c: New file.
56091         * lib/unictype/numeric.c: New file.
56092         * lib/unictype/pr_alphabetic.c: New file.
56093         * lib/unictype/pr_ascii_hex_digit.c: New file.
56094         * lib/unictype/pr_bidi_arabic_digit.c: New file.
56095         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
56096         * lib/unictype/pr_bidi_block_separator.c: New file.
56097         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
56098         * lib/unictype/pr_bidi_common_separator.c: New file.
56099         * lib/unictype/pr_bidi_control.c: New file.
56100         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
56101         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
56102         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
56103         * lib/unictype/pr_bidi_european_digit.c: New file.
56104         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
56105         * lib/unictype/pr_bidi_left_to_right.c: New file.
56106         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
56107         * lib/unictype/pr_bidi_other_neutral.c: New file.
56108         * lib/unictype/pr_bidi_pdf.c: New file.
56109         * lib/unictype/pr_bidi_segment_separator.c: New file.
56110         * lib/unictype/pr_bidi_whitespace.c: New file.
56111         * lib/unictype/pr_byname.c: New file.
56112         * lib/unictype/pr_byname.gperf: New file.
56113         * lib/unictype/pr_combining.c: New file.
56114         * lib/unictype/pr_composite.c: New file.
56115         * lib/unictype/pr_currency_symbol.c: New file.
56116         * lib/unictype/pr_dash.c: New file.
56117         * lib/unictype/pr_decimal_digit.c: New file.
56118         * lib/unictype/pr_default_ignorable_code_point.c: New file.
56119         * lib/unictype/pr_deprecated.c: New file.
56120         * lib/unictype/pr_diacritic.c: New file.
56121         * lib/unictype/pr_extender.c: New file.
56122         * lib/unictype/pr_format_control.c: New file.
56123         * lib/unictype/pr_grapheme_base.c: New file.
56124         * lib/unictype/pr_grapheme_extend.c: New file.
56125         * lib/unictype/pr_grapheme_link.c: New file.
56126         * lib/unictype/pr_hex_digit.c: New file.
56127         * lib/unictype/pr_hyphen.c: New file.
56128         * lib/unictype/pr_id_continue.c: New file.
56129         * lib/unictype/pr_id_start.c: New file.
56130         * lib/unictype/pr_ideographic.c: New file.
56131         * lib/unictype/pr_ids_binary_operator.c: New file.
56132         * lib/unictype/pr_ids_trinary_operator.c: New file.
56133         * lib/unictype/pr_ignorable_control.c: New file.
56134         * lib/unictype/pr_iso_control.c: New file.
56135         * lib/unictype/pr_join_control.c: New file.
56136         * lib/unictype/pr_left_of_pair.c: New file.
56137         * lib/unictype/pr_line_separator.c: New file.
56138         * lib/unictype/pr_logical_order_exception.c: New file.
56139         * lib/unictype/pr_lowercase.c: New file.
56140         * lib/unictype/pr_math.c: New file.
56141         * lib/unictype/pr_non_break.c: New file.
56142         * lib/unictype/pr_not_a_character.c: New file.
56143         * lib/unictype/pr_numeric.c: New file.
56144         * lib/unictype/pr_other_alphabetic.c: New file.
56145         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
56146         * lib/unictype/pr_other_grapheme_extend.c: New file.
56147         * lib/unictype/pr_other_id_continue.c: New file.
56148         * lib/unictype/pr_other_id_start.c: New file.
56149         * lib/unictype/pr_other_lowercase.c: New file.
56150         * lib/unictype/pr_other_math.c: New file.
56151         * lib/unictype/pr_other_uppercase.c: New file.
56152         * lib/unictype/pr_paired_punctuation.c: New file.
56153         * lib/unictype/pr_paragraph_separator.c: New file.
56154         * lib/unictype/pr_pattern_syntax.c: New file.
56155         * lib/unictype/pr_pattern_white_space.c: New file.
56156         * lib/unictype/pr_private_use.c: New file.
56157         * lib/unictype/pr_punctuation.c: New file.
56158         * lib/unictype/pr_quotation_mark.c: New file.
56159         * lib/unictype/pr_radical.c: New file.
56160         * lib/unictype/pr_sentence_terminal.c: New file.
56161         * lib/unictype/pr_soft_dotted.c: New file.
56162         * lib/unictype/pr_space.c: New file.
56163         * lib/unictype/pr_terminal_punctuation.c: New file.
56164         * lib/unictype/pr_test.c: New file.
56165         * lib/unictype/pr_titlecase.c: New file.
56166         * lib/unictype/pr_unassigned_code_value.c: New file.
56167         * lib/unictype/pr_unified_ideograph.c: New file.
56168         * lib/unictype/pr_uppercase.c: New file.
56169         * lib/unictype/pr_variation_selector.c: New file.
56170         * lib/unictype/pr_white_space.c: New file.
56171         * lib/unictype/pr_xid_continue.c: New file.
56172         * lib/unictype/pr_xid_start.c: New file.
56173         * lib/unictype/pr_zero_width.c: New file.
56174         * lib/unictype/scripts.c: New file.
56175         * lib/unictype/sy_c_ident.c: New file.
56176         * lib/unictype/sy_c_whitespace.c: New file.
56177         * lib/unictype/sy_java_ident.c: New file.
56178         * lib/unictype/sy_java_whitespace.c: New file.
56179
56180         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
56181         Unicode 5.0.0.
56182         * lib/unictype/blocks.h: Likewise.
56183         * lib/unictype/categ_C.h: Likewise.
56184         * lib/unictype/categ_Cc.h: Likewise.
56185         * lib/unictype/categ_Cf.h: Likewise.
56186         * lib/unictype/categ_Cn.h: Likewise.
56187         * lib/unictype/categ_Co.h: Likewise.
56188         * lib/unictype/categ_Cs.h: Likewise.
56189         * lib/unictype/categ_L.h: Likewise.
56190         * lib/unictype/categ_Ll.h: Likewise.
56191         * lib/unictype/categ_Lm.h: Likewise.
56192         * lib/unictype/categ_Lo.h: Likewise.
56193         * lib/unictype/categ_Lt.h: Likewise.
56194         * lib/unictype/categ_Lu.h: Likewise.
56195         * lib/unictype/categ_M.h: Likewise.
56196         * lib/unictype/categ_Mc.h: Likewise.
56197         * lib/unictype/categ_Me.h: Likewise.
56198         * lib/unictype/categ_Mn.h: Likewise.
56199         * lib/unictype/categ_N.h: Likewise.
56200         * lib/unictype/categ_Nd.h: Likewise.
56201         * lib/unictype/categ_Nl.h: Likewise.
56202         * lib/unictype/categ_No.h: Likewise.
56203         * lib/unictype/categ_P.h: Likewise.
56204         * lib/unictype/categ_Pc.h: Likewise.
56205         * lib/unictype/categ_Pd.h: Likewise.
56206         * lib/unictype/categ_Pe.h: Likewise.
56207         * lib/unictype/categ_Pf.h: Likewise.
56208         * lib/unictype/categ_Pi.h: Likewise.
56209         * lib/unictype/categ_Po.h: Likewise.
56210         * lib/unictype/categ_Ps.h: Likewise.
56211         * lib/unictype/categ_S.h: Likewise.
56212         * lib/unictype/categ_Sc.h: Likewise.
56213         * lib/unictype/categ_Sk.h: Likewise.
56214         * lib/unictype/categ_Sm.h: Likewise.
56215         * lib/unictype/categ_So.h: Likewise.
56216         * lib/unictype/categ_Z.h: Likewise.
56217         * lib/unictype/categ_Zl.h: Likewise.
56218         * lib/unictype/categ_Zp.h: Likewise.
56219         * lib/unictype/categ_Zs.h: Likewise.
56220         * lib/unictype/categ_of.h: Likewise.
56221         * lib/unictype/combining.h: Likewise.
56222         * lib/unictype/ctype_alnum.h: Likewise.
56223         * lib/unictype/ctype_alpha.h: Likewise.
56224         * lib/unictype/ctype_blank.h: Likewise.
56225         * lib/unictype/ctype_cntrl.h: Likewise.
56226         * lib/unictype/ctype_digit.h: Likewise.
56227         * lib/unictype/ctype_graph.h: Likewise.
56228         * lib/unictype/ctype_lower.h: Likewise.
56229         * lib/unictype/ctype_print.h: Likewise.
56230         * lib/unictype/ctype_punct.h: Likewise.
56231         * lib/unictype/ctype_space.h: Likewise.
56232         * lib/unictype/ctype_upper.h: Likewise.
56233         * lib/unictype/ctype_xdigit.h: Likewise.
56234         * lib/unictype/decdigit.h: Likewise.
56235         * lib/unictype/digit.h: Likewise.
56236         * lib/unictype/mirror.h: Likewise.
56237         * lib/unictype/numeric.h: Likewise.
56238         * lib/unictype/pr_alphabetic.h: Likewise.
56239         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
56240         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
56241         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
56242         * lib/unictype/pr_bidi_block_separator.h: Likewise.
56243         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
56244         * lib/unictype/pr_bidi_common_separator.h: Likewise.
56245         * lib/unictype/pr_bidi_control.h: Likewise.
56246         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
56247         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
56248         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
56249         * lib/unictype/pr_bidi_european_digit.h: Likewise.
56250         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
56251         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
56252         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
56253         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
56254         * lib/unictype/pr_bidi_pdf.h: Likewise.
56255         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
56256         * lib/unictype/pr_bidi_whitespace.h: Likewise.
56257         * lib/unictype/pr_combining.h: Likewise.
56258         * lib/unictype/pr_composite.h: Likewise.
56259         * lib/unictype/pr_currency_symbol.h: Likewise.
56260         * lib/unictype/pr_dash.h: Likewise.
56261         * lib/unictype/pr_decimal_digit.h: Likewise.
56262         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
56263         * lib/unictype/pr_deprecated.h: Likewise.
56264         * lib/unictype/pr_diacritic.h: Likewise.
56265         * lib/unictype/pr_extender.h: Likewise.
56266         * lib/unictype/pr_format_control.h: Likewise.
56267         * lib/unictype/pr_grapheme_base.h: Likewise.
56268         * lib/unictype/pr_grapheme_extend.h: Likewise.
56269         * lib/unictype/pr_grapheme_link.h: Likewise.
56270         * lib/unictype/pr_hex_digit.h: Likewise.
56271         * lib/unictype/pr_hyphen.h: Likewise.
56272         * lib/unictype/pr_id_continue.h: Likewise.
56273         * lib/unictype/pr_id_start.h: Likewise.
56274         * lib/unictype/pr_ideographic.h: Likewise.
56275         * lib/unictype/pr_ids_binary_operator.h: Likewise.
56276         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
56277         * lib/unictype/pr_ignorable_control.h: Likewise.
56278         * lib/unictype/pr_iso_control.h: Likewise.
56279         * lib/unictype/pr_join_control.h: Likewise.
56280         * lib/unictype/pr_left_of_pair.h: Likewise.
56281         * lib/unictype/pr_line_separator.h: Likewise.
56282         * lib/unictype/pr_logical_order_exception.h: Likewise.
56283         * lib/unictype/pr_lowercase.h: Likewise.
56284         * lib/unictype/pr_math.h: Likewise.
56285         * lib/unictype/pr_non_break.h: Likewise.
56286         * lib/unictype/pr_not_a_character.h: Likewise.
56287         * lib/unictype/pr_numeric.h: Likewise.
56288         * lib/unictype/pr_other_alphabetic.h: Likewise.
56289         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
56290         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
56291         * lib/unictype/pr_other_id_continue.h: Likewise.
56292         * lib/unictype/pr_other_id_start.h: Likewise.
56293         * lib/unictype/pr_other_lowercase.h: Likewise.
56294         * lib/unictype/pr_other_math.h: Likewise.
56295         * lib/unictype/pr_other_uppercase.h: Likewise.
56296         * lib/unictype/pr_paired_punctuation.h: Likewise.
56297         * lib/unictype/pr_paragraph_separator.h: Likewise.
56298         * lib/unictype/pr_pattern_syntax.h: Likewise.
56299         * lib/unictype/pr_pattern_white_space.h: Likewise.
56300         * lib/unictype/pr_private_use.h: Likewise.
56301         * lib/unictype/pr_punctuation.h: Likewise.
56302         * lib/unictype/pr_quotation_mark.h: Likewise.
56303         * lib/unictype/pr_radical.h: Likewise.
56304         * lib/unictype/pr_sentence_terminal.h: Likewise.
56305         * lib/unictype/pr_soft_dotted.h: Likewise.
56306         * lib/unictype/pr_space.h: Likewise.
56307         * lib/unictype/pr_terminal_punctuation.h: Likewise.
56308         * lib/unictype/pr_titlecase.h: Likewise.
56309         * lib/unictype/pr_unassigned_code_value.h: Likewise.
56310         * lib/unictype/pr_unified_ideograph.h: Likewise.
56311         * lib/unictype/pr_uppercase.h: Likewise.
56312         * lib/unictype/pr_variation_selector.h: Likewise.
56313         * lib/unictype/pr_white_space.h: Likewise.
56314         * lib/unictype/pr_xid_continue.h: Likewise.
56315         * lib/unictype/pr_xid_start.h: Likewise.
56316         * lib/unictype/pr_zero_width.h: Likewise.
56317         * lib/unictype/scripts.h: Likewise.
56318         * lib/unictype/scripts_byname.gperf: Likewise.
56319         * lib/unictype/sy_c_ident.h: Likewise.
56320         * lib/unictype/sy_c_whitespace.h: Likewise.
56321         * lib/unictype/sy_java_ident.h: Likewise.
56322         * lib/unictype/sy_java_whitespace.h: Likewise.
56323
56324         * lib/unictype/Makefile: New file.
56325         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
56326         glibc.
56327         * lib/unictype/3level.h: New file, copied from glibc.
56328         * lib/unictype/3levelbit.h: New file.
56329
56330 2007-11-11  Bruno Haible  <bruno@clisp.org>
56331
56332         * modules/gperf: New file.
56333         * modules/iconv_open (Depends-on): Add it.
56334         (Makefile.am): Remove the GPERF definition.
56335
56336 2007-11-11  Bruno Haible  <bruno@clisp.org>
56337
56338         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
56339         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
56340
56341 2007-11-11  Bruno Haible  <bruno@clisp.org>
56342
56343         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
56344         (usage): Remove function.
56345
56346 2007-11-11  Bruno Haible  <bruno@clisp.org>
56347
56348         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
56349         gl_FUNC_CEILF_LIBS.
56350         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
56351         gl_FUNC_CEIL_LIBS.
56352         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
56353         gl_FUNC_CEILL_LIBS.
56354         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
56355         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
56356         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
56357
56358 2007-11-11  Bruno Haible  <bruno@clisp.org>
56359
56360         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
56361         roundf were declared but do not exist on functions.
56362         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
56363         roundl were declared but do not exist on functions.
56364         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
56365         HAVE_FLOORL_AND_CEILL, respectively.
56366         Needed for Sun C on Solaris 10.
56367
56368 2007-11-11  Bruno Haible  <bruno@clisp.org>
56369
56370         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
56371         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
56372         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
56373         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
56374         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
56375         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
56376         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
56377         HAVE_DECL_ROUNDF.
56378         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
56379         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
56380         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
56381         of HAVE_DECL_ROUND*.
56382         * modules/math (Makefile.am): Update.
56383
56384 2007-11-10  Bruno Haible  <bruno@clisp.org>
56385
56386         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
56387         ptrdiff_t as m4/intl.m4.
56388
56389 2007-11-10  Jim Meyering  <meyering@redhat.com>
56390
56391         Avoid link failure for the argmatch test.
56392         * tests/test-argmatch.c (usage): Define function to avoid a link
56393         failure: argmatch_die requires a usage function.
56394
56395 2007-11-09  Bruno Haible  <bruno@clisp.org>
56396
56397         * doc/functions/snprintf.texi: Mention BeOS deficiency.
56398         * doc/functions/vsnprintf.texi: Likewise.
56399         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
56400         with a size argument < 2.
56401
56402 2007-11-09  Bruno Haible  <bruno@clisp.org>
56403
56404         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
56405         buffer. Fixes an inefficiency introduced on 2007-11-03.
56406
56407 2007-11-09  Bruno Haible  <bruno@clisp.org>
56408
56409         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
56410         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
56411
56412 2007-11-08  Jim Meyering  <meyering@redhat.com>
56413
56414         Change cache variable name prefix "jm_" to "gl_" everywhere.
56415         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
56416         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
56417         * m4/uptime.m4: s/gl_/jm_/
56418
56419 2007-11-07  Bruno Haible  <bruno@clisp.org>
56420
56421         Update to GNU gettext 0.17.
56422         * m4/intl.m4: Update to GNU gettext 0.17.
56423         * m4/po.m4: Likewise.
56424         * modules/gettext (Files): Remove m4/ulonglong.m4.
56425         (configure.ac): Require gettext infrastructure from version 0.17.
56426
56427 2007-11-06  Bruno Haible  <bruno@clisp.org>
56428
56429         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
56430         symbolic values are not defined in a public header.
56431         * lib/freadable.c (freadable) [QNX]: Likewise.
56432         * lib/freadahead.c (freadahead) [QNX]: Likewise.
56433         * lib/freading.c (freading) [QNX]: Likewise.
56434         * lib/fseterr.c (fseterr) [QNX]: Likewise.
56435         * lib/fwritable.c (fwritable) [QNX]: Likewise.
56436         * lib/fwriting.c (fwriting) [QNX]: Likewise.
56437         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
56438         Reported by Alain Magloire.
56439
56440         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
56441
56442 2007-11-05  Bruno Haible  <bruno@clisp.org>
56443
56444         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
56445         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
56446         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
56447         Reported by Eric Blake.
56448
56449 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56450             Bruno Haible  <bruno@clisp.org>
56451
56452         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
56453         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
56454         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
56455         (malloc): Undefine also before including <stdlib.h>.
56456         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
56457         Needed on OSF/1 4.0.
56458
56459 2007-11-05  Jim Meyering  <meyering@redhat.com>
56460
56461         git-version-gen: sync from coreutils.
56462         * build-aux/git-version-gen: Add comments.
56463         Change the first '-' to '.' in the snapshot version string,
56464         e.g., 6.9-377-08144 -> 6.9.377-08144
56465         Remove first parameter.
56466         Don't declare a version "-dirty" merely because a time
56467         stamp has changed.
56468
56469 2007-11-04  Bruno Haible  <bruno@clisp.org>
56470
56471         * lib/lock.h: Protect all macro definitions containing an 'if'
56472         statement through a "do { ... } while (0)".
56473         * lib/tls.h: Likewise.
56474
56475 2007-11-04  Bruno Haible  <bruno@clisp.org>
56476
56477         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
56478
56479 2007-11-04  Bruno Haible  <bruno@clisp.org>
56480
56481         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
56482         * modules/fprintf-posix (Depends-on): Add nocrash.
56483         * modules/snprintf-posix (Depends-on): Likewise.
56484         * modules/sprintf-posix (Depends-on): Likewise.
56485         * modules/vasnprintf-posix (Depends-on): Likewise.
56486         * modules/vasprintf-posix (Depends-on): Likewise.
56487         * modules/vfprintf-posix (Depends-on): Likewise.
56488         * modules/vsnprintf-posix (Depends-on): Likewise.
56489         * modules/vsprintf-posix (Depends-on): Likewise.
56490         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56491         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56492         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56493         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56494         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56495         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56496         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56497
56498 2007-11-04  Bruno Haible  <bruno@clisp.org>
56499
56500         * modules/nocrash: New file.
56501         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
56502         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
56503
56504 2007-11-04  Bruno Haible  <bruno@clisp.org>
56505
56506         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
56507         precision handling.
56508         * tests/test-vasprintf-posix.c (test_function): Likewise.
56509         * tests/test-snprintf-posix.h (test_function): Likewise.
56510         * tests/test-sprintf-posix.h (test_function): Likewise.
56511
56512         Fix *printf behaviour for large precisions on mingw and BeOS.
56513         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
56514         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
56515         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
56516         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
56517         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56518         gl_PRINTF_PRECISION and test its result. Invoke
56519         gl_PREREQ_VASNPRINTF_PRECISION.
56520         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56521         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56522         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56523         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56524         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56525         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56526         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56527         * doc/functions/fprintf.texi: Update.
56528         * doc/functions/printf.texi: Update.
56529         * doc/functions/snprintf.texi: Update.
56530         * doc/functions/sprintf.texi: Update.
56531         * doc/functions/vfprintf.texi: Update.
56532         * doc/functions/vprintf.texi: Update.
56533         * doc/functions/vsnprintf.texi: Update.
56534         * doc/functions/vsprintf.texi: Update.
56535
56536 2007-11-04  Bruno Haible  <bruno@clisp.org>
56537
56538         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
56539
56540 2007-11-04  Bruno Haible  <bruno@clisp.org>
56541
56542         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
56543         Reported by Sylvain Beucler <beuc@gnu.org>.
56544
56545 2007-11-03  Bruno Haible  <bruno@clisp.org>
56546
56547         * tests/test-fprintf-posix2.sh: New file.
56548         * tests/test-fprintf-posix2.c: New file.
56549         * modules/fprintf-posix-tests (Files): Add them.
56550         (TESTS): Add test-fprintf-posix2.sh.
56551         (configure.ac): Check for getrlimit and setrlimit.
56552         (check_PROGRAMS): Add test-fprintf-posix2.
56553
56554         * tests/test-printf-posix2.sh: New file.
56555         * tests/test-printf-posix2.c: New file.
56556         * modules/printf-posix-tests (Files): Add them.
56557         (TESTS): Add test-printf-posix2.sh.
56558         (configure.ac): Check for getrlimit and setrlimit.
56559         (check_PROGRAMS): Add test-printf-posix2.
56560
56561         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
56562         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
56563         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
56564         (decode_double): New function, copied from decode_long_double.
56565         (scale10_round_decimal_decoded): New function, extracted from
56566         scale10_round_decimal_long_double.
56567         (scale10_round_decimal_long_double): Use it.
56568         (scale10_round_decimal_double): New function.
56569         (floorlog10): New function.
56570         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
56571         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
56572         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
56573         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56574         gl_PRINTF_ENOMEM and test its result. Invoke
56575         gl_PREREQ_VASNPRINTF_ENOMEM.
56576         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56577         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56578         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56579         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56580         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56581         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56582         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56583         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
56584         * modules/snprintf-posix (Depends-on): Likewise.
56585         * modules/sprintf-posix (Depends-on): Likewise.
56586         * modules/vasnprintf-posix (Depends-on): Likewise.
56587         * modules/vasprintf-posix (Depends-on): Likewise.
56588         * modules/vfprintf-posix (Depends-on): Likewise.
56589         * modules/vsnprintf-posix (Depends-on): Likewise.
56590         * modules/vsprintf-posix (Depends-on): Likewise.
56591         * doc/functions/fprintf.texi: Update.
56592         * doc/functions/printf.texi: Update.
56593         * doc/functions/snprintf.texi: Update.
56594         * doc/functions/sprintf.texi: Update.
56595         * doc/functions/vfprintf.texi: Update.
56596         * doc/functions/vprintf.texi: Update.
56597         * doc/functions/vsnprintf.texi: Update.
56598         * doc/functions/vsprintf.texi: Update.
56599
56600 2007-11-03  Bruno Haible  <bruno@clisp.org>
56601
56602         * modules/frexp-nolibm-tests: New file.
56603
56604         * modules/frexp-nolibm: New file.
56605         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
56606
56607 2007-11-03  Bruno Haible  <bruno@clisp.org>
56608
56609         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
56610         value is C99 compliant.
56611         Needed for OSF/1 5.1.
56612
56613 2007-11-03  Bruno Haible  <bruno@clisp.org>
56614
56615         Fix out-of-memory handling of vasnprintf.
56616         * lib/printf-parse.c: Include <errno.h>.
56617         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
56618         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
56619         is already set.
56620
56621 2007-11-02  Eric Blake  <ebb9@byu.net>
56622
56623         Fix tests on cygwin.
56624         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
56625
56626 2007-11-01  Bruno Haible  <bruno@clisp.org>
56627
56628         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
56629         warning.
56630         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
56631         needed for POSIX compatibility.
56632
56633 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
56634
56635         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
56636         for compatibility with GNU.
56637
56638 2007-11-01  Bruno Haible  <bruno@clisp.org>
56639
56640         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
56641         (putenv): Renamed from rpl_putenv. Change argument type from
56642         'const char *' to 'char *'.
56643         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
56644         of defining putenv in config.h, just set REPLACE_PUTENV.
56645         * modules/putenv (Depends-on): Add stdlib.
56646         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
56647         (Include): Use <stdlib.h>.
56648         * lib/stdlib.in.h (putenv): New declaration.
56649         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
56650         REPLACE_PUTENV.
56651         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
56652         REPLACE_PUTENV.
56653         Needed for MacOS X 10.5.0.
56654         Reported by Peter O'Gorman <peter@pogma.com>.
56655
56656 2007-11-01  Jim Meyering  <meyering@redhat.com>
56657
56658         Treat an empty date string exactly like "0".
56659         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
56660         if the remaining date string (to be parsed) is empty, use "0".
56661         Reported by Mischa Molhoek and discussed in this thread:
56662         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
56663
56664 2007-10-31  Bruno Haible  <bruno@clisp.org>
56665
56666         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
56667         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
56668         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
56669         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
56670         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
56671         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
56672
56673 2007-10-31  Bruno Haible  <bruno@clisp.org>
56674
56675         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
56676         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
56677         (AC_TYPE_LONG_LONG_INT): Use it.
56678         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
56679         it as well.
56680         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
56681         to m4/longlong.m4.
56682         * modules/stdint (Files): Remove m4/ulonglong.m4.
56683         * modules/strtoull (Files): Use m4/longlong.m4 instead of
56684         m4/ulonglong.m4.
56685         * modules/strtoumax (Files): Likewise.
56686
56687 2007-10-30  Bruno Haible  <bruno@clisp.org>
56688
56689         * modules/xvasprintf-posix: New file.
56690         Suggested by Eric Blake.
56691
56692 2007-10-30  Bruno Haible  <bruno@clisp.org>
56693
56694         * modules/xprintf-posix-tests: New file.
56695         * tests/test-xprintf-posix.sh: New file.
56696         * tests/test-xprintf-posix.c: New file.
56697         * tests/test-xfprintf-posix.c: New file.
56698
56699         * modules/xprintf-posix: New file.
56700
56701 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56702
56703         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
56704         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
56705         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
56706
56707 2007-10-29  Bruno Haible  <bruno@clisp.org>
56708
56709         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
56710         contain the special marker '_cv_'.
56711         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
56712         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
56713         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
56714         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
56715         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
56716         Reported by Ralf Wildenhues.
56717
56718 2007-10-29  Bruno Haible  <bruno@clisp.org>
56719
56720         * gnulib-tool (func_import): When --lgpl is not specified, set
56721         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
56722         GPLv3.
56723         Reported by Simon Josefsson.
56724
56725 2007-10-28  Bruno Haible  <bruno@clisp.org>
56726
56727         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
56728         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
56729         HAVE_DECL_ISFINITE.
56730         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
56731         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
56732         HAVE_DECL_ISFINITE.
56733
56734 2007-10-28  Bruno Haible  <bruno@clisp.org>
56735
56736         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
56737         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
56738
56739 2007-10-28  Bruno Haible  <bruno@clisp.org>
56740
56741         Fix link errors with Sun C 5.0 on Solaris 10.
56742         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
56743         function is declared but not present in the compiler's libm.
56744         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
56745         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
56746         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
56747         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
56748         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
56749         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
56750         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
56751         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
56752         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
56753         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
56754         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
56755         HAVE_DECL_FLOORL.
56756
56757 2007-10-28  Bruno Haible  <bruno@clisp.org>
56758
56759         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
56760         gl_FUNC_FLOORL. Cache the result.
56761         (gl_FUNC_FLOORL): Use it.
56762         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
56763         gl_FUNC_CEILL. Cache the result.
56764         (gl_FUNC_CEILL): Use it.
56765
56766         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
56767         gl_FUNC_FLOOR. Cache the result.
56768         (gl_FUNC_FLOOR): Use it.
56769         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
56770         gl_FUNC_CEIL. Cache the result.
56771         (gl_FUNC_CEIL): Use it.
56772
56773         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
56774         gl_FUNC_FLOORF. Cache the result.
56775         (gl_FUNC_FLOORF): Use it.
56776         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
56777         gl_FUNC_CEILF. Cache the result.
56778         (gl_FUNC_CEILF): Use it.
56779
56780 2007-10-28  Bruno Haible  <bruno@clisp.org>
56781
56782         * gnulib-tool: Allow specifying the LGPL version number through
56783         --lgpl=2 or --lgpl=3.
56784         (func_usage): Document --lgpl with argument.
56785         Handle --lgpl=... arguments.
56786         (func_import): Recognize also gl_LGPL calls with an argument. When
56787         --lgpl=2 is used and the module's license is just LGPL, report an
56788         error. Set sed_transform_lib_file according to the lgpl variable. In
56789         the generated files, use --lgpl or gl_LGPL invocations with argument,
56790         if necessary.
56791         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
56792         an LGPv2+ license.
56793         * doc/gnulib-tool.texi (Modified imports): Update explanation of
56794         gl_LGPL macro.
56795
56796 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56797             Bruno Haible  <bruno@clisp.org>
56798
56799         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
56800         (u16_uctomb_aux): Likewise.
56801         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
56802         !HAVE_INLINE.
56803         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
56804
56805 2007-10-28  Bruno Haible  <bruno@clisp.org>
56806
56807         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
56808         Invoke AM_GETTEXT_OPTION if it exists.
56809         * modules/vasprintf: Likewise.
56810         * modules/verror: Likewise.
56811         * modules/xprintf: Likewise.
56812         * modules/xvasprintf: Likewise.
56813
56814 2007-10-27  Ben Pfaff  <blp@gnu.org>
56815
56816         * lib/math.in.h: Define isfinite macro and prototypes for
56817         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
56818         implementations.
56819         * m4/math_h.m4: New substitutions for isfinite module.
56820         * lib/isfinite.c: New file.
56821         * m4/isfinite.m4: New file.
56822         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
56823         * modules/isfinite: New file.
56824         * modules/isfinite-tests: New file.
56825         * tests/tests-isfinite.c: New file.
56826         * doc/functions/isfinite.texi: Mention isfinite module.
56827         * MODULES.html.sh: Mention new module.
56828
56829 2007-10-27  Ben Pfaff  <blp@gnu.org>
56830
56831         Ralf Wildenhues reported that Tru64 4.0D declares the round
56832         functions but does not have definitions.
56833         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
56834         cannot be found in any library, set the output variable to
56835         "missing" instead of "".
56836         * m4/round.m4: Also use our substitute if we cannot find round in
56837         any library, even if it is declared.
56838         * m4/roundf.m4: Likewise for roundf.
56839         * m4/roundl.m4: Likewise for roundl.
56840         * lib/math.in.h: Undefine roundf, round, roundl before defining
56841         their replacements, to allow for hypothetical systems where these
56842         may be defined as macros but not available in libraries.
56843
56844 2007-10-27  Bruno Haible  <bruno@clisp.org>
56845
56846         * doc/gnulib.texi: Invoke @firstparagraphindent.
56847         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
56848         changes in gnulib.
56849         (Source changes): New section.
56850
56851 2007-10-26  Bruno Haible  <bruno@clisp.org>
56852
56853         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
56854         borrowed from autoconf.
56855
56856 2007-10-26  Bruno Haible  <bruno@clisp.org>
56857
56858         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
56859         strerror returned the empty string. Needed on HP-UX 11.00.
56860
56861 2007-10-24  Micah Cowan  <micah@cowan.name>
56862
56863         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
56864         * build-aux/bootstrap: Remove support for now-unnecessary option,
56865         --cvs-user, and envvars CVS_USER, CVS_RSH.
56866
56867 2007-10-24  Jim Meyering  <meyering@redhat.com>
56868
56869         Avoid diagnostics from sha1sum when there is no cached checksum.
56870         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
56871         if the po.s1 file hasn't been created yet.
56872
56873         * build-aux/bootstrap: Sync from coreutils:
56874         2007-10-24  Jim Meyering  <meyering@redhat.com>
56875         Get gnulib from the git repository, not from an obsolete cvs one.
56876         * build-aux/bootstrap: Suggestion from Micah Cowan.
56877         2007-10-04  Jim Meyering  <jim@meyering.net>
56878         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
56879         (update_po_files): Work also when there are no .po files in po/.
56880
56881 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
56882
56883         * README: Append ".git" to git and cg examples.
56884         Problem reported by Benoit Sigoure.
56885
56886 2007-10-23  Micah Cowan  <micah@cowan.name>
56887
56888         * users.txt: Add wget.
56889
56890 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56891
56892         Fix linking of some unistdio tests on FreeBSD.
56893         * modules/unistdio/u16-vsnprintf-tests
56894         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
56895         * modules/unistdio/u16-vsprintf-tests
56896         (test_u16_vsnprintf1_LDADD): Likewise.
56897         * modules/unistdio/u32-vsnprintf-tests
56898         (test_u32_vsnprintf1_LDADD): Likewise.
56899         * modules/unistdio/u32-vsprintf-tests
56900         (test_u32_vsprintf1_LDADD): Likewise.
56901         * modules/unistdio/u8-vsnprintf-tests
56902         (test_u8_vsnprintf1_LDADD): Likewise.
56903         * modules/unistdio/u8-vsprintf-tests
56904         (test_u8_vsprintf1_LDADD): Likewise.
56905         * modules/unistdio/ulc-vsnprintf-tests
56906         (test_ulc_vsnprintf1_LDADD): Likewise.
56907         * modules/unistdio/ulc-vsprintf-tests
56908         (test_ulc_vsprintf1_LDADD): Likewise.
56909
56910         Fix linking of some uniconv tests on FreeBSD.
56911         * modules/uniconv/u16-conv-from-enc-tests
56912         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
56913         * modules/uniconv/u16-conv-to-enc-tests
56914         (test_u16_conv_to_enc_LDADD): Likewise.
56915         * modules/uniconv/u16-strconv-from-enc-tests
56916         (test_u16_strconv_from_enc_LDADD): Likewise.
56917         * modules/uniconv/u16-strconv-to-enc-tests
56918         (test_u16_strconv_to_enc_LDADD): Likewise.
56919         * modules/uniconv/u32-conv-from-enc-tests
56920         (test_u32_conv_from_enc_LDADD): Likewise.
56921         * modules/uniconv/u32-conv-to-enc-tests
56922         (test_u32_conv_to_enc_LDADD): Likewise.
56923         * modules/uniconv/u32-strconv-from-enc-tests
56924         (test_u32_strconv_from_enc_LDADD): Likewise.
56925         * modules/uniconv/u32-strconv-to-enc-tests
56926         (test_u32_strconv_to_enc_LDADD): Likewise.
56927         * modules/uniconv/u8-conv-from-enc-tests
56928         (test_u8_conv_from_enc_LDADD): Likewise.
56929         * modules/uniconv/u8-conv-to-enc-tests
56930         (test_u8_conv_to_enc_LDADD): Likewise.
56931         * modules/uniconv/u8-strconv-from-enc-tests
56932         (test_u8_strconv_from_enc_LDADD): Likewise.
56933         * modules/uniconv/u8-strconv-to-enc-tests
56934         (test_u8_strconv_to_enc_LDADD): Likewise.
56935
56936 2007-10-22  Bruno Haible  <bruno@clisp.org>
56937
56938         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
56939         size.
56940
56941 2007-10-22  Eric Blake  <ebb9@byu.net>
56942
56943         Tweak x*printf documentation.
56944         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
56945         variable name and comments.
56946         Suggested by Bruno Haible.
56947
56948 2007-10-22  Bruno Haible  <bruno@clisp.org>
56949
56950         * lib/acl.c (copy_acl): Fix file name in comment.
56951
56952 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
56953
56954         Fix Tru64 problem with stdbool.h.
56955         * lib/stdbool.in.h (false, true):
56956         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
56957         Don't declare as an enum in this situation; it runs afoul of Tru64.
56958         Problem reported by Steven M. Schweda in
56959         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
56960
56961 2007-10-22  Eric Blake  <ebb9@byu.net>
56962
56963         Also wrap vf?printf.
56964         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
56965         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
56966         (xvprintf, xvfprintf): New functions.
56967
56968 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56969
56970         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
56971         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
56972
56973         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
56974         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
56975
56976 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
56977
56978         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
56979         by Bruno Haible.
56980
56981 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56982
56983         * lib/getloadavg.c
56984         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
56985         Undef `sys' after including sys/table.h, for Tru64 4.0D.
56986
56987         * tests/test-i-ring.c: Work for C89.
56988
56989 2007-10-22  Bruno Haible  <bruno@clisp.org>
56990
56991         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
56992         -1u, in preprocessor expression, so that we don't test for the bug
56993         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
56994         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
56995
56996 2007-10-22  Eric Blake  <ebb9@byu.net>
56997
56998         * tests/test-yesno.sh: Silence stderr during test.
56999
57000 2007-10-22  Simon Josefsson  <simon@josefsson.org>
57001
57002         * modules/crypto/gc-camellia: New file.
57003
57004         * m4/gc-camellia.m4: New file.
57005
57006         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
57007
57008         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
57009
57010 2007-10-22  Simon Josefsson  <simon@josefsson.org>
57011
57012         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
57013         --help to stdout.  Reported by sms@antinode.org (Steven
57014         M. Schweda).
57015
57016 2007-10-22  Simon Josefsson  <simon@josefsson.org>
57017
57018         * users.txt: Fix link to libksba.
57019
57020 2007-10-21  Ben Pfaff  <blp@gnu.org>
57021
57022         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
57023         round.c roundf implementation that depends on floorf and ceilf to
57024         be tested unconditionally.
57025
57026 2007-10-21  Ben Pfaff  <blp@gnu.org>
57027
57028         * m4/check-libm-func.m4: Removed.
57029         * m4/check-math-lib.m4: New file.
57030         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
57031         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
57032         definition and lack of AC_LIBOBJ([roundf]).
57033         * m4/roundl.m4: Ditto, and similarly for roundl.
57034         * modules/round: Reference new m4 file.
57035         * modules/roundf: Ditto.
57036         * modules/roundl: Ditto.
57037         * tests/test-round2.c (main): Use ROUND instead of round.
57038         Bug report from Bruno Haible.
57039
57040 2007-10-21  Bruno Haible  <bruno@clisp.org>
57041
57042         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
57043         context.
57044
57045 2007-10-21  Bruno Haible  <bruno@clisp.org>
57046
57047         * tests/test-wcwidth.c (main): Allow negative result for some control
57048         characters.
57049
57050         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
57051         Needed on OSF/1 5.1.
57052
57053 2007-10-21  Bruno Haible  <bruno@clisp.org>
57054
57055         * tests/test-floorf1.c: Include isnanf.h.
57056         (main): Use isnanf() instead of isnan().
57057         * tests/test-ceilf1.c: Include isnanf.h.
57058         (main): Use isnanf() instead of isnan().
57059         * tests/test-truncf1.c: Include isnanf.h.
57060         (main): Use isnanf() instead of isnan().
57061         * tests/test-roundf1.c: Include isnanf.h.
57062         (main): Use isnanf() instead of isnan().
57063
57064 2007-10-21  Eric Blake  <ebb9@byu.net>
57065
57066         * users.txt: Update URL for m4.
57067
57068 2007-10-21  Bruno Haible  <bruno@clisp.org>
57069
57070         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
57071
57072 2007-10-21  Bruno Haible  <bruno@clisp.org>
57073
57074         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
57075         Git's management files if the CVS files are not present.
57076
57077 2007-10-20  Bruno Haible  <bruno@clisp.org>
57078
57079         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
57080         gcc-3.4.x.
57081
57082 2007-10-20  Ben Pfaff  <blp@gnu.org>
57083
57084         * lib/math.in.h: Declare round, roundf, roundl if we are providing
57085         implementations.
57086         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
57087         * lib/round.c: New file.
57088         * lib/roundf.c: New file.
57089         * lib/roundl.c: New file.
57090         * m4/round.m4: New file.
57091         * m4/roundf.m4: New file.
57092         * m4/roundl.m4: New file.
57093         * m4/check-libm-func-m4: New file.
57094         * modules/math: Replace round, roundf, roundl related @VARS@ in
57095         math.in.h.
57096         * modules/round: New file.
57097         * modules/round-tests: New file.
57098         * modules/roundf: New file.
57099         * modules/roundf-tests: New file.
57100         * modules/roundl: New file.
57101         * modules/roundl-tests: New file.
57102         * tests/test-round1.c: New file.
57103         * tests/test-round2.c: New file.
57104         * tests/test-roundf1.c: New file.
57105         * tests/test-roundf2.c: New file.
57106         * tests/test-roundl.c: New file.
57107         * doc/functions/round.texi: Mention round module.
57108         * doc/functions/roundf.texi: Mention roundf module.
57109         * doc/functions/roundl.texi: Mention roundl module.
57110         * MODULES.html.sh: Mention new modules.
57111         Thanks to Bruno Haible for suggestions.
57112
57113 2007-10-20  Jim Meyering  <meyering@redhat.com>
57114
57115         * lib/xprintf.c: Include <config.h> unconditionally.
57116
57117         Change xprintf's license to GPL.
57118         * modules/xprintf (License): s/LGPL/GPL/, since this module
57119         depends on modules (exit and exitfail) which are GPL.
57120         Suggestion from Bruno Haible.
57121
57122         xprintf fixes.
57123         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
57124         Use a clearer diagnostic.
57125         Patch from Bruno Haible.
57126
57127 2007-10-20  Bruno Haible  <bruno@clisp.org>
57128
57129         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
57130         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
57131         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57132
57133 2007-10-20  Bruno Haible  <bruno@clisp.org>
57134
57135         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
57136         precision in the comparison result > x - 1 or similar.
57137         * tests/test-ceilf2.c (correct_result_p): Likewise.
57138         * tests/test-truncf2.c (correct_result_p): Likewise.
57139         * tests/test-trunc2.c (correct_result_p): Likewise.
57140         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57141
57142 2007-10-20  Bruno Haible  <bruno@clisp.org>
57143
57144         * modules/ceil: New file.
57145         * m4/ceil.m4: New file.
57146         * doc/functions/ceil.texi: Mention the 'ceil' module.
57147
57148 2007-10-20  Bruno Haible  <bruno@clisp.org>
57149
57150         * modules/floor: New file.
57151         * m4/floor.m4: New file.
57152         * doc/functions/floor.texi: Mention the 'floor' module.
57153
57154 2007-10-20  Bruno Haible  <bruno@clisp.org>
57155
57156         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
57157         of %a.
57158         * modules/floorf-tests (Depends-on): Likewise.
57159         * modules/truncf-tests (Depends-on): Likewise.
57160         * modules/trunc-tests (Depends-on): Likewise.
57161         Reported by Ben Pfaff.
57162
57163 2007-10-19  Jim Meyering  <meyering@redhat.com>
57164
57165         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
57166         Don't bother testing specific errno values.  Just test ferror.
57167
57168         New module: xprintf
57169         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
57170
57171 2007-10-19  Bruno Haible  <bruno@clisp.org>
57172
57173         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
57174         syntax.
57175         * modules/javaexec (Makefile.am): Likewise.
57176         * modules/relocatable-prog (Makefile.am): Likewise.
57177         Suggested by Jim Meyering.
57178
57179 2007-10-18  Bruno Haible  <bruno@clisp.org>
57180
57181         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
57182         Reported by Jim Meyering.
57183
57184 2007-10-18  Eric Blake  <ebb9@byu.net>
57185
57186         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
57187
57188 2007-10-18  Bruno Haible  <bruno@clisp.org>
57189
57190         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
57191         the format string into writable memory. Needed in Fortify conditions.
57192
57193 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
57194             Bruno Haible  <bruno@clisp.org>
57195
57196         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
57197         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
57198         * modules/trim (Depends-on): Add mbchar.
57199         (configure.ac): Add gl_FUNC_MBRTOWC.
57200         (Makefile.am): Augment lib_SOURCES.
57201
57202 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
57203
57204         Modify glob.c to use fstatat and dirfd, to simplify it.
57205         Suggested by Eric Blake.
57206         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
57207         Don't include <stdbool.h>; not used.
57208         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
57209         (link_exists_p): Simplify implementation, since we can now assume
57210         dirfd and fstatat.
57211         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
57212
57213 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57214
57215         * gnulib-tool (func_get_dependencies): Fix sed script to
57216         match only tests.
57217
57218 2007-10-17  Bruno Haible  <bruno@clisp.org>
57219
57220         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
57221         allow locale names without encoding suffix.
57222         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
57223         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
57224
57225 2007-10-16  Bruno Haible  <bruno@clisp.org>
57226
57227         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
57228         * lib/getgroups.c (getgroups): Likewise.
57229         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
57230
57231 2007-10-16  Bruno Haible  <bruno@clisp.org>
57232
57233         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
57234         * modules/malloc-posix (License): Likewise.
57235         * modules/realloc-posix (License): Likewise.
57236         * modules/calloc-posix (License): Likewise.
57237         * modules/intprops (License): Change from GPL to LGPL, with
57238         Paul Eggert's approval.
57239
57240 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
57241
57242         Merge glibc changes into lib/glob.c.
57243
57244         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
57245         2007-10-15 04:59:03 UTC.  Here are the changes:
57246
57247         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
57248
57249         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
57250
57251         * lib/glob.c: Add some branch prediction throughout.
57252
57253         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
57254
57255         [BZ #5103]
57256         * lib/glob.c (glob): Recognize patterns starting \/.
57257
57258         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
57259
57260         [BZ #3996]
57261         * lib/glob.c (attribute_hidden): Define if not defined.
57262         (glob): Unescape dirname, filename or username when needed and not
57263         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
57264         is NULL.  Handle unescaped [ in pattern without closing ].
57265         Don't pass GLOB_CHECK down to recursive glob for directories.
57266         (__glob_pattern_type): New function.
57267         (__glob_pattern_p): Implement using __glob_pattern_type.
57268         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
57269         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
57270         Remove unreachable code.
57271
57272         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
57273
57274         * lib/glob.c (glob_in_dir): Add some comments and asserts to
57275         explain why there are no leaks.
57276
57277         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
57278
57279         [BZ #3253]
57280         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
57281         time, rather allocate increasingly bigger arrays of pointers, if
57282         possible with alloca, if too large with malloc.
57283
57284 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
57285
57286         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
57287         Problem reported by H.Merijn Brand in
57288         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
57289         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
57290         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
57291
57292 2007-10-15  Bruno Haible  <bruno@clisp.org>
57293
57294         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
57295         with explicit rpl_ prefix.
57296         * lib/fopen.c (fopen): Likewise.
57297         * lib/freopen.c (freopen): Likewise.
57298         * lib/iconv.c (iconv): Likewise.
57299         * lib/iconv_close.c (iconv_close): Likewise.
57300
57301 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57302
57303         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
57304
57305 2007-10-15  Bruno Haible  <bruno@clisp.org>
57306
57307         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
57308         <stddef.h> instead of <stdlib.h> since we only need NULL.
57309         Reported by Ben Pfaff <blp@cs.stanford.edu>.
57310
57311 2007-10-15  Bruno Haible  <bruno@clisp.org>
57312
57313         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
57314         Replace paragraph talking about LIBOBJS.
57315         Reported by Colin Watson <cjwatson@debian.org>.
57316
57317 2007-10-15  Bruno Haible  <bruno@clisp.org>
57318
57319         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
57320         <stdlib.h> before using NULL.
57321
57322 2007-10-15  Simon Josefsson  <simon@josefsson.org>
57323
57324         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
57325         Reported by Albert Chin <china@thewrittenword.com>.
57326
57327 2007-10-14  Bruno Haible  <bruno@clisp.org>
57328
57329         * modules/iconv_open-utf-tests: New file.
57330         * tests/test-iconv-utf.c: New file.
57331
57332         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
57333         * modules/iconv_open-utf: New file.
57334         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
57335         (iconv, iconv_close): New declarations.
57336         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
57337         be defined.
57338         (iconv_open): Add special handling of conversion between UTF-8 and
57339         UTF-{16,32}{BE,LE}.
57340         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
57341         * lib/iconv_close.c: New file.
57342         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
57343         gl_FUNC_ICONV_OPEN.
57344         (gl_FUNC_ICONV_OPEN): Use it.
57345         (gl_FUNC_ICONV_OPEN_UTF): New macro.
57346         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
57347         and REPLACE_ICONV_UTF.
57348         * modules/iconv_open (Depends-on): Add c-strcase.
57349         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
57350         ICONV_CONST.
57351         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
57352
57353 2007-10-13  Albert Chin  <china@thewrittenword.com>
57354             Bruno Haible  <bruno@clisp.org>
57355
57356         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
57357         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
57358
57359 2007-10-13  Bruno Haible  <bruno@clisp.org>
57360
57361         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
57362         defined, use the ISO C99 inline semantics.
57363         * lib/argp.h (ARGP_EI): Likewise.
57364
57365 2007-10-13  Bruno Haible  <bruno@clisp.org>
57366
57367         Handle 'inline' change in gcc 4.3.0.
57368         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
57369         argp_fmtstream_write, argp_fmtstream_set_lmargin,
57370         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
57371         argp_fmtstream_point): Disable 'extern' declaration if the function
57372         definition is going to be provided inline.
57373         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
57374         semantics, not the ISO C99 inline semantics.
57375         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
57376         'extern' declaration if the function definition is going to be provided
57377         inline.
57378         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
57379         the GNU C inline semantics, not the ISO C99 inline semantics. With
57380         GCC 4.2, avoid a warning.
57381
57382 2007-10-13  Bruno Haible  <bruno@clisp.org>
57383
57384         * lib/freading.h (freading): Enable the use of __freading for
57385         glibc >= 2.7.
57386         * lib/freading.c (freading): Likewise.
57387
57388 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
57389
57390         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
57391         "warning: C99 inline functions are not supported; using GNU89".
57392
57393 2007-10-12  Bruno Haible  <bruno@clisp.org>
57394
57395         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
57396         of 2.
57397         * tests/test-ceilf2.c: New file.
57398         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
57399
57400         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
57401         * modules/ceilf-tests: Update.
57402
57403 2007-10-12  Bruno Haible  <bruno@clisp.org>
57404
57405         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
57406         of 2.
57407         * tests/test-floorf2.c: New file.
57408         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
57409
57410         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
57411         * modules/floorf-tests: Update.
57412
57413 2007-10-12  Bruno Haible  <bruno@clisp.org>
57414
57415         * tests/test-trunc2.c: New file.
57416         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
57417
57418         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
57419         * modules/trunc-tests: Update.
57420
57421 2007-10-12  Bruno Haible  <bruno@clisp.org>
57422
57423         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
57424         of 2.
57425         * tests/test-truncf2.c: New file.
57426         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
57427
57428         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
57429         * modules/truncf-tests: Update.
57430
57431 2007-10-11  Eric Blake  <ebb9@byu.net>
57432
57433         Don't claim strerror is broken on Interix.
57434         * doc/functions/strerror.texi (strerror): Known broken systems are
57435         now Solaris 8, and not Interix.
57436         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
57437         Interix on cross-compile.
57438         Reported by Martin Koeppe in
57439         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
57440
57441 2007-10-11  Bruno Haible  <bruno@clisp.org>
57442
57443         * modules/i-ring-tests: New file.
57444         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
57445         instead of assert.
57446
57447 2007-10-11  Bruno Haible  <bruno@clisp.org>
57448
57449         * modules/filenamecat-tests: New file.
57450         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
57451         * lib/filenamecat.c: Remove test code.
57452
57453 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
57454
57455         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
57456
57457         * lib/strerror.c: Include <string.h> always, to test interface,
57458         and to remove the need for the dummy.
57459         Include intprops.h to compute width instead of doing it ourselves
57460         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
57461         (strerror): Define it to return NULL if there's no system strerror.
57462         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
57463         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
57464         ancient pre-strerror Unix systems well any more.  Saying "unknown
57465         system error" is enough.
57466         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
57467         simpler strerror.c implementation.
57468         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
57469         Simplify the tests to reflect the simpler strerror implementation.
57470         * modules/strerror (Depends-on): Add intprops.
57471
57472 2007-10-09  Eric Blake  <ebb9@byu.net>
57473
57474         Silence test-fpending.
57475         * modules/fpending-tests (Files): Add wrapper script.
57476         * tests/test-fpending.sh: New file.
57477
57478 2007-10-09  Bruno Haible  <bruno@clisp.org>
57479
57480         * MODULES.html.sh (func_module): Don't create a hyperlink for
57481         function names like 'printf_frexp'.
57482         (Misc): Add crc, memxor.
57483         (Characteristics of floating types): New section.
57484         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
57485         isnanf-nolibm, signbit, trunc, truncf, truncl.
57486         (Enhancements for ISO C 99 functions): New subsection Input/output.
57487         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
57488         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
57489         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
57490         (Compatibility checks for POSIX:2001 functions): Add clock-time.
57491         (Enhancements for POSIX:2001 functions): Add chdir-long.
57492         (File system functions): Add areadlink, chdir-safer, read-file.
57493         Remove cycle-check.
57494         (File system as inode set): New section.
57495         (Date and time): Add gethrxtime.
57496         (Multithreading): Add openmp.
57497         (Internationalization functions): Add localename.
57498         (Unicode string functions): Add unistr/u*-mbsnlen.
57499         (Support for maintaining and releasing projects): Add git-version-gen.
57500         (Lone files): Remove directories.
57501
57502 2007-10-08  Ben Pfaff  <blp@gnu.org>
57503
57504         * lib/xmalloca.h: Fix typo in comment.
57505
57506 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
57507
57508         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
57509         when avoiding problems with integer overflow.  Use a portable test
57510         instead.
57511
57512 2007-10-08  Simon Josefsson  <simon@josefsson.org>
57513
57514         * modules/dummy (License): Change to LGPLv2+.
57515         * modules/float (License): Likewise
57516         * modules/realloc (License): Likewise
57517         * modules/stdlib (License): Likewise
57518
57519 2007-10-07  Bruno Haible  <bruno@clisp.org>
57520
57521         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
57522         * floor.c (TWO_MANT_DIG): Likewise.
57523         * ceil.c (TWO_MANT_DIG): Likewise.
57524         Reported by Ben Pfaff.
57525
57526 2007-10-07  Bruno Haible  <bruno@clisp.org>
57527
57528         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
57529         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
57530         * lib/frexp.c (FUNC): Likewise.
57531         * lib/printf-frexp.h (printf_frexp): Likewise.
57532         * lib/printf-frexpl.h (printf_frexpl): Likewise.
57533         * lib/printf-frexp.c (FUNC): Likewise.
57534         Suggested by Jim Meyering.
57535
57536 2007-10-07  Jim Meyering  <meyering@redhat.com>
57537
57538         Make xnanosleep's integer overflow test more robust.
57539         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
57540         so that gcc-4.3.0 doesn't optimize away this test for overflow.
57541
57542 2007-10-07  Bruno Haible  <bruno@clisp.org>
57543
57544         * NEWS: Mention the license change.
57545
57546         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
57547         abbreviations in the modules files.
57548
57549         Change copyright notice from GPLv2+ to GPLv3+.
57550         * README: Change copyright notice.
57551         * MODULES.html.sh: Likewise.
57552         * build-aux/bootstrap.conf: Likewise.
57553         * build-aux/config.libpath: Likewise.
57554         * build-aux/csharpcomp.sh.in: Likewise.
57555         * build-aux/csharpexec.sh.in: Likewise.
57556         * build-aux/install-reloc: Likewise.
57557         * build-aux/javacomp.sh.in: Likewise.
57558         * build-aux/javaexec.sh.in: Likewise.
57559         * build-aux/ldd.sh.in: Likewise.
57560         * build-aux/reloc-ldflags: Likewise.
57561         * build-aux/relocatable.sh.in: Likewise.
57562         * build-aux/x-to-1.in: Likewise.
57563         * check-module: Likewise.
57564         * config/srclistvars.sh: Likewise.
57565         * gnulib-tool: Likewise.
57566         * lib/acl-internal.h: Likewise.
57567         * lib/acl.c: Likewise.
57568         * lib/acl.h: Likewise.
57569         * lib/acl_entries.c: Likewise.
57570         * lib/areadlink-with-size.c: Likewise.
57571         * lib/areadlink.c: Likewise.
57572         * lib/areadlink.h: Likewise.
57573         * lib/argmatch.c: Likewise.
57574         * lib/argmatch.h: Likewise.
57575         * lib/argp-ba.c: Likewise.
57576         * lib/argp-eexst.c: Likewise.
57577         * lib/argp-fmtstream.c: Likewise.
57578         * lib/argp-fmtstream.h: Likewise.
57579         * lib/argp-fs-xinl.c: Likewise.
57580         * lib/argp-help.c: Likewise.
57581         * lib/argp-namefrob.h: Likewise.
57582         * lib/argp-parse.c: Likewise.
57583         * lib/argp-pin.c: Likewise.
57584         * lib/argp-pv.c: Likewise.
57585         * lib/argp-pvh.c: Likewise.
57586         * lib/argp-xinl.c: Likewise.
57587         * lib/argp.h: Likewise.
57588         * lib/at-func.c: Likewise.
57589         * lib/atanl.c: Likewise.
57590         * lib/backupfile.c: Likewise.
57591         * lib/backupfile.h: Likewise.
57592         * lib/basename.c: Likewise.
57593         * lib/binary-io.h: Likewise.
57594         * lib/byteswap.in.h: Likewise.
57595         * lib/c-stack.c: Likewise.
57596         * lib/c-stack.h: Likewise.
57597         * lib/c-strcasestr.c: Likewise.
57598         * lib/c-strcasestr.h: Likewise.
57599         * lib/c-strstr.c: Likewise.
57600         * lib/c-strstr.h: Likewise.
57601         * lib/c-strtod.c: Likewise.
57602         * lib/calloc.c: Likewise.
57603         * lib/canon-host.c: Likewise.
57604         * lib/canon-host.h: Likewise.
57605         * lib/canonicalize-lgpl.c: Likewise.
57606         * lib/canonicalize.c: Likewise.
57607         * lib/canonicalize.h: Likewise.
57608         * lib/ceil.c: Likewise.
57609         * lib/ceilf.c: Likewise.
57610         * lib/ceill.c: Likewise.
57611         * lib/chdir-long.c: Likewise.
57612         * lib/chdir-long.h: Likewise.
57613         * lib/chdir-safer.c: Likewise.
57614         * lib/chdir-safer.h: Likewise.
57615         * lib/chown.c: Likewise.
57616         * lib/classpath.c: Likewise.
57617         * lib/classpath.h: Likewise.
57618         * lib/clean-temp.c: Likewise.
57619         * lib/clean-temp.h: Likewise.
57620         * lib/cloexec.c: Likewise.
57621         * lib/close-stream.c: Likewise.
57622         * lib/closein.c: Likewise.
57623         * lib/closein.h: Likewise.
57624         * lib/closeout.c: Likewise.
57625         * lib/closeout.h: Likewise.
57626         * lib/concat-filename.c: Likewise.
57627         * lib/copy-file.c: Likewise.
57628         * lib/copy-file.h: Likewise.
57629         * lib/count-one-bits.h: Likewise.
57630         * lib/crc.c: Likewise.
57631         * lib/crc.h: Likewise.
57632         * lib/creat-safer.c: Likewise.
57633         * lib/csharpcomp.c: Likewise.
57634         * lib/csharpcomp.h: Likewise.
57635         * lib/csharpexec.c: Likewise.
57636         * lib/csharpexec.h: Likewise.
57637         * lib/cycle-check.c: Likewise.
57638         * lib/cycle-check.h: Likewise.
57639         * lib/diacrit.c: Likewise.
57640         * lib/diacrit.h: Likewise.
57641         * lib/diffseq.h: Likewise.
57642         * lib/dirchownmod.c: Likewise.
57643         * lib/dirent.in.h: Likewise.
57644         * lib/dirfd.c: Likewise.
57645         * lib/dirfd.h: Likewise.
57646         * lib/dirname.c: Likewise.
57647         * lib/dirname.h: Likewise.
57648         * lib/dummy.c: Likewise.
57649         * lib/dup-safer.c: Likewise.
57650         * lib/dup2.c: Likewise.
57651         * lib/eealloc.h: Likewise.
57652         * lib/error.c: Likewise.
57653         * lib/error.h: Likewise.
57654         * lib/euidaccess.c: Likewise.
57655         * lib/exclude.c: Likewise.
57656         * lib/exclude.h: Likewise.
57657         * lib/execute.c: Likewise.
57658         * lib/execute.h: Likewise.
57659         * lib/exitfail.c: Likewise.
57660         * lib/exitfail.h: Likewise.
57661         * lib/expl.c: Likewise.
57662         * lib/fatal-signal.c: Likewise.
57663         * lib/fatal-signal.h: Likewise.
57664         * lib/fbufmode.c: Likewise.
57665         * lib/fbufmode.h: Likewise.
57666         * lib/fchdir.c: Likewise.
57667         * lib/fchmodat.c: Likewise.
57668         * lib/fchownat.c: Likewise.
57669         * lib/fcntl--.h: Likewise.
57670         * lib/fcntl-safer.h: Likewise.
57671         * lib/fcntl.in.h: Likewise.
57672         * lib/fd-safer.c: Likewise.
57673         * lib/fflush.c: Likewise.
57674         * lib/file-has-acl.c: Likewise.
57675         * lib/file-set.c: Likewise.
57676         * lib/file-type.c: Likewise.
57677         * lib/file-type.h: Likewise.
57678         * lib/fileblocks.c: Likewise.
57679         * lib/filemode.c: Likewise.
57680         * lib/filemode.h: Likewise.
57681         * lib/filename.h: Likewise.
57682         * lib/filenamecat.c: Likewise.
57683         * lib/filenamecat.h: Likewise.
57684         * lib/findprog.c: Likewise.
57685         * lib/findprog.h: Likewise.
57686         * lib/float.in.h: Likewise.
57687         * lib/floor.c: Likewise.
57688         * lib/floorf.c: Likewise.
57689         * lib/floorl.c: Likewise.
57690         * lib/fopen-safer.c: Likewise.
57691         * lib/fopen.c: Likewise.
57692         * lib/fpending.c: Likewise.
57693         * lib/fpending.h: Likewise.
57694         * lib/fprintf.c: Likewise.
57695         * lib/fprintftime.h: Likewise.
57696         * lib/fpucw.h: Likewise.
57697         * lib/fpurge.c: Likewise.
57698         * lib/fpurge.h: Likewise.
57699         * lib/freadable.c: Likewise.
57700         * lib/freadable.h: Likewise.
57701         * lib/freadahead.c: Likewise.
57702         * lib/freadahead.h: Likewise.
57703         * lib/freading.c: Likewise.
57704         * lib/freading.h: Likewise.
57705         * lib/free.c: Likewise.
57706         * lib/freopen.c: Likewise.
57707         * lib/frexp.c: Likewise.
57708         * lib/frexpl.c: Likewise.
57709         * lib/fseek.c: Likewise.
57710         * lib/fseterr.c: Likewise.
57711         * lib/fseterr.h: Likewise.
57712         * lib/fstatat.c: Likewise.
57713         * lib/fstrcmp.c: Likewise.
57714         * lib/fstrcmp.h: Likewise.
57715         * lib/fsusage.c: Likewise.
57716         * lib/fsusage.h: Likewise.
57717         * lib/ftell.c: Likewise.
57718         * lib/ftello.c: Likewise.
57719         * lib/fts-cycle.c: Likewise.
57720         * lib/fts.c: Likewise.
57721         * lib/fts_.h: Likewise.
57722         * lib/full-read.c: Likewise.
57723         * lib/full-read.h: Likewise.
57724         * lib/full-write.c: Likewise.
57725         * lib/full-write.h: Likewise.
57726         * lib/fwritable.c: Likewise.
57727         * lib/fwritable.h: Likewise.
57728         * lib/fwriteerror.c: Likewise.
57729         * lib/fwriteerror.h: Likewise.
57730         * lib/fwriting.c: Likewise.
57731         * lib/fwriting.h: Likewise.
57732         * lib/gcd.c: Likewise.
57733         * lib/gcd.h: Likewise.
57734         * lib/getcwd.c: Likewise.
57735         * lib/getdate.h: Likewise.
57736         * lib/getdate.y: Likewise.
57737         * lib/getdomainname.c: Likewise.
57738         * lib/getdomainname.h: Likewise.
57739         * lib/getgroups.c: Likewise.
57740         * lib/gethostname.c: Likewise.
57741         * lib/gethrxtime.c: Likewise.
57742         * lib/gethrxtime.h: Likewise.
57743         * lib/getloadavg.c: Likewise.
57744         * lib/getndelim2.c: Likewise.
57745         * lib/getndelim2.h: Likewise.
57746         * lib/getnline.c: Likewise.
57747         * lib/getnline.h: Likewise.
57748         * lib/getopt.c: Likewise.
57749         * lib/getopt.in.h: Likewise.
57750         * lib/getopt1.c: Likewise.
57751         * lib/getopt_int.h: Likewise.
57752         * lib/getpagesize.h: Likewise.
57753         * lib/getsubopt.c: Likewise.
57754         * lib/gettime.c: Likewise.
57755         * lib/getugroups.c: Likewise.
57756         * lib/getugroups.h: Likewise.
57757         * lib/getusershell.c: Likewise.
57758         * lib/gl_anyavltree_list1.h: Likewise.
57759         * lib/gl_anyavltree_list2.h: Likewise.
57760         * lib/gl_anyhash_list1.h: Likewise.
57761         * lib/gl_anyhash_list2.h: Likewise.
57762         * lib/gl_anylinked_list1.h: Likewise.
57763         * lib/gl_anylinked_list2.h: Likewise.
57764         * lib/gl_anyrbtree_list1.h: Likewise.
57765         * lib/gl_anyrbtree_list2.h: Likewise.
57766         * lib/gl_anytree_list1.h: Likewise.
57767         * lib/gl_anytree_list2.h: Likewise.
57768         * lib/gl_anytree_oset.h: Likewise.
57769         * lib/gl_anytreehash_list1.h: Likewise.
57770         * lib/gl_anytreehash_list2.h: Likewise.
57771         * lib/gl_array_list.c: Likewise.
57772         * lib/gl_array_list.h: Likewise.
57773         * lib/gl_array_oset.c: Likewise.
57774         * lib/gl_array_oset.h: Likewise.
57775         * lib/gl_avltree_list.c: Likewise.
57776         * lib/gl_avltree_list.h: Likewise.
57777         * lib/gl_avltree_oset.c: Likewise.
57778         * lib/gl_avltree_oset.h: Likewise.
57779         * lib/gl_avltreehash_list.c: Likewise.
57780         * lib/gl_avltreehash_list.h: Likewise.
57781         * lib/gl_carray_list.c: Likewise.
57782         * lib/gl_carray_list.h: Likewise.
57783         * lib/gl_linked_list.c: Likewise.
57784         * lib/gl_linked_list.h: Likewise.
57785         * lib/gl_linkedhash_list.c: Likewise.
57786         * lib/gl_linkedhash_list.h: Likewise.
57787         * lib/gl_list.c: Likewise.
57788         * lib/gl_list.h: Likewise.
57789         * lib/gl_oset.c: Likewise.
57790         * lib/gl_oset.h: Likewise.
57791         * lib/gl_rbtree_list.c: Likewise.
57792         * lib/gl_rbtree_list.h: Likewise.
57793         * lib/gl_rbtree_oset.c: Likewise.
57794         * lib/gl_rbtree_oset.h: Likewise.
57795         * lib/gl_rbtreehash_list.c: Likewise.
57796         * lib/gl_rbtreehash_list.h: Likewise.
57797         * lib/gl_sublist.c: Likewise.
57798         * lib/gl_sublist.h: Likewise.
57799         * lib/group-member.c: Likewise.
57800         * lib/group-member.h: Likewise.
57801         * lib/hard-locale.c: Likewise.
57802         * lib/hard-locale.h: Likewise.
57803         * lib/hash-pjw.c: Likewise.
57804         * lib/hash-pjw.h: Likewise.
57805         * lib/hash-triple.c: Likewise.
57806         * lib/hash.c: Likewise.
57807         * lib/hash.h: Likewise.
57808         * lib/human.c: Likewise.
57809         * lib/human.h: Likewise.
57810         * lib/i-ring.c: Likewise.
57811         * lib/i-ring.h: Likewise.
57812         * lib/idcache.c: Likewise.
57813         * lib/imaxabs.c: Likewise.
57814         * lib/imaxdiv.c: Likewise.
57815         * lib/inet_pton.c: Likewise.
57816         * lib/inet_pton.h: Likewise.
57817         * lib/intprops.h: Likewise.
57818         * lib/inttostr.c: Likewise.
57819         * lib/inttostr.h: Likewise.
57820         * lib/inttypes.in.h: Likewise.
57821         * lib/isapipe.c: Likewise.
57822         * lib/isdir.c: Likewise.
57823         * lib/isnan.c: Likewise.
57824         * lib/isnan.h: Likewise.
57825         * lib/isnanf.c: Likewise.
57826         * lib/isnanf.h: Likewise.
57827         * lib/isnanl-nolibm.h: Likewise.
57828         * lib/isnanl.c: Likewise.
57829         * lib/isnanl.h: Likewise.
57830         * lib/javacomp.c: Likewise.
57831         * lib/javacomp.h: Likewise.
57832         * lib/javaexec.c: Likewise.
57833         * lib/javaexec.h: Likewise.
57834         * lib/javaversion.c: Likewise.
57835         * lib/javaversion.h: Likewise.
57836         * lib/javaversion.java: Likewise.
57837         * lib/lbrkprop.h: Likewise.
57838         * lib/lchmod.h: Likewise.
57839         * lib/lchown.c: Likewise.
57840         * lib/ldexpl.c: Likewise.
57841         * lib/linebreak.c: Likewise.
57842         * lib/linebreak.h: Likewise.
57843         * lib/linebuffer.c: Likewise.
57844         * lib/linebuffer.h: Likewise.
57845         * lib/locale.in.h: Likewise.
57846         * lib/logl.c: Likewise.
57847         * lib/long-options.c: Likewise.
57848         * lib/long-options.h: Likewise.
57849         * lib/lstat.c: Likewise.
57850         * lib/lstat.h: Likewise.
57851         * lib/math.in.h: Likewise.
57852         * lib/mbchar.c: Likewise.
57853         * lib/mbchar.h: Likewise.
57854         * lib/mbfile.h: Likewise.
57855         * lib/mbiter.h: Likewise.
57856         * lib/mbscasecmp.c: Likewise.
57857         * lib/mbscasestr.c: Likewise.
57858         * lib/mbschr.c: Likewise.
57859         * lib/mbscspn.c: Likewise.
57860         * lib/mbslen.c: Likewise.
57861         * lib/mbsncasecmp.c: Likewise.
57862         * lib/mbsnlen.c: Likewise.
57863         * lib/mbspbrk.c: Likewise.
57864         * lib/mbspcasecmp.c: Likewise.
57865         * lib/mbsrchr.c: Likewise.
57866         * lib/mbssep.c: Likewise.
57867         * lib/mbsspn.c: Likewise.
57868         * lib/mbsstr.c: Likewise.
57869         * lib/mbstok_r.c: Likewise.
57870         * lib/mbswidth.c: Likewise.
57871         * lib/mbswidth.h: Likewise.
57872         * lib/mbuiter.h: Likewise.
57873         * lib/memcasecmp.c: Likewise.
57874         * lib/memcasecmp.h: Likewise.
57875         * lib/memchr.c: Likewise.
57876         * lib/memcmp.c: Likewise.
57877         * lib/memcoll.c: Likewise.
57878         * lib/memcoll.h: Likewise.
57879         * lib/memcpy.c: Likewise.
57880         * lib/memrchr.c: Likewise.
57881         * lib/mkancesdirs.c: Likewise.
57882         * lib/mkdir-p.c: Likewise.
57883         * lib/mkdir-p.h: Likewise.
57884         * lib/mkdir.c: Likewise.
57885         * lib/mkdirat.c: Likewise.
57886         * lib/mkdtemp.c: Likewise.
57887         * lib/mkstemp-safer.c: Likewise.
57888         * lib/mkstemp.c: Likewise.
57889         * lib/modechange.c: Likewise.
57890         * lib/modechange.h: Likewise.
57891         * lib/mountlist.c: Likewise.
57892         * lib/mountlist.h: Likewise.
57893         * lib/mpsort.c: Likewise.
57894         * lib/nanosleep.c: Likewise.
57895         * lib/obstack.c: Likewise.
57896         * lib/obstack.h: Likewise.
57897         * lib/open-safer.c: Likewise.
57898         * lib/open.c: Likewise.
57899         * lib/openat-die.c: Likewise.
57900         * lib/openat-priv.h: Likewise.
57901         * lib/openat-proc.c: Likewise.
57902         * lib/openat.c: Likewise.
57903         * lib/openat.h: Likewise.
57904         * lib/pagealign_alloc.c: Likewise.
57905         * lib/pagealign_alloc.h: Likewise.
57906         * lib/physmem.c: Likewise.
57907         * lib/physmem.h: Likewise.
57908         * lib/pipe-safer.c: Likewise.
57909         * lib/pipe.c: Likewise.
57910         * lib/pipe.h: Likewise.
57911         * lib/posixtm.c: Likewise.
57912         * lib/posixtm.h: Likewise.
57913         * lib/posixver.c: Likewise.
57914         * lib/printf-frexp.c: Likewise.
57915         * lib/printf-frexp.h: Likewise.
57916         * lib/printf-frexpl.c: Likewise.
57917         * lib/printf-frexpl.h: Likewise.
57918         * lib/printf.c: Likewise.
57919         * lib/progname.c: Likewise.
57920         * lib/progname.h: Likewise.
57921         * lib/progreloc.c: Likewise.
57922         * lib/putenv.c: Likewise.
57923         * lib/quote.c: Likewise.
57924         * lib/quote.h: Likewise.
57925         * lib/quotearg.c: Likewise.
57926         * lib/quotearg.h: Likewise.
57927         * lib/raise.c: Likewise.
57928         * lib/readline.c: Likewise.
57929         * lib/readline.h: Likewise.
57930         * lib/readlink.c: Likewise.
57931         * lib/readtokens.c: Likewise.
57932         * lib/readtokens.h: Likewise.
57933         * lib/readtokens0.c: Likewise.
57934         * lib/readtokens0.h: Likewise.
57935         * lib/readutmp.c: Likewise.
57936         * lib/readutmp.h: Likewise.
57937         * lib/realloc.c: Likewise.
57938         * lib/relocwrapper.c: Likewise.
57939         * lib/rename-dest-slash.c: Likewise.
57940         * lib/rename.c: Likewise.
57941         * lib/rmdir.c: Likewise.
57942         * lib/rpmatch.c: Likewise.
57943         * lib/safe-read.c: Likewise.
57944         * lib/safe-read.h: Likewise.
57945         * lib/safe-write.c: Likewise.
57946         * lib/safe-write.h: Likewise.
57947         * lib/same-inode.h: Likewise.
57948         * lib/same.c: Likewise.
57949         * lib/same.h: Likewise.
57950         * lib/save-cwd.c: Likewise.
57951         * lib/save-cwd.h: Likewise.
57952         * lib/savedir.c: Likewise.
57953         * lib/savedir.h: Likewise.
57954         * lib/savewd.c: Likewise.
57955         * lib/savewd.h: Likewise.
57956         * lib/search.in.h: Likewise.
57957         * lib/setenv.c: Likewise.
57958         * lib/setenv.h: Likewise.
57959         * lib/settime.c: Likewise.
57960         * lib/sh-quote.c: Likewise.
57961         * lib/sh-quote.h: Likewise.
57962         * lib/sig2str.c: Likewise.
57963         * lib/sig2str.h: Likewise.
57964         * lib/signal.in.h: Likewise.
57965         * lib/signbitd.c: Likewise.
57966         * lib/signbitf.c: Likewise.
57967         * lib/signbitl.c: Likewise.
57968         * lib/sigprocmask.c: Likewise.
57969         * lib/sincosl.c: Likewise.
57970         * lib/sleep.c: Likewise.
57971         * lib/sprintf.c: Likewise.
57972         * lib/sqrtl.c: Likewise.
57973         * lib/stat-time.h: Likewise.
57974         * lib/stdio--.h: Likewise.
57975         * lib/stdio-safer.h: Likewise.
57976         * lib/stdlib--.h: Likewise.
57977         * lib/stdlib-safer.h: Likewise.
57978         * lib/stdlib.in.h: Likewise.
57979         * lib/stpcpy.c: Likewise.
57980         * lib/stpncpy.c: Likewise.
57981         * lib/strchrnul.c: Likewise.
57982         * lib/strcspn.c: Likewise.
57983         * lib/strerror.c: Likewise.
57984         * lib/strftime.c: Likewise.
57985         * lib/strftime.h: Likewise.
57986         * lib/striconveh.c: Likewise.
57987         * lib/striconveh.h: Likewise.
57988         * lib/striconveha.c: Likewise.
57989         * lib/striconveha.h: Likewise.
57990         * lib/stripslash.c: Likewise.
57991         * lib/strnlen1.c: Likewise.
57992         * lib/strnlen1.h: Likewise.
57993         * lib/strtod.c: Likewise.
57994         * lib/strtoimax.c: Likewise.
57995         * lib/strtok_r.c: Likewise.
57996         * lib/strtol.c: Likewise.
57997         * lib/strtoll.c: Likewise.
57998         * lib/strtoul.c: Likewise.
57999         * lib/strtoull.c: Likewise.
58000         * lib/sysexits.in.h: Likewise.
58001         * lib/tempname.c: Likewise.
58002         * lib/tempname.h: Likewise.
58003         * lib/timespec.h: Likewise.
58004         * lib/tls.c: Likewise.
58005         * lib/tls.h: Likewise.
58006         * lib/tmpdir.c: Likewise.
58007         * lib/tmpdir.h: Likewise.
58008         * lib/tmpfile-safer.c: Likewise.
58009         * lib/tmpfile.c: Likewise.
58010         * lib/trigl.c: Likewise.
58011         * lib/trigl.h: Likewise.
58012         * lib/trim.c: Likewise.
58013         * lib/trim.h: Likewise.
58014         * lib/trunc.c: Likewise.
58015         * lib/truncf.c: Likewise.
58016         * lib/truncl.c: Likewise.
58017         * lib/tsearch.c: Likewise.
58018         * lib/unicodeio.c: Likewise.
58019         * lib/unicodeio.h: Likewise.
58020         * lib/unistd--.h: Likewise.
58021         * lib/unistd-safer.h: Likewise.
58022         * lib/unistdio/ulc-fprintf.c: Likewise.
58023         * lib/unistdio/ulc-vfprintf.c: Likewise.
58024         * lib/unlinkdir.c: Likewise.
58025         * lib/unlinkdir.h: Likewise.
58026         * lib/unlocked-io.h: Likewise.
58027         * lib/unsetenv.c: Likewise.
58028         * lib/userspec.c: Likewise.
58029         * lib/utime.c: Likewise.
58030         * lib/utimecmp.c: Likewise.
58031         * lib/utimecmp.h: Likewise.
58032         * lib/utimens.c: Likewise.
58033         * lib/verify.h: Likewise.
58034         * lib/verror.c: Likewise.
58035         * lib/verror.h: Likewise.
58036         * lib/version-etc-fsf.c: Likewise.
58037         * lib/version-etc.c: Likewise.
58038         * lib/version-etc.h: Likewise.
58039         * lib/vfprintf.c: Likewise.
58040         * lib/vprintf.c: Likewise.
58041         * lib/vsprintf.c: Likewise.
58042         * lib/w32spawn.h: Likewise.
58043         * lib/wait-process.c: Likewise.
58044         * lib/wait-process.h: Likewise.
58045         * lib/wcwidth.c: Likewise.
58046         * lib/write-any-file.c: Likewise.
58047         * lib/xalloc-die.c: Likewise.
58048         * lib/xalloc.h: Likewise.
58049         * lib/xasprintf.c: Likewise.
58050         * lib/xgetcwd.c: Likewise.
58051         * lib/xgetcwd.h: Likewise.
58052         * lib/xgetdomainname.c: Likewise.
58053         * lib/xgetdomainname.h: Likewise.
58054         * lib/xgethostname.c: Likewise.
58055         * lib/xmalloc.c: Likewise.
58056         * lib/xmalloca.c: Likewise.
58057         * lib/xmalloca.h: Likewise.
58058         * lib/xmemcoll.c: Likewise.
58059         * lib/xnanosleep.c: Likewise.
58060         * lib/xreadlink.c: Likewise.
58061         * lib/xreadlink.h: Likewise.
58062         * lib/xsetenv.c: Likewise.
58063         * lib/xsetenv.h: Likewise.
58064         * lib/xstriconv.c: Likewise.
58065         * lib/xstriconv.h: Likewise.
58066         * lib/xstrndup.c: Likewise.
58067         * lib/xstrndup.h: Likewise.
58068         * lib/xstrtod.c: Likewise.
58069         * lib/xstrtod.h: Likewise.
58070         * lib/xstrtol-error.c: Likewise.
58071         * lib/xstrtol.c: Likewise.
58072         * lib/xstrtol.h: Likewise.
58073         * lib/xtime.h: Likewise.
58074         * lib/xvasprintf.c: Likewise.
58075         * lib/xvasprintf.h: Likewise.
58076         * lib/yesno.c: Likewise.
58077         * lib/yesno.h: Likewise.
58078         * posix-modules: Likewise.
58079         * tests/test-alloca-opt.c: Likewise.
58080         * tests/test-arcfour.c: Likewise.
58081         * tests/test-arctwo.c: Likewise.
58082         * tests/test-argmatch.c: Likewise.
58083         * tests/test-argp-2.sh: Likewise.
58084         * tests/test-argp.c: Likewise.
58085         * tests/test-arpa_inet.c: Likewise.
58086         * tests/test-array_list.c: Likewise.
58087         * tests/test-array_oset.c: Likewise.
58088         * tests/test-atexit.c: Likewise.
58089         * tests/test-avltree_list.c: Likewise.
58090         * tests/test-avltree_oset.c: Likewise.
58091         * tests/test-avltreehash_list.c: Likewise.
58092         * tests/test-base64.c: Likewise.
58093         * tests/test-binary-io.c: Likewise.
58094         * tests/test-byteswap.c: Likewise.
58095         * tests/test-c-ctype.c: Likewise.
58096         * tests/test-c-strcasecmp.c: Likewise.
58097         * tests/test-c-strcasestr.c: Likewise.
58098         * tests/test-c-strncasecmp.c: Likewise.
58099         * tests/test-c-strstr.c: Likewise.
58100         * tests/test-canonicalize-lgpl.c: Likewise.
58101         * tests/test-canonicalize.c: Likewise.
58102         * tests/test-carray_list.c: Likewise.
58103         * tests/test-ceilf.c: Likewise.
58104         * tests/test-ceill.c: Likewise.
58105         * tests/test-count-one-bits.c: Likewise.
58106         * tests/test-crc.c: Likewise.
58107         * tests/test-dirname.c: Likewise.
58108         * tests/test-fbufmode.c: Likewise.
58109         * tests/test-fcntl.c: Likewise.
58110         * tests/test-fflush.c: Likewise.
58111         * tests/test-floorf.c: Likewise.
58112         * tests/test-floorl.c: Likewise.
58113         * tests/test-fopen.c: Likewise.
58114         * tests/test-fprintf-posix.c: Likewise.
58115         * tests/test-fprintf-posix.h: Likewise.
58116         * tests/test-fpurge.c: Likewise.
58117         * tests/test-freadable.c: Likewise.
58118         * tests/test-freadahead.c: Likewise.
58119         * tests/test-freading.c: Likewise.
58120         * tests/test-freopen.c: Likewise.
58121         * tests/test-frexp.c: Likewise.
58122         * tests/test-frexpl.c: Likewise.
58123         * tests/test-fseek.c: Likewise.
58124         * tests/test-fseeko.c: Likewise.
58125         * tests/test-fseterr.c: Likewise.
58126         * tests/test-fstrcmp.c: Likewise.
58127         * tests/test-ftell.c: Likewise.
58128         * tests/test-ftello.c: Likewise.
58129         * tests/test-fwritable.c: Likewise.
58130         * tests/test-fwriting.c: Likewise.
58131         * tests/test-getaddrinfo.c: Likewise.
58132         * tests/test-getpass.c: Likewise.
58133         * tests/test-gettimeofday.c: Likewise.
58134         * tests/test-hmac-md5.c: Likewise.
58135         * tests/test-hmac-sha1.c: Likewise.
58136         * tests/test-iconv.c: Likewise.
58137         * tests/test-iconvme.c: Likewise.
58138         * tests/test-inttypes.c: Likewise.
58139         * tests/test-isnan.c: Likewise.
58140         * tests/test-isnanf.c: Likewise.
58141         * tests/test-isnanl-nolibm.c: Likewise.
58142         * tests/test-isnanl.c: Likewise.
58143         * tests/test-isnanl.h: Likewise.
58144         * tests/test-ldexpl.c: Likewise.
58145         * tests/test-linked_list.c: Likewise.
58146         * tests/test-linkedhash_list.c: Likewise.
58147         * tests/test-locale.c: Likewise.
58148         * tests/test-localename.c: Likewise.
58149         * tests/test-lock.c: Likewise.
58150         * tests/test-lseek.c: Likewise.
58151         * tests/test-malloca.c: Likewise.
58152         * tests/test-math.c: Likewise.
58153         * tests/test-mbscasecmp.c: Likewise.
58154         * tests/test-mbscasestr1.c: Likewise.
58155         * tests/test-mbscasestr2.c: Likewise.
58156         * tests/test-mbscasestr3.c: Likewise.
58157         * tests/test-mbscasestr4.c: Likewise.
58158         * tests/test-mbschr.c: Likewise.
58159         * tests/test-mbscspn.c: Likewise.
58160         * tests/test-mbsncasecmp.c: Likewise.
58161         * tests/test-mbspbrk.c: Likewise.
58162         * tests/test-mbspcasecmp.c: Likewise.
58163         * tests/test-mbsrchr.c: Likewise.
58164         * tests/test-mbsspn.c: Likewise.
58165         * tests/test-mbsstr1.c: Likewise.
58166         * tests/test-mbsstr2.c: Likewise.
58167         * tests/test-mbsstr3.c: Likewise.
58168         * tests/test-md5.c: Likewise.
58169         * tests/test-memmem.c: Likewise.
58170         * tests/test-netinet_in.c: Likewise.
58171         * tests/test-open.c: Likewise.
58172         * tests/test-printf-frexp.c: Likewise.
58173         * tests/test-printf-frexpl.c: Likewise.
58174         * tests/test-printf-posix.c: Likewise.
58175         * tests/test-printf-posix.h: Likewise.
58176         * tests/test-rbtree_list.c: Likewise.
58177         * tests/test-rbtree_oset.c: Likewise.
58178         * tests/test-rbtreehash_list.c: Likewise.
58179         * tests/test-read-file.c: Likewise.
58180         * tests/test-rijndael.c: Likewise.
58181         * tests/test-search.c: Likewise.
58182         * tests/test-signbit.c: Likewise.
58183         * tests/test-sleep.c: Likewise.
58184         * tests/test-snprintf-posix.c: Likewise.
58185         * tests/test-snprintf-posix.h: Likewise.
58186         * tests/test-snprintf.c: Likewise.
58187         * tests/test-sprintf-posix.c: Likewise.
58188         * tests/test-sprintf-posix.h: Likewise.
58189         * tests/test-stat-time.c: Likewise.
58190         * tests/test-stdbool.c: Likewise.
58191         * tests/test-stdint.c: Likewise.
58192         * tests/test-stdio.c: Likewise.
58193         * tests/test-stdlib.c: Likewise.
58194         * tests/test-stpncpy.c: Likewise.
58195         * tests/test-strcasestr.c: Likewise.
58196         * tests/test-striconv.c: Likewise.
58197         * tests/test-striconveh.c: Likewise.
58198         * tests/test-striconveha.c: Likewise.
58199         * tests/test-string.c: Likewise.
58200         * tests/test-sys_select.c: Likewise.
58201         * tests/test-sys_socket.c: Likewise.
58202         * tests/test-sys_stat.c: Likewise.
58203         * tests/test-sys_time.c: Likewise.
58204         * tests/test-sysexits.c: Likewise.
58205         * tests/test-time.c: Likewise.
58206         * tests/test-tls.c: Likewise.
58207         * tests/test-trunc.c: Likewise.
58208         * tests/test-truncf.c: Likewise.
58209         * tests/test-truncl.c: Likewise.
58210         * tests/test-unistd.c: Likewise.
58211         * tests/test-vasnprintf-posix.c: Likewise.
58212         * tests/test-vasnprintf-posix2.c: Likewise.
58213         * tests/test-vasnprintf.c: Likewise.
58214         * tests/test-vasprintf-posix.c: Likewise.
58215         * tests/test-vasprintf.c: Likewise.
58216         * tests/test-verify.c: Likewise.
58217         * tests/test-vfprintf-posix.c: Likewise.
58218         * tests/test-vprintf-posix.c: Likewise.
58219         * tests/test-vsnprintf-posix.c: Likewise.
58220         * tests/test-vsnprintf.c: Likewise.
58221         * tests/test-vsprintf-posix.c: Likewise.
58222         * tests/test-wchar.c: Likewise.
58223         * tests/test-wctype.c: Likewise.
58224         * tests/test-wcwidth.c: Likewise.
58225         * tests/test-xstrtol.c: Likewise.
58226         * tests/test-xvasprintf.c: Likewise.
58227         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
58228         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
58229         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58230         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58231         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58232         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
58233         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58234         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58235         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
58236         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
58237         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
58238         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
58239         * tests/uniname/test-uninames.c: Likewise.
58240         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
58241         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
58242         * tests/unistdio/test-u16-printf1.h: Likewise.
58243         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
58244         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
58245         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
58246         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
58247         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
58248         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
58249         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
58250         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
58251         * tests/unistdio/test-u32-printf1.h: Likewise.
58252         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
58253         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
58254         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
58255         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
58256         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
58257         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
58258         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
58259         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
58260         * tests/unistdio/test-u8-printf1.h: Likewise.
58261         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
58262         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
58263         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
58264         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
58265         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
58266         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
58267         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
58268         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
58269         * tests/unistdio/test-ulc-printf1.h: Likewise.
58270         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
58271         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
58272         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
58273         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
58274         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
58275         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
58276         * tests/uniwidth/test-u16-strwidth.c: Likewise.
58277         * tests/uniwidth/test-u16-width.c: Likewise.
58278         * tests/uniwidth/test-u32-strwidth.c: Likewise.
58279         * tests/uniwidth/test-u32-width.c: Likewise.
58280         * tests/uniwidth/test-u8-strwidth.c: Likewise.
58281         * tests/uniwidth/test-u8-width.c: Likewise.
58282         * tests/uniwidth/test-uc_width.c: Likewise.
58283         * config/srclist-update: Likewise.
58284         (fixlicense): Update to GPLv3+.
58285
58286         Change copyright notice from LGPLv2.1+ to LGPLv3+.
58287         * tests/test-tsearch.c: Change copyright notice.
58288
58289         Change copyright notice from LGPLv2.0+ to LGPLv3+.
58290         * lib/c-strcaseeq.h: Change copyright notice.
58291         * lib/streq.h: Likewise.
58292         * lib/uniconv.h: Likewise.
58293         * lib/uniconv/u-conv-from-enc.h: Likewise.
58294         * lib/uniconv/u-conv-to-enc.h: Likewise.
58295         * lib/uniconv/u-strconv-from-enc.h: Likewise.
58296         * lib/uniconv/u-strconv-to-enc.h: Likewise.
58297         * lib/uniconv/u16-conv-from-enc.c: Likewise.
58298         * lib/uniconv/u16-conv-to-enc.c: Likewise.
58299         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
58300         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
58301         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
58302         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
58303         * lib/uniconv/u32-conv-from-enc.c: Likewise.
58304         * lib/uniconv/u32-conv-to-enc.c: Likewise.
58305         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
58306         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
58307         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
58308         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
58309         * lib/uniconv/u8-conv-from-enc.c: Likewise.
58310         * lib/uniconv/u8-conv-to-enc.c: Likewise.
58311         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
58312         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
58313         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
58314         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
58315         * lib/uniname.h: Likewise.
58316         * lib/uniname/uniname.c: Likewise.
58317         * lib/unistdio.h: Likewise.
58318         * lib/unistdio/u-asnprintf.h: Likewise.
58319         * lib/unistdio/u-asprintf.h: Likewise.
58320         * lib/unistdio/u-printf-args.c: Likewise.
58321         * lib/unistdio/u-printf-args.h: Likewise.
58322         * lib/unistdio/u-printf-parse.h: Likewise.
58323         * lib/unistdio/u-snprintf.h: Likewise.
58324         * lib/unistdio/u-sprintf.h: Likewise.
58325         * lib/unistdio/u-vasprintf.h: Likewise.
58326         * lib/unistdio/u-vsnprintf.h: Likewise.
58327         * lib/unistdio/u-vsprintf.h: Likewise.
58328         * lib/unistdio/u16-asnprintf.c: Likewise.
58329         * lib/unistdio/u16-asprintf.c: Likewise.
58330         * lib/unistdio/u16-printf-parse.c: Likewise.
58331         * lib/unistdio/u16-snprintf.c: Likewise.
58332         * lib/unistdio/u16-sprintf.c: Likewise.
58333         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
58334         * lib/unistdio/u16-u16-asprintf.c: Likewise.
58335         * lib/unistdio/u16-u16-snprintf.c: Likewise.
58336         * lib/unistdio/u16-u16-sprintf.c: Likewise.
58337         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
58338         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
58339         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
58340         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
58341         * lib/unistdio/u16-vasnprintf.c: Likewise.
58342         * lib/unistdio/u16-vasprintf.c: Likewise.
58343         * lib/unistdio/u16-vsnprintf.c: Likewise.
58344         * lib/unistdio/u16-vsprintf.c: Likewise.
58345         * lib/unistdio/u32-asnprintf.c: Likewise.
58346         * lib/unistdio/u32-asprintf.c: Likewise.
58347         * lib/unistdio/u32-printf-parse.c: Likewise.
58348         * lib/unistdio/u32-snprintf.c: Likewise.
58349         * lib/unistdio/u32-sprintf.c: Likewise.
58350         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
58351         * lib/unistdio/u32-u32-asprintf.c: Likewise.
58352         * lib/unistdio/u32-u32-snprintf.c: Likewise.
58353         * lib/unistdio/u32-u32-sprintf.c: Likewise.
58354         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
58355         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
58356         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
58357         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
58358         * lib/unistdio/u32-vasnprintf.c: Likewise.
58359         * lib/unistdio/u32-vasprintf.c: Likewise.
58360         * lib/unistdio/u32-vsnprintf.c: Likewise.
58361         * lib/unistdio/u32-vsprintf.c: Likewise.
58362         * lib/unistdio/u8-asnprintf.c: Likewise.
58363         * lib/unistdio/u8-asprintf.c: Likewise.
58364         * lib/unistdio/u8-printf-parse.c: Likewise.
58365         * lib/unistdio/u8-snprintf.c: Likewise.
58366         * lib/unistdio/u8-sprintf.c: Likewise.
58367         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
58368         * lib/unistdio/u8-u8-asprintf.c: Likewise.
58369         * lib/unistdio/u8-u8-snprintf.c: Likewise.
58370         * lib/unistdio/u8-u8-sprintf.c: Likewise.
58371         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
58372         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
58373         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
58374         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
58375         * lib/unistdio/u8-vasnprintf.c: Likewise.
58376         * lib/unistdio/u8-vasprintf.c: Likewise.
58377         * lib/unistdio/u8-vsnprintf.c: Likewise.
58378         * lib/unistdio/u8-vsprintf.c: Likewise.
58379         * lib/unistdio/ulc-asnprintf.c: Likewise.
58380         * lib/unistdio/ulc-asprintf.c: Likewise.
58381         * lib/unistdio/ulc-printf-parse.c: Likewise.
58382         * lib/unistdio/ulc-snprintf.c: Likewise.
58383         * lib/unistdio/ulc-sprintf.c: Likewise.
58384         * lib/unistdio/ulc-vasnprintf.c: Likewise.
58385         * lib/unistdio/ulc-vasprintf.c: Likewise.
58386         * lib/unistdio/ulc-vsnprintf.c: Likewise.
58387         * lib/unistdio/ulc-vsprintf.c: Likewise.
58388         * lib/unistr.h: Likewise.
58389         * lib/unistr/u-cpy-alloc.h: Likewise.
58390         * lib/unistr/u-cpy.h: Likewise.
58391         * lib/unistr/u-endswith.h: Likewise.
58392         * lib/unistr/u-move.h: Likewise.
58393         * lib/unistr/u-set.h: Likewise.
58394         * lib/unistr/u-startswith.h: Likewise.
58395         * lib/unistr/u-stpcpy.h: Likewise.
58396         * lib/unistr/u-stpncpy.h: Likewise.
58397         * lib/unistr/u-strcat.h: Likewise.
58398         * lib/unistr/u-strcpy.h: Likewise.
58399         * lib/unistr/u-strcspn.h: Likewise.
58400         * lib/unistr/u-strdup.h: Likewise.
58401         * lib/unistr/u-strlen.h: Likewise.
58402         * lib/unistr/u-strncat.h: Likewise.
58403         * lib/unistr/u-strncpy.h: Likewise.
58404         * lib/unistr/u-strnlen.h: Likewise.
58405         * lib/unistr/u-strpbrk.h: Likewise.
58406         * lib/unistr/u-strspn.h: Likewise.
58407         * lib/unistr/u-strstr.h: Likewise.
58408         * lib/unistr/u-strtok.h: Likewise.
58409         * lib/unistr/u16-check.c: Likewise.
58410         * lib/unistr/u16-chr.c: Likewise.
58411         * lib/unistr/u16-cmp.c: Likewise.
58412         * lib/unistr/u16-cpy-alloc.c: Likewise.
58413         * lib/unistr/u16-cpy.c: Likewise.
58414         * lib/unistr/u16-endswith.c: Likewise.
58415         * lib/unistr/u16-mblen.c: Likewise.
58416         * lib/unistr/u16-mbsnlen.c: Likewise.
58417         * lib/unistr/u16-mbtouc-aux.c: Likewise.
58418         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
58419         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
58420         * lib/unistr/u16-mbtouc.c: Likewise.
58421         * lib/unistr/u16-mbtoucr.c: Likewise.
58422         * lib/unistr/u16-move.c: Likewise.
58423         * lib/unistr/u16-next.c: Likewise.
58424         * lib/unistr/u16-prev.c: Likewise.
58425         * lib/unistr/u16-set.c: Likewise.
58426         * lib/unistr/u16-startswith.c: Likewise.
58427         * lib/unistr/u16-stpcpy.c: Likewise.
58428         * lib/unistr/u16-stpncpy.c: Likewise.
58429         * lib/unistr/u16-strcat.c: Likewise.
58430         * lib/unistr/u16-strchr.c: Likewise.
58431         * lib/unistr/u16-strcmp.c: Likewise.
58432         * lib/unistr/u16-strcpy.c: Likewise.
58433         * lib/unistr/u16-strcspn.c: Likewise.
58434         * lib/unistr/u16-strdup.c: Likewise.
58435         * lib/unistr/u16-strlen.c: Likewise.
58436         * lib/unistr/u16-strmblen.c: Likewise.
58437         * lib/unistr/u16-strmbtouc.c: Likewise.
58438         * lib/unistr/u16-strncat.c: Likewise.
58439         * lib/unistr/u16-strncmp.c: Likewise.
58440         * lib/unistr/u16-strncpy.c: Likewise.
58441         * lib/unistr/u16-strnlen.c: Likewise.
58442         * lib/unistr/u16-strpbrk.c: Likewise.
58443         * lib/unistr/u16-strrchr.c: Likewise.
58444         * lib/unistr/u16-strspn.c: Likewise.
58445         * lib/unistr/u16-strstr.c: Likewise.
58446         * lib/unistr/u16-strtok.c: Likewise.
58447         * lib/unistr/u16-to-u32.c: Likewise.
58448         * lib/unistr/u16-to-u8.c: Likewise.
58449         * lib/unistr/u16-uctomb-aux.c: Likewise.
58450         * lib/unistr/u16-uctomb.c: Likewise.
58451         * lib/unistr/u32-check.c: Likewise.
58452         * lib/unistr/u32-chr.c: Likewise.
58453         * lib/unistr/u32-cmp.c: Likewise.
58454         * lib/unistr/u32-cpy-alloc.c: Likewise.
58455         * lib/unistr/u32-cpy.c: Likewise.
58456         * lib/unistr/u32-endswith.c: Likewise.
58457         * lib/unistr/u32-mblen.c: Likewise.
58458         * lib/unistr/u32-mbsnlen.c: Likewise.
58459         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
58460         * lib/unistr/u32-mbtouc.c: Likewise.
58461         * lib/unistr/u32-mbtoucr.c: Likewise.
58462         * lib/unistr/u32-move.c: Likewise.
58463         * lib/unistr/u32-next.c: Likewise.
58464         * lib/unistr/u32-prev.c: Likewise.
58465         * lib/unistr/u32-set.c: Likewise.
58466         * lib/unistr/u32-startswith.c: Likewise.
58467         * lib/unistr/u32-stpcpy.c: Likewise.
58468         * lib/unistr/u32-stpncpy.c: Likewise.
58469         * lib/unistr/u32-strcat.c: Likewise.
58470         * lib/unistr/u32-strchr.c: Likewise.
58471         * lib/unistr/u32-strcmp.c: Likewise.
58472         * lib/unistr/u32-strcpy.c: Likewise.
58473         * lib/unistr/u32-strcspn.c: Likewise.
58474         * lib/unistr/u32-strdup.c: Likewise.
58475         * lib/unistr/u32-strlen.c: Likewise.
58476         * lib/unistr/u32-strmblen.c: Likewise.
58477         * lib/unistr/u32-strmbtouc.c: Likewise.
58478         * lib/unistr/u32-strncat.c: Likewise.
58479         * lib/unistr/u32-strncmp.c: Likewise.
58480         * lib/unistr/u32-strncpy.c: Likewise.
58481         * lib/unistr/u32-strnlen.c: Likewise.
58482         * lib/unistr/u32-strpbrk.c: Likewise.
58483         * lib/unistr/u32-strrchr.c: Likewise.
58484         * lib/unistr/u32-strspn.c: Likewise.
58485         * lib/unistr/u32-strstr.c: Likewise.
58486         * lib/unistr/u32-strtok.c: Likewise.
58487         * lib/unistr/u32-to-u16.c: Likewise.
58488         * lib/unistr/u32-to-u8.c: Likewise.
58489         * lib/unistr/u32-uctomb.c: Likewise.
58490         * lib/unistr/u8-check.c: Likewise.
58491         * lib/unistr/u8-chr.c: Likewise.
58492         * lib/unistr/u8-cmp.c: Likewise.
58493         * lib/unistr/u8-cpy-alloc.c: Likewise.
58494         * lib/unistr/u8-cpy.c: Likewise.
58495         * lib/unistr/u8-endswith.c: Likewise.
58496         * lib/unistr/u8-mblen.c: Likewise.
58497         * lib/unistr/u8-mbsnlen.c: Likewise.
58498         * lib/unistr/u8-mbtouc-aux.c: Likewise.
58499         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
58500         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
58501         * lib/unistr/u8-mbtouc.c: Likewise.
58502         * lib/unistr/u8-mbtoucr.c: Likewise.
58503         * lib/unistr/u8-move.c: Likewise.
58504         * lib/unistr/u8-next.c: Likewise.
58505         * lib/unistr/u8-prev.c: Likewise.
58506         * lib/unistr/u8-set.c: Likewise.
58507         * lib/unistr/u8-startswith.c: Likewise.
58508         * lib/unistr/u8-stpcpy.c: Likewise.
58509         * lib/unistr/u8-stpncpy.c: Likewise.
58510         * lib/unistr/u8-strcat.c: Likewise.
58511         * lib/unistr/u8-strchr.c: Likewise.
58512         * lib/unistr/u8-strcmp.c: Likewise.
58513         * lib/unistr/u8-strcpy.c: Likewise.
58514         * lib/unistr/u8-strcspn.c: Likewise.
58515         * lib/unistr/u8-strdup.c: Likewise.
58516         * lib/unistr/u8-strlen.c: Likewise.
58517         * lib/unistr/u8-strmblen.c: Likewise.
58518         * lib/unistr/u8-strmbtouc.c: Likewise.
58519         * lib/unistr/u8-strncat.c: Likewise.
58520         * lib/unistr/u8-strncmp.c: Likewise.
58521         * lib/unistr/u8-strncpy.c: Likewise.
58522         * lib/unistr/u8-strnlen.c: Likewise.
58523         * lib/unistr/u8-strpbrk.c: Likewise.
58524         * lib/unistr/u8-strrchr.c: Likewise.
58525         * lib/unistr/u8-strspn.c: Likewise.
58526         * lib/unistr/u8-strstr.c: Likewise.
58527         * lib/unistr/u8-strtok.c: Likewise.
58528         * lib/unistr/u8-to-u16.c: Likewise.
58529         * lib/unistr/u8-to-u32.c: Likewise.
58530         * lib/unistr/u8-uctomb-aux.c: Likewise.
58531         * lib/unistr/u8-uctomb.c: Likewise.
58532         * lib/unitypes.h: Likewise.
58533         * lib/uniwidth.h: Likewise.
58534         * lib/uniwidth/cjk.h: Likewise.
58535         * lib/uniwidth/u16-strwidth.c: Likewise.
58536         * lib/uniwidth/u16-width.c: Likewise.
58537         * lib/uniwidth/u32-strwidth.c: Likewise.
58538         * lib/uniwidth/u32-width.c: Likewise.
58539         * lib/uniwidth/u8-strwidth.c: Likewise.
58540         * lib/uniwidth/u8-width.c: Likewise.
58541         * lib/uniwidth/width.c: Likewise.
58542
58543 2007-10-07  Bruno Haible  <bruno@clisp.org>
58544
58545         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
58546         The file is still under LGPL (see modules/inttypes).
58547
58548 2007-10-06  Bruno Haible  <bruno@clisp.org>
58549
58550         * modules/trunc (Dependencies): Add 'extensions'.
58551         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
58552         Reported by Ben Pfaff <blp@gnu.org>.
58553
58554 2007-10-06  Bruno Haible  <bruno@clisp.org>
58555
58556         * modules/freopen-tests: New file.
58557         * tests/test-freopen.c: New file.
58558
58559         * modules/fopen-tests: New file.
58560         * tests/test-fopen.c: New file.
58561
58562         * modules/fopen: New file.
58563         * lib/fopen.c: New file.
58564         * m4/fopen.m4: New file.
58565         * modules/freopen: New file.
58566         * lib/freopen.c: New file.
58567         * m4/freopen.m4: New file.
58568         * lib/stdio.in.h (fopen, freopen): New declarations.
58569         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
58570         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
58571         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
58572         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
58573         * doc/functions/fopen.texi: Mention the 'fopen' module.
58574         * doc/functions/freopen.texi: Mention the 'freopen' module.
58575
58576 2007-10-06  Bruno Haible  <bruno@clisp.org>
58577
58578         * modules/open-tests: New file.
58579         * tests/test-open.c: New file.
58580
58581         * modules/open: New file.
58582         * lib/open.c: New file.
58583         * m4/open.m4: New file.
58584         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
58585         lib/open.c does.
58586         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
58587         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
58588         macros.
58589         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
58590         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
58591         REPLACE_OPEN.
58592         * doc/functions/open.texi: Mention the 'open' module.
58593
58594 2007-10-04  Bruno Haible  <bruno@clisp.org>
58595
58596         * modules/ceill-tests: New file.
58597         * tests/test-ceill.c: New file.
58598
58599         * modules/ceill: New file.
58600         * lib/ceill.c: Replace entire file.
58601         * m4/ceill.m4: New file.
58602         * lib/math.in.h (ceill): Replace declaration.
58603         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
58604         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
58605         * doc/functions/ceill.texi: Mention the 'ceill' module.
58606         * modules/mathl (Files): Remove lib/ceill.c.
58607         (Depends-on): Add ceill.
58608
58609 2007-10-04  Bruno Haible  <bruno@clisp.org>
58610
58611         * modules/ceilf-tests: New file.
58612         * tests/test-ceilf.c: New file.
58613
58614         * modules/ceilf: New file.
58615         * lib/ceil.c: New file.
58616         * lib/ceilf.c: New file.
58617         * m4/ceilf.m4: New file.
58618         * lib/math.in.h (ceilf): New declaration.
58619         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
58620         HAVE_DECL_CEILF.
58621         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
58622         HAVE_DECL_CEILF.
58623         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
58624
58625 2007-10-04  Bruno Haible  <bruno@clisp.org>
58626
58627         * modules/floorl-tests: New file.
58628         * tests/test-floorl.c: New file.
58629
58630         * modules/floorl: New file.
58631         * lib/floorl.c: Replace entire file.
58632         * m4/floorl.m4: New file.
58633         * lib/math.in.h (floorl): Replace declaration.
58634         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
58635         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
58636         * doc/functions/floorl.texi: Mention the 'floorl' module.
58637         * modules/mathl (Files): Remove lib/floorl.c.
58638         (Depends-on): Add floorl.
58639
58640 2007-10-04  Bruno Haible  <bruno@clisp.org>
58641
58642         * modules/floorf-tests: New file.
58643         * tests/test-floorf.c: New file.
58644
58645         * modules/floorf: New file.
58646         * lib/floor.c: New file.
58647         * lib/floorf.c: New file.
58648         * m4/floorf.m4: New file.
58649         * lib/math.in.h (floorf): New declaration.
58650         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
58651         HAVE_DECL_FLOORF.
58652         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
58653         HAVE_DECL_FLOORF.
58654         * doc/functions/floorf.texi: Mention the 'floorf' module.
58655
58656 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
58657             Bruno Haible  <bruno@clisp.org>
58658
58659         Advertise for the Git server instead of the CVS server.
58660         * doc/gnulib-intro.texi (Steady Development): Mention the Git
58661         repository instead of the CVS one.
58662         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
58663         about all VCS systems generically.
58664         * doc/gnulib.texi (Introduction): Capitalize `Git'.
58665
58666 2007-10-04  Bruno Haible  <bruno@clisp.org>
58667
58668         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
58669         means.
58670         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
58671
58672 2007-10-04  Bruno Haible  <bruno@clisp.org>
58673
58674         * modules/truncl-tests: New file.
58675         * tests/test-truncl.c: New file.
58676
58677         * modules/truncl: New file.
58678         * lib/truncl.c: New file.
58679         * m4/truncl.m4: New file.
58680         * lib/math.in.h (truncl): New declaration.
58681         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
58682         HAVE_DECL_TRUNCL.
58683         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
58684         HAVE_DECL_TRUNCL.
58685         * doc/functions/truncl.texi: Mention the 'truncl' module.
58686
58687 2007-10-04  Bruno Haible  <bruno@clisp.org>
58688
58689         * modules/truncf-tests: New file.
58690         * tests/test-truncf.c: New file.
58691
58692         * modules/truncf: New file.
58693         * lib/trunc.c: Make paramerizable through USE_* macros.
58694         * lib/truncf.c: New file.
58695         * m4/truncf.m4: New file.
58696         * lib/math.in.h (truncf): New declaration.
58697         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
58698         HAVE_DECL_TRUNCF.
58699         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
58700         HAVE_DECL_TRUNCF.
58701         * doc/functions/truncf.texi: Mention the 'truncf' module.
58702
58703 2007-10-03  Bruno Haible  <bruno@clisp.org>
58704
58705         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
58706         augmentation also for tests modules.
58707         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
58708         * modules/atexit-tests (Makefile.am): Likewise.
58709         * modules/binary-io-tests (Makefile.am): Likewise.
58710         * modules/c-strcase-tests (Makefile.am): Likewise.
58711         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
58712         * modules/canonicalize-tests (Makefile.am): Likewise.
58713         * modules/closein-tests (Makefile.am): Likewise.
58714         * modules/fprintf-posix-tests (Makefile.am): Likewise.
58715         * modules/freadahead-tests (Makefile.am): Likewise.
58716         * modules/fseek-tests (Makefile.am): Likewise.
58717         * modules/fseeko-tests (Makefile.am): Likewise.
58718         * modules/ftell-tests (Makefile.am): Likewise.
58719         * modules/ftello-tests (Makefile.am): Likewise.
58720         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
58721         * modules/isnanl-tests (Makefile.am): Likewise.
58722         * modules/lseek-tests (Makefile.am): Likewise.
58723         * modules/mbscasecmp-tests (Makefile.am): Likewise.
58724         * modules/mbscasestr-tests (Makefile.am): Likewise.
58725         * modules/mbschr-tests (Makefile.am): Likewise.
58726         * modules/mbscspn-tests (Makefile.am): Likewise.
58727         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
58728         * modules/mbspbrk-tests (Makefile.am): Likewise.
58729         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
58730         * modules/mbsrchr-tests (Makefile.am): Likewise.
58731         * modules/mbsspn-tests (Makefile.am): Likewise.
58732         * modules/mbsstr-tests (Makefile.am): Likewise.
58733         * modules/printf-posix-tests (Makefile.am): Likewise.
58734         * modules/snprintf-posix-tests (Makefile.am): Likewise.
58735         * modules/sprintf-posix-tests (Makefile.am): Likewise.
58736         * modules/tsearch-tests (Makefile.am): Likewise.
58737         * modules/uniname/uniname-tests (Makefile.am): Likewise.
58738         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
58739         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
58740         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
58741         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
58742         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
58743         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
58744         * modules/vprintf-posix-tests (Makefile.am): Likewise.
58745         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
58746         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
58747         * modules/xstrtoimax-tests (Makefile.am): Likewise.
58748         * modules/xstrtol-tests (Makefile.am): Likewise.
58749         * modules/xstrtoumax-tests (Makefile.am): Likewise.
58750         * modules/yesno-tests (Makefile.am): Likewise.
58751
58752 2007-10-03  Bruno Haible  <bruno@clisp.org>
58753
58754         * modules/trunc-tests: New file.
58755         * tests/test-trunc.c: New file.
58756
58757         * modules/trunc: New file.
58758         * lib/trunc.c: New file.
58759         * m4/trunc.m4: New file.
58760         * lib/math.in.h (trunc): New declaration.
58761         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
58762         HAVE_DECL_TRUNC.
58763         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
58764         HAVE_DECL_TRUNC.
58765         * doc/functions/trunc.texi: Mention the 'trunc' module.
58766
58767 2007-10-03  Bruno Haible  <bruno@clisp.org>
58768
58769         * tests/test-fpending.c: New file, mostly copied
58770         from coreutils/lib/t-fpending.c.
58771         * modules/fpending-tests: New file.
58772
58773 2007-10-03  Bruno Haible  <bruno@clisp.org>
58774
58775         Port the stdio extensions to QNX (untested).
58776         * lib/fseterr.c (fseterr): Add support for QNX.
58777         * lib/fbufmode.c (fbufmode): Likewise.
58778         * lib/freadable.c (freadable): Likewise.
58779         * lib/fwritable.c (fwritable): Likewise.
58780         * lib/freading.c (freading): Likewise.
58781         * lib/fwriting.c (fwriting): Likewise.
58782         * lib/freadahead.c (freadahed): Likewise.
58783         * lib/fpurge.c (fpurge): Likewise.
58784         * lib/fseeko.c (rpl_fseeko): Likewise.
58785
58786 2007-10-03  Bruno Haible  <bruno@clisp.org>
58787             Jim Meyering  <jim@meyering.net>
58788             Eric Blake  <ebb9@byu.net>
58789
58790         * doc/relocatable.texi: Use @command instead of @program.
58791
58792 2007-10-02  Jim Meyering  <jim@meyering.net>
58793
58794         Perform one more "_.h" -> ".in.h" substitution.
58795         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
58796         instead of unistd_.h here, too.
58797
58798 2007-10-01  Bruno Haible  <bruno@clisp.org>
58799
58800         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
58801         Needed for the alloca-opt module.
58802
58803 2007-09-30  Bruno Haible  <bruno@clisp.org>
58804
58805         * lib/alloca.in.h: Renamed from lib/alloca_.h.
58806         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
58807         alloca_.h.
58808         * lib/argz.in.h: Renamed from lib/argz_.h.
58809         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
58810         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
58811         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
58812         byteswap_.h.
58813         * lib/dirent.in.h: Renamed from lib/dirent_.h.
58814         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
58815         dirent_.h.
58816         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
58817         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
58818         fcntl_.h.
58819         * lib/float.in.h: Renamed from lib/float_.h.
58820         * modules/float (Files, Makefile.am): Use float.in.h instead of
58821         float_.h.
58822         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
58823         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
58824         fnmatch_.h.
58825         * lib/getopt.in.h: Renamed from lib/getopt_.h.
58826         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
58827         getopt_.h.
58828         * lib/glob.in.h: Renamed from lib/glob_.h.
58829         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
58830         * lib/iconv.in.h: Renamed from lib/iconv_.h.
58831         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
58832         iconv_.h.
58833         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
58834         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
58835         inttypes_.h.
58836         * lib/locale.in.h: Renamed from lib/locale_.h.
58837         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
58838         locale_.h.
58839         * lib/math.in.h: Renamed from lib/math_.h.
58840         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
58841         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
58842         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
58843         of netinet_in_.h. Add dependency.
58844         * lib/poll.in.h: Renamed from lib/poll_.h.
58845         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
58846         * lib/search.in.h: Renamed from lib/search_.h.
58847         * modules/search (Files, Makefile.am): Use search.in.h instead of
58848         search_.h.
58849         * lib/signal.in.h: Renamed from lib/signal_.h.
58850         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
58851         _signal.h.
58852         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
58853         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
58854         stdbool_.h.
58855         * lib/stdint.in.h: Renamed from lib/stdint_.h.
58856         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
58857         stdint_.h.
58858         * lib/stdio.in.h: Renamed from lib/stdio_.h.
58859         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
58860         stdio_.h.
58861         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
58862         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
58863         stdlib_.h.
58864         * lib/string.in.h: Renamed from lib/string_.h.
58865         * modules/string (Files, Makefile.am): Use string.in.h instead of
58866         string_.h.
58867         * doc/gnulib-tool.texi (Initial import): Update.
58868         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
58869         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
58870         of sys_select_.h. Add dependency.
58871         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
58872         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
58873         of sys_socket_.h.
58874         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
58875         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
58876         sys_stat_.h.
58877         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
58878         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
58879         sys_time_.h.
58880         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
58881         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
58882         sysexits_.h.
58883         * lib/time.in.h: Renamed from lib/time_.h.
58884         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
58885         * lib/unistd.in.h: Renamed from lib/unistd_.h.
58886         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
58887         unistd_.h.
58888         * lib/wchar.in.h: Renamed from lib/wchar_.h.
58889         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
58890         wchar_.h.
58891         * lib/wctype.in.h: Renamed from lib/wctype_.h.
58892         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
58893         wctype_.h.
58894         * build-aux/bootstrap (slurp): Update.
58895         * lib/.cppi-disable: Update.
58896
58897 2007-09-30  Bruno Haible  <bruno@clisp.org>
58898
58899         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
58900         Needed on BeOS.
58901
58902 2007-09-30  Bruno Haible  <bruno@clisp.org>
58903
58904         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
58905
58906 2007-09-29  Bruno Haible  <bruno@clisp.org>
58907
58908         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
58909
58910 2007-09-29  Bruno Haible  <bruno@clisp.org>
58911
58912         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
58913         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
58914         * build-aux/install-reloc: Compile also areadlink.c.
58915         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
58916
58917 2007-09-29  Bruno Haible  <bruno@clisp.org>
58918
58919         * gnulib-tool (func_emit_initmacro_done): Indentation.
58920
58921 2007-09-29  Bruno Haible  <bruno@clisp.org>
58922
58923         * README: Add CVS checkout update instructions.
58924         Info from Bob Proulx <bob@proulx.com>.
58925
58926 2007-09-28  Eric Blake  <ebb9@byu.net>
58927
58928         Provide move-if-change.
58929         * build-aux/move-if-change: New file, based on best practice
58930         rather than any canonical upstream location.
58931
58932 2007-09-28  Jim Meyering  <jim@meyering.net>
58933
58934         Fix canonicalize loop-detection corner case.
58935         Do not attempt to stat the symlink values stored via seen_triple.
58936         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
58937         on linux-2.6.18, (but not 2.6.22).
58938         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
58939         triple_compare.  The former compares dev,ino,filename, while the latter
58940         would actually stat dirname(filename) when dev and ino were equal.
58941         * lib/hash-triple.c: Install <string.h>.
58942         (STREQ): Define.
58943         (triple_compare_ino_str): New function.
58944         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
58945
58946 2007-09-28  Eric Blake  <ebb9@byu.net>
58947
58948         Enforce that AC_REPLACE_FUNCS files exist.
58949         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
58950         override check for typos.
58951
58952         Fix test-closein on Solaris 10.
58953         * tests/test-closein.c (main): Don't assume stdin can be inherited
58954         closed on all systems.
58955         * tests/test-closein.sh: Likewise.
58956         Reported by Piotr Tarnowski.
58957
58958 2007-09-28  Jim Meyering  <jim@meyering.net>
58959
58960         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
58961
58962 2007-09-27  Jim Meyering  <jim@meyering.net>
58963
58964         canonicalize: Avoid a false-positive cycle failure.
58965         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
58966         Sort.  Remove cycle-check.
58967         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
58968         not cycle-check.h.
58969         (seen_triple): New function.
58970         (canonicalize_filename_mode): Use it instead of cycle-check.
58971         * tests/test-canonicalize.c: Add a test for this bug.
58972         * tests/test-canonicalize.sh: Set up and run the test.
58973
58974         New module, file-set, from coreutils.
58975         * modules/file-set: Define it.
58976         * lib/file-set.c, lib/file-set.h: Implement.
58977
58978         New module, hash-triple, from coreutils.
58979         * modules/hash-triple: Define it.
58980         * lib/hash-triple.c, lib/hash-triple.h: Implement.
58981
58982 2007-09-25  Eric Blake  <ebb9@byu.net>
58983
58984         Fix strerror on Interix.
58985         * lib/string_.h (strerror): Declare replacement.
58986         * doc/functions/strerror.texi (strerror): Document the Interix
58987         shortcoming.
58988         * modules/string (Makefile.am): Support new hooks.
58989         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
58990         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
58991         gl_FUNC_STRERROR_SEPARATE.
58992         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
58993         * lib/strerror.c (rpl_strerror): Provide replacement.
58994         * modules/strerror (Depends-on): Add string.
58995         (configure.ac): Detect use of module.
58996         * tests/test-strerror.c: New file.
58997         * modules/strerror-tests: New test module.
58998         * modules/argp (Depends-on): Add strerror.
58999         * modules/error (Depends-on): Likewise.
59000         Reported by Martin Koeppe.
59001
59002 2007-09-24  Bruno Haible  <bruno@clisp.org>
59003
59004         * README: Update git instructions.
59005
59006 2007-09-24  Eric Blake  <ebb9@byu.net>
59007
59008         Revert fpending breakage from 2007-09-08.
59009         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
59010         __fpending.c.
59011
59012 2007-09-24  Jim Meyering  <jim@meyering.net>
59013
59014         filenamecat.c: Add a test.
59015         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
59016         showing how the function works when DIR is the empty string.
59017
59018 2007-09-21  Simon Josefsson  <simon@josefsson.org>
59019
59020         * tests/test-canonicalize.sh: Turn on executable bit.
59021
59022 2007-09-19  Eric Blake  <ebb9@byu.net>
59023
59024         * README: Update CVS instructions.
59025
59026 2007-09-18  Bruno Haible  <bruno@clisp.org>
59027
59028         * modules/areadlink: New file.
59029         * lib/areadlink.h (areadlink): New declaration.
59030         * lib/areadlink.c: New file, based on lib/xreadlink.c.
59031
59032 2007-09-17  Jim Meyering  <jim@meyering.net>
59033
59034         * lib/savewd.c (ESTALE) [!defined]: Define.
59035         Reported to be required on Interix by Martin Koeppe.
59036
59037 2007-09-17  Bruno Haible  <bruno@clisp.org>
59038
59039         * gnulib-tool (func_version): Use $version.
59040
59041 2007-09-16  Bruno Haible  <bruno@clisp.org>
59042
59043         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
59044         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
59045         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
59046         Reported by Greg Schafer <gschafer@zip.com.au>.
59047
59048 2007-09-15  Bruno Haible  <bruno@clisp.org>
59049
59050         * gnulib-tool (sed): Try a little harder to make bash understand the
59051         alias.
59052         Reported by Bruce Korb <bruce.korb@gmail.com>.
59053
59054 2007-09-13  Eric Blake  <ebb9@byu.net>
59055
59056         * ChangeLog: Remove conflict markers.
59057
59058 2007-09-13  Simon Josefsson  <simon@josefsson.org>
59059
59060         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
59061         Reported by Bruno Haible <bruno@clisp.org>.
59062
59063 2007-09-12  Bruno Haible  <bruno@clisp.org>
59064
59065         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
59066         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
59067         is not defined.
59068
59069 2007-09-12  Eric Blake  <ebb9@byu.net>
59070
59071         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
59072         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
59073         Autoconf definition.
59074         * modules/euidaccess (Depends-on): Add extensions, for
59075         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
59076         * modules/fnmatch (Depends-on): Likewise.
59077         * modules/getaddrinfo (Depends-on): Likewise.
59078         * modules/getdelim (Depends-on): Likewise.
59079         * modules/getline (Depends-on): Likewise.
59080         * modules/getsubopt (Depends-on): Likewise.
59081         * modules/gettext (Depends-on): Likewise.
59082         * modules/group-member (Depends-on): Likewise.
59083         * modules/mbchar (Depends-on): Likewise.
59084         * modules/memmem (Depends-on): Likewise.
59085         * modules/mempcpy (Depends-on): Likewise.
59086         * modules/memrchr (Depends-on): Likewise.
59087         * modules/pagealign_alloc (Depends-on): Likewise.
59088         * modules/readutmp (Depends-on): Likewise.
59089         * modules/stpcpy (Depends-on): Likewise.
59090         * modules/stpncpy (Depends-on): Likewise.
59091         * modules/strchrnul (Depends-on): Likewise.
59092         * modules/strndup (Depends-on): Likewise.
59093         * modules/strsep (Depends-on): Likewise.
59094         * modules/strverscmp (Depends-on): Likewise.
59095         * modules/vasprintf (Depends-on): Likewise.
59096         * modules/wcwidth (Depends-on): Likewise.
59097         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
59098         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
59099         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
59100         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
59101         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
59102         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
59103         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
59104         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
59105         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
59106         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
59107         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
59108         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
59109         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
59110         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
59111         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
59112         * m4/readutmp.m4 (gl_READUTMP): Likewise.
59113         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
59114         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
59115         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
59116         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
59117         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
59118         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
59119         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
59120         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
59121         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
59122         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
59123         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
59124         so that lock.m4 can be used in gettext without extensions module.
59125
59126 2007-09-11  Bruno Haible  <bruno@clisp.org>
59127
59128         * m4/isc-posix.m4: Remove file.
59129         Suggested by Eric Blake.
59130
59131 2007-09-11  Eric Blake  <ebb9@byu.net>
59132
59133         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
59134
59135 2007-09-10  Bruno Haible  <bruno@clisp.org>
59136
59137         * posix-modules: Fix typo in error message.
59138         Reported by Matt <mkraai@beckman.com>.
59139
59140 2007-09-09  Bruno Haible  <bruno@clisp.org>
59141
59142         * doc/functions/getdelim.texi: Update list of platforms lacking the
59143         function.
59144         * doc/functions/getline.texi: Likewise.
59145
59146 2007-09-09  Jim Meyering  <jim@meyering.net>
59147
59148         * lib/hash.c (hash_initialize): Detect calloc failure.
59149         Reported by Bruno Haible.
59150
59151 2007-09-09  Bruno Haible  <bruno@clisp.org>
59152
59153         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
59154         malloc or realloc fails.
59155
59156 2007-09-09  Bruno Haible  <bruno@clisp.org>
59157
59158         * modules/getcwd (Depends-on): Add malloc-posix.
59159         * modules/glob (Depends-on): Likewise.
59160         * modules/putenv (Depends-on): Likewise.
59161         * modules/strdup (Depends-on): Likewise.
59162         * modules/getdelim (Depends-on): Add realloc-posix.
59163         * modules/read-file (Depends-on): Likewise.
59164
59165 2007-09-09  Bruno Haible  <bruno@clisp.org>
59166
59167         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
59168         (gl_FUNC_MALLOC_POSIX): Require it.
59169         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
59170         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
59171         * modules/realloc (Files): Add m4/malloc.m4.
59172         * modules/calloc (Files): Likewise.
59173
59174 2007-09-09  Bruno Haible  <bruno@clisp.org>
59175
59176         * modules/malloc-posix: New file.
59177         * modules/malloc (Depends-on): Add malloc-posix.
59178         * lib/malloc.c: Include errno.h.
59179         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
59180         and a POSIX-compatible malloc into a single function. Set ENOMEM
59181         when returning NULL.
59182         * m4/malloc.m4: New file.
59183         * doc/functions/malloc.texi: Mention the malloc-posix module.
59184         * lib/stdlib_.h (malloc): New declaration.
59185         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
59186         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
59187         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
59188         and HAVE_MALLOC_POSIX.
59189
59190 2007-09-09  Bruno Haible  <bruno@clisp.org>
59191
59192         * modules/realloc-posix: New file.
59193         * modules/realloc (Depends-on): Add realloc-posix.
59194         * lib/realloc.c: Include errno.h.
59195         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
59196         and a POSIX-compatible realloc into a single function. Set ENOMEM
59197         when returning NULL.
59198         * m4/realloc.m4: New file.
59199         * doc/functions/realloc.texi: Mention the realloc-posix module.
59200         * lib/stdlib_.h (realloc): New declaration.
59201         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
59202         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
59203         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
59204         and HAVE_REALLOC_POSIX.
59205
59206 2007-09-09  Bruno Haible  <bruno@clisp.org>
59207
59208         * modules/calloc-posix: New file.
59209         * modules/calloc (Depends-on): Add calloc-posix.
59210         * lib/calloc.c: Include errno.h.
59211         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
59212         and a POSIX-compatible calloc into a single function. Set ENOMEM
59213         when returning NULL.
59214         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
59215         * doc/functions/calloc.texi: Mention the calloc-posix module.
59216         * lib/stdlib_.h (calloc): New declaration.
59217         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
59218         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
59219         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
59220         and HAVE_CALLOC_POSIX.
59221
59222 2007-09-09  Bruno Haible  <bruno@clisp.org>
59223
59224         Allow for modules to show an arbitrary notice.
59225         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
59226         * gnulib-tool: New option --extract-notice.
59227         (func_usage): Document it.
59228         (sed_extract_prog): Update.
59229         (func_get_notice): New function.
59230         (func_modules_notice): New function.
59231         (func_import, func_create_testdir): Invoke it.
59232         Suggested by Jim Meyering.
59233
59234 2007-09-09  Bruno Haible  <bruno@clisp.org>
59235
59236         * gnulib-tool: New options --verbose, --quiet.
59237         (func_usage): Document them.
59238         (verbose): New variable.
59239         (func_execute_command): New function.
59240         (func_import): Don't show the module list and the file list if
59241         $verbose < 0.
59242         (func_create_testdir): Likewise. Use func_execute_command.
59243         (func_create_megatestdir): Use func_execute_command.
59244
59245 2007-09-08  Bruno Haible  <bruno@clisp.org>
59246
59247         * gnulib-tool (func_import): Prefer rsync over wget when available,
59248         for fetching the PO files.
59249
59250 2007-09-08  Bruno Haible  <bruno@clisp.org>
59251
59252         * posix-modules: New file. Portions copied from gnulib-tool.
59253         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
59254
59255 2007-09-08  Jim Meyering  <jim@meyering.net>
59256
59257         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
59258         * lib/fpending.h: Rename from __fpending.h.
59259         * lib/fpending.c: Rename from __fpending.c.
59260         Include "fpending.h", not "__fpending.h".
59261         * lib/__fpending.h, lib/__fpending.c: Remove files.
59262         * modules/fpending (Files): Reflect new file names.
59263         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
59264
59265 2007-09-08  Bruno Haible  <bruno@clisp.org>
59266
59267         * m4/inttypes-h.m4: Remove stub file.
59268
59269 2007-09-07  Simon Josefsson  <simon@josefsson.org>
59270
59271         * doc/headers/stdint.texi: Discuss #include_next issue.
59272
59273 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
59274
59275         * build-aux/bootstrap: Remove obsolete comment about wget --help.
59276
59277 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59278
59279         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
59280         in variable name.
59281
59282 2007-09-03  Jim Meyering  <jim@meyering.net>
59283
59284         New module: git-version-gen.
59285         * modules/git-version-gen: New file.
59286
59287         Import changes from coreutils for bootstrap script.
59288
59289         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
59290
59291         bootstrap: uses rsync to download the .po files
59292         * build-aux/bootstrap (po_download_command_format): New global.
59293         (download_po_files): Use rsync.
59294         (update_po_files): Don't remove .po files after download,
59295         so future rsync runs can take advantage of the copies.
59296
59297         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
59298
59299         Solve the unnecessary-.po-file-regeneration problem once and for all.
59300         * build-aux/bootstrap (download_po_files): New function, renamed from
59301         get_translations.  Now, downloads, but doesn't update LINGUAS.
59302         (update_po_files): New function.
59303
59304         bootstrap: Ignore more.
59305         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
59306         uniwidth to e.g., lib/.gitignore.
59307         (slurp): Handle the sys_stat_.h -> sys mapping, too.
59308
59309         * build-aux/bootstrap: New setting: vc_ignore.
59310         (insert_sorted_if_absent): Create $file if absent.
59311         Adapt to new, possibly empty, list: $vc_ignore.
59312
59313         bootstrap: generate more ignorable names
59314         * build-aux/bootstrap (slurp): When generating ignorable names,
59315         also map .sin to .sed, .gperf to .c, and .y to .c.
59316
59317 2007-09-03  Jim Meyering  <jim@meyering.net>
59318
59319         * build-aux/git-version-gen: New file, from coreutils.  For details, see
59320         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
59321
59322 2007-09-02  Bruno Haible  <bruno@clisp.org>
59323
59324         Fix mis-recognition of 'mcs' on QNX 6.
59325         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
59326         output contains the string "Mono".
59327         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
59328         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
59329
59330 2007-09-01  Bruno Haible  <bruno@clisp.org>
59331
59332         Fix collision between uniwidth/* and linebreak modules.
59333         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
59334         u32_width): Remove declarations.
59335         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
59336         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
59337         streq3, streq2, streq1, streq0): Remove functions.
59338         (STREQ): Remove macro.
59339         (is_cjk_encoding): Remove function.
59340         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
59341         (uc_width, u8_width, u16_width, u32_width): Remove functions.
59342         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
59343         * NEWS: Document the change.
59344
59345 2007-09-01  Bruno Haible  <bruno@clisp.org>
59346
59347         * lib/streq.h: Add double-inclusion guard.
59348
59349 2007-09-01  Karl Berry  <karl@gnu.org>
59350
59351         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
59352
59353 2007-08-28  Jim Meyering  <jim@meyering.net>
59354
59355         Rename mreadlink_with_size to areadlink_with_size.
59356         * NEWS: Document the change.
59357         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
59358         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
59359         * lib/mreadlink.h: Rename this to...
59360         * lib/areadlink.h: ...this.
59361         * modules/mreadlink-with-size: Rename this to...
59362         * modules/areadlink-with-size: ...this.
59363         * lib/canonicalize.c: Reflect the renaming.
59364         * modules/canonicalize: Likewise.
59365
59366 2007-08-26  Bruno Haible  <bruno@clisp.org>
59367
59368         * gnulib-tool (func_import): When deciding which files to remove,
59369         consider also dangling symbolic links.
59370         Reported by Eric Blake.
59371
59372 2007-08-26  Bruno Haible  <bruno@clisp.org>
59373
59374         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
59375
59376 2007-08-23  Simon Josefsson  <simon@josefsson.org>
59377
59378         * lib/readline.c: Don't include getline.h, the prototype is now
59379         found in stdio.h.
59380
59381 2007-08-23  Jim Meyering  <jim@meyering.net>
59382
59383         Getdelim touchup.
59384         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
59385         around the funlockfile call, since funlockfile never sets errno.
59386         Don't set errno upon failed realloc.
59387
59388 2007-08-22  Eric Blake  <ebb9@byu.net>
59389
59390         Getline touchups.
59391         * lib/getdelim.c (getdelim): Revert regression that required *n to
59392         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
59393         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
59394         getdelim, rather than whether implementation is missing.
59395         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
59396         * lib/stdio_.h (getline): Also declare if replacement is
59397         required.
59398         * doc/functions/getdelim.texi: New file.
59399         * doc/functions/getline.texi: Likewise.
59400         * doc/gnulib.texi (Function Substitutes): Add new files.
59401         Reported by Bruno Haible.
59402
59403 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
59404
59405         * users.txt: Add Guile.
59406
59407 2007-08-22  Eric Blake  <ebb9@byu.net>
59408
59409         * tests/test-getdelim.c (main): Use remove, not unlink.
59410         * tests/test-getline.c (main): Likewise.
59411
59412         Move getline and getdelim into stdio.h, per POSIX 200x.
59413         * modules/getline (Files): Remove getline.h.
59414         (Depends-on): Add stdio.
59415         (configure.ac): Add module indicator.
59416         * modules/getdelim (Files): Remove getdelim.h.
59417         (Depends-on): Add stdio.
59418         (configure.ac): Add module indicator.
59419         * modules/stdio (Makefile.am): Work with new indicators.
59420         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
59421         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
59422         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
59423         * lib/getdelim.h: Delete.
59424         * lib/getline.h: Delete.
59425         * lib/stdio_.h (getdelim, getline): Declare.
59426         * modules/getdelim-tests: New module.
59427         * modules/getline-tests: Likewise.
59428         * tests/test-getdelim.c: New file.
59429         * tests/test-getline.c: Likewise.
59430         * NEWS: Document the change.
59431         * lib/getline.c: Update choice of header.
59432         * lib/csharpcomp.c: Likewise.
59433         * lib/getpass.c: Likewise.
59434         * lib/javacomp.c: Likewise.
59435         * lib/javaversion.c: Likewise.
59436         * lib/yesno.c: Likewise.
59437         * lib/getdelim.c: Likewise.
59438         (getdelim): Set errno on failure, and avoid memory leak.
59439
59440 2007-08-19  Bruno Haible  <bruno@clisp.org>
59441
59442         * modules/closein (Depends-on): Add freadahead.
59443         * lib/closein.c: Include freadahead.h.
59444         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
59445         is zero.
59446
59447 2007-08-19  Bruno Haible  <bruno@clisp.org>
59448
59449         * modules/freadahead-tests: New file.
59450         * tests/test-freadahead.sh: New file.
59451         * tests/test-freadahead.c: New file.
59452
59453         * modules/freadahead: New file.
59454         * lib/freadahead.h: New file.
59455         * lib/freadahead.c: New file.
59456         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
59457         fbufmode, fpurge, freadable, fwritable.
59458
59459 2007-08-19  Eric Blake  <ebb9@byu.net>
59460
59461         Test yesno in combination with closein.
59462         * lib/yesno.c (yesno): Document use of stdin.
59463         * modules/yesno-tests (Files): New module.
59464         * tests/test-yesno.c (main): New file.
59465         * tests/test-yesno.sh: Likewise.
59466
59467 2007-08-19  Bruno Haible  <bruno@clisp.org>
59468
59469         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
59470         * lib/fseeko.c (rpl_fseeko): Likewise.
59471         * lib/fseterr.c (fseterr): Likewise.
59472
59473 2007-08-19  Bruno Haible  <bruno@clisp.org>
59474
59475         * tests/test-lseek.c (main): Disable a test for BeOS.
59476         * doc/functions/lseek.texi: Document the BeOS bug.
59477
59478 2007-08-19  Bruno Haible  <bruno@clisp.org>
59479             Eric Blake  <ebb9@byu.net>
59480
59481         * lib/lseek.c: Include <sys/stat.h>.
59482         (rpl_lseek): Add workaround code also for Unix platforms.
59483         Needed for BeOS.
59484         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
59485         * doc/functions/lseek.texi: Document BeOS definiency.
59486
59487 2007-08-18  Bruno Haible  <bruno@clisp.org>
59488
59489         * modules/fstrcmp-tests: New file.
59490         * tests/test-fstrcmp.c: New file.
59491
59492 2007-08-18  Bruno Haible  <bruno@clisp.org>
59493
59494         * modules/fstrcmp: New file, from GNU gettext with modifications.
59495         * lib/fstrcmp.h: New file, from GNU gettext.
59496         * lib/fstrcmp.c: New file, from GNU gettext.
59497         * MODULES.html.sh (String handling): Add fstrcmp.
59498
59499 2007-08-18  Bruno Haible  <bruno@clisp.org>
59500
59501         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
59502         'bool'.
59503         (diag, compareseq): Remove const from the ctxt argument.
59504         (USE_HEURISTIC): Undefine at the end.
59505
59506 2007-08-18  Jim Meyering  <jim@meyering.net>
59507
59508         New file: lib/idcache.h
59509         * NEWS: Mention the addition.
59510         * modules/idcache (Files): Add lib/idcache.h
59511         * lib/idcache.c: Include "idcache.h".
59512         Don't include <sys/types.h>.
59513         Add a FIXME comment.
59514         Move file-scoped "static" declarations to the top.
59515         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
59516
59517 2007-08-17  Bruno Haible  <bruno@clisp.org>
59518         and Paul Eggert  <eggert@cs.ucla.edu>
59519
59520         * MODULES.html.sh: Add diffseq.
59521         * modules/diffseq: New file.
59522         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
59523         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
59524
59525 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59526
59527         Import changes from coreutils for bootstrap script.
59528
59529         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
59530
59531         * build-aux/bootstrap (slurp): Work even in environments where
59532         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
59533         current code does not slurp files whose names start with ".", and
59534         this looks like it might be a troublesome area.
59535
59536         2007-07-11  Jim Meyering  <jim@meyering.net>
59537
59538         If there's a GPL vN copyright comment, require that N == 3.
59539
59540         2007-07-08  Jim Meyering  <jim@meyering.net>
59541
59542         Run the coreutils-specific code only if tests/Makefile.am.in exists.
59543         * build-aux/bootstrap (mam_template): Move definition out of loop.
59544
59545         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
59546
59547         * build-aux/bootstrap (symlink_to_dir): Rename function from
59548         symlink_to_gnulib.  Add a directory parameter.  Update all
59549         callers.
59550         (cp_mark_as_generated): Also check for -- and link to -- files in
59551         gl/.
59552
59553         2007-07-08  Jim Meyering  <jim@meyering.net>
59554
59555         Adapt to deeper hierarchy in gnulib.
59556         * build-aux/bootstrap (symlink_to_dir): If the destination
59557         directory doesn't exist, create it. This is required at least for
59558         "lib/uniwidth/cjk.h".
59559
59560         2007-05-15  Jim Meyering  <jim@meyering.net>
59561
59562         * build-aux/bootstrap: Now that generated Makefile.am files
59563         are no longer under version control, they must be created at
59564         bootstrap time.
59565
59566 2007-08-14  Ben Pfaff  <blp@gnu.org>
59567
59568         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
59569
59570 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59571
59572         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
59573         given the changes below.
59574         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
59575         even on hosts that have padding bits beyond the supported 64.
59576
59577 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
59578
59579         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
59580         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
59581         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
59582         depends on it.
59583         (xstrtol_error): Remove.
59584         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
59585         but with a different signature.
59586         (ATTRIBUTE_NORETURN, __attribute__): New macros.
59587         * lib/xstrtol-error.c: Include exitfail.h.
59588         (xstrtol_fatal): New function, with a different signature from the
59589         old xstrtol_error, so that the caller need not worry about passing
59590         in an exit status, or about storage management of the option argument.
59591         (xstrtol_error): Now a static function.  Redo signature to
59592         implement xstrtol_fatal.  Output the correct number of hyphens in
59593         front of the option so that the caller need not worry about
59594         storage management.
59595         (N_): New macro.
59596         (_): Remove; not used now.
59597         * modules/xstrtol: Depend on getopt.
59598         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
59599         of old STRTOL_FATAL_ERROR macro.
59600         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
59601         of test program.
59602         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
59603         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
59604
59605 2007-08-08  Eric Blake  <ebb9@byu.net>
59606
59607         * lib/xstrtol-error.c: Add missing include.
59608
59609         Move xstrtol messages into gnulib domain, when --pobase is used.
59610         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
59611         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
59612         * modules/xstrtol (Files): Distribute new file.
59613         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
59614         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
59615         * tests/test-xstrtol.c: ...into new file.
59616         * tests/test-xstrtoul.c: Also test xstrtoul.
59617         * tests/test-xstrtoimax.c: Also test xstrtoimax.
59618         * tests/test-xstrtoumax.c: Also test xstrtoumax.
59619         * tests/test-xstrtol.sh: Drive the tests.
59620         * tests/test-xstrtoimax.sh: Likewise.
59621         * tests/test-xstrtoumax.sh: Likewise.
59622         * modules/xstrtol-tests: New module.
59623         * modules/xstrtoimax-tests: Likewise.
59624         * modules/xstrtoumax-tests: Likewise.
59625
59626 2007-08-08  Jim Meyering  <jim@meyering.net>
59627
59628         New function: mfile_name_concat.
59629         * lib/filenamecat.c (mfile_name_concat): New function, just like
59630         file_name_concat, but return NULL upon failure rather than exiting
59631         with a diagnostic.
59632         * lib/filenamecat.h: Declare it.
59633
59634 2007-08-07  Bruno Haible  <bruno@clisp.org>
59635
59636         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
59637         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
59638         warning from gcc.
59639         Reported by Eric Blake.
59640
59641 2007-08-07  Simon Josefsson  <simon@josefsson.org>
59642
59643         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
59644         * modules/crypto/arcfour (License): Likewise.
59645         * modules/crypto/des-tests (License): Likewise.
59646         * modules/crypto/gc-arctwo-tests (License): Likewise.
59647         * modules/crypto/gc-des-tests (License): Likewise.
59648         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
59649         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
59650         * modules/crypto/gc-md2-tests (License): Likewise.
59651         * modules/crypto/gc-md4-tests (License): Likewise.
59652         * modules/crypto/gc-md5-tests (License): Likewise.
59653         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
59654         * modules/crypto/gc-rijndael-tests (License): Likewise.
59655         * modules/crypto/gc-sha1-tests (License): Likewise.
59656         * modules/crypto/gc-tests (License): Likewise.
59657         * modules/crypto/hmac-md5 (License): Likewise.
59658         * modules/crypto/hmac-sha1 (License): Likewise.
59659         * modules/crypto/md2-tests (License): Likewise.
59660         * modules/crypto/md4-tests (License): Likewise.
59661         * modules/crypto/md5 (License): Likewise.
59662         * modules/crypto/rijndael (License): Likewise.
59663         * modules/crypto/sha1 (License): Likewise.
59664         * modules/memxor (License): Likewise.
59665
59666 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
59667         and Bruno Haible  <bruno@clisp.org>
59668
59669         * NEWS: Describe interface changes to human, xstrtol.
59670         * lib/human.h: Include <xstrtol.h>.
59671         (human_options): Return enum strtol_error, not int.  Remove
59672         bool arg; take int * instead.
59673         * lib/human.c: Don't include "gettext.h".
59674         (_): Remove; no longer used.
59675         Don't include <xstrtol.h>, since human.h does it.
59676         (human_options): Adjust to abovementioned interface changes.
59677         Do not report error to stderr; that's now the caller's
59678         responsibility.
59679         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
59680         interface change.
59681         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
59682         Str, Argument_type_string.  All uses changed.  Put " argument"
59683         in diagnostics to make them clearer.  Change wording of suffix
59684         message for clarity.
59685         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
59686         Argument_type_string.
59687         (STRTOL_FATAL_WARN): Remove; no longer used.
59688         * modules/human (Depends-on): Remove gettext-h.
59689
59690 2007-08-06  Simon Josefsson  <simon@josefsson.org>
59691
59692         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
59693
59694 2007-07-31  Bruno Haible  <bruno@clisp.org>
59695
59696         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
59697         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
59698         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
59699
59700 2007-07-31  Bruno Haible  <bruno@clisp.org>
59701
59702         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
59703         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
59704
59705 2007-07-30  Bruno Haible  <bruno@clisp.org>
59706
59707         * modules/base64 (License): Use the synonymous term "LGPLv2+".
59708         * modules/c-ctype (License): Likewise.
59709         * modules/c-strcase (License): Likewise.
59710         * modules/check-version (License): Likewise.
59711         * modules/iconv (License): Likewise.
59712         * modules/iconv_open (License): Likewise.
59713         * modules/read-file (License): Likewise.
59714         * modules/striconv (License): Likewise.
59715         * modules/strverscmp (License): Likewise.
59716         * modules/vasprintf (License): Likewise.
59717         * modules/crypto/des (License): Likewise.
59718         * modules/crypto/gc (License): Likewise.
59719         * modules/crypto/gc-arcfour (License): Likewise.
59720         * modules/crypto/gc-arctwo (License): Likewise.
59721         * modules/crypto/gc-des (License): Likewise.
59722         * modules/crypto/gc-hmac-md5 (License): Likewise.
59723         * modules/crypto/gc-hmac-sha1 (License): Likewise.
59724         * modules/crypto/gc-md2 (License): Likewise.
59725         * modules/crypto/gc-md4 (License): Likewise.
59726         * modules/crypto/gc-md5 (License): Likewise.
59727         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
59728         * modules/crypto/gc-random (License): Likewise.
59729         * modules/crypto/gc-rijndael (License): Likewise.
59730         * modules/crypto/gc-sha1 (License): Likewise.
59731         * modules/crypto/md2 (License): Likewise.
59732         * modules/crypto/md4 (License): Likewise.
59733
59734 2007-07-30  Jim Meyering  <jim@meyering.net>
59735
59736         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
59737         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
59738         it has valid stat data.  This bug would cause du not to count the
59739         sizes of inaccessible directories.
59740         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
59741         in <http://bugzilla.redhat.com/250077>.
59742
59743 2007-07-25  Peter O'Gorman  <peter@pogma.com>
59744             Bruno Haible  <bruno@clisp.org>
59745
59746         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
59747         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
59748         #include_next, gives a diagnostic about it, but reports no error in
59749         the exit code.
59750         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
59751
59752 2007-07-24  Ben Pfaff  <blp@gnu.org>
59753
59754         Improve name: "count-one-bits" is better than "popcount".
59755         * MODULES.html.sh: Update name.
59756         * lib/popcount.h: Renamed lib/count-one-bits.h.
59757         (popcount): Renamed count_one_bits.
59758         (popcountl): Renamed count_one_bits_l.
59759         (popcountll): Renamed count_one_bits_ll.
59760         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
59761         * modules/popcount: Renamed module/count-one-bits.
59762         * modules/popcount-tests: Renamed module/count-one-bits-tests.
59763         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
59764
59765 2007-07-23  Ben Pfaff  <blp@gnu.org>
59766
59767         * lib/popcount.h (popcount32): Reduce size of constants, to allow
59768         better code generation, and add U to large constants to avoid
59769         warnings, in non-GCC case.
59770         Suggested by Bruno Haible.
59771
59772 2007-07-23  Ben Pfaff  <blp@gnu.org>
59773
59774         * lib/popcount.h: Use verify_true instead of if...abort.
59775         * modules/popcount: Depend on verify module.
59776         Suggested by Jim Meyering.
59777
59778 2007-07-23  Bruno Haible  <bruno@clisp.org>
59779
59780         * gnulib-tool (func_import): Create a .cvsignore file also when the
59781         directory is not yet in CVS but the toplevel directory is. When
59782         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
59783         Reported by Karl Berry.
59784
59785 2007-07-22  Ben Pfaff  <blp@gnu.org>
59786
59787         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
59788         case.
59789         Suggested by Eric Blake.
59790
59791 2007-07-22  Ben Pfaff  <blp@gnu.org>
59792
59793         New module: popcount.
59794         * MODULES.html.sh: Add popcount.
59795         * modules/popcount: New file.
59796         * modules/popcount-tests: New file.
59797         * tests/test-popcount.c: New file.
59798         * lib/popcount.h: New file.
59799         * m4/popcount.m4: New file.
59800
59801 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
59802
59803         * build-aux/announce-gen: Update to GPLv3.
59804
59805         * build-aux/config.guess: Update from config.
59806
59807 2007-07-21  Bruno Haible  <bruno@clisp.org>
59808
59809         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
59810         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
59811
59812 2007-07-20  Jim Meyering  <jim@meyering.net>
59813
59814         * check-module: Diagnose a self-dependency.
59815
59816 2007-07-19  Bruno Haible  <bruno@clisp.org>
59817
59818         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
59819         empty.
59820         Reported by Eric Blake.
59821
59822 2007-07-18  Bruno Haible  <bruno@clisp.org>
59823
59824         * gnulib-tool: New options --po-base, --po-domain.
59825         (func_usage): Document them.
59826         (pobase, po_domain): New variables.
59827         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
59828         DEFAULT_TEXT_DOMAIN.
59829         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
59830         (func_import): Consider pobase and po_domain. Create a po/ directory.
59831         (func_create_testdir): Set pobase and po_domain to empty.
59832         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
59833         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
59834
59835 2007-07-18  Bruno Haible  <bruno@clisp.org>
59836
59837         * gnulib-tool (func_get_automake_snippet): Synthesize also an
59838         EXTRA_DIST augmentation for files in build-aux/.
59839
59840 2007-07-16  Bruno Haible  <bruno@clisp.org>
59841
59842         * modules/lseek (License): Use the synonymous term "LGPLv2+".
59843         * modules/getdelim (License): Likewise.
59844
59845 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59846
59847         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
59848         * modules/d-type (License): Likewise.
59849         * modules/extensions (License): Likewise.
59850         * modules/fnmatch (License): Likewise.
59851         * modules/fseeko (License): Likewise.
59852         * modules/getaddrinfo (License): Likewise.
59853         * modules/getline (License): Likewise.
59854         * modules/getlogin_r (License): Likewise.
59855         * modules/getpass (License): Likewise.
59856         * modules/gettimeofday (License): Likewise.
59857         * modules/glob (License): Likewise.
59858         * modules/inet_ntop (License): Likewise.
59859         * modules/malloc (License): Likewise.
59860         * modules/malloca (License): Likewise.
59861         * modules/memmem (License): Likewise.
59862         * modules/mempcpy (License): Likewise.
59863         * modules/memset (License): Likewise.
59864         * modules/minmax (License): Likewise.
59865         * modules/mktime (License): Likewise.
59866         * modules/netinet_in (License): Likewise.
59867         * modules/pathmax (License): Likewise.
59868         * modules/poll (License): Likewise.
59869         * modules/regex (License): Likewise.
59870         * modules/snprintf (License): Likewise.
59871         * modules/stdbool (License): Likewise.
59872         * modules/stdint (License): Likewise.
59873         * modules/stdio (License): Likewise.
59874         * modules/strcase (License): Likewise.
59875         * modules/strcasestr (License): Likewise.
59876         * modules/strdup (License): Likewise.
59877         * modules/string (License): Likewise.
59878         * modules/strndup (License): Likewise.
59879         * modules/strnlen (License): Likewise.
59880         * modules/strpbrk (License): Likewise.
59881         * modules/strptime (License): Likewise.
59882         * modules/strsep (License): Likewise.
59883         * modules/sys_select (License): Likewise.
59884         * modules/sys_socket (License): Likewise.
59885         * modules/sys_stat (License): Likewise.
59886         * modules/sys_time (License): Likewise.
59887         * modules/time (License): Likewise.
59888         * modules/time_r (License): Likewise.
59889         * modules/timegm (License): Likewise.
59890         * modules/unistd (License): Likewise.
59891         * modules/vsnprintf (License): Likewise.
59892         * modules/wctype (License): Likewise.
59893
59894 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59895
59896         * modules/argz (License): LGPLv2+.
59897
59898 2007-07-15  Karl Berry  <karl@gnu.org>
59899
59900         * doc/gnulib.texi: revise node structure per new fdl.texi.
59901
59902 2007-07-14  Bruno Haible  <bruno@clisp.org>
59903
59904         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
59905         the output file.
59906         * lib/uniname/uninames.h: Regenerated.
59907
59908 2007-07-14  Karl Berry  <karl@gnu.org>
59909
59910         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
59911         omitting sectioning and index commands.
59912
59913 2007-07-13  Bruno Haible  <bruno@clisp.org>
59914
59915         New gnulib-tool option --more-symlinks.
59916         * gnulib-tool (func_usage): Document --more-symlinks.
59917         (do_copyrights): New variable.
59918         Recognize option --more-symlinks.
59919         (func_import): Don't add a copyright notice transform to
59920         sed_transform_lib_file if do_copyrights is empty.
59921
59922 2007-07-13  Bruno Haible  <bruno@clisp.org>
59923
59924         * lib/vasnprintf.c (decimal_point_char): Define also if
59925         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
59926         && !NEED_PRINTF_DIRECTIVE_A.
59927         Reported by Clemens Koller <clemens.koller@anagramm.de> via
59928         Gary V. Vaughan <gary@gnu.org>.
59929
59930 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
59931
59932         * lib/inttypes_.h: Undo previous change, since it was fixed
59933         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
59934
59935 2007-07-13  Bruno Haible  <bruno@clisp.org>
59936
59937         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
59938         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
59939
59940 2007-07-13  Jim Meyering  <jim@meyering.net>
59941
59942         df: Don't fail for Tru64's "file-on-file mount".
59943         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
59944         so we fall through and use statfs instead.  Details here:
59945         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
59946         Reported by Albert Chin.
59947
59948 2007-07-13  Bruno Haible  <bruno@clisp.org>
59949
59950         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
59951         * modules/configmake (License): Likewise.
59952         * modules/gettext (License): Likewise.
59953         * modules/gettext-h (License): Likewise.
59954         * modules/include_next (License): Likewise.
59955         * modules/link-warning (License): Likewise.
59956         * modules/localcharset (License): Likewise.
59957         * modules/localename (License): Likewise.
59958         * modules/lock (License): Likewise.
59959         * modules/relocatable-lib-lgpl (License): Likewise.
59960         * modules/size_max (License): Likewise.
59961         * modules/vasnprintf (License): Likewise.
59962         * modules/wchar (License): Likewise.
59963         * modules/xsize (License): Likewise.
59964
59965 2007-07-13  Bruno Haible  <bruno@clisp.org>
59966
59967         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
59968         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
59969
59970 2007-07-12  Bruno Haible  <bruno@clisp.org>
59971
59972         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
59973         in the modules files.
59974
59975 2007-07-11  Karl Berry  <karl@gnu.org>
59976
59977         * MODULES.html.sh (func_module): use
59978          sed -e '\|^'"${includefile}"'$|d'
59979          instead of /.../d, to avoid errors on $includefile's containing /.
59980
59981 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
59982
59983         * gnulib-tool (func_import): Avoid duplication of --avoid
59984         statements
59985         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
59986         names to `_' in variable names.
59987
59988 2007-07-10  Eric Blake  <ebb9@byu.net>
59989
59990         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
59991         * NEWS: Document this change.
59992
59993 2007-07-08  Bruno Haible  <bruno@clisp.org>
59994
59995         Update to Unicode 5.0.
59996         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
59997         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
59998         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
59999         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
60000         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
60001         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
60002         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
60003         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
60004         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
60005         U+10A3F, U+1D242..U+1D244.
60006         (nonspacing_table_ind): Update.
60007         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
60008         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
60009
60010 2007-07-08  Bruno Haible  <bruno@clisp.org>
60011
60012         Update to Unicode 5.0.
60013         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
60014         code transform. Extend the name index field of unicode_name_to_code and
60015         unicode_code_to_name from 16 to 24 bits.
60016         * lib/uniname/uniname.c (unicode_character_name,
60017         unicode_name_character): Add the range 0x12xxx to the code transform.
60018         * lib/uniname/uninames.h: Regenerated.
60019         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
60020
60021 2007-07-07  Bruno Haible  <bruno@clisp.org>
60022
60023         * modules/wcwidth-tests: New file.
60024         * tests/test-wcwidth.c: New file.
60025
60026         Work around MacOS X wcwidth() bug.
60027         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
60028         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
60029         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
60030         original wcwidth in non-UTF-8 locales.
60031         * modules/wcwidth (Depends-on): Add localcharset, streq,
60032         uniwidth/width.
60033         * doc/functions/wcwidth.texi: Update.
60034
60035 2007-07-07  Bruno Haible  <bruno@clisp.org>
60036
60037         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
60038         (wcwidth): New declaration.
60039         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
60040         macros.
60041         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
60042         here. Prepare for creating <wchar.h> unconditionally.
60043         * modules/wchar (Depends-on): Add link-warning.
60044         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
60045         REPLACE_WCWIDTH, and GL_LINK_WARNING.
60046         * lib/wcwidth.h: Remove file.
60047         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
60048         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
60049         * modules/wcwidth (Files): Remove lib/wcwidth.h.
60050         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
60051         (Include): Replace wcwidth.h with <wchar.h>.
60052         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
60053         * lib/mbchar.h: Don't include wcwidth.h.
60054         * lib/mbswidth.c: Likewise.
60055         * NEWS: Mention the change.
60056
60057 2007-07-07  Bruno Haible  <bruno@clisp.org>
60058
60059         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
60060         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
60061         definition with an external declaration.
60062         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
60063         defined as a function. Remove AC_C_INLINE requirement.
60064         * modules/wcwidth (Files): Add lib/wcwidth.c.
60065         (Makefile.am): Remove redundant statement.
60066
60067 2007-07-07  Bruno Haible  <bruno@clisp.org>
60068
60069         * MODULES.html.sh (Unicode string functions): Add the new modules.
60070
60071         * tests/uniwidth/test-u32-strwidth.c: New file.
60072         * modules/uniwidth/u32-strwidth-tests: New file.
60073
60074         * lib/uniwidth/u32-strwidth.c: New file.
60075         * modules/uniwidth/u32-strwidth: New file.
60076
60077         * tests/uniwidth/test-u16-strwidth.c: New file.
60078         * modules/uniwidth/u16-strwidth-tests: New file.
60079
60080         * lib/uniwidth/u16-strwidth.c: New file.
60081         * modules/uniwidth/u16-strwidth: New file.
60082
60083         * tests/uniwidth/test-u8-strwidth.c: New file.
60084         * modules/uniwidth/u8-strwidth-tests: New file.
60085
60086         * lib/uniwidth/u8-strwidth.c: New file.
60087         * modules/uniwidth/u8-strwidth: New file.
60088
60089         * tests/uniwidth/test-u32-width.c: New file.
60090         * modules/uniwidth/u32-width-tests: New file.
60091
60092         * lib/uniwidth/u32-width.c: New file.
60093         * modules/uniwidth/u32-width: New file.
60094
60095         * tests/uniwidth/test-u16-width.c: New file.
60096         * modules/uniwidth/u16-width-tests: New file.
60097
60098         * lib/uniwidth/u16-width.c: New file.
60099         * modules/uniwidth/u16-width: New file.
60100
60101         * tests/uniwidth/test-u8-width.c: New file.
60102         * modules/uniwidth/u8-width-tests: New file.
60103
60104         * lib/uniwidth/u8-width.c: New file.
60105         * modules/uniwidth/u8-width: New file.
60106
60107         * tests/uniwidth/test-uc_width.c: New file.
60108         * modules/uniwidth/width-tests: New file.
60109
60110         * lib/uniwidth/width.c: New file, from GNU libiconv.
60111         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
60112         * modules/uniwidth/width: New file.
60113
60114         * lib/uniwidth.h: New file, from GNU libiconv.
60115         * modules/uniwidth/base: New file.
60116
60117 2007-07-07  Bruno Haible  <bruno@clisp.org>
60118
60119         * lib/uniname.h: New file, from GNU gettext.
60120         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
60121         * lib/uniname/uninames.h: New file, from GNU gettext.
60122         * lib/uniname/uniname.c: New file, from GNU gettext.
60123         * tests/uniname/test-uninames.sh: New file.
60124         * tests/uniname/test-uninames.c: New file, from GNU gettext.
60125         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
60126         * modules/uniname/base: New file.
60127         * modules/uniname/uniname: New file.
60128         * modules/uniname/uniname-tests: New file.
60129         * MODULES.html.sh (Unicode string functions): Add the new modules.
60130
60131 2007-07-06  Bruno Haible  <bruno@clisp.org>
60132
60133         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
60134
60135 2007-07-06  Bruno Haible  <bruno@clisp.org>
60136
60137         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
60138         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
60139         includes <cygwin/sys_time.h> which includes <sys/select.h> which
60140         include <sys/time.h>.
60141         Reported by Eric Blake.
60142
60143 2007-07-06  Eric Blake  <ebb9@byu.net>
60144
60145         Fix testing canonicalize on cygwin.
60146         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
60147         Revert patch from 2007-06-19.
60148         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
60149         canonicalize module is also in use.
60150         * tests/test-canonicalize.c: New file.
60151         * tests/test-canonicalize.sh: Likewise.
60152         * modules/canonicalize-tests: Likewise.
60153
60154 2007-07-06  Jim Meyering  <jim@meyering.net>
60155
60156         * lib/getugroups.c (getugroups): Detect getgrent failure.
60157         Adjust comment to reflect reality: this function may return -1.
60158
60159 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
60160
60161         * build-aux/bootstrap (TP_URL,get_translations): Update to use
60162         the new TP address.
60163         (usage): Fix typo
60164         (gnulib_mk): New variable.
60165
60166 2007-07-05  Jim Meyering  <jim@meyering.net>
60167
60168         Don't let endgrent clobber errno, no matter how improbable.
60169         * lib/getugroups.c (getugroups): Save and restore errno around
60170         endgrent call.
60171
60172         Close the group DB even when failing with 2^31 or more members.
60173         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
60174
60175 2007-07-04  Jim Meyering  <jim@meyering.net>
60176
60177         * lib/getugroups.h: New file.
60178         * lib/getugroups.c: Include "getugroups.h".
60179         Remove uses of "register" keyword.
60180         Move local variable, "cp", down into scope where used.
60181         Give "username" parameter the "const" attribute.
60182         * modules/getugroups (Files): Add lib/getugroups.h
60183
60184 2007-07-04  Karl Berry  <karl@gnu.org>
60185
60186         * MODULES.html.sh (func_all_modules): Complete rename of
60187         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
60188
60189 2007-07-02  Bruno Haible  <bruno@clisp.org>
60190
60191         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
60192         mode, when inttypes.h comes from gnulib.
60193         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
60194
60195 2007-07-02  Simon Josefsson  <simon@josefsson.org>
60196
60197         * NEWS: Mention lgpl module name change.
60198
60199         * modules/lgpl-2.1: Renamed from lgpl.
60200
60201         * NEWS: Mention gpl module name change.
60202
60203         * modules/gpl-3.0: New file, based on gpl-2.0.
60204
60205         * modules/gpl-2.0: Renamed from gpl.
60206
60207         * modules/gpl: Fix filename, doc/gpl.texi is now found at
60208         doc/gpl-2.0.texi.
60209
60210 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
60211
60212         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
60213         #define __STDC_LIMIT_MACROS temporarily while including
60214         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
60215         Problem reported by Joel E. Denny in
60216         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
60217
60218 2007-07-01  Bruno Haible  <bruno@clisp.org>
60219
60220         * lib/unistdio.h: New file.
60221         * lib/unistdio/u-asnprintf.h: New file.
60222         * lib/unistdio/u-asprintf.h: New file.
60223         * lib/unistdio/u-printf-args.c: New file.
60224         * lib/unistdio/u-printf-args.h: New file.
60225         * lib/unistdio/u-printf-parse.h: New file.
60226         * lib/unistdio/u-snprintf.h: New file.
60227         * lib/unistdio/u-sprintf.h: New file.
60228         * lib/unistdio/u-vasprintf.h: New file.
60229         * lib/unistdio/u-vsnprintf.h: New file.
60230         * lib/unistdio/u-vsprintf.h: New file.
60231         * lib/unistdio/ulc-asnprintf.c: New file.
60232         * lib/unistdio/ulc-asprintf.c: New file.
60233         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
60234         * lib/unistdio/ulc-printf-parse.c: New file.
60235         * lib/unistdio/ulc-snprintf.c: New file.
60236         * lib/unistdio/ulc-sprintf.c: New file.
60237         * lib/unistdio/ulc-vasnprintf.c: New file.
60238         * lib/unistdio/ulc-vasprintf.c: New file.
60239         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
60240         * lib/unistdio/ulc-vsnprintf.c: New file.
60241         * lib/unistdio/ulc-vsprintf.c: New file.
60242         * lib/unistdio/u8-asnprintf.c: New file.
60243         * lib/unistdio/u8-asprintf.c: New file.
60244         * lib/unistdio/u8-printf-parse.c: New file.
60245         * lib/unistdio/u8-snprintf.c: New file.
60246         * lib/unistdio/u8-sprintf.c: New file.
60247         * lib/unistdio/u8-vasnprintf.c: New file.
60248         * lib/unistdio/u8-vasprintf.c: New file.
60249         * lib/unistdio/u8-vsnprintf.c: New file.
60250         * lib/unistdio/u8-vsprintf.c: New file.
60251         * lib/unistdio/u8-u8-asnprintf.c: New file.
60252         * lib/unistdio/u8-u8-asprintf.c: New file.
60253         * lib/unistdio/u8-u8-snprintf.c: New file.
60254         * lib/unistdio/u8-u8-sprintf.c: New file.
60255         * lib/unistdio/u8-u8-vasnprintf.c: New file.
60256         * lib/unistdio/u8-u8-vasprintf.c: New file.
60257         * lib/unistdio/u8-u8-vsnprintf.c: New file.
60258         * lib/unistdio/u8-u8-vsprintf.c: New file.
60259         * lib/unistdio/u16-asnprintf.c: New file.
60260         * lib/unistdio/u16-asprintf.c: New file.
60261         * lib/unistdio/u16-printf-parse.c: New file.
60262         * lib/unistdio/u16-snprintf.c: New file.
60263         * lib/unistdio/u16-sprintf.c: New file.
60264         * lib/unistdio/u16-vasnprintf.c: New file.
60265         * lib/unistdio/u16-vasprintf.c: New file.
60266         * lib/unistdio/u16-vsnprintf.c: New file.
60267         * lib/unistdio/u16-vsprintf.c: New file.
60268         * lib/unistdio/u16-u16-asnprintf.c: New file.
60269         * lib/unistdio/u16-u16-asprintf.c: New file.
60270         * lib/unistdio/u16-u16-snprintf.c: New file.
60271         * lib/unistdio/u16-u16-sprintf.c: New file.
60272         * lib/unistdio/u16-u16-vasnprintf.c: New file.
60273         * lib/unistdio/u16-u16-vasprintf.c: New file.
60274         * lib/unistdio/u16-u16-vsnprintf.c: New file.
60275         * lib/unistdio/u16-u16-vsprintf.c: New file.
60276         * lib/unistdio/u32-asnprintf.c: New file.
60277         * lib/unistdio/u32-asprintf.c: New file.
60278         * lib/unistdio/u32-printf-parse.c: New file.
60279         * lib/unistdio/u32-snprintf.c: New file.
60280         * lib/unistdio/u32-sprintf.c: New file.
60281         * lib/unistdio/u32-vasnprintf.c: New file.
60282         * lib/unistdio/u32-vasprintf.c: New file.
60283         * lib/unistdio/u32-vsnprintf.c: New file.
60284         * lib/unistdio/u32-vsprintf.c: New file.
60285         * lib/unistdio/u32-u32-asnprintf.c: New file.
60286         * lib/unistdio/u32-u32-asprintf.c: New file.
60287         * lib/unistdio/u32-u32-snprintf.c: New file.
60288         * lib/unistdio/u32-u32-sprintf.c: New file.
60289         * lib/unistdio/u32-u32-vasnprintf.c: New file.
60290         * lib/unistdio/u32-u32-vasprintf.c: New file.
60291         * lib/unistdio/u32-u32-vsnprintf.c: New file.
60292         * lib/unistdio/u32-u32-vsprintf.c: New file.
60293         * tests/unistdio/test-ulc-asnprintf1.c: New file.
60294         * tests/unistdio/test-ulc-asnprintf1.h: New file.
60295         * tests/unistdio/test-ulc-printf1.h: New file.
60296         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
60297         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
60298         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
60299         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
60300         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
60301         * tests/unistdio/test-ulc-vasprintf1.c: New file.
60302         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
60303         * tests/unistdio/test-ulc-vsprintf1.c: New file.
60304         * tests/unistdio/test-u8-asnprintf1.c: New file.
60305         * tests/unistdio/test-u8-asnprintf1.h: New file.
60306         * tests/unistdio/test-u8-printf1.h: New file.
60307         * tests/unistdio/test-u8-vasnprintf1.c: New file.
60308         * tests/unistdio/test-u8-vasnprintf2.c: New file.
60309         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
60310         * tests/unistdio/test-u8-vasnprintf3.c: New file.
60311         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
60312         * tests/unistdio/test-u8-vasprintf1.c: New file.
60313         * tests/unistdio/test-u8-vsnprintf1.c: New file.
60314         * tests/unistdio/test-u8-vsprintf1.c: New file.
60315         * tests/unistdio/test-u16-asnprintf1.c: New file.
60316         * tests/unistdio/test-u16-asnprintf1.h: New file.
60317         * tests/unistdio/test-u16-printf1.h: New file.
60318         * tests/unistdio/test-u16-vasnprintf1.c: New file.
60319         * tests/unistdio/test-u16-vasnprintf2.c: New file.
60320         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
60321         * tests/unistdio/test-u16-vasnprintf3.c: New file.
60322         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
60323         * tests/unistdio/test-u16-vasprintf1.c: New file.
60324         * tests/unistdio/test-u16-vsnprintf1.c: New file.
60325         * tests/unistdio/test-u16-vsprintf1.c: New file.
60326         * tests/unistdio/test-u32-asnprintf1.c: New file.
60327         * tests/unistdio/test-u32-asnprintf1.h: New file.
60328         * tests/unistdio/test-u32-printf1.h: New file.
60329         * tests/unistdio/test-u32-vasnprintf1.c: New file.
60330         * tests/unistdio/test-u32-vasnprintf2.c: New file.
60331         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
60332         * tests/unistdio/test-u32-vasnprintf3.c: New file.
60333         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
60334         * tests/unistdio/test-u32-vasprintf1.c: New file.
60335         * tests/unistdio/test-u32-vsnprintf1.c: New file.
60336         * tests/unistdio/test-u32-vsprintf1.c: New file.
60337         * modules/unistdio/base: New file.
60338         * modules/unistdio/u-printf-args: New file.
60339         * modules/unistdio/ulc-asnprintf: New file.
60340         * modules/unistdio/ulc-asprintf: New file.
60341         * modules/unistdio/ulc-fprintf: New file.
60342         * modules/unistdio/ulc-printf-parse: New file.
60343         * modules/unistdio/ulc-snprintf: New file.
60344         * modules/unistdio/ulc-sprintf: New file.
60345         * modules/unistdio/ulc-vasnprintf: New file.
60346         * modules/unistdio/ulc-vasprintf: New file.
60347         * modules/unistdio/ulc-vfprintf: New file.
60348         * modules/unistdio/ulc-vsnprintf: New file.
60349         * modules/unistdio/ulc-vsprintf: New file.
60350         * modules/unistdio/u8-asnprintf: New file.
60351         * modules/unistdio/u8-asprintf: New file.
60352         * modules/unistdio/u8-printf-parse: New file.
60353         * modules/unistdio/u8-snprintf: New file.
60354         * modules/unistdio/u8-sprintf: New file.
60355         * modules/unistdio/u8-vasnprintf: New file.
60356         * modules/unistdio/u8-vasprintf: New file.
60357         * modules/unistdio/u8-vsnprintf: New file.
60358         * modules/unistdio/u8-vsprintf: New file.
60359         * modules/unistdio/u8-u8-asnprintf: New file.
60360         * modules/unistdio/u8-u8-asprintf: New file.
60361         * modules/unistdio/u8-u8-snprintf: New file.
60362         * modules/unistdio/u8-u8-sprintf: New file.
60363         * modules/unistdio/u8-u8-vasnprintf: New file.
60364         * modules/unistdio/u8-u8-vasprintf: New file.
60365         * modules/unistdio/u8-u8-vsnprintf: New file.
60366         * modules/unistdio/u8-u8-vsprintf: New file.
60367         * modules/unistdio/u16-asnprintf: New file.
60368         * modules/unistdio/u16-asprintf: New file.
60369         * modules/unistdio/u16-printf-parse: New file.
60370         * modules/unistdio/u16-snprintf: New file.
60371         * modules/unistdio/u16-sprintf: New file.
60372         * modules/unistdio/u16-vasnprintf: New file.
60373         * modules/unistdio/u16-vasprintf: New file.
60374         * modules/unistdio/u16-vsnprintf: New file.
60375         * modules/unistdio/u16-vsprintf: New file.
60376         * modules/unistdio/u16-u16-asnprintf: New file.
60377         * modules/unistdio/u16-u16-asprintf: New file.
60378         * modules/unistdio/u16-u16-snprintf: New file.
60379         * modules/unistdio/u16-u16-sprintf: New file.
60380         * modules/unistdio/u16-u16-vasnprintf: New file.
60381         * modules/unistdio/u16-u16-vasprintf: New file.
60382         * modules/unistdio/u16-u16-vsnprintf: New file.
60383         * modules/unistdio/u16-u16-vsprintf: New file.
60384         * modules/unistdio/u32-asnprintf: New file.
60385         * modules/unistdio/u32-asprintf: New file.
60386         * modules/unistdio/u32-printf-parse: New file.
60387         * modules/unistdio/u32-snprintf: New file.
60388         * modules/unistdio/u32-sprintf: New file.
60389         * modules/unistdio/u32-vasnprintf: New file.
60390         * modules/unistdio/u32-vasprintf: New file.
60391         * modules/unistdio/u32-vsnprintf: New file.
60392         * modules/unistdio/u32-vsprintf: New file.
60393         * modules/unistdio/u32-u32-asnprintf: New file.
60394         * modules/unistdio/u32-u32-asprintf: New file.
60395         * modules/unistdio/u32-u32-snprintf: New file.
60396         * modules/unistdio/u32-u32-sprintf: New file.
60397         * modules/unistdio/u32-u32-vasnprintf: New file.
60398         * modules/unistdio/u32-u32-vasprintf: New file.
60399         * modules/unistdio/u32-u32-vsnprintf: New file.
60400         * modules/unistdio/u32-u32-vsprintf: New file.
60401         * modules/unistdio/ulc-asnprintf-tests: New file.
60402         * modules/unistdio/ulc-vasnprintf-tests: New file.
60403         * modules/unistdio/ulc-vasprintf-tests: New file.
60404         * modules/unistdio/ulc-vsnprintf-tests: New file.
60405         * modules/unistdio/ulc-vsprintf-tests: New file.
60406         * modules/unistdio/u8-asnprintf-tests: New file.
60407         * modules/unistdio/u8-vasnprintf-tests: New file.
60408         * modules/unistdio/u8-vasprintf-tests: New file.
60409         * modules/unistdio/u8-vsnprintf-tests: New file.
60410         * modules/unistdio/u8-vsprintf-tests: New file.
60411         * modules/unistdio/u16-asnprintf-tests: New file.
60412         * modules/unistdio/u16-vasnprintf-tests: New file.
60413         * modules/unistdio/u16-vasprintf-tests: New file.
60414         * modules/unistdio/u16-vsnprintf-tests: New file.
60415         * modules/unistdio/u16-vsprintf-tests: New file.
60416         * modules/unistdio/u32-asnprintf-tests: New file.
60417         * modules/unistdio/u32-vasnprintf-tests: New file.
60418         * modules/unistdio/u32-vasprintf-tests: New file.
60419         * modules/unistdio/u32-vsnprintf-tests: New file.
60420         * modules/unistdio/u32-vsprintf-tests: New file.
60421         * MODULES.html.sh (Unicode string functions): Add the new modules.
60422
60423 2007-07-01  Bruno Haible  <bruno@clisp.org>
60424
60425         * lib/sprintf.c (sprintf): Limit the available length estimation,
60426         to avoid address wraparound.
60427         * lib/vsprintf.c (vsprintf): Likewise.
60428         * modules/sprintf-posix (Dependencies): Add stdint.
60429         * modules/vsprintf-posix (Dependencies): Likewise.
60430
60431 2007-07-01  Bruno Haible  <bruno@clisp.org>
60432
60433         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
60434         Windows PATH as well. Conservative double-quoting. Comments.
60435
60436 2007-07-01  Bruno Haible  <bruno@clisp.org>
60437             Eric Blake  <ebb9@byu.net>
60438             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60439
60440         * gnulib-tool (self_abspathname): Fix algorithm to cope with
60441         empty components in $PATH, denoting '.'.
60442
60443 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60444
60445         * gnulib-tool: Fix indentation.
60446         (func_create_megatestdir): Likewise.
60447         Report by Bruno Haible.
60448
60449 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60450
60451         Sync from Automake.
60452         * build-aux/gnupload: Fix shell portability issues with for loops.
60453         Report by Karl Berry.
60454
60455 2007-06-29  Simon Josefsson  <simon@josefsson.org>
60456
60457         * build-aux/maint.mk (POURL): Use translationproject.org.
60458
60459 2007-06-27  Simon Josefsson  <simon@josefsson.org>
60460             Bruno Haible  <bruno@clisp.org>
60461
60462         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
60463         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
60464         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
60465         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
60466         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
60467
60468 2007-06-27  Bruno Haible  <bruno@clisp.org>
60469
60470         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
60471         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
60472
60473 2007-06-26  Karl Berry  <karl@gnu.org>
60474
60475         * MODULES.html.sh: remove xreadlink-with-size.
60476
60477 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
60478
60479         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
60480         method that I hope also handles the double-include problem noted
60481         by Bruno Haible in
60482         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
60483
60484 2007-06-23  Bruno Haible  <bruno@clisp.org>
60485
60486         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60487         Don't let the 'mostlyclean' target fail if the last subdirectory could
60488         not be removed.
60489         Reported by Karl Berry.
60490
60491 2007-06-23  Bruno Haible  <bruno@clisp.org>
60492
60493         * gnulib-tool (echo): Add a speedier workaround for ksh.
60494         * tests/test-echo.sh: Likewise.
60495
60496 2007-06-23  Bruno Haible  <bruno@clisp.org>
60497
60498         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
60499         * tests/test-echo.sh: Likewise.
60500
60501 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60502
60503         * gnulib-tool (IFS): Initialize early, so we don't set it to
60504         empty later.
60505         (self_abspathname): Rewrite algorithm to set it, reindent.
60506         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
60507         (func_create_megatestdir): Merge some sed scripts.
60508
60509 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
60510
60511         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
60512         exposed by Sun Studio 11 cc on Solaris 8.
60513
60514 2007-06-22  Bruno Haible  <bruno@clisp.org>
60515
60516         * gnulib-tool (echo): Ensure the echo primitive does not interpret
60517         backslashes.
60518         * tests/test-echo.sh: New file.
60519
60520 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60521
60522         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
60523         simplify `sed_replace_build_aux' scripts, they are portable but
60524         echoing them with `echo' is not.
60525         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
60526
60527 2007-06-21  Karl Berry  <karl@gnu.org>
60528
60529         * config/srclist.txt: guess we can't handle the licenses via
60530         srclist at the moment.
60531
60532 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
60533
60534         * MODULES.html.sh: Add include_next.
60535         * modules/include_next: New file.
60536
60537 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
60538
60539         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
60540         INCLUDE_NEXT.
60541         (gl_CHECK_NEXT_HEADERS): New macro.
60542         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
60543         the obsolescent gl_ABSOLUTE_HEADER.
60544         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
60545         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
60546         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
60547         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
60548         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
60549         * m4/math_h.m4 (gl_MATH_H): Likewise.
60550         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
60551         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
60552         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
60553         * m4/stdint.m4 (gl_STDINT_H): Likewise.
60554         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
60555         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
60556         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
60557         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60558         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
60559         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
60560         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
60561         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
60562         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
60563         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
60564         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
60565         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
60566         * m4/inttypes.m4 (gl_INTTYPES_H): Define
60567         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
60568         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
60569         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
60570         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
60571         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
60572         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
60573         * lib/float_.h: Likewise.
60574         * lib/inttypes_.h: Likewise.
60575         * lib/math_.h: Likewise.
60576         * lib/search_.h: Likewise.
60577         * lib/signal_.h: Likewise.
60578         * lib/stdint_.h: Likewise.
60579         * lib/stdio_.h: Likewise.
60580         * lib/stdlib_.h: Likewise.
60581         * lib/string_.h: Likewise.
60582         * lib/sys_stat_.h: Likewise.
60583         * lib/sys_time_.h: Likewise.
60584         * lib/time_.h: Likewise.
60585         * lib/unistd_.h: Likewise.
60586         * lib/wchar_.h: Likewise.
60587         * lib/wctype_.h: Likewise.
60588         * lib/dirent_.h: Likewise.
60589         * lib/iconv_.h: Likewise.
60590         * lib/locale_.h: Likewise.
60591         * lib/netinet_in_.h: Likewise.
60592         * lib/sys_select_.h: Likewise.
60593         * lib/sys_socket_.h: Likewise.
60594         * lib/sysexits_.h: Likewise.
60595         * modules/fcntl (Depends-on): Depend on include_next, not
60596         absolute_header.
60597         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
60598         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
60599         * modules/fchdir: Likewise.
60600         * modules/float: Likewise.
60601         * modules/iconv_open: Likewise.
60602         * modules/inttypes: Likewise.
60603         * modules/locale: Likewise.
60604         * modules/math: Likewise.
60605         * modules/netinet_in: Likewise.
60606         * modules/search: Likewise.
60607         * modules/signal: Likewise.
60608         * modules/stdint: Likewise.
60609         * modules/stdio: Likewise.
60610         * modules/stdlib: Likewise.
60611         * modules/string: Likewise.
60612         * modules/sys_select: Likewise.
60613         * modules/sys_socket: Likewise.
60614         * modules/sys_stat: Likewise.
60615         * modules/sys_time: Likewise.
60616         * modules/sysexits: Likewise.
60617         * modules/time: Likewise.
60618         * modules/unistd: Likewise.
60619         * modules/wchar: Likewise.
60620         * modules/wctype: Likewise.
60621         * modules/sys_stat: Change maintainer to "all".
60622         * modules/unistd: Likewise.
60623
60624 2007-06-20  Karl Berry  <karl@gnu.org>
60625
60626         * config/srclist.txt: track www changes in license files.
60627
60628 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
60629
60630         * build-aux/bootstrap: Remove stray dot.
60631         Make sure build_aux settings are honored when linking
60632         gnulib_extra_files.
60633
60634 2007-06-19  Eric Blake  <ebb9@byu.net>
60635
60636         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
60637         Allow compilation on cygwin.
60638
60639 2007-06-19  Jim Meyering  <jim@meyering.net>
60640
60641         xreadlink-with-size: Remove module.  No longer used.
60642         Ex-callers now use xreadlink or mreadlink-with-size.
60643         * modules/xreadlink-with-size: Remove module.
60644         * lib/xreadlink-with-size.c: Remove file.
60645         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
60646         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
60647         just before the function definition *is* accurate.
60648
60649         Eliminate one way canonicalize_filename_mode could exit.
60650         * lib/canonicalize.c (canonicalize_filename_mode):
60651         Use mreadlink_with_size, not xreadlink_with_size.
60652
60653 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
60654
60655         Detect porting problems to FreeBSD/arm, which has time_t wider than
60656         long int.  Original problem reported for GNU diff by Xin Li in
60657         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
60658         * modules/getdate (Depends-on): Add intprops, verify.
60659         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
60660         is an integer type no wider than long int.
60661
60662 2007-06-18  Jim Meyering  <jim@meyering.net>
60663
60664         New module: mreadlink-with-size.
60665         * MODULES.html.sh: Add mreadlink-with-size.
60666         * modules/mreadlink-with-size: New module
60667         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
60668         not xreadlink-with-size.
60669         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
60670
60671 2007-06-16  Bruno Haible  <bruno@clisp.org>
60672
60673         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
60674         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
60675         Reported by Gary V. Vaughan <gary@gnu.org>.
60676
60677 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
60678
60679         Revamp lchown so that it lives in unistd.h where it belongs.
60680         * lib/lchown.h: Remove.
60681         * lib/dirchownmod.c: Don't include lib/lchown.h.
60682         * lib/fchownat.c: Likewise.
60683         * lib/openat.c: Likewise.
60684         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
60685         does not follow symlinks.
60686         (EOPNOTSUPP): Define if not defined.
60687         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
60688         is defined to 0.
60689         (lchown): New decl.
60690         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
60691         Do not check for lchown decl.
60692         Set REPLACE_LCHOWN.
60693         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
60694         REPLACE_LCHOWN.
60695         * modules/chown: Make it clear it follows symlinks.
60696         * modules/lchown: Make it clear it doesn't follow symlinks.
60697         (Files): Remove lib/lchown.h
60698         (Depends-on): Add unistd.
60699         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
60700         (Include): Include <unistd.h>, not "lchown.h".
60701         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
60702         REPLACE_LCHOWN.
60703
60704 2007-06-15  Jim Meyering  <jim@meyering.net>
60705
60706         Change license (GPL to LGPL) of fsusage and dependents.
60707         * modules/fsusage (License): Change to LGPL.
60708         * modules/full-read (License): Likewise.
60709         * modules/full-write (License): Likewise.
60710         * modules/safe-read (License): Likewise.
60711         * modules/safe-write (License): Likewise.
60712
60713 2007-06-14  Ben Pfaff  <blp@gnu.org>
60714
60715         Missing part of allocsa -> malloca transition.
60716         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
60717         gl_MALLOCA.
60718
60719 2007-06-12  Bruno Haible  <bruno@clisp.org>
60720
60721         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
60722         to ia64, x86_64, i386.
60723         Reported by Eric Blake.
60724
60725 2007-06-12  Bruno Haible  <bruno@clisp.org>
60726
60727         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
60728         cross-compiling to x86_64.
60729
60730 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
60731
60732         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
60733         glitch reported by Ralf Wildenhues in
60734         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
60735
60736         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
60737         Vin Shelton.
60738
60739 2007-06-11  Bruno Haible  <bruno@clisp.org>
60740
60741         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
60742         replacement string.
60743         Reported by Eric Blake.
60744
60745 2007-06-10  Bruno Haible  <bruno@clisp.org>
60746
60747         Prepare vasnprintf code for use with Unicode strings.
60748         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
60749         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
60750         TYPE_U32_STRING.
60751         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
60752         a_u32_string variants.
60753         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
60754         * lib/printf-args.c: Don't include config.h and the specification
60755         header if PRINTF_FETCHARGS is already defined.
60756         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
60757         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
60758         TYPE_U16_STRING, TYPE_U32_STRING.
60759         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
60760         u16_directive, u16_directives, u32_directive, u32_directives): New
60761         types.
60762         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
60763         New declarations.
60764         * lib/printf-parse.c: Don't include config.h and the specification
60765         header if PRINTF_PARSE is already defined. Eliminate the set of
60766         parameters for WIDE_CHAR_VERSION; the user of this file must provide
60767         them now. Include c-ctype.h.
60768         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
60769         directive and CHAR_T_ONLY_ASCII.
60770         * lib/vasnprintf.c: Don't include config.h and the specification header
60771         if VASNPRINTF is already defined.
60772         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
60773         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
60774         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
60775         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
60776         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
60777         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
60778         code accordingly.
60779         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
60780         pad_ourselves also in this case, with the 'c' and 's' directives, and
60781         with a different notion of "width".
60782         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
60783
60784 2007-06-10  Bruno Haible  <bruno@clisp.org>
60785
60786         * modules/unistr/u32-mbsnlen: New file.
60787         * lib/unistr/u32-mbsnlen.c: New file.
60788
60789         * modules/unistr/u16-mbsnlen: New file.
60790         * lib/unistr/u16-mbsnlen.c: New file.
60791
60792         * modules/unistr/u8-mbsnlen: New file.
60793         * lib/unistr/u8-mbsnlen.c: New file.
60794
60795         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
60796         declarations.
60797
60798 2007-06-10  Bruno Haible  <bruno@clisp.org>
60799
60800         * lib/string_.h (mbsnlen): New declaration.
60801         * lib/mbsnlen.c: New file.
60802         * m4/mbsnlen.m4: New file.
60803         * modules/mbsnlen: New file.
60804         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
60805         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
60806         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
60807
60808 2007-06-10  Bruno Haible  <bruno@clisp.org>
60809
60810         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
60811
60812 2007-06-10  Bruno Haible  <bruno@clisp.org>
60813
60814         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
60815         * lib/mbuiter.h: Likewise.
60816
60817 2007-06-10  Bruno Haible  <bruno@clisp.org>
60818
60819         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
60820         declaration.
60821
60822 2007-06-10  Karl Berry  <karl@gnu.org>
60823
60824         * config/srclist.txt: remove gettext entries, Bruno prefers
60825         to update individually.
60826
60827 2007-06-10  Bruno Haible  <bruno@clisp.org>
60828
60829         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
60830         'maxlen'. Ensure only length + width bytes are allocated, not
60831         length + 1 + width.
60832
60833 2007-06-09  Bruno Haible  <bruno@clisp.org>
60834
60835         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
60836         (CHAR_T): Remove macro.
60837         (VASNPRINTF): Update.
60838
60839 2007-06-09  Bruno Haible  <bruno@clisp.org>
60840
60841         * MODULES.html.sh (Unicode string functions): Add the new modules.
60842
60843         * modules/uniconv/u32-conv-to-enc: New file.
60844         * lib/uniconv/u32-conv-to-enc.c: New file.
60845         * modules/uniconv/u32-conv-to-enc-tests: New file.
60846         * tests/uniconv/test-u32-conv-to-enc.c: New file.
60847
60848         * modules/uniconv/u16-conv-to-enc: New file.
60849         * lib/uniconv/u16-conv-to-enc.c: New file.
60850         * lib/uniconv/u-conv-to-enc.h: New file.
60851         * modules/uniconv/u16-conv-to-enc-tests: New file.
60852         * tests/uniconv/test-u16-conv-to-enc.c: New file.
60853
60854         * modules/uniconv/u8-conv-to-enc: New file.
60855         * lib/uniconv/u8-conv-to-enc.c: New file.
60856         * modules/uniconv/u8-conv-to-enc-tests: New file.
60857         * tests/uniconv/test-u8-conv-to-enc.c: New file.
60858
60859         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
60860         u32_conv_to_encoding): New declarations.
60861
60862 2007-06-09  Bruno Haible  <bruno@clisp.org>
60863
60864         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
60865
60866 2007-06-09  Bruno Haible  <bruno@clisp.org>
60867
60868         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
60869         * modules/malloca: Renamed from modules/allocsa, updated.
60870         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
60871         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
60872         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
60873         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
60874         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
60875         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
60876         * modules/xmalloca: Renamed from modules/xallocsa, updated.
60877         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
60878         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
60879         * modules/c-strcasestr (Depends-on): Update.
60880         * lib/c-strcasestr.c: Update.
60881         * modules/c-strstr (Depends-on): Update.
60882         * lib/c-strstr.c: Update.
60883         * modules/canonicalize-lgpl (Depends-on): Update.
60884         * lib/canonicalize-lgpl.c: Update.
60885         * modules/clean-temp (Depends-on): Update.
60886         * lib/clean-temp.c: Update.
60887         * modules/csharpcomp (Depends-on): Update.
60888         * lib/csharpcomp.c: Update.
60889         * modules/csharpexec (Depends-on): Update.
60890         * lib/csharpexec.c: Update.
60891         * modules/javacomp (Depends-on): Update.
60892         * lib/javacomp.c: Update.
60893         * modules/javaexec (Depends-on): Update.
60894         * lib/javaexec.c: Update.
60895         * modules/mbscasestr (Depends-on): Update.
60896         * lib/mbscasestr.c: Update.
60897         * modules/mbsstr (Depends-on): Update.
60898         * lib/mbsstr.c: Update.
60899         * modules/setenv (Depends-on): Update.
60900         * lib/setenv.c: Update.
60901         * modules/strcasestr (Depends-on): Update.
60902         * lib/strcasestr.c: Update.
60903         * modules/striconveha (Depends-on): Update.
60904         * lib/striconveha.c: Update.
60905         * modules/relocatable-prog-wrapper (Files): Update.
60906         * lib/relocwrapper.c: Update.
60907         * build-aux/install-reloc: Update.
60908         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
60909
60910 2007-06-08  Bruno Haible  <bruno@clisp.org>
60911
60912         Port to uClibc.
60913         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
60914         * lib/fpurge.c (fpurge): Likewise.
60915         * lib/freading.c (freading): Likewise.
60916         * lib/fseeko.c (rpl_fseeko): Likewise.
60917         * lib/fseterr.c (fseterr): Likewise.
60918         * lib/fwriting.c (fwriting): Likewise.
60919         * tests/test-fflush.c (main): Avoid a failure on uClibc.
60920
60921 2007-06-08  Bruno Haible  <bruno@clisp.org>
60922
60923         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
60924         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
60925         * modules/gettext (Files): Add m4/intlmacosx.m4.
60926
60927 2007-06-07  Bruno Haible  <bruno@clisp.org>
60928
60929         * modules/localename-tests: New file.
60930         * tests/test-localename.c: New file.
60931
60932         New module 'localename'.
60933         * lib/localename.h: New file.
60934         * lib/localename.c: New file, from GNU gettext.
60935         * m4/localename.m4: New file.
60936         * modules/localename: New file.
60937
60938 2007-06-07  Bruno Haible  <bruno@clisp.org>
60939
60940         Work around the lack of <wchar.h> on some builds of uClibc.
60941         * doc/headers/wchar.texi: Update.
60942         * lib/wchar_.h: Include <wchar.h> only if it exists.
60943         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
60944         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
60945         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
60946         doesn't exist.
60947         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
60948         * modules/mbfile (Depends-on): Add wchar.
60949         * modules/mbiter (Depends-on): Likewise.
60950         * modules/mbuiter (Depends-on): Likewise.
60951         Reported by Simon Josefsson.
60952
60953 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
60954
60955         Work around problem reported by Steven M. Schweda in
60956         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
60957         Tru64 5.1B with the Compaq compiler environment installed declares
60958         an 'isblank' function but does not define it in the C library.
60959         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
60960         * lib/regex_internal.h (isblank): Likewise.
60961         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
60962         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
60963
60964 2007-06-05  Bruno Haible  <bruno@clisp.org>
60965
60966         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
60967         ia64.
60968         * modules/printf-safe: New file.
60969         * modules/fprintf-posix (Depends-on): Add printf-safe.
60970         * modules/printf-posix (Depends-on): Likewise.
60971         * modules/snprintf-posix (Depends-on): Likewise.
60972         * modules/sprintf-posix (Depends-on): Likewise.
60973         * modules/vasnprintf-posix (Depends-on): Likewise.
60974         * modules/vasprintf-posix (Depends-on): Likewise.
60975         * modules/vfprintf-posix (Depends-on): Likewise.
60976         * modules/vprintf-posix (Depends-on): Likewise.
60977         * modules/vsnprintf-posix (Depends-on): Likewise.
60978         * modules/vsprintf-posix (Depends-on): Likewise.
60979         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
60980         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
60981         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
60982         "no" on i386, x86_64, ia64.
60983         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
60984         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
60985         on i386, x86_64, ia64.
60986         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
60987         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
60988         on i386, x86_64, ia64.
60989         * tests/test-vasnprintf-posix.c: Include float.h.
60990         (LDBL80_WORDS): New macro.
60991         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
60992         on i386, x86_64, ia64.
60993         * tests/test-vasprintf-posix.c: Include float.h.
60994         (LDBL80_WORDS): New macro.
60995         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
60996         on i386, x86_64, ia64.
60997         * tests/test-snprintf-posix.c: Include float.h.
60998         * tests/test-sprintf-posix.c: Likewise.
60999         * tests/test-vsnprintf-posix.c: Likewise.
61000         * tests/test-vsprintf-posix.c: Likewise.
61001
61002 2007-06-05  Bruno Haible  <bruno@clisp.org>
61003
61004         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
61005         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
61006         non-IEEE numbers on i386, x86_64, ia64.
61007         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
61008         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
61009         * tests/test-isnanl.h: Include float.h.
61010         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
61011
61012 2007-06-05  Bruno Haible  <bruno@clisp.org>
61013
61014         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
61015         also the %a / %A. Handle the %a / %A code before this extra handling.
61016
61017 2007-06-05  Bruno Haible  <bruno@clisp.org>
61018
61019         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
61020         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
61021
61022 2007-06-05  Bruno Haible  <bruno@clisp.org>
61023
61024         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
61025         typo in variable name.
61026
61027 2007-06-05  Eric Blake  <ebb9@byu.net>
61028
61029         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
61030         Reported by Simon Josefsson.
61031
61032 2007-06-04  Bruno Haible  <bruno@clisp.org>
61033
61034         Avoid test failures on some PowerPC platforms.
61035         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
61036         Define differently for PowerPC.
61037         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
61038         Reported by Gary V. Vaughan <gary@gnu.org>.
61039
61040 2007-06-02  Bruno Haible  <bruno@clisp.org>
61041
61042         Fix test-stdint failure on FreeBSD/ia64.
61043         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
61044         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
61045         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
61046         * doc/headers/stdint.texi: Update.
61047
61048 2007-06-01  Bruno Haible  <bruno@clisp.org>
61049
61050         * tests/test-binary-io.c (main): Pass a third argument to open().
61051         Reported by Gary V. Vaughan <gary@gnu.org>.
61052
61053 2007-06-01  Bruno Haible  <bruno@clisp.org>
61054
61055         * doc/functions/frexpl.texi: Update for mingw.
61056
61057 2007-06-01  Bruno Haible  <bruno@clisp.org>
61058
61059         * tests/test-lseek.c (main): Disable test of errno for invalid third
61060         argument.
61061         * doc/functions/lseek.texi: Update.
61062         Reported by Gary V. Vaughan <gary@gnu.org>.
61063
61064 2007-05-28  Bruno Haible  <bruno@clisp.org>
61065
61066         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
61067
61068 2007-05-31  Eric Blake  <ebb9@byu.net>
61069
61070         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
61071         cross compiling.
61072
61073 2007-05-30  Eric Blake  <ebb9@byu.net>
61074         and Bruno Haible  <bruno@clisp.org>
61075
61076         Work around mingw test failures exposed by m4-1.4.9b.
61077         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
61078         * tests/test-unistd.c: Disable uid_t and git_t tests for the
61079         moment.
61080
61081 2007-05-30  Bruno Haible  <bruno@clisp.org>
61082
61083         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
61084         assuming that they are closed. Needed on HP-UX 11.
61085
61086 2007-05-29  Bruno Haible  <bruno@clisp.org>
61087
61088         Fix a problem with #include_next.
61089         * lib/dirent_.h: Split the double-inclusion guard.
61090         * lib/fcntl_.h: Likewise.
61091         * lib/float_.h: Likewise.
61092         * lib/iconv_.h: Likewise.
61093         * lib/inttypes_.h: Likewise.
61094         * lib/locale_.h: Likewise.
61095         * lib/math_.h: Likewise.
61096         * lib/netinet_in_.h: Likewise.
61097         * lib/search_.h: Likewise.
61098         * lib/signal_.h: Likewise.
61099         * lib/stdint_.h: Likewise.
61100         * lib/stdio_.h: Likewise.
61101         * lib/stdlib_.h: Likewise.
61102         * lib/string_.h: Likewise.
61103         * lib/sys_select_.h: Likewise.
61104         * lib/sys_socket_.h: Likewise.
61105         * lib/sys_stat_.h: Likewise.
61106         * lib/sys_time_.h: Likewise.
61107         * lib/sysexits_.h: Likewise.
61108         * lib/time_.h: Likewise.
61109         * lib/unistd_.h: Likewise.
61110         * lib/wchar_.h: Likewise.
61111         * lib/wctype_.h: Likewise.
61112
61113 2007-05-29  Bruno Haible  <bruno@clisp.org>
61114
61115         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
61116         for the moment.
61117
61118 2007-05-29  Bruno Haible  <bruno@clisp.org>
61119
61120         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
61121         invocation.
61122         Reported by Eric Blake.
61123
61124 2007-05-29  Bruno Haible  <bruno@clisp.org>
61125
61126         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
61127         compiling case.
61128
61129 2007-05-29  Eric Blake  <ebb9@byu.net>
61130             Bruno Haible  <bruno@clisp.org>
61131
61132         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
61133         cross compiles.
61134
61135 2007-05-28  Eric Blake  <ebb9@byu.net>
61136
61137         * modules/closein-tests (test_closein_LDADD): Support test on
61138         cygwin with libtool.
61139
61140 2007-05-28  Bruno Haible  <bruno@clisp.org>
61141
61142         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
61143         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
61144         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
61145         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
61146         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
61147         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
61148         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
61149         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
61150         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
61151
61152 2007-05-28  Eric Blake  <ebb9@byu.net>
61153
61154         Unconditionally include <config.h> in unit tests.
61155         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
61156         * tests/test-allocsa.c, tests/test-arcfour.c,
61157         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
61158         tests/test-array_list.c, tests/test-array_oset.c,
61159         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
61160         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
61161         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
61162         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
61163         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
61164         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
61165         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
61166         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
61167         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
61168         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
61169         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
61170         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
61171         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
61172         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
61173         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
61174         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
61175         test-md5.c, test-memmem.c, test-printf-posix.c,
61176         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
61177         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
61178         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
61179         test-strcasestr.c, test-striconv.c, test-striconveh.c,
61180         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
61181         test-vasnprintf-posix2.c, test-vasnprintf.c,
61182         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
61183         test-vfprintf-posix.c, test-vprintf-posix.c,
61184         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
61185         test-xvasprintf.c: Likewise.
61186
61187 2007-05-28  Bruno Haible  <bruno@clisp.org>
61188
61189         * gnulib-tool (func_import): Remember the --with-tests command-line
61190         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
61191         Reported by Eric Blake.
61192
61193 2007-05-28  Bruno Haible  <bruno@clisp.org>
61194
61195         * modules/ftell-tests: New file.
61196         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
61197         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
61198
61199         * lib/ftell.c: New file.
61200         * modules/ftell: New file.
61201         * m4/ftell.m4: New file.
61202         * doc/functions/ftell.texi: Update.
61203         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
61204         REPLACE_FTELL.
61205         * lib/stdio_.h (rpl_ftell): New declaration.
61206         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
61207         REPLACE_FTELL.
61208
61209 2007-05-28  Eric Blake  <ebb9@byu.net>
61210
61211         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
61212
61213 2007-05-28  Bruno Haible  <bruno@clisp.org>
61214
61215         * modules/fseek-tests: New file.
61216         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
61217         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
61218
61219         * lib/fseek.c: New file.
61220         * modules/fseek: New file.
61221         * m4/fseek.m4: New file.
61222         * doc/functions/fseek.texi: Update.
61223         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
61224         REPLACE_FSEEK.
61225         * lib/stdio_.h (rpl_fseek): New declaration.
61226         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
61227         REPLACE_FSEEK.
61228
61229 2007-05-28  Bruno Haible  <bruno@clisp.org>
61230
61231         * lib/stdio_.h (fflush): More comments.
61232
61233 2007-05-28  Bruno Haible  <bruno@clisp.org>
61234
61235         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
61236         runtime test.
61237
61238 2007-05-28  Eric Blake  <ebb9@byu.net>
61239
61240         Improve lseek module.
61241         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
61242         * lib/unistd_.h (lseek): Scale back link warning message.
61243         * tests/test-lseek.c: Beef up test.
61244         * tests/test-lseek.sh: Exercise more facets of lseek.
61245         Reported by Bruno Haible.
61246
61247 2007-05-28  Bruno Haible  <bruno@clisp.org>
61248
61249         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
61250         to define.
61251
61252 2007-05-27  Bruno Haible  <bruno@clisp.org>
61253
61254         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
61255
61256 2007-05-27  Bruno Haible  <bruno@clisp.org>
61257
61258         * modules/openmp: New file.
61259         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
61260         Noah Misch.
61261
61262 2007-05-26  Bruno Haible  <bruno@clisp.org>
61263
61264         * modules/chdir-long (Depends-on): Add fchdir.
61265         * modules/chdir-safer (Depends-on): Likewise.
61266         * modules/fts (Depends-on): Likewise.
61267         * modules/fts-lgpl (Depends-on): Likewise.
61268         * modules/openat (Depends-on): Likewise.
61269         * modules/savewd (Depends-on): Likewise.
61270
61271 2007-05-24  Eric Blake  <ebb9@byu.net>
61272
61273         Fix lseek on mingw.
61274         * modules/lseek: New module.
61275         * m4/lseek.m4: New file.
61276         * lib/lseek.c: New file.
61277         * modules/lseek-tests: New file.
61278         * tests/test-lseek.c: New file.
61279         * tests/test-lseek.sh: New file.
61280         * MODULES.html.sh: Document lseek module.
61281         * modules/fflush (Depends-on): Add lseek, fseeko.
61282         * modules/fseeko (Depends-on): Likewise.
61283         * modules/ftello (Depends-on): Likewise.
61284         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
61285         broken.
61286         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
61287         broken.
61288         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
61289         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
61290         * lib/ftello.c (rpl_ftello): Likewise.
61291         * tests/test-fseeko.c (main): Test this.
61292         * tests/test-fseeko.sh: Likewise.
61293         * tests/test-ftello.c (main): Likewise.
61294         * tests/test-ftello.sh: Likewise.
61295         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
61296         implies replacing fseek.
61297         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
61298         HAVE_FTELLO.
61299         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
61300         * modules/unistd (Makefile.am): Likewise.
61301         * lib/unistd_.h (lseek): Declare a replacement.
61302         * doc/functions/lseek.texi (lseek): Document this fix.
61303         * doc/functions/fseek.texi (fseek): Likewise.
61304         * doc/functions/ftell.texi (ftell): Likewise.
61305
61306 2007-05-24  Bruno Haible  <bruno@clisp.org>
61307
61308         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
61309         in the printed representation of a NaN.
61310         * tests/test-vasprintf-posix.c (test_function): Likewise.
61311         * tests/test-snprintf-posix.h (test_function): Likewise.
61312         * tests/test-sprintf-posix.h (test_function): Likewise.
61313         Reported by Eric Blake.
61314
61315 2007-05-23  Eric Blake  <ebb9@byu.net>
61316
61317         Fix fseeko/ftello on cygwin 1.5.24.
61318         * doc/functions/fseeko.texi (fseeko): Document the fix.
61319         * doc/functions/ftello.texi (ftello): Document the fix.
61320         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
61321         * doc/functions/stdout.text (stdout): New file.
61322         * doc/functions/stderr.text (stderr): New file.
61323         * doc/gnulib.texi (Function Substitutes): Use new files.
61324         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
61325         prior to 1.7.0.
61326         * tests/test-ftello.c (main): Likewise for ftello.
61327         * tests/test-fseeko.sh: New file.
61328         * tests/test-ftello.sh: New file.
61329         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
61330         with seekable stdin.
61331         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
61332         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
61333         (gl_REPLACE_FSEEKO): New macro.
61334         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
61335         * modules/fseeko (Files): Distribute fseeko.c.
61336         * modules/ftello (Files): Distribute ftello.c.
61337         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
61338         mode.
61339         * lib/ftello.c (rpl_ftello): New file.
61340         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
61341         fseeko, ftello.
61342         (gl_STDIN_LARGE_OFFSET): New macro.
61343         * modules/stdio (Makefile.am): Perform the replacement.
61344         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
61345
61346 2007-05-23  Bruno Haible  <bruno@clisp.org>
61347
61348         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
61349         GNULIB_POSIXCHECK is defined.
61350
61351 2007-05-21  Bruno Haible  <bruno@clisp.org>
61352
61353         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
61354         Check also the output for NaN arguments. When cross-compiling, guess
61355         no on IRIX.
61356         * lib/vasnprintf.c: Update comments.
61357         * tests/test-vasnprintf-posix.c (strisnan): New function.
61358         (test_function): Use it.
61359         * tests/test-vasprintf-posix.c (strisnan): New function.
61360         (test_function): Use it.
61361         * tests/test-snprintf-posix.h (strisnan): New function.
61362         (test_function): Use it.
61363         * tests/test-sprintf-posix.h (strisnan): New function.
61364         (test_function): Use it.
61365         Reported by Eric Blake.
61366
61367 2007-05-20  Bruno Haible  <bruno@clisp.org>
61368
61369         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
61370         numbers that fails on BeOS.
61371         * doc/functions/frexpl.texi: Update.
61372
61373 2007-05-20  Jim Meyering  <jim@meyering.net>
61374
61375         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
61376         forced upon us by glibc-2.6.
61377
61378 2007-05-20  Bruno Haible  <bruno@clisp.org>
61379
61380         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
61381         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
61382         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
61383         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
61384         NEED_PRINTF_INFINITE.
61385         (is_infinitel): New function.
61386         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
61387         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
61388         gl_PREREQ_VASNPRINTF_INFINITE.
61389         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
61390         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61391         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
61392         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
61393         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
61394         gl_PREREQ_VASNPRINTF_INFINITE.
61395         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61396         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61397         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61398         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61399         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61400         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61401         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61402         * doc/functions/fprintf.texi: Update.
61403         * doc/functions/printf.texi: Update.
61404         * doc/functions/snprintf.texi: Update.
61405         * doc/functions/sprintf.texi: Update.
61406         * doc/functions/vfprintf.texi: Update.
61407         * doc/functions/vprintf.texi: Update.
61408         * doc/functions/vsnprintf.texi: Update.
61409         * doc/functions/vsprintf.texi: Update.
61410
61411 2007-05-20  Bruno Haible  <bruno@clisp.org>
61412
61413         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
61414         was not found in libc.
61415         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
61416
61417 2007-05-20  Bruno Haible  <bruno@clisp.org>
61418
61419         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
61420         printed as "-nan" instead of "nan".
61421         * tests/test-vasprintf-posix.c (test_function): Likewise.
61422         * tests/test-snprintf-posix.h (test_function): Likewise.
61423         * tests/test-sprintf-posix.h (test_function): Likewise.
61424         Needed for HP-UX 11.
61425
61426 2007-05-20  Jim Meyering  <jim@meyering.net>
61427
61428         Fix buggy test for the fchownat-deref bug.
61429         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
61430         symlink required for the run-test.  Without it, this test would
61431         always declare that fchownat doesn't work, and client code would
61432         unnecessarily use the replacement function with fixed libc.
61433         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
61434         Reported by Greg Schafer.
61435
61436 2007-05-19  Bruno Haible  <bruno@clisp.org>
61437
61438         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
61439         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
61440         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
61441         Needed for IRIX 6.5 and Solaris 2.5.1.
61442
61443 2007-05-19  Bruno Haible  <bruno@clisp.org>
61444
61445         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
61446         (test_function): Skip tests involving -0.0 on platforms where
61447         -0.0 = 0.0.
61448         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
61449         (test_function): Skip tests involving -0.0 on platforms where
61450         -0.0 = 0.0.
61451         * tests/test-snprintf-posix.h (have_minus_zero): New function.
61452         (test_function): Skip tests involving -0.0 on platforms where
61453         -0.0 = 0.0.
61454         * tests/test-sprintf-posix.h (have_minus_zero): New function.
61455         (test_function): Skip tests involving -0.0 on platforms where
61456         -0.0 = 0.0.
61457         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
61458         tests.
61459         * tests/test-printf-posix.h (test_function): Likewise.
61460         * tests/test-printf-posix.output: Remove all -0.0 related results.
61461         Needed for IRIX 6.5.
61462
61463 2007-05-19  Bruno Haible  <bruno@clisp.org>
61464
61465         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
61466         printed as "nan0x7fffffff" instead of "nan".
61467         * tests/test-vasprintf-posix.c (test_function): Likewise.
61468         * tests/test-snprintf-posix.h (test_function): Likewise.
61469         * tests/test-sprintf-posix.h (test_function): Likewise.
61470         * tests/test-fprintf-posix.h (NaN): Remove macro.
61471         (test_function): Remove all NaN related tests.
61472         * tests/test-printf-posix.h (NaN): Remove macro.
61473         (test_function): Remove all NaN related tests.
61474         * tests/test-printf-posix.output: Remove all NaN related results.
61475         Needed for IRIX 6.5.
61476
61477 2007-05-19  Bruno Haible  <bruno@clisp.org>
61478
61479         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
61480         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
61481
61482 2007-05-19  Bruno Haible  <bruno@clisp.org>
61483
61484         * lib/float_.h: New file.
61485         * m4/float_h.m4: New file.
61486         * modules/float: New file.
61487         * modules/isnanl (Dependencies): Add float.
61488         * modules/isnanl-nolibm (Dependencies): Likewise.
61489         * modules/mathl (Dependencies): Likewise.
61490         * modules/printf-frexpl (Dependencies): Likewise.
61491         * modules/signbit (Dependencies): Likewise.
61492         * modules/vasnprintf (Dependencies): Likewise.
61493         * doc/headers/float.texi: Update.
61494
61495 2007-05-19  Jim Meyering  <jim@meyering.net>
61496
61497         * lib/utimens.c (gl_futimens): Rename from futimens,
61498         now that glibc-2.6 declares futimens.
61499         * lib/utimens.h: Likewise.
61500
61501 2007-05-19  Bruno Haible  <bruno@clisp.org>
61502
61503         Avoid test failures on mingw.
61504         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
61505         * tests/test-printf-posix.sh: Likewise.
61506         * tests/test-vfprintf-posix.sh: Likewise.
61507         * tests/test-vprintf-posix.sh: Likewise.
61508
61509 2007-05-19  Bruno Haible  <bruno@clisp.org>
61510
61511         Fix *printf result for NaN, Inf, -0.0 on mingw.
61512         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
61513         * lib/vasnprintf.c: Include math.h and isnan.h.
61514         (is_infinite_or_zero): New function.
61515         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
61516         values in the %f, %F, %e, %E, %g, %G directives.
61517         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
61518         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61519         gl_PRINTF_INFINITE and test its result. Invoke
61520         gl_PREREQ_VASNPRINTF_INFINITE.
61521         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61522         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61523         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61524         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61525         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61526         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61527         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61528         * doc/functions/fprintf.texi: Update.
61529         * doc/functions/printf.texi: Update.
61530         * doc/functions/snprintf.texi: Update.
61531         * doc/functions/sprintf.texi: Update.
61532         * doc/functions/vfprintf.texi: Update.
61533         * doc/functions/vprintf.texi: Update.
61534         * doc/functions/vsnprintf.texi: Update.
61535         * doc/functions/vsprintf.texi: Update.
61536
61537 2007-05-19  Bruno Haible  <bruno@clisp.org>
61538
61539         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
61540         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
61541         Instead of multiplying with 10^k, set extra_zeroes to k.
61542         (scale10_round_long_double): Remove function.
61543
61544 2007-05-18  Bruno Haible  <bruno@clisp.org>
61545
61546         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
61547         introduced on 2007-05-06.
61548
61549 2007-05-18  Bruno Haible  <bruno@clisp.org>
61550
61551         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
61552         %g directives.
61553         * tests/test-vasprintf-posix.c (test_function): Likewise.
61554         * tests/test-snprintf-posix.h (test_function): Likewise.
61555         * tests/test-sprintf-posix.h (test_function): Likewise.
61556
61557 2007-05-18  Bruno Haible  <bruno@clisp.org>
61558
61559         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
61560         (strmatch): New function.
61561         (test_function): Test the %f directive on numbers of various exponents.
61562         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
61563         (strmatch): New function.
61564         (test_function): Test the %f directive on numbers of various exponents.
61565         * tests/test-snprintf-posix.h (strmatch): New function.
61566         (test_function): Test the %f directive on numbers of various exponents.
61567         * tests/test-sprintf-posix.h (strmatch): New function.
61568         (test_function): Test the %f directive on numbers of various exponents.
61569         * tests/test-snprintf-posix.c (SIZEOF): New macro.
61570         * tests/test-sprintf-posix.c (SIZEOF): New macro.
61571         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
61572         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
61573
61574 2007-05-18  Bruno Haible  <bruno@clisp.org>
61575
61576         Add support for 'long double' number output.
61577         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
61578         * lib/vasnprintf.c: Include math.h and float+.h.
61579         (mp_limb_t): New type.
61580         (GMP_LIMB_BITS): New macro.
61581         (mp_twolimb_t): New type.
61582         (GMP_TWOLIMB_BITS): New macro.
61583         (mpn_t): New type.
61584         (multiply, divide, convert_to_decimal, decode_long_double,
61585         scale10_round_long_double, scale10_round_decimal_long_double,
61586         floorlog10l): New functions.
61587         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
61588         for the %f, %F, %e, %E, %g, %G directives.
61589         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
61590         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61591         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
61592         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
61593         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61594         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61595         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61596         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61597         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61598         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61599         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61600         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
61601         * modules/snprintf-posix (Depends-on): Likewise.
61602         * modules/sprintf-posix (Depends-on): Likewise.
61603         * modules/vasnprintf-posix (Depends-on): Likewise.
61604         * modules/vasprintf-posix (Depends-on): Likewise.
61605         * modules/vfprintf-posix (Depends-on): Likewise.
61606         * modules/vsnprintf-posix (Depends-on): Likewise.
61607         * modules/vsprintf-posix (Depends-on): Likewise.
61608         * modules/vasnprintf (Files): Add lib/float+.h.
61609         * doc/functions/fprintf.texi: Update.
61610         * doc/functions/printf.texi: Update.
61611         * doc/functions/snprintf.texi: Update.
61612         * doc/functions/sprintf.texi: Update.
61613         * doc/functions/vfprintf.texi: Update.
61614         * doc/functions/vprintf.texi: Update.
61615         * doc/functions/vsnprintf.texi: Update.
61616         * doc/functions/vsprintf.texi: Update.
61617
61618 2007-05-18  Bruno Haible  <bruno@clisp.org>
61619
61620         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
61621
61622 2007-05-18  Bruno Haible  <bruno@clisp.org>
61623
61624         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
61625         for printing 64-bit integers. Needed for mingw.
61626
61627 2007-05-18  Bruno Haible  <bruno@clisp.org>
61628
61629         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
61630         gl_FUNC_FREXPL_WORKS.
61631         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
61632
61633 2007-05-18  Bruno Haible  <bruno@clisp.org>
61634
61635         * modules/frexpl-nolibm-tests: New file.
61636
61637         * modules/frexpl-nolibm: New file.
61638         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
61639
61640 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
61641
61642         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
61643         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
61644         GCC 4.2, which otherwise issues a lot of warnings.
61645         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
61646         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
61647         Likewise.
61648         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
61649         * modules/iconv_open (iconv.h): Likewise.
61650         * modules/locale (locale.h): Likewise.
61651         * modules/netinet_in (netinet/in.h): Likewise.
61652         * modules/sys_select (sys_select.h): Likewise.
61653         * modules/sys_socket (sys/socket.h): Likewise.
61654         * modules/sys_stat (sys/stat.h): Likewise.
61655         * modules/sysexits (sysexits.h): Likewise.
61656         * modules/unistd (unistd.h): Likewise.
61657
61658 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61659
61660         * modules/closein-tests (Makefile.am): Distribute
61661         `test-closein.sh'.
61662
61663 2007-05-17  Bruno Haible  <bruno@clisp.org>
61664
61665         * tests/test-printf-posix.output: Renamed from
61666         tests/test-fprintf-posix.out.
61667         * modules/fprintf-posix-tests: Update.
61668         * modules/printf-posix-tests: Update.
61669         * modules/vfprintf-posix-tests: Update.
61670         * modules/vprintf-posix-tests: Update.
61671         * tests/test-fprintf-posix.sh: Update.
61672         * tests/test-printf-posix.sh: Update.
61673         * tests/test-vfprintf-posix.sh: Update.
61674         * tests/test-vprintf-posix.sh: Update.
61675         Reported by Ralf Wildenhues.
61676
61677 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
61678
61679         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
61680         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
61681         GCC 4.2, which otherwise issues a lot of warnings.
61682         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
61683         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
61684         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
61685         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
61686         it should no longer be needed.
61687         * lib/string_.h: Likewise.
61688         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
61689         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
61690         * modules/inttypes (inttypes.h): Likewise.
61691         * modules/math (math.h): Likewise.
61692         * modules/search (search.h): Likewise.
61693         * modules/signal (signal.h): Likewise.
61694         * modules/stdint (stdint.h): Likewise.
61695         * modules/stdio (stdio.h): Likewise.
61696         * modules/stdlib (stdlib.h): Likewise.
61697         * modules/string (string.h): Likewise.
61698         * modules/sys_time (sys/time.h): Likewise.
61699         * modules/time (time.h): Likewise.
61700         * modules/wchar (wchar.h): Likewise.
61701         * modules/wctype (wtype.h): Likewise.
61702
61703 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
61704
61705         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
61706
61707 2007-05-13  Bruno Haible  <bruno@clisp.org>
61708
61709         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
61710         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
61711         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
61712         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
61713         (gl_PREREQ_STRTOK_R): Don't require it here.
61714
61715 2007-05-13  Bruno Haible  <bruno@clisp.org>
61716
61717         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
61718         when used in C++ mode.
61719
61720 2007-05-12  Bruno Haible  <bruno@clisp.org>
61721
61722         * lib/linebuffer.h: Tweak doc.
61723         * lib/linebuffer.c: Likewise.
61724
61725 2007-05-12  James Youngman  <jay@gnu.org>
61726
61727         * lib/linebuffer.c (readlinebuffer_delim): New function,
61728         like readlinebuffer, but use a caller-specified delimiter.
61729         (readlinebuffer): Just call readlinebuffer_delim with '\n'
61730         as the delimiter.
61731         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
61732
61733 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
61734
61735         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
61736         * modules/openat (Files): Remove openat-die.c.
61737         (Depends-on): Add openat-die.
61738         * modules/openat-die: New module.
61739
61740 2007-05-06  Bruno Haible  <bruno@clisp.org>
61741
61742         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
61743         Update with info about Cygwin.
61744         * doc/functions/fprintf.texi: Update.
61745         * doc/functions/printf.texi: Update.
61746         * doc/functions/snprintf.texi: Update.
61747         * doc/functions/sprintf.texi: Update.
61748         * doc/functions/vfprintf.texi: Update.
61749         * doc/functions/vprintf.texi: Update.
61750         * doc/functions/vsnprintf.texi: Update.
61751         * doc/functions/vsprintf.texi: Update.
61752         Reported by Eric Blake.
61753
61754 2007-05-06  Bruno Haible  <bruno@clisp.org>
61755
61756         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
61757         padding ourselves for the floating-point directives.
61758         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
61759         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
61760         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
61761         gl_PRINTF_FLAG_ZERO and test its result. Invoke
61762         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
61763         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61764         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
61765         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61766         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61767         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61768         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61769         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61770         * tests/test-snprintf-posix.h (test_function): Also check the width
61771         and some flags in the %f directive.
61772         * tests/test-sprintf-posix.h (test_function): Likewise.
61773         * tests/test-vasnprintf-posix.c (test_function): Likewise.
61774         * tests/test-vasprintf-posix.c (test_function): Likewise.
61775         * doc/functions/fprintf.texi: Update.
61776         * doc/functions/printf.texi: Update.
61777         * doc/functions/snprintf.texi: Update.
61778         * doc/functions/sprintf.texi: Update.
61779         * doc/functions/vfprintf.texi: Update.
61780         * doc/functions/vprintf.texi: Update.
61781         * doc/functions/vsnprintf.texi: Update.
61782         * doc/functions/vsprintf.texi: Update.
61783
61784 2007-05-06  Bruno Haible  <bruno@clisp.org>
61785
61786         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
61787         pass the ' flag character to sprintf or snprintf.
61788         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
61789         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
61790         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
61791         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
61792         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
61793         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61794         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
61795         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61796         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61797         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61798         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61799         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61800         * tests/test-snprintf-posix.h (test_function): Also check the grouping
61801         flag.
61802         * tests/test-sprintf-posix.h (test_function): Likewise.
61803         * tests/test-vasnprintf-posix.c (test_function): Likewise.
61804         * tests/test-vasprintf-posix.c (test_function): Likewise.
61805         * doc/functions/fprintf.texi: Update.
61806         * doc/functions/printf.texi: Update.
61807         * doc/functions/snprintf.texi: Update.
61808         * doc/functions/sprintf.texi: Update.
61809         * doc/functions/vfprintf.texi: Update.
61810         * doc/functions/vprintf.texi: Update.
61811         * doc/functions/vsnprintf.texi: Update.
61812         * doc/functions/vsprintf.texi: Update.
61813
61814 2007-05-01  Bruno Haible  <bruno@clisp.org>
61815
61816         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
61817
61818 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
61819
61820         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
61821         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
61822
61823 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
61824
61825         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
61826         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
61827         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
61828
61829 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
61830
61831         * lib/argp-help.c (struct hol_entry): New member `ord'.
61832         (HOL_ENTRY_PTRCMP): Use ord for comparison
61833         (hol_sort): Initialize ord.
61834
61835 2007-05-01  Bruno Haible  <bruno@clisp.org>
61836
61837         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
61838         Reported by Eric Blake.
61839         * doc/gnulib.texi (Function Substitutes): Update.
61840
61841 2007-05-01  Bruno Haible  <bruno@clisp.org>
61842
61843         * doc/functions.texi: Remove file, now redundant through
61844         doc/functions/*.texi.
61845
61846 2007-05-01  Bruno Haible  <bruno@clisp.org>
61847
61848         * modules/argp (Depends-on): Add sleep.
61849
61850 2007-05-01  Bruno Haible  <bruno@clisp.org>
61851
61852         * modules/sleep-tests: New file.
61853         * tests/test-sleep.c: New file.
61854
61855         * modules/sleep: New file.
61856         * lib/sleep.c: New file.
61857         * m4/sleep.m4: New file.
61858         * lib/unistd_.h (sleep): New declaration.
61859         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
61860         HAVE_SLEEP.
61861         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
61862         * doc/functions/sleep.texi: Document the sleep module.
61863
61864 2007-05-01  Bruno Haible  <bruno@clisp.org>
61865
61866         * lib/sigprocmask.h: Remove file.
61867         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
61868         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
61869         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
61870         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
61871         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
61872         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
61873         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
61874         HAVE_SIGSET_T as a shell variable.
61875         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
61876         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
61877         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
61878         (Depends-on): Add signal. Remove verify.
61879         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
61880         (Include): Mention <signal.h> instead of sigprocmask.h.
61881         * NEWS: Mention the change.
61882         * lib/fatal-signal.c: Don't include sigprocmask.h.
61883
61884 2007-05-01  Bruno Haible  <bruno@clisp.org>
61885
61886         * modules/signal: New file.
61887         * lib/signal_.h: New file.
61888         * m4/signal_h.m4: New file.
61889
61890 2007-05-01  Bruno Haible  <bruno@clisp.org>
61891
61892         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
61893         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
61894         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
61895         HAVE_WCTYPE_CTMP_BUG into wctype.h.
61896
61897 2007-05-01  Bruno Haible  <bruno@clisp.org>
61898
61899         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
61900         configure time.
61901         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
61902         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
61903         * modules/sys_stat (Makefile.am): Substitute their values into
61904         sys/stat.h.
61905
61906 2007-05-01  Bruno Haible  <bruno@clisp.org>
61907
61908         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
61909         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
61910         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
61911
61912 2007-05-01  Bruno Haible  <bruno@clisp.org>
61913
61914         * doc/header/assert.texi: Undo last change: don't mention the gnulib
61915         'assert' module here.
61916
61917 2007-05-01  Bruno Haible  <bruno@clisp.org>
61918
61919         * doc/functions/*.texi: New files.
61920         * doc/functions/google-ranking.txt: New file.
61921         * doc/gnulib.texi (Function Substitutes): New chapter.
61922         (ctime, inet_ntoa): Remove sections.
61923         * doc/ctime.texi: Remove file.
61924         * doc/inet_ntoa.texi: Remove file.
61925         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
61926         dependencies.
61927         (%.info): New rule, specifying a --reference-limit.
61928
61929 2007-05-01  Bruno Haible  <bruno@clisp.org>
61930
61931         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
61932
61933 2007-05-01  Bruno Haible  <bruno@clisp.org>
61934
61935         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
61936         the portability of 'mkdir' to mingw systems.
61937
61938 2007-05-01  Bruno Haible  <bruno@clisp.org>
61939
61940         * doc/headers/google-ranking.txt: New file.
61941
61942 2007-04-30  Eric Blake  <ebb9@byu.net>
61943
61944         Prefer fseeko to fseek.
61945         * modules/getpass (Depends-on): Add fseeko.
61946         * lib/getpass.c (getpass): Use fseeko, not fseek.
61947
61948 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
61949
61950         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
61951         assumes the sorting is stable, while most qsort implementations
61952         are not.  Use argument addresses to ensure they never compare as
61953         equal.
61954
61955         * tests/test-argp-2.sh (usage-indent test): Fix output
61956         (func_compare): Restore diff options
61957         * tests/test-argp.c: Restore #include "progname.h"
61958
61959 2007-04-29  Bruno Haible  <bruno@clisp.org>
61960
61961         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
61962         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
61963         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
61964         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61965         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
61966         (configure.ac): Define CHECK_SNPRINTF_POSIX.
61967         (TESTS, check_PROGRAMS): Add test-snprintf.
61968         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
61969         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
61970         (TESTS, check_PROGRAMS): Add test-vsnprintf.
61971         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
61972         assertions that fail on HP-UX, OSF/1, or IRIX.
61973         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
61974
61975 2007-04-29  Bruno Haible  <bruno@clisp.org>
61976
61977         * MODULES.html.sh (posix_functions): Remove 'contents'.
61978
61979 2007-04-29  Karl Berry  <karl@gnu.org>
61980
61981         * config/srclist.txt (gendocs_template_min): new entry.
61982
61983 2007-04-29  Bruno Haible  <bruno@clisp.org>
61984
61985         Work around fpurge bug on BSD systems.
61986         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
61987         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
61988         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
61989         fpurge to rpl_fpurge if the system already has this function.
61990         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
61991         the case where the system already has this function. Correct invariants
61992         on BSD systems.
61993         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
61994         BSD systems.
61995
61996 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
61997
61998         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
61999         proposed by Sven Verdoolaege.
62000
62001         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
62002         options.
62003         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
62004         (usage and help tests): Update
62005
62006 2007-04-29  Bruno Haible  <bruno@clisp.org>
62007
62008         * tests/test-fflush.c (main): Use a file of size 17, not 10.
62009         Print more information in case of failure. Disable a test on BeOS.
62010
62011 2007-04-29  Bruno Haible  <bruno@clisp.org>
62012
62013         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
62014         This helps debugging on systems on which no gdb is available.
62015
62016 2007-04-29  Bruno Haible  <bruno@clisp.org>
62017
62018         * lib/freading.h: Improve comments.
62019         * lib/fwriting.h: Likewise.
62020         * tests/test-freading.c (main): Don't check freading immediately after
62021         repositioning. Needed for glibc.
62022
62023 2007-04-29  Bruno Haible  <bruno@clisp.org>
62024
62025         * lib/freading.c (freading): Trivial simplification.
62026
62027 2007-04-28  Bruno Haible  <bruno@clisp.org>
62028
62029         * tests/test-fwriting.c (main): Also test the interaction between
62030         fflush and fwriting.
62031         * modules/fwriting-tests (Depends-on): Add fflush.
62032
62033         * tests/test-freading.c (main): Also test the interaction between
62034         fflush and freading.
62035         * modules/freading-tests (Depends-on): Add fflush.
62036
62037 2007-04-28  Bruno Haible  <bruno@clisp.org>
62038
62039         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
62040         fseeko and ftello.
62041         Suggested by Eric Blake.
62042
62043 2007-04-28  Jim Meyering  <jim@meyering.net>
62044
62045         Avoid false-negative in gl_STDINT_H's C99 conformance test.
62046         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
62047         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
62048
62049 2007-04-27  Eric Blake  <ebb9@byu.net>
62050
62051         * doc/headers/assert.texi (assert.h): Document assert module use.
62052
62053 2007-04-27  Bruno Haible  <bruno@clisp.org>
62054
62055         * doc/headers/*.texi: New files.
62056         * doc/gnulib.texi (Header File Substitutes): New chapter.
62057         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
62058         dependencies.
62059         (standards.info ,standards.html, standards.dvi): Update dependencies.
62060         (mostlyclean, clean): New targets.
62061
62062 2007-04-27  Bruno Haible  <bruno@clisp.org>
62063
62064         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
62065         * modules/sysexits (Files, Makefile.am): Update.
62066
62067         * lib/sys_socket_.h: Renamed from lib/socket_.h.
62068         * modules/sys_socket (Files, Makefile.am): Update.
62069
62070         * lib/sys_stat_.h: Renamed from lib/stat_.h.
62071         * modules/sys_stat (Files, Makefile.am): Update.
62072
62073 2007-04-27  Eric Blake  <ebb9@byu.net>
62074
62075         * lib/freading.h: Improve comments.
62076         * lib/fwriting.h: Likewise.
62077         * lib/fflush.c: Likewise.
62078
62079         Fix closein for mingw.
62080         * modules/closein-tests: Add tests for closein.
62081         * tests/test-closein.c: New file.
62082         * tests/test-closein.sh: Likewise.
62083         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
62084         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
62085
62086 2007-04-27  Bruno Haible  <bruno@clisp.org>
62087
62088         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
62089         version is < 6.
62090         * lib/math_.h [__DECC]: Likewise.
62091         * lib/stdio_.h [__DECC]: Likewise.
62092         * lib/stdlib_.h [__DECC]: Likewise.
62093         * lib/string_.h [__DECC]: Likewise.
62094         * lib/time_.h [__DECC]: Likewise.
62095         * lib/wchar_.h [__DECC]: Likewise.
62096         * lib/wctype_.h [__DECC]: Likewise.
62097
62098 2007-04-27  Bruno Haible  <bruno@clisp.org>
62099
62100         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
62101
62102 2007-04-27  Bruno Haible  <bruno@clisp.org>
62103
62104         * lib/fflush.c: Add comments.
62105         * modules/fpurge-tests (Depends-on): Add fflush.
62106         * modules/freadable-tests (Depends-on): Likewise.
62107         * modules/fwritable-tests (Depends-on): Likewise.
62108
62109 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
62110
62111         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
62112         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
62113         Report by Bruno Haible <bruno@clisp.org>.
62114
62115 2007-04-26  Eric Blake  <ebb9@byu.net>
62116
62117         Fix fflush on mingw.
62118         * modules/fflush (Depends-on): Add freading.
62119         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
62120         but unread data.
62121
62122 2007-04-26  Eric Blake  <ebb9@byu.net>
62123         and Bruno Haible  <bruno@clisp.org>
62124
62125         Implement freading and fwriting.
62126         * lib/freading.c: New file.
62127         * lib/freading.h: Likewise.
62128         * m4/freading.m4: Likewise.
62129         * modules/freading: Likewise.
62130         * modules/freading-tests: Likewise.
62131         * tests/test-freading.c: Likewise.
62132         * lib/fwriting.c: New file.
62133         * lib/fwriting.h: Likewise.
62134         * m4/fwriting.m4: Likewise.
62135         * modules/fwriting: Likewise.
62136         * modules/fwriting-tests: Likewise.
62137         * tests/test-fwriting.c: Likewise.
62138         * MODULES.html.sh (File stream based Input/Output): Mention them.
62139
62140 2007-04-26  Bruno Haible  <bruno@clisp.org>
62141
62142         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
62143         'long' when we assume it.
62144         Suggested by Eric Blake.
62145
62146 2007-04-26  Bruno Haible  <bruno@clisp.org>
62147
62148         Ensure fseeko, ftello are declared on glibc systems.
62149         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
62150         * modules/fseeko (configure.ac-early): Likewise.
62151         * modules/ftello (configure.ac-early): Likewise.
62152         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
62153         AC_FUNC_FSEEKO for this.
62154         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
62155         (gl_CHECK_FSEEKO): Remove macro.
62156
62157 2007-04-26  Bruno Haible  <bruno@clisp.org>
62158
62159         * tests/test-fflush.c (main): Also check the ftell result after
62160         fflush and fseek/fseeko.
62161         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
62162         file descriptor position cache in the stream.
62163         * lib/fseeko.c (rpl_fseeko): Likewise.
62164
62165 2007-04-26  Bruno Haible  <bruno@clisp.org>
62166
62167         * modules/fflush-tests (Depends-on): Add fseeko.
62168
62169 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
62170             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62171
62172         * lib/argz_.h: ensure error_t definition is obtained in same
62173         mechanism system argz.h would have.
62174         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
62175         argz facilities are known bad.  Err on the side of caution if
62176         cross-compiling.
62177
62178 2007-04-25  Eric Blake  <ebb9@byu.net>
62179
62180         * lib/fpurge.c (includes): Use stdlib.h for free.
62181         * tests/test-fflush.c (main): Also test fflush-fseeko.
62182
62183 2007-04-25  Bruno Haible  <bruno@clisp.org>
62184
62185         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
62186         * lib/fseeko.c: New file.
62187         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
62188         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
62189         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
62190         gl_FUNC_FSEEKO.
62191         (gl_FUNC_FSEEKO): Invoke it.
62192         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
62193         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
62194         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
62195
62196 2007-04-25  Bruno Haible  <bruno@clisp.org>
62197
62198         * modules/fflush (Depends-on): Add ftello.
62199
62200 2007-04-25  Bruno Haible  <bruno@clisp.org>
62201
62202         * modules/ftello-tests: New file.
62203         * tests/test-ftello.c: New file.
62204
62205         * modules/ftello: New file.
62206         * m4/ftello.m4: New file.
62207         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
62208         HAVE_FTELLO.
62209         * lib/stdio_.h (ftello): New declaration.
62210         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
62211         HAVE_FTELLO.
62212
62213 2007-04-25  Bruno Haible  <bruno@clisp.org>
62214
62215         * modules/fseeko-tests: New file.
62216         * tests/test-fseeko.c: New file.
62217
62218         * modules/fseeko: New file.
62219         * m4/fseeko.m4: New file.
62220         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
62221         HAVE_FSEEKO.
62222         * lib/stdio_.h (fseeko): New declaration.
62223         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
62224         HAVE_FSEEKO.
62225
62226 2007-04-25  Bruno Haible  <bruno@clisp.org>
62227
62228         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
62229
62230 2007-04-25  Bruno Haible  <bruno@clisp.org>
62231
62232         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
62233         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
62234         * tests/test-unistd.c: Likewise.
62235         * tests/test-fcntl.c: Likewise.
62236
62237 2007-04-23  Eric Blake  <ebb9@byu.net>
62238
62239         * lib/fflush.c: Fix missing include.
62240         Reported by Bruno Haible.
62241
62242 2007-04-23  Bruno Haible  <bruno@clisp.org>
62243
62244         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
62245         Reported by Eric Blake.
62246
62247 2007-04-23  Bruno Haible  <bruno@clisp.org>
62248
62249         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
62250
62251 2007-04-23  Bruno Haible  <bruno@clisp.org>
62252
62253         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
62254
62255 2007-04-23  Bruno Haible  <bruno@clisp.org>
62256
62257         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
62258         Needed on HP-UX 11.
62259
62260 2007-04-16  Eric Blake  <ebb9@byu.net>
62261
62262         Make fflush rely on fpurge.
62263         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
62264         open coding all variants.
62265         * modules/fflush (Depends-on): Add fpurge and unistd.
62266         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
62267         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
62268
62269         Fix --with-tests compilation on cygwin.
62270         * modules/argmatch-tests (Makefile.am): List gnulib library first
62271         in LDADD.
62272         * modules/argp-tests (Makefile.am): Likewise.
62273         * modules/array-list-tests (Makefile.am): Likewise.
62274         * modules/array-oset-tests (Makefile.am): Likewise.
62275         * modules/avltree-list-tests (Makefile.am): Likewise.
62276         * modules/avltree-oset-tests (Makefile.am): Likewise.
62277         * modules/avltreehash-list-tests (Makefile.am): Likewise.
62278         * modules/carray-list-tests (Makefile.am): Likewise.
62279         * modules/dirname-tests (Makefile.am): Likewise.
62280         * modules/frexp-tests (Makefile.am): Likewise.
62281         * modules/isnanl-tests (Makefile.am): Likewise.
62282         * modules/linked-list-tests (Makefile.am): Likewise.
62283         * modules/linkedhash-list-tests (Makefile.am): Likewise.
62284         * modules/lock-tests (Makefile.am): Likewise.
62285         * modules/rbtree-list-tests (Makefile.am): Likewise.
62286         * modules/rbtree-oset-tests (Makefile.am): Likewise.
62287         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
62288         * modules/tls-tests (Makefile.am): Likewise.
62289         * modules/tsearch-tests (Makefile.am): Likewise.
62290         * modules/xvasprintf-tests (Makefile.am): Likewise.
62291
62292         Fix fpurge for cygwin.
62293         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
62294         value.
62295         * modules/fpurge-tests (Depends-on): Clean up trash.
62296
62297 2007-04-16  Simon Josefsson  <simon@josefsson.org>
62298
62299         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
62300
62301         * m4/autobuild.m4: Re-indent.
62302
62303 2007-04-13  Bruno Haible  <bruno@clisp.org>
62304
62305         * modules/fpurge-tests: New file.
62306         * tests/test-fpurge.c: New file.
62307
62308         * modules/fpurge: New file.
62309         * lib/fpurge.h: New file.
62310         * lib/fpurge.c: New file.
62311         * m4/fpurge.m4: New file.
62312
62313 2007-04-13  Bruno Haible  <bruno@clisp.org>
62314
62315         * modules/fbufmode-tests: New file.
62316         * tests/test-fbufmode.c: New file.
62317
62318         * modules/fbufmode: New file.
62319         * lib/fbufmode.h: New file.
62320         * lib/fbufmode.c: New file.
62321         * m4/fbufmode.m4: New file.
62322
62323 2007-04-13  Bruno Haible  <bruno@clisp.org>
62324
62325         * modules/fwritable-tests: New file.
62326         * tests/test-fwritable.c: New file.
62327
62328         * modules/fwritable: New file.
62329         * lib/fwritable.h: New file.
62330         * lib/fwritable.c: New file.
62331         * m4/fwritable.m4: New file.
62332
62333 2007-04-13  Bruno Haible  <bruno@clisp.org>
62334
62335         * modules/freadable-tests: New file.
62336         * tests/test-freadable.c: New file.
62337
62338         * modules/freadable: New file.
62339         * lib/freadable.h: New file.
62340         * lib/freadable.c: New file.
62341         * m4/freadable.m4: New file.
62342
62343 2007-04-13  Bruno Haible  <bruno@clisp.org>
62344
62345         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
62346         MOSTLYCLEANFILES.
62347
62348 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
62349
62350         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
62351         gzip bootstrap.conf to avoid dragging in i18n machinery.
62352         (gnulib_tool_option): Use it.
62353
62354 2007-04-13  Bruno Haible  <bruno@clisp.org>
62355
62356         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
62357         %F directives.
62358         * tests/test-vasprintf-posix.c (test_function): Likewise.
62359         * tests/test-snprintf-posix.h (test_function): Likewise.
62360         * tests/test-sprintf-posix.h (test_function): Likewise.
62361         * tests/test-fprintf-posix.h (test_function): Likewise.
62362         * tests/test-printf-posix.h (test_function): Likewise.
62363         * tests/test-fprintf-posix.out: Likewise.
62364
62365 2007-04-13  Bruno Haible  <bruno@clisp.org>
62366
62367         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
62368         * modules/tls-tests (configure.ac): Likewise.
62369         Reported by Arto C. Nirkko <anirkko@insel.ch>.
62370
62371 2007-04-13  Bruno Haible  <bruno@clisp.org>
62372
62373         * lib/tls.c (glthread_tls_get): Fix return type.
62374         Patch by Arto C. Nirkko <anirkko@insel.ch>.
62375
62376 2007-04-12  Eric Blake  <ebb9@byu.net>
62377
62378         * modules/gettime (Depends-on): Remove gettime.
62379         Reported by Dmitry V. Levin.
62380
62381 2007-04-12  Bruno Haible  <bruno@clisp.org>
62382
62383         * modules/fflush (Include): Mention <stdio.h>.
62384         * modules/strtoimax (Include): Mention <inttypes.h>.
62385         * modules/strtoumax (Include): Likewise.
62386
62387 2007-04-12  Eric Blake  <ebb9@byu.net>
62388
62389         * .cvsignore: New file.
62390         * .gitignore: Likewise.
62391
62392 2007-04-12  Bruno Haible  <bruno@clisp.org>
62393
62394         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
62395         not before, since $(LDADD) often contains libgnu.a.
62396         * modules/striconv-tests (test_striconv_LDADD): Likewise.
62397         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
62398         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
62399         Needed on Cygwin.
62400
62401 2007-04-12  Eric Blake  <ebb9@byu.net>
62402
62403         Work around glibc's failure to flush stdin on fclose.
62404         * lib/closein.c (close_stdin): Flush stdin before closing.
62405
62406         Work around glibc's failure to reset seekable stdin on exit.
62407         * modules/closein: New module.
62408         * lib/closein.c: New file.
62409         * lib/closein.h: Likewise.
62410         * m4/closein.m4: Likewise.
62411         * MODULES.html.sh (File stream based Input/Output): Document it.
62412
62413 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62414
62415         * gnulib-tool: Rename generated 'autobuild' script to
62416         'do-autobuild' in --create-megatestdir output.
62417
62418         * doc/gnulib.texi (Build robot for gnulib): Fix.
62419
62420 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62421
62422         * modules/sysexits (Depends-on): Add absolute-header.
62423
62424 2007-04-12  Eric Blake  <ebb9@byu.net>
62425
62426         No need to preserve errno on success.
62427         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
62428         Reported by Bruno Haible.
62429
62430 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62431
62432         * MODULES.html.sh (Support for maintaining and releasing
62433         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
62434
62435 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62436
62437         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
62438
62439 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62440
62441         * modules/autobuild: New module.
62442
62443         * m4/autobuild.m4: New file.
62444
62445 2007-04-11  Bruno Haible  <bruno@clisp.org>
62446
62447         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
62448         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
62449         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
62450         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
62451         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62452         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62453         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62454         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62455         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62456         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62457         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
62458         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62459         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62460         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
62461         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62462         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62463         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
62464         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62465         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62466         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
62467         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62468         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62469         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
62470         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62471         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62472         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
62473         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62474         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62475         Reported by Eric Blake.
62476
62477 2007-04-11  Bruno Haible  <bruno@clisp.org>
62478
62479         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
62480
62481 2007-04-10  Bruno Haible  <bruno@clisp.org>
62482
62483         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
62484         for NaN and Infinity. Needed on FreeBSD 6.1.
62485         * tests/test-vasnprintf-posix.c (test_function): Undo last change
62486         regarding results for "%010a" of Infinity and NaN.
62487         * tests/test-vasprintf-posix.c (test_function): Likewise.
62488         * tests/test-snprintf-posix.h (test_function): Likewise.
62489         * tests/test-sprintf-posix.h (test_function): Likewise.
62490         * tests/test-fprintf-posix.h (test_function): Likewise.
62491         * tests/test-printf-posix.h (test_function): Likewise.
62492         * tests/test-fprintf-posix.out: Likewise.
62493
62494 2007-04-10  Bruno Haible  <bruno@clisp.org>
62495
62496         * modules/locale-tests: New file.
62497         * tests/test-locale.c: New file.
62498
62499         * modules/locale: New file.
62500         * lib/locale_.h: New file.
62501         * m4/locale_h.m4: New file.
62502
62503 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
62504             Bruno Haible  <bruno@clisp.org>
62505
62506         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
62507         be determined, test for availability of the copysignf, copysign,
62508         copysignl functions.
62509         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
62510         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
62511         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
62512
62513 2007-04-09  Eric Blake  <ebb9@byu.net>
62514
62515         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
62516         * modules/stdio (Makefile.am): Support fflush.
62517         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
62518         * modules/fflush: New file.
62519         * lib/fflush.c: Likewise.
62520         * m4/fflush.m4: Likewise.
62521         * modules/fflush-tests: New test.
62522         * tests/test-fflush.c: Likewise.
62523         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
62524
62525 2007-04-06  Bruno Haible  <bruno@clisp.org>
62526
62527         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
62528         (VASNPRINTF): Use signbit for faster determination whether to print a
62529         minus sign.
62530         * modules/vasnprintf (Files): Remove lib/float+.h.
62531         * modules/fprintf-posix (Depends-on): Add signbit.
62532         * modules/snprintf-posix (Depends-on): Likewise.
62533         * modules/sprintf-posix (Depends-on): Likewise.
62534         * modules/vasnprintf-posix (Depends-on): Likewise.
62535         * modules/vasprintf-posix (Depends-on): Likewise.
62536         * modules/vfprintf-posix (Depends-on): Likewise.
62537         * modules/vsnprintf-posix (Depends-on): Likewise.
62538         * modules/vsprintf-posix (Depends-on): Likewise.
62539
62540 2007-04-06  Bruno Haible  <bruno@clisp.org>
62541
62542         * tests/test-frexp.c (main): Test also the sign bit of zero results.
62543         * tests/test-frexpl.c (main): Likewise.
62544         * tests/test-ldexpl.c (main): Likewise.
62545         * modules/frexp-tests (Depends-on): Add signbit.
62546         * modules/frexpl-tests (Depdends-on): Likewise.
62547         * modules/ldexpl-tests (Depdends-on): Likewise.
62548
62549 2007-04-06  Bruno Haible  <bruno@clisp.org>
62550
62551         * modules/signbit-tests: New file.
62552         * tests/test-signbit.c: New file.
62553
62554         * modules/signbit: New file.
62555         * lib/signbitf.c: New file.
62556         * lib/signbitd.c: New file.
62557         * lib/signbitl.c: New file.
62558         * m4/signbit.m4: New file.
62559         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
62560         (signbit): New macro.
62561         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
62562         REPLACE_SIGNBIT.
62563         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
62564         REPLACE_FREXPL into math.h.
62565
62566 2007-04-06  Bruno Haible  <bruno@clisp.org>
62567
62568         * modules/isnanf-nolibm-tests: New file.
62569         * tests/test-isnanf.c: New file.
62570
62571         * modules/isnanf-nolibm: New file.
62572         * lib/isnanf.h: New file.
62573         * lib/isnanf.c: New file.
62574         * lib/isnan.c: Consider the USE_FLOAT macro.
62575         * m4/isnanf.m4: New file.
62576
62577 2007-04-06  Bruno Haible  <bruno@clisp.org>
62578
62579         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
62580         (Link): New section.
62581
62582         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
62583
62584 2007-04-06  Bruno Haible  <bruno@clisp.org>
62585
62586         Assume the 'long double' type.
62587         * m4/longdouble.m4: Remove file.
62588         * config/srclist.txt: Don't mention longdouble.m4.
62589         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
62590         * lib/float+.h: Likewise.
62591         * lib/frexp.c: Likewise.
62592         * lib/printf-args.h: Likewise.
62593         * lib/printf-args.c: Likewise.
62594         * lib/printf-frexp.c: Likewise.
62595         * lib/printf-parse.c: Likewise.
62596         * lib/vasnprintf.c: Likewise.
62597         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
62598         * m4/intl.m4: Likewise.
62599         * m4/isnanl.m4: Likewise.
62600         * m4/printf.m4: Likewise.
62601         * m4/printf-frexpl.m4: Likewise.
62602         * m4/vasnprintf.m4: Likewise.
62603         * modules/allocsa (Files): Remove m4/longdouble.m4.
62604         * modules/gettext (Files): Likewise.
62605         * modules/relocatable-prog-wrapper (Files): Likewise.
62606         * modules/vasnprintf (Files): Likewise.
62607         * modules/isnanl (Files): Likewise.
62608         (Include): Simplify.
62609         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
62610         (Include): Simplify.
62611         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
62612         (Include): Simplify.
62613         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
62614         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62615         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
62616         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62617         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
62618         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62619         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
62620         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62621         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
62622         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62623         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
62624         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62625         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
62626         * tests/test-isnanl.c: Likewise.
62627         * tests/test-snprintf-posix.h: Likewise.
62628         * tests/test-sprintf-posix.h: Likewise.
62629         * tests/test-vasnprintf-posix.c: Likewise.
62630         * tests/test-vasnprintf-posix2.c: Likewise.
62631         * tests/test-vasprintf-posix.c: Likewise.
62632
62633 2007-04-06  Bruno Haible  <bruno@clisp.org>
62634
62635         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
62636         * lib/math_.h [__DECC]: Include the overridden include file through
62637         #include_next, outside the double-inclusion guard.
62638         * lib/stdio_.h [__DECC]: Likewise.
62639         * lib/stdlib_.h [__DECC]: Likewise.
62640         * lib/string_.h [__DECC]: Likewise.
62641         * lib/time_.h [__DECC]: Likewise.
62642         * lib/wchar_.h [__DECC]: Likewise.
62643         * lib/wctype_.h [__DECC]: Likewise.
62644         * lib/inttypes_.h [__DECC]: Likewise.
62645         Reported by Albert Chin <china@thewrittenword.com> in
62646         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
62647
62648 2007-04-04  Eric Blake  <ebb9@byu.net>
62649
62650         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
62651         1.5.x.
62652
62653 2007-04-04  Bruno Haible  <bruno@clisp.org>
62654
62655         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
62656         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
62657
62658 2007-04-04  Bruno Haible  <bruno@clisp.org>
62659
62660         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
62661         results for "%010a" of Infinity and NaN.
62662         * tests/test-vasprintf-posix.c (test_function): Likewise.
62663         * tests/test-snprintf-posix.h (test_function): Likewise.
62664         * tests/test-sprintf-posix.h (test_function): Likewise.
62665         * tests/test-fprintf-posix.h (test_function): Remove these tests.
62666         * tests/test-printf-posix.h (test_function): Likewise.
62667         * tests/test-fprintf-posix.out: Update.
62668         Needed for FreeBSD 6.1.
62669
62670 2007-04-04  Bruno Haible  <bruno@clisp.org>
62671
62672         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
62673         directly used by the gnulib modules nor by gnulib-tool.
62674
62675 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
62676
62677         * DEPENDENCIES: Give overall description of version dependency
62678         desirability.  Use more-typical names for apps.
62679         Add shell, coreutils, diffutils, grep, tar, gzip.
62680
62681 2007-04-04  Simon Josefsson  <simon@josefsson.org>
62682
62683         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
62684
62685 2007-04-04  Karl Berry  <karl@gnu.org>
62686
62687         * MODULES.html.sh (func_module): missing '.
62688
62689 2007-04-03  Bruno Haible  <bruno@clisp.org>
62690
62691         * modules/argmatch-tests (Makefile.am): New variable
62692         test_argmatch_LDADD.
62693         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
62694         * modules/array-list-tests (Makefile.am): New variable
62695         test_array_list_LDADD.
62696         * modules/array-oset-tests (Makefile.am): New variable
62697         test_array_oset_LDADD.
62698         * modules/avltree-list-tests (Makefile.am): New variable
62699         test_avltree_list_LDADD.
62700         * modules/avltree-oset-tests (Makefile.am): New variable
62701         test_avltree_oset_LDADD.
62702         * modules/avltreehash-list-tests (Makefile.am): New variable
62703         test_avltreehash_list_LDADD.
62704         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
62705         test_canonicalize_lgpl_LDADD.
62706         * modules/carray-list-tests (Makefile.am): New variable
62707         test_carray_list_LDADD.
62708         * modules/dirname-tests (Makefile.am): New variable
62709         test_dirname_LDADD.
62710         * modules/linked-list-tests (Makefile.am): New variable
62711         test_linked_list_LDADD.
62712         * modules/linkedhash-list-tests (Makefile.am): New variable
62713         test_linkedhash_list_LDADD.
62714         * modules/rbtree-list-tests (Makefile.am): New variable
62715         test_rbtree_list_LDADD.
62716         * modules/rbtree-oset-tests (Makefile.am): New variable
62717         test_rbtree_oset_LDADD.
62718         * modules/rbtreehash-list-tests (Makefile.am): New variable
62719         test_rbtreehash_list_LDADD.
62720         * modules/xvasprintf-tests (Makefile.am): New variable
62721         test_xvasprintf_LDADD.
62722         Reported by Eric Blake.
62723
62724 2007-04-03  Eric Blake  <ebb9@byu.net>
62725
62726         * DEPENDENCIES: Weaken m4 requirements.
62727
62728 2007-04-03  Bruno Haible  <bruno@clisp.org>
62729
62730         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
62731         * modules/isnanl-tests (configure.ac): Likewise.
62732
62733 2007-04-03  Ben Pfaff  <blp@gnu.org>
62734
62735         * modules/iconv_open: Add $(srcdir)/ to source directory
62736         references in Makefile fragments that call gperf, to fix VPATH
62737         builds.
62738
62739 2007-04-03  Bruno Haible  <bruno@clisp.org>
62740
62741         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
62742         * lib/ldexpl.c: Undo last change.
62743
62744 2007-04-03  Bruno Haible  <bruno@clisp.org>
62745
62746         * modules/printf-frexpl (Depends-on): Undo last change.
62747         (Files): Add m4/ldexpl.m4.
62748
62749 2007-04-03  Bruno Haible  <bruno@clisp.org>
62750
62751         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
62752         * modules/isnanl (Link): New section.
62753
62754         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
62755         * modules/frexp (Link): New section.
62756
62757         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
62758         * modules/frexpl (Link): New section.
62759
62760         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
62761         * modules/ldexpl (Link): New section.
62762
62763 2007-04-03  Bruno Haible  <bruno@clisp.org>
62764
62765         * modules/TEMPLATE-EXTENDED: New file.
62766         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
62767
62768 2007-04-03  Bruno Haible  <bruno@clisp.org>
62769
62770         * DEPENDENCIES: New file.
62771         Suggested by Simon Josefsson.
62772
62773 2007-04-03  Bruno Haible  <bruno@clisp.org>
62774
62775         * doc/gnulib.texi: Escape @.
62776
62777 2007-04-03  James Youngman  <jay@gnu.org>
62778         and Paul Eggert  <eggert@cs.ucla.edu>
62779
62780         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
62781         birthtime on all systems that have birthtime, not just those which
62782         use st_birthtimensec rather than st_birthtim.  Putting zero in
62783         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
62784         that the birth time is not available for files on an NFS mount.
62785
62786 2007-04-03  Simon Josefsson  <simon@josefsson.org>
62787
62788         * modules/memxor: Move back from crypto/, suggested by Bruno.
62789         * modules/crypto/hmac-sha1: Fix memxor dependency.
62790
62791         * modules/crypto/gc: Moved from ../.
62792
62793 2007-04-02  Eric Blake  <ebb9@byu.net>
62794
62795         * lib/ldexpl.c (includes): Avoid libm.
62796
62797         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
62798
62799 2007-04-02  Bruno Haible  <bruno@clisp.org>
62800
62801         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
62802         on IRIX.
62803
62804 2007-04-02  Bruno Haible  <bruno@clisp.org>
62805
62806         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
62807         x86 or x86_64 platforms running MacOS X.
62808         Reported by Ryan Schmidt <@ryandesign.com>.
62809
62810 2007-04-02  Bruno Haible  <bruno@clisp.org>
62811
62812         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
62813         i386.
62814
62815 2007-04-01  Simon Josefsson  <simon@josefsson.org>
62816
62817         * modules/crypto/arcfour: Moved from ../.
62818         * modules/crypto/arcfour-tests: Moved from ../.
62819         * modules/crypto/arctwo: Moved from ../.
62820         * modules/crypto/arctwo-tests: Moved from ../.
62821         * modules/crypto/des: Moved from ../.
62822         * modules/crypto/des-tests: Moved from ../.
62823         * modules/crypto/gc-arcfour: Moved from ../.
62824         * modules/crypto/gc-arcfour-tests: Moved from ../.
62825         * modules/crypto/gc-arctwo: Moved from ../.
62826         * modules/crypto/gc-arctwo-tests: Moved from ../.
62827         * modules/crypto/gc-des: Moved from ../.
62828         * modules/crypto/gc-des-tests: Moved from ../.
62829         * modules/crypto/gc-hmac-md5: Moved from ../.
62830         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
62831         * modules/crypto/gc-hmac-sha1: Moved from ../.
62832         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
62833         * modules/crypto/gc-md2: Moved from ../.
62834         * modules/crypto/gc-md2-tests: Moved from ../.
62835         * modules/crypto/gc-md4: Moved from ../.
62836         * modules/crypto/gc-md4-tests: Moved from ../.
62837         * modules/crypto/gc-md5: Moved from ../.
62838         * modules/crypto/gc-md5-tests: Moved from ../.
62839         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
62840         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
62841         * modules/crypto/gc-random: Moved from ../.
62842         * modules/crypto/gc-rijndael: Moved from ../.
62843         * modules/crypto/gc-rijndael-tests: Moved from ../.
62844         * modules/crypto/gc-sha1: Moved from ../.
62845         * modules/crypto/gc-sha1-tests: Moved from ../.
62846         * modules/crypto/gc-tests: Moved from ../.
62847         * modules/crypto/hmac-md5: Moved from ../.
62848         * modules/crypto/hmac-md5-tests: Moved from ../.
62849         * modules/crypto/hmac-sha1: Moved from ../.
62850         * modules/crypto/hmac-sha1-tests: Moved from ../.
62851         * modules/crypto/md2: Moved from ../.
62852         * modules/crypto/md2-tests: Moved from ../.
62853         * modules/crypto/md4: Moved from ../.
62854         * modules/crypto/md4-tests: Moved from ../.
62855         * modules/crypto/md5: Moved from ../.
62856         * modules/crypto/md5-tests: Moved from ../.
62857         * modules/crypto/memxor: Moved from ../.
62858         * modules/crypto/rijndael: Moved from ../.
62859         * modules/crypto/rijndael-tests: Moved from ../.
62860         * modules/crypto/sha1: Moved from ../.
62861
62862 2007-03-30  James Youngman  <jay@gnu.org>
62863
62864         * tests/test-stat-time.c (prepare_test): use chmod() rather than
62865         rename() to change the ctime of a file (because ctime is unaffected
62866         by rename on jfs2 on AIX 5.1).
62867         (main): Start by doing cleanup, in case a previous run failed leaving
62868         test files behind.
62869
62870 2007-03-31  Bruno Haible  <bruno@clisp.org>
62871
62872         Support old proprietary implementations of iconv.
62873         * modules/iconv_open: New file.
62874         * lib/iconv_.h: New file.
62875         * m4/iconv_h.m4: New file.
62876         * lib/iconv_open.c: New file.
62877         * lib/iconv_open-aix.gperf: New file.
62878         * lib/iconv_open-hpux.gperf: New file.
62879         * lib/iconv_open-irix.gperf: New file.
62880         * lib/iconv_open-osf.gperf: New file.
62881         * m4/iconv_open.m4: New file.
62882         * modules/linebreak (Depends-on): Add iconv_open.
62883         * modules/striconv (Depends-on): Likewise.
62884         * modules/striconveh (Depends-on): Likewise.
62885         * modules/unicodeio (Depends-on): Likewise.
62886         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
62887         (iconv_t)(-1).
62888         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
62889         conversion if cd is (iconv_t)(-1).
62890         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
62891         is not possible.
62892
62893 2007-03-31  Bruno Haible  <bruno@clisp.org>
62894
62895         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
62896         work on Solaris either. Protect also second use of "autodetect_jp".
62897
62898 2007-03-31  Bruno Haible  <bruno@clisp.org>
62899
62900         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
62901         the function is not present.
62902
62903 2007-03-31  Bruno Haible  <bruno@clisp.org>
62904
62905         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
62906         the function is not present.
62907
62908 2007-03-31  Bruno Haible  <bruno@clisp.org>
62909
62910         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
62911         a bug in HP-UX iconv_open().
62912
62913 2007-03-31  Bruno Haible  <bruno@clisp.org>
62914
62915         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
62916         (Mathematics <math.h>): New section, add fpieee.
62917         (Input/output <stdio.h>): Add fseterr.
62918         (Mathematics <math.h>): New section, add printf-frexp.
62919         (Container data structures): Add sublist.
62920         (Core language properties): Add fpucw, inline.
62921         (Functions for greatest-width integer types <inttypes.h>): Add
62922         imaxabs, imaxdiv, inttypes.
62923         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
62924         isnanl-nolibm, ldexp.
62925         (Mathematics <math.h>): New section, add printf-frexpl.
62926         (Support for systems lacking POSIX:2001): Add fprintf-posix,
62927         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
62928         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
62929         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
62930         (Unicode string functions): Add unistr/u*-mbtoucr.
62931         (Java): Add javacomp-script, javaexec-script.
62932         (C#): Add csharpcomp-script, csharpexec-script.
62933         (Support for building libraries and executables): Add havelib,
62934         relocatable-*.
62935         (Support for maintaining and releasing projects): Renamed from
62936         'Support for maintaining and release projects'. Add announce-gen.
62937
62938 2007-03-31  Bruno Haible  <bruno@clisp.org>
62939
62940         * README: Talk primarily about git.
62941         (git and CVS): Renamed from CVS.
62942         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
62943         gnulib is available through git.
62944         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
62945
62946 2007-03-30  Bruno Haible  <bruno@clisp.org>
62947
62948         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
62949         * lib/poll_.h: Likewise.
62950         * lib/stat_.h: Likewise.
62951         * lib/sys_time_.h: Likewise.
62952         * lib/sysexit_.h: Likewise.
62953         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
62954         * lib/stdbool_.h: Likewise.
62955         * lib/byteswap_.h: Add double-inclusion guard.
62956
62957 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
62958
62959         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
62960
62961 2007-03-30  Karl Berry  <karl@gnu.org>
62962
62963         * config/srclist-update: double space after USA in the license
62964         substitution, since that's how it's usually (?) written.
62965
62966 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
62967
62968         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
62969         reported by Bruno Haible.
62970
62971 2007-03-29  Bruno Haible  <bruno@clisp.org>
62972
62973         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
62974         a bug in AIX iconv().
62975
62976 2007-03-29  Bruno Haible  <bruno@clisp.org>
62977
62978         * modules/ldexpl-tests: New file.
62979         * tests/test-ldexpl.c: New file.
62980
62981 2007-03-29  Bruno Haible  <bruno@clisp.org>
62982
62983         * lib/ldexpl.c: Include fpucw.h.
62984         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
62985         multiplication.
62986         * modules/ldexpl (Depends-on): Add fpucw.
62987
62988 2007-03-29  Bruno Haible  <bruno@clisp.org>
62989
62990         * modules/ldexpl: New file.
62991         * m4/ldexpl.m4: New file.
62992         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
62993         set.
62994         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
62995         REPLACE_LDEXPL.
62996         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
62997         REPLACE_LDEXPL.
62998         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
62999         gl_FUNC_LDEXPL_WORKS.
63000         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
63001         * modules/mathl (Files): Remove lib/ldexpl.c.
63002         (Depends-on): Add ldexpl.
63003
63004 2007-03-29  Bruno Haible  <bruno@clisp.org>
63005
63006         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
63007
63008 2007-03-29  Bruno Haible  <bruno@clisp.org>
63009
63010         * tests/test-striconveh.c (main): Don't assume that a direct conversion
63011         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
63012         and possibly also HP-UX.
63013         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
63014         work on AIX, IRIX, HP-UX, OSF/1.
63015         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
63016         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
63017         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
63018         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
63019         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
63020         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
63021
63022 2007-03-29  Bruno Haible  <bruno@clisp.org>
63023
63024         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
63025
63026 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
63027
63028         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
63029         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
63030
63031 2007-03-29  Eric Blake  <ebb9@byu.net>
63032
63033         * lib/acl-internal.h: Remove redundant include.
63034         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
63035         Cygwin when a file is locked.
63036
63037 2007-03-29  Bruno Haible  <bruno@clisp.org>
63038
63039         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
63040         file.
63041         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
63042
63043 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
63044
63045         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
63046         try to remove a parent directory if the child couldn't be removed
63047         (except for the first rmdir, which could fail because the child
63048         doesn't exist).  Problem reported by Jeff Blaine in
63049         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
63050
63051 2007-03-28  Bruno Haible  <bruno@clisp.org>
63052
63053         * lib/striconveh.c (utf8conv_carefully): New function.
63054         (mem_cd_iconveh_internal): Invoke it.
63055
63056 2007-03-28  Bruno Haible  <bruno@clisp.org>
63057
63058         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
63059         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
63060         input.
63061         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
63062         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
63063         unistr/u8-uctomb.
63064
63065 2007-03-28  Bruno Haible  <bruno@clisp.org>
63066
63067         * modules/unistr/u8-mbtoucr: New file.
63068         * lib/unistr/u8-mbtoucr.c: New file.
63069         * modules/unistr/u16-mbtoucr: New file.
63070         * lib/unistr/u16-mbtoucr.c: New file.
63071         * modules/unistr/u16-mbtoucr: New file.
63072         * lib/unistr/u16-mbtoucr.c: New file.
63073         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
63074
63075 2007-03-27  Simon Josefsson  <simon@josefsson.org>
63076             Bruno Haible  <bruno@clisp.org>
63077
63078         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
63079         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
63080         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
63081
63082         * m4/stdio_h.m4: Add stubs for vasprintf too.
63083
63084         * modules/stdio: Support vasprintf in sed command.
63085
63086         * modules/vasprintf: Depend on stdio for prototypes.  Remove
63087         vasprintf.h.  Add stdio module indicator.
63088
63089         * lib/stdio_.h: Declare asprintf and vasprintf, based on
63090         vasprintf.h.
63091
63092         * lib/vasprintf.h: File removed.
63093
63094         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
63095         * lib/vasprintf.c: Ditto.
63096         * lib/xvasprintf.c: Ditto.
63097         * tests/test-vasprintf-posix.c: Ditto.
63098         * tests/test-vasprintf.c: Ditto.
63099
63100 2007-03-27  Bruno Haible  <bruno@clisp.org>
63101
63102         Make vasnprintf multithread-safe.
63103         * lib/vasnprintf.c (decimal_point_char): New function.
63104         (VASNPRINTF): Use it.
63105         Suggested by Simon Josefsson.
63106
63107 2007-03-27  Eric Blake  <ebb9@byu.net>
63108
63109         Support sub-second birthtime on cygwin.
63110         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
63111         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
63112         (get_stat_birthtime): Also work with st_birthtim.
63113
63114 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
63115
63116         * lib/stat-time.h (USE_BIRTHTIME): Remove.
63117         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
63118         (get_stat_birthtime_ns): Do not try to use "spare" fields.
63119         (get_stat_birthtime_ns): Simplify compile-time tests.
63120         (get_stat_birthtime): Change the API to look like
63121         get_stat_mtime etc., except return a negative tv_nsec on error.
63122         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
63123         Don't check for "spare" fields.
63124         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
63125         or for struct stat.st_birthtime, as these tests aren't used.
63126         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
63127
63128 2007-03-27  Bruno Haible  <bruno@clisp.org>
63129
63130         * lib/stat-time.h: Include <sys/stat.h>.
63131
63132 2007-03-27  James Youngman  <jay@gnu.org>
63133
63134         * lib/stat-time.h (get_stat_birthtime): New function for
63135           retrieving st_birthtime as provided by UFS2 (hence *BSD).
63136         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
63137           and its variants.
63138         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
63139         * modules/stat-time-test: New file.
63140         * tests/test-stat-time.c: New test, devised by Bruno Haible.
63141
63142 2007-03-26  Bruno Haible  <bruno@clisp.org>
63143
63144         Better support of signalling NaNs.
63145         * lib/atanl.c: Include isnanl.h.
63146         (atanl): Perform test for NaN at the beginning of the function and
63147         through a call to isnanl.
63148         * lib/cosl.c: Include isnanl.h.
63149         (cosl): Perform test for NaN at the beginning of the function and
63150         through a call to isnanl.
63151         * lib/ldexpl.c: Include isnanl.h.
63152         (ldexpl): Perform test for NaN through a call to isnanl.
63153         * lib/logl.c: Include isnanl.h.
63154         (logl): Perform test for NaN at the beginning of the function and
63155         through a call to isnanl.
63156         * lib/sinl.c: Include isnanl.h.
63157         (sinl): Perform test for NaN at the beginning of the function and
63158         through a call to isnanl.
63159         * lib/sqrtl.c: Include isnanl.h.
63160         (sqrtl): Perform test for NaN at the beginning of the function and
63161         through a call to isnanl.
63162         * lib/tanl.c: Include isnanl.h.
63163         (tanl): Perform test for NaN at the beginning of the function and
63164         through a call to isnanl.
63165         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
63166         * modules/mathl (Depends-on): Add isnanl.
63167
63168 2007-03-26  Eric Blake  <ebb9@byu.net>
63169
63170         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
63171         regression in logic sense of previous patch.
63172
63173 2007-03-26  Bruno Haible  <bruno@clisp.org>
63174
63175         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
63176         unportable shell command "if ! ...".
63177         Reported by Ralf Wildenhues.
63178
63179 2007-03-25  Bruno Haible  <bruno@clisp.org>
63180
63181         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
63182         <sysexits.h> file, and only add EX_CONFIG.
63183         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
63184         absolute file name and whether it is sufficient. Substitute also
63185         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
63186         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
63187         ABSOLUTE_SYSEXITS_H into sysexits.h.
63188
63189 2007-03-25  Bruno Haible  <bruno@clisp.org>
63190
63191         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
63192         hints is NULL.
63193
63194 2007-03-25  Bruno Haible  <bruno@clisp.org>
63195
63196         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
63197         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
63198
63199 2007-03-25  Bruno Haible  <bruno@clisp.org>
63200
63201         * lib/vasnprintf.c: Include langinfo.h.
63202         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
63203         multithread-safe.
63204         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
63205         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
63206         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63207         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63208         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63209         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63210         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63211         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
63212         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63213         Reported by Simon Josefsson.
63214
63215 2007-03-25  Bruno Haible  <bruno@clisp.org>
63216
63217         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
63218         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
63219         * modules/vasnprintf (Depends-on): Add stdint.
63220
63221 2007-03-25  Bruno Haible  <bruno@clisp.org>
63222
63223         * modules/fpieee: New file.
63224         * m4/fpieee.m4: New file.
63225         * modules/isnan-nolibm (Depends-on): Add fpieee.
63226         * modules/isnanl-nolibm (Depends-on): Add fpieee.
63227         * modules/isnanl (Depends-on): Add fpieee.
63228
63229 2007-03-25  Bruno Haible  <bruno@clisp.org>
63230
63231         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
63232
63233 2007-03-25  Bruno Haible  <bruno@clisp.org>
63234
63235         Avoid test failures on IRIX 6.5.
63236         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
63237         (main): Use it.
63238         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
63239         macros.
63240         (main): Use them.
63241
63242 2007-03-25  Bruno Haible  <bruno@clisp.org>
63243
63244         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
63245         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
63246         exists but doesn't work.
63247         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
63248         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
63249         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
63250         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
63251         math.h.
63252
63253 2007-03-25  Bruno Haible  <bruno@clisp.org>
63254
63255         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
63256         returns inf. Needed on IRIX 6.5.
63257
63258 2007-03-25  Bruno Haible  <bruno@clisp.org>
63259
63260         * tests/test-frexpl.c: Include isnanl-nolibm.h.
63261         (main): Use isnanl instead of x != x idiom.
63262         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
63263
63264         * tests/test-frexp.c: Include isnan.h.
63265         (main): Use isnan instead of x != x idiom.
63266         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
63267
63268 2007-03-25  Bruno Haible  <bruno@clisp.org>
63269
63270         * tests/test-frexp.c (NaN): New function/macro.
63271         (main): Use it instead of 0.0 / 0.0.
63272         * tests/test-isnan.c (NaN): New function/macro.
63273         (main): Use it instead of 0.0 / 0.0.
63274         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
63275         (test_function): Use it instead of 0.0 / 0.0.
63276         * tests/test-vasprintf-posix.c (NaN): New function/macro.
63277         (test_function): Use it instead of 0.0 / 0.0.
63278         * tests/test-snprintf-posix.h (NaN): New function/macro.
63279         (test_function): Use it instead of 0.0 / 0.0.
63280         * tests/test-sprintf-posix.h (NaN): New function/macro.
63281         (test_function): Use it instead of 0.0 / 0.0.
63282         * tests/test-fprintf-posix.h (NaN): New function/macro.
63283         (test_function): Use it instead of 0.0 / 0.0.
63284         * tests/test-printf-posix.h (NaN): New function/macro.
63285         (test_function): Use it instead of 0.0 / 0.0.
63286
63287         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
63288
63289 2007-03-25  Bruno Haible  <bruno@clisp.org>
63290
63291         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
63292
63293 2007-03-25  Bruno Haible  <bruno@clisp.org>
63294
63295         * lib/regexec.c (merge_state_with_log): Make static.
63296
63297 2007-03-25  Bruno Haible  <bruno@clisp.org>
63298
63299         * lib/trigl.c (kernel_rem_pio2): Make static.
63300
63301 2007-03-25  Bruno Haible  <bruno@clisp.org>
63302
63303         * lib/sincosl.c (sincosl_table): Make static.
63304
63305 2007-03-25  Bruno Haible  <bruno@clisp.org>
63306
63307         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
63308         if the compiler does not support C99.
63309
63310 2007-03-25  Bruno Haible  <bruno@clisp.org>
63311
63312         * modules/time (Makefile.am): Ensure all rule action lines start with a
63313         tab.
63314
63315 2007-03-24  Bruno Haible  <bruno@clisp.org>
63316
63317         * modules/tsearch-tests: New file.
63318         * tests/test-tsearch.sh: New file.
63319         * tests/test-tsearch.c: New file, mostly copied from glibc.
63320
63321         * modules/search-tests: New file.
63322         * tests/test-search.c: New file.
63323
63324         * modules/search: New file.
63325         * lib/search_.h: New file, incorporating lib/tsearch.h.
63326         * m4/search_h.m4: New file.
63327         * lib/tsearch.h: Remove file.
63328         * lib/tsearch.c: Include search.h instead of tsearch.h.
63329         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
63330         HAVE_TSEARCH.
63331         * modules/tsearch (Files): Remove lib/tsearch.h.
63332         (Depends-on): Add search.
63333         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
63334         (Include): Change tsearch.h into search.h.
63335
63336 2007-03-24  Bruno Haible  <bruno@clisp.org>
63337
63338         * modules/fpucw: New file.
63339         * lib/fpucw.h: New file.
63340         * lib/frexp.c: Include fpucw.h.
63341         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
63342         (FUNC): Use them.
63343         * lib/printf-frexp.c: Include fpucw.h.
63344         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
63345         (FUNC): Use them.
63346         * lib/vasnprintf.c: Include fpucw.h.
63347         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
63348         'long double' calculations.
63349         * tests/test-frexpl.c: Include fpucw.h.
63350         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
63351         * tests/test-printf-frexpl.c: Include fpucw.h.
63352         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
63353         * modules/frexpl (Depends-on): Add fpucw.
63354         * modules/printf-frexpl (Depends-on): Likewise.
63355         * modules/fprintf-posix (Depends-on): Likewise.
63356         * modules/snprintf-posix (Depends-on): Likewise.
63357         * modules/sprintf-posix (Depends-on): Likewise.
63358         * modules/vasnprintf-posix (Depends-on): Likewise.
63359         * modules/vasprintf-posix (Depends-on): Likewise.
63360         * modules/vfprintf-posix (Depends-on): Likewise.
63361         * modules/vsnprintf-posix (Depends-on): Likewise.
63362         * modules/vsprintf-posix (Depends-on): Likewise.
63363         * modules/frexpl-tests (Depends-on): Likewise.
63364         * modules/printf-frexpl-tests (Depends-on): Likewise.
63365
63366 2007-03-24  Bruno Haible  <bruno@clisp.org>
63367
63368         * lib/float+.h: New file.
63369         * lib/isnan.c: Include float+.h.
63370         (SIZE): New macro.
63371         (FUNC): Compare only SIZE bytes of the value.
63372         * lib/vasnprintf.c: Include float+.h.
63373         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
63374         SIZEOF_LDBL or SIZEOF_DBL bytes.
63375         * modules/isnan-nolibm (Files): Add lib/float+.h.
63376         * modules/isnanl-nolibm (Files): Add lib/float+.h.
63377         * modules/isnanl (Files): Add lib/float+.h.
63378         * modules/vasnprintf (Files): Add lib/float+.h.
63379
63380 2007-03-24  Bruno Haible  <bruno@clisp.org>
63381
63382         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
63383         include isnanl-nolibm.h.
63384
63385 2007-03-24  Bruno Haible  <bruno@clisp.org>
63386
63387         * tests/test-read-file.c (main): Don't produce spurious output for
63388         expected situations. Make the test fail if it encountered unexpected
63389         results.
63390
63391 2007-03-24  Bruno Haible  <bruno@clisp.org>
63392
63393         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
63394         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
63395
63396 2007-03-24  Bruno Haible  <bruno@clisp.org>
63397
63398         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
63399
63400 2007-03-24  Bruno Haible  <bruno@clisp.org>
63401
63402         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
63403         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
63404
63405         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
63406         * modules/utf8-ucs4: Turn into a symbolic link to module
63407         unistr/u8-mbtouc.
63408
63409         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
63410         utf8-ucs4-unsafe.
63411         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
63412         unistr/u8-mbtouc-unsafe.
63413
63414         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
63415         * modules/utf16-ucs4: Turn into a symbolic link to module
63416         unistr/u16-mbtouc.
63417
63418         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
63419         utf16-ucs4-unsafe.
63420         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
63421         unistr/u16-mbtouc-unsafe.
63422
63423         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
63424         * modules/ucs4-utf8: Turn into a symbolic link to module
63425         unistr/u8-ubtomb.
63426
63427         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
63428         * modules/ucs4-utf16: Turn into a symbolic link to module
63429         unistr/u16-ubtomb.
63430
63431 2007-03-24  Bruno Haible  <bruno@clisp.org>
63432
63433         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
63434         Enable the function only if HAVE_INLINE.
63435         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
63436         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
63437         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
63438         Enable the function only if HAVE_INLINE.
63439         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
63440         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
63441         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
63442         Enable the function only if HAVE_INLINE.
63443         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
63444         Enable the function only if HAVE_INLINE.
63445         * modules/utf8-ucs4: Update.
63446         * modules/utf8-ucs4-unsafe: Update.
63447         * modules/utf16-ucs4: Update.
63448         * modules/utf16-ucs4-unsafe: Update.
63449         * modules/ucs4-utf8: Update.
63450         * modules/ucs4-utf16: Update.
63451
63452 2007-03-24  Bruno Haible  <bruno@clisp.org>
63453
63454         * lib/utf8-ucs4.h: Remove file.
63455         * lib/utf8-ucs4-unsafe.h: Remove file.
63456         * lib/utf16-ucs4.h: Remove file.
63457         * lib/utf16-ucs4-unsafe.h: Remove file.
63458         * lib/ucs4-utf8.h: Remove file.
63459         * lib/ucs4-utf16.h: Remove file.
63460         * lib/unistr.h: Include their previous contents.
63461         * m4/utf-ucs4.m4: Remove file.
63462         * m4/ucs4-utf.m4: Remove file.
63463         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
63464         (Depends-on): Add unistr/base.
63465         (configure.ac): Remove gl_UTF_UCS4.
63466         (Makefile.am): Update.
63467         (Include): Change to unistr.h.
63468         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
63469         (Depends-on): Add unistr/base.
63470         (configure.ac): Remove gl_UTF_UCS4.
63471         (Makefile.am): Update.
63472         (Include): Change to unistr.h.
63473         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
63474         (Depends-on): Add unistr/base.
63475         (configure.ac): Remove gl_UTF_UCS4.
63476         (Makefile.am): Update.
63477         (Include): Change to unistr.h.
63478         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
63479         (Depends-on): Add unistr/base.
63480         (configure.ac): Remove gl_UTF_UCS4.
63481         (Makefile.am): Update.
63482         (Include): Change to unistr.h.
63483         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
63484         (Depends-on): Add unistr/base.
63485         (configure.ac): Remove gl_UCS4_UTF.
63486         (Makefile.am): Update.
63487         (Include): Change to unistr.h.
63488         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
63489         (Depends-on): Add unistr/base.
63490         (configure.ac): Remove gl_UCS4_UTF.
63491         (Makefile.am): Update.
63492         (Include): Change to unistr.h.
63493         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
63494         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
63495         utf8-ucs4-unsafe.h.
63496         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
63497         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
63498         utf16-ucs4-unsafe.h.
63499         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
63500         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
63501         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
63502         * lib/unistr/u8-strchr.c: Likewise.
63503         * lib/unistr/u8-strrchr.c: Likewise.
63504         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
63505         * lib/unistr/u16-strchr.c: Likewise.
63506         * lib/unistr/u16-strrchr.c: Likewise.
63507         * lib/striconveh.c: Update.
63508         * lib/linebreak.c: Update.
63509
63510 2007-03-24  Bruno Haible  <bruno@clisp.org>
63511
63512         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
63513         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
63514
63515 2007-03-22  Bruno Haible  <bruno@clisp.org>
63516
63517         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
63518
63519 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
63520
63521         * MODULES.html.sh (File system functions): New module write-any-file.
63522         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
63523         * m4/write-any-file.m4: New files.
63524
63525 2007-03-23  Eric Blake  <ebb9@byu.net>
63526
63527         * gnulib-tool: Rearrange space-tab sequences, since some editors
63528         like to eat them.
63529
63530 2007-03-23  Eric Blake  <ebb9@byu.net>
63531
63532         * lib/version-etc.c (version_etc_va): Update license wording to
63533         be more concise.  Recommended by Richard Stallman.
63534
63535 2007-03-22  Bruno Haible  <bruno@clisp.org>
63536
63537         * lib/poll.c (MSG_PEEK): New fallback definition.
63538
63539 2007-03-22  Bruno Haible  <bruno@clisp.org>
63540
63541         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
63542         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
63543         (main): Update.
63544         Fixes a compilation error on BeOS.
63545
63546 2007-03-22  Bruno Haible  <bruno@clisp.org>
63547
63548         * modules/frexpl-tests: New file.
63549         * tests/test-frexpl.c: New file.
63550
63551         * modules/frexpl: New file.
63552         * m4/frexpl.m4: New file.
63553         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
63554         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
63555         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
63556         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
63557         (Depends-on): Add frexpl. Remove isnanl-nolibm.
63558         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
63559
63560 2007-03-22  Bruno Haible  <bruno@clisp.org>
63561
63562         * lib/frexpl.c: Share code with lib/frexp.c.
63563         * modules/mathl (Files): Add lib/frexp.c.
63564         (Depends-on): Add isnanl-nolibm.
63565
63566 2007-03-22  Bruno Haible  <bruno@clisp.org>
63567
63568         * modules/printf-frexp (Files): Add m4/frexp.m4.
63569         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
63570         only if the found frexp function actually works.
63571
63572 2007-03-22  Bruno Haible  <bruno@clisp.org>
63573
63574         * lib/frexp.c: Remove older implementation that uses divisions.
63575
63576 2007-03-21  Bruno Haible  <bruno@clisp.org>
63577
63578         * modules/frexp-tests: New file.
63579         * tests/test-frexp.c: New file.
63580
63581         * modules/frexp: New file.
63582         * lib/frexp.c: New file.
63583         * m4/frexp.m4: New file.
63584         * lib/math_.h (frexp): New declaration.
63585         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
63586         REPLACE_FREXP.
63587         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
63588
63589 2007-03-21  Bruno Haible  <bruno@clisp.org>
63590
63591         * modules/isnanl-tests: New file.
63592         * tests/test-isnanl.c: New file.
63593
63594         * modules/isnanl: New file.
63595         * lib/isnanl.h: New file.
63596         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
63597         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
63598         gl_FUNC_ISNANL_WORKS.
63599         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
63600         New macros.
63601
63602 2007-03-21  Bruno Haible  <bruno@clisp.org>
63603
63604         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
63605         lib/isnanl.h.
63606         (Include): Update.
63607         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
63608         * lib/vasnprintf.c: Update.
63609         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
63610         tests/test-isnanl.h, remove tests/test-isnanl.c.
63611         (Makefile.am): Update.
63612         * tests/test-isnanl-nolibm.c: New file.
63613         * tests/test-isnanl.h: New file.
63614         * tests/test-isnanl.c: Remove file.
63615
63616 2007-03-21  Jim Meyering  <jim@meyering.net>
63617
63618         When trying to open ".", treat ESTALE like EACCES.
63619         * lib/savewd.c (savewd_save): Resort to forking not just upon
63620         failure with EACCES, but also when errno is ESTALE.
63621
63622 2007-03-20  Bruno Haible  <bruno@clisp.org>
63623
63624         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
63625         Needed on AIX 5.1. Reported by Matthew Woehlke.
63626
63627 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
63628
63629         Suggestions by Bruno Haible:
63630         * lib/acl-internal.h: Include "gettext.h" rather than rolling
63631         our own.
63632         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
63633         * modules/acl (Depends-on): Add gettext.
63634
63635 2007-03-19  Bruno Haible  <bruno@clisp.org>
63636
63637         * modules/iconvme: Remove file.
63638         * lib/iconvme.h: Remove file.
63639         * lib/iconvme.c: Remove file.
63640         * m4/iconvme.m4: Remove file.
63641
63642 2007-03-19  Bruno Haible  <bruno@clisp.org>
63643
63644         * doc/relocatable-maint.texi: Break long shell script line.
63645         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
63646
63647 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
63648
63649         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
63650         handle file_has_acl.
63651         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
63652         * lib/acl.c: Move header inclusions and related macro defns into
63653         lib/acl-internal.h.
63654         (S_ISLNK): Remove defn, since that's now done for us.
63655         (file_has_acl): Move to lib/file-has-acl.c.
63656         Call acl_trivial if available.  This is the crucial part of the fix.
63657         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
63658         shared within the library.  Rewrite a bit, partly to make it compatible
63659         with the GNU coding style.
63660         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
63661         Remove unnecessary double-quotes.
63662         Don't test for acl_to_text; the build will catch that.
63663         Replace acl_entries if it doesn't exist and it is needed.
63664         Check for -lsec and acl_trivial (as used on Solaris 10).
63665         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
63666         lib/file-has-acl.c.
63667         (Depends-on): Add sys_stat, for S_ISLNK.
63668
63669 2007-03-19  Ben Pfaff  <blp@gnu.org>
63670
63671         * doc/gnulib.texi: Fix typos.
63672         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
63673
63674 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
63675
63676         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
63677         If size is zero here, buf must be zero.
63678
63679 2007-03-19  Simon Josefsson  <simon@josefsson.org>
63680
63681         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
63682         <bruno@clisp.org>.
63683
63684 2007-03-18  Bruno Haible  <bruno@clisp.org>
63685
63686         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
63687         Suggested by Eric Blake.
63688
63689 2007-03-18  Ben Pfaff  <blp@gnu.org>
63690
63691         * doc/relocatable.texi: Recommend using as prefix a directory
63692         that does not exist and will never be created.  Based on
63693         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
63694         and others.
63695
63696 2007-03-17  Bruno Haible  <bruno@clisp.org>
63697
63698         * lib/fchownat.c: Include lchown.h.
63699
63700 2007-03-17  Bruno Haible  <bruno@clisp.org>
63701
63702         Fix endless loop when the given allocated size was > INT_MAX.
63703         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
63704         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
63705         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
63706         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
63707         * lib/sprintf.c (sprintf): Likewise.
63708
63709 2007-03-17  Bruno Haible  <bruno@clisp.org>
63710
63711         * tests/test-argp-2.sh (func_compare): Output a context diff.
63712
63713 2007-03-17  Bruno Haible  <bruno@clisp.org>
63714
63715         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
63716         locale's decimal-point character.
63717
63718 2007-03-17  Bruno Haible  <bruno@clisp.org>
63719
63720         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
63721         before comparing it. Needed because on some platforms (e.g. x86) a
63722         'long double' occupies less bytes than sizeof (long double).
63723
63724 2007-03-17  Bruno Haible  <bruno@clisp.org>
63725
63726         * tests/test-crc.c (main): Make printf statements 64-bit clean.
63727         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
63728         * tests/test-getaddrinfo.c (simple): Likewise.
63729         * tests/test-read-file.c (main): Likewise.
63730
63731 2007-03-17  Bruno Haible  <bruno@clisp.org>
63732
63733         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
63734
63735 2007-03-17  Bruno Haible  <bruno@clisp.org>
63736
63737         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
63738         unused variable.
63739
63740 2007-03-17  Bruno Haible  <bruno@clisp.org>
63741
63742         * tests/test-c-strcasecmp.c: Include c-strcase.h.
63743         * tests/test-c-strncasecmp.c: Likewise.
63744
63745 2007-03-17  Bruno Haible  <bruno@clisp.org>
63746
63747         * modules/stdlib (Depends-on): Add unistd.
63748         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
63749         Needed for MacOS X 10.3.
63750
63751 2007-03-17  Bruno Haible  <bruno@clisp.org>
63752
63753         * lib/unistr/u-strdup.h: Include <stdlib.h>.
63754
63755 2007-03-17  Bruno Haible  <bruno@clisp.org>
63756
63757         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
63758
63759 2007-03-17  Bruno Haible  <bruno@clisp.org>
63760
63761         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
63762         to reflect files copied from gnulib (with or without modifications).
63763         Suggested by Jim Meyering.
63764
63765 2007-03-17  Eric Blake  <ebb9@byu.net>
63766
63767         * NEWS: Document stdlib change from 2007-02-18.
63768
63769 2007-03-17  Jim Meyering  <jim@meyering.net>
63770
63771         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
63772         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
63773         someone uses a name containing shell meta-characters.
63774         Reported by Alfred M. Szmidt.
63775
63776         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
63777
63778 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
63779
63780         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
63781         and copy gettext configuration files only if configure.ac contains
63782         a use of AM_GNU_GETTEXT_VERSION.
63783
63784 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
63785
63786         * build-aux/bootstrap (gnulib_name): New variable.
63787         (gnulib_tool_options): Use it.
63788
63789 2007-03-13  Simon Josefsson  <simon@josefsson.org>
63790
63791         * tests/test-des.c: Use new namespace.
63792
63793 2007-03-15  Bruno Haible  <bruno@clisp.org>
63794
63795         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
63796         Reported by James Youngman <jay@gnu.org>.
63797
63798 2007-03-15  Bruno Haible  <bruno@clisp.org>
63799
63800         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
63801         declared prototype. Needed with cc on OSF/1 5.1.
63802
63803 2007-03-15  Bruno Haible  <bruno@clisp.org>
63804
63805         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
63806         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
63807         (struct gl_list_implementation): Add dispose_fn argument to the
63808         'create_empty', 'create' methods.
63809         (struct gl_list_impl_base): Add field 'dispose_fn'.
63810         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
63811         argument.
63812         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
63813         dispose_fn argument.
63814         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
63815         dispose_fn on the dropped values.
63816         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
63817         dispose_fn argument.
63818         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
63819         dropped values.
63820         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
63821         (gl_tree_remove_node): Call dispose_fn on the dropped value.
63822         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
63823         (gl_tree_remove_node): Call dispose_fn on the dropped value.
63824         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
63825         argument.
63826         (gl_tree_list_free): Call dispose_fn on the dropped values.
63827         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
63828         the dropped values.
63829         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
63830         Add dispose_fn argument.
63831         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
63832         Call dispose_fn on the dropped values.
63833         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
63834         Add dispose_fn argument.
63835         (gl_sublist_create): Initialize the 'dispose_fn' field.
63836         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
63837         * tests/test-array_list.c (main): Update.
63838         * tests/test-carray_list.c (main): Update.
63839         * tests/test-avltree_list.c (main): Update.
63840         * tests/test-rbtree_list.c (main): Update.
63841         * tests/test-avltreehash_list.c (main): Update.
63842         * tests/test-rbtreehash_list.c (main): Update.
63843         * tests/test-linked_list.c (main): Update.
63844         * tests/test-linkedhash_list.c (main): Update.
63845         * tests/test-array_oset.c (main): Update.
63846
63847 2007-03-15  Bruno Haible  <bruno@clisp.org>
63848
63849         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
63850         (gl_oset_create_empty): Add dispose_fn argument.
63851         (struct gl_oset_implementation): Add dispose_fn argument to
63852         'create_empty' method.
63853         (struct gl_oset_impl_base): Add dispose_fn field.
63854         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
63855         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
63856         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
63857         values.
63858         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
63859         (gl_tree_oset_free): Call dispose_fn on the dropped values.
63860         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
63861         dropped value.
63862         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
63863         dropped value.
63864         * tests/test-array_oset.c (main): Update.
63865         * tests/test-avltree_oset.c (main): Update.
63866         * tests/test-rbtree_oset.c (main): Update.
63867         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
63868
63869 2007-03-13  Bruno Haible  <bruno@clisp.org>
63870
63871         * tests/test-stdbool.c (i): Update after last patch.
63872
63873 2007-03-12  Bruno Haible  <bruno@clisp.org>
63874
63875         * lib/quotearg.c: Include <wctype.h> early, before the definition of
63876         the iswprint macro. Needed on Solaris 2.5.1.
63877
63878 2007-03-12  Bruno Haible  <bruno@clisp.org>
63879
63880         * tests/test-printf-frexp.c (main): Declare x as volatile.
63881
63882 2007-03-12  Simon Josefsson  <simon@josefsson.org>
63883
63884         * doc/gnulib.texi (Build robot for gnulib): New section.
63885
63886 2007-03-12  Jim Meyering  <jim@meyering.net>
63887
63888         * build-aux/bootstrap: New file.
63889         * build-aux/bootstrap.conf: New file, from coreutils.
63890
63891 2007-03-11  Bruno Haible  <bruno@clisp.org>
63892
63893         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
63894
63895 2007-03-12  Simon Josefsson  <simon@josefsson.org>
63896
63897         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
63898         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
63899         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
63900
63901 2007-03-11  Bruno Haible  <bruno@clisp.org>
63902
63903         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
63904         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
63905
63906 2007-03-11  Bruno Haible  <bruno@clisp.org>
63907
63908         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
63909         formula. Needed for SunPRO C 5.0.
63910
63911 2007-03-11  Bruno Haible  <bruno@clisp.org>
63912
63913         * modules/long-options (Depends-on): Add getopt.
63914
63915 2007-03-11  Bruno Haible  <bruno@clisp.org>
63916
63917         * modules/modechange (Depends-on): Add stdbool.
63918
63919 2007-03-11  Bruno Haible  <bruno@clisp.org>
63920
63921         * modules/i-ring (Depends-on): Add stdbool.
63922
63923 2007-03-11  Bruno Haible  <bruno@clisp.org>
63924
63925         * modules/gc-des (Depends-on): Add stdbool.
63926
63927 2007-03-11  Bruno Haible  <bruno@clisp.org>
63928
63929         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
63930
63931 2007-03-11  Bruno Haible  <bruno@clisp.org>
63932
63933         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
63934
63935 2007-03-11  Bruno Haible  <bruno@clisp.org>
63936
63937         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
63938
63939 2007-03-11  Bruno Haible  <bruno@clisp.org>
63940
63941         * lib/vasnprintf.c (sprintf): Undefine.
63942
63943 2007-03-11  Bruno Haible  <bruno@clisp.org>
63944
63945         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
63946         initializers in SunPRO C and Compaq C compilers.
63947
63948 2007-03-11  Bruno Haible  <bruno@clisp.org>
63949
63950         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
63951         decrementing code ANSI C compliant.
63952
63953 2007-03-11  Bruno Haible  <bruno@clisp.org>
63954
63955         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
63956         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
63957
63958 2007-03-11  Bruno Haible  <bruno@clisp.org>
63959
63960         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
63961         <stdbool.h> substitute doesn't pass.
63962
63963 2007-03-11  Bruno Haible  <bruno@clisp.org>
63964
63965         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
63966
63967 2007-03-11  Bruno Haible  <bruno@clisp.org>
63968
63969         * gnulib-tool (func_create_megatestdir): Create also an autobuild
63970         script, for submission to autobuild.josefsson.org.
63971
63972 2007-03-10  Bruno Haible  <bruno@clisp.org>
63973
63974         * modules/canonicalize-lgpl-tests: New file.
63975         * tests/test-canonicalize-lgpl.sh: New file.
63976         * tests/test-canonicalize-lgpl.c: New file.
63977
63978         * modules/c-strcase-tests: New file.
63979         * tests/test-c-strcase.sh: New file.
63980         * tests/test-c-strcasecmp.c: New file.
63981         * tests/test-c-strncasecmp.c: New file.
63982
63983         * modules/atexit-tests: New file.
63984         * tests/test-atexit.sh: New file.
63985         * tests/test-atexit.c: New file.
63986
63987 2007-03-10  Bruno Haible  <bruno@clisp.org>
63988
63989         * tests/test-binary-io.sh: Use temporary filenames that are not so
63990         likely to clash with those of other tests (in a parallel make).
63991         * tests/test-binary-io.c: Likewise.
63992
63993 2007-03-10  Bruno Haible  <bruno@clisp.org>
63994
63995         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
63996         fallback; use #error instead.
63997         Suggested by Simon Josefsson.
63998
63999 2007-03-10  Bruno Haible  <bruno@clisp.org>
64000
64001         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
64002         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
64003         first and the last.
64004
64005 2007-03-10  Bruno Haible  <bruno@clisp.org>
64006
64007         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
64008
64009 2007-03-10  Bruno Haible  <bruno@clisp.org>
64010
64011         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
64012         "make distcheck".
64013         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
64014         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
64015         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
64016
64017 2007-03-10  Bruno Haible  <bruno@clisp.org>
64018
64019         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
64020         variable.
64021         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
64022         variable.
64023
64024 2007-03-09  Eric Blake  <ebb9@byu.net>
64025         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
64026
64027         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
64028         types are not being provided by gnulib.
64029         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
64030         types are supported.
64031
64032 2007-03-10  Bruno Haible  <bruno@clisp.org>
64033
64034         * lib/stdio_.h (__attribute__): New macro.
64035         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
64036         vsprintf): Specify __attribute__ __format__ for GCC.
64037         Suggested by Eric Blake.
64038
64039 2007-03-09  Bruno Haible  <bruno@clisp.org>
64040
64041         * modules/printf-posix-tests: New file.
64042         * tests/test-printf-posix.sh: New file.
64043         * tests/test-printf-posix.c: New file.
64044
64045         * modules/printf-posix: New file.
64046         * lib/printf.c: New file.
64047         * m4/printf-posix-rpl.m4: New file.
64048         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
64049         REPLACE_PRINTF.
64050         * lib/stdio_.h (printf): New declaration.
64051         (format, __format__, ____printf____, ____scanf____, ____strftime____,
64052         ____strfmon____): New macros.
64053         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
64054         REPLACE_PRINTF.
64055
64056 2007-03-09  Bruno Haible  <bruno@clisp.org>
64057
64058         * tests/test-vasnprintf-posix2.sh: New file.
64059         * tests/test-vasnprintf-posix2.c: New file.
64060         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
64061         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
64062         (Makefile.am): Activate test-vasnprintf-posix2.sh.
64063
64064         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
64065         a locale dependent decimal point, rather than always '.'.
64066
64067 2007-03-09  Eric Blake  <ebb9@byu.net>
64068
64069         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
64070         spite of platforms like Tandem/NSK that define it to -1.
64071
64072 2007-03-08  Bruno Haible  <bruno@clisp.org>
64073
64074         * modules/vprintf-posix-tests: New file.
64075         * tests/test-vprintf-posix.sh: New file.
64076         * tests/test-vprintf-posix.c: New file.
64077         * tests/test-printf-posix.h: New file.
64078
64079         * modules/vprintf-posix: New file.
64080         * lib/vprintf.c: New file.
64081         * m4/vprintf-posix.m4: New file.
64082         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
64083         REPLACE_VPRINTF.
64084         * lib/stdio_.h (vprintf): New declaration.
64085         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
64086         REPLACE_VPRINTF.
64087
64088 2007-03-08  Bruno Haible  <bruno@clisp.org>
64089
64090         * modules/fprintf-posix-tests: New file.
64091         * tests/test-fprintf-posix.sh: New file.
64092         * tests/test-fprintf-posix.c: New file.
64093
64094         * modules/fprintf-posix: New file.
64095         * lib/fprintf.c: New file.
64096         * m4/fprintf-posix.m4: New file.
64097         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
64098         REPLACE_FPRINTF.
64099         * lib/stdio_.h (fprintf): New declaration.
64100         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
64101         REPLACE_FPRINTF.
64102
64103 2007-03-08  Bruno Haible  <bruno@clisp.org>
64104
64105         * modules/vfprintf-posix-tests: New file.
64106         * tests/test-vfprintf-posix.sh: New file.
64107         * tests/test-vfprintf-posix.c: New file.
64108         * tests/test-fprintf-posix.h: New file.
64109         * tests/test-fprintf-posix.out: New file.
64110
64111         * modules/vfprintf-posix: New file.
64112         * lib/vfprintf.c: New file.
64113         * m4/vfprintf-posix.m4: New file.
64114         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
64115         REPLACE_VFPRINTF.
64116         * lib/stdio_.h (vfprintf): New declaration.
64117         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
64118         REPLACE_VFPRINTF.
64119
64120 2007-03-08  Bruno Haible  <bruno@clisp.org>
64121
64122         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
64123
64124 2007-03-08  Bruno Haible  <bruno@clisp.org>
64125
64126         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
64127         instead of 'expr' invocations.
64128         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64129         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64130         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64131         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64132         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64133         Suggested by Paul Eggert.
64134
64135 2007-03-08  Bruno Haible  <bruno@clisp.org>
64136
64137         * modules/fseterr-tests: New file.
64138         * tests/test-fseterr.c: New file.
64139
64140         * modules/fseterr: New file.
64141         * lib/fseterr.h: New file.
64142         * lib/fseterr.c: New file.
64143
64144 2007-03-08  Bruno Haible  <bruno@clisp.org>
64145
64146         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
64147         * lib/getopt_.h: Likewise.
64148         * lib/mbswidth.h: Likewise.
64149         * lib/setenv.h: Likewise.
64150         * lib/vasnprintf.h: Likewise.
64151         * lib/vasprintf.h: Likewise.
64152         * lib/verror.h: Likewise.
64153         * lib/xsetenv.h: Likewise.
64154         * lib/xvasprintf.h: Likewise.
64155
64156 2007-03-08  Jim Meyering  <jim@meyering.net>
64157
64158         * users.txt: Add parted.
64159
64160         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
64161
64162 2007-03-07  Bruno Haible  <bruno@clisp.org>
64163
64164         * m4/printf.m4: Make the shell script snippets copy&pastable.
64165
64166 2007-03-02  Bruno Haible  <bruno@clisp.org>
64167
64168         * lib/netinet_in_.h: New file.
64169         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
64170         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
64171         * modules/netinet_in (Files): Add lib/netinet_in_.h.
64172         (Depends-on): Add absolute-header.
64173         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
64174         into netinet/in.h.
64175
64176 2007-03-03  Bruno Haible  <bruno@clisp.org>
64177
64178         * lib/sys_select_.h: New file.
64179         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
64180         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
64181         * modules/sys_select (Files): Add lib/sys_select_.h.
64182         (Depends-on): Add absolute-header.
64183         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
64184         into sys/select.h.
64185
64186 2007-03-02  Bruno Haible  <bruno@clisp.org>
64187
64188         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
64189         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
64190         values.
64191         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
64192         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
64193         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
64194         * modules/sys_socket (Depends-on): Add absolute-header.
64195         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
64196         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
64197         (Include): Remove requirement of inclusion of <sys/types.h>.
64198
64199 2007-03-02  Bruno Haible  <bruno@clisp.org>
64200
64201         * lib/byteswap_.h (bswap_32): Fix formula.
64202
64203 2007-03-06  Bruno Haible  <bruno@clisp.org>
64204
64205         * modules/sprintf-posix-tests: New file.
64206         * tests/test-sprintf-posix.c: New file.
64207
64208         * modules/sprintf-posix: New file.
64209         * lib/sprintf.c: New file.
64210         * m4/sprintf-posix.m4: New file.
64211         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
64212         REPLACE_SPRINTF.
64213         * lib/stdio_.h (sprintf): New declaration.
64214         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
64215         REPLACE_SPRINTF.
64216
64217 2007-03-06  Bruno Haible  <bruno@clisp.org>
64218
64219         * modules/vsprintf-posix-tests: New file.
64220         * tests/test-vsprintf-posix.c: New file.
64221         * tests/test-sprintf-posix.h: New file.
64222
64223         * modules/vsprintf-posix: New file.
64224         * lib/vsprintf.c: New file.
64225         * m4/vsprintf-posix.m4: New file.
64226         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
64227         REPLACE_VSPRINTF.
64228         * lib/stdio_.h (vsprintf): New declaration.
64229         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
64230         REPLACE_VSPRINTF.
64231
64232 2007-03-06  Bruno Haible  <bruno@clisp.org>
64233
64234         * modules/vsnprintf (Depend-on): Remove minmax.
64235
64236 2007-03-06  Bruno Haible  <bruno@clisp.org>
64237
64238         * modules/snprintf-posix-tests: New file.
64239         * tests/test-snprintf-posix.c: New file.
64240
64241         * modules/snprintf-posix: New file.
64242         * m4/snprintf-posix.m4: New file.
64243         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
64244         gl_FUNC_SNPRINTF.
64245         (gl_FUNC_SNPRINTF): Invoke it.
64246         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
64247         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
64248         is set.
64249         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
64250
64251 2007-03-06  Bruno Haible  <bruno@clisp.org>
64252
64253         * modules/vsnprintf-posix-tests: New file.
64254         * tests/test-vsnprintf-posix.c: New file.
64255         * tests/test-snprintf-posix.h: New file.
64256
64257         * modules/vsnprintf-posix: New file.
64258         * m4/vsnprintf-posix.m4: New file.
64259         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
64260         gl_FUNC_VSNPRINTF.
64261         (gl_FUNC_VSNPRINTF): Invoke it.
64262         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
64263         * lib/stdio_.h (vsnprintf): Define as a replacement if
64264         REPLACE_VSNPRINTF is set.
64265         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
64266
64267 2007-03-06  Bruno Haible  <bruno@clisp.org>
64268
64269         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
64270         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
64271
64272 2007-03-06  Bruno Haible  <bruno@clisp.org>
64273
64274         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
64275         (asinl): Declare also if HAVE_DECL_ASINL is set.
64276         (atanl): Declare also if HAVE_DECL_ATANL is set.
64277         (ceill): Declare also if HAVE_DECL_CEILL is set.
64278         (cosl): Declare also if HAVE_DECL_COSL is set.
64279         (expl): Declare also if HAVE_DECL_EXPL is set.
64280         (floorl): Declare also if HAVE_DECL_FLOORL is set.
64281         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
64282         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
64283         (logl): Declare also if HAVE_DECL_LOGL is set.
64284         (sinl): Declare also if HAVE_DECL_SINL is set.
64285         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
64286         (tanl): Declare also if HAVE_DECL_TANL is set.
64287         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
64288         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
64289         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
64290         declaration of frexpl, ldexpl.
64291         * modules/printf-frexpl (Depends-on): Add math.
64292         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
64293
64294 2007-03-05  Bruno Haible  <bruno@clisp.org>
64295
64296         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
64297         frexpl and ldexpl are declared.
64298         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
64299
64300 2007-03-05  Bruno Haible  <bruno@clisp.org>
64301
64302         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
64303         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
64304
64305 2007-03-05  Bruno Haible  <bruno@clisp.org>
64306
64307         * lib/stdio_.h: Include <stddef.h>.
64308
64309 2007-03-05  Bruno Haible  <bruno@clisp.org>
64310
64311         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
64312
64313 2007-03-05  Bruno Haible  <bruno@clisp.org>
64314
64315         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
64316         NetBSD 4, from Ralf Wildenhues.
64317
64318 2007-03-04  Bruno Haible  <bruno@clisp.org>
64319
64320         * lib/vasprintf.h: Update #if logic for the case when the functions
64321         exist but are overridden.
64322
64323 2007-03-04  Bruno Haible  <bruno@clisp.org>
64324
64325         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
64326         implementations: glibc-2.4 and MacOS X 10.3.
64327         * tests/test-vasnprintf-posix.c (test_function): Test also the case
64328         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
64329         * tests/test-vasprintf-posix.c (test_function): Likewise.
64330
64331 2007-03-04  Bruno Haible  <bruno@clisp.org>
64332
64333         * modules/vasprintf-posix-tests: New file.
64334         * tests/test-vasprintf-posix.c: New file.
64335
64336         * modules/vasprintf-posix: New file.
64337         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
64338         defined.
64339         * m4/vasprintf-posix.m4: New file.
64340         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
64341         gl_FUNC_VASPRINTF.
64342         (gl_FUNC_VASPRINTF): Invoke it.
64343         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
64344         here.
64345         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
64346
64347 2007-03-04  Bruno Haible  <bruno@clisp.org>
64348
64349         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
64350         REPLACE_GETTIMEOFDAY.
64351         * modules/sys_time (Makefile.am): Likewise.
64352         * m4/sys_time_h.m4: Likewise.
64353         * m4/gettimeofday.m4: Likewise.
64354
64355 2007-03-04  Bruno Haible  <bruno@clisp.org>
64356
64357         * modules/vasnprintf-posix-tests: New file.
64358         * tests/test-vasnprintf-posix.c: New file.
64359
64360         * modules/vasnprintf-posix: New file.
64361         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
64362         printf-frexpl.h.
64363         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
64364         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
64365         REPLACE_VASNPRINTF is defined.
64366         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
64367         gl_FUNC_VASNPRINTF.
64368         (gl_FUNC_VASNPRINTF): Invoke it.
64369         * m4/vasnprintf-posix.m4: New file.
64370         * m4/printf.m4: New file.
64371
64372 2007-03-04  Bruno Haible  <bruno@clisp.org>
64373
64374         Compile progreloc.c only if --enable-relocatable is specified.
64375         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
64376         if --enable-relocatable was specified.
64377         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
64378         lib_SOURCES.
64379
64380 2007-03-04  Jim Meyering  <jim@meyering.net>
64381
64382         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
64383         Use it consistently, rather than enumerating errno constants.
64384
64385 2007-03-04  Bruno Haible  <bruno@clisp.org>
64386
64387         * modules/xvasprintf-tests: New file.
64388         * tests/test-xvasprintf.c: New file.
64389
64390         * modules/vasprintf-tests: New file.
64391         * tests/test-vasprintf.c: New file.
64392
64393         * modules/vasnprintf-tests: New file.
64394         * tests/test-vasnprintf.c: New file.
64395
64396         * modules/vsnprintf-tests: New file.
64397         * tests/test-vsnprintf.c: New file.
64398
64399         * modules/snprintf-tests: New file.
64400         * tests/test-snprintf.c: New file.
64401
64402 2007-03-04  Bruno Haible  <bruno@clisp.org>
64403
64404         Compile relocatable.c only if --enable-relocatable is specified.
64405         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
64406         gl_RELOCATABLE_LIBRARY.
64407         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
64408         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
64409         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
64410         gl_RELOCATABLE_LIBRARY.
64411         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
64412         (Makefile.am): Remove lib_SOURCES.
64413         * modules/relocatable-lib-lgpl (configure.ac): Invoke
64414         gl_RELOCATABLE_LIBRARY.
64415         (Makefile.am): Remove lib_SOURCES.
64416         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
64417         always.
64418         * modules/relocatable-prog-wrapper (configure.ac): Invoke
64419         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
64420
64421 2007-03-04  Bruno Haible  <bruno@clisp.org>
64422
64423         * modules/argmatch-tests: New file.
64424         * tests/test-argmatch.c: New file.
64425
64426         * tests/test-allocsa.c (main): Halve the number of loop runs.
64427
64428         * modules/alloca-opt-tests: New file.
64429         * tests/test-alloca-opt.c: New file.
64430
64431 2007-03-04  Jim Meyering  <jim@meyering.net>
64432
64433         Work around difference between Linux ACLs and Solaris 10 ZFS.
64434         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
64435         for EINVAL.
64436
64437 2007-03-03  Bruno Haible  <bruno@clisp.org>
64438
64439         * modules/relocatable-prog (Depends-on): Add back progreloc's
64440         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
64441
64442 2007-03-03  Bruno Haible  <bruno@clisp.org>
64443
64444         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
64445         * modules/relocatable-lib: New file.
64446
64447 2007-03-03  Bruno Haible  <bruno@clisp.org>
64448
64449         * modules/relocatable-prog: Renamed from modules/relocatable.
64450         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
64451
64452 2007-03-03  Bruno Haible  <bruno@clisp.org>
64453
64454         * modules/relocatable-script (Files): Add doc/relocatable.texi,
64455         m4/relocatable-lib.m4.
64456         (Depends-on): Remove 'relocatable'.
64457         (configure.ac): Add gl_RELOCATABLE_NOP.
64458
64459 2007-03-03  Bruno Haible  <bruno@clisp.org>
64460
64461         * modules/relocatable-prog-wrapper: New file.
64462         * modules/relocatable (Depends-on): Add it. Remove all other
64463         dependencies except progname.
64464         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
64465
64466         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
64467         (gl_FUNC_STRERROR): Nop.
64468         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
64469
64470         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
64471         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
64472
64473         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
64474         (gl_FUNC_READLINK): Update.
64475
64476         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
64477
64478 2007-03-03  Bruno Haible  <bruno@clisp.org>
64479
64480         * lib/xreadlink.c: Include <unistd.h> unconditionally.
64481         * modules/xreadlink (Depends-on): Add unistd.
64482         * modules/xreadlink-with-size (Depends-on): Likewise.
64483
64484 2007-03-03  Bruno Haible  <bruno@clisp.org>
64485
64486         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
64487         extracted from gt_FUNC_SETENV.
64488         (gt_FUNC_SETENV): Remove macro.
64489         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
64490         remove gt_FUNC_SETENV.
64491
64492 2007-03-03  Bruno Haible  <bruno@clisp.org>
64493
64494         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
64495         ENABLE_RELOCATABLE here.
64496         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
64497
64498 2007-03-03  Bruno Haible  <bruno@clisp.org>
64499
64500         * modules/rbtreehash-list-tests (Depends-on): Add progname.
64501         * tests/test-rbtreehash_list.c: Include progname.h.
64502         (main): Call set_program_name.
64503
64504         * modules/rbtree-oset-tests (Depends-on): Add progname.
64505         * tests/test-rbtree_oset.c: Include progname.h.
64506         (main): Call set_program_name.
64507
64508         * modules/rbtree-list-tests (Depends-on): Add progname.
64509         * tests/test-rbtree_list.c: Include progname.h.
64510         (main): Call set_program_name.
64511
64512         * modules/linked-list-tests (Depends-on): Add progname.
64513         * tests/test-linked_list.c: Include progname.h.
64514         (main): Call set_program_name.
64515
64516 2007-03-03  Bruno Haible  <bruno@clisp.org>
64517
64518         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
64519         All uses of __restrict changed to _Restrict_.
64520         * lib/glob_.h (__restrict): Remove macro.
64521
64522 2007-03-02  Bruno Haible  <bruno@clisp.org>
64523
64524         * modules/gettext (configure.ac): Require gettext infrastructure
64525         from version 0.16.1.
64526
64527 2007-03-02  Bruno Haible  <bruno@clisp.org>
64528
64529         * modules/linkedhash-list-tests (Depends-on): Add progname.
64530         * tests/test-linkedhash_list.c: Include progname.h.
64531         (main): Call set_program_name.
64532
64533         * modules/carray-list-tests (Depends-on): Add progname.
64534         * tests/test-carray_list.c: Include progname.h.
64535         (main): Call set_program_name.
64536
64537         * modules/avltreehash-list-tests (Depends-on): Add progname.
64538         * tests/test-avltreehash_list.c: Include progname.h.
64539         (main): Call set_program_name.
64540
64541         * modules/avltree-oset-tests (Depends-on): Add progname.
64542         * tests/test-avltree_oset.c: Include progname.h.
64543         (main): Call set_program_name.
64544
64545         * modules/avltree-list-tests (Depends-on): Add progname.
64546         * tests/test-avltree_list.c: Include progname.h.
64547         (main): Call set_program_name.
64548
64549         * modules/array-oset-tests (Depends-on): Add progname.
64550         * tests/test-array_oset.c: Include progname.h.
64551         (main): Call set_program_name.
64552
64553         * modules/array-list-tests (Depends-on): Add progname.
64554         * tests/test-array_list.c: Include progname.h.
64555         (main): Call set_program_name.
64556
64557         * modules/argp-tests (Depends-on): Add progname.
64558         * tests/test-argp.c: Include argp.h first. Include progname.h.
64559         (main): Call set_program_name.
64560
64561 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
64562
64563         * doc/gnulib-tool.texi (Initial import): Reword description of
64564         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
64565         limited effect even if defined after the first system include.
64566
64567 2007-03-01  Bruno Haible  <bruno@clisp.org>
64568
64569         * build-aux/config.libpath: Update to libtool-1.5.22.
64570         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
64571
64572 2007-03-01  Bruno Haible  <bruno@clisp.org>
64573
64574         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
64575         foo_CFLAGS.
64576         Reported by Ralf Wildenhues.
64577
64578 2007-03-01  Bruno Haible  <bruno@clisp.org>
64579
64580         * build-aux/install-reloc: Remove object files left over by some
64581         compilers.
64582         Reported by Ralf Wildenhues.
64583
64584 2007-03-01  Bruno Haible  <bruno@clisp.org>
64585
64586         * build-aux/install-reloc: Break long lines.
64587
64588 2007-03-01  Bruno Haible  <bruno@clisp.org>
64589
64590         * doc/relocatable.texi: Document that it may not work on OpenBSD.
64591         Reported by Ralf Wildenhues.
64592
64593 2007-03-01  Bruno Haible  <bruno@clisp.org>
64594
64595         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
64596         include ordering constraints.
64597
64598 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
64599
64600         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
64601         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
64602         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
64603         as another example.
64604         * lib/time_.h: Fix misspelling.
64605         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
64606         Require gl_HEADER_TIME_H_DEFAULTS.
64607         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
64608         * m4/time_r.m4 (gl_TIME_R): Likewise.
64609         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
64610
64611 2007-03-01  Bruno Haible  <bruno@clisp.org>
64612
64613         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
64614         * m4/utimens.m4 (gl_UTIMENS): Likewise.
64615
64616 2007-03-01  Jim Meyering  <jim@meyering.net>
64617
64618         * modules/xreadlink (Maintainer): Add my name.
64619         * modules/xreadlink-with-size (Depends-on): Alphabetize.
64620
64621 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
64622             Bruno Haible  <bruno@clisp.org>
64623
64624         * build-aux/install-reloc: Compile also c-ctype.c.
64625         * build-aux/relocatable.sh.in: New file.
64626         * doc/relocatable.texi: New file.
64627         * doc/relocatable-maint.texi: New file.
64628         * doc/gnulib.texi: Include relocatable-maint.texi.
64629         * lib/progreloc.c: Include unistd.h unconditionally.
64630         * lib/relocwrapper.c: Include unistd.h unconditionally.
64631         Include c-ctype.h.
64632         (add_dotbin): Use c_tolower.
64633         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
64634         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
64635         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
64636         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
64637         to m4/relocatable-lib.m4.
64638         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
64639         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
64640         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
64641         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
64642         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
64643         * modules/relocatable: New file.
64644         * modules/relocatable-lib: New file.
64645         * modules/relocatable-script: New file.
64646
64647 2007-02-28  Bruno Haible  <bruno@clisp.org>
64648
64649         Import --enable-relocatable infrastructure.
64650         * build-aux/config.libpath: New file, from GNU gettext.
64651         * build-aux/install-reloc: New file, from GNU gettext.
64652         * build-aux/reloc-ldflags: New file, from GNU gettext.
64653         * lib/relocatable.h: New file, from GNU gettext.
64654         * lib/relocatable.c: New file, from GNU gettext.
64655         * lib/relocwrapper.c: New file, from GNU gettext.
64656         * m4/relocatable.m4: New file, from GNU gettext.
64657
64658 2007-02-28  Bruno Haible  <bruno@clisp.org>
64659
64660         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
64661
64662         * modules/xreadlink: New file, from GNU gettext with modifications.
64663         * lib/xreadlink.c: New file, from GNU gettext.
64664         * lib/xreadlink.h: Add comments.
64665         (xreadlink): New declaration.
64666
64667         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
64668         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
64669         lib/xreadlink-with-size.c.
64670         (configure.ac): Remove gl_XREADLINK invocation.
64671         (Makefile.am): Augment lib_SOURCES.
64672         * m4/xreadlink.m4: Remove file.
64673         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
64674         (xreadlink_with_size): Renamed from xreadink.
64675         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
64676         * modules/canonicalize (Depends-on): Replace xreadlink with
64677         xreadlink-with-size.
64678         * lib/canonicalize.c (canonicalize_filename_mode): Update.
64679
64680 2007-02-25  Jim Meyering  <jim@meyering.net>
64681
64682         * build-aux/announce-gen: When complaining about excess arguments,
64683         list them.
64684
64685 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
64686
64687         * README: Document signed integer overflow situation more
64688         accurately.
64689
64690 2007-02-25  Bruno Haible  <bruno@clisp.org>
64691
64692         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
64693         'a' or 'A' conversion.
64694
64695 2007-02-25  Bruno Haible  <bruno@clisp.org>
64696
64697         * modules/filename: Renamed from modules/pathname.
64698         (Files): Replace lib/pathname.h with lib/filename.h. Replace
64699         lib/concatpath.c with lib/concat-filename.c.
64700         (Makefile.am): Update.
64701         (Include): Replace pathname.h with filename.h.
64702         * lib/filename.h: Renamed from lib/pathname.h.
64703         (concatenated_filename): Renamed from concatenated_pathname.
64704         * lib/concat-filename.c: Renamed from lib/concatpath.c.
64705         (concatenated_filename): Renamed from concatenated_pathname.
64706         * lib/findprog.c: Include filename.h instead of pathname.h.
64707         (find_in_path): Update.
64708         * lib/javacomp.c: Include filename.h instead of pathname.h.
64709         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
64710         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
64711         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
64712         is_oldgcj_14_13_usable, is_javac_usable): Update.
64713         * lib/javaexec.c: Include filename.h instead of pathname.h.
64714         (execute_java_class): Update.
64715         * modules/findprog: Update.
64716         * modules/javacomp: Update.
64717         * modules/javaexec: Update.
64718         * MODULES.html.sh (File system functions): Add 'filename', remove
64719         'pathname'.
64720
64721 2007-02-25  Bruno Haible  <bruno@clisp.org>
64722
64723         * modules/printf-frexpl-tests: New file.
64724         * tests/test-printf-frexpl.c: New file.
64725
64726         * modules/printf-frexpl: New file.
64727         * lib/printf-frexpl.h: New file.
64728         * lib/printf-frexpl.c: New file.
64729         * m4/printf-frexpl.m4: New file.
64730
64731 2007-02-25  Bruno Haible  <bruno@clisp.org>
64732
64733         * modules/printf-frexp-tests: New file.
64734         * tests/test-printf-frexp.c: New file.
64735
64736         * modules/printf-frexp: New file.
64737         * lib/printf-frexp.h: New file.
64738         * lib/printf-frexp.c: New file.
64739         * m4/printf-frexp.m4: New file.
64740
64741 2007-02-25  Bruno Haible  <bruno@clisp.org>
64742
64743         Assume automake >= 1.10 for the tests.
64744         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
64745         * modules/arctwo-tests: Likewise.
64746         * modules/argp-tests: Likewise.
64747         * modules/avltree-list-tests: Likewise.
64748         * modules/avltree-oset-tests: Likewise.
64749         * modules/avltreehash-list-tests: Likewise.
64750         * modules/carray-list-tests: Likewise.
64751         * modules/crc-tests: Likewise.
64752         * modules/des-tests: Likewise.
64753         * modules/gc-arcfour-tests: Likewise.
64754         * modules/gc-arctwo-tests: Likewise.
64755         * modules/gc-des-tests: Likewise.
64756         * modules/gc-hmac-md5-tests: Likewise.
64757         * modules/gc-hmac-sha1-tests: Likewise.
64758         * modules/gc-md2-tests: Likewise.
64759         * modules/gc-md4-tests: Likewise.
64760         * modules/gc-md5-tests: Likewise.
64761         * modules/gc-pbkdf2-sha1-tests: Likewise.
64762         * modules/gc-rijndael-tests: Likewise.
64763         * modules/gc-sha1-tests: Likewise.
64764         * modules/gc-tests: Likewise.
64765         * modules/getaddrinfo-tests: Likewise.
64766         * modules/hmac-md5-tests: Likewise.
64767         * modules/hmac-sha1-tests: Likewise.
64768         * modules/linked-list-tests: Likewise.
64769         * modules/linkedhash-list-tests: Likewise.
64770         * modules/lock-tests: Likewise.
64771         * modules/md2-tests: Likewise.
64772         * modules/md4-tests: Likewise.
64773         * modules/md5-tests: Likewise.
64774         * modules/rbtree-list-tests: Likewise.
64775         * modules/rbtree-oset-tests: Likewise.
64776         * modules/rbtreehash-list-tests: Likewise.
64777         * modules/read-file-tests: Likewise.
64778         * modules/rijndael-tests: Likewise.
64779         * modules/stdint-tests: Likewise.
64780         * modules/tls-tests: Likewise.
64781
64782 2007-02-24  Bruno Haible  <bruno@clisp.org>
64783
64784         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
64785         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
64786         function; instead check whether isnan with a double argument links.
64787         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
64788         function; instead check whether isnan with a 'long double' argument
64789         links.
64790         Reported by Eric Blake <ebb9@byu.net>.
64791
64792 2007-02-24  Bruno Haible  <bruno@clisp.org>
64793
64794         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
64795         defined.
64796         * lib/isnanl.c: Remove all code. Just include isnan.c.
64797         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
64798
64799 2007-02-25  Jim Meyering  <jim@meyering.net>
64800
64801         Avoid conflicting types for 'unsetenv' on FreeBSD.
64802         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
64803         conflicting with FreeBSD's (5.0 and 6.1) function declaration
64804         in stdlib.h.
64805
64806 2007-02-24  Bruno Haible  <bruno@clisp.org>
64807
64808         * modules/isnanl-nolibm-tests: New file.
64809         * tests/test-isnanl.c: New file.
64810
64811         * modules/isnanl-nolibm: New file.
64812         * lib/isnanl.h: New file.
64813         * lib/isnanl.c: New file.
64814         * m4/isnanl.m4: New file.
64815
64816 2007-02-24  Bruno Haible  <bruno@clisp.org>
64817
64818         * modules/isnan-nolibm-tests: New file.
64819         * tests/test-isnan.c: New file.
64820
64821         * modules/isnan-nolibm: New file.
64822         * lib/isnan.h: New file.
64823         * lib/isnan.c: New file.
64824         * m4/isnan.m4: New file.
64825
64826 2007-02-24  Bruno Haible  <bruno@clisp.org>
64827
64828         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
64829         assume that an exponent fits in 20 bits.
64830
64831 2007-02-24  Jim Meyering  <jim@meyering.net>
64832
64833         * m4/regex.m4: Update the description of the configure-time option,
64834         --without-included-regex, to state accurately what the defaults are,
64835         and perhaps to give people an idea why using this option is risky.
64836
64837 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
64838
64839         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
64840         loops on small arguments.  This attempts to avoid the problem
64841         Bruno Haible reported for AIX 4.3.2 in
64842         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
64843
64844 2007-02-23  Bruno Haible  <bruno@clisp.org>
64845
64846         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
64847         Needed for help2man.
64848
64849 2007-02-23  Karl Berry  <karl@gnu.org>
64850
64851         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
64852         exists, foo.h should be cvs-ignored, not committed.
64853
64854 2007-02-23  Eric Blake  <ebb9@byu.net>
64855
64856         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
64857         * lib/stat-time.h (includes): Likewise.
64858         * lib/utimecmp.c (includes): Likewise.
64859         * lib/utimens.h (includes): Likewise.
64860         * lib/getdate.y (includes): Also include "timespec.h" for use
64861         internal to the module.
64862         * modules/utimens (Depends-on): Revert yesterday's patch.
64863         * modules/nanosleep (Depends-on): Add missing dependency.
64864
64865 2007-02-22  Bruno Haible  <bruno@clisp.org>
64866
64867         * lib/glob.c: Don't include getlogin_r.h.
64868
64869 2007-02-22  Jim Meyering  <jim@meyering.net>
64870
64871         * modules/utimens (Depends-on): Add timespec, required for
64872         utimens.h's inclusion of timespec.h.
64873
64874 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
64875
64876         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
64877         long unreadable paths in GNU/Linux.  Problem reported by Andreas
64878         Schwab in
64879         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
64880         I'll try to think of a better way to fix the Solaris problem.
64881
64882         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
64883         like glibc; on Solaris 10, it fails with errno == EINVAL.
64884         POSIX says the behavior is unspecified if the first argument is NULL,
64885         so play it safe and never pass NULL to the system getcwd.
64886
64887 2007-02-21  Jim Meyering  <jim@meyering.net>
64888
64889         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
64890         of gettimeofday.  It would conflict with the one now always
64891         provided via sys_time_.h.  Reported by Matthew Woehlke, as
64892         an IRIX 6.5 build failure.
64893
64894 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
64895
64896         Minor fixups to port to Solaris 10 with Sun C 5.8.
64897         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
64898         * modules/getcwd (Depends-on): Add dirfd.
64899         * lib/putenv.c (putenv): #undef it.
64900         (rpl_putenv): New decl.
64901         (malloc, free): Include <stdlib.h> rather than prototyping separately.
64902
64903 2007-02-20  Bruno Haible  <bruno@clisp.org>
64904
64905         * modules/stdio-tests: New file.
64906         * tests/test-stdio.c: New file.
64907
64908         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
64909         (Depends-on): Add stdio.
64910         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
64911         (Include): Use <stdio.h> instead of vsnprintf.h.
64912         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
64913         HAVE_DECL_VSNPRINTF.
64914         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
64915
64916         * modules/snprintf (Files): Remove lib/snprintf.h.
64917         (Depends-on): Add stdio.
64918         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
64919         (Include): Use <stdio.h> instead of snprintf.h.
64920         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
64921         HAVE_DECL_SNPRINTF.
64922         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
64923         * lib/getaddrinfo.c: Likewise.
64924
64925         * modules/stdio: New file.
64926         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
64927         * lib/snprintf.h: Remove file.
64928         * lib/vsnprintf.h: Remove file.
64929         * lib/.cppi-disable: Remove snprintf.h.
64930         * m4/stdio_h.m4: New file.
64931         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
64932
64933 2007-02-20  Jim Meyering  <jim@meyering.net>
64934
64935         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
64936         used by e.g., mingw.  From Bruno Haible.
64937
64938 2007-02-19  Bruno Haible  <bruno@clisp.org>
64939
64940         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
64941         warnings.
64942         Reported by Ben Pfaff <blp@cs.stanford.edu>.
64943
64944 2007-02-19  Bruno Haible  <bruno@clisp.org>
64945
64946         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
64947         from mingw users.
64948
64949 2007-02-19  Bruno Haible  <bruno@clisp.org>
64950
64951         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
64952         warnings.
64953         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
64954
64955 2007-02-19  Jim Meyering  <jim@meyering.net>
64956
64957         Don't use FD after a successful "fdopendir (fd)".
64958         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
64959         Reset it by calling dirfd on the just-obtained DIR*.
64960
64961         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
64962         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
64963
64964 2007-02-18  Bruno Haible  <bruno@clisp.org>
64965
64966         * lib/readlink.c: Include <unistd.h>.
64967         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
64968         HAVE_READLINK.
64969         * modules/readlink (Depends-on): Add unistd.
64970         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
64971         (Include): Add <unistd.h>.
64972
64973         * lib/getlogin_r.h: Remove file.
64974         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
64975         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
64976         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
64977         HAVE_DECL_GETLOGIN_R.
64978         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
64979         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
64980         (Include): Use <unistd.h> instead of getlogin_r.h.
64981
64982         * lib/getcwd.h: Remove file.
64983         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
64984         * lib/xgetcwd.c: Likewise.
64985         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
64986         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
64987         * modules/getcwd (Files): Remove lib/getcwd.h.
64988         (Depends-on): Add unistd.
64989         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
64990         (Include): Use <unistd.h> instad of getcwd.h.
64991
64992         * lib/ftruncate.c: Include <unistd.h> first.
64993         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
64994         Set HAVE_FTRUNCATE.
64995         * modules/ftruncate (Depends-on): Add unistd.
64996         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
64997
64998         * lib/fchdir.c: Include <unistd.h> first.
64999         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
65000         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
65001         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
65002         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65003         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
65004
65005         * lib/dup2.c: Include <unistd.h> first.
65006         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
65007         HAVE_DUP2.
65008         * modules/dup2 (Depends-on): Add unistd.
65009         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65010
65011         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
65012         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
65013         REPLACE_CHOWN. Don't define chown as a macro here.
65014         * modules/chown (Depends-on): Add unistd.
65015         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65016
65017         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
65018         Add definition for GL_LINK_WARNING.
65019         (chown, dup2): New declarations.
65020         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
65021         link warning.
65022         (ftruncate): New declaration.
65023         (getcwd): New declaration, taken from old getcwd.h.
65024         (getlogin_r): New declaration, taken from old getlogin_r.h.
65025         (readlink): New declaration.
65026         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
65027         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
65028         (gl_PREREQ_UNISTD): Remove macro.
65029         (gl_UNISTD_MODULE_INDICATOR): New macro.
65030         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
65031         many new variables. Don't set UNISTD_H.
65032         * modules/unistd (Description): Change.
65033         (Depends-on): Add link-warning.
65034         (configure.ac): Update.
65035         (Makefile.am): Create unistd.h always. Substitute many new variables
65036         into it.
65037
65038 2007-02-18  Bruno Haible  <bruno@clisp.org>
65039
65040         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
65041         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
65042         HAVE_GETSUBOPT.
65043         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
65044         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
65045         * lib/getsubopt.h: Remove file.
65046         * modules/getsubopt (Files): Remove lib/getsubopt.h.
65047         (Depends-on): Add stdlib.
65048         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65049         (Includes): Use <stdlib.h> instead of getsubopt.h.
65050         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
65051         Set HAVE_GETSUBOPT.
65052         * lib/getsubopt.c: Don't include getsubopt.h.
65053
65054 2007-02-18  Bruno Haible  <bruno@clisp.org>
65055
65056         * modules/fchdir (Depends-on): Add dup2.
65057
65058 2007-02-18  Bruno Haible  <bruno@clisp.org>
65059
65060         * lib/stdlib_.h: Handle glibc's special invocation convention
65061         specially.
65062
65063 2007-02-18  Bruno Haible  <bruno@clisp.org>
65064
65065         * modules/stdlib-tests: New file.
65066         * tests/test-stdlib.c: New file.
65067
65068         * modules/mkstemp (Files): Remove lib/mkstemp.h.
65069         (Depends-on): Add stdlib.
65070         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65071         (Includes): Use <stdlib.h> instead of mkstemp.h.
65072         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
65073         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
65074         * lib/mkstemp.c: Don't include mkstemp.h.
65075         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
65076         * lib/stdlib--.h: Don't include mkstemp.h.
65077
65078         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
65079         (Depends-on): Add stdlib.
65080         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65081         (Includes): Use <stdlib.h> instead of mkdtemp.h.
65082         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
65083         HAVE_MKDTEMP.
65084         * lib/mkdtemp.c: Don't include mkdtemp.h.
65085         * lib/clean-temp.c: Don't include mkdtemp.h.
65086
65087         * modules/exit (Files): Remove lib/exit.h.
65088         (Depends-on): Add stdlib.
65089         (Makefile.am): Remove lib_SOURCES.
65090         (Include): Use <stdlib.h> instead of exit.h.
65091         * lib/argmatch.c: Don't include exit.h.
65092         * lib/execute.c: Likewise.
65093         * lib/pagealign_alloc.c: Likewise.
65094         * lib/pipe.c: Likewise.
65095         * lib/wait-process.c: Likewise.
65096         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
65097         * lib/exitfail.c: Likewise.
65098         * lib/savewd.c: Likewise.
65099         * lib/xsetenv.c: Likewise.
65100
65101         * modules/stdlib: New file.
65102         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
65103         and extra comments about mkstemp().
65104         * lib/exit.h: Remove file.
65105         * lib/mkdtemp.h: Remove file.
65106         * lib/mkstemp.h: Remove file.
65107         * m4/stdlib_h.m4: New file.
65108         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
65109
65110 2007-02-18  Bruno Haible  <bruno@clisp.org>
65111
65112         * modules/math-tests: New file.
65113         * tests/test-math.c: New file.
65114
65115         * modules/math: New file.
65116         * modules/mathl (Files): Remove lib/mathl.h.
65117         (Depends-on): Add math.
65118         (Makefile.am): Don't mention mathl.h.
65119         (Include): Use <math.h> instead of mathl.h.
65120         * lib/math_.h: New file.
65121         * lib/mathl.h: Remove file.
65122         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
65123         mathl.h.
65124         * lib/asinl.c: Likewise.
65125         * lib/atanl.c: Likewise.
65126         * lib/ceill.c: Likewise.
65127         * lib/cosl.c: Likewise.
65128         * lib/expl.c: Likewise.
65129         * lib/floorl.c: Likewise.
65130         * lib/frexpl.c: Likewise.
65131         * lib/ldexpl.c: Likewise.
65132         * lib/logl.c: Likewise.
65133         * lib/sincosl.c: Likewise.
65134         * lib/sinl.c: Likewise.
65135         * lib/sqrtl.c: Likewise.
65136         * lib/tanl.c: Likewise.
65137         * lib/trigl.c: Likewise.
65138         * m4/math_h.m4: New file.
65139         * MODULES.html.sh (Mathematics): Add math.
65140
65141 2007-02-17  Bruno Haible  <bruno@clisp.org>
65142
65143         * modules/wctype-tests: New file.
65144         * tests/test-wctype.c: New file.
65145
65146         * modules/wchar-tests: New file.
65147         * tests/test-wchar.c: New file.
65148
65149         * modules/unistd-tests: New file.
65150         * tests/test-unistd.c: New file.
65151
65152         * modules/time-tests: New file.
65153         * tests/test-time.c: New file.
65154
65155         * modules/sysexits-tests: New file.
65156         * tests/test-sysexits.c: New file.
65157
65158         * modules/sys_time-tests: New file.
65159         * tests/test-sys_time.c: New file.
65160
65161         * modules/sys_stat-tests: New file.
65162         * tests/test-sys_stat.c: New file.
65163
65164         * modules/sys_socket-tests: New file.
65165         * tests/test-sys_socket.c: New file.
65166
65167         * modules/sys_select-tests: New file.
65168         * tests/test-sys_select.c: New file.
65169
65170         * modules/string-tests: New file.
65171         * tests/test-string.c: New file.
65172
65173         * modules/stdbool-tests: New file.
65174         * tests/test-stdbool.c: New file.
65175
65176         * modules/netinet_in-tests: New file.
65177         * tests/test-netinet_in.c: New file.
65178
65179         * modules/inttypes-tests: New file.
65180         * tests/test-inttypes.c: New file.
65181
65182         * modules/fcntl-tests: New file.
65183         * tests/test-fcntl.c: New file.
65184
65185         * modules/byteswap-tests: New file.
65186         * tests/test-byteswap.c: New file.
65187
65188         * modules/arpa_inet-tests: New file.
65189         * tests/test-arpa_inet.c: New file.
65190
65191 2007-02-17  Bruno Haible  <bruno@clisp.org>
65192
65193         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
65194         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
65195         if the corresponding module is not enabled. Emit link warnings if
65196         the function is used nevertheless.
65197         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
65198         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
65199         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
65200         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
65201         * modules/inttypes (Depends-on): Add link-warning.
65202         (Makefile.am): Copy the contents of build-aux/link-warning.h into
65203         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
65204         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
65205         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
65206         * modules/imaxdiv (configure.ac): Likewise.
65207         * modules/strtoimax (configure.ac): Likewise.
65208         * modules/strtoumax (configure.ac): Likewise.
65209
65210 2007-02-17  Bruno Haible  <bruno@clisp.org>
65211
65212         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
65213         gl_STRING_MODULE_INDICATOR_DEFAULTS.
65214         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
65215         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
65216
65217 2007-02-17  Bruno Haible  <bruno@clisp.org>
65218
65219         * modules/link-warning: New file.
65220         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
65221         * lib/string_.h (GL_LINK_WARNING): Remove definition.
65222         * modules/string (Depends-on): Add link-warning.
65223         (Makefile.am): Copy the contents of build-aux/link-warning.h into
65224         string.h.
65225         * MODULES.html.sh (Support for building libraries and executables): Add
65226         link-warning.
65227
65228 2007-02-17  Bruno Haible  <bruno@clisp.org>
65229
65230         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
65231         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
65232         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
65233         long lines.
65234
65235 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
65236             Bruno Haible  <bruno@clisp.org>
65237
65238         * modules/tmpfile: New file.
65239         * lib/tmpfile.c: New file.
65240         * m4/tmpfile.m4: New file.
65241         * MODULES.html.sh (func_all_modules): New section "Input/output".
65242
65243 2007-02-15  Bruno Haible  <bruno@clisp.org>
65244
65245         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
65246         (supports_delete_on_close): New function.
65247         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
65248
65249 2007-02-14  Bruno Haible  <bruno@clisp.org>
65250
65251         * modules/mbspcasecmp-tests: New file.
65252         * tests/test-mbspcasecmp.sh: New file.
65253         * tests/test-mbspcasecmp.c: New file.
65254
65255         New module mbspcasecmp.
65256         * modules/mbspcasecmp: New file.
65257         * lib/mbspcasecmp.c: New file.
65258         * lib/string_.h (strncasecmp): Change warning message.
65259         (mbspcasecmp): New declaration.
65260         * m4/mbspcasecmp.m4: New file.
65261         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65262         GNULIB_MBSPCASECMP.
65263         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
65264         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
65265
65266 2007-02-14  Bruno Haible  <bruno@clisp.org>
65267
65268         * modules/mbsncasecmp-tests: New file.
65269         * tests/test-mbsncasecmp.sh: New file.
65270         * tests/test-mbsncasecmp.c: New file.
65271
65272         New module mbsncasecmp.
65273         * modules/mbsncasecmp: New file.
65274         * lib/mbsncasecmp.c: New file.
65275         * lib/string_.h (mbsncasecmp): New declaration.
65276         * m4/mbsncasecmp.m4: New file.
65277         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65278         GNULIB_MBSNCASECMP.
65279         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
65280         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
65281
65282 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
65283
65284         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
65285         Verify that it doesn't overlap with our flags.
65286         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
65287         do not have the desired effect in multibyte locales; instead, use
65288         mbscasecmp.
65289         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
65290         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
65291         we don't require GNU fnmatch ourselves (if our users require it, they
65292         should do so explicitly).
65293
65294         Fix regex code so it doesn't rely on strcasecmp.
65295         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
65296         Otherwise, include gnulib's langinfo.h.
65297         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
65298         undesirable behavior in non-C locales.  Instead, rely on localecharset.
65299         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
65300         * modules/regex (FILES): Remove m4/codeset.m4.
65301         (Depends-on): Add localcharset.  Remove strcase.
65302
65303 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65304
65305         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
65306         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
65307
65308 2007-02-13  Bruno Haible  <bruno@clisp.org>
65309
65310         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
65311         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65312
65313 2007-02-12  Bruno Haible  <bruno@clisp.org>
65314
65315         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
65316         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
65317         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
65318         time warning rather than a link error.
65319
65320 2007-02-12  Bruno Haible  <bruno@clisp.org>
65321
65322         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
65323         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
65324         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65325
65326 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
65327
65328         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
65329         args, not 2.
65330
65331 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
65332
65333         New module 'time', so that apps can include <time.h> as per
65334         POSIX and GNU instead of separate include files like time_r.h
65335         and timegm.h.  This implementation tries out a simpler approach
65336         for replacing decls in standard include files (as compared to
65337         the string module), somewhat as an experiment.
65338
65339         * config/srclist.txt: Comment out mktime.c for now.
65340         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
65341         since it doesn't apply any more.  Use generic wording instead.
65342         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
65343         'time'.
65344         * lib/time_.h, m4/time_h.m4, modules/time: New files.
65345         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
65346         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
65347         Don't include <sys/types.h>; no longer needed since we assume C89.
65348         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
65349         * lib/strftime.c: Likewise.
65350         * lib/time_r.c: Likewise.
65351         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
65352         * lib/nanosleep.c: Include <time.h> first, to check interface.
65353         * lib/strptime.c: Likewise.
65354         * lib/time_r.c: Likewise.
65355         * lib/timegm.c: Likewise.
65356         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
65357         needed.
65358         * lib/timegm.c: Don't include timegm.h; no longer needed.
65359         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
65360         time.h now handles any problems in that area.
65361         (struct timespec, nanosleep): Remove; time.h now arranges for these.
65362         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
65363         that time.h defines struct timespec.
65364         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
65365         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
65366         handles that.
65367         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
65368         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
65369         needed.  Set REPLACE_LOCALTIME.
65370         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
65371         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
65372         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
65373         nanosleep; time_h.m4 now does that.  Don't require
65374         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
65375         module handles this now.
65376         * modules/getdate (Depends-on): Remove timespec.  Add time.
65377         * modules/nanosleep (Depends-on): Likewise.
65378         * modules/stat-time (Depends-on): Likewise.
65379         * modules/nanosleep (Include): Include time.h, not timespec.h.
65380         * modules/strptime (Files): Remove lib/strptime.h.
65381         (Depends-on): Add extensions, time.
65382         (Include): Include time.h, not strptime.h.
65383         * modules/time_r (Files): Remove lib/time_r.h.
65384         (Depends-on): Add time.
65385         (Include): Include time.h, not time_r.h.
65386         * modules/timegm: Likewise.
65387         * modules/timespec (Description): Now does timespec-related decls
65388         of our own, instead of struct timespec itself.
65389         (Depends-on): Add time; remove extensions.
65390         (Maintainer): Add self.
65391         * modules/utimecmp (Depends-on): Add time; remove timespec.
65392         * modules/utimens (Depends-on): Likewise.
65393         * modules/xnanosleep (Depends-on): Likewise.
65394
65395 2007-02-11  Bruno Haible  <bruno@clisp.org>
65396
65397         * lib/c-strstr.c: Include allocsa.h.
65398         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
65399         * lib/c-strcasestr.c: Include allocsa.h.
65400         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
65401         * lib/strcasestr.c: Include allocsa.h.
65402         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
65403         * lib/mbsstr.c: Include allocsa.h.
65404         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
65405         allocsa/freesa instead of malloc/free.
65406         * lib/mbscasestr.c: Include allocsa.h.
65407         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
65408         allocsa/freesa instead of malloc/free.
65409         * modules/c-strstr (Depends-on): Add allocsa.
65410         * modules/c-strcasestr (Depends-on): Likewise.
65411         * modules/strcasestr (Depends-on): Likewise.
65412         * modules/mbsstr (Depends-on): Likewise.
65413         * modules/mbscasestr (Depends-on): Likewise.
65414
65415 2007-02-11  Bruno Haible  <bruno@clisp.org>
65416
65417         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
65418
65419         * modules/mbsspn-tests: New file.
65420         * tests/test-mbsspn.sh: New file.
65421         * tests/test-mbsspn.c: New file.
65422
65423 2007-02-11  Bruno Haible  <bruno@clisp.org>
65424
65425         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
65426
65427         * modules/mbspbrk-tests: New file.
65428         * tests/test-mbspbrk.sh: New file.
65429         * tests/test-mbspbrk.c: New file.
65430
65431 2007-02-11  Bruno Haible  <bruno@clisp.org>
65432
65433         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
65434         unneeded cast.
65435
65436         * modules/mbscspn-tests: New file.
65437         * tests/test-mbscspn.sh: New file.
65438         * tests/test-mbscspn.c: New file.
65439
65440 2007-02-11  Bruno Haible  <bruno@clisp.org>
65441
65442         * modules/mbscasecmp-tests: New file.
65443         * tests/test-mbscasecmp.sh: New file.
65444         * tests/test-mbscasecmp.c: New file.
65445
65446 2007-02-11  Bruno Haible  <bruno@clisp.org>
65447
65448         Ensure O(n) worst-case complexity of mbscasestr.
65449         * lib/mbscasestr.c: Include stdbool.h.
65450         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
65451         functions.
65452         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
65453         the bookkeeping indicates that it's worth it.
65454         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
65455
65456         * modules/mbscasestr-tests: New file.
65457         * tests/test-mbscasestr1.c: New file.
65458         * tests/test-mbscasestr2.sh: New file.
65459         * tests/test-mbscasestr2.c: New file.
65460         * tests/test-mbscasestr3.sh: New file.
65461         * tests/test-mbscasestr3.c: New file.
65462         * tests/test-mbscasestr4.sh: New file.
65463         * tests/test-mbscasestr4.c: New file.
65464         * m4/locale-tr.m4: New file.
65465
65466 2007-02-11  Bruno Haible  <bruno@clisp.org>
65467
65468         Ensure O(n) worst-case complexity of mbsstr.
65469         * lib/mbsstr.c: Include stdbool.h.
65470         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
65471         functions.
65472         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
65473         bookkeeping indicates that it's worth it.
65474         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
65475
65476         * modules/mbsstr-tests: New file.
65477         * tests/test-mbsstr1.c: New file.
65478         * tests/test-mbsstr2.sh: New file.
65479         * tests/test-mbsstr2.c: New file.
65480         * tests/test-mbsstr3.sh: New file.
65481         * tests/test-mbsstr3.c: New file.
65482         * m4/locale-fr.m4: New file.
65483
65484 2007-02-11  Bruno Haible  <bruno@clisp.org>
65485
65486         * lib/mbsrchr.c (mbsrchr): Fix bug.
65487
65488         * modules/mbsrchr-tests: New file.
65489         * tests/test-mbsrchr.sh: New file.
65490         * tests/test-mbsrchr.c: New file.
65491
65492 2007-02-11  Bruno Haible  <bruno@clisp.org>
65493
65494         * lib/mbschr.c (mbschr): Fix bug.
65495
65496         * modules/mbschr-tests: New file.
65497         * tests/test-mbschr.sh: New file.
65498         * tests/test-mbschr.c: New file.
65499         * m4/locale-zh.m4: New file.
65500
65501 2007-02-11  Bruno Haible  <bruno@clisp.org>
65502
65503         Support for copying multibyte string iterators.
65504         * lib/mbiter.h: Include <string.h>.
65505         (mbiter_multi_copy): New function.
65506         (mbi_copy): New macro.
65507         * lib/mbuiter.h: Include <string.h>.
65508         (mbuiter_multi_copy): New function.
65509         (mbui_copy): New macro.
65510
65511 2007-02-11  Bruno Haible  <bruno@clisp.org>
65512
65513         New module mbslen.
65514         * modules/mbslen: New file.
65515         * lib/mbslen.c: New file.
65516         * lib/string_.h (mbslen): New declaration.
65517         * m4/mbslen.m4: New file.
65518         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65519         GNULIB_MBSLEN.
65520         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
65521         * MODULES.html.sh (Internationalization functions): Add mbslen.
65522
65523 2007-02-11  Bruno Haible  <bruno@clisp.org>
65524
65525         Ensure O(n) worst-case complexity of strcasestr substitute.
65526         * lib/strcasestr.c: Include stdbool.h.
65527         (knuth_morris_pratt): New function.
65528         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
65529         bookkeeping indicates that it's worth it.
65530         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
65531
65532         * modules/strcasestr-tests: New file.
65533         * tests/test-strcasestr.c: New file.
65534
65535 2007-02-11  Bruno Haible  <bruno@clisp.org>
65536
65537         Ensure O(n) worst-case complexity of c_strcasestr.
65538         * lib/c-strcasestr.c: Include stdbool.h, string.h.
65539         (knuth_morris_pratt): New function.
65540         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
65541         the bookkeeping indicates that it's worth it.
65542         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
65543
65544         * modules/c-strcasestr-tests: New file.
65545         * tests/test-c-strcasestr.c: New file.
65546
65547 2007-02-11  Bruno Haible  <bruno@clisp.org>
65548
65549         Ensure O(n) worst-case complexity of c_strstr.
65550         * lib/c-strstr.c: Include stdbool.h, string.h.
65551         (knuth_morris_pratt): New function.
65552         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
65553         bookkeeping indicates that it's worth it.
65554         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
65555
65556         * lib/c-strstr.c: Complete rewrite for maintainability.
65557
65558         * modules/c-strstr-tests: New file.
65559         * tests/test-c-strstr.c: New file.
65560
65561 2007-02-11  Bruno Haible  <bruno@clisp.org>
65562
65563         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
65564         5.2.1 and earlier, whereby \055 was treated just like the range
65565         delimiter '-'.
65566         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
65567
65568 2007-02-08  Bruno Haible  <bruno@clisp.org>
65569
65570         * modules/regex (Depends-on): Add stdbool.
65571         Reported by Dalibor Topic <robilad@kaffe.org>.
65572
65573 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
65574
65575         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
65576         Prefer returning from main to exiting from it.
65577         Remove unnecessary parens after sizeof.
65578
65579 2007-02-05  Bruno Haible  <bruno@clisp.org>
65580
65581         New module mbssep.
65582         * modules/mbssep: New file.
65583         * lib/mbssep.c: New file.
65584         * lib/string_.h (strsep): Add a conditional link warning.
65585         (mbssep): New declaration.
65586         * m4/mbssep.m4: New file.
65587         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65588         GNULIB_MBSSEP.
65589         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
65590         * MODULES.html.sh (Internationalization functions): Add mbssep.
65591
65592 2007-02-05  Bruno Haible  <bruno@clisp.org>
65593
65594         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
65595         Optimize search in case of 1 delimiter.
65596
65597 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
65598
65599         * lib/acl.h: Include sys/types.h before sys/acl.h.
65600
65601 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
65602
65603         Merge upstream fix for glibc bugzilla #3957:
65604
65605         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
65606
65607         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
65608         bit for RE_HAT_LISTS_NOT_NEWLINE.
65609         (build_charclass_op): Remove bogus comment.
65610
65611 2007-02-05  Simon Josefsson  <simon@josefsson.org>
65612
65613         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
65614
65615 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
65616
65617         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
65618         * lib/memmem.c [!defined _LIBC]: Include config.h.
65619
65620 2007-02-04  Bruno Haible  <bruno@clisp.org>
65621
65622         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
65623         warning message.
65624
65625 2007-02-04  Bruno Haible  <bruno@clisp.org>
65626
65627         New module mbstok_r.
65628         * modules/mbstok_r: New file.
65629         * lib/mbstok_r.c: New file.
65630         * lib/string_.h (strtok_r): Change argument names to match the
65631         comments. Add a conditional link warning.
65632         (mbstok_r): New declaration.
65633         * m4/mbstok_r.m4: New file.
65634         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65635         GNULIB_MBSTOK_R.
65636         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
65637         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
65638
65639 2007-02-04  Bruno Haible  <bruno@clisp.org>
65640
65641         New module mbsspn.
65642         * modules/mbsspn: New file.
65643         * lib/mbsspn.c: New file.
65644         * lib/string_.h (strspn): Add a conditional link warning.
65645         (mbsspn): New declaration.
65646         * m4/mbsspn.m4: New file.
65647         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65648         GNULIB_MBSSPN.
65649         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
65650         * MODULES.html.sh (Internationalization functions): Add mbsspn.
65651
65652 2007-02-04  Bruno Haible  <bruno@clisp.org>
65653
65654         New module mbspbrk.
65655         * modules/mbspbrk: New file.
65656         * lib/mbspbrk.c: New file.
65657         * lib/string_.h (strpbrk): Add a conditional link warning.
65658         (mbspbrk): New declaration.
65659         * m4/mbspbrk.m4: New file.
65660         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65661         GNULIB_MBSPBRK.
65662         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
65663         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
65664
65665 2007-02-04  Bruno Haible  <bruno@clisp.org>
65666
65667         New module mbscspn.
65668         * modules/mbscspn: New file.
65669         * lib/mbscspn.c: New file.
65670         * lib/string_.h (strcspn): Add a conditional link warning.
65671         (mbscspn): New declaration.
65672         * m4/mbscspn.m4: New file.
65673         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65674         GNULIB_MBSCSPN.
65675         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
65676         * MODULES.html.sh (Internationalization functions): Add mbscspn.
65677
65678 2007-02-04  Bruno Haible  <bruno@clisp.org>
65679
65680         New module mbscasestr, reduced goal of strcasestr.
65681         * modules/mbscasestr: New file.
65682         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
65683         (mbscasestr): Renamed from strcasestr.
65684         * lib/strcasestr.c: Don't include mbuiter.h.
65685         (strcasestr): Remove support for multibyte locales.
65686         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
65687         Change the conditional link warning.
65688         (mbscasestr): New declaration.
65689         * m4/mbscasestr.m4: New file.
65690         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
65691         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
65692         REPLACE_STRCASESTR.
65693         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
65694         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
65695         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
65696         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
65697         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
65698         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
65699         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
65700         (Depends-on): Remove mbuiter.
65701         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
65702
65703 2007-02-04  Bruno Haible  <bruno@clisp.org>
65704
65705         Simplify handling of strncasecmp.
65706         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
65707         the conditional link warning.
65708         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
65709         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
65710         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
65711         * modules/strcase (configure.ac): Don't invoke
65712         gl_STRING_MODULE_INDICATOR.
65713         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
65714
65715 2007-02-04  Bruno Haible  <bruno@clisp.org>
65716
65717         New module mbscasecmp, reduced goal of strcasecmp.
65718         * modules/mbscasecmp: New file.
65719         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
65720         (mbscasecmp): Renamed from strcasecmp.
65721         * lib/strcasecmp.c: Don't include mbuiter.h.
65722         (strcasecmp): Remove support for multibyte locales.
65723         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
65724         Change the conditional link warning.
65725         (mbscasecmp): New declaration.
65726         * m4/mbscasecmp.m4: New file.
65727         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
65728         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
65729         REPLACE_STRCASECMP.
65730         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
65731         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65732         GNULIB_MBSCASECMP.
65733         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
65734         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
65735         * modules/strcase (Files): Remove m4/mbrtowc.m4.
65736         (Depends-on): Remove mbuiter.
65737         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
65738
65739 2007-02-04  Bruno Haible  <bruno@clisp.org>
65740
65741         New module mbsstr. Remove module strstr.
65742         * modules/mbsstr: New file.
65743         * modules/strstr: Remove file.
65744         * lib/mbsstr.c: Renamed from lib/strstr.c.
65745         (mbsstr): Renamed from strstr.
65746         * lib/string_.h (strstr): Remove declaration. Change the conditional
65747         link warning.
65748         (mbsstr): New declaration.
65749         * m4/mbsstr.m4: New file.
65750         * m4/strstr.m4: Remove file.
65751         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
65752         REPLACE_STRSTR.
65753         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
65754         Don't initialize GNULIB_STRSTR.
65755         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
65756         substitute GNULIB_STRSTR and REPLACE_STRSTR.
65757         * MODULES.html.sh (Internationalization functions): Add mbsstr.
65758         (Support for systems lacking ANSI C 89): Remove strstr.
65759
65760 2007-02-04  Bruno Haible  <bruno@clisp.org>
65761
65762         New module mbsrchr.
65763         * modules/mbsrchr: New file.
65764         * lib/mbsrchr.c: New file.
65765         * lib/string_.h (strrchr): Add a conditional link warning.
65766         (mbsrchr): New declaration.
65767         * m4/mbsrchr.m4: New file.
65768         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65769         GNULIB_MBSRCHR.
65770         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
65771         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
65772
65773 2007-02-04  Bruno Haible  <bruno@clisp.org>
65774
65775         New module mbschr.
65776         * modules/mbschr: New file.
65777         * lib/mbschr.c: New file.
65778         * lib/string_.h (strchr): Add a conditional link warning.
65779         (mbschr): New declaration.
65780         * m4/mbschr.m4: New file.
65781         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65782         GNULIB_MBSCHR.
65783         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
65784         * MODULES.html.sh (Internationalization functions): Add mbschr.
65785
65786 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
65787
65788         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
65789
65790         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
65791
65792 2007-02-04  Bruno Haible  <bruno@clisp.org>
65793
65794         New module description section 'configure.ac-early'.
65795         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
65796         (func_get_autoconf_early_snippet): New function.
65797         (func_import, func_create_testdir): Use it. Remove special cases for
65798         modules 'extensions' and 'lock'.
65799         * modules/extensions (configure.ac-early): Require
65800         gl_USE_SYSTEM_EXTENSIONS.
65801         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
65802
65803 2007-02-04  Bruno Haible  <bruno@clisp.org>
65804
65805         Make use of gcj-4.3's -fsource and -ftarget option.
65806         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
65807         and if so try the options -fsource and -ftarget.
65808         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
65809         source_version, ftarget_option, target_version arguments.
65810         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
65811         (is_envjavac_oldgcj_14_14_usable): Renamed from
65812         is_envjavac_gcj_14_14_usable.
65813         (is_envjavac_oldgcj_14_13_usable): Renamed from
65814         is_envjavac_gcj_14_13_usable.
65815         (is_gcj_present): Update.
65816         (is_gcj_43, is_gcj43_usable): New functions.
65817         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
65818         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
65819         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
65820         try the options -fsource and -ftarget.
65821
65822 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
65823
65824         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
65825         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
65826         larger value.
65827
65828 2007-02-03  Jim Meyering  <jim@meyering.net>
65829
65830         Give tools a better chance to allocate space for very large buffers.
65831         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
65832
65833         Make pwd and readlink work also when run with an unreadable parent dir
65834         on systems with openat support.
65835         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
65836         provided getcwd function, even when we have openat support.
65837         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
65838
65839 2007-02-02  Bruno Haible  <bruno@clisp.org>
65840
65841         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
65842         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
65843         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
65844         portability problems if one of these functions is only used on specific
65845         platforms.
65846         Reported by Paul Eggert.
65847
65848 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
65849
65850         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
65851         is causing more trouble than it's curing.
65852         * lib/regex_internal.h (__mempcpy): Remove.
65853         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
65854         (and make the code a tad smaller to boot).
65855         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
65856
65857 2007-02-02  Jim Meyering  <jim@meyering.net>
65858
65859         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
65860         section, not in the Makefile.am: one.
65861
65862 2007-02-02  Eric Blake  <ebb9@byu.net>
65863
65864         * lib/strchrnul.c: Always include config.h first.
65865
65866         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
65867         gnulib strstr is not necessary here.
65868
65869 2007-02-02  Simon Josefsson  <simon@josefsson.org>
65870
65871         * m4/socklen.m4: Fix typo.
65872
65873 2007-02-02  Eric Blake  <ebb9@byu.net>
65874
65875         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
65876         * modules/netinet_in (Makefile.am): Likewise.
65877
65878 2007-02-01  Bruno Haible  <bruno@clisp.org>
65879
65880         * lib/string_.h (GL_LINK_WARNING): New macro.
65881         (strcasecmp, strstr, strcasestr): If provided by the system,
65882         conditionally define as a macro that leads to a warning instead of to
65883         an error.
65884         (strncasecmp): Conditionally define as a macro that leads to a warning.
65885
65886 2007-02-01  Karl Berry  <karl@gnu.org>
65887
65888         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
65889
65890 2007-02-01  Bruno Haible  <bruno@clisp.org>
65891
65892         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
65893         renamings.
65894
65895 2007-02-01  Eric Blake  <ebb9@byu.net>
65896
65897         * modules/regex (Depends-on): Revert dependence on mempcpy.
65898         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
65899         module's definition of mempcpy.
65900         Reported by Paul Eggert.
65901
65902 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
65903
65904         * lib/string_.h: If the gnulib module XYZ is not present, undefine
65905         the symbol XYZ before redefining it.  This fixes a problem with
65906         programs that don't use XYZ, when compiled on systems that define
65907         XYZ to something else.
65908
65909 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
65910
65911         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
65912         occurs when "mkdir -m foo" creates a setgid directory that is (1)
65913         writeable to group or other and (2) is intended to have a special
65914         mode bit that is set or cleared.  In such a case, the directory
65915         should be neither group- nor other-writeable until the special
65916         mode bits are right.
65917
65918 2007-01-31  Eric Blake  <ebb9@byu.net>
65919
65920         * modules/mountlist (Depends-on): Add strstr.
65921
65922         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
65923         bug.
65924         * modules/string (Makefile.am): Remove redundant replacement.
65925         * modules/regex (Depends-on): Add mempcpy.
65926
65927 2007-01-31  Bruno Haible  <bruno@clisp.org>
65928
65929         New module description field 'Link'.
65930         * gnulib-tool (func_usage): Document --extract-link-directive.
65931         (sed_extract_prog): Recognize 'Link' directive.
65932         (func_get_link_directive): New function.
65933         (func_import): Show summary of link directives.
65934         Handle --extract-link-directive option.
65935         * modules/acl (Link): New section.
65936         * modules/clock-time (Link): New section.
65937         * modules/euidaccess (Link): New section.
65938         * modules/gettext (Link): New section.
65939         * modules/iconv (Link): New section.
65940         * modules/lock (Link): New section.
65941         * modules/nanosleep (Link): New section.
65942         * modules/readline (Link): New section.
65943
65944 2007-01-27  Bruno Haible  <bruno@clisp.org>
65945
65946         Enforce the use of gnulib modules for unportable <string.h> functions.
65947         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
65948         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
65949         (gl_HEADER_STRING_H_BODY): Require it.
65950         * lib/string_.h: If the gnulib module XYZ is not present, redefine
65951         the symbol XYZ to one that gives a link error.
65952         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
65953         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
65954         * modules/mempcpy (configure.ac): Likewise.
65955         * modules/memrchr (configure.ac): Likewise.
65956         * modules/stpcpy (configure.ac): Likewise.
65957         * modules/stpncpy (configure.ac): Likewise.
65958         * modules/strcase (configure.ac): Likewise.
65959         * modules/strcasestr (configure.ac): Likewise.
65960         * modules/strchrnul (configure.ac): Likewise.
65961         * modules/strdup (configure.ac): Likewise.
65962         * modules/strndup (configure.ac): Likewise.
65963         * modules/strnlen (configure.ac): Likewise.
65964         * modules/strpbrk (configure.ac): Likewise.
65965         * modules/strsep (configure.ac): Likewise.
65966         * modules/strstr (configure.ac): Likewise.
65967         * modules/strtok_r (configure.ac): Likewise.
65968
65969 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
65970
65971         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
65972
65973 2007-01-30  Jim Meyering  <jim@meyering.net>
65974
65975         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
65976
65977 2007-01-29  Bruno Haible  <bruno@clisp.org>
65978
65979         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
65980         * lib/execute.c: Likewise.
65981         * lib/pipe.c: Likewise.
65982         * lib/printf-args.h: Likewise.
65983         * lib/printf-args.c: Likewise.
65984         * lib/printf-parse.c: Likewise.
65985         * lib/vasnprintf.c: Likewise.
65986
65987 2007-01-29  Eric Blake  <ebb9@byu.net>
65988
65989         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
65990         declaration.
65991
65992 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
65993
65994         * lib/strptime.h (strptime): Use 'restrict' for args where
65995         POSIX requires this.
65996         * lib/strptime.c (strptime): Likewise.
65997         Change license notice from LGPL to GPL, since gnulib-tool will
65998         change this as needed.
65999         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
66000         defined.
66001         Include "strptime.h" first, to check interface.
66002         Do not #undef _LIBC and _NL_CURRENT.
66003         Do not include <stdlib.h>; no longer needed.
66004         Include "time_r.h" and declare ptime_locale_status
66005         only if _LIBC is not defined.
66006         (__P): Remove unused macro.
66007         (match_string): Bring back glibc version, but use it only if _LIBC
66008         is defined.
66009         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
66010         Remove unnecessary assertion and abort() call.
66011         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
66012         * m4/strptime.m4: Fix serial number comment.
66013         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
66014         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
66015         (Depends-on): Add time_r.
66016
66017 2007-01-29  Bruno Haible  <bruno@clisp.org>
66018
66019         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66020         strptime.
66021         * modules/strptime (Depends-on): Add stdbool.
66022         * lib/strptime.h: Include <time.h> always. Add comments.
66023
66024 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
66025
66026         * modules/strptime: New file.
66027         * lib/strptime.h: New file.
66028         * lib/strptime.c: New file.
66029         * m4/strptime.m4: New file.
66030
66031 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
66032
66033         * MODULES.html.sh: New module mpsort.
66034         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
66035
66036         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
66037         a circularity problem with HP-UX ia64 reported by Bob Proulx in
66038         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
66039         All uses changed.
66040         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
66041         All uses changed.
66042         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
66043         to _Restrict_.
66044         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
66045         the parameter matches the prototype.
66046
66047 2007-01-28  Jim Meyering  <jim@meyering.net>
66048
66049         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
66050         sys/time.h here, reverting that part of the previous patch:
66051         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
66052
66053 2007-01-28  Bruno Haible  <bruno@clisp.org>
66054
66055         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
66056         value of $(SYS_TIME_H).
66057         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
66058         remove it conditionally, too. [added by Jim Meyering]
66059         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
66060         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
66061         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
66062         GETTIMEOFDAY_REPLACEMENT to 1.
66063
66064 2007-01-28  Bruno Haible  <bruno@clisp.org>
66065
66066         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
66067         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
66068         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
66069         Set UNISTD_H instead of UNISTD_H2.
66070         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
66071
66072 2007-01-28  Bruno Haible  <bruno@clisp.org>
66073
66074         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
66075         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
66076
66077 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66078
66079         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
66080         (func_create_testdir): Ensure C locale for `grep' and `tr'
66081         character ranges.
66082         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
66083         ACLOCAL_AMFLAGS parsing state machine.
66084
66085 2007-01-27  Bruno Haible  <bruno@clisp.org>
66086
66087         * modules/unistr/base: Update.
66088
66089 2007-01-27  Bruno Haible  <bruno@clisp.org>
66090
66091         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
66092         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
66093         * modules/unistr/u32-mbtouc-unsafe: Renamed from
66094         modules/unistr/u32-mbtouc.
66095         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
66096         * lib/unistr.h: Update.
66097         * lib/linebreak.c: Update.
66098         * modules/unistr/u32-mbtouc: Renamed from
66099         modules/unistr/u32-mbtouc-safe.
66100         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
66101         * lib/unistr.h: Update.
66102         * lib/unistr/u32-to-u8.c: Update.
66103         * lib/unistr/u32-to-u16.c: Update.
66104
66105 2007-01-27  Bruno Haible  <bruno@clisp.org>
66106
66107         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
66108         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
66109         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
66110         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
66111         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
66112         * modules/unistr/u16-mbtouc-unsafe: Renamed from
66113         modules/unistr/u16-mbtouc.
66114         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
66115         * lib/unistr.h: Update.
66116         * lib/linebreak.c: Update.
66117         * modules/linebreak: Update.
66118         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
66119         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
66120         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
66121         * modules/unistr/u16-mbtouc: Renamed from
66122         modules/unistr/u16-mbtouc-safe.
66123         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
66124         * lib/unistr.h: Update.
66125         * lib/unistr/u16-to-u8.c: Update.
66126         * modules/unistr/u16-to-u8: Update.
66127         * lib/unistr/u16-to-u32.c: Update.
66128         * modules/unistr/u16-to-u32: Update.
66129
66130 2007-01-27  Bruno Haible  <bruno@clisp.org>
66131
66132         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
66133         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
66134         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
66135         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
66136         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
66137         * modules/unistr/u8-mbtouc-unsafe: Renamed from
66138         modules/unistr/u8-mbtouc.
66139         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
66140         * lib/unistr.h: Update.
66141         * lib/striconveh.c: Update.
66142         * modules/striconveh: Update.
66143         * lib/linebreak.c: Update.
66144         * modules/linebreak: Update.
66145         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
66146         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
66147         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
66148         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
66149         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
66150         * lib/unistr.h: Update.
66151         * lib/striconveh.c: Update.
66152         * modules/striconveh: Update.
66153         * lib/unistr/u8-to-u16.c: Update.
66154         * modules/unistr/u8-to-u16: Update.
66155         * lib/unistr/u8-to-u32.c: Update.
66156         * modules/unistr/u8-to-u32: Update.
66157
66158 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66159
66160         Sync from Libtool.
66161         * lib/argz.c: Do not include strings.h nor memory.h, include
66162         string.h unconditionally.  Patch by Simon Josefsson.
66163
66164 2007-01-27  Bruno Haible  <bruno@clisp.org>
66165
66166         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
66167         from gl_HEADER_STRING_H_BODY.
66168         (gl_HEADER_STRING_H_BODY): Require it.
66169         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
66170         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
66171         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
66172         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
66173         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66174         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
66175         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
66176         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
66177         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
66178         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
66179         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
66180         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
66181         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
66182         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
66183         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
66184
66185 2007-01-27  Bruno Haible  <bruno@clisp.org>
66186
66187         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
66188         check_PROGRAMS into noinst_PROGRAMS.
66189         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
66190         check_PROGRAMS in this case.
66191         (func_import): Set for_test to false.
66192         (func_create_testdir): Set for_test to true.
66193
66194 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
66195             Bruno Haible  <bruno@clisp.org>
66196
66197         * modules/strcasestr (Files): Remove lib/strcasestr.h.
66198         (Depends-on): Add string.
66199         (Includes): Use <string.h> instead of strcasestr.h.
66200         * modules/string (Makefile.am): Also substitute the value of
66201         REPLACE_STRCASESTR.
66202         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
66203         assume strcasestr is declared in <string.h> not <strings.h>. Also
66204         set REPLACE_STRCASESTR.
66205         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
66206         REPLACE_STRCASESTR.
66207         * lib/strcasestr.h: Remove file.
66208         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
66209         * lib/string_.h (strcasestr): New declaration.
66210
66211 2007-01-27  Bruno Haible  <bruno@clisp.org>
66212
66213         * lib/string_.h: Use 'extern'.
66214
66215 2007-01-27  Jim Meyering  <jim@meyering.net>
66216
66217         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
66218         of set-but-not-used local, "q".
66219
66220         * lib/mempcpy.c: Include <config.h> before <string.h>.
66221         This fixes a compilation error on HP-UX, due to the system's
66222         "restrict"-using mempcpy prototype.
66223
66224 2007-01-26  Bruno Haible  <bruno@clisp.org>
66225
66226         Small optimization.
66227         * lib/javacomp.c: Include c-strstr.h.
66228          (is_envjavac_gcj): Use c_strstr instead of strstr.
66229         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
66230
66231 2007-01-26  Bruno Haible  <bruno@clisp.org>
66232
66233         * MODULES.html.sh (Unicode string functions): Add the new modules.
66234
66235         * modules/uniconv/u32-strconv-to-locale: New file.
66236         * lib/uniconv/u32-strconv-to-locale.c: New file.
66237
66238         * modules/uniconv/u16-strconv-to-locale: New file.
66239         * lib/uniconv/u16-strconv-to-locale.c: New file.
66240
66241         * modules/uniconv/u8-strconv-to-locale: New file.
66242         * lib/uniconv/u8-strconv-to-locale.c: New file.
66243
66244         * modules/uniconv/u32-strconv-from-locale: New file.
66245         * lib/uniconv/u32-strconv-from-locale.c: New file.
66246
66247         * modules/uniconv/u16-strconv-from-locale: New file.
66248         * lib/uniconv/u16-strconv-from-locale.c: New file.
66249
66250         * modules/uniconv/u8-strconv-from-locale: New file.
66251         * lib/uniconv/u8-strconv-from-locale.c: New file.
66252
66253         * modules/uniconv/u32-strconv-to-enc: New file.
66254         * lib/uniconv/u32-strconv-to-enc.c: New file.
66255         * modules/uniconv/u32-strconv-to-enc-tests: New file.
66256         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
66257
66258         * modules/uniconv/u16-strconv-to-enc: New file.
66259         * lib/uniconv/u16-strconv-to-enc.c: New file.
66260         * lib/uniconv/u-strconv-to-enc.h: New file.
66261         * modules/uniconv/u16-strconv-to-enc-tests: New file.
66262         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
66263
66264         * modules/uniconv/u8-strconv-to-enc: New file.
66265         * lib/uniconv/u8-strconv-to-enc.c: New file.
66266         * modules/uniconv/u8-strconv-to-enc-tests: New file.
66267         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
66268
66269         * modules/uniconv/u32-strconv-from-enc: New file.
66270         * lib/uniconv/u32-strconv-from-enc.c: New file.
66271         * modules/uniconv/u32-strconv-from-enc-tests: New file.
66272         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
66273
66274         * modules/uniconv/u16-strconv-from-enc: New file.
66275         * lib/uniconv/u16-strconv-from-enc.c: New file.
66276         * modules/uniconv/u16-strconv-from-enc-tests: New file.
66277         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
66278
66279         * modules/uniconv/u8-strconv-from-enc: New file.
66280         * lib/uniconv/u8-strconv-from-enc.c: New file.
66281         * lib/uniconv/u-strconv-from-enc.h: New file.
66282         * modules/uniconv/u8-strconv-from-enc-tests: New file.
66283         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
66284
66285         * modules/uniconv/u32-conv-from-enc: New file.
66286         * lib/uniconv/u32-conv-from-enc.c: New file.
66287         * modules/uniconv/u32-conv-from-enc-tests: New file.
66288         * tests/uniconv/test-u32-conv-from-enc.c: New file.
66289
66290         * modules/uniconv/u16-conv-from-enc: New file.
66291         * lib/uniconv/u16-conv-from-enc.c: New file.
66292         * lib/uniconv/u-conv-from-enc.h: New file.
66293         * modules/uniconv/u16-conv-from-enc-tests: New file.
66294         * tests/uniconv/test-u16-conv-from-enc.c: New file.
66295
66296         * modules/uniconv/u8-conv-from-enc: New file.
66297         * lib/uniconv/u8-conv-from-enc.c: New file.
66298         * modules/uniconv/u8-conv-from-enc-tests: New file.
66299         * tests/uniconv/test-u8-conv-from-enc.c: New file.
66300
66301         * modules/uniconv/base: New file.
66302         * lib/uniconv.h: New file.
66303
66304 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
66305
66306         * doc/gnulib-tool.texi (Initial import): Update to match current
66307         behavior with strdup module.
66308         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
66309         * lib/memmem.h: Remove; all uses removed.  This is now done
66310         by <string.h>.
66311         * lib/mempcpy.h: Likewise.
66312         * lib/memrchr.h: Likewise.
66313         * lib/stpcpy.h: Likewise.
66314         * lib/stpncpy.h: Likewise.
66315         * lib/strcase.h: Likewise.
66316         * lib/strchrnul.h: Likewise.
66317         * lib/strdup.h: Likewise.
66318         * lib/strndup.h: Likewise.
66319         * lib/strnlen.h: Likewise.
66320         * lib/strpbrk.h: Likewise.
66321         * lib/strsep.h: Likewise.
66322         * lib/strstr.h: Likewise.
66323         * lib/strtok_r.h: Likewise.
66324         * lib/string_.h: New file.
66325         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
66326         Rely on <string.h> instead.
66327         * lib/canon-host.c: Likewise.
66328         * lib/chdir-long.c: Likewise.
66329         * lib/concatpath.c: Likewise.
66330         * lib/exclude.c: Likewise.
66331         * lib/fchdir.c: Likewise.
66332         * lib/getaddrinfo.c: Likewise.
66333         * lib/getcwd.c: Likewise.
66334         * lib/getsubopt.c: Likewise.
66335         * lib/glob.c: Likewise.
66336         * lib/hard-locale.c: Likewise.
66337         * lib/iconvme.c: Likewise.
66338         * lib/javacomp.c: Likewise.
66339         * lib/mempcpy.c: Likewise.
66340         * lib/memrchr.c: Likewise.
66341         * lib/regex_internal.h: Likewise.
66342         * lib/stpncpy.c: Likewise.
66343         * lib/strcasecmp.c: Likewise.
66344         * lib/strchrnul.c: Likewise.
66345         * lib/strdup.c: Likewise.
66346         * lib/striconv.c: Likewise.
66347         * lib/striconveh.c: Likewise.
66348         * lib/striconveha.c: Likewise.
66349         * lib/strncasecmp.c: Likewise.
66350         * lib/strndup.c: Likewise.
66351         * lib/strnlen.c: Likewise.
66352         * lib/strsep.c: Likewise.
66353         * lib/strstr.c: Likewise.
66354         * lib/strtok_r.c: Likewise.
66355         * lib/userspec.c: Likewise.
66356         * lib/w32spawn.h: Likewise.
66357         * lib/xstrndup.c: Likewise.
66358         * lib/mountlist.c (strstr): Remove decl.
66359         * m4/string_h.m4: New file.
66360         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
66361         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
66362         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
66363         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
66364         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
66365         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
66366         Set REPLACE_STRCASECMP if necessary.
66367         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
66368         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
66369         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
66370         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
66371         HAVE_DECL_STRDUP if necessary.
66372         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
66373         since gl_FUNC_STRNDUP does that now.
66374         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
66375         Check for decl here...
66376         (gl_PREREQ_STRNLEN): ... not here.
66377         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
66378         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
66379         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
66380         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
66381         necessary.
66382         * modules/string: New file.
66383         * modules/memmem (Files): Remove special-purpose include file.
66384         (Depends-on): Add string.
66385         (Include): Include <string.h>, not the removed file.
66386         * modules/mempcpy: Likewise.
66387         * modules/memrchr: Likewise.
66388         * modules/stpcpy: Likewise.
66389         * modules/stpncpy: Likewise.
66390         * modules/strcase: Likewise.
66391         * modules/strchrnul: Likewise.
66392         * modules/strdup: Likewise.
66393         * modules/strndup: Likewise.
66394         * modules/strnlen: Likewise.
66395         * modules/strpbrk: Likewise.
66396         * modules/strsep: Likewise.
66397         * modules/strstr: Likewise.
66398         * modules/strtok_r: Likewise.
66399         * tests/test-dirname.c: Don't include "strdup.h", since
66400         <string.h> now suffices.
66401         * tests/test-memmem.c: Don't include "memmem.h", since
66402         <string.h> now suffices.
66403
66404 2007-01-25  Bruno Haible  <bruno@clisp.org>
66405
66406         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
66407         *resultp is 0.
66408
66409         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
66410         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
66411         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
66412         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
66413
66414         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
66415         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
66416         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
66417         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
66418         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
66419         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
66420
66421 2007-01-24  Bruno Haible  <bruno@clisp.org>
66422
66423         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
66424         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
66425         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
66426         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
66427         gl_FUNC_FTS_CORE.
66428         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
66429         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
66430         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
66431         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
66432         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
66433         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
66434         gl_FUNC_FCHOWNAT.
66435         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
66436         gl_FUNC_STRFTIME.
66437         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
66438         Reported by Ralf Wildenhues.
66439
66440 2007-01-24  Bruno Haible  <bruno@clisp.org>
66441
66442         Drop AC_REQUIRE calls that are redundant with the module dependencies.
66443         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
66444         gl_GETADDRINFO.
66445         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
66446         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
66447         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
66448
66449 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
66450
66451         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
66452         Don't use 'exit'; just return from 'main'.
66453         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
66454
66455         * lib/fnmatch_.h: Readjust white space and comments to match
66456         glibc, to avoid spurious diffs.
66457
66458 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66459
66460         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
66461         2004-12-01 change by Jakub Jelinek, since this code won't compile
66462         if !LIBC.  Problem reported by Bob Proulx.
66463
66464 2007-01-23  Bruno Haible  <bruno@clisp.org>
66465
66466         * lib/striconveh.c: Include c-strcaseeq.h.
66467         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
66468         * modules/striconveh (Depends-on): Add c-strcaseeq.
66469
66470 2007-01-23  Bruno Haible  <bruno@clisp.org>
66471
66472         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
66473
66474         * modules/c-strcaseeq: New file.
66475         * lib/c-strcaseeq.h: New file.
66476
66477         * modules/streq: New file.
66478         * lib/streq.h: New file.
66479
66480 2007-01-23  Bruno Haible  <bruno@clisp.org>
66481
66482         * modules/striconveha-tests: New file.
66483         * tests/test-striconveha.c: New file.
66484
66485         * lib/striconveha.h: Include <stdbool.h>.
66486         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
66487         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
66488         (mem_iconveha_notranslit): Renamed from mem_iconveha.
66489         (mem_iconveha): New function.
66490         (str_iconveha_notranslit): Renamed from str_iconveha.
66491         (str_iconveha): New function.
66492         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
66493         c-strcase.
66494
66495 2007-01-23  Bruno Haible  <bruno@clisp.org>
66496
66497         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
66498         encodings without forgiving before trying any encoding with handler.
66499         (str_iconveha): Try all encodings without forgiving before trying any
66500         encoding with handler.
66501
66502 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66503
66504         Import the following changes from libc.
66505
66506         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
66507
66508         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
66509
66510         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
66511
66512         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
66513         normal_bracket label.
66514
66515         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
66516
66517         [BZ #361]
66518         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
66519         to normal_bracket after fetching the next character.
66520
66521 2007-01-22  Bruno Haible  <bruno@clisp.org>
66522
66523         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
66524         argument.
66525         * lib/striconveh.c (iconv_carefully_1): New function.
66526         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
66527         argument.
66528         (str_cd_iconveh): Update.
66529         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
66530         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
66531         * tests/test-striconveh.c (MAGIC): New macro.
66532         (new_offsets): New function.
66533         (main): Test call with and without offsets.
66534
66535 2007-01-22  Bruno Haible  <bruno@clisp.org>
66536
66537         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
66538         * modules/sys_select (Makefile.am): Likewise.
66539         * modules/sys_socket (Makefile.am): Likewise.
66540         * modules/sys_time (Makefile.am): Likewise.
66541
66542 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
66543
66544         * modules/gettimeofday (License): Change from GPL to LGPL, since
66545         gettimeofday is a library function.
66546
66547 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66548
66549         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
66550
66551 2007-01-21  Bruno Haible  <bruno@clisp.org>
66552
66553         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
66554
66555 2007-01-21  Bruno Haible  <bruno@clisp.org>
66556
66557         * modules/striconveha: New file.
66558         * lib/striconveha.h: New file.
66559         * lib/striconveha.c: New file.
66560         * MODULES.html.sh (Internationalization functions): Add striconveha.
66561         * lib/striconv.c (str_iconv): Optimize the case of an empty input
66562         string.
66563         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
66564
66565 2007-01-21  Bruno Haible  <bruno@clisp.org>
66566
66567         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
66568         * lib/striconveh.c (str_iconveh): Likewise.
66569
66570 2007-01-21  Bruno Haible  <bruno@clisp.org>
66571
66572         * lib/striconveh.h (mem_iconveh): New declaration.
66573         * lib/striconveh.c (mem_iconveh): New function.
66574         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
66575
66576 2007-01-21  Bruno Haible  <bruno@clisp.org>
66577
66578         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
66579
66580         * lib/striconveh.h (mem_cd_iconveh): Change specification.
66581         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
66582         original result buffer.
66583         (str_cd_iconveh): Update.
66584         * tests/test-striconveh.c (main): Update.
66585
66586         * lib/striconv.h (mem_cd_iconv): Change specification.
66587         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
66588         result buffer.
66589         (str_cd_iconv): Update.
66590         * tests/test-striconv.c (main): Update.
66591
66592 2007-01-21  Bruno Haible  <bruno@clisp.org>
66593
66594         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
66595
66596 2007-01-20  Jim Meyering  <jim@meyering.net>
66597
66598         * lib/userspec.c (parse_with_separator): If a user or group string
66599         starts with "+", skip the corresponding name-to-ID look-up, since
66600         such a look-up must fail: user and group names may not include "+".
66601
66602 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
66603
66604         * lib/poll.c: Include sys/time.h and time.h unconditionally,
66605         since we now assume the sys_time module.
66606         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
66607         check for sys/time.h; no longer needed.
66608         * modules/poll (Depends-on): Depend on sys_time.
66609
66610 2007-01-18  Bruno Haible  <bruno@clisp.org>
66611
66612         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
66613         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
66614
66615         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
66616         gettimeofday.
66617
66618         * tests/test-gettimeofday.c: Include <time.h>.
66619         (dummy): Remove variable.
66620
66621         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
66622         gl_HEADER_SYS_TIME_H.
66623         (gl_HEADER_SYS_TIME_H): New macro.
66624
66625         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
66626         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66627         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
66628         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
66629         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66630         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
66631         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
66632         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66633         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
66634         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
66635         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66636
66637         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
66638         last change; it caused a compilation error when cross-compiling to
66639         Cygwin.
66640
66641 2007-01-18  Jim Meyering  <jim@meyering.net>
66642
66643         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
66644         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
66645         than the race-prone "test -d sys || mkdir sys".
66646         (configure.ac): Use AC_PROG_MKDIR_P.
66647         * modules/sys_select: Likewise.
66648         * modules/sys_socket: Likewise.
66649         * modules/sys_time: Likewise.
66650
66651 2007-01-18  Eric Blake  <ebb9@byu.net>
66652
66653         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
66654         replace gettimeofday.
66655         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
66656         name, to avoid infinite recursion.
66657
66658 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
66659
66660         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
66661         module sys_time.
66662         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
66663         assume timespec.h defines struct timeval.
66664         * lib/settime.c: Likewise.
66665         * lib/utimens.c: Likewise.
66666         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
66667         since we now assume the gettimeofday module.
66668         * lib/tempname.c (__gen_tempname): Likewise.
66669         * lib/gettimeofday.h: Remove.
66670         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
66671         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
66672         Include <time.h>, for 'time()'.
66673         (localtime_buffer_addr): Also use this workaround if
66674         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
66675         to simplify the uses.  All uses changed.
66676         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
66677         that #undef is inside {}, and 'const' follows type name consistently.
66678         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
66679         (gettimeofday): Do not use the maximum possible value for
66680         tv->tv_usec, since that might break usages other than ls.c.
66681         Instead, we'll leave ls.c alone.  This undoes today's patch
66682         by Bruno.  Add a compile-time warning for 1s-clock resolution;
66683         we've never observed the problem but might as well keep the
66684         canary.
66685         * lib/nanosleep.c: Include timespec.h first, for interface check.
66686         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
66687         now assume the sys_time module.
66688         * lib/tempname.c: Likewise.
66689         * lib/timespec.h: Likewise.
66690         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
66691         needed.
66692         * lib/strftime.c: Likewise.
66693         * lib/timespec.h: Likewise.
66694         * lib/posixtm.c: Include posixtm.h first, for interface check.
66695         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
66696         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
66697         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
66698         * lib/sys_time_.h: New file.
66699         * lib/timespec.h (struct timespec): Use long int, not long.
66700         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
66701         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
66702         Remove obsolescent call to AC_HEADER_TIME.
66703         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
66704         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
66705         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
66706         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
66707         Likewise.
66708         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
66709         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
66710         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
66711         into the sys_time module.  Check for gettimeofday just once.
66712         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
66713         for gettimeofday signature to just check the signature.  Merely
66714         compile it, since linking doesn't test signature.  Improve test for
66715         whether gettimeofday.o is actually needed.
66716         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
66717         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
66718         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
66719         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66720         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
66721         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
66722         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
66723         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
66724         than worrying about sys/time.h.
66725         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
66726         Don't bother worrying about TIME_WITH_SYS_TIME.
66727         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
66728         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
66729         * m4/sys_time_h.m4: New file.
66730         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
66731         Don't include sys/time.h.  Return from main rather than exiting.
66732         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
66733         all uses changed.
66734         * modules/gethrxtime (Depends-on): Add sys_time.
66735         * modules/gettime (Depends-on): Likewise.
66736         * modules/gettimeofday (Depends-on): Likewise.
66737         * modules/nanosleep (Depends-on): Likewise.
66738         * modules/settime (Depends-on): Likewise.
66739         * modules/tempname (Depends-on): Likewise.
66740         * modules/utimens (Depends-on): Likewise.
66741         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
66742         (Include): Change back to <sys/time.h>.
66743         (Maintainer): Add self.
66744         * modules/sys_time: New file.
66745         * modules/tempname (Depends-on): Add gettimeofday.
66746         * tests/test-gettimeofday.c: Include <sys/time.h>
66747         rather than gettimeofday.h.
66748
66749 2007-01-17  Bruno Haible  <bruno@clisp.org>
66750
66751         * gnulib-tool (func_get_license): Revert last patch. Instead, let
66752         the license default to GPL.
66753         (func_create_testdir): Don't complain if a module is LGPL and its
66754         tests module depends on GPLed modules.
66755
66756 2007-01-17  Bruno Haible  <bruno@clisp.org>
66757
66758         * lib/gettimeofday.c (gettimeofday): Add code for the case
66759         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
66760         maximum possible value for tv->tv_usec, rather than the minimum one.
66761
66762 2005-10-08  Martin Lambers  <marlam@marlam.de>
66763 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
66764 2007-01-16  Bruno Haible  <bruno@clisp.org>
66765
66766         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
66767         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
66768         gl_FUNC_GETTIMEOFDAY.
66769         (Include): Add gettimeofday.h.
66770         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
66771         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
66772         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
66773         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
66774         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
66775         * lib/gettimeofday.h: New file.
66776         * lib/gettimeofday.c: Include <sys/timeb.h>.
66777         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
66778         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66779         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
66780         fall back on time().
66781
66782         * tests/test-gettimeofday.c: New file.
66783         * modules/gettimeofday-tests: New file.
66784
66785 2007-01-16  Eric Blake  <ebb9@byu.net>
66786
66787         * modules/fnmatch (Depends-on): Depend on wchar.
66788         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
66789         * m4/fnmatch.m4: Likewise.
66790         * modules/mbchar (Makefile.am): Assume <wchar.h>.
66791         * m4/mbchar.m4: Likewise.
66792         * modules/mbswidth (Depends-on): Depend on wchar.
66793         * lib/mbswidth.c: Assume <wchar.h>.
66794         * m4/mbswidth.m4: Likewise.
66795         * modules/quotearg (Depends-on): Depend on wchar.
66796         * lib/quotearg.c: Assume <wchar.h>.
66797         * m4/quotearg.m4: Likewise.
66798         * modules/regex (Depends-on): Depend on wchar.
66799         * lib/regex_internal.h: Assume <wchar.h>.
66800         * m4/regex.m4: Likewise.
66801         * modules/stdint (Depends-on): Depend on wchar.
66802         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
66803         * m4/stdint.m4: Likewise.
66804         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
66805         * modules/strftime (Depends-on): Depend on wchar.
66806         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
66807         * modules/strtol (Depends-on): Depend on wchar.
66808         * lib/strtol.c: Assume <wchar.h>.
66809         * modules/wcwidth (Depends-on): Depend on wchar.
66810         * lib/wcwidth.h: Assume <wchar.h>.
66811         * m4/wcwidth.m4: Likewise.
66812
66813 2007-01-16  Bruno Haible  <bruno@clisp.org>
66814
66815         * modules/csharpexec-script: New, created from...
66816         * modules/csharpexec: ... this.
66817
66818 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
66819
66820         * modules/javaexec-script: New, created from...
66821         * modules/javaexec: ... this.
66822
66823 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66824
66825         * modules/poll (Dependencies): Add sys_select.
66826
66827 2007-01-15  Jim Meyering  <jim@meyering.net>
66828
66829         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
66830         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
66831         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
66832         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
66833
66834 2007-01-15  Bruno Haible  <bruno@clisp.org>
66835
66836         * modules/striconveh: New file.
66837         * lib/striconveh.h: New file.
66838         * lib/striconveh.c: New file.
66839         * MODULES.html.sh (Internationalization functions): Add striconveh.
66840
66841         * modules/striconveh-tests: New file.
66842         * tests/test-striconveh.c: New file.
66843
66844 2007-01-15  Bruno Haible  <bruno@clisp.org>
66845
66846         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
66847         not from GNU libiconv or GNU libc.
66848
66849 2007-01-15  Bruno Haible  <bruno@clisp.org>
66850
66851         * doc/gnulib-intro.texi (Copyright): Explain the different license
66852         terms for module descriptions, autoconf macros, tests, documentation.
66853
66854 2007-01-14  Bruno Haible  <bruno@clisp.org>
66855
66856         * modules/striconv-tests: New file.
66857         * tests/test-striconv.c: New file.
66858
66859 2007-01-14  Bruno Haible  <bruno@clisp.org>
66860
66861         * modules/iconv-tests: New file.
66862         * tests/test-iconv.c: New file.
66863
66864 2007-01-14  Bruno Haible  <bruno@clisp.org>
66865
66866         * gnulib-tool (func_get_license): For test modules, use the license of
66867         the main module.
66868
66869 2007-01-14  Bruno Haible  <bruno@clisp.org>
66870
66871         * modules/iconv (Include): Clarify that <iconv.h> can only be included
66872         if iconv is found to exist.
66873
66874 2007-01-14  Bruno Haible  <bruno@clisp.org>
66875
66876         * modules/c-ctype-tests: New file.
66877         * tests/test-c-ctype.c: New file.
66878
66879 2007-01-14  Bruno Haible  <bruno@clisp.org>
66880
66881         * modules/binary-io-tests: New file.
66882         * tests/test-binary-io.sh: New file.
66883         * tests/test-binary-io.c: New file.
66884
66885 2007-01-14  Bruno Haible  <bruno@clisp.org>
66886
66887         * modules/array-oset-tests: New file.
66888         * tests/test-array_oset.c: New file.
66889
66890 2007-01-14  Bruno Haible  <bruno@clisp.org>
66891
66892         * modules/array-list-tests: New file.
66893         * tests/test-array_list.c: New file.
66894
66895 2007-01-14  Bruno Haible  <bruno@clisp.org>
66896
66897         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
66898         and make.
66899         Reported by Simon Josefsson in
66900         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
66901
66902 2007-01-14  Bruno Haible  <bruno@clisp.org>
66903
66904         * modules/allocsa-tests: New file.
66905         * tests/test-allocsa.c: New file.
66906
66907 2007-01-14  Bruno Haible  <bruno@clisp.org>
66908
66909         * modules/fchdir (Depends-on): Add absolute-header.
66910         * modules/unistd (Depends-on): Likewise.
66911
66912 2006-12-30  Bruno Haible  <bruno@clisp.org>
66913
66914         * modules/fchdir: New file.
66915         * modules/unistd (Files): Add lib/unistd_.h.
66916         (Makefile.am): Generate unistd.h from unistd_.h.
66917         * lib/fchdir.c: New file.
66918         * lib/dirent_.h: New file.
66919         * lib/unistd_.h: New file.
66920         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
66921         * m4/fchdir.m4: New file.
66922         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
66923         (gl_HEADER_UNISTD): Invoke it.
66924         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
66925         function.
66926         * lib/backupfile.c (opendir, closedir): Undefine.
66927         * lib/chown.c (open, close): Undefine.
66928         * lib/clean-temp.c (open, close): Undefine.
66929         * lib/copy-file.c (open, close): Undefine.
66930         * lib/execute.c (open, close): Undefine.
66931         * lib/fsusage.c (open, close): Undefine.
66932         * lib/gc-gnulib.c (open, close): Undefine.
66933         * lib/getcwd.c (opendir, closedir): Undefine.
66934         * lib/glob.c (opendir, closedir): Undefine.
66935         * lib/javacomp.c (open, close): Undefine.
66936         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
66937         * lib/openat-proc.c (open, close): Undefine.
66938         * lib/pagealign_alloc.c (open, close): Undefine.
66939         * lib/pipe.c (open, close): Undefine.
66940         * lib/progreloc.c (open, close): Undefine.
66941         * lib/savedir.c (opendir, closedir): Undefine.
66942         * lib/utime.c (open, close): Undefine.
66943         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
66944
66945 2007-01-10  Bruno Haible  <bruno@clisp.org>
66946
66947         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
66948
66949 2007-01-12  Eric Blake  <ebb9@byu.net>
66950
66951         Provide a robust <wchar.h>.  Further simplifications are now
66952         possible in other modules, but not included here.
66953         * modules/wchar: New module.
66954         * m4/wchar.m4: New file.
66955         * lib/wchar_.h: Likewise.
66956         * modules/mbchar (Depends-on): Depend on wchar, as the first use
66957         of the new module.
66958         * MODULES.html.sh (Extended multibyte and wide character utilities):
66959         New section.
66960
66961 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
66962
66963         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
66964         to a reasonable default for memory allocation.
66965         (xreadlink): Don't allocate a huge buffer, to work around a buggy
66966         file system that reports garbage st_size values for symlinks.
66967         Problem reported by Liyang Hu.
66968
66969 2007-01-11  Simon Josefsson  <simon@josefsson.org>
66970
66971         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
66972         Emacs .#* auto-save files).
66973
66974 2007-01-11  Bruno Haible  <bruno@clisp.org>
66975
66976         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
66977         directory.
66978
66979 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
66980
66981         Use @...@ consistently in lib/wctype_.h.
66982         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
66983         on it being set to 1 or 0.
66984         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
66985         go back to AC_SUBSTing it.
66986         * modules/wctype (Makefile.am): Undo previous change.
66987
66988 2007-01-10  Eric Blake  <ebb9@byu.net>
66989
66990         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
66991         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
66992         * modules/wctype (Makefile.am): Likewise.
66993         Reported by Chris McGuire.
66994
66995 2007-01-10  Jim Meyering  <jim@meyering.net>
66996
66997         fts.c: a small readability/maintainability improvement
66998         * lib/fts.c (fts_read): Make this code slightly more readable and
66999         maintainable by hoisting the "sp->fts_cur = p" assignments to
67000         immediately follow the statements that set P.  Derived from
67001         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
67002
67003 2007-01-10  Eric Blake  <ebb9@byu.net>
67004
67005         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
67006         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
67007         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
67008         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
67009         Reported by Chris McGuire.
67010
67011 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67012
67013         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
67014         in sed script.
67015
67016 2007-01-09  Bruno Haible  <bruno@clisp.org>
67017
67018         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
67019         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
67020         variables.
67021         (func_module): Use them.
67022
67023 2007-01-09  Bruno Haible  <bruno@clisp.org>
67024
67025         * modules/unistr/base: New file.
67026         * lib/unistr.h: New file.
67027
67028         * modules/unistr/u8-to-u16: New file.
67029         * lib/unistr/u8-to-u16.c: New file.
67030
67031         * modules/unistr/u8-to-u32: New file.
67032         * lib/unistr/u8-to-u32.c: New file.
67033
67034         * modules/unistr/u16-to-u8: New file.
67035         * lib/unistr/u16-to-u8.c: New file.
67036
67037         * modules/unistr/u16-to-u32: New file.
67038         * lib/unistr/u16-to-u32.c: New file.
67039
67040         * modules/unistr/u32-to-u8: New file.
67041         * lib/unistr/u32-to-u8.c: New file.
67042
67043         * modules/unistr/u32-to-u16: New file.
67044         * lib/unistr/u32-to-u16.c: New file.
67045
67046         * modules/unistr/u8-check: New file.
67047         * modules/unistr/u16-check: New file.
67048         * modules/unistr/u32-check: New file.
67049         * lib/unistr/u8-check.c: New file.
67050         * lib/unistr/u16-check.c: New file.
67051         * lib/unistr/u32-check.c: New file.
67052
67053         * modules/unistr/u8-chr: New file.
67054         * modules/unistr/u16-chr: New file.
67055         * modules/unistr/u32-chr: New file.
67056         * lib/unistr/u8-chr.c: New file.
67057         * lib/unistr/u16-chr.c: New file.
67058         * lib/unistr/u32-chr.c: New file.
67059
67060         * modules/unistr/u8-cmp: New file.
67061         * modules/unistr/u16-cmp: New file.
67062         * modules/unistr/u32-cmp: New file.
67063         * lib/unistr/u8-cmp.c: New file.
67064         * lib/unistr/u16-cmp.c: New file.
67065         * lib/unistr/u32-cmp.c: New file.
67066
67067         * modules/unistr/u8-cpy: New file.
67068         * modules/unistr/u16-cpy: New file.
67069         * modules/unistr/u32-cpy: New file.
67070         * lib/unistr/u8-cpy.c: New file.
67071         * lib/unistr/u16-cpy.c: New file.
67072         * lib/unistr/u32-cpy.c: New file.
67073         * lib/unistr/u-cpy.h: New file.
67074
67075         * modules/unistr/u8-cpy-alloc: New file.
67076         * modules/unistr/u16-cpy-alloc: New file.
67077         * modules/unistr/u32-cpy-alloc: New file.
67078         * lib/unistr/u8-cpy-alloc.c: New file.
67079         * lib/unistr/u16-cpy-alloc.c: New file.
67080         * lib/unistr/u32-cpy-alloc.c: New file.
67081         * lib/unistr/u-cpy-alloc.h: New file.
67082
67083         * modules/unistr/u8-endswith: New file.
67084         * modules/unistr/u16-endswith: New file.
67085         * modules/unistr/u32-endswith: New file.
67086         * lib/unistr/u8-endswith.c: New file.
67087         * lib/unistr/u16-endswith.c: New file.
67088         * lib/unistr/u32-endswith.c: New file.
67089         * lib/unistr/u-endswith.h: New file.
67090
67091         * modules/unistr/u8-mblen: New file.
67092         * modules/unistr/u16-mblen: New file.
67093         * modules/unistr/u32-mblen: New file.
67094         * lib/unistr/u8-mblen.c: New file.
67095         * lib/unistr/u16-mblen.c: New file.
67096         * lib/unistr/u32-mblen.c: New file.
67097
67098         * modules/unistr/u8-mbtouc: New file.
67099         * modules/unistr/u16-mbtouc: New file.
67100         * modules/unistr/u32-mbtouc: New file.
67101         * lib/unistr/u8-mbtouc.c: New file.
67102         * lib/unistr/u16-mbtouc.c: New file.
67103         * lib/unistr/u32-mbtouc.c: New file.
67104
67105         * modules/unistr/u8-mbtouc-safe: New file.
67106         * modules/unistr/u16-mbtouc-safe: New file.
67107         * modules/unistr/u32-mbtouc-safe: New file.
67108         * lib/unistr/u8-mbtouc-safe.c: New file.
67109         * lib/unistr/u16-mbtouc-safe.c: New file.
67110         * lib/unistr/u32-mbtouc-safe.c: New file.
67111
67112         * modules/unistr/u8-move: New file.
67113         * modules/unistr/u16-move: New file.
67114         * modules/unistr/u32-move: New file.
67115         * lib/unistr/u8-move.c: New file.
67116         * lib/unistr/u16-move.c: New file.
67117         * lib/unistr/u32-move.c: New file.
67118         * lib/unistr/u-move.h: New file.
67119
67120         * modules/unistr/u8-next: New file.
67121         * modules/unistr/u16-next: New file.
67122         * modules/unistr/u32-next: New file.
67123         * lib/unistr/u8-next.c: New file.
67124         * lib/unistr/u16-next.c: New file.
67125         * lib/unistr/u32-next.c: New file.
67126
67127         * modules/unistr/u8-prev: New file.
67128         * modules/unistr/u16-prev: New file.
67129         * modules/unistr/u32-prev: New file.
67130         * lib/unistr/u8-prev.c: New file.
67131         * lib/unistr/u16-prev.c: New file.
67132         * lib/unistr/u32-prev.c: New file.
67133
67134         * modules/unistr/u8-set: New file.
67135         * modules/unistr/u16-set: New file.
67136         * modules/unistr/u32-set: New file.
67137         * lib/unistr/u8-set.c: New file.
67138         * lib/unistr/u16-set.c: New file.
67139         * lib/unistr/u32-set.c: New file.
67140         * lib/unistr/u-set.h: New file.
67141
67142         * modules/unistr/u8-startswith: New file.
67143         * modules/unistr/u16-startswith: New file.
67144         * modules/unistr/u32-startswith: New file.
67145         * lib/unistr/u8-startswith.c: New file.
67146         * lib/unistr/u16-startswith.c: New file.
67147         * lib/unistr/u32-startswith.c: New file.
67148         * lib/unistr/u-startswith.h: New file.
67149
67150         * modules/unistr/u8-stpcpy: New file.
67151         * modules/unistr/u16-stpcpy: New file.
67152         * modules/unistr/u32-stpcpy: New file.
67153         * lib/unistr/u8-stpcpy.c: New file.
67154         * lib/unistr/u16-stpcpy.c: New file.
67155         * lib/unistr/u32-stpcpy.c: New file.
67156         * lib/unistr/u-stpcpy.h: New file.
67157
67158         * modules/unistr/u8-stpncpy: New file.
67159         * modules/unistr/u16-stpncpy: New file.
67160         * modules/unistr/u32-stpncpy: New file.
67161         * lib/unistr/u8-stpncpy.c: New file.
67162         * lib/unistr/u16-stpncpy.c: New file.
67163         * lib/unistr/u32-stpncpy.c: New file.
67164         * lib/unistr/u-stpncpy.h: New file.
67165
67166         * modules/unistr/u8-strcat: New file.
67167         * modules/unistr/u16-strcat: New file.
67168         * modules/unistr/u32-strcat: New file.
67169         * lib/unistr/u8-strcat.c: New file.
67170         * lib/unistr/u16-strcat.c: New file.
67171         * lib/unistr/u32-strcat.c: New file.
67172         * lib/unistr/u-strcat.h: New file.
67173
67174         * modules/unistr/u8-strchr: New file.
67175         * modules/unistr/u16-strchr: New file.
67176         * modules/unistr/u32-strchr: New file.
67177         * lib/unistr/u8-strchr.c: New file.
67178         * lib/unistr/u16-strchr.c: New file.
67179         * lib/unistr/u32-strchr.c: New file.
67180
67181         * modules/unistr/u8-strcmp: New file.
67182         * modules/unistr/u16-strcmp: New file.
67183         * modules/unistr/u32-strcmp: New file.
67184         * lib/unistr/u8-strcmp.c: New file.
67185         * lib/unistr/u16-strcmp.c: New file.
67186         * lib/unistr/u32-strcmp.c: New file.
67187
67188         * modules/unistr/u8-strcpy: New file.
67189         * modules/unistr/u16-strcpy: New file.
67190         * modules/unistr/u32-strcpy: New file.
67191         * lib/unistr/u8-strcpy.c: New file.
67192         * lib/unistr/u16-strcpy.c: New file.
67193         * lib/unistr/u32-strcpy.c: New file.
67194         * lib/unistr/u-strcpy.h: New file.
67195
67196         * modules/unistr/u8-strcspn: New file.
67197         * modules/unistr/u16-strcspn: New file.
67198         * modules/unistr/u32-strcspn: New file.
67199         * lib/unistr/u8-strcspn.c: New file.
67200         * lib/unistr/u16-strcspn.c: New file.
67201         * lib/unistr/u32-strcspn.c: New file.
67202         * lib/unistr/u-strcspn.h: New file.
67203
67204         * modules/unistr/u8-strdup: New file.
67205         * modules/unistr/u16-strdup: New file.
67206         * modules/unistr/u32-strdup: New file.
67207         * lib/unistr/u8-strdup.c: New file.
67208         * lib/unistr/u16-strdup.c: New file.
67209         * lib/unistr/u32-strdup.c: New file.
67210         * lib/unistr/u-strdup.h: New file.
67211
67212         * modules/unistr/u8-strlen: New file.
67213         * modules/unistr/u16-strlen: New file.
67214         * modules/unistr/u32-strlen: New file.
67215         * lib/unistr/u8-strlen.c: New file.
67216         * lib/unistr/u16-strlen.c: New file.
67217         * lib/unistr/u32-strlen.c: New file.
67218         * lib/unistr/u-strlen.h: New file.
67219
67220         * modules/unistr/u8-strmblen: New file.
67221         * modules/unistr/u16-strmblen: New file.
67222         * modules/unistr/u32-strmblen: New file.
67223         * lib/unistr/u8-strmblen.c: New file.
67224         * lib/unistr/u16-strmblen.c: New file.
67225         * lib/unistr/u32-strmblen.c: New file.
67226
67227         * modules/unistr/u8-strmbtouc: New file.
67228         * modules/unistr/u16-strmbtouc: New file.
67229         * modules/unistr/u32-strmbtouc: New file.
67230         * lib/unistr/u8-strmbtouc.c: New file.
67231         * lib/unistr/u16-strmbtouc.c: New file.
67232         * lib/unistr/u32-strmbtouc.c: New file.
67233
67234         * modules/unistr/u8-strncat: New file.
67235         * modules/unistr/u16-strncat: New file.
67236         * modules/unistr/u32-strncat: New file.
67237         * lib/unistr/u8-strncat.c: New file.
67238         * lib/unistr/u16-strncat.c: New file.
67239         * lib/unistr/u32-strncat.c: New file.
67240         * lib/unistr/u-strncat.h: New file.
67241
67242         * modules/unistr/u8-strncmp: New file.
67243         * modules/unistr/u16-strncmp: New file.
67244         * modules/unistr/u32-strncmp: New file.
67245         * lib/unistr/u8-strncmp.c: New file.
67246         * lib/unistr/u16-strncmp.c: New file.
67247         * lib/unistr/u32-strncmp.c: New file.
67248
67249         * modules/unistr/u8-strncpy: New file.
67250         * modules/unistr/u16-strncpy: New file.
67251         * modules/unistr/u32-strncpy: New file.
67252         * lib/unistr/u8-strncpy.c: New file.
67253         * lib/unistr/u16-strncpy.c: New file.
67254         * lib/unistr/u32-strncpy.c: New file.
67255         * lib/unistr/u-strncpy.h: New file.
67256
67257         * modules/unistr/u8-strnlen: New file.
67258         * modules/unistr/u16-strnlen: New file.
67259         * modules/unistr/u32-strnlen: New file.
67260         * lib/unistr/u8-strnlen.c: New file.
67261         * lib/unistr/u16-strnlen.c: New file.
67262         * lib/unistr/u32-strnlen.c: New file.
67263         * lib/unistr/u-strnlen.h: New file.
67264
67265         * modules/unistr/u8-strpbrk: New file.
67266         * modules/unistr/u16-strpbrk: New file.
67267         * modules/unistr/u32-strpbrk: New file.
67268         * lib/unistr/u8-strpbrk.c: New file.
67269         * lib/unistr/u16-strpbrk.c: New file.
67270         * lib/unistr/u32-strpbrk.c: New file.
67271         * lib/unistr/u-strpbrk.h: New file.
67272
67273         * modules/unistr/u8-strrchr: New file.
67274         * modules/unistr/u16-strrchr: New file.
67275         * modules/unistr/u32-strrchr: New file.
67276         * lib/unistr/u8-strrchr.c: New file.
67277         * lib/unistr/u16-strrchr.c: New file.
67278         * lib/unistr/u32-strrchr.c: New file.
67279
67280         * modules/unistr/u8-strspn: New file.
67281         * modules/unistr/u16-strspn: New file.
67282         * modules/unistr/u32-strspn: New file.
67283         * lib/unistr/u8-strspn.c: New file.
67284         * lib/unistr/u16-strspn.c: New file.
67285         * lib/unistr/u32-strspn.c: New file.
67286         * lib/unistr/u-strspn.h: New file.
67287
67288         * modules/unistr/u8-strstr: New file.
67289         * modules/unistr/u16-strstr: New file.
67290         * modules/unistr/u32-strstr: New file.
67291         * lib/unistr/u8-strstr.c: New file.
67292         * lib/unistr/u16-strstr.c: New file.
67293         * lib/unistr/u32-strstr.c: New file.
67294         * lib/unistr/u-strstr.h: New file.
67295
67296         * modules/unistr/u8-strtok: New file.
67297         * modules/unistr/u16-strtok: New file.
67298         * modules/unistr/u32-strtok: New file.
67299         * lib/unistr/u8-strtok.c: New file.
67300         * lib/unistr/u16-strtok.c: New file.
67301         * lib/unistr/u32-strtok.c: New file.
67302         * lib/unistr/u-strtok.h: New file.
67303
67304         * modules/unistr/u8-uctomb: New file.
67305         * modules/unistr/u16-uctomb: New file.
67306         * modules/unistr/u32-uctomb: New file.
67307         * lib/unistr/u8-uctomb.c: New file.
67308         * lib/unistr/u16-uctomb.c: New file.
67309         * lib/unistr/u32-uctomb.c: New file.
67310
67311         * MODULES.html.sh (Unicode string functions): Add the new modules.
67312
67313 2007-01-08  Bruno Haible  <bruno@clisp.org>
67314
67315         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
67316         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
67317         subdirectories.
67318
67319 2007-01-08  Karl Berry  <karl@gnu.org>
67320
67321         * doc/error.texi: mention that main() fns must set program_name
67322         when progname is used.
67323
67324 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
67325
67326         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
67327         WCTYPE_H is empty, for the benefit of builds from non-distclean
67328         directories.  Problem reported by Eric Blake in
67329         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
67330
67331 2007-01-08  Bruno Haible  <bruno@clisp.org>
67332
67333         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
67334         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
67335         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
67336         PROVIDE_CANONICALIZE_FILENAME_MODE.
67337         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
67338
67339 2007-01-08  Bruno Haible  <bruno@clisp.org>
67340
67341         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
67342         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
67343         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
67344         * lib/fts.c: Likewise.
67345         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
67346
67347 2006-12-25  Bruno Haible  <bruno@clisp.org>
67348
67349         * modules/utf8-ucs4-safe: New file.
67350         * lib/utf8-ucs4-safe.h: New file.
67351         * lib/unistr/utf8-ucs4-safe.c: New file.
67352
67353         * modules/utf16-ucs4-safe: New file.
67354         * lib/utf16-ucs4-safe.h: New file.
67355         * lib/unistr/utf16-ucs4-safe.c: New file.
67356
67357         * MODULES.html.sh (Unicode string functions): Add the new modules.
67358
67359 2007-01-08  Bruno Haible  <bruno@clisp.org>
67360
67361         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
67362         (Depends-on): Add unitypes.
67363         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
67364         (u8_mbtouc_aux): Move out to separate file.
67365         (u8_mbtouc): Use ucs4_t, uint8_t types.
67366         * lib/unistr/utf8-ucs4.c: New file.
67367
67368         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
67369         (Depends-on): Add unitypes.
67370         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
67371         (u16_mbtouc_aux): Move out to separate file.
67372         (u16_mbtouc): Use ucs4_t, uint16_t types.
67373         * lib/unistr/utf16-ucs4.c: New file.
67374
67375         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
67376         (Depends-on): Add unitypes.
67377         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
67378         (u8_uctomb_aux): Move out to separate file.
67379         (u8_uctomb): Use ucs4_t, uint8_t types.
67380         * lib/unistr/ucs4-utf8.c: New file.
67381
67382         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
67383         (Depends-on): Add unitypes.
67384         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
67385         (u16_uctomb_aux): Move out to separate file.
67386         (u16_uctomb): Use ucs4_t, uint16_t types.
67387         * lib/unistr/ucs4-utf16.c: New file.
67388
67389 2006-12-25  Bruno Haible  <bruno@clisp.org>
67390
67391         * modules/unitypes: New file.
67392         * lib/unitypes.h: New file.
67393         * MODULES.html.sh (func_all_modules): New section "Unicode string
67394         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
67395         this section. Add unitypes.
67396
67397 2007-01-08  Bruno Haible  <bruno@clisp.org>
67398
67399         Avoid variable names that conflict with those from libtool.
67400         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
67401         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
67402         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
67403         library_names_spec to acl_library_names_spec, hardcode_* to
67404         acl_hardcode_*.
67405         Reported by Ralf Wildenhues.
67406
67407 2007-01-08  Bruno Haible  <bruno@clisp.org>
67408
67409         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
67410         definition.
67411         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
67412         definition.
67413         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
67414         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
67415         definition.
67416         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
67417         definition.
67418         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
67419         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
67420         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
67421         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
67422         definition.
67423         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
67424         definition.
67425         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
67426         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
67427         GC_USE_<algorithm>.
67428         * lib/gc-libgcrypt.c: Likewise.
67429         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
67430         * modules/gc-arctwo (configure.ac): Likewise.
67431         * modules/gc-des (configure.ac): Likewise.
67432         * modules/gc-hmac-md5 (configure.ac): Likewise.
67433         * modules/gc-hmac-sha1 (configure.ac): Likewise.
67434         * modules/gc-md2 (configure.ac): Likewise.
67435         * modules/gc-md4 (configure.ac): Likewise.
67436         * modules/gc-md5 (configure.ac): Likewise.
67437         * modules/gc-random (configure.ac): Likewise.
67438         * modules/gc-rijndael (configure.ac): Likewise.
67439         * modules/gc-sha1 (configure.ac): Likewise.
67440
67441 2007-01-08  Bruno Haible  <bruno@clisp.org>
67442
67443         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
67444         macro definition.
67445         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
67446         definition.
67447         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
67448         definition.
67449         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
67450         * modules/fcntl-safer (configure.ac): Likewise.
67451         * modules/fopen-safer (configure.ac): Likewise.
67452         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
67453         GNULIB_FWRITEERROR macro definition.
67454
67455 2007-01-08  Bruno Haible  <bruno@clisp.org>
67456
67457         * m4/gnulib-common.m4: New file.
67458         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
67459         (func_get_filelist): Add m4/gnulib-common.m4.
67460
67461 2007-01-08  Bruno Haible  <bruno@clisp.org>
67462
67463         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
67464         command.
67465
67466 2007-01-08  Jim Meyering  <jim@meyering.net>
67467
67468         Use a more robust test for a "can't happen" condition.
67469         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
67470         narrowed the st_size value.  Presuming the "can't happen" condition
67471         is true, that narrowing could conceivably convert an invalid st_size
67472         value into a valid one.  Instead, use a change based on Matthew
67473         Woehlke's original patch.
67474
67475         Slight readability improvement: use an assert-like macro
67476         in place of literal "abort ()" uses.
67477         * lib/fts.c (fts_assert): Define.
67478         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
67479         Use this macro instead of a bare 'abort'.
67480
67481 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
67482
67483         Don't worry about using IRIX 5.3's wctype.h broken definitions;
67484         simply work around them.
67485         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
67486         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
67487         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
67488         declaring.
67489         Don't bother to define as macros, since the standard doesn't require it.
67490         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
67491         longer worry about IRIX 5.3.
67492         (HAVE_WCTYPE_CTMP_BUG): Remove.
67493
67494 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
67495
67496         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
67497         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
67498         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
67499         Problems reported by Georg Schwarz for IRIX 5.3.
67500
67501         * gnulib-tool (autoconf_minversion): Take the maximum version number
67502         found, not the minimum.  Problem reported by James Youngman.
67503
67504 2007-01-03  Karl Berry  <karl@gnu.org>
67505
67506         * doc/error.texi: new file, explaining interaction with progname.
67507         * doc/gnulib.texi: include it.  Update copyright.
67508
67509 2007-01-03  Simon Josefsson  <simon@josefsson.org>
67510
67511         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
67512         AC_CANONICAL_HOST, to improve autobuild outputs.
67513
67514 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
67515             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
67516
67517         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
67518         sockets, server sockets, and other file descriptors.  Count errors
67519         to compute the return value.  Reorder the code a bit to be easier
67520         to follow.  Don't set event bits that were not requested (except
67521         POLLERR and POLLHUP).
67522
67523 2007-01-01  Bruno Haible  <bruno@clisp.org>
67524
67525         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
67526
67527 2007-01-03  Jim Meyering  <jim@meyering.net>
67528
67529         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
67530
67531 2007-01-02  Bruno Haible  <bruno@clisp.org>
67532
67533         * modules/settime (Include): Require timespec.h.
67534         * modules/nanosleep (Include): Likewise.
67535
67536 2007-01-01  Bruno Haible  <bruno@clisp.org>
67537
67538         * gnulib-tool (func_emit_copyright_notice): Bump year.
67539         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
67540
67541 2007-01-01  Bruno Haible  <bruno@clisp.org>
67542
67543         Improve support for OpenBSD.
67544         * build-aux/config.rpath (libname_spec): Export.
67545         (library_names_spec): New variable. Export.
67546         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
67547         library_names_spec from the config.rpath output. Locate shared library
67548         through the name pattern in library_names_spec.
67549
67550 2007-01-01  Eric Blake  <ebb9@byu.net>
67551
67552         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
67553
67554 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
67555
67556         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
67557         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
67558         assume the C locale, and avoid an "eval" that could cause trouble.
67559         Problem with SORT reported by Bob Proulx.
67560
67561         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
67562         Define.  Trivial patch from Henning Nielsen Lund, originally
67563         sent to bug-grep@gnu.org today.
67564
67565 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
67566
67567         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
67568         struct stat.  Problem reported by Henning Nielsen Lund.
67569         * lib/acl.c: Include acl.h first, to check interface.  Don't
67570         bother to include sys/types.h and sys/stat.h again.
67571
67572 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
67573
67574         Import the following change from libc; problem reported by
67575         Sven Verdoolaege.
67576
67577         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
67578
67579         [BZ #1373]
67580         * lib/argp.h: Remove __NTH for __argp_usage inline function.
67581
67582 2006-12-28  Jim Meyering  <jim@meyering.net>
67583
67584         * build-aux/announce-gen: Do not assume that the package
67585         builds any of tar.gz, tar.bz2, and .xdelta files.
67586         Suggestion from Simon Josefsson.
67587
67588 2006-12-28  Simon Josefsson  <simon@josefsson.org>
67589
67590         * modules/announce-gen: New file.
67591
67592 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
67593
67594         * lib/mbchar.h: Just include <wctype.h>; the wctype module
67595         handles its gotchas now.
67596         * lib/mbswidth.c: Likewise.
67597         * lib/wcwidth.h: Likewise.
67598         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
67599         and iswcntrl; the wctype module does this stuff now.
67600         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
67601         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
67602         * modules/mbchar (Depends-on): Add wctype.
67603         * modules/mbswidth (Depends-on): Likewise.
67604         * modules/wcwidth (Depends-on): Likewise.
67605
67606 2006-12-27  Eric Blake  <ebb9@byu.net>
67607
67608         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
67609         module uses more than what <wctype.h> is required to provide.
67610
67611 2006-12-26  Eric Blake  <ebb9@byu.net>
67612
67613         * gnulib-tool (sed_extract_prog): Avoid space-tab.
67614
67615 2006-12-26  Eric Blake  <ebb9@byu.net>
67616
67617         * modules/absolute-header: New module.
67618         * modules/fcntl (Depends-on): Depend on it.
67619         * modules/inttypes (Depends-on): Likewise.
67620         * modules/stdint (Depends-on): Likewise.
67621         * modules/sys_stat (Depends-on): Likewise.
67622         * modules/wctype (Depends-on): Likewise.
67623         * MODULES.html.sh (Support for building libraries and
67624         executables): Document it.
67625
67626 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
67627
67628         * gnulib-tool (SED): Remove, undoing previous change.
67629         The problem was that it broke coreutils on Solaris, because
67630         "sed --posix" leaked into a makefile.
67631         (sed): New alias, if 'alias' and GNU sed.
67632
67633 2006-12-24  Jim Meyering  <jim@meyering.net>
67634
67635         Work around an fchownat bug in glibc-2.4:
67636         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
67637         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
67638         in spite of the -P option.
67639         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
67640         New macros.
67641         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
67642         * modules/openat (Files): Add lib/fchownat.c.
67643         * lib/openat.c (fchownat): Don't define here.  Move to...
67644         * lib/fchownat.c: ...this new file.
67645
67646 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
67647
67648         Fix bug reported by Bruno Haible in
67649         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
67650         where quotearg.c didn't compile on Mac OS X 10.2 because it
67651         lacks <wchar.h> and wint_t.
67652         * lib/wctype_.h (__wctype_wint_t): New type.
67653         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
67654         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
67655         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
67656         Arg is now of type __wctype_wint_t, not wint_t.
67657         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
67658         substitute HAVE_WINT_T.
67659         * modules/wctype (Files): Add m4/wint_t.m4.
67660         (wctype.h): Substitute HAVE_WINT_T.
67661
67662 2006-12-23  Bruno Haible  <bruno@clisp.org>
67663
67664         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
67665
67666 2006-12-23  Bruno Haible  <bruno@clisp.org>
67667
67668         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
67669         S_ISLNK.
67670         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
67671         mingw.
67672
67673 2006-12-22  Bruno Haible  <bruno@clisp.org>
67674
67675         * lib/copy-file.c: Include acl.h.
67676         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
67677         Close the file descriptors only after being done with copy_acl.
67678         * modules/copy-file (Depends-on): Add acl.
67679
67680 2006-12-22  Bruno Haible  <bruno@clisp.org>
67681
67682         * gnulib-tool (SED): New variable.
67683         Use $SED instead of sed everywhere.
67684
67685 2006-12-22  Bruno Haible  <bruno@clisp.org>
67686
67687         * modules/no-c++: New file.
67688         * m4/no-c++.m4: New file.
67689         * MODULES.html.sh (Support for building libraries and executables):
67690         Add no-c++.
67691
67692 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
67693
67694         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
67695         Include <limits.h>, and use its INT_MAX to rewrite the
67696         j loop so that it does not overflow 'int'.  Problem reported by
67697         Ralf Wildenhues in
67698         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
67699         Play it safe by shifting left by 1 rather than multiplying by 2,
67700         as GCC is less likely to optimize this away when the value
67701         is signed (when it assumes overflow leads to undefined behavior).
67702         Also, don't assume time_t uses two's complement.
67703
67704 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
67705
67706         * MODULES.html.sh: New module wctype.
67707         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
67708         * lib/fnmatch.c: Don't bother to include <wchar.h> before
67709         <wctype.h>, since the new wctype module should fix this.
67710         * lib/quotearg.c: Include <wctype.h> unconditionally, since
67711         the wctype module should arrange for it.
67712         * lib/regex_internal.h: Likewise.
67713         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
67714         since the wctype module should handle this now.
67715         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
67716         * modules/fnmatch (Depends-on): Add wctype.
67717         * modules/quotearg (Depends-on): Likewise.
67718         * modules/regex (Depends-on): Likewise.
67719
67720 2006-12-19  Bruno Haible  <bruno@clisp.org>
67721
67722         * lib/strdup.h [C++]: Wrap definitions in extern "C".
67723         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
67724
67725 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67726
67727         * modules/savewd (Depends-on): Fix dependency on fcntl.
67728
67729 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
67730
67731         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
67732         conforms to C99, rather than relying on the user's environment
67733         setting of STDINT_H.
67734
67735 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
67736         and Eric Blake  <ebb9@byu.net>
67737
67738         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
67739         This is more consistent with the other defines here.
67740         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
67741         Port to z/OS.  Problem reported by Paul Gilmartin.
67742         Change local vars to use gl_ prefix rather than ac_.
67743         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
67744         with other defines.
67745         * modules/double-slash-root: New module.
67746         * modules/dirname (Files): Remove m4/double-slash-root.m4.
67747         (Depends-on): Add double-slash-root.
67748         * MODULES.html.sh (File system functions): Mention new module.
67749
67750 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
67751
67752         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
67753         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
67754         This is for the benefit of gzip, which doesn't do i18n.
67755
67756 2006-12-12  Jim Meyering  <jim@meyering.net>
67757
67758         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
67759         Reported by Andreas Schwab <schwab@suse.de>.
67760
67761 2006-12-12  Bruno Haible  <bruno@clisp.org>
67762
67763         Merge these changes.
67764         2006-09-05  Bruno Haible  <bruno@clisp.org>
67765         * lib/iconvme.c (iconv_string): No need to save and restore errno when
67766         iconv_alloc succeeded.
67767         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
67768         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
67769         test for " && dest " at the end - dest is always != NULL there. Call
67770         iconv with 4xNULL arguments initially, to reset the state. Call iconv
67771         with 2xNULL arguments, also to flush the state storage. Handle the
67772         IRIX iconv behaviour. Realloc the final result, to throw away unused
67773         memory.
67774
67775 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
67776
67777         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
67778         and fchmodat unconditionally, since glibc 2.4 has them.
67779         Problem reported by Arkadiusz Miskiewicz.
67780
67781 2006-12-10  Bruno Haible  <bruno@clisp.org>
67782
67783         * gnulib-tool (func_import): Show the include files only for those
67784         modules that are copied and specified.
67785         Reported by Karl Berry.
67786
67787 2006-12-08  Jim Meyering  <jim@meyering.net>
67788
67789         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
67790         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
67791
67792         * build-aux/announce-gen: Add two new options, both optional:
67793         --bootstrap-tools=TOOL_LIST
67794               a comma-separated list of tools, e.g.,
67795               autoconf,automake,bison,gnulib
67796         --gnulib-snapshot-date=DATE
67797               if gnulib is in the bootstrap tool list,
67798               then report this as the snapshot date.
67799               If not specified, use the current date/time.
67800               If you specify a date here, be sure it's UTC.
67801
67802 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67803
67804         * tests/test-argp-2.sh: Fix test to match actual output.
67805         (func_compare): Fix sed script to be portable.
67806
67807 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
67808
67809         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
67810         workaround for this case.  It is not autoconfigured now; offhand
67811         it's hard to see how to autoconfigure it.
67812
67813 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
67814
67815         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
67816         a directory that is about to be chowned.  Such a directory's
67817         initial file permissions should permit the owner only and this
67818         should not be changed until after the chown, since the group and
67819         other bits would be incorrect if they granted permission before
67820         the chown.
67821
67822         Fix porting problem for iswctype reported by Georg Schwarz in:
67823         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
67824         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
67825         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
67826         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
67827         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
67828
67829 2006-12-03  Jim Meyering  <jim@meyering.net>
67830
67831         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
67832         p->fts_statp may not yet be defined.
67833         (fts_read): Instead, set it in the caller, once p->fts_statp is
67834         sure to be defined, and corresponds to a top-level directory.
67835         This bug made du -x fail.  Here's the coreutils test case:
67836         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
67837         Reported by Mike Frysinger.
67838
67839 2006-12-01  Jim Meyering  <jim@meyering.net>
67840
67841         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
67842         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
67843         Reported by Simon Josefsson.
67844
67845 2006-11-30  Jim Meyering  <jim@meyering.net>
67846
67847         * m4/warning.m4: Use the all-permissive copyright notice
67848         recommended by RMS (rather than LGPL).
67849         * m4/vararrays.m4: Likewise.
67850         * m4/flexmember.m4: Likewise.
67851
67852 2006-11-29  Bruno Haible  <bruno@clisp.org>
67853
67854         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
67855         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
67856         using +=.
67857         Reported by Simon Josefsson <simon@josefsson.org>.
67858
67859 2006-11-28  James Youngman <jay@gnu.org>
67860
67861         * README: Advise users that they might find the bug-gnulib@gnu.org
67862         and autotools-announce@gnu.org mailing lists useful.
67863
67864 2006-11-28  Bruno Haible  <bruno@clisp.org>
67865
67866         * m4/ptrdiff_max.m4: Remove file.
67867
67868 2006-11-21  Bruno Haible  <bruno@clisp.org>
67869
67870         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
67871         _AC_COMPUTE_INT.
67872         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
67873         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
67874         _AC_COMPUTE_INT.
67875         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
67876         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
67877         _AC_COMPUTE_INT.
67878         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
67879
67880 2006-11-28  Jim Meyering  <jim@meyering.net>
67881
67882         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
67883         warning from "gcc -Wshadow" about shadowing the builtin.
67884
67885 2006-11-27  Bruno Haible  <bruno@clisp.org>
67886
67887         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
67888         _AC_COMPUTE_INT.
67889         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
67890
67891 2006-11-27  Bruno Haible  <bruno@clisp.org>
67892             Paul Eggert  <eggert@cs.ucla.edu>
67893
67894         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
67895
67896 2006-11-26  Bruno Haible  <bruno@clisp.org>
67897
67898         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
67899         noinst_LTLIBRARIES.
67900
67901 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
67902             Bruno Haible  <bruno@clisp.org>
67903
67904         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
67905         if compiling with "gcc -ansi".
67906
67907 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
67908
67909         Fix some incompatibilities with gcc -ansi -pedantic.
67910         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
67911         if compiling pedantically with GCC, unless it's C99 or later.
67912         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
67913         it mishandles gcc -ansi -pedantic as well.
67914         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
67915         if gcc -pedantic.
67916         * lib/regexec.c (check_node_accept_bytes): Don't use auto
67917         initializers for struct if -pedantic, unless it's C99 or later.
67918
67919 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
67920
67921         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
67922         Don't close an fd more than once. Identical atimes indicate
67923         success, not failure.
67924
67925 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
67926
67927         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
67928
67929 2006-11-23  Jim Meyering  <jim@meyering.net>
67930
67931         * build-aux/announce-gen: New file.  From coreutils.
67932
67933 2006-11-22  Jim Meyering  <jim@meyering.net>
67934
67935         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
67936         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
67937         (fts_read): Use a temporary to narrow the overused st_size member
67938         before using it in a switch statement.  Reported by Matthew Woehlke.
67939
67940         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
67941         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
67942
67943 2006-11-20  Bruno Haible  <bruno@clisp.org>
67944
67945         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
67946         changequote instead of pairs of brackets.
67947         Reported by Andreas Schwab <schwab@suse.de>.
67948
67949 2006-11-21  Jim Meyering  <jim@meyering.net>
67950
67951         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
67952         so as to remain compatible with older compilers.
67953         Patch from Michael Deutschmann.
67954
67955 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
67956
67957         * MODULES.html.sh (File system functions): Add openat.
67958
67959         * lib/openat.h (rpl_fstatat): New macro, if
67960         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
67961         (fstatat): Define to rpl_fstatat under the same conditions,
67962         unless COMPILING_FSTATAT.
67963         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
67964         seems to have the bug.
67965         * lib/fstatat.c: New file.
67966         * modules/openat (Files): Add it.
67967
67968 2006-11-20  Bruno Haible  <bruno@clisp.org>
67969
67970         * Makefile: New file.
67971
67972 2006-11-20  Jim Meyering  <jim@meyering.net>
67973
67974         The beginnings of syntax-related checks for gnulib.
67975         * lib/Makefile: New file.
67976         * lib/t-idcache: New script.  Ensure that the two halves of
67977         idcache.c stay in sync.
67978
67979         * lib/idcache.c: Adjust comments in user- and group- portions to
67980         be more accurate, and to be consistent with one another.
67981
67982 2006-11-20  Jim Meyering  <jim@meyering.net>
67983
67984         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
67985         continue using the flexible array member (thus, this module performs
67986         half as many malloc calls), with the addition that...
67987         (getgroup, getuser): Consistently record a non-match via an empty
67988         "name" string, and map an empty string match to a NULL return value.
67989         * modules/idcache (Depends-on): Re-add flexmember.
67990
67991         * lib/idcache.c (getuser): Remove all uses of the register keyword.
67992         (getuidbyname, getgroup, getgidbyname): Likewise.
67993
67994         Use cleaner syntax: NULL rather than 0.
67995         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
67996
67997 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
67998
67999         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
68000         It mishandled the case where the group was missing.
68001         Problem reported by Greg Schafer.
68002         * modules/idcache: Likewise.
68003
68004 2006-11-18  Jim Meyering  <jim@meyering.net>
68005
68006         * check-module (%exempt_header): Add exception for some
68007         conditionally-included headers.
68008
68009         * modules/i-ring (Depends-on): Add verify.
68010         (License): Change to LGPL.
68011
68012 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68013
68014         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
68015         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
68016         and inttostr.h.  Use snprintf rather than uinttostr, so that
68017         LGPLed code doesn't depend on GPLed.
68018
68019 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
68020
68021         * modules/inline (License): Change from GPL to LGPL.
68022
68023 2006-11-17  Jim Meyering  <jim@meyering.net>
68024
68025         * modules/d-type (License): Switch to LGPL.
68026
68027 2006-11-15  Bruno Haible  <bruno@clisp.org>
68028
68029         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
68030
68031 2006-11-15  Eric Blake  <ebb9@byu.net>
68032
68033         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
68034         the module dependency.
68035
68036 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68037             Bruno Haible  <bruno@clisp.org>
68038
68039         * gnulib-tool (func_create_testdir): Add license consistency check.
68040
68041 2006-11-15  Eric Blake  <ebb9@byu.net>
68042
68043         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
68044         random "(cached)" in configure output.
68045
68046 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68047
68048         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
68049         test for conforming inttypes.h is both announced and cached.
68050
68051         * MODULES.html.sh (seen_modules, seen_files): New variables.
68052         (func_module): Rewrite to use a few less gnulib-tool and sed
68053         invocations.  Avoid a couple of quadratic algorithms for ...
68054         (missed_modules, missed_files): ... these, with ...
68055         (func_append, func_tmpdir): ... these new functions, from
68056         gnulib-tool.  Analogously, install traps for cleanup.
68057
68058         * tests/test-gc.c (main): Remove unused variables.
68059         * tests/test-read-file.c: Include stdlib.h, for 'free'.
68060
68061 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
68062
68063         * modules/inttostr (License): Change to LGPL.
68064
68065 2006-11-14  Eric Blake  <ebb9@byu.net>
68066
68067         * modules/tempname (License): Change to LGPL.
68068
68069 2006-11-14  Eric Blake  <ebb9@byu.net>
68070
68071         * doc/functions.texi (Function Portability): *printf functions on
68072         Cygwin now understand all POSIX size specifiers.
68073
68074 2006-11-14  Bruno Haible  <bruno@clisp.org>
68075
68076         * modules/c-ctype (License): Change to LGPL.
68077
68078 2006-11-12  Bruno Haible  <bruno@clisp.org>
68079
68080         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
68081         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
68082         for GNOME libraries, for which the include files are installed in
68083         subdirectories of $prefix/include.
68084
68085 2006-11-12  Bruno Haible  <bruno@clisp.org>
68086
68087         * m4/lib-link.m4: Require at least autoconf-2.54.
68088         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
68089         name to underscores for the --with option.
68090
68091 2006-11-13  Bruno Haible  <bruno@clisp.org>
68092
68093         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
68094         the tests directory.
68095         Reported by Ralf Wildenhues.
68096
68097 2006-11-13  Bruno Haible  <bruno@clisp.org>
68098
68099         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
68100         (func_emit_initmacro_end): Undo the override here.
68101         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
68102         Works around the famous automake error in coreutils.
68103
68104 2006-11-13  Eric Blake  <ebb9@byu.net>
68105
68106         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
68107         element, not its node.
68108
68109 2006-11-12  Bruno Haible  <bruno@clisp.org>
68110
68111         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
68112         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
68113
68114 2006-11-12  Bruno Haible  <bruno@clisp.org>
68115
68116         * gnulib-tool: New option --local-symlink.
68117         (func_usage): Document it.
68118         (lsymbolic): New variable.
68119         (func_import, func_create_testdir): If --symlink was not specified,
68120         test whether --local-symlink was specified and the file comes from
68121         the local_gnulib_dir.
68122
68123 2006-11-12  Bruno Haible  <bruno@clisp.org>
68124
68125         * gnulib-tool (func_ln): New function.
68126         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
68127
68128 2006-11-12  Bruno Haible  <bruno@clisp.org>
68129
68130         Finish support for source files in subdirectories.
68131         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
68132         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
68133         AUTOMAKE_OPTIONS.
68134         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
68135
68136 2006-11-12  Bruno Haible  <bruno@clisp.org>
68137
68138         * gnulib-tool (func_get_automake_snippet): Synthesize also an
68139         EXTRA_lib_SOURCES augmentation.
68140         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
68141
68142 2006-11-12  Jim Meyering  <jim@meyering.net>
68143
68144         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
68145         file descriptors.  This also averts a failure on systems with
68146         native openat support when a traversed directory lacks "x" access.
68147         * lib/fts_.h: Include "i-ring.h"
68148         (struct FTS) [fts_fd_ring]: New member.
68149         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
68150         (FCHDIR): Add parentheses.
68151         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
68152         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
68153         When descending, rather than simply closing the previous
68154         fts_cwd_fd value, push that file descriptor onto the ring.
68155         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
68156         (fts_open): Initialize the new fd_ring member.
68157         (fts_close): Clear the ring.
68158         (fts_safe_changedir): When possible, use our new fd_ring to skip
68159         the diropen and fstat and dev/ino comparison that would normally
68160         accompany a virtual `chdir ("..")'.
68161
68162         * modules/fts (Depends-on): Add i-ring.
68163         * modules/i-ring: New module.
68164         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
68165         * m4/i-ring.m4: New file.
68166
68167 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68168
68169         * gnulib-tool (func_create_testdir): Fix replacement of
68170         `build-aux' in configure.ac.  Run autotools in gltests
68171         subdirectory.
68172         (func_create_testdir, func_create_megatestdir, test): There is
68173         no need for '--force' in most autotool invocations in a new
68174         tree.  Actually fail the whole test if any of the tools, or the
68175         configure or make stages fail.
68176
68177         Sync from Automake.
68178         * build-aux/gnupload: Revert last change.  Add pointer to upload
68179         instructions of the GNU Maintenance Instructions.
68180         Suggestion by Karl Berry.
68181
68182 2006-11-10  Jim Meyering  <jim@meyering.net>
68183
68184         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
68185
68186 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68187
68188         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
68189         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
68190         (bind_textdomain_codeset) [! ENABLE_NLS]:
68191         Evaluate all the arguments.  That way, callers get compatible behavior
68192         if the arguments have side effects.  Also, it avoids some GCC
68193         diagnostics in some cases; Joel E. Denny reported problems when Bison
68194         was configured with --enable-gcc-warnigs.
68195
68196 2006-11-10  Jim Meyering  <jim@meyering.net>
68197
68198         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
68199         relevant options in CFLAGS (like -O, -fno-inline) are taken into
68200         account.
68201
68202 2006-11-10  Jim Meyering  <jim@meyering.net>
68203
68204         * modules/inline: New file/module.
68205         * modules/xalloc (Files): Remove m4/inline.m4.
68206         (Depends-on): Add inline, instead.
68207         * modules/oset: Likewise.
68208         * modules/list: Likewise.
68209
68210 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68211
68212         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
68213         Problem reported by Matthew Woehlke.
68214
68215 2006-11-09  Bruno Haible  <bruno@clisp.org>
68216
68217         * lib/tempname.c (gen_tempname): Remove variant that invokes
68218         __gen_tempname.
68219         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
68220         __gen_tempname.
68221
68222 2006-11-08  Bruno Haible  <bruno@clisp.org>
68223
68224         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
68225         to 'yes' instead of 'cross-compiling'.
68226
68227 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
68228
68229         * lib/quotearg.h (quotearg_free): New decl.
68230         * lib/quotearg.c (quotearg_free): New function.
68231         (slot0, nslots, slotvec0, slotvec):
68232         Now file-scope so that quotearg_free can get at them.
68233
68234 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68235
68236         Sync from Automake.
68237         * build-aux/gnupload: Add missing 'gnu' to example URL.
68238         Report by Karl Berry.
68239
68240 2006-11-08  Bruno Haible  <bruno@clisp.org>
68241
68242         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
68243         Suggested by Paul Eggert.
68244
68245 2006-11-08  Jim Meyering  <jim@meyering.net>
68246
68247         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
68248         It's already included if !_LIBC.
68249         (fts_safe_changedir): Add a comment.
68250
68251 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
68252
68253         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
68254         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
68255         Matthew Woehlke.
68256
68257         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
68258         definitions up, to avoid colliding with change below.
68259         (static_inline) [HAVE_INLINE]: New macro.
68260         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
68261         Provide extern decls when !HAVE_INLINE.  Do not define unless
68262         static_inline is defined, either by us or by xmalloc.c.  Use
68263         static_inline rather than static inline.
68264         (XCALLOC): Optimize sizeof(T) = 1 case.
68265         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
68266
68267 2006-11-07  Bruno Haible  <bruno@clisp.org>
68268
68269         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
68270         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
68271         AC_C_INLINE.
68272         * modules/xalloc (Files): Add m4/inline.m4.
68273
68274 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68275
68276         * README: Fix typo.
68277         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
68278         (Miscellanous Notes): ...from this.
68279
68280 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
68281
68282         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
68283         Mention that offsetof should be used instead of sizeof.
68284         From Bruno Haible.
68285
68286 2006-11-07  Bruno Haible  <bruno@clisp.org>
68287
68288         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
68289
68290 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
68291
68292         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
68293         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
68294         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
68295         (gl_tree_add_before, gl_tree_add_after):
68296         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
68297         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
68298         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
68299         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
68300         (gl_linked_add_after, gl_linked_add_at): Likewise.
68301         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
68302         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
68303         (gl_tree_add_before, gl_tree_add_after): Likewise.
68304         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
68305         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
68306         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
68307
68308 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68309
68310         * lib/gl_oset.h: Use C comment style, not C++ comment style.
68311
68312 2006-11-06  Bruno Haible  <bruno@clisp.org>
68313
68314         * m4/inline.m4: New file.
68315         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
68316         * modules/list (Files): Add m4/inline.m4.
68317         * modules/oset (Files): Likewise.
68318
68319 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
68320
68321         * lib/idcache.c: Include <stddef.h>, for offsetof.
68322         (struct userid.name): Change from char * to a flexible array member.
68323         All uses changed.
68324         * modules/idcache (Depends-on): Add flexmember.
68325
68326         * MODULES.html.sh (Core language properties): New module flexmember.
68327         * modules/flexmember, m4/flexmember.m4: New files.
68328
68329         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
68330         inline functions that are identical with the old xnmalloc_inline,
68331         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
68332         that we can avoid some unnecessary integer multiplications and
68333         divisions in the common case where the element size is known at
68334         compile time.
68335         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
68336         needed.
68337         (xnboundedmalloc): Remove.
68338         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
68339         arguments, for consistency with rest of this header.
68340         (xcharalloc): Rewrite using XNMALLOC.
68341         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
68342         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
68343         versions have been moved to lib/xalloc.h and renamed to be the
68344         non-*_inline versions.
68345         (xmalloc, xrealloc): Implement without reference to the xnmalloc
68346         and xnrealloc functions, since those functions are now inline and
68347         now call us.
68348         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
68349         renaming described above.
68350         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
68351         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
68352         captures the dependency in AC_C_INLINE.
68353
68354         New module canonicalize-lgpl, proposed by Charles Wilson in
68355         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
68356         with a few small changes afterwards.
68357         * MODULES.html.sh (File system functions): New module
68358         canonicalize-lgpl.
68359         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
68360         and canonicalize_file_name.
68361         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
68362         * modules/canonicalize-lgpl: New files.
68363
68364 2006-11-05  Bruno Haible  <bruno@clisp.org>
68365
68366         * gnulib-tool (func_import, func_create_testdir): Create directories
68367         also for files in subdirectories of lib/.
68368
68369 2006-11-05  Bruno Haible  <bruno@clisp.org>
68370
68371         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
68372         ANSI C compliant.
68373
68374 2006-11-03  Bruno Haible  <bruno@clisp.org>
68375
68376         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
68377         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
68378         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
68379         (xnboundedmalloc): New inline function.
68380         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
68381         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
68382         xmalloc.
68383         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
68384         xmalloc.
68385         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
68386         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
68387         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
68388         xmalloc.
68389         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
68390         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
68391         xmalloc.
68392         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
68393         gl_tree_add_after): Use XMALLOC instead of xmalloc.
68394         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
68395         xmalloc.
68396         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
68397         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
68398         gl_tree_add_after): Use XMALLOC instead of xmalloc.
68399         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
68400         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
68401         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
68402         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
68403
68404 2006-11-03  Bruno Haible  <bruno@clisp.org>
68405
68406         * lib/c-ctype.h [C++]: Define functions without name mangling.
68407         * lib/fwriteerror.h [C++]: Likewise.
68408         * lib/gcd.h [C++]: Likewise.
68409         * lib/linebreak.h [C++]: Likewise.
68410
68411 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
68412
68413         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
68414         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
68415         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
68416         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
68417         Check for functions and headers just once.
68418         Check for declaration of canonicalize_file_name.
68419         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
68420
68421 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
68422
68423         * gnulib-tool (func_import): Fix typo in actioncmd.
68424
68425 2006-11-02  Bruno Haible  <bruno@clisp.org>
68426
68427         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
68428         newline sequence in the Makefile.am snippet as a space, like "make"
68429         does.
68430         Reported by Roger Persson <perrog@gmail.com>.
68431
68432 2006-11-01  Bruno Haible  <bruno@clisp.org>
68433
68434         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
68435         already declared in <string.h>.
68436         * lib/strcase.h (strncasecmp): Don't declare it if yes.
68437
68438 2006-11-01  Bruno Haible  <bruno@clisp.org>
68439
68440         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
68441         * lib/strcase.h: Include <string.h>.
68442         (strcasecmp): Define to rpl_strcasecmp here.
68443
68444 2006-11-01  Bruno Haible  <bruno@clisp.org>
68445
68446         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
68447
68448 2006-11-01  Eric Blake  <ebb9@byu.net>
68449
68450         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
68451
68452         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
68453
68454 2006-10-29  Bruno Haible  <bruno@clisp.org>
68455
68456         Make it compile in C++ mode.
68457         * lib/full-write.c (full_rw): Add a cast.
68458
68459 2006-11-01  Bruno Haible  <bruno@clisp.org>
68460
68461         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
68462         be POSIX compliant.
68463         Reported by Roger Persson <perrog@gmail.com>.
68464
68465 2006-11-01  Eric Blake  <ebb9@byu.net>
68466
68467         * lib/getopt_.h: Fix comments.
68468
68469 2006-10-31  Eric Blake  <ebb9@byu.net>
68470
68471         * modules/tmpdir (Depends-on): Add sys_stat.
68472         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
68473         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
68474         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
68475         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
68476         tempname.
68477
68478 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
68479
68480         Avoid some C++ diagnostics reported by Bruno Haible.
68481         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
68482         xmalloc.
68483         (quotearg_alloc): Use xcharalloc rather than xmalloc.
68484         (struct slotvec): Move to top level.
68485         (quotearg_n_options): Rewrite to avoid xmalloc.
68486         * lib/xalloc.h (xcharalloc): New function.
68487         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
68488         [defined __cplusplus]: Add function template that provides result
68489         type propagation.  This part of the change is from Bruno Haible.
68490
68491 2006-10-29  Bruno Haible  <bruno@clisp.org>
68492
68493         Make it compile in C++ mode.
68494         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
68495         * lib/strnlen1.c (strnlen1): Cast memchr result.
68496         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
68497         * lib/clean-temp.c (string_equals, string_hash): Add casts.
68498         (create_temp_dir): Rename local variable 'template'.
68499         (compile_csharp_using_sscli): Add cast.
68500         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
68501         * lib/findprog.c (find_in_path): Likewise.
68502         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
68503         * lib/wait-process.c (register_slave_subprocess): Likewise.
68504
68505 2006-10-22  Bruno Haible  <bruno@clisp.org>
68506
68507         * modules/tsearch: New file.
68508         * lib/tsearch.h: New file.
68509         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
68510         * m4/tsearch.m4: New file.
68511         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
68512
68513 2006-10-29  Eric Blake  <ebb9@byu.net>
68514
68515         * lib/arcfour.c: Assume config.h.
68516         * lib/arctwo.c: Likewise.
68517         * lib/base64.c: Likewise.
68518         * lib/check-version.c: Likewise.
68519         * lib/crc.c: Likewise.
68520         * lib/des.c: Likewise.
68521         * lib/gc-gnulib.c: Likewise.
68522         * lib/gc-libgcrypt.c: Likewise.
68523         * lib/gc-pbkdf2-sha1.c: Likewise.
68524         * lib/getaddrinfo.c: Likewise.
68525         * lib/getdelim.c: Likewise.
68526         * lib/getline.c: Likewise.
68527         * lib/hmac-md5.c: Likewise.
68528         * lib/hmac-sha1.c: Likewise.
68529         * lib/iconvme.c: Likewise.
68530         * lib/md2.c: Likewise.
68531         * lib/md4.c: Likewise.
68532         * lib/memxor.c: Likewise.
68533         * lib/read-file.c: Likewise.
68534         * lib/readline.c: Likewise.
68535         * lib/rijndael-alg-fst.c: Likewise.
68536         * lib/rijndael-api-fst.c: Likewise.
68537         * lib/xgetdomainname.c: Likewise.
68538
68539 2006-10-28  Eric Blake  <ebb9@byu.net>
68540
68541         * lib/xstrndup.c: Assume config.h.
68542
68543 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
68544
68545         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
68546         stat-macros.h is now for our own macros, whereas stat_h is for
68547         macros in the <sys/stat.h> name space.
68548         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
68549         (STAT_MACROS_H): Remove.
68550         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
68551         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
68552         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
68553         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
68554         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
68555         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
68556         Move these macros to ...
68557         * lib/stat_.h: here.  Don't include stat-macros.h.
68558         * lib/canonicalize.c: Don't include stat-macros.h.
68559         * lib/chown.c: Likewise.
68560         * lib/euidaccess.c: Likewise.
68561         * lib/file-type.c: Likewise.
68562         * lib/filemode.c: Likewise.
68563         * lib/glob.c: Likewise.
68564         * lib/isapipe.c: Likewise.
68565         * lib/lchown.c: Likewise.
68566         * lib/lstat.c: Likewise.
68567         * lib/mkdir-p.c: Likewise.
68568         * lib/rmdir.c: Likewise.
68569         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
68570         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
68571         unless mkdir isn't declared, to speed up 'configure'.
68572         Always create sys/stat.h, since it's unlikely any real sys/stat.h
68573         would define all the S_* symbols.
68574         * modules/canonicalize (Depends-on):
68575         Depend on sys_stat, not stat-macros.
68576         * modules/chown: Likewise.
68577         * modules/euidaccess: Likewise.
68578         * modules/filemode: Likewise.
68579         * modules/file-type: Likewise.
68580         * modules/glob: Likewise.
68581         * modules/isapipe: Likewise.
68582         * modules/lchown: Likewise.
68583         * modules/lstat: Likewise.
68584         * modules/mkancesdirs: Likewise.
68585         * modules/rmdir: Likewise.
68586         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
68587         * modules/modechange: Likewise.
68588         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
68589         (configure.ac): Remove gl_STAT_MACROS.
68590         * modules/sys_stat (Depends-on): Remove stat-macros.
68591
68592 2006-10-27  Bruno Haible  <bruno@clisp.org>
68593
68594         * m4/signed.m4: Remove file.
68595         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
68596         invocation.
68597         * modules/vasnprintf (Files): Remove m4/signed.m4.
68598
68599 2006-10-27  Bruno Haible  <bruno@clisp.org>
68600
68601         Update to GNU gettext 0.16.
68602         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
68603         m4/inttypes-h.m4, m4/signed.m4.
68604         * m4/gettext.m4: Update to GNU gettext 0.16.
68605         * m4/intl.m4: New file, from GNU gettext.
68606         * m4/intldir.m4: New file, from GNU gettext.
68607         * config/srclist.txt: Update
68608
68609 2006-10-27  Eric Blake  <ebb9@byu.net>
68610
68611         * MODULES.html.sh: Document tempname.
68612         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
68613         dependencies.
68614         (Files): Move lib/tempname.c...
68615         * modules/tempname: ...to this new module.
68616         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
68617         (gl_PREREQ_TEMPNAME): Move...
68618         * m4/tempname.m4: ...to this new file.
68619         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
68620         * modules/sys_stat (Depends-on): Add stat-macros.
68621         * lib/stat_.h (includes): Pick up stat macros.
68622         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
68623         if stat macros are broken.
68624         * lib/tempname.c (includes): No need to include "stat-macros.h".
68625         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
68626         (direxists, __path_search) [!_LIBC]: Don't compile these in
68627         gnulib; the tmpdir module covers that.
68628         * lib/tempname.h: New file.
68629
68630 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
68631
68632         * COPYING: Explain how gnulib-tool converts licence headers.
68633         Almost all wording by Eric Blake.
68634
68635 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
68636
68637         * lib/mbchar.h (is_basic_table): Make read-only.
68638         * lib/mbchar.c (is_basic_table): Likewise.
68639         Reported by John Darrington.
68640
68641 2006-10-25  Bruno Haible  <bruno@clisp.org>
68642
68643         * lib/progname.h (set_program_name): Undefine before defining.
68644
68645 2006-10-25  Bruno Haible  <bruno@clisp.org>
68646
68647         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
68648         false for non-gcc C++ compilers.
68649         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
68650
68651 2006-10-24  Bruno Haible  <bruno@clisp.org>
68652
68653         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
68654         iconv implementations like Irix iconv.
68655
68656 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68657
68658         * modules/vararrays: New file.
68659         * m4/vararrays.m4: New file, taken from diffutils.
68660         * MODULES.html.sh: New module vararrays.
68661
68662 2006-10-24  Karl Berry  <karl@gnu.org>
68663
68664         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
68665         Don't call GNU Unix.
68666
68667 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68668
68669         * users.txt: Add Libtool.
68670
68671         Sync from Libtool:
68672
68673         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68674
68675         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
68676         to gnulib's policy of including config.h unconditionally.
68677
68678 2006-10-24  Bruno Haible  <bruno@clisp.org>
68679
68680         * modules/wcwidth (Files): Add m4/wint_t.m4.
68681         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
68682         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
68683
68684 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68685
68686         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
68687         to pacify GCC with some -W flags enabled.  Problem reported by
68688         Bruno Haible.
68689
68690 2006-10-24  Jim Meyering  <jim@meyering.net>
68691
68692         * MODULES.html.sh: Remove uinttostr.  It's not a module.
68693         Reported by Karl Berry.
68694
68695 2006-10-23  Bruno Haible  <bruno@clisp.org>
68696
68697         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
68698
68699 2006-10-24  Bruno Haible  <bruno@clisp.org>
68700
68701         * lib/gl_list.h: Use C comment style, not C++ comment style.
68702
68703 2006-10-23  Eric Blake  <ebb9@byu.net>
68704
68705         * lib/getaddrinfo.c (includes): Add missing include.
68706
68707 2006-10-23  Bruno Haible  <bruno@clisp.org>
68708             Paul Eggert  <eggert@cs.ucla.edu>
68709
68710         Ability to rename obstack_free.
68711         * lib/obstack.h (__obstack_free): New macro. Declare instead of
68712         obstack_free.
68713         (obstack_free): Invoke the __obstack_free macro.
68714         * lib/obstack.c (obstack_free): Use __obstack_free macro.
68715
68716 2006-10-23  Bruno Haible  <bruno@clisp.org>
68717             Paul Eggert  <eggert@cs.ucla.edu>
68718
68719         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
68720         __argc, __argv from the declaration. (They are defined as macros on
68721         mingw.)
68722
68723 2006-10-22  Bruno Haible  <bruno@clisp.org>
68724
68725         * doc/gnulib-intro.texi: New file.
68726         * doc/gnulib.texi: Include it.
68727
68728 2006-10-21  Bruno Haible  <bruno@clisp.org>
68729
68730         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
68731         "Introduction", "Miscellanous Notes", "Particular Modules".
68732
68733 2006-10-21  Bruno Haible  <bruno@clisp.org>
68734
68735         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68736         Change mostlyclean-local rule to avoid sh syntax error from bash
68737         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
68738
68739 2006-10-23  Jim Meyering  <jim@meyering.net>
68740
68741         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
68742         in place of snprintf.
68743
68744         * modules/inttostr (Files): Add lib/uinttostr.c.
68745         * lib/uinttostr.c (inttostr): New file/function.
68746         * lib/inttostr.h (uinttostr): Declare.
68747         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
68748         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
68749         Add uinttostr.
68750         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
68751
68752 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
68753
68754         * lib/canonicalize.c (ELOOP): Define if not already defined.
68755         Problem reported by Bruno Haible in
68756         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
68757
68758 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
68759
68760         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
68761         Problem reported by Perry Smith and Ville Laurikari.
68762
68763         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
68764         uses.
68765
68766 2006-10-19  Bruno Haible  <bruno@clisp.org>
68767
68768         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
68769         for mingw.
68770
68771 2006-10-19  Bruno Haible  <bruno@clisp.org>
68772
68773         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
68774         Needed for mingw.
68775
68776 2006-10-19  Bruno Haible  <bruno@clisp.org>
68777
68778         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
68779
68780 2006-10-19  Bruno Haible  <bruno@clisp.org>
68781
68782         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
68783         it.
68784
68785 2006-10-19  Bruno Haible  <bruno@clisp.org>
68786
68787         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
68788         invocation.
68789
68790 2006-10-19  Bruno Haible  <bruno@clisp.org>
68791
68792         * gnulib-tool (func_create_testdir): Don't include ftruncate and
68793         mountlist by default.
68794
68795 2006-10-16  Bruno Haible  <bruno@clisp.org>
68796
68797         * lib/c-strstr.c: Include c-strstr.h.
68798
68799 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
68800
68801         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
68802         in a slash.
68803
68804 2006-10-18  Bruno Haible  <bruno@clisp.org>
68805
68806         * lib/lock.h [C++]: Wrap definitions in extern "C".
68807
68808 2006-10-18  Bruno Haible  <bruno@clisp.org>
68809
68810         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
68811         gl_LIBOBJS list.
68812
68813 2006-10-18  Bruno Haible  <bruno@clisp.org>
68814
68815         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
68816
68817 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
68818
68819         * lib/xstrtol.h: Include gettext.h.
68820         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
68821         Problem reported by Eric Blake.
68822         * modules/xstrtol (Depends-on): Add gettext-h.
68823
68824 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
68825
68826         * lib/strftime.c (advance): New macro.
68827         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
68828         incomplete type, so you can't add 0 to it.  Problem and patch
68829         reported by Eelco Dolstra for dietlibc.
68830
68831 2006-10-18  Jim Meyering  <jim@meyering.net>
68832
68833         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
68834         type for a local, and rename it: s/up/user_proc/.
68835
68836 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
68837
68838         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
68839         READ_UTMP_USER_PROCESS.
68840         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
68841
68842 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
68843
68844         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
68845         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
68846
68847 2006-10-17  Eric Blake  <ebb9@byu.net>
68848
68849         * lib/sigprocmask.c (sigprocmask): Fix typo.
68850
68851         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
68852
68853         * modules/clean-temp (Makefile.am): Don't add to make output...
68854         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
68855         config.h.
68856
68857 2006-10-17  Bruno Haible  <bruno@clisp.org>
68858
68859         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
68860         differently if DEFAULT_TEXT_DOMAIN is set.
68861
68862 2006-10-16  Bruno Haible  <bruno@clisp.org>
68863
68864         * lib/clean-temp.c: Include fwriteerror.h.
68865
68866 2006-10-16  Bruno Haible  <bruno@clisp.org>
68867
68868         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
68869
68870 2006-10-16  Bruno Haible  <bruno@clisp.org>
68871
68872         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
68873         * lib/sigprocmask.h: Include <sys/types.h>.
68874         (sigset_t): Use the system's definition if present.
68875
68876 2006-10-17  Eric Blake  <ebb9@byu.net>
68877
68878         * lib/xvasprintf.c (includes): Assume config.h.
68879         * lib/xasprintf.c (includes): Likewise.
68880
68881 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
68882
68883         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
68884         at least as wide as intmax_t.
68885
68886 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
68887
68888         (Imported from Automake.)
68889         * build-aux/gnupload: Update to version 1.1 of directive file.
68890
68891 2006-10-16  Eric Blake  <ebb9@byu.net>
68892
68893         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
68894         match Automake 1.10a.
68895
68896 2006-10-14  Bruno Haible  <bruno@clisp.org>
68897
68898         * modules/sigprocmask: New file.
68899         * lib/sigprocmask.h: New file.
68900         * lib/sigprocmask.c: New file.
68901         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
68902         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
68903         request sigprocmask.o.
68904         (gl_PREREQ_SIGPROCMASK): New macro.
68905         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
68906         (Depends-on): Add sigprocmask.
68907         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
68908         gt_SIGNALBLOCKING. Test for 'raise' only once.
68909         * lib/fatal-signal.c: Include sigprocmask.h.
68910         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
68911         unblock_fatal_signals): Define always.
68912         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68913         sigprocmask.
68914
68915 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
68916
68917         Sync from Automake.
68918         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
68919         which incorrectly sets the mode of an existing destination
68920         directory.  In some cases the unpatched install-sh could do the
68921         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
68922         system.  We hope this is rare in practice, but it's clearly worth
68923         fixing.  Problem reported by Alex Unleashed in
68924         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
68925         Also, don't bother to check for -m bugs unless we're using -m;
68926         suggested by Stepan Kasal.
68927
68928 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68929
68930         Sync from Automake.
68931         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
68932         `-c' flag, so they appear at the same position as in %FASTDEP%
68933         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
68934         which ignores unknown options only after the first non-option.
68935         Bug report against M4 by Nelson H. F. Beebe.
68936
68937 2006-10-13  Jim Meyering  <jim@meyering.net>
68938
68939         Fix a bug in yesterday's change.
68940         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
68941         p->fts_statp->st_dev would be used uninitialized.
68942         Ensures that we always call fts_stat on the very first entry.
68943         Miklos Szeredi reported that find -xdev stopped working.
68944
68945 2006-10-12  Bruno Haible  <bruno@clisp.org>
68946
68947         * gnulib-tool (func_get_automake_snippet): Append an automatically
68948         computed EXTRA_DIST augmentation.
68949         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
68950         * modules/alloca-opt (Makefile.am): Likewise.
68951         * modules/allocsa (Makefile.am): Likewise.
68952         * modules/arcfour (Makefile.am): Likewise.
68953         * modules/arctwo (Makefile.am): Likewise.
68954         * modules/argmatch (Makefile.am): Likewise.
68955         * modules/argz (Makefile.am): Likewise.
68956         * modules/atexit (Makefile.am): Likewise.
68957         * modules/backupfile (Makefile.am): Likewise.
68958         * modules/byteswap (Makefile.am): Likewise.
68959         * modules/c-strtod (Makefile.am): Likewise.
68960         * modules/c-strtold (Makefile.am): Likewise.
68961         * modules/calloc (Makefile.am): Likewise.
68962         * modules/canon-host (Makefile.am): Likewise.
68963         * modules/canonicalize (Makefile.am): Likewise.
68964         * modules/chdir-long (Makefile.am): Likewise.
68965         * modules/chdir-safer (Makefile.am): Likewise.
68966         * modules/check-version (Makefile.am): Likewise.
68967         * modules/chown (Makefile.am): Likewise.
68968         * modules/cloexec (Makefile.am): Likewise.
68969         * modules/close-stream (Makefile.am): Likewise.
68970         * modules/closeout (Makefile.am): Likewise.
68971         * modules/crc (Makefile.am): Likewise.
68972         * modules/csharpexec (Makefile.am): Likewise.
68973         * modules/cycle-check (Makefile.am): Likewise.
68974         * modules/des (Makefile.am): Likewise.
68975         * modules/dev-ino (Makefile.am): Likewise.
68976         * modules/dirfd (Makefile.am): Likewise.
68977         * modules/dirname (Makefile.am): Likewise.
68978         * modules/dup2 (Makefile.am): Likewise.
68979         * modules/eealloc (Makefile.am): Likewise.
68980         * modules/error (Makefile.am): Likewise.
68981         * modules/euidaccess (Makefile.am): Likewise.
68982         * modules/exclude (Makefile.am): Likewise.
68983         * modules/exitfail (Makefile.am): Likewise.
68984         * modules/fcntl-safer (Makefile.am): Likewise.
68985         * modules/fcntl (Makefile.am): Likewise.
68986         * modules/file-type (Makefile.am): Likewise.
68987         * modules/fileblocks (Makefile.am): Likewise.
68988         * modules/filemode (Makefile.am): Likewise.
68989         * modules/filenamecat (Makefile.am): Likewise.
68990         * modules/fnmatch (Makefile.am): Likewise.
68991         * modules/fopen-safer (Makefile.am): Likewise.
68992         * modules/fpending (Makefile.am): Likewise.
68993         * modules/fprintftime (Makefile.am): Likewise.
68994         * modules/free (Makefile.am): Likewise.
68995         * modules/fsusage (Makefile.am): Likewise.
68996         * modules/ftruncate (Makefile.am): Likewise.
68997         * modules/fts (Makefile.am): Likewise.
68998         * modules/gc-arcfour (Makefile.am): Likewise.
68999         * modules/gc-des (Makefile.am): Likewise.
69000         * modules/gc-hmac-md5 (Makefile.am): Likewise.
69001         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
69002         * modules/gc-md4 (Makefile.am): Likewise.
69003         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
69004         * modules/gc-sha1 (Makefile.am): Likewise.
69005         * modules/gc (Makefile.am): Likewise.
69006         * modules/getaddrinfo (Makefile.am): Likewise.
69007         * modules/getcwd (Makefile.am): Likewise.
69008         * modules/getdelim (Makefile.am): Likewise.
69009         * modules/getdomainname (Makefile.am): Likewise.
69010         * modules/getgroups (Makefile.am): Likewise.
69011         * modules/gethostname (Makefile.am): Likewise.
69012         * modules/gethrxtime (Makefile.am): Likewise.
69013         * modules/getline (Makefile.am): Likewise.
69014         * modules/getloadavg (Makefile.am): Likewise.
69015         * modules/getlogin_r (Makefile.am): Likewise.
69016         * modules/getndelim2 (Makefile.am): Likewise.
69017         * modules/getopt (Makefile.am): Likewise.
69018         * modules/getpagesize (Makefile.am): Likewise.
69019         * modules/getpass-gnu (Makefile.am): Likewise.
69020         * modules/getpass (Makefile.am): Likewise.
69021         * modules/getsubopt (Makefile.am): Likewise.
69022         * modules/gettime (Makefile.am): Likewise.
69023         * modules/gettimeofday (Makefile.am): Likewise.
69024         * modules/getugroups (Makefile.am): Likewise.
69025         * modules/getusershell (Makefile.am): Likewise.
69026         * modules/glob (Makefile.am): Likewise.
69027         * modules/group-member (Makefile.am): Likewise.
69028         * modules/hard-locale (Makefile.am): Likewise.
69029         * modules/hash (Makefile.am): Likewise.
69030         * modules/hmac-md5 (Makefile.am): Likewise.
69031         * modules/hmac-sha1 (Makefile.am): Likewise.
69032         * modules/human (Makefile.am): Likewise.
69033         * modules/idcache (Makefile.am): Likewise.
69034         * modules/imaxabs (Makefile.am): Likewise.
69035         * modules/imaxdiv (Makefile.am): Likewise.
69036         * modules/inet_ntop (Makefile.am): Likewise.
69037         * modules/inet_pton (Makefile.am): Likewise.
69038         * modules/intprops (Makefile.am): Likewise.
69039         * modules/inttostr (Makefile.am): Likewise.
69040         * modules/inttypes (Makefile.am): Likewise.
69041         * modules/isapipe (Makefile.am): Likewise.
69042         * modules/javaversion (Makefile.am): Likewise.
69043         * modules/lchmod (Makefile.am): Likewise.
69044         * modules/lchown (Makefile.am): Likewise.
69045         * modules/localcharset (Makefile.am): Likewise.
69046         * modules/long-options (Makefile.am): Likewise.
69047         * modules/lstat (Makefile.am): Likewise.
69048         * modules/malloc (Makefile.am): Likewise.
69049         * modules/mathl (Makefile.am): Likewise.
69050         * modules/mbchar (Makefile.am): Likewise.
69051         * modules/md2 (Makefile.am): Likewise.
69052         * modules/md4 (Makefile.am): Likewise.
69053         * modules/md5 (Makefile.am): Likewise.
69054         * modules/memcasecmp (Makefile.am): Likewise.
69055         * modules/memchr (Makefile.am): Likewise.
69056         * modules/memcmp (Makefile.am): Likewise.
69057         * modules/memcoll (Makefile.am): Likewise.
69058         * modules/memcpy (Makefile.am): Likewise.
69059         * modules/memmem (Makefile.am): Likewise.
69060         * modules/memmove (Makefile.am): Likewise.
69061         * modules/mempcpy (Makefile.am): Likewise.
69062         * modules/memrchr (Makefile.am): Likewise.
69063         * modules/memset (Makefile.am): Likewise.
69064         * modules/memxor (Makefile.am): Likewise.
69065         * modules/mkancesdirs (Makefile.am): Likewise.
69066         * modules/mkdir-p (Makefile.am): Likewise.
69067         * modules/mkdir (Makefile.am): Likewise.
69068         * modules/mkdtemp (Makefile.am): Likewise.
69069         * modules/mkstemp (Makefile.am): Likewise.
69070         * modules/mktime (Makefile.am): Likewise.
69071         * modules/modechange (Makefile.am): Likewise.
69072         * modules/mountlist (Makefile.am): Likewise.
69073         * modules/nanosleep (Makefile.am): Likewise.
69074         * modules/obstack (Makefile.am): Likewise.
69075         * modules/openat (Makefile.am): Likewise.
69076         * modules/pagealign_alloc (Makefile.am): Likewise.
69077         * modules/pathmax (Makefile.am): Likewise.
69078         * modules/physmem (Makefile.am): Likewise.
69079         * modules/poll (Makefile.am): Likewise.
69080         * modules/posixtm (Makefile.am): Likewise.
69081         * modules/posixver (Makefile.am): Likewise.
69082         * modules/putenv (Makefile.am): Likewise.
69083         * modules/quote (Makefile.am): Likewise.
69084         * modules/quotearg (Makefile.am): Likewise.
69085         * modules/raise (Makefile.am): Likewise.
69086         * modules/read-file (Makefile.am): Likewise.
69087         * modules/readline (Makefile.am): Likewise.
69088         * modules/readlink (Makefile.am): Likewise.
69089         * modules/readtokens (Makefile.am): Likewise.
69090         * modules/readutmp (Makefile.am): Likewise.
69091         * modules/realloc (Makefile.am): Likewise.
69092         * modules/regex (Makefile.am): Likewise.
69093         * modules/rename-dest-slash (Makefile.am): Likewise.
69094         * modules/rename (Makefile.am): Likewise.
69095         * modules/rijndael (Makefile.am): Likewise.
69096         * modules/rmdir (Makefile.am): Likewise.
69097         * modules/rpmatch (Makefile.am): Likewise.
69098         * modules/safe-read (Makefile.am): Likewise.
69099         * modules/safe-write (Makefile.am): Likewise.
69100         * modules/same-inode (Makefile.am): Likewise.
69101         * modules/same (Makefile.am): Likewise.
69102         * modules/save-cwd (Makefile.am): Likewise.
69103         * modules/savedir (Makefile.am): Likewise.
69104         * modules/setenv (Makefile.am): Likewise.
69105         * modules/settime (Makefile.am): Likewise.
69106         * modules/sha1 (Makefile.am): Likewise.
69107         * modules/sig2str (Makefile.am): Likewise.
69108         * modules/snprintf (Makefile.am): Likewise.
69109         * modules/stat-macros (Makefile.am): Likewise.
69110         * modules/stat-time (Makefile.am): Likewise.
69111         * modules/stdbool (Makefile.am): Likewise.
69112         * modules/stdint (Makefile.am): Likewise.
69113         * modules/stdlib-safer (Makefile.am): Likewise.
69114         * modules/stpcpy (Makefile.am): Likewise.
69115         * modules/stpncpy (Makefile.am): Likewise.
69116         * modules/strcase (Makefile.am): Likewise.
69117         * modules/strcasestr (Makefile.am): Likewise.
69118         * modules/strchrnul (Makefile.am): Likewise.
69119         * modules/strcspn (Makefile.am): Likewise.
69120         * modules/strdup (Makefile.am): Likewise.
69121         * modules/strerror (Makefile.am): Likewise.
69122         * modules/strftime (Makefile.am): Likewise.
69123         * modules/strndup (Makefile.am): Likewise.
69124         * modules/strnlen (Makefile.am): Likewise.
69125         * modules/strpbrk (Makefile.am): Likewise.
69126         * modules/strsep (Makefile.am): Likewise.
69127         * modules/strstr (Makefile.am): Likewise.
69128         * modules/strtod (Makefile.am): Likewise.
69129         * modules/strtoimax (Makefile.am): Likewise.
69130         * modules/strtok_r (Makefile.am): Likewise.
69131         * modules/strtol (Makefile.am): Likewise.
69132         * modules/strtoll (Makefile.am): Likewise.
69133         * modules/strtoul (Makefile.am): Likewise.
69134         * modules/strtoull (Makefile.am): Likewise.
69135         * modules/strtoumax (Makefile.am): Likewise.
69136         * modules/strverscmp (Makefile.am): Likewise.
69137         * modules/sys_socket (Makefile.am): Likewise.
69138         * modules/sys_stat (Makefile.am): Likewise.
69139         * modules/sysexits (Makefile.am): Likewise.
69140         * modules/time_r (Makefile.am): Likewise.
69141         * modules/timegm (Makefile.am): Likewise.
69142         * modules/timespec (Makefile.am): Likewise.
69143         * modules/tmpfile-safer (Makefile.am): Likewise.
69144         * modules/trim (Makefile.am): Likewise.
69145         * modules/unistd-safer (Makefile.am): Likewise.
69146         * modules/unlinkdir (Makefile.am): Likewise.
69147         * modules/unlocked-io (Makefile.am): Likewise.
69148         * modules/userspec (Makefile.am): Likewise.
69149         * modules/utime (Makefile.am): Likewise.
69150         * modules/utimecmp (Makefile.am): Likewise.
69151         * modules/utimens (Makefile.am): Likewise.
69152         * modules/vasnprintf (Makefile.am): Likewise.
69153         * modules/vasprintf (Makefile.am): Likewise.
69154         * modules/vsnprintf (Makefile.am): Likewise.
69155         * modules/xalloc (Makefile.am): Likewise.
69156         * modules/xgetcwd (Makefile.am): Likewise.
69157         * modules/xnanosleep (Makefile.am): Likewise.
69158         * modules/xreadlink (Makefile.am): Likewise.
69159         * modules/xstrtod (Makefile.am): Likewise.
69160         * modules/xstrtol (Makefile.am): Likewise.
69161         * modules/xstrtold (Makefile.am): Likewise.
69162         * modules/yesno (Makefile.am): Likewise.
69163         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
69164
69165 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
69166
69167         * modules/error (Makefile.am): Distribute files through
69168         EXTRA_DIST, not lib_SOURCES.
69169
69170 2006-10-12  Eric Blake  <ebb9@byu.net>
69171
69172         * modules/error (Makefile.am): Distribute files in /lib.
69173         * modules/obstack (Makefile.am): Likewise.
69174
69175 2006-10-12  Bruno Haible  <bruno@clisp.org>
69176
69177         * modules/acl (Makefile.am): Distribute all files in lib/ through
69178         EXTRA_DIST.
69179         * modules/arcfour (Makefile.am): Likewise.
69180         * modules/arctwo (Makefile.am): Likewise.
69181         * modules/argmatch (Makefile.am): Likewise.
69182         * modules/argz (Makefile.am): Likewise.
69183         * modules/atexit (Makefile.am): Likewise.
69184         * modules/backupfile (Makefile.am): Likewise.
69185         * modules/c-strtod (Makefile.am): Likewise.
69186         * modules/c-strtold (Makefile.am): Likewise.
69187         * modules/calloc (Makefile.am): Likewise.
69188         * modules/canon-host (Makefile.am): Likewise.
69189         * modules/canonicalize (Makefile.am): Likewise.
69190         * modules/chdir-long (Makefile.am): Likewise.
69191         * modules/chdir-safer (Makefile.am): Likewise.
69192         * modules/check-version (Makefile.am): Likewise.
69193         * modules/chown (Makefile.am): Likewise.
69194         * modules/cloexec (Makefile.am): Likewise.
69195         * modules/close-stream (Makefile.am): Likewise.
69196         * modules/closeout (Makefile.am): Likewise.
69197         * modules/crc (Makefile.am): Likewise.
69198         * modules/cycle-check (Makefile.am): Likewise.
69199         * modules/des (Makefile.am): Likewise.
69200         * modules/dirfd (Makefile.am): Likewise.
69201         * modules/dirname (Makefile.am): Likewise.
69202         * modules/dup2 (Makefile.am): Likewise.
69203         * modules/euidaccess (Makefile.am): Likewise.
69204         * modules/exclude (Makefile.am): Likewise.
69205         * modules/exitfail (Makefile.am): Likewise.
69206         * modules/fcntl-safer (Makefile.am): Likewise.
69207         * modules/file-type (Makefile.am): Likewise.
69208         * modules/fileblocks (Makefile.am): Likewise.
69209         * modules/filemode (Makefile.am): Likewise.
69210         * modules/filenamecat (Makefile.am): Likewise.
69211         * modules/fnmatch (Makefile.am): Likewise.
69212         * modules/fopen-safer (Makefile.am): Likewise.
69213         * modules/fpending (Makefile.am): Likewise.
69214         * modules/fprintftime (Makefile.am): Likewise.
69215         * modules/free (Makefile.am): Likewise.
69216         * modules/fsusage (Makefile.am): Likewise.
69217         * modules/ftruncate (Makefile.am): Likewise.
69218         * modules/fts (Makefile.am): Likewise.
69219         * modules/gc (Makefile.am): Likewise.
69220         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
69221         * modules/getaddrinfo (Makefile.am): Likewise.
69222         * modules/getcwd (Makefile.am): Likewise.
69223         * modules/getdelim (Makefile.am): Likewise.
69224         * modules/getdomainname (Makefile.am): Likewise.
69225         * modules/getgroups (Makefile.am): Likewise.
69226         * modules/gethostname (Makefile.am): Likewise.
69227         * modules/gethrxtime (Makefile.am): Likewise.
69228         * modules/getline (Makefile.am): Likewise.
69229         * modules/getloadavg (Makefile.am): Likewise.
69230         * modules/getlogin_r (Makefile.am): Likewise.
69231         * modules/getopt (Makefile.am): Likewise.
69232         * modules/getpass (Makefile.am): Likewise.
69233         * modules/getpass-gnu (Makefile.am): Likewise.
69234         * modules/getsubopt (Makefile.am): Likewise.
69235         * modules/gettime (Makefile.am): Likewise.
69236         * modules/gettimeofday (Makefile.am): Likewise.
69237         * modules/getugroups (Makefile.am): Likewise.
69238         * modules/getusershell (Makefile.am): Likewise.
69239         * modules/glob (Makefile.am): Likewise.
69240         * modules/group-member (Makefile.am): Likewise.
69241         * modules/hard-locale (Makefile.am): Likewise.
69242         * modules/hash (Makefile.am): Likewise.
69243         * modules/hmac-md5 (Makefile.am): Likewise.
69244         * modules/hmac-sha1 (Makefile.am): Likewise.
69245         * modules/human (Makefile.am): Likewise.
69246         * modules/idcache (Makefile.am): Likewise.
69247         * modules/imaxabs (Makefile.am): Likewise.
69248         * modules/imaxdiv (Makefile.am): Likewise.
69249         * modules/inet_ntop (Makefile.am): Likewise.
69250         * modules/inet_pton (Makefile.am): Likewise.
69251         * modules/inttostr (Makefile.am): Likewise.
69252         * modules/isapipe (Makefile.am): Likewise.
69253         * modules/lchown (Makefile.am): Likewise.
69254         * modules/long-options (Makefile.am): Likewise.
69255         * modules/lstat (Makefile.am): Likewise.
69256         * modules/malloc (Makefile.am): Likewise.
69257         * modules/mathl (Makefile.am): Likewise.
69258         * modules/mbchar (Makefile.am): Likewise.
69259         * modules/md2 (Makefile.am): Likewise.
69260         * modules/md4 (Makefile.am): Likewise.
69261         * modules/md5 (Makefile.am): Likewise.
69262         * modules/memcasecmp (Makefile.am): Likewise.
69263         * modules/memchr (Makefile.am): Likewise.
69264         * modules/memcmp (Makefile.am): Likewise.
69265         * modules/memcoll (Makefile.am): Likewise.
69266         * modules/memcpy (Makefile.am): Likewise.
69267         * modules/memmem (Makefile.am): Likewise.
69268         * modules/memmove (Makefile.am): Likewise.
69269         * modules/mempcpy (Makefile.am): Likewise.
69270         * modules/memrchr (Makefile.am): Likewise.
69271         * modules/memset (Makefile.am): Likewise.
69272         * modules/memxor (Makefile.am): Likewise.
69273         * modules/mkancesdirs (Makefile.am): Likewise.
69274         * modules/mkdir (Makefile.am): Likewise.
69275         * modules/mkdir-p (Makefile.am): Likewise.
69276         * modules/mkdtemp (Makefile.am): Likewise.
69277         * modules/mkstemp (Makefile.am): Likewise.
69278         * modules/mktime (Makefile.am): Likewise.
69279         * modules/modechange (Makefile.am): Likewise.
69280         * modules/mountlist (Makefile.am): Likewise.
69281         * modules/nanosleep (Makefile.am): Likewise.
69282         * modules/openat (Makefile.am): Likewise.
69283         * modules/pagealign_alloc (Makefile.am): Likewise.
69284         * modules/physmem (Makefile.am): Likewise.
69285         * modules/poll (Makefile.am): Likewise.
69286         * modules/posixtm (Makefile.am): Likewise.
69287         * modules/posixver (Makefile.am): Likewise.
69288         * modules/putenv (Makefile.am): Likewise.
69289         * modules/quote (Makefile.am): Likewise.
69290         * modules/quotearg (Makefile.am): Likewise.
69291         * modules/raise (Makefile.am): Likewise.
69292         * modules/read-file (Makefile.am): Likewise.
69293         * modules/readline (Makefile.am): Likewise.
69294         * modules/readlink (Makefile.am): Likewise.
69295         * modules/readtokens (Makefile.am): Likewise.
69296         * modules/readutmp (Makefile.am): Likewise.
69297         * modules/realloc (Makefile.am): Likewise.
69298         * modules/regex (Makefile.am): Likewise.
69299         * modules/rename (Makefile.am): Likewise.
69300         * modules/rename-dest-slash (Makefile.am): Likewise.
69301         * modules/rijndael (Makefile.am): Likewise.
69302         * modules/rmdir (Makefile.am): Likewise.
69303         * modules/rpmatch (Makefile.am): Likewise.
69304         * modules/safe-read (Makefile.am): Likewise.
69305         * modules/safe-write (Makefile.am): Likewise.
69306         * modules/same (Makefile.am): Likewise.
69307         * modules/save-cwd (Makefile.am): Likewise.
69308         * modules/savedir (Makefile.am): Likewise.
69309         * modules/setenv (Makefile.am): Likewise.
69310         * modules/settime (Makefile.am): Likewise.
69311         * modules/sha1 (Makefile.am): Likewise.
69312         * modules/sig2str (Makefile.am): Likewise.
69313         * modules/snprintf (Makefile.am): Likewise.
69314         * modules/stdlib-safer (Makefile.am): Likewise.
69315         * modules/stpcpy (Makefile.am): Likewise.
69316         * modules/stpncpy (Makefile.am): Likewise.
69317         * modules/strcase (Makefile.am): Likewise.
69318         * modules/strcasestr (Makefile.am): Likewise.
69319         * modules/strchrnul (Makefile.am): Likewise.
69320         * modules/strcspn (Makefile.am): Likewise.
69321         * modules/strdup (Makefile.am): Likewise.
69322         * modules/strerror (Makefile.am): Likewise.
69323         * modules/strftime (Makefile.am): Likewise.
69324         * modules/strndup (Makefile.am): Likewise.
69325         * modules/strnlen (Makefile.am): Likewise.
69326         * modules/strpbrk (Makefile.am): Likewise.
69327         * modules/strsep (Makefile.am): Likewise.
69328         * modules/strstr (Makefile.am): Likewise.
69329         * modules/strtod (Makefile.am): Likewise.
69330         * modules/strtoimax (Makefile.am): Likewise.
69331         * modules/strtok_r (Makefile.am): Likewise.
69332         * modules/strtol (Makefile.am): Likewise.
69333         * modules/strtoll (Makefile.am): Likewise.
69334         * modules/strtoul (Makefile.am): Likewise.
69335         * modules/strtoull (Makefile.am): Likewise.
69336         * modules/strtoumax (Makefile.am): Likewise.
69337         * modules/strverscmp (Makefile.am): Likewise.
69338         * modules/time_r (Makefile.am): Likewise.
69339         * modules/timegm (Makefile.am): Likewise.
69340         * modules/tmpfile-safer (Makefile.am): Likewise.
69341         * modules/unistd-safer (Makefile.am): Likewise.
69342         * modules/unlinkdir (Makefile.am): Likewise.
69343         * modules/userspec (Makefile.am): Likewise.
69344         * modules/utime (Makefile.am): Likewise.
69345         * modules/utimecmp (Makefile.am): Likewise.
69346         * modules/utimens (Makefile.am): Likewise.
69347         * modules/vasnprintf (Makefile.am): Likewise.
69348         * modules/vasprintf (Makefile.am): Likewise.
69349         * modules/vsnprintf (Makefile.am): Likewise.
69350         * modules/xalloc (Makefile.am): Likewise.
69351         * modules/xgetcwd (Makefile.am): Likewise.
69352         * modules/xnanosleep (Makefile.am): Likewise.
69353         * modules/xreadlink (Makefile.am): Likewise.
69354         * modules/xstrtod (Makefile.am): Likewise.
69355         * modules/xstrtol (Makefile.am): Likewise.
69356         * modules/xstrtold (Makefile.am): Likewise.
69357         * modules/yesno (Makefile.am): Likewise.
69358
69359 2006-10-12  Jim Meyering  <jim@meyering.net>
69360
69361         * m4/getloadavg.m4: Revert the change below.
69362
69363         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
69364         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
69365         fail with a symlink, which is what coreutils' ./bootstrap now
69366         creates by default.
69367
69368 2006-10-12  Bruno Haible  <bruno@clisp.org>
69369
69370         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
69371         mingw.
69372         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
69373         MSVC and mingw explicitly.
69374
69375 2006-10-11  Simon Josefsson  <jas@extundo.com>
69376             Bruno Haible  <bruno@clisp.org>
69377
69378         Add support for multiple gnulib-tool invocations in the scope of a
69379         single configure.ac file.
69380         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
69381         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
69382         with the same contents as the _LIBADD variable.
69383         (func_emit_initmacro_start, func_emit_initmacro_end,
69384         func_emit_initmacro_done): New functions.
69385         (func_import, func_create_testdir): Invoke them. Allow the identifiers
69386         gl_LIBOBJS and gl_LTLIBOBJS.
69387
69388 2006-10-11  Bruno Haible  <bruno@clisp.org>
69389
69390         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
69391         (func_create_testdir): Don't create po/Makefile.am, don't invoke
69392         autoreconf. Instead, invoke autopoint explicitly but move back the
69393         *.m4 files from gnulib.
69394
69395 2006-10-11  Bruno Haible  <bruno@clisp.org>
69396
69397         * gnulib-tool (func_usage): Make module names after --create-testdir
69398         optional.
69399         (func_create_testdir): If no module was specified, use nearly all
69400         modules.
69401
69402 2006-10-12  Jim Meyering  <jim@meyering.net>
69403
69404         Big performance improvement for fts-based tools that use FTS_NOSTAT.
69405         Avoid spurious inode-mismatch problems on non-POSIX file systems.
69406         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
69407         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
69408         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
69409         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
69410         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
69411         (fts_set_stat_required): New function.
69412         (fts_open): Defer the calls to fts_stat, if possible or requested.
69413         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
69414         into fts_stat itself.
69415         (fts_read): Perform any required (deferred) fts_stat call.
69416         (fts_build): Likewise, for the directory we're about to open and read.
69417         In the readdir loop, carefully decide whether each entry will require
69418         an eventual call to fts_stat, using dirent.d_type info if available.
69419         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
69420         a command line argument into this function.  Update all callers.
69421         Map a return value of FTS_DOT to FTS_D for a command line argument.
69422         * modules/fts (Depends-on): Add d-type.  Alphabetize.
69423         Thanks to Miklos Szeredi for his tenacity and for the initial
69424         bug report about "find" failing on a FUSE-based file system.
69425
69426         * lib/fts.c (fts_open): Use consistent indentation.
69427
69428 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
69429
69430         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
69431         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
69432         reported by Jim Meyering.  All uses of cache variables renamed
69433         to match Autoconf's.
69434         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
69435         the other one.
69436
69437         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
69438         Fix misspelling in diagnostic.
69439
69440 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
69441
69442         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
69443         defined.  Problem reported by Matthew Woehlke.
69444
69445         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
69446         Add support for Tandem NonStop R series.
69447         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
69448         Use new macro.
69449
69450         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
69451         (has_trailing_slash): Omit size arg; all callers changed.
69452         Omit 'inline', since it doesn't help performance and we'd
69453         need to configure it.
69454         Don't count //, ///, etc. as having a trailing slash.
69455         As a side effect, this removes a C99ism reported by Matthew Woehlke.
69456         (rpl_rename_dest_slash): On failure, use rename's errno rather
69457         than (in some cases) an incorrect or junk errno.
69458         Simplify code by removing need to compute length; this does
69459         cause it to make two passes instead of one over the file name,
69460         but it's worth it.
69461
69462         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
69463         change, since Autoconf's version may no longer be appropriate now
69464         that we are using CVS Autoconf's version.  Add support for Tandem.
69465
69466 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
69467             Bruno Haible  <bruno@clisp.org>
69468
69469         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
69470         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
69471         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
69472         gl_AC_TYPE_LONG_LONG.
69473
69474         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
69475         instead of HAVE_LONG_LONG.
69476         * lib/printf-args.c (printf_fetchargs): Likewise.
69477         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
69478         * lib/vasnprintf.c (VASNPRINTF): Likewise.
69479         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
69480         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
69481         gl_AC_TYPE_LONG_LONG.
69482
69483 2006-10-11  Bruno Haible  <bruno@clisp.org>
69484
69485         * m4/longlong.m4: Add comments.
69486         * m4/ulonglong.m4: Likewise.
69487
69488 2006-10-10  Bruno Haible  <bruno@clisp.org>
69489
69490         Make it possible to #define stpcpy, strdup to aliases.
69491         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
69492         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
69493
69494 2006-10-10  Bruno Haible  <bruno@clisp.org>
69495
69496         Make it possible to #define gcd to an alias.
69497         * lib/gcd.c: Include config.h.
69498
69499 2006-10-10  Bruno Haible  <bruno@clisp.org>
69500
69501         Make it possible to #define c_isascii to an alias.
69502         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
69503         defined. Undefine the macros before defining them, to avoid gcc
69504         warnings.
69505         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
69506         define NO_C_CTYPE_MACROS early.
69507
69508 2006-10-10  Bruno Haible  <bruno@clisp.org>
69509
69510         Make it possible to #define set_program_name to an alias.
69511         * lib/progname.c: Don't undefine set_program_name; instead, undefine
69512         ENABLE_RELOCATABLE early.
69513
69514 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
69515
69516         Port to Tandem NSK OSS, which has 64-bit signed int but at most
69517         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
69518         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
69519         More generally, don't assume that 64-bit signed int is available
69520         if unsigned int is, and vice versa.
69521         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
69522         unsigned symbols, not on their signed counterparts.
69523         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
69524         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
69525         (UINT64_C, UINTMAX_C):
69526         Likewise.
69527         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
69528         unsigned counterparts.
69529         (Have_long_long, Unsigned): New macros.
69530         (Int): Renamed from INT.
69531         (strtoimax): Use the new macros.
69532         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
69533         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
69534         * modules/inttypes (inttypes.h): Substitute
69535         HAVE_UNSIGNED_LONG_LONG_INT.
69536         * modules/stdint (stdint.h): Likewise.
69537         (Files): Add m4/ulonglong.m4.
69538
69539 2006-10-10  Bruno Haible  <bruno@clisp.org>
69540
69541         Fix a gcc -Wshadow warning.
69542         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
69543         to 'bucket'.
69544         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
69545         gl_linked_indexof_from_to): Likewise.
69546         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
69547         Likewise.
69548         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
69549         Likewise.
69550         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
69551         Reported by Eric Blake.
69552
69553 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
69554
69555         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
69556         for NetBSD.  Problem reported by Bruno Haible.
69557
69558 2006-10-09  Jim Meyering  <jim@meyering.net>
69559
69560         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
69561         Patch from Bruno Haible.
69562
69563 2006-10-09  Jim Meyering  <jim@meyering.net>
69564
69565         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
69566         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
69567         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
69568
69569 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
69570
69571         Don't include <config.h> twice; this doesn't work in some cases,
69572         e.g., when config.h has "#define intmax_t long long int" and
69573         we include <config.h>, <inttypes.h>, <config.h> in that order.
69574         Problem reported by Matthew Woehlke in:
69575         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
69576         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
69577         * lib/fts-cycle.c: Don't include config.h.
69578         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
69579         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
69580         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
69581         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
69582         inttypes.h.
69583         * lib/xstrtoumax.c: Likewise.
69584         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
69585         __strtol and the like, so that this module is more like its siblings.
69586         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
69587         Remove; no longer needed now that we assume gnulib inttypes.h.
69588
69589 2006-10-08  Bruno Haible  <bruno@clisp.org>
69590
69591         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
69592         option.
69593
69594 2006-10-07  Jim Meyering  <jim@meyering.net>
69595
69596         * modules/inttypes (inttypes.h): Revert what seems to have been
69597         an inadvertent part of today's change: use "|", not "/" in the
69598         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
69599
69600 2006-10-07  Bruno Haible  <bruno@clisp.org>
69601
69602         * modules/sublist: New file.
69603
69604 2006-10-07  Bruno Haible  <bruno@clisp.org>
69605
69606         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
69607         * modules/argz (argz.h): Likewise.
69608         * modules/arpa_inet (arpa/inet.h): Likewise.
69609         * modules/byteswap (byteswap.h): Likewise.
69610         * modules/configmake (configmake.h): Likewise.
69611         * modules/fcntl (fcntl.h): Likewise.
69612         * modules/fnmatch (fnmatch.h): Likewise.
69613         * modules/getopt (getopt.h): Likewise.
69614         * modules/glob (glob.h): Likewise.
69615         * modules/inttypes (inttypes.h): Likewise.
69616         * modules/netinet_in (netinet/in.h): Likewise.
69617         * modules/poll (poll.h): Likewise.
69618         * modules/stdbool (stdbool.h): Likewise.
69619         * modules/stdint (stdint.h): Likewise.
69620         * modules/sys_select (sys/select.h): Likewise.
69621         * modules/sys_socket (sys/socket.h): Likewise.
69622         * modules/sys_stat (sys/stat.h): Likewise.
69623         * modules/sysexits (sysexits.h): Likewise.
69624         * modules/unistd (unistd.h): Likewise.
69625         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69626         Add a "DO NOT EDIT" comment to the generated file.
69627         (func_import): Likewise for gnulib-comp.m4.
69628
69629 2006-10-07  Bruno Haible  <bruno@clisp.org>
69630
69631         * lib/gl_sublist.h: New file.
69632         * lib/gl_sublist.c: New file.
69633
69634 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
69635
69636         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
69637         name (relative to the original working directory) and the file
69638         name component (relative to the temporary working directory).  All
69639         callers changed.
69640         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
69641         * lib/mkdir-p.c (make_dir_parents): Likewise.
69642         * lib/mkdir-p.h (make_dir_parents): Likewise.
69643
69644 2006-10-06  Eric Blake  <ebb9@byu.net>
69645
69646         Define several macros for use by the clean-temp module.
69647         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
69648         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
69649         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
69650
69651         * lib/clean-temp.h (close_stream_temp): New declaration.
69652         * lib/clean-temp.c (includes): Pull in headers according to what
69653         other modules are in use.
69654         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
69655
69656 2006-10-06  Bruno Haible  <bruno@clisp.org>
69657
69658         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
69659         instead of fopen, fwriteerror.
69660
69661 2006-10-06  Bruno Haible  <bruno@clisp.org>
69662
69663         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
69664         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
69665         int.
69666         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
69667         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
69668         Return an error indicator.
69669         Suggested by Eric Blake.
69670
69671 2006-10-06  Bruno Haible  <bruno@clisp.org>
69672
69673         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
69674         Reported by Eric Blake.
69675
69676 2006-10-06  Bruno Haible  <bruno@clisp.org>
69677
69678         * modules/closeout (Description): Mention stderr too.
69679
69680 2006-10-06  Bruno Haible  <bruno@clisp.org>
69681         and Paul Eggert  <eggert@cs.ucla.edu>
69682
69683         * lib/closeout.c (close_stdout): Also close stderr.
69684         * lib/closeout.h: Update comment.
69685
69686 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
69687
69688         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
69689         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
69690         * lib/dirchownmod.c: Include lchown.h.
69691         * lib/lchown.c: Don't include files that lchown.h now includes.
69692         Don't declare chown, since lchown.h now does that.
69693         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
69694         (lchown): Define to rpl_chown if lchown is declared but
69695         does not exist.  Declare using a prototype if lchown is not
69696         declared.  Add a copyright notice.
69697         * lib/mkstemp.h: Include <unistd.h>.
69698         * lib/openat.c: Include lchown.h.
69699
69700         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
69701         we now test for that separately.
69702         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
69703         rather than O_NOFOLLOW, when testing whether it's possible to
69704         avoid a race condition reliably.
69705         * lib/savewd.c (savewd_chdir): Likewise.
69706
69707         Remove macros that are no longer needed now that stdint.h is
69708         reliable.
69709         * lib/fsusage.c (UINTMAX_MAX): Remove.
69710         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
69711         * lib/utimecmp.c (SIZE_MAX): Remove.
69712
69713         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
69714
69715         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
69716         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
69717         O_NOATIME works.
69718
69719 2006-10-05  Bruno Haible  <bruno@clisp.org>
69720
69721         * lib/gl_list.h (gl_sortedlist_search_from_to,
69722         gl_sortedlist_indexof_from_to): New declarations.
69723         (gl_list_implementation): New fields sortedlist_search_from_to,
69724         sortedlist_indexof_from_to.
69725         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
69726         inline functions.
69727         * lib/gl_list.c (gl_sortedlist_search_from_to,
69728         gl_sortedlist_indexof_from_to): New functions.
69729         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
69730         function.
69731         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
69732         (gl_array_sortedlist_search_from_to): New function.
69733         (gl_array_list_implementation): Update.
69734         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
69735         function.
69736         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
69737         (gl_carray_sortedlist_search_from_to): New function.
69738         (gl_carray_list_implementation): Update.
69739         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
69740         gl_linked_sortedlist_indexof_from_to): New functions.
69741         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
69742         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
69743         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
69744         gl_tree_sortedlist_indexof_from_to): New functions.
69745         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
69746         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
69747         Update.
69748         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
69749         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
69750         Update.
69751
69752 2006-10-05  Bruno Haible  <bruno@clisp.org>
69753
69754         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
69755         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
69756         (struct gl_list_implementation): Add fields search_from_to,
69757         indexof_from_to. Remove fields search, indexof.
69758         (gl_list_search): Use the search_from_to method.
69759         (gl_list_search_from, gl_list_search_from_to): New functions.
69760         (gl_list_indexof): Use the indexof_from_to method.
69761         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
69762         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
69763         (gl_list_search_from, gl_list_search_from_to): New functions.
69764         (gl_list_indexof): Use the indexof_from_to method.
69765         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
69766         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
69767         gl_array_indexof. Add start_index, end_index arguments.
69768         (gl_array_search_from_to): Renamed from gl_array_search. Add
69769         start_index, end_index arguments.
69770         (gl_array_remove, gl_array_list_implementation): Update.
69771         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
69772         gl_carray_indexof. Add start_index, end_index arguments.
69773         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
69774         start_index, end_index arguments.
69775         (gl_carray_remove, gl_carray_list_implementation): Update.
69776         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
69777         gl_linked_search. Add start_index, end_index arguments.
69778         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
69779         start_index, end_index arguments.
69780         (gl_linked_remove): Update.
69781         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
69782         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
69783         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
69784         field to 'size_t'.
69785         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
69786         gl_tree_search. Add start_index, end_index arguments.
69787         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
69788         start_index, end_index arguments.
69789         (gl_tree_remove): Update.
69790         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
69791         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
69792         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
69793         function.
69794         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
69795         gl_tree_search. Add start_index, end_index arguments.
69796         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
69797         start_index, end_index arguments.
69798         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
69799         Update.
69800         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
69801
69802 2006-10-05  Bruno Haible  <bruno@clisp.org>
69803
69804         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
69805
69806         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
69807         fwriteerror_temp): New declarations.
69808         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
69809         (descriptors): New variable.
69810         (cleanup): First, close the descriptors.
69811         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
69812         fclose_temp, fwriteerror_temp): New functions.
69813
69814 2006-10-04  Jim Meyering  <jim@meyering.net>
69815
69816         * lib/fts.c (fts_open): Tiny comment change.
69817
69818 2006-10-04  Bruno Haible  <bruno@clisp.org>
69819
69820         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
69821         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
69822         gl_LOCK_BODY.
69823         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
69824         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
69825         gl_LOCK_EARLY_BODY.
69826         (gl_LOCK): Require gl_LOCK_BODY.
69827
69828 2006-10-04  Bruno Haible  <bruno@clisp.org>
69829
69830         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
69831         (gl_oset_search_atleast): New declaration.
69832         (struct gl_oset_implementation): Add field 'search_atleast'.
69833         (gl_oset_search_atleast): New inline function.
69834         * lib/gl_oset.c (gl_oset_search_atleast): New function.
69835         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
69836         (gl_array_oset_implementation): Update.
69837         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
69838         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
69839         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
69840
69841 2006-10-04  Bruno Haible  <bruno@clisp.org>
69842
69843         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
69844
69845 2006-10-03  Bruno Haible  <bruno@clisp.org>
69846
69847         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
69848         from gl_avltreehash_list_implementation.
69849
69850 2006-10-03  Bruno Haible  <bruno@clisp.org>
69851
69852         * lib/gl_oset.c (gl_oset_add): Fix return type.
69853
69854 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
69855
69856         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
69857
69858 2006-10-02  Eric Blake  <ebb9@byu.net>
69859
69860         * modules/strnlen (Depends-on): Add extensions.
69861
69862 2006-10-02  Eric Blake  <ebb9@byu.net>
69863
69864         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
69865         definition in 2.60+.
69866
69867 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
69868
69869         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
69870         checks.
69871
69872 2006-10-02  Bruno Haible  <bruno@clisp.org>
69873
69874         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
69875         to the AUTOMAKE_OPTIONS.
69876         Reported by Jim Meyering.
69877
69878 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
69879
69880         Work around bug in Solaris 10 /proc file system:
69881         /proc/self/fd/NNN/.. isn't the parent directory of
69882         the directory whose file descriptor is NNN.  This needs to
69883         be worked around at run time, not compile time, since a
69884         program might be built on Solaris 8, where things work, and
69885         run on Solaris 10.
69886         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
69887         to use the following interface instead:
69888         (OPENAT_BUFFER_SIZE): New macro.
69889         (openat_proc_name): New function.
69890         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
69891         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
69892         Likewise.
69893         * lib/openat-proc.c: New file.
69894         * modules/openat (Files): Add lib/openat-proc.c.
69895         (Depends-on): Add same-inode, stdbool.
69896         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
69897
69898 2006-09-29  Bruno Haible  <bruno@clisp.org>
69899
69900         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
69901         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
69902         argument. Set stdout_closed before testing for ferror, not after.
69903         (fwriteerror, fwriteerror_no_ebadf): New functions.
69904
69905 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69906
69907         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
69908
69909 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
69910
69911         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
69912         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
69913
69914 2006-09-28  Jim Meyering  <jim@meyering.net>
69915
69916         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
69917         Include <unistd.h>.
69918
69919 2006-09-28  Bruno Haible  <bruno@clisp.org>
69920
69921         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
69922         * modules/linkedhash-list (Depends-on): Likewise.
69923         * modules/rbtreehash-list (Depends-on): Likewise.
69924
69925 2006-09-28  Bruno Haible  <bruno@clisp.org>
69926
69927         * lib/strndup.h: Simplify the redefinition of strndup.
69928         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
69929         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
69930
69931 2006-09-28  Bruno Haible  <bruno@clisp.org>
69932
69933         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
69934         * lib/gl_linkedhash_list.c: Likewise.
69935         * lib/gl_rbtreehash_list.c: Likewise.
69936
69937 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
69938
69939         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
69940         getaddrinfo.
69941
69942         * lib/__fpending.h: Don't include <stdio_ext.h> unless
69943         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
69944         it causes <stdio_ext.h> to cause a compile-time error.
69945         Problem reported by Nelson H. F. Beebe.
69946         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
69947         of HAVE_DECL___PENDING.
69948
69949         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
69950         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
69951         declaration.
69952
69953 2006-09-27  Jim Meyering  <jim@meyering.net>
69954
69955         This file could end up with a definition for a function
69956         named __strndup, rather than rpl_strndup on a system with
69957         incomplete weak_alias support.
69958         * lib/strndup.c (strndup): Rename from __strndup.
69959         Remove #defines that used to map __strndup to strndup.
69960         Don't use K&R prototypes.
69961         Remove LIBC-related code, since this file is not sync'd with glibc.
69962         * lib/strndup.h: Revamp, accordingly.
69963         * m4/strndup.m4: Modernize.
69964
69965 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
69966
69967         * modules/savewd (Depends-on): Add 'raise'.
69968         * lib/savewd.c: Include <signal.h>, for 'raise'.
69969
69970 2006-09-26  Jim Meyering  <jim@meyering.net>
69971
69972         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
69973         when we detect Darwin 8.7.0's acl_get_file bug.
69974         Rearrange to perform the new (below) run-test while $LIBS
69975         contains any acl-related library.  Set USE_ACL at the end.
69976         (gl_ACL_GET_FILE): New function.
69977
69978 2006-09-26  Eric Blake  <ebb9@byu.net>
69979
69980         * lib/verror.c: Include <config.h> unconditionally.
69981
69982 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
69983
69984         * modules/clock-time (Maintainer): Add self.
69985         * modules/getlogin_r (Depends-on): Add extensions.
69986
69987 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69988
69989         * modules/clock-time: New module.
69990         * modules/nanosleep (Depends-on): Add clock-time.
69991         * modules/gethrxtime (Depends-on): Likewise.
69992         * modules/gettime (Depends-on): Likewise.
69993         * modules/settime (Depends-on): Likewise.
69994
69995         * modules/fts-lgpl: Depend on openat.
69996         * modules/mkancesdirs: Depend on savewd.
69997         * modules/mkdir-p: Likewise.
69998
69999 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70000
70001         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
70002
70003         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
70004         `gl_have_arbitrary_file_name_length_limit' to
70005         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
70006         actually works between configure runs.
70007
70008 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70009             Bruno Haible  <bruno@clisp.org>
70010
70011         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
70012
70013 2006-09-25  Jim Meyering  <jim@meyering.net>
70014
70015         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
70016         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
70017
70018 2006-09-25  Eric Blake  <ebb9@byu.net>
70019
70020         * gnulib-tool (func_import, func_create_testdir): Fix typos in
70021         exec's in 2006-09-18 patch when shuffling fds.
70022
70023 2006-09-25  Bruno Haible  <bruno@clisp.org>
70024
70025         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
70026         Reported by Jim Meyering.
70027
70028 2006-09-24  Jim Meyering  <jim@meyering.net>
70029
70030         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
70031         compare a pointer against a literal "0".  That caused failures with
70032         at least HP-UX's hpcc.
70033
70034 2006-09-22  Simon Josefsson  <jas@extundo.com>
70035
70036         * modules/gc-sha1:
70037         * modules/gc-md4:
70038         * modules/gc-hmac-sha1:
70039         * modules/gc-hmac-md5:
70040         * modules/gc-des:
70041         * modules/gc-arcfour: Distribute more files.
70042
70043 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70044
70045         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
70046         (gl_linked_iterator_from_to): Initialize struct completely.
70047         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
70048         (gl_tree_iterator_from_to): Likewise
70049         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
70050         * lib/gl_array_list.c [lint] (gl_array_iterator)
70051         (gl_array_iterator_from_to): Likewise.
70052         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
70053         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
70054         (gl_carray_iterator_from_to): Likewise.
70055
70056         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
70057         * lib/md4.c (md4_process_block): Remove unused variable.
70058         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
70059         parentheses for clarity.
70060
70061 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70062
70063         * modules/bison-i18n (Depends-on): Add gettext.
70064
70065 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70066
70067         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
70068         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
70069         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
70070         also add missing comma that caused broken test.
70071         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
70072         stdlib.h, for `abort'.
70073         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
70074         variables.
70075         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
70076         include unistd.h if present, for `rmdir'.
70077         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
70078         variables.
70079         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
70080         in the process include standard headers for prototypes.
70081         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
70082         gets declared on GNU/Linux.
70083         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
70084         unistd.h, for `rmdir'.
70085         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
70086
70087         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
70088         always true.
70089         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
70090
70091         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
70092
70093 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70094
70095         * gnulib-tool (func_version): Create output all at once.  This
70096         may help avoid triggering unnecessary SIGPIPEs, and at any
70097         rate it doesn't hurt.
70098
70099 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70100             Bruno Haible  <bruno@clisp.org>
70101
70102         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
70103         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
70104         * m4/signed.m4 (bh_C_SIGNED): Likewise.
70105
70106         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
70107         (gl_FUNC_VASPRINTF): Invoke it.
70108
70109 2006-09-22  Bruno Haible  <bruno@clisp.org>
70110
70111         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
70112         getloadavg.c as first argument.
70113
70114 2006-09-22  Bruno Haible  <bruno@clisp.org>
70115
70116         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
70117         at the beginning of the gl_INIT macro.
70118         * modules/getloadavg (configure.ac): Pass $gl_source_base to
70119         gl_GETLOADAVG.
70120
70121 2006-09-22  Bruno Haible  <bruno@clisp.org>
70122
70123         * gnulib-tool (func_create_megatestdir): Don't include the config-h
70124         module.
70125         Suggested by Ralf Wildenhues.
70126
70127 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
70128
70129         Import this patch from libc:
70130
70131         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
70132
70133         * lib/regex_internal.c (re_string_reconstruct): Handle
70134         offset < pstr->valid_raw_len && pstr->offsets_needed case.
70135         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
70136         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
70137         re_string_context_at.
70138
70139         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
70140         now requires it.
70141         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
70142         gl_REGEX now does it for us.
70143         (gl_REGEX): Add test taken from
70144         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
70145
70146         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
70147         Check that large offsets work.  Modernize Autoconf usages.
70148         Prefer "yes" to mean a good thing rather than a bad.
70149         Don't put "#define mkstemp" in config.h, as this might interfere
70150         with standard system headers that "#define mkstemp mkstemp64".
70151
70152         * modules/mkstemp (Depends-on): Add extensions, so that
70153         mkstemp is visible on some platforms.
70154         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
70155         (Include): Change to "mkstemp.h" from <stdlib.h>.
70156         (Files): Add mkstemp.h.
70157
70158         * lib/mkstemp.h: New file, since some standard headers
70159         #define mkstemp.
70160         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
70161         Include "mkstemp.h".
70162         Make the _LIBC code resemble glibc original more,
70163         e.g., use K&R style.
70164         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
70165         (mkstemp): Remove, since mkstemp.h does this for us.
70166         * lib/stdlib--.h: Include mkstemp.h.
70167
70168         Import this patch from libc:
70169
70170         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
70171
70172         * lib/tempname.c (__gen_tempname): Change attempts_min
70173         into a macro.  Use preprocessor to decide how to initialize
70174         attempts [Coverity CID 67].
70175
70176 2006-09-20  Bruno Haible  <bruno@clisp.org>
70177
70178         * lib/mkdtemp.c: Import from libc.
70179         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
70180                 * sysdeps/posix/tempname.c (__gen_tempname): Change
70181                 attempts_min into a macro.  Use preprocessor to decide how to
70182                 initialize attempts [Coverity CID 67].
70183         2001-11-27  Paul Eggert  <eggert@twinsun.com>
70184                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
70185                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
70186
70187 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70188
70189         * gnulib-tool (func_exit): New function, to allow to pass the
70190         exit status portably through the trap.  Use everywhere.
70191         (--help, --version): Signal a write error.
70192         (trap): catch SIGPIPE, for write errors.
70193         Exit at the end of the trap, with the correct exit status.
70194
70195 2006-09-19  Karl Berry  <karl@gnu.org>
70196
70197         * doc/gnulib.texi: note about the license texinfo files.
70198
70199 2006-09-19  Eric Blake  <ebb9@byu.net>
70200
70201         * gnulib-tool: Avoid space-tab.
70202
70203 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
70204
70205         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
70206         that prevented coreutils 6.1 from building.  Problem reported
70207         by Petter Reinholdtsen.
70208
70209 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
70210
70211         * gnulib-tool (avoidlist): Fix typo that broke options like
70212         --avoid=lock that are used by coreutils bootstrap.
70213
70214 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
70215
70216         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
70217         more systematically.
70218
70219 2006-09-18  Jim Meyering  <jim@meyering.net>
70220
70221         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
70222
70223 2006-09-18  Bruno Haible  <bruno@clisp.org>
70224
70225         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
70226
70227 2006-09-18  Bruno Haible  <bruno@clisp.org>
70228
70229         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
70230         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
70231         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
70232         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
70233         * m4/gettext.m4: Require autoconf >= 2.52.
70234         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
70235         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
70236         of gl_cv_header_inttypes_h.
70237
70238 2006-09-18  Bruno Haible  <bruno@clisp.org>
70239
70240         * lib/javaversion.c: Include configmake.h.
70241
70242 2006-09-18  Bruno Haible  <bruno@clisp.org>
70243
70244         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
70245         avoid that the while loops be executed in a subshell.
70246
70247 2006-09-18  Bruno Haible  <bruno@clisp.org>
70248
70249         * MODULES.html.sh (func_module): Break long lines.
70250         Suggested by Bruce Korb <bkorb@gnu.org>.
70251
70252 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70253
70254         Speed up by a factor of 1.12.
70255         * gnulib-tool (nl): New variable.
70256         (func_import): Rewrite include directive extraction to only read each
70257         directive once.
70258
70259 2006-09-17  Bruno Haible  <bruno@clisp.org>
70260
70261         * modules/javaversion (Makefile.am): Remove DEFS setting.
70262         (Depends-on): Add configmake, for PKGDATADIR definition.
70263
70264 2006-09-17  Bruno Haible  <bruno@clisp.org>
70265
70266         * gnulib-tool (func_create_testdir): Rewrite all files at once.
70267
70268 2006-09-17  Bruno Haible  <bruno@clisp.org>
70269
70270         * gnulib-tool (func_append): New function, stolen from libtool.m4.
70271         (func_modules_transitive_closure, func_modules_add_dummy,
70272         func_modules_to_filelist, func_import, func_create_testdir,
70273         func_create_megatestdir, ...): Use it wherever possible.
70274         Suggested by Ralf Wildenhues.
70275
70276 2006-09-16  Karl Berry  <karl@gnu.org>
70277
70278         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
70279         to avoid sectioning errors.
70280         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
70281         [ifinfo]: blank line after @center-ed titles.
70282         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
70283         Spell FSF address consistently with others.
70284         (These changes approved by rms.)
70285
70286 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70287
70288         Speed up by a factor of 1.61.
70289         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
70290         already checked module names again.
70291
70292 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70293
70294         Speed up by a factor of 1.13.
70295         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
70296         for new_files, and the input to func_add_or_update.
70297
70298 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70299
70300         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
70301         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
70302
70303 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
70304
70305         * modules/mkancesdirs (Depends-on): Add fcntl.
70306         * modules/savewd: New file.
70307         * MODULES.html.sh (File system functions): Add savewd.
70308
70309         * modules/configmake (Makefile.am): Add support for the
70310         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
70311
70312 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
70313
70314         * m4/savewd.m4: New file.
70315
70316 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
70317
70318         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
70319         (dirchownmod): New arg FD.  All callers changed.
70320         Use FD rather than opening the directory ourself, as opening is
70321         now the caller's responsibility.
70322         * lib/dirchownmod.h: Likewise.
70323         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
70324         hosts that require <sys/types.h> before <sys/stat.h>.  Include
70325         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
70326         (test_dir): Remove.
70327         (mkancesdirs): Return length of prefix of FILE that has already
70328         been made, or -2 if there is a child doing the work.  Redo
70329         algorithm so that it is O(N) rather than O(N**2).  Optimize away
70330         ".", and treat ".." specially since it might stray back into
70331         already-created areas.  Use a subprocess if necessary.  New arg
70332         WD; all users changed.  MAKE_DIR function should now return 1
70333         if it creates a directory that is not readable.  Return -2 if
70334         a child process is spun off.
70335         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
70336         Adjust signature to match code.
70337         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
70338         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
70339         all users changed.
70340         * lib/savewd.c, lib/savewd.h: New files.
70341
70342 2006-09-15  Jim Meyering  <jim@meyering.net>
70343
70344         * modules/rename-dest-slash: New module.
70345         * MODULES.html.sh (posix_compat): Add it here.
70346
70347         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
70348
70349 2006-09-15  Jim Meyering  <jim@meyering.net>
70350
70351         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
70352         file.
70353
70354         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
70355
70356 2006-09-15  Jim Meyering  <jim@meyering.net>
70357
70358         * lib/rename-dest-slash.c (has_trailing_slash): Use
70359         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
70360         (rpl_rename_dest_slash): Perform the cheaper trailing slash
70361         test before testing whether SRC is a directory.
70362         Suggestions from Bruno Haible.
70363
70364         Avoid a warning about an unused variable.
70365         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
70366         into the #ifdef block where it's used.
70367
70368         * lib/rename-dest-slash.c: New file.
70369
70370 2006-09-14  Bruno Haible  <bruno@clisp.org>
70371
70372         * lib/allocsa.c: Include <config.h> unconditionally.
70373         * lib/asnprintf.c: Likewise.
70374         * lib/asprintf.c: Likewise.
70375         * lib/c-strcasecmp.c: Likewise.
70376         * lib/c-strcasestr.c: Likewise.
70377         * lib/c-strncasecmp.c: Likewise.
70378         * lib/c-strstr.c: Likewise.
70379         * lib/classpath.c: Likewise.
70380         * lib/clean-temp.c: Likewise.
70381         * lib/concatpath.c: Likewise.
70382         * lib/copy-file.c: Likewise.
70383         * lib/csharpcomp.c: Likewise.
70384         * lib/csharpexec.c: Likewise.
70385         * lib/execute.c: Likewise.
70386         * lib/fatal-signal.c: Likewise.
70387         * lib/findprog.c: Likewise.
70388         * lib/fwriteerror.c: Likewise.
70389         * lib/gl_array_list.c: Likewise.
70390         * lib/gl_array_oset.c: Likewise.
70391         * lib/gl_avltree_list.c: Likewise.
70392         * lib/gl_avltree_oset.c: Likewise.
70393         * lib/gl_avltreehash_list.c: Likewise.
70394         * lib/gl_carray_list.c: Likewise.
70395         * lib/gl_linked_list.c: Likewise.
70396         * lib/gl_linkedhash_list.c: Likewise.
70397         * lib/gl_list.c: Likewise.
70398         * lib/gl_oset.c: Likewise.
70399         * lib/gl_rbtree_list.c: Likewise.
70400         * lib/gl_rbtree_oset.c: Likewise.
70401         * lib/gl_rbtreehash_list.c: Likewise.
70402         * lib/imaxabs.c: Likewise.
70403         * lib/imaxdiv.c: Likewise.
70404         * lib/javacomp.c: Likewise.
70405         * lib/javaexec.c: Likewise.
70406         * lib/javaversion.c: Likewise.
70407         * lib/linebreak.c: Likewise.
70408         * lib/localcharset.c: Likewise.
70409         * lib/lock.c: Likewise.
70410         * lib/mbchar.c: Likewise.
70411         * lib/mbswidth.c: Likewise.
70412         * lib/mkdtemp.c: Likewise.
70413         * lib/pipe.c: Likewise.
70414         * lib/printf-args.c: Likewise.
70415         * lib/printf-parse.c: Likewise.
70416         * lib/progname.c: Likewise.
70417         * lib/progreloc.c: Likewise.
70418         * lib/readlink.c: Likewise.
70419         * lib/sh-quote.c: Likewise.
70420         * lib/stpcpy.c: Likewise.
70421         * lib/stpncpy.c: Likewise.
70422         * lib/strcasecmp.c: Likewise.
70423         * lib/strcasestr.c: Likewise.
70424         * lib/strcspn.c: Likewise.
70425         * lib/striconv.c: Likewise.
70426         * lib/strncasecmp.c: Likewise.
70427         * lib/strnlen1.c: Likewise.
70428         * lib/strstr.c: Likewise.
70429         * lib/strtok_r.c: Likewise.
70430         * lib/tls.c: Likewise.
70431         * lib/tmpdir.c: Likewise.
70432         * lib/unicodeio.c: Likewise.
70433         * lib/unsetenv.c: Likewise.
70434         * lib/vasnprintf.c: Likewise.
70435         * lib/vasprintf.c: Likewise.
70436         * lib/wait-process.c: Likewise.
70437         * lib/xallocsa.c: Likewise.
70438         * lib/xsetenv.c: Likewise.
70439         * lib/xstriconv.c: Likewise.
70440
70441 2006-09-13  Simon Josefsson  <jas@extundo.com>
70442
70443         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
70444         that internally, suggested by Ralf Wildenhues
70445         <Ralf.Wildenhues@gmx.de>.
70446
70447 2006-09-13  Simon Josefsson  <jas@extundo.com>
70448
70449         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
70450         @LIBOBJS@.
70451         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70452
70453 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
70454
70455         * lib/_fpending.c: Include <config.h> unconditionally, since we no
70456         longer worry about uses that don't define HAVE_CONFIG_H.
70457         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
70458         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
70459         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
70460         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
70461         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
70462         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
70463         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
70464         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
70465         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
70466         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
70467         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
70468         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
70469         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
70470         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
70471         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
70472         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
70473         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
70474         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
70475         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
70476         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
70477         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
70478         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
70479         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
70480         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
70481         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
70482         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
70483         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
70484         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
70485         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
70486         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
70487         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
70488         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
70489         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
70490         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
70491         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
70492         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
70493         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
70494         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
70495         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
70496         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
70497         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
70498         Likewise.
70499
70500 2006-09-13  Eric Blake  <ebb9@byu.net>
70501
70502         * lib/getopt.c: Fix typo in last commit.
70503
70504 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
70505
70506         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
70507         dgettext.
70508
70509 2006-09-12  Jim Meyering  <jim@meyering.net>
70510
70511         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
70512         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
70513         Reported by Nelson H. F. Beebe.
70514
70515 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
70516
70517         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
70518         program_invocation_name and program_invocation_short_name are
70519         initialized.
70520         * lib/argp-namefrob.h: Move declarations of program_invocation_name
70521         and program_invocation_short_name to argp.h, so they are visible
70522         to user programs.
70523         * lib/argp.h: Likewise
70524
70525 2006-09-10  Bruno Haible  <bruno@clisp.org>
70526
70527         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
70528         m4/inttypes_h.m4, m4/uintmax_t.m4.
70529
70530 2006-09-10  Bruno Haible  <bruno@clisp.org>
70531
70532         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
70533         gl_AC_TYPE_UINTMAX_T.
70534
70535 2006-09-10  Bruno Haible  <bruno@clisp.org>
70536
70537         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
70538
70539 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
70540
70541         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
70542         convention.  Text proposed by Bruno Haible.
70543         (struct argp_option): Document the use of N_() wrappers.
70544
70545         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
70546         '\v', and translate the two parts separately, instead of feeding
70547         the whole string to gettext.  This allows to exclude
70548         '\v' from the strings visible to the translator by writing doc
70549         strings as N_("..") "\v" N_("..").
70550
70551 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
70552
70553         * config/srclist.txt: Undo latest change; the bug was fixed.
70554
70555 2006-09-09  Bruno Haible  <bruno@clisp.org>
70556
70557         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
70558         assignments if building a library without libtool.
70559         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
70560         in func_emit_lib_Makefile_am.
70561         (func_import): When building a static library libfoo.a, arrange to
70562         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
70563         (func_create_testdir): Likewise.
70564         * modules/gc (configure.ac, Makefile.am): If building statically,
70565         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
70566         * modules/iconvme (configure.ac, Makefile.am): Likewise.
70567         * modules/striconv (configure.ac, Makefile.am): Likewise.
70568         Based on a suggestion by Ralf Wildenhues.
70569
70570 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70571
70572         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
70573         Check for unistd.h too, since Autoconf doesn't assume POSIX.
70574         Also:
70575
70576         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70577         Add year_2050_test to catch glibc bug 2821
70578         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
70579
70580         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
70581         Prefer #ifdef to #if.
70582
70583         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
70584         Return from 'main' instead of calling 'exit'.
70585
70586 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70587
70588         * lib/mktime.c (guess_time_tm): Fix bug where mktime
70589         returned the maximum time_t value rather than (time_t) -1.
70590         Problem originally reported by William Bardwell
70591         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
70592
70593         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
70594         Moved to here ...
70595         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
70596         ... from here.
70597
70598 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70599
70600         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
70601         2821 is fixed.
70602
70603 2006-09-08  Jim Meyering  <jim@meyering.net>
70604
70605         Don't make generated files read-only.  That would bother too many
70606         people.  However, do retain the ability to work when targets are
70607         read-only: remove the destination and temporary files before writing
70608         them (when generated via sed or echo), or by using the -f option for
70609         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
70610         * modules/alloca-opt, modules/argz, modules/arpa_inet:
70611         * modules/byteswap, modules/configmake, modules/fcntl:
70612         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
70613         * modules/localcharset, modules/netinet_in, modules/poll:
70614         * modules/stdbool, modules/stdint, modules/sys_select:
70615         * modules/sys_socket, modules/sys_stat, modules/sysexits:
70616
70617 2006-09-08  Jim Meyering  <jim@meyering.net>
70618
70619         Avoid new build failure on FreeBSD 6.0.
70620         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
70621         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
70622         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
70623
70624 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70625
70626         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
70627
70628 2006-09-07  Jim Meyering  <jim@meyering.net>
70629
70630         Fix global typo in last change: use chmod u-w, not chmod u-x.
70631         Spotted by Paul Eggert and Bruce Korb.
70632         * modules/alloca-opt, modules/argz, modules/arpa_inet:
70633         * modules/byteswap, modules/configmake, modules/fcntl:
70634         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
70635         * modules/localcharset, modules/netinet_in, modules/poll:
70636         * modules/stdbool, modules/stdint, modules/sys_select:
70637         * modules/sys_socket, modules/sys_stat, modules/sysexits:
70638
70639 2006-09-06  Jim Meyering  <jim@meyering.net>
70640
70641         Make generated files be read-only.
70642         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
70643         Ensure that each generated file is now read-only.
70644         * modules/argz: Likewise.
70645         * modules/arpa_inet: Likewise.
70646         * modules/byteswap: Likewise.
70647         * modules/configmake: Likewise.
70648         * modules/fcntl: Likewise.
70649         * modules/fnmatch: Likewise.
70650         * modules/getopt: Likewise.
70651         * modules/glob: Likewise.
70652         * modules/inttypes: Likewise.
70653         * modules/netinet_in: Likewise.
70654         * modules/poll: Likewise.
70655         * modules/stdbool: Likewise.
70656         * modules/stdint: Likewise.
70657         * modules/sys_select: Likewise.
70658         * modules/sys_socket: Likewise.
70659         * modules/sys_stat: Likewise.
70660         * modules/sysexits: Likewise.
70661         * modules/localcharset: Same as above, but continue using temporary
70662         file named "t-$@" (why different?) rather than the "$@-t" used
70663         everywhere else.
70664
70665         * modules/sysexits (Makefile.am): Replace literal occurrences
70666         of "sysexit.h" more readable, and more consistent, "$@".
70667
70668 2006-09-06  Bruno Haible  <bruno@clisp.org>
70669
70670         * modules/striconv: New file.
70671         * modules/xstriconv: New file.
70672         * MODULES.html.sh (Internationalization functions): Add striconv,
70673         xstriconv.
70674
70675 2006-09-06  Bruno Haible  <bruno@clisp.org>
70676
70677         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
70678         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
70679         not using libtool correctly.
70680
70681 2006-09-06  Bruno Haible  <bruno@clisp.org>
70682
70683         * lib/striconv.h: New file.
70684         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
70685         iconvstring.c.
70686         * lib/xstriconv.h: New file.
70687         * lib/xstriconv.c: New file.
70688
70689 2006-09-06  Bruno Haible  <bruno@clisp.org>
70690
70691         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
70692         lib_..._LDFLAGS.
70693
70694 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70695
70696         * lib/argz_.h: Sync from Libtool.
70697
70698         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
70699                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
70700
70701         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
70702
70703 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
70704
70705         * modules/trim: New file.
70706
70707 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
70708
70709         * lib/trim.h: New file.
70710         * lib/trim.c: New file.
70711
70712 2006-09-05  Bruno Haible  <bruno@clisp.org>
70713
70714         * MODULES.html.sh (String handling): Add trim.
70715
70716 2006-09-04  Karl Berry  <karl@gnu.org>
70717
70718         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
70719         until next release.
70720
70721 2006-09-03  Bruno Haible  <bruno@clisp.org>
70722
70723         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
70724         correctly.
70725
70726 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
70727
70728         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
70729         not gl_GETLOADAVG.  Omit unneeded semicolons.
70730         Problems reported by Ralf Wildenhues in
70731         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
70732         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
70733         at the end, which is the usual gnulib style.
70734
70735         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
70736         of doing all the work ourselves.
70737         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
70738         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
70739
70740 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
70741
70742         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
70743         Problem reported by Ralf Wildenhues in
70744         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
70745
70746         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
70747         HAVE_STRUCT_STATFS_F_FSTYPENAME.
70748
70749 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
70750
70751         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
70752         yesterday's patch by changing test -n to test -z.
70753
70754 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70755
70756         * modules/getloadavg (Files): Add m4/getloadavg.m4.
70757         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
70758         the former is now obsolescent.
70759
70760         * modules/chdir-long (Depends-on): Add fcntl.
70761
70762 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70763
70764         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
70765         obsolescent, and programs should use gnulib instead.
70766         * m4/getloadavg.m4: New file, with contents taken from Autoconf
70767         but with prefixes changed.
70768
70769 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70770
70771         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
70772         or stdbool.h, because they might not exist while configuring.
70773
70774         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
70775         Don't include unistd.h or limits.h; not needed, since chdir-long.h
70776         does that for us.
70777         (O_DIRECTORY): Remove.
70778
70779 2006-08-31  Eric Blake  <ebb9@byu.net>
70780
70781         * gnulib-tool: Don't let emacs change spaces to TAB.
70782
70783 2006-08-31  Bruno Haible  <bruno@clisp.org>
70784
70785         * gnulib-tool: When calling func_import more than once, do it in a
70786         subshell.
70787         Reported by Eric Blake <ebb9@byu.net>.
70788
70789 2006-08-31  Bruno Haible  <bruno@clisp.org>
70790
70791         * gnulib-tool (nl): Remove variable.
70792         (sed_transform_lib_file): Use more robust test for config-h module.
70793         (func_import): Fix typo in 2006-08-25 patch.
70794
70795 2006-08-31  Bruno Haible  <bruno@clisp.org>
70796
70797         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
70798         specified, augment Makefile.am variables instead of assigning them.
70799
70800 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
70801
70802         Work around a bug in both the Linux and SunOS 64-bit kernels:
70803         nanosleep mishandles sleeps for longer than 2**31 seconds.
70804         Problem reported by Frank v Waveren in
70805         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
70806         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
70807         Check for nanosleep bug.
70808         (LIB_NANOSLEEP): Append clock_gettime library if needed.
70809
70810 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
70811
70812         Work around a bug in both the Linux and SunOS 64-bit kernels:
70813         nanosleep mishandles sleeps for longer than 2**31 seconds.
70814         Problem reported by Frank v Waveren in
70815         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
70816         * lib/nanosleep.c (BILLION): New constant.
70817         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
70818         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
70819         implementation.
70820
70821 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
70822
70823         * modules/nanosleep (Depends-on): Add gettime.
70824
70825 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
70826         and Simon Josefsson  <jas@extundo.com>
70827         and Oskar Liljeblad  <oskar@osk.mine.nu>
70828
70829         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
70830         * gnulib-tool (func_import): New license type 'unmodifiable license
70831         text'.
70832         * modules/fdl: Use it.  Longer description.
70833         * module/gpl, module/lgpl: New files.
70834
70835 2006-08-30  Jim Meyering  <jim@meyering.net>
70836
70837         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
70838         shadowing the parameter.
70839
70840 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70841
70842         Sync from Libtool:
70843
70844         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70845
70846         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
70847         sharing with gnulib.  Report by Eric Blake.
70848
70849 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
70850
70851         * modules/isapipe: New file.
70852         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
70853
70854 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
70855
70856         * modules/configmake (Makefile.am): Add a comment, and omit
70857         the CONFIGMAKE_ prefix from generated macro names.  Suggested
70858         by Bruno Haible.
70859
70860 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
70861
70862         * m4/isapipe.m4: New file.
70863
70864 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
70865
70866         * lib/isapipe.c, lib/isapipe.h: New files.
70867
70868 2006-08-29  Jim Meyering  <jim@meyering.net>
70869
70870         * modules/configmake (Makefile.am): Make configmake.h depend on
70871         Makefile.  Otherwise, a stale configmake.h could hang around.
70872
70873 2006-08-29  Eric Blake  <ebb9@byu.net>
70874
70875         * lib/error.c (error_at_line, print_errno_message): Match libc, after
70876         resolution of upstream bug 3044.
70877
70878 2006-08-29  Bruno Haible  <bruno@clisp.org>
70879
70880         * modules/localcharset (Depends-on): Add configmake.
70881         (Makefile.am): Remove setting of LIBDIR through DEFS.
70882
70883 2006-08-29  Bruno Haible  <bruno@clisp.org>
70884
70885         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
70886         defined.
70887
70888 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
70889
70890         * modules/fcntl: New file.
70891         * modules/chdir-safer (Depends-on): Add fcntl.
70892         * modules/fts: Likewise.
70893         * modules/mkdir-p: Likewise.
70894
70895         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
70896         This undoes the most recent change, since we're now addressing the
70897         problem in a different way.
70898
70899         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
70900         into output, since the output might be called Makefile.am even
70901         if $makefile_name is something different.
70902         (func_import): Use $makefile_am rather than
70903         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
70904         empty.
70905
70906         * modules/inttypes (Files): Add m4/inttypes-h.m4.
70907
70908 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
70909
70910         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
70911         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
70912         recent change to stdint.m4, since we're now addressing the problem in a
70913         different way.
70914
70915 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
70916
70917         * m4/fcntl_h.m4: New file.
70918
70919 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
70920
70921         * lib/fcntl_.h: New file.
70922         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
70923         the fcntl module.
70924         * lib/dirchownmod.c: Likewise.
70925         * lib/fts.c: Likewise.
70926
70927         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
70928         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
70929         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
70930         just before including <inttypes.h>, to avoid circular inclusion.
70931
70932 2006-08-28  Jim Meyering  <jim@meyering.net>
70933
70934         * doc/visibility.texi: Actually read and correct the grammar of the
70935         sentence affected by yesterday's change.
70936
70937 2006-08-28  Eric Blake  <ebb9@byu.net>
70938
70939         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
70940         needs wrapper.
70941
70942 2006-08-28  Eric Blake  <ebb9@byu.net>
70943
70944         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
70945
70946 2006-08-28  Eric Blake  <ebb9@byu.net>
70947
70948         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
70949
70950 2006-08-28  Bruno Haible  <bruno@clisp.org>
70951
70952         * modules/c-strstr: New file, from GNU gettext.
70953         * MODULES.html.sh (String handling): Add c-strstr.
70954
70955 2006-08-28  Bruno Haible  <bruno@clisp.org>
70956
70957         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
70958         macros.
70959         Reported by Eric Blake.
70960
70961 2006-08-28  Bruno Haible  <bruno@clisp.org>
70962
70963         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
70964         (VASNPRINTF): Return a string of length > INT_MAX without failing.
70965         * lib/vasprintf.c: Include errno.h, limits.h.
70966         (EOVERFLOW): New fallback definition.
70967         (vasprintf): Test here whether the string length is > INT_MAX.
70968         * lib/vsnprintf.c: Include errno.h, limits.h.
70969         (EOVERFLOW): New fallback definition.
70970         (vsnprintf): Fix bug when generated string was too long for the buffer.
70971         Test here whether the string length is > INT_MAX.
70972
70973 2006-08-28  Bruno Haible  <bruno@clisp.org>
70974
70975         * lib/inttypes_.h (SCNX*): Remove definitions.
70976         Reported by Eric Blake.
70977
70978 2006-08-28  Bruno Haible  <bruno@clisp.org>
70979
70980         * lib/c-strstr.h: New file, from GNU gettext.
70981         * lib/c-strstr.c: New file, from GNU gettext.
70982
70983 2006-08-28  Bruno Haible  <bruno@clisp.org>
70984
70985         * gnulib-tool: Reorder some statements.
70986
70987 2006-08-28  Bruno Haible  <bruno@clisp.org>
70988
70989         * gnulib-tool: New option --makefile-name.
70990         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
70991         $makefile_name.
70992         (func_import): Write $makefile_name to the cache file, and read it from
70993         there unless explicitly specified. Use $makefile_name as file name
70994         instead of Makefile.am. Adjust the recommendations accordingly.
70995
70996 2006-08-28  Bruno Haible  <bruno@clisp.org>
70997
70998         * gnulib-tool (func_verify_module): Check against misapplying patch.
70999
71000 2006-08-28  Bruno Haible  <bruno@clisp.org>
71001
71002         * gnulib-tool (func_relativize, func_relconcat): New functions.
71003         Give an error if --local-dir is given with --update.
71004         Remove trailing slashes from $local_gnulib_dir.
71005         (func_import): Store the relativized $local_gnulib_dir in
71006         gnulib-cache.m4, and read it from there if not specified explicitly.
71007
71008 2006-08-28  Bruno Haible  <bruno@clisp.org>
71009
71010         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
71011         is the current directory. Respect also $local_gnulib_dir.
71012
71013 2006-08-28  Bruno Haible  <bruno@clisp.org>
71014             Simon Josefsson  <jas@extundo.com>
71015
71016         BeOS portability.
71017         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
71018
71019 2006-08-27  Jim Meyering  <jim@meyering.net>
71020
71021         * doc/visibility.texi: Remove duplicate word: "pointer".
71022
71023 2006-08-26  Bruno Haible  <bruno@clisp.org>
71024
71025         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
71026         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
71027         (Makefile.am): Create inttypes.h from inttypes_.h.
71028         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
71029
71030         * modules/imaxabs: New file.
71031
71032         * modules/imaxdiv: New file.
71033
71034 2006-08-26  Bruno Haible  <bruno@clisp.org>
71035
71036         * m4/inttypes.m4: New file.
71037         * m4/_inttypes_h.m4: Remove file.
71038         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
71039         PRI_MACROS_BROKEN.
71040         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
71041
71042         * m4/imaxabs.m4: New file.
71043
71044         * m4/imaxdiv.m4: New file.
71045
71046 2006-08-26  Bruno Haible  <bruno@clisp.org>
71047
71048         * lib/inttypes_.h: New file.
71049         * lib/inttypes.h: Remove file.
71050         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
71051
71052         * lib/imaxabs.c: New file.
71053
71054         * lib/imaxdiv.c: New file.
71055
71056 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71057
71058         New config-h module, so that "make" output needn't be cluttered
71059         by -DHAVE_CONFIG_H.
71060         * MODULES.html.sh (Support for building libraries and executables):
71061         Add config-h.
71062         * modules/config-h: New file.
71063         * gnulib-tool (nl, sed_transform_lib_file): New vars.
71064         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
71065         the config-h module is used.
71066
71067         New configmake module, so that "make" output needn't be cluttered
71068         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
71069         * MODULES.html.sh (Support for building libraries and executables):
71070         Add configmake.
71071         * modules/configmake: New file.
71072
71073 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71074
71075         * m4/config-h.m4: New file.
71076
71077 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
71078
71079         * config/srclist.txt: Add elisp-comp.
71080
71081 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
71082
71083         * MODULES.html.sh (Support for building libraries and executables):
71084         Add elisp-comp.
71085         * build-aux/elisp-comp: New file.
71086         * modules/elisp-comp: New file.
71087
71088 2006-08-24  Bruno Haible  <bruno@clisp.org>
71089
71090         * gnulib-tool (func_create_testdir): Use non-default values of
71091         sourcebase and m4base.
71092
71093 2006-08-24  Bruno Haible  <bruno@clisp.org>
71094
71095         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
71096         HTML structure.
71097
71098 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
71099
71100         * modules/openat (Depends-on): Add lchown.
71101
71102 2006-08-23  Bruno Haible  <bruno@clisp.org>
71103
71104         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
71105         of gl_LOCK_EARLY instead of gl_LOCK.
71106
71107 2006-08-23  Bruno Haible  <bruno@clisp.org>
71108
71109         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
71110         on OSF/1 to no.
71111         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
71112
71113 2006-08-23  Bruno Haible  <bruno@clisp.org>
71114
71115         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
71116         as unusable.
71117
71118         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
71119         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
71120         (gl_LOCK): New macro.
71121
71122 2006-08-22  Simon Josefsson  <jas@extundo.com>
71123
71124         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
71125         to md5 module.
71126
71127 2006-08-22  Simon Josefsson  <jas@extundo.com>
71128
71129         * MODULES.html.sh: Add "Support for maintaining and release
71130         projects".
71131
71132         * build-aux/gnupload: New file, from coreutils.
71133
71134 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
71135
71136         Avoid the need for AC_LIBSOURCES in m4 macros.
71137         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
71138         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
71139         * modules/check-version (EXTRA_DIST): Add check-version.h.
71140         * modules/crc (EXTRA_DIST): Add crc.h.
71141         * modules/des (EXTRA_DIST): Add des.h.
71142         * modules/gc (EXTRA_DIST): Add gc.h.
71143         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
71144         * modules/getline (EXTRA_DIST): Add getline.h.
71145         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
71146         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
71147         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
71148         * modules/md2 (EXTRA_DIST): Add md2.h.
71149         * modules/md4 (EXTRA_DIST): Add md4.h.
71150         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
71151         * modules/read-file (EXTRA_DIST): Add read-file.h.
71152         * modules/readline (EXTRA_DIST): Add readline.h.
71153         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
71154         rijndael-api-fst.h.
71155
71156 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
71157
71158         * m4/rijndael.m4 (gl_ARCFOUR):
71159         * m4/arctwo.m4 (gl_ARCTWO):
71160         * m4/check-version.m4 (gl_CHECK_VERSION):
71161         * m4/crc.m4 (gl_CRC):
71162         * m4/des.m4 (gl_DES):
71163         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
71164         * m4/gc.m4 (gl_GC):
71165         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
71166         * m4/getline.m4 (gl_FUNC_GETLINE):
71167         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
71168         * m4/hmac-md5.m4 (gl_HMAC_MD5):
71169         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
71170         * m4/md2.m4 (gl_MD2):
71171         * m4/md4.m4 (gl_MD4):
71172         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
71173         * m4/read-file.m4 (gl_FUNC_READ_FILE):
71174         * m4/readline.m4 (gl_FUNC_READLINE):
71175         * m4/rijndael.m4 (gl_RIJNDAEL):
71176         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
71177         to get the necessary .h files and whatnot.
71178
71179 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
71180
71181         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
71182         gnulib rather than the other way around.
71183         * config/srclistvars.sh (COREUTILS): Remove.
71184
71185 2006-08-22  Jim Meyering  <jim@meyering.net>
71186
71187         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
71188
71189         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
71190
71191 2006-08-22  Eric Blake  <ebb9@byu.net>
71192
71193         * modules/regexprops-generic: New file.
71194         * MODULES.html.sh (Support for building documentation): List it.
71195
71196 2006-08-22  Eric Blake  <ebb9@byu.net>
71197
71198         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
71199         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
71200         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
71201         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
71202
71203 2006-08-22  Bruno Haible  <bruno@clisp.org>
71204
71205         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
71206         and lib_LTLIBRARIES like the other lib_* variables.
71207
71208 2006-08-22  Bruno Haible  <bruno@clisp.org>
71209
71210         * build-aux/x-to-1.in: New file, from GNU gettext.
71211
71212 2006-08-22  Bruno Haible  <bruno@clisp.org>
71213
71214         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
71215         <utmpx.h> exists.
71216
71217 2006-08-22  Bruno Haible  <bruno@clisp.org>
71218
71219         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
71220         <utmpx.h> exists.
71221
71222 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
71223
71224         BeOS portability.
71225         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
71226         exist.
71227         Problem reported by Bruno Haible.
71228
71229 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
71230
71231         Avoid the need for AC_LIBSOURCES in m4 macros.
71232         * modules/acl (EXTRA_DIST): Add acl.h.
71233         * modules/argmatch (Files): Add m4/argmatch.m4.
71234         (configure.ac): Add gl_ARGMATCH.
71235         (EXTRA_DIST): Renamed from lib_SOURCES, for
71236         consistency with the other modules.  Remove argmatch.c.
71237         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
71238         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
71239         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
71240         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
71241         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
71242         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
71243         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
71244         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
71245         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
71246         * modules/closeout (EXTRA_DIST): Add closeout.h.
71247         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
71248         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
71249         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
71250         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
71251         dirname.h; remove basename.c and stripslash.c.
71252         * modules/exclude (EXTRA_DIST): Add exclude.h.
71253         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
71254         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
71255         * modules/file-type (EXTRA_DIST): Add file-type.h.
71256         * modules/filemode (EXTRA_DIST): Add filemode.h.
71257         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
71258         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
71259         * modules/fpending (EXTRA_DIST): Add __fpending.h.
71260         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
71261         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
71262         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
71263         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
71264         * modules/getdate (EXTRA_DIST): Add getdate.c.
71265         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
71266         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
71267         * modules/getpass (EXTRA_DIST): Add getpass.h.
71268         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
71269         * modules/group-member (EXTRA_DIST): Add group-member.h.
71270         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
71271         * modules/hash (EXTRA_DIST): Add hash.h.
71272         * modules/human (EXTRA_DIST): Add human.h.
71273         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
71274         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
71275         * modules/lchown (EXTRA_DIST): Add lchown.h.
71276         * modules/long-options (EXTRA_DIST): Add long-options.h.
71277         * modules/lstat (EXTRA_DIST): Add lstat.h.
71278         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
71279         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
71280         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
71281         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
71282         * modules/memxor (EXTRA_DIST): Add memxor.h.
71283         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
71284         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
71285         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
71286         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
71287         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
71288         * modules/physmem (EXTRA_DIST): Add physmem.h.
71289         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
71290         * modules/posixver (EXTRA_DIST): Add posixver.h.
71291         * modules/quote (EXTRA_DIST): Add quote.h.
71292         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
71293         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
71294         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
71295         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
71296         regex_internal.h regexec.c.
71297         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
71298         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
71299         * modules/same (EXTRA_DIST): Add same.h.
71300         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
71301         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
71302         * modules/savedir (EXTRA_DIST): Add savedir.h.
71303         * modules/sha1 (EXTRA_DIST): Add sha1.h.
71304         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
71305         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
71306         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
71307         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
71308         * modules/strdup (EXTRA_DIST): Add strdup.h.
71309         * modules/strftime (EXTRA_DIST): Add strftime.h.
71310         * modules/strndup (EXTRA_DIST): Add strndup.h.
71311         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
71312         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
71313         * modules/time_r (EXTRA_DIST): Add time_r.h.
71314         * modules/timespec (EXTRA_DIST): Add timespec.h.
71315         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
71316         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
71317         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
71318         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
71319         * modules/userspec (EXTRA_DIST): Add userspec.h.
71320         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
71321         * modules/utimens (EXTRA_DIST): Add utimens.h.
71322         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
71323         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
71324         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
71325         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
71326         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
71327         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
71328         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
71329         * modules/yesno (EXTRA_DIST): Add yesno.h.
71330
71331 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
71332
71333         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
71334
71335         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
71336         * m4/dev-ino.m4, same-inode.m4: Remove.
71337
71338         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
71339         * m4/acl.m4 (AC_FUNC_ACL):
71340         * m4/backupfile.m4 (gl_BACKUPFILE):
71341         * m4/c-strtod.m4 (gl_C99_STRTOLD):
71342         * m4/canon-host.m4 (gl_CANON_HOST):
71343         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
71344         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
71345         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
71346         * m4/cloexec.m4 (gl_CLOEXEC):
71347         * m4/close-stream.m4 (gl_CLOSE_STREAM):
71348         * m4/closeout.m4 (gl_CLOSEOUT):
71349         * m4/dirfd.m4 (gl_FUNC_DIRFD):
71350         * m4/dirname.m4 (gl_DIRNAME):
71351         * m4/exclude.m4 (gl_EXCLUDE):
71352         * m4/exitfail.m4 (gl_EXITFAIL):
71353         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
71354         * m4/file-type.m4 (gl_FILE_TYPE):
71355         * m4/filemode.m4 (gl_FILEMODE):
71356         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
71357         * m4/fpending.m4 (gl_FUNC_FPENDING):
71358         * m4/fprintftime.m4 (gl_FPRINTFTIME):
71359         * m4/fts.m4 (gl_FUNC_FTS):
71360         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
71361         * m4/getdate.m4 (gl_GETDATE):
71362         * m4/gethrxtime.m4 (gl_GETHRXTIME):
71363         * m4/getpagesize.m4 (gl_GETPAGESIZE):
71364         * m4/getpass.m4 (gl_FUNC_GETPASS):
71365         * m4/gettime.m4 (gl_GETTIME):
71366         * m4/getugroups.m4 (gl_GETUGROUPS):
71367         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
71368         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
71369         * m4/hard-locale.m4 (gl_HARD_LOCALE):
71370         * m4/hash.m4 (gl_HASH):
71371         * m4/idcache.m4 (gl_IDCACHE):
71372         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
71373         * m4/lchown.m4 (gl_FUNC_LCHOWN):
71374         * m4/long-options.m4 (gl_LONG_OPTIONS):
71375         * m4/lstat.m4 (gl_FUNC_LSTAT):
71376         * m4/md5.m4 (gl_MD5):
71377         * m4/memcasecmp.m4 (gl_MEMCASECMP):
71378         * m4/memcoll.m4 (gl_MEMCOLL):
71379         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
71380         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
71381         * m4/memxor.m4 (gl_MEMXOR):
71382         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
71383         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
71384         * m4/modechange.m4 (gl_MODECHANGE):
71385         * m4/mountlist.m4 (gl_MOUNTLIST):
71386         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
71387         * m4/openat.m4 (gl_FUNC_OPENAT):
71388         * m4/pathmax.m4 (gl_PATHMAX):
71389         * m4/physmem.m4 (gl_PHYSMEM):
71390         * m4/posixtm.m4 (gl_POSIXTM):
71391         * m4/posixver.m4 (gl_POSIXVER):
71392         * m4/quote.m4 (gl_QUOTE):
71393         * m4/quotearg.m4 (gl_QUOTEARG):
71394         * m4/readtokens.m4 (gl_READTOKENS):
71395         * m4/readutmp.m4 (gl_READUTMP):
71396         * m4/regex.m4 (gl_REGEX):
71397         * m4/safe-read.m4 (gl_SAFE_READ):
71398         * m4/safe-write.m4 (gl_SAFE_WRITE):
71399         * m4/same.m4 (gl_SAME):
71400         * m4/save-cwd.m4 (gl_SAVE_CWD):
71401         * m4/savedir.m4 (gl_SAVEDIR):
71402         * m4/settime.m4 (gl_SETTIME):
71403         * m4/sha1.m4 (gl_SHA1):
71404         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
71405         * m4/stat-macros.m4 (gl_STAT_MACROS):
71406         * m4/stat-time.m4 (gl_STAT_TIME):
71407         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
71408         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
71409         * m4/strdup.m4 (gl_FUNC_STRDUP):
71410         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
71411         * m4/strndup.m4 (gl_FUNC_STRNDUP):
71412         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
71413         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
71414         * m4/time_r.m4 (gl_TIME_R):
71415         * m4/timespec.m4 (gl_TIMESPEC):
71416         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
71417         * m4/unlinkdir.m4 (gl_UNLINKDIR):
71418         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
71419         * m4/userspec.m4 (gl_USERSPEC):
71420         * m4/utimecmp.m4 (gl_UTIMECMP):
71421         * m4/utimens.m4 (gl_UTIMENS):
71422         * m4/xalloc.m4 (gl_XALLOC):
71423         * m4/xgetcwd.m4 (gl_XGETCWD):
71424         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
71425         * m4/xreadlink.m4 (gl_XREADLINK):
71426         * m4/xstrtod.m4 (gl_XSTRTOD):
71427         * m4/yesno.m4 (gl_YESNO):
71428         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
71429         to get the necessary .h files and whatnot.
71430
71431 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
71432             Bruno Haible  <bruno@clisp.org>
71433
71434         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
71435         /bin/sh understanding of '!' conditional negation.
71436
71437 2006-08-21  Jim Meyering  <jim@meyering.net>
71438
71439         * modules/openat (Depends-on): Really alphabetize.
71440
71441         * modules/acl (Depends-on): Add error and quote.
71442
71443         * check-module (find_included_lib_files): Add at-func.c to the
71444         ok-to-include-more-than-once white list.
71445
71446         * modules/openat (Depends-on): Add lstat.  Alphabetize.
71447
71448 2006-08-21  Bruno Haible  <bruno@clisp.org>
71449
71450         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71451         Emit a pkgdata_DATA variable only if some snippets add contents to it.
71452         Reported by Martin Lambers <marlam@marlam.de>.
71453
71454 2006-08-21  Bruno Haible  <bruno@clisp.org>
71455
71456         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
71457         specify an installation location, don't emit a noinst_LIBRARIES or
71458         noinst_LTLIBRARIES assignment.
71459
71460 2006-08-21  Bruno Haible  <bruno@clisp.org>
71461
71462         BeOS portability.
71463         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
71464         BeOS has mbrtowc() but no <wctype.h>.
71465
71466 2006-08-21  Bruno Haible  <bruno@clisp.org>
71467
71468         BeOS portability.
71469         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
71470         exist.
71471
71472 2006-08-21  Bruno Haible  <bruno@clisp.org>
71473
71474         BeOS portability.
71475         * lib/mbchar.h: Include <wctype.h> only if it exists.
71476
71477 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71478
71479         Remove files that are no longer needed by their respective modules.
71480         * m4/obstack.m4: Remove.
71481         * m4/strerror_r.m4: Remove.
71482         * m4/uint32_t.m4: Remove.
71483         * m4/uintptr_t.m4: Remove.
71484         * m4/ullong_max.m4: Remove.
71485         * m4/xstrtoimax.m4: Remove.
71486         * m4/xstrtoumax.m4: Remove.
71487
71488         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
71489         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
71490         dependencies now capture this.
71491
71492         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
71493         Do not use AC_LIBSOURCES, since gnulib modules now do this.
71494         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
71495         * m4/human.m4 (gl_HUMAN): Likewise.
71496         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
71497         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
71498
71499         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
71500
71501         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
71502         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
71503         stdint.
71504         * m4/human.m4 (gl_HUMAN): Likewise.
71505         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
71506         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
71507         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
71508         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
71509         * m4/xstrtol (gl_XSTRTOL): Likewise.
71510
71511         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
71512         AC_TYPE_LONG_LONG_INT.
71513         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
71514         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
71515         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
71516         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
71517
71518         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
71519         on stdbool.
71520
71521         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
71522         (gl_PREREQ_XSTRTOUL): Remove.
71523
71524         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
71525
71526         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
71527         mode.
71528
71529 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71530
71531         Add and change modules to make it easier for coreutils to use
71532         gnulib-tool.
71533         * modules/backupfile (Files): Remove m4/d-ino.m4.
71534         (Depends-on): Add d-ino.
71535         * modules/cycle-check (Depends-on): Add stdint.
71536         (lib_SOURCES): Add cycle-check.h.
71537         * modules/d-ino: New module.
71538         * modules/d-type: New module.
71539         * modules/error (Files): Remove m4/strerror_r.m4.
71540         * modules/filemode (Files): Add m4/st_dm_mode.m4.
71541         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
71542         m4/inttypes_h.m4, m4/uintmax_t.m4.
71543         (Depends-on): Add stdint.
71544         (lib_SOURCES): Add fsusage.h.
71545         * modules/getcwd (Files): Remove d-ino.m4.
71546         (Depends-on): Add d-ino.
71547         * modules/getndelim2 (Depends-on): Add stdint.
71548         * modules/glob (Files): Remove m4/d-type.m4.
71549         (Depends-on): Add d-type.
71550         * modules/host-os: New module.
71551         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
71552         m4/inttypes_h.m4, m4/uintmax_t.m4.
71553         * Depends-on: Add stdint.
71554         (lib_SOURCES): Add human.h.
71555         * modules/inttostr (Files): Remove m4/intmax_t.m4,
71556         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
71557         m4/uintmax_t.m4, m4/ulonglong.m4.
71558         (Depends-on): Add stdint.
71559         (EXTRA_DIST): Add inttostr.h.
71560         * modules/lchmod: New module.
71561         * modules/link-follow: New module.
71562         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
71563         (Depends-on): Add lchmod.
71564         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
71565         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
71566         (Depends-on): Add stdint.
71567         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
71568         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
71569         (Depends-on): Add stdint.
71570         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
71571         * modules/perl: New module.
71572         * modules/regex (Depends-on): Add stdint.
71573         * modules/rmdir-errno: New module.
71574         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
71575         m4/intmax_t.m4.
71576         (Depends-on): Add stdint.
71577         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
71578         m4/uintmax_t.m4.
71579         (Depends-on): Add stdint.
71580         * modules/unlink-busy: New module.
71581         * modules/utimecmp (Depends-on): Add stdint.
71582         * modules/uptime: New module.
71583         * modules/winsz-ioctl: New module.
71584         * modules/winsz-termios: New module.
71585         * modules/xnanosleep (Depends-on): Add nanosleep.
71586         * modules/ullong_max: Remove.
71587         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
71588         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
71589         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
71590         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
71591         (Depends-on): Add inttypes.
71592         (lib_SOURCES): Add xstrtol.h.
71593         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
71594         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
71595         * MODULES.html.sh: Move 'assert' into the assert section.
71596         Move 'dummy' into the linking section.
71597         Remove ullong_max.
71598         Add section for compatibility checks for POSIX:2001 functions,
71599         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
71600         winsz-ioctl, and winsz-termios into it.
71601         Add lchmod.
71602         Add top-level Misc section and put host-os, perl, and uptime
71603         into it.
71604
71605 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71606
71607         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
71608         now assume the stdint module.  Do not include inttypes.h.
71609         * lib/fsusage.h: Likewise.
71610         * lib/getndelim2.c: Likewise.
71611         * lib/human.h: Likewise.
71612         * lib/inttostr.h: Likewise.
71613         * lib/obstack.c: Likewise.
71614         * lib/regex_internal.h: Likewise.
71615         * lib/tempname.c: Likewise.
71616         * lib/utimecmp.c: Likewise.
71617         * lib/xstrtol.h: Likewise.
71618
71619         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
71620
71621         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
71622         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
71623         * lib/xtime.h: Likewise.
71624
71625 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71626
71627         * modules/openat (Files): Add lib/fchmodat.c.
71628         Fixes problem reported by Jay Youngman.
71629
71630 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71631
71632         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
71633         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
71634
71635 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
71636             Bruno Haible  <bruno@clisp.org>
71637
71638         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
71639         and is a script that invokes bison. Tighten the code. Add comments.
71640
71641 2006-08-18  Jim Meyering  <jim@meyering.net>
71642
71643         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
71644         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
71645         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
71646         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
71647
71648 2006-08-18  Bruno Haible  <bruno@clisp.org>
71649
71650         * modules/bison-i18n: New file.
71651         * MODULES.html.sh (Internationalization functions): Add it.
71652
71653 2006-08-18  Bruno Haible  <bruno@clisp.org>
71654
71655         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
71656         sys/statvfs.h. When getmntinfo was found, check its declaration and
71657         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
71658
71659 2006-08-18  Bruno Haible  <bruno@clisp.org>
71660
71661         * m4/bison-i18n.m4: New file, from bison.
71662
71663 2006-08-18  Bruno Haible  <bruno@clisp.org>
71664
71665         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
71666         (ME_DUMMY): Treat "kernfs" as a dummy.
71667         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
71668
71669 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
71670
71671         Update from coreutils.
71672
71673         2006-08-15  Jim Meyering  <jim@meyering.net>
71674
71675         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
71676
71677         2006-01-17  Jim Meyering  <jim@meyering.net>
71678
71679         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
71680
71681         2006-01-11  Jim Meyering  <jim@meyering.net>
71682
71683         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
71684         Check for the lchmod function.
71685
71686 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
71687
71688         Update from coreutils.
71689
71690         * lib/__fpending.h: Add copyright notice.
71691         * lib/fprintftime.h: Likewise.
71692         * lib/savedir.c: Use (C) in copyright notice.
71693         * lib/savedir.h: Likewise.
71694
71695         2006-08-15  Jim Meyering  <jim@meyering.net>
71696
71697         * lib/at-func.c: New file, with the logic of all emulated at-functions.
71698         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
71699         in support of the EXPECTED_ERRNO macro.
71700         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
71701         definitions.  Instead, define the appropriate symbols and include
71702         "at-func.c".
71703         * lib/mkdirat.c (mkdirat): Likewise.
71704         * lib/fchmodat.c (fchmodat): Likewise.
71705         (ENOSYS): Remove definition.
71706         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
71707         it.  Don't include "unistd--.h" -- it wasn't ever used.
71708
71709         2006-01-17  Jim Meyering  <jim@meyering.net>
71710
71711         Rewrite fts.c not to change the current working directory,
71712         by using openat, fstatat, fdopendir, etc..
71713
71714         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
71715         (HAVE_OPENAT_SUPPORT): Define.
71716         [_LIBC] (fchdir): Don't undef or define; no longer used.
71717         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
71718         Now, this `function' always succeeds, and consumes its file descriptor
71719         parameter -- so callers must not close such FDs.  Update callers.
71720         (diropen_fd, opendirat, cwd_advance_fd): New functions.
71721         (diropen): Add parameter, SP.  Adjust all callers.
71722         Implement using diropen_fd, rather than open.
71723         (fts_open): Initialize new member, fts_cwd_fd.
71724         Remove fts_rft-setting code.
71725         (fts_close): Close fts_cwd_fd, if necessary.
71726         (__opendir2): Define in terms of opendir or opendirat,
71727         depending on whether the FST_NOCHDIR flag is set.
71728         (fts_build): Since fts_safe_changedir consumes its FD, and since
71729         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
71730         and close the dup'd file descriptor upon failure.
71731         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
71732         (fts_safe_changedir): Tweak semantics to reflect that this function
71733         now calls cwd_advance_fd and hence consumes its FD argument.
71734         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
71735         [struct FTS] (fts_rft): Remove now-unused member.
71736         [struct FTS] (fts_cycle.state): Improve comment.
71737
71738         * lib/openat.c (openat_needs_fchdir): New function.
71739         * lib/openat.h (openat_needs_fchdir): Declare it.
71740
71741 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
71742
71743         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
71744         Problem and fix reported by Pádraig Brady in
71745         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
71746
71747 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71748
71749         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
71750
71751 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71752
71753         * lib/memcoll.c (memcoll): Optimize for the common case where the
71754         arguments are bytewise equal.
71755
71756 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71757
71758         * doc/regexprops-generic.texi: Add a copyright notice.
71759
71760 2006-08-15  Bruno Haible  <bruno@clisp.org>
71761
71762         * modules/tmpdir (License): Change to LGPL.
71763
71764 2006-08-15  Bruno Haible  <bruno@clisp.org>
71765
71766         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
71767         module.
71768
71769 2006-08-14  Simon Josefsson  <jas@extundo.com>
71770
71771         * config/srclist.txt: Add gnupload.
71772
71773 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
71774
71775         Change copyright notice from LGPL 2 to GPL 2, since that's the
71776         standard form used in the gnulib repository.
71777         * tests/test-lock.c: Likewise.
71778         * tests/test-stdint.c: Likewise.
71779         * tests/test-tls.c: Likewise.
71780
71781         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
71782         prelude-manager.  User shorter URLs for GNU projects, without '?'.
71783         Add copyright notice.
71784
71785         * check-module: Add copyright notice.  Output a copyright
71786         notice if "--version" is specified.
71787         * modules/COPYING: New file.
71788         * tests/test-getaddrinfo.c: Add copyright notice.
71789         * tests/test-verify.c: Likewise.
71790
71791 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
71792
71793         Change copyright notice from LGPL 2 to GPL 2, since that's the
71794         standard form used in the gnulib repository.
71795         * lib/lock.c: LGPL -> GPL.
71796         * lib/lock.h: Likewise.
71797         * lib/strnlen1.c: Likewise.
71798         * lib/strnlen1.h: Likewise.
71799         * lib/tls.c: Likewise.
71800         * lib/tls.h: Likewise.
71801         * lib/tmpdir.c: Likewise.
71802
71803         * lib/TODO: Remove; this belongs only in coreutils.
71804
71805 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
71806
71807         Add copyright notices to long-enough files that lack them, since
71808         otherwise the files aren't clearly free.  Use the same notice that
71809         getdate.texi already uses.
71810         * doc/alloca-opt.texi: Add copyright notice.
71811         * doc/alloca.texi: Likewise.
71812         * doc/ctime.texi: Likewise.
71813         * doc/functions.texi: Likewise.
71814         * doc/gcd.texi: Likewise.
71815         * doc/gnulib-tool.texi: Likewise.
71816         * doc/inet_ntoa.texi: Likewise.
71817         * doc/visibility.texi: Likewise.
71818
71819         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
71820         * doc/quote.texi: Add copyright notice.
71821
71822         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
71823         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
71824         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
71825         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
71826         is now obsolete, and give a pointer to the Sun list.
71827         Add copyright notice.
71828
71829 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
71830
71831         * config/srclistvars.sh: Add copyright notice.
71832
71833 2006-08-14  Eric Blake  <ebb9@byu.net>
71834
71835         Import the following change from libc:
71836
71837         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
71838
71839         Upstream bug 2997.
71840         * lib/misc/error.c: Add space between program name and message if file
71841         name is missing.
71842
71843 2006-08-12  Karl Berry  <karl@gnu.org>
71844
71845         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
71846         remove, these originate in gnulib now.
71847
71848 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71849
71850         * doc/Makefile (standards.info standards.html standards.dvi):
71851         Also depend on make-stds.texi.
71852
71853 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
71854
71855         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
71856         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
71857
71858         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
71859         in wchar_t.  Problem reported by Eric Blake.
71860
71861         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
71862         LEN is smaller than SIZE.  Suggested by Bruno Haible.
71863         Also, help the compiler to keep LEN in a register.
71864
71865 2006-08-11  Eric Blake  <ebb9@byu.net>
71866
71867         * users.txt: Sort.  Add tar.
71868
71869 2006-08-11  Bruno Haible  <bruno@clisp.org>
71870
71871         * users.txt: New file.
71872
71873 2006-08-11  Bruno Haible  <bruno@clisp.org>
71874
71875         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
71876         before <wchar.h>. Needed for OSF/1 and BSD/OS.
71877
71878 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
71879
71880         * modules/snprintf (Depends-on): Remove minmax.
71881         (Maintainer): Add self and Bruno.
71882
71883 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
71884
71885         * lib/.cppi-disable: Add snprintf.h, socket_.h.
71886         * lib/snprintf.c: Include <errno.h> and <limits.h>.
71887         (EOVERFLOW): Define if the system does not.
71888         Do not include "minmax.h"; it wasn't used.
71889         (snprintf): Don't assume size_t promotes to an unsigned type.
71890         Fix bug when generated string was too long for the buffer: the
71891         buffer's contents are supposed to be the initial prefix of the
71892         output.  Don't assume vasnprintf returns EOVERFLOW if the size
71893         exceeds INT_MAX; do the check ourselves.
71894
71895         Import the following changes from libc:
71896
71897         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
71898
71899         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
71900         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
71901         set wc to the byte which couldn't be converted.
71902         (re_string_reconstruct): Don't clear valid_raw_len before calling
71903         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
71904         tip_context using re_string_context_at.
71905
71906         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
71907
71908         * lib/posix/regex.h: g++ still cannot handled [restrict].
71909
71910         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
71911
71912         * lib/posix/regex.h: Remove special handling for VMS.
71913
71914 2006-08-10  Jim Meyering  <jim@meyering.net>
71915
71916         * modules/same-inode: New module.
71917         * modules/dev-ino: New module.
71918         * modules/cycle-check: Depend on these modules, rather than simply
71919         including their .h files.
71920         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
71921         required via m4/cycle-check.m4.
71922         * modules/same: Depend on new same-inode module, rather than
71923         including same-inode.h.
71924         * modules/chdir-safer: New file.
71925
71926         * modules/chown (Depends-on): Add stat-macros.
71927
71928 2006-08-10  Jim Meyering  <jim@meyering.net>
71929
71930         * m4/cycle-check.m4: New file.
71931         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
71932         * m4/dev-ino.m4, m4/same-inode.m4: New files.
71933
71934 2006-08-10  Eric Blake  <ebb9@byu.net>
71935
71936         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
71937         in from original proposal.
71938
71939 2006-08-10  Eric Blake  <ebb9@byu.net>
71940         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
71941
71942         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
71943         namespace.
71944
71945 2006-08-10  Bruno Haible  <bruno@clisp.org>
71946
71947         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
71948         as well.
71949
71950 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
71951
71952         Sync from coreutils.
71953
71954         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
71955
71956         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
71957         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
71958
71959 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
71960
71961         * modules/restrict: Remove; no longer needed now that we assume
71962         Autoconf 2.59 or later.
71963         * MODULES.html.sh: Remove 'restrict'.
71964         * modules/argp (Depends-on): Remove 'restrict'.
71965         * modules/base64 (Depends-on): Likewise.
71966         * modules/gc (Depends-on): Likewise.
71967         * modules/getaddrinfo (Depends-on): Likewise.
71968         * modules/glob (Depends-on): Likewise.
71969         * modules/inet_ntop (Depends-on): Likewise.
71970         * modules/inet_pton (Depends-on): Likewise.
71971         * modules/memxor (Depends-on): Likewise.
71972         * modules/regex (Depends-on): Likewise.
71973         * modules/strtok_r (Depends-on): Likewise.
71974         * modules/time_r (Depends-on): Likewise.
71975
71976 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
71977
71978         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
71979         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
71980         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
71981         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
71982         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
71983         * m4/memxor.m4 (gl_MEMXOR): Likewise.
71984         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
71985         gl_C_RESTRICT replaced by AC_C_RESTRICT.
71986
71987         Merge from coreutils.
71988         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
71989         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
71990         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
71991         * m4/time_r.m4 (gl_TIME_R): Likewise.
71992
71993 2006-08-09  Karl Berry  <karl@gnu.org>
71994
71995         * config/srclist.txt: no more gettext-tools, per Bruno.
71996
71997 2006-08-08  Eric Blake  <ebb9@byu.net>
71998
71999         * modules/verror: New module.
72000         * MODULES.html.sh: Document it.
72001
72002 2006-08-08  Eric Blake  <ebb9@byu.net>
72003
72004         * lib/verror.h, lib/verror.c: New files.
72005
72006 2006-08-08  Eric Blake  <ebb9@byu.net>
72007
72008         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
72009         verror_at_line output complies with GNU Coding Standards even when
72010         file is NULL.
72011
72012 2006-08-07  Bruno Haible  <bruno@clisp.org>
72013
72014         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
72015         versions of AIX.
72016         Reported by Ralf Wildenhues.
72017
72018 2006-08-07  Bruno Haible  <bruno@clisp.org>
72019
72020         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
72021         in an AC_DEFUN. Needed so that the autoconf snippets can use
72022         AC_REQUIRE.
72023
72024 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72025
72026         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72027         Initialize pkgdata_DATA.
72028         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
72029         overriding it.
72030
72031 2006-08-06  Eric Blake  <ebb9@byu.net>
72032
72033         * lib/error.h: Fold in some upstream changes from glibc.
72034         * lib/error.c: Likewise.
72035
72036 2006-08-04  Bruno Haible  <bruno@clisp.org>
72037
72038         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72039         Make the mostlyclean-local rule depend on mostlyclean-generic.
72040         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
72041
72042 2006-07-31  Bruno Haible  <bruno@clisp.org>
72043
72044         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
72045         <stdlib.h>, <string.h>.
72046
72047 2006-07-30  Bruno Haible  <bruno@clisp.org>
72048
72049         * modules/readlink (License): Change to LGPL.
72050
72051 2006-07-30  Bruno Haible  <bruno@clisp.org>
72052
72053         * modules/javaversion (Makefile.am): Distribute javaversion.java and
72054         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
72055         set PKGDATADIR to point to it.
72056
72057 2006-07-30  Bruno Haible  <bruno@clisp.org>
72058
72059         * modules/csharpexec (configure.ac): Comment out macro invocation.
72060         * modules/javaexec (configure.ac): Likewise.
72061         * modules/javacomp-script (configure.ac): Likewise.
72062
72063         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
72064
72065 2006-07-30  Bruno Haible  <bruno@clisp.org>
72066
72067         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
72068         linked-list.
72069
72070 2006-07-30  Bruno Haible  <bruno@clisp.org>
72071
72072         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
72073
72074 2006-07-30  Bruno Haible  <bruno@clisp.org>
72075
72076         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72077         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
72078         get removed.
72079
72080 2006-07-29  Bruno Haible  <bruno@clisp.org>
72081
72082         Make it possible for gnulib-tool to work with locally modified or
72083         augmented gnulib repositories.
72084         * gnulib-tool (func_usage): Document --local-dir option.
72085         (local_gnulib_dir): New variable.
72086         Handle --local-dir option.
72087         (func_lookup_file): New function.
72088         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
72089         (func_get_description, func_get_filelist, func_get_description,
72090         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
72091         func_get_automake_snippet, func_get_include_directive,
72092         func_get_license, func_get_maintainer): Use func_lookup_file.
72093         (func_import, func_create_testdir): Use func_lookup_file.
72094
72095 2006-07-29  Bruno Haible  <bruno@clisp.org>
72096
72097         * modules/setenv (Depends-on): Add unistd.
72098
72099 2006-07-29  Bruno Haible  <bruno@clisp.org>
72100
72101         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
72102
72103 2006-07-29  Bruno Haible  <bruno@clisp.org>
72104
72105         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
72106
72107 2006-07-29  Bruno Haible  <bruno@clisp.org>
72108
72109         * gnulib-tool (import, update): If there is no Makefile.am, look at
72110         aclocal.m4, instead of bailing out.
72111
72112 2006-07-29  Bruno Haible  <bruno@clisp.org>
72113
72114         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
72115         Categorize the options by when they are useful.
72116
72117 2006-07-29  Bruno Haible  <bruno@clisp.org>
72118
72119         * gnulib-tool (func_usage): Document option --no-libtool.
72120         Handle option --no-libtool.
72121         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
72122         for changed semantics of $libtool variable.
72123         (func_import): Likewise. If libtool is not used, show this through
72124         an option --no-libtool.
72125         (func_create_testdir): Update.
72126
72127 2006-07-29  Bruno Haible  <bruno@clisp.org>
72128
72129         * gnulib-tool (func_import): Extend error message about missing
72130         --doc-base.
72131
72132 2006-07-29  Bruno Haible  <bruno@clisp.org>
72133
72134         * gnulib-tool (func_import): Don't create the $docbase directory if
72135         there is no file to store there.
72136
72137 2006-07-29  Bruno Haible  <bruno@clisp.org>
72138
72139         * gnulib-tool (autoconf_minversion): If a --dir option is given and
72140         relevant, look for configure.ac there, not in the current directory.
72141         Also use a simple search for AC_PREREQ, not "autoconf --trace".
72142
72143 2006-07-29  Bruno Haible  <bruno@clisp.org>
72144
72145         * gnulib-tool (SORT): New variable.
72146         (func_usage): Undocument --assume-autoconf option.
72147         Remove --assume-autoconf option handling.
72148         (autoconf_minversion): Determine from the contents of configure.ac.
72149         (func_import): Remove autoconf_minversion handling.
72150         Suggested by Eric Blake.
72151
72152 2006-07-29  Bruno Haible  <bruno@clisp.org>
72153
72154         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
72155
72156 2006-07-29  Bruno Haible  <bruno@clisp.org>
72157
72158         * config/srclist.txt (*setenv.[ch]): Remove rules.
72159
72160 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72161
72162         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
72163
72164 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72165
72166         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
72167         arpa/inet.h.
72168
72169 2006-07-28  Simon Josefsson  <jas@extundo.com>
72170
72171         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
72172         * modules/inet_pton (Depends-on): Likewise.
72173
72174 2006-07-28  Simon Josefsson  <jas@extundo.com>
72175
72176         * m4/netinet_in_h.m4: New file.
72177
72178 2006-07-28  Simon Josefsson  <jas@extundo.com>
72179
72180         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
72181         #include's.
72182
72183 2006-07-28  Simon Josefsson  <jas@extundo.com>
72184
72185         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
72186         #include's.
72187
72188 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
72189
72190         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
72191         setgid on directories only if they set these bits.
72192         * lib/modechange.h: Remove obsolete comment about masks.
72193
72194 2006-07-28  Eric Blake  <ebb9@byu.net>
72195
72196         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
72197         macro expansion.
72198
72199 2006-07-28  Bruno Haible  <bruno@clisp.org>
72200
72201         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
72202
72203 2006-07-28  Bruno Haible  <bruno@clisp.org>
72204
72205         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
72206
72207 2006-07-28  Bruno Haible  <bruno@clisp.org>
72208
72209         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
72210         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
72211         Define fallbacks.
72212         Avoids link error on FreeBSD 4.x.
72213         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
72214
72215         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
72216         encoding.
72217         * lib/mbswidth.c (iswcntrl): Likewise.
72218
72219 2006-07-27  Bruno Haible  <bruno@clisp.org>
72220
72221         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
72222         test.
72223
72224 2006-07-27  Bruno Haible  <bruno@clisp.org>
72225
72226         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
72227         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
72228         defined.
72229
72230 2006-07-26  Eric Blake  <ebb9@byu.net>
72231
72232         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
72233
72234 2006-07-26  Eric Blake  <ebb9@byu.net>
72235
72236         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
72237         like mingw that lack mkstemp.
72238         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
72239         avoid compilation warning on mingw.
72240
72241 2006-07-26  Bruno Haible  <bruno@clisp.org>
72242
72243         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
72244         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
72245         INT_FAST*_MIN, INTPTR_MIN.
72246
72247 2006-07-25  Bruno Haible  <bruno@clisp.org>
72248
72249         * modules/version-etc (Depends-on): Add stdarg.
72250
72251 2006-07-25  Bruno Haible  <bruno@clisp.org>
72252
72253         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
72254         complex commands.
72255
72256 2006-07-25  Bruno Haible  <bruno@clisp.org>
72257
72258         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
72259         defined in <stdarg.h> or config.h.
72260
72261 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
72262
72263         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
72264         (gl_STDIO_SAFER): Remove.
72265
72266 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
72267
72268         * MODULES.html.sh (File stream based Input/Output):
72269         Add fopen-safer, tmpfile-safer; remove stdio-safer.
72270         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
72271         * modules/fopen-safer, modules/tmpfile-safer: New files.
72272         * modules/stdio-safer: Remove.
72273
72274 2006-07-24  Bruno Haible  <bruno@clisp.org>
72275
72276         * modules/tmpdir: New file.
72277         * MODULES.html.sh (File system functions): Add it.
72278
72279 2006-07-24  Bruno Haible  <bruno@clisp.org>
72280
72281         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
72282         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
72283
72284 2006-07-24  Bruno Haible  <bruno@clisp.org>
72285
72286         * modules/clean-temp: New file.
72287
72288 2006-07-24  Bruno Haible  <bruno@clisp.org>
72289
72290         * m4/tmpdir.m4: New file, from GNU gettext.
72291
72292 2006-07-24  Bruno Haible  <bruno@clisp.org>
72293
72294         * lib/tmpdir.h: New file, from GNU gettext.
72295         * lib/tmpdir.c: New file, from GNU gettext.
72296
72297 2006-07-24  Bruno Haible  <bruno@clisp.org>
72298
72299         * lib/clean-temp.h: New file, from GNU gettext.
72300         * lib/clean-temp.c: New file, from GNU gettext.
72301
72302 2006-07-23  Eric Blake  <ebb9@byu.net>
72303
72304         * modules/stdio-safer (Files): Add tmpfile-safer.c.
72305         (Depends-on): Add binary-io.
72306
72307 2006-07-23  Eric Blake  <ebb9@byu.net>
72308
72309         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
72310
72311 2006-07-23  Eric Blake  <ebb9@byu.net>
72312
72313         * lib/tmpfile-safer.c: New file.
72314         * lib/stdio-safer.h (fopen_safer): Add prototype.
72315         * lib/stdio--.h (tmpfile): Make safer.
72316
72317 2006-07-23  Bruno Haible  <bruno@clisp.org>
72318
72319         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
72320         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
72321         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
72322         gl_linked_remove_at): Use it.
72323
72324 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72325         and Simon Josefsson <jas@extundo.com>
72326
72327         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
72328
72329         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
72330
72331 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
72332
72333         * modules/close-stream: New file.
72334         * modules/closeout (Description): Make it clear that it exits
72335         with a diagnostic on error.
72336         (Depends-on): Add close-stream.  Remove fpending, stdbool.
72337         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
72338
72339 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
72340
72341         * m4/close-stream.m4: New file.
72342
72343 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
72344
72345         * lib/close-stream.c, lib/close-stream.h: New files.
72346
72347 2006-07-22  Bruno Haible  <bruno@clisp.org>
72348
72349         Merge from GNU gettext 0.15.
72350
72351         2006-05-01  Bruno Haible  <bruno@clisp.org>
72352
72353                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
72354
72355         2006-07-22  Bruno Haible  <bruno@clisp.org>
72356
72357                 * modules/javaversion: New file.
72358                 * MODULES.html.sh (Java): Add javaversion.
72359
72360         2006-03-12  Bruno Haible  <bruno@clisp.org>
72361
72362                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
72363
72364         2005-12-04  Bruno Haible  <bruno@clisp.org>
72365
72366                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
72367                 (untested).
72368
72369         2006-06-21  Bruno Haible  <bruno@clisp.org>
72370
72371                 Avoid warnings from recent versions of mcs.
72372                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
72373                 -o, -L, -r any more. Use options documented since mcs-1.0
72374                 instead. Similarly for -g.
72375
72376         2005-12-04  Bruno Haible  <bruno@clisp.org>
72377
72378                 * build-aux/csharpcomp.sh.in: Suffix for resources is
72379                 .resources, not .resource.
72380
72381         2005-07-09  Bruno Haible  <bruno@clisp.org>
72382
72383                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
72384                 add a .dll suffix.
72385                 Reported by Mark Junker <mjscod@gmx.de>.
72386
72387         2006-07-22  Bruno Haible  <bruno@clisp.org>
72388
72389                 * modules/gettext: Upgrade to gettext-0.15.
72390                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
72391                 m4/visibility.m4.
72392                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
72393
72394 2006-07-22  Bruno Haible  <bruno@clisp.org>
72395
72396         Merge from GNU gettext 0.15.
72397
72398         2006-03-25  Bruno Haible  <bruno@clisp.org>
72399
72400                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
72401
72402         2006-07-21  Bruno Haible  <bruno@clisp.org>
72403
72404                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
72405                 "1.1".
72406
72407         2006-05-09  Bruno Haible  <bruno@clisp.org>
72408
72409                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
72410                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
72411                 for the conftestver execution.
72412
72413         2006-05-01  Bruno Haible  <bruno@clisp.org>
72414
72415                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
72416                 optional target-version argument. Verify that the compiler
72417                 groks source of the specified source-version, or add -source
72418                 option as necessary. Verify that the compiler produces
72419                 bytecode in the specified target-version, or add -target and
72420                 -source options as necessary. Make the result of the test
72421                 available as variable CONF_JAVAC. Also log error output in
72422                 config.log.
72423
72424         2006-03-11  Bruno Haible  <bruno@clisp.org>
72425
72426                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
72427
72428         2006-05-09  Bruno Haible  <bruno@clisp.org>
72429
72430                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
72431                 CLASSPATH_SEPARATOR to a semicolon.
72432
72433         2006-03-12  Bruno Haible  <bruno@clisp.org>
72434
72435                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
72436                 available as variable CONF_JAVA, for subsequent autoconf
72437                 tests. Also log error output in config.log.
72438
72439         2006-07-19  Bruno Haible  <bruno@clisp.org>
72440
72441                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
72442                 that getline works on glibc2 systems. Needed to avoid trouble
72443                 in relocatable.c.
72444                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
72445
72446         2005-12-04  Bruno Haible  <bruno@clisp.org>
72447
72448                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
72449                 launcher (untested).
72450
72451         2005-12-04  Bruno Haible  <bruno@clisp.org>
72452
72453                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
72454
72455         2006-07-22  Bruno Haible  <bruno@clisp.org>
72456
72457                 * gettext.m4: Update from GNU gettext-0.15.
72458                 * nls.m4: Likewise.
72459                 * po.m4: Likewise.
72460                 * inttypes-pri.m4: Likewise.
72461                 * inttypes-h.m4: Renamed from inttypes.m4.
72462                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
72463
72464 2006-07-22  Bruno Haible  <bruno@clisp.org>
72465
72466         Merge from GNU gettext 0.15.
72467
72468         2005-07-05  Bruno Haible  <bruno@clisp.org>
72469
72470                 * printf-args.c (printf_fetchargs): Work around broken
72471                 definition of wint_t on mingw.
72472
72473         2005-02-12  Bruno Haible  <bruno@clisp.org>
72474
72475                 * xallocsa.h: Add extern "C" for C++.
72476
72477         2006-05-17  Bruno Haible  <bruno@clisp.org>
72478
72479                 Cygwin portability.
72480                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
72481
72482         2006-04-30  Bruno Haible  <bruno@clisp.org>
72483
72484                 * progreloc.c: Include <mach-o/dyld.h> if available.
72485                 (find_executable): Use _NSGetExecutablePath when possible.
72486
72487         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
72488
72489                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
72490                 function.
72491
72492         2005-12-29  Bruno Haible  <bruno@clisp.org>
72493
72494                 * progreloc.c (set_program_name_and_installdir): Fix
72495                 compilation error.
72496
72497         2005-12-04  Bruno Haible  <bruno@clisp.org>
72498
72499                 Cygwin portability.
72500                 * progreloc.c: Include <windows.h> also on Cygwin.
72501                 (find_executable): Add support for Cygwin.
72502                 (set_program_name_and_installdir): Handle also platforms with
72503                 nonempty EXEEXT.
72504
72505         2006-07-11  Bruno Haible  <bruno@clisp.org>
72506
72507                 * javacomp.c: Fix a comment.
72508                 Reported by Jim Meyering.
72509
72510         2006-04-30  Bruno Haible  <bruno@clisp.org>
72511
72512                 * javacomp.h (compile_java_class): Add source_version,
72513                 target_version arguments.
72514                 * javacomp.c: Rewritten to choose only a compiler that
72515                 respects the specified source_version and target_version.
72516
72517         2006-06-27  Bruno Haible  <bruno@clisp.org>
72518
72519                 Assume correct S_ISDIR macro.
72520                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
72521
72522         2006-07-22  Bruno Haible  <bruno@clisp.org>
72523
72524                 * javaversion.h: New file, from GNU gettext.
72525                 * javaversion.c: New file, from GNU gettext.
72526                 * javaversion.java: New file, from GNU gettext.
72527                 * javaversion.class: New file, from GNU gettext.
72528
72529         2006-05-17  Bruno Haible  <bruno@clisp.org>
72530
72531                 Cygwin portability.
72532                 * javaexec.c (execute_java_class): Test for jview program
72533                 also on Cygwin.
72534
72535         2006-04-09  Bruno Haible  <bruno@clisp.org>
72536
72537                 * fatal-signal.c: Don't include string.h.
72538                 (at_fatal_signal): Use a copying loop instead of memcpy.
72539
72540         2005-12-04  Bruno Haible  <bruno@clisp.org>
72541
72542                 * csharpexec.c: Add support for 'clix' launcher (untested).
72543                 (execute_csharp_using_sscli): New function.
72544                 (execute_csharp_program): Call it.
72545
72546         2006-06-21  Bruno Haible  <bruno@clisp.org>
72547
72548                 Avoid warnings from recent versions of mcs.
72549                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
72550                 -o, -L, -r any more. Use options documented since mcs-1.0
72551                 instead. Similarly for -g.
72552
72553         2005-07-09  Bruno Haible  <bruno@clisp.org>
72554
72555                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
72556                 add a .dll suffix.
72557                 Reported by Mark Junker <mjscod@gmx.de>.
72558
72559         2006-06-17  Bruno Haible  <bruno@clisp.org>
72560
72561                 * config.charset: Update for NetBSD 3.0.
72562
72563         2006-05-17  Bruno Haible  <bruno@clisp.org>
72564
72565                 Cygwin portability.
72566                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
72567
72568         2006-05-16  Bruno Haible  <bruno@clisp.org>
72569
72570                 * localcharset.c [CYGWIN]: Include <windows.h>.
72571                 (get_charset_aliases): For Cygwin, return the same CPxxx
72572                 aliases list as under WIN32.
72573                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
72574                 the environment variables. Fall back to GetACP().
72575
72576         2006-04-05  Bruno Haible  <bruno@clisp.org>
72577
72578                 * config.charset: Update Juan Manuel Guerrero's address.
72579
72580         2005-02-12  Bruno Haible  <bruno@clisp.org>
72581
72582                 * allocsa.h: Add extern "C" for C++.
72583
72584         2005-02-10  Bruno Haible  <bruno@clisp.org>
72585
72586                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
72587                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
72588
72589         2006-07-22  Bruno Haible  <bruno@clisp.org>
72590
72591                 * gettext.h: Update to GNU gettext-0.15.
72592
72593 2006-07-22  Bruno Haible  <bruno@clisp.org>
72594
72595         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
72596         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
72597         lib-prefix.m4, longdouble.m4, ssize_t.m4.
72598
72599 2006-07-21  Eric Blake  <ebb9@byu.net>
72600
72601         * modules/stdlib-safer: New file.
72602         * MODULES.html.sh (File stream based Input/Output): Add
72603         stdlib-safer.
72604
72605 2006-07-21  Eric Blake  <ebb9@byu.net>
72606
72607         * lib/stdlib-safer.h: New file from coreutils, required by
72608         stdlib--.h.
72609
72610 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
72611
72612         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
72613
72614 2006-07-20  Bruno Haible  <bruno@clisp.org>
72615
72616         * gnulib-tool: Recognize new option --assume-autoconf.
72617         (autoconf_minversion): New variable.
72618         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
72619
72620 2006-07-20  Bruno Haible  <bruno@clisp.org>
72621
72622         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
72623
72624 2006-07-19  Derek R. Price  <derek@ximbiot.com>
72625
72626         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
72627         Reindent and repaginate.
72628
72629 2006-07-19  Derek Price  <derek@ximbiot.com>
72630
72631         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
72632         Correct grammar.
72633
72634 2006-07-17  Bruno Haible  <bruno@clisp.org>
72635
72636         * modules/list: New file.
72637         * modules/array-list: New file.
72638         * modules/carray-list, modules/carray-list-tests: New files.
72639         * modules/linked-list, modules/linked-list-tests: New files.
72640         * modules/avltree-list, modules/avltree-list-tests: New files.
72641         * modules/rbtree-list, modules/rbtree-list-tests: New files.
72642         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
72643         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
72644         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
72645         * modules/oset: New file.
72646         * modules/array-oset: New file.
72647         * modules/avltree-oset, modules/avltree-oset-tests: New files.
72648         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
72649         * tests/test-carray_list.c: New file.
72650         * tests/test-linked_list.c: New file.
72651         * tests/test-avltree_list.c: New file.
72652         * tests/test-rbtree_list.c: New file.
72653         * tests/test-linkedhash_list.c: New file.
72654         * tests/test-avltreehash_list.c: New file.
72655         * tests/test-rbtreehash_list.c: New file.
72656         * tests/test-avltree_oset.c: New file.
72657         * tests/test-rbtree_oset.c: New file.
72658         * MODULES.html.sh (Container data structures): New section.
72659
72660 2006-07-17  Bruno Haible  <bruno@clisp.org>
72661
72662         * m4/gl_list.m4: New file.
72663
72664 2006-07-17  Bruno Haible  <bruno@clisp.org>
72665
72666         * lib/gl_list.h: New file.
72667         * lib/gl_list.c: New file.
72668         * lib/gl_array_list.h: New file.
72669         * lib/gl_array_list.c: New file.
72670         * lib/gl_carray_list.h: New file.
72671         * lib/gl_carray_list.c: New file.
72672         * lib/gl_linked_list.h: New file.
72673         * lib/gl_linked_list.c: New file.
72674         * lib/gl_anylinked_list1.h: New file.
72675         * lib/gl_anylinked_list2.h: New file.
72676         * lib/gl_avltree_list.h: New file.
72677         * lib/gl_avltree_list.c: New file.
72678         * lib/gl_anyavltree_list1.h: New file.
72679         * lib/gl_anyavltree_list2.h: New file.
72680         * lib/gl_rbtree_list.h: New file.
72681         * lib/gl_rbtree_list.c: New file.
72682         * lib/gl_anyrbtree_list1.h: New file.
72683         * lib/gl_anyrbtree_list2.h: New file.
72684         * lib/gl_anytree_list1.h: New file.
72685         * lib/gl_anytree_list2.h: New file.
72686         * lib/gl_linkedhash_list.h: New file.
72687         * lib/gl_linkedhash_list.c: New file.
72688         * lib/gl_anyhash_list1.h: New file.
72689         * lib/gl_anyhash_list2.h: New file.
72690         * lib/gl_avltreehash_list.h: New file.
72691         * lib/gl_avltreehash_list.c: New file.
72692         * lib/gl_rbtreehash_list.h: New file.
72693         * lib/gl_rbtreehash_list.c: New file.
72694         * lib/gl_anytreehash_list1.h: New file.
72695         * lib/gl_anytreehash_list2.h: New file.
72696
72697         * lib/gl_oset.h: New file.
72698         * lib/gl_oset.c: New file.
72699         * lib/gl_array_oset.h: New file.
72700         * lib/gl_array_oset.c: New file.
72701         * lib/gl_avltree_oset.h: New file.
72702         * lib/gl_avltree_oset.c: New file.
72703         * lib/gl_rbtree_oset.h: New file.
72704         * lib/gl_rbtree_oset.c: New file.
72705         * lib/gl_anytree_oset.h: New file.
72706
72707 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
72708
72709         * m4/mkancesdirs.m4: New file.
72710         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
72711         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
72712         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
72713         it.
72714
72715 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
72716
72717         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
72718         * lib/mkancesdirs.h: New files.
72719         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
72720         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
72721         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
72722         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
72723         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
72724         callers changed.  Revamp internals significantly, by not
72725         attempting to create directories that are temporarily more
72726         permissive than the final results.  Do not attempt to use
72727         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
72728         This removes some race conditions, fixes some bugs, and simplifies
72729         things.  Use new dirchownmod function to do owner and mode changes.
72730         * lib/mkdir-p.h: Likewise.
72731         * lib/modechange.c (octal_to_mode): New function.
72732         (struct mode_change): New member mentioned.
72733         (make_node_op_equals): New arg mentioned.  All callers changed.
72734         (mode_compile): Keep track of which mode bits the user has explicitly
72735         mentioned.
72736         (mode_adjust): New arg DIR, so that we implement the X op correctly.
72737         New arg PMODE_BITS, to keep track of which mode bits the user
72738         mentioned; it treats S_ISUID and S_ISGID speciall.
72739         All callers changed.
72740         * lib/modechange.h: Likewise.
72741
72742 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
72743
72744         * MODULES.html.sh: Add mkancestors.
72745         * modules/mkancesdirs: New module.
72746         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
72747         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
72748         The chdir-safer and afs files are now orphans; I'll remove them
72749         unless someone speaks up.
72750         Add lib/dirchownmod.c, lib/dirchownmod.h.
72751         (Depends-on): Remove alloca, chown, save-cwd, dirname.
72752         Add lchown, mkancesdirs.
72753         (Maintainer): Add self.
72754
72755 2006-07-15  Karl Berry  <karl@gnu.org>
72756
72757         * gnulib-tool: help message wording/arrangement.
72758
72759 2006-07-14  Simon Josefsson  <jas@extundo.com>
72760
72761         * doc/gnulib.texi (Libtool and Windows): New section.
72762
72763 2006-07-12  Simon Josefsson  <jas@extundo.com>
72764
72765         * modules/gendocs (License): Fix license, approved by Karl.
72766
72767 2006-07-12  Eric Blake  <ebb9@byu.net>
72768
72769         * MODULES.html.sh: Add gendocs.
72770
72771 2006-07-11  Eric Blake  <ebb9@byu.net>
72772
72773         * modules/fdl: New module, to install doc/fdl.texi.
72774         * MODULES.html.sh: Add new section for documentation modules.
72775         * gnulib-tool: Avoid space-tab.
72776         (--doc-base): New option, to manage files from doc.
72777
72778 2006-07-11  Eric Blake  <ebb9@byu.net>
72779
72780         * m4/absolute-header.m4: Fix comments to match recent change.
72781
72782 2006-07-11  Eric Blake  <ebb9@byu.net>
72783
72784         * gnulib-tool: List --doc-base before --tests-base.
72785
72786 2006-07-11  Derek R. Price  <derek@ximbiot.com>
72787
72788         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
72789
72790 2006-07-11  Bruno Haible  <bruno@clisp.org>
72791
72792         * README: Mention where to put documentation.
72793
72794 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72795
72796         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
72797
72798 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
72799
72800         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
72801         to stdint.m4.
72802
72803 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
72804
72805         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
72806         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
72807         "no/such/file/stdint.h" when there is no such file, so that
72808         the resulting C code can be parsed by dodgy compilers.
72809         Problems reported by Bob Proulx.
72810
72811 2006-07-10  Derek R. Price  <derek@ximbiot.com>
72812
72813         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
72814         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
72815         macros into the GNU _D_EXACT_NAMLEN.
72816         * lib/savedir.c:  Likewise.
72817         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
72818
72819 2006-07-10  Derek R. Price  <derek@ximbiot.com>
72820         and Paul Eggert  <eggert@cs.ucla.edu>
72821
72822         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
72823         * m4/savedir.m4:
72824         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
72825         macros into the GNU _D_EXACT_NAMLEN.
72826
72827 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
72828
72829         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
72830         around the absolute name, to work around a problem with the HP-UX
72831         11.23 native C compiler, reported by Bob Proulx.
72832
72833 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
72834
72835         * doc/maintain.texi, make-stds.texi: Sync from
72836         <http://savannah.gnu.org/projects/gnustandards>.
72837
72838 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
72839
72840         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
72841
72842 2006-07-09  Jim Meyering  <jim@meyering.net>
72843
72844         * m4/glob.m4: Remove a doubled word in a comment.
72845
72846 2006-07-09  Jim Meyering  <jim@meyering.net>
72847
72848         * lib/argp-pv.c: Remove a doubled word in a comment.
72849         * lib/check-version.c (check_version): Likewise.
72850         * lib/javacomp.c (compile_java_class): Likewise.
72851
72852 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
72853
72854         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
72855         for the benefit of people using Autoconf 2.60.  If you want to
72856         support older Autoconf versions you can copy m4/onceonly_2_57.m4
72857         (or m4/onceonly.m4, if pre-2.57) manually.
72858
72859 2006-07-08  Jim Meyering  <jim@meyering.net>
72860
72861         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
72862         comment.
72863         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
72864         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
72865         comment.
72866
72867 2006-07-08  Jim Meyering  <jim@meyering.net>
72868
72869         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
72870
72871 2006-07-07  Simon Josefsson  <jas@extundo.com>
72872
72873         * tests/test-crc.c: Change expected crc value, the test vector
72874         were probably computed using the old broken crc.c?
72875
72876 2006-07-06  Simon Josefsson  <jas@extundo.com>
72877
72878         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
72879         now the canonical place for the M4 file).
72880
72881         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
72882         from the sys_socket dependency now.
72883
72884         * modules/inet_pton (Files): Ditto.
72885
72886         * modules/inet_ntop (Files): Ditto.
72887
72888 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
72889
72890         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
72891         not gl_PREREQ_GETUSERSHELL.
72892
72893 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72894
72895         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
72896         with only one argument, for Autoconf 2.60.
72897         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
72898         expand to nothing, so add a shell command to avoid syntax error.
72899         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
72900
72901 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72902
72903         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
72904
72905 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
72906
72907         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
72908         no longer needed.  Check for isblank decl.
72909         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
72910         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
72911         of existence.
72912
72913 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
72914
72915         * lib/getloadavg.c: Use __VMS, not VMS.
72916         * lib/getopt.c: Likewise.
72917         * lib/getpagesize.h: Likewise.
72918         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
72919         and probably does not work.
72920
72921 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
72922
72923         * lib/.cppi-disable: Add wcwidth.
72924         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
72925         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
72926         (ISGRAPH): Remove.  All uses changed to isgraph.
72927         (FOLD) [!defined _LIBC]: Remove special case.
72928         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
72929         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
72930         HAVE_ISBLANK.
72931         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
72932         case.
72933
72934 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
72935
72936         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
72937         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
72938         brackets.  Other minor changes to suppress some compiler
72939         warnings.
72940
72941 2006-07-06  Derek R. Price  <derek@ximbiot.com>
72942         and Paul Eggert  <eggert@cs.ucla.edu>
72943
72944         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
72945         of invoking obsolescent AC_HEADER_DIRENT macro.
72946         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
72947         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
72948         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
72949         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
72950         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
72951         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
72952         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
72953         * m4/readdir.m4: Remove; no longer needed.
72954
72955 2006-07-06  Derek R. Price  <derek@ximbiot.com>
72956         and Paul Eggert  <eggert@cs.ucla.edu>
72957
72958         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
72959         Don't worry about this obsolete case any more.
72960         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
72961         directories.
72962         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
72963         worry about this obsolete case any more.
72964         * lib/fts.c: Likewise.
72965         * lib/getcwd.c: Likewise.
72966         * lib/glob.h: Likewise.
72967         * lib/savedir.c: Likewise.
72968
72969 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
72970
72971         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
72972         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
72973         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
72974         needed.
72975         All uses removed.
72976         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
72977         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
72978         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
72979         needed.
72980         * m4/getdate.m4 (gl_GETDATE): Likewise.
72981         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
72982         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
72983         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
72984         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
72985         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
72986         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
72987         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
72988         needed.
72989
72990 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
72991
72992         * lib/memcasecmp.c: Include <limits.h>.
72993         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
72994         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
72995         Don't assume isdigit succeeds only on '0' through '9'.
72996
72997 2006-07-05  Eric Blake  <ebb9@byu.net>
72998
72999         * modules/getaddrinfo (Depends-on): Add snprintf.
73000
73001 2006-07-05  Eric Blake  <ebb9@byu.net>
73002
73003         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
73004         to avoid 'header present but could not be compiled' on cygwin.
73005
73006 2006-07-05  Eric Blake  <ebb9@byu.net>
73007
73008         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
73009         missing from netdb.h.
73010         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
73011
73012 2006-07-05  Derek R. Price  <derek@ximbiot.com>
73013
73014         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
73015         no longer needed.
73016         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
73017         * m4/getdate.m4 (gl_GETDATE): Likewise.
73018         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
73019         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
73020         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
73021         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
73022         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
73023
73024 2006-07-05  Derek R. Price  <derek@ximbiot.com>
73025
73026         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
73027         All uses of is_space replaced by isspace.
73028         * lib/exit.h: Don't talk about STDC_HEADERS.
73029         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
73030         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
73031         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
73032         replaced by isprint etc.
73033         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
73034         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
73035         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
73036         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
73037         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
73038         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
73039
73040 2006-07-05  Bruno Haible  <bruno@clisp.org>
73041
73042         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
73043         the function exists, before testing against AIX.
73044         Reported by Martin Lambers <marlam@marlam.de>.
73045
73046 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
73047
73048         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
73049         From Mark D. Baushke.
73050
73051 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
73052
73053         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
73054         to the absolute name, not just one, to bypass Sun C 5.8's
73055         "warning: #include of /usr/include/... may be non-portable".
73056
73057 2006-07-04  Eric Blake  <ebb9@byu.net>
73058
73059         * modules/dirname-tests: New test module.
73060         * tests/test-dirname.c: New file, replacing dirname.c
73061         TEST_DIRNAME section that was recently deleted.
73062
73063 2006-07-04  Bruno Haible  <bruno@clisp.org>
73064
73065         Assume ANSI C header files and <ctype.h> functions.
73066         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
73067         (mbsnwidth): Use isprint, iscntrl instead.
73068
73069 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73070
73071         Merge from coreutils.
73072         * MODULES.html.sh: Add xstrtold.
73073         * modules/xstrtold: New file.
73074         * modules/cycle-check (Files): Add lib/same-inode.h.
73075         * modules/dirname (Files): Add m4/double-slash-root.m4.
73076         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
73077         * modules/mkdir-p (Files): Add lib/same-inode.h.
73078         * modules/same (Files): Add lib/same-inode.h.
73079
73080 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73081
73082         * m4/absolute-header.m4: Renamed from full-header-path.m4.
73083         This is to keep the terminology clean; POSIX talks about
73084         "absolute pathnames", not "full pathnames", but the GNU
73085         Coding Standards say to use "path" for something else;
73086         so use "absolute" to keep both sides happy.
73087         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
73088         Set gl_absolute_header, not gl_full_header_path.
73089         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
73090         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
73091         All uses changed.
73092
73093         Merge from coreutils.
73094
73095         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
73096
73097         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
73098         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
73099         want to require the building of c-strtod.o.
73100         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
73101         needs -lm directly.
73102         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
73103
73104         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
73105
73106         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
73107         --as-needed option if available.  Problem reported by Albert Chin in
73108         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
73109         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
73110         cc merely issues a bunch of annoying warnings for --as-needed
73111         (this problem was reported by Bob Proulx).  Also, try linking with
73112         -lm to detect a bug in binutils 2.16 (this problem was reported
73113         by Ralf Wildenhues).
73114
73115         2006-06-18  Jim Meyering  <jim@meyering.net>
73116
73117         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
73118         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
73119         macro.
73120         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
73121         also check for glibc-2.4's abort-inducing bug.
73122
73123         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
73124         Low-probability clean-up should be to use rmdir to get rid of
73125         the just-created directory, not unlink.
73126
73127         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
73128         configure fail, and request a bug report to inform us about it.
73129         Add a comment that, barring reports to the contrary, in 2007 we'll
73130         assume ftruncate is universally available.
73131
73132         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
73133
73134         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
73135
73136         2006-03-12  Jim Meyering  <jim@meyering.net>
73137
73138         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
73139         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
73140         * m4/same.m4 (gl_SAME): Likewise.
73141         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
73142
73143         2006-03-11  Eric Blake  <ebb9@byu.net>
73144
73145         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
73146         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
73147         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
73148         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
73149
73150 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73151
73152         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
73153         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
73154         reported by Mark D. Baushke, one in
73155         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
73156
73157         Merge from coreutils.
73158
73159         * lib/.cppi-disable: Add stdint_.h.
73160         * lib/.cvsignore: Add stdint.h.
73161
73162         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
73163
73164         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
73165         both double and long double versions.
73166         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
73167         * lib/xstrtold.c: New file.
73168         * lib/xstrtod.h (xstrtold): New decl.
73169
73170         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
73171
73172         * lib/filemode.c (setst): Remove.
73173         (strmode): Rewrite to avoid setst.  This makes the code shorter,
73174         (arguably) clearer, and the generated code is a bit smaller on my
73175         Debian GNU/Linux stable x86 host.
73176
73177         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
73178
73179         * lib/filemode.c: Include "filemode.h" first, to test the interface.
73180         Assume that filemode.h includes sys/types.h and sys/stat.h.
73181         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
73182         (ftypelet): Reorder to put common cases first, for efficiency.
73183         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
73184         to do 'M'.
73185         (strmode): Renamed from mode_string, and now stores 12 bytes instead
73186         of 10, for compatibility with FreeBSD.  All callers changed.
73187         (filemodestring): Now stores 12 bytes instead of 10, and sets file
73188         types that can't be deduced solely from st_mode.  First arg is now a
73189         const pointer.
73190         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
73191         (strmode): Renamed from mode_string.
73192         (filemodestring): New decl.
73193         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
73194         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
73195         needed.
73196         (S_ISPORT, S_ISWHT): New macros, if not already defined.
73197
73198         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
73199
73200         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
73201         fsusage.h now does that.  Include fsusage.h first, to test interface.
73202         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
73203         at most one method (the old code could have generated decls that
73204         didn't conform to C89, not that this was ever exercised).
73205         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
73206
73207         2006-03-19  Jim Meyering  <jim@meyering.net>
73208
73209         Work even in a chroot where d_ino values for entries in "/"
73210         don't match the stat.st_ino values for the same names.
73211         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
73212         number, iterate through all entries again, using lstat instead.
73213         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
73214         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
73215
73216         * lib/getcwd.c (__getcwd): Clarify a comment.
73217         Use memcpy in place of a call to strcpy.
73218
73219         2006-03-12  Jim Meyering  <jim@meyering.net>
73220
73221         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
73222         matches that of the current directory (which we're about to chdir ".."
73223         out of), then save the dev-ino of the parent, instead.
73224
73225         * lib/same-inode.h (SAME_INODE): New file/macro.
73226         * lib/chdir-safer.c (SAME_INODE): Remove definition.
73227         Include "same-inode.h", instead.
73228         * lib/same.c: Likewise.
73229         * lib/cycle-check.h: Include "same-inode.h".
73230         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
73231         * lib/cycle-check.c (SAME_INODE): Remove definition.
73232         * lib/root-dev-ino.h: Include "same-inode.h".
73233
73234         2006-03-11  Eric Blake  <ebb9@byu.net>
73235
73236         * lib/same.c (same_name): s/base_name/last_component/
73237         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
73238         * lib/filenamecat.c (file_name_concat): Likewise.
73239
73240         2006-03-11  Eric Blake  <ebb9@byu.net>,
73241                     Paul Eggert  <eggert@cs.ucla.edu>
73242
73243         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
73244         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
73245         drive prefix.
73246         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
73247         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
73248         (last_component): New method.
73249         * lib/dirname.c (dir_len): Determine when drive letters need a
73250         subsequent slash.  Preserve // when it is special.
73251         (dir_name): Don't append dot when drive letter is absolute.
73252         [TEST_DIRNAME]: Move into a full-blown gnulib test.
73253         * lib/basename.c (base_name): New semantics - malloc the result.
73254         Preserve // when it is special.  Preserve relative files that look
73255         like drive letters.
73256         (base_len): Preserve // when it is special.
73257         (last_component): New method, similar to old base_name semantics.
73258         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
73259         base_name.  Strip redundant slashes from ///.
73260
73261 2006-07-03  Jim Meyering  <jim@meyering.net>
73262
73263         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
73264         macro is used before the first cycle_check call.
73265
73266 2006-07-03  Eric Blake  <ebb9@byu.net>
73267
73268         * modules/dirname (Depends-on): Add xstrndup.
73269
73270 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
73271
73272         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
73273         test cases, so that config.log is a bit easier to follow.
73274
73275 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
73276
73277         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
73278         both are 64 bits, since this seems to be the tradition, and this
73279         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
73280         we ever run into a host that prefers long long to long in this
73281         case, we'll need another configure-time test.  Problem reported by
73282         Jim Meyering.
73283
73284 2006-07-02  Eric Blake  <ebb9@byu.net>
73285
73286         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
73287
73288 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
73289
73290         * modules/inttypes (Depends-on): No longer depends on stdint.
73291         * modules/stdint (Description): Say more about assumptions.
73292         Say that the fast types might differ.  Say macros are used.
73293         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
73294         (Makefile.am): Revise list of substituted symbols to match
73295         new stdint.m4.
73296         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
73297         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
73298         * tests/test-stdint.c (verify_same_types)
73299         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
73300         the code conforms to C99/C89.
73301         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
73302         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
73303
73304 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
73305
73306         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
73307         but fix a bug, by requiring at least 64 bits.
73308         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
73309         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
73310         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
73311         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
73312
73313         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
73314         changes.  Make 2.59 a prerequisite.  Check and substitute for
73315         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
73316         inttypes.h.  Do not use special include files; just use the
73317         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
73318         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
73319         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
73320         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
73321         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
73322         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
73323         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
73324         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
73325         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
73326         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
73327         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
73328         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
73329         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
73330         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
73331         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
73332         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
73333         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
73334         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
73335         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
73336         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
73337         WINT_MAX.  Check for C99 conformance more strictly, by detecting
73338         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
73339         not check for things that C99 does not require, e.g., int8_t.  If
73340         a test isn't needed unless <stdint.h> isn't working, and is
73341         unlikely to be needed for any other reason, then don't do it
73342         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
73343         size_t, since we assume C89 freestanding at least.  Do not check
73344         for sig_atomic_t, wchar_t, or wint_t, since the code now does
73345         the right thing even if the types are not defined.  Instead use:
73346         (gl_STDINT_TYPE_PROPERTIES): New macro.
73347         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
73348         testing whether <sys/types.h> clashes, as Autoconf does this for
73349         us now.  All uses removed.
73350         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
73351         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
73352         (gl_CHECK_TYPE_SAME):
73353         Remove; no longer needed.
73354         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
73355         exists, since we'll return 0 anyway in that case.
73356         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
73357
73358 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
73359
73360         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
73361         possible collision with system files.
73362         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
73363         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
73364         WCHAR_MIN and WCHAR_MAX in this case.
73365         (<stddef.h>): Do not include; no longer needed.
73366         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
73367         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
73368         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
73369         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
73370         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
73371         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
73372         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
73373         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
73374         !defined(__c99))]: Include in this case too, since it's harmless
73375         now.
73376         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
73377         dangerous to do so.
73378         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
73379         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
73380         (_STDINT_MIN, _STDINT_MAX): New macros.
73381         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
73382         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
73383         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
73384         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
73385         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
73386         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
73387         macros, not typedefs; this simplifies things quite a bit.
73388         Use long int for all types narrower than int64_t.
73389         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
73390         Define in terms of long long int or int64_t or long int,
73391         not int64_t or int32_t.  This saves some compile-time testing.
73392         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
73393         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
73394         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
73395         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
73396         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
73397         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
73398         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
73399         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
73400         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
73401         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
73402         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
73403         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
73404         undef any previous version and define our own version, for
73405         simplicity and consistency with the new macros for types.
73406         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
73407         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
73408         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
73409         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
73410         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
73411         @WINT_T_SUFFIX@ to keep things simple here.
73412         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
73413         Simplify by assuming typical 8/16/32/64 host, since we're
73414         already doing that elsewhere anyway.
73415         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
73416         and assume long long int is 64 bits if available.  This
73417         speeds up 'configure'.
73418
73419 2006-07-01  Eric Blake  <ebb9@byu.net>
73420
73421         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
73422         Reported by Andreas Buening.
73423
73424 2006-07-01  Eric Blake  <ebb9@byu.net>
73425
73426         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
73427
73428 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
73429
73430         * lib/getaddrinfo.c: fixed typo
73431
73432 2006-06-29  Jim Meyering  <jim@meyering.net>
73433
73434         * modules/strftime (Maintainer): Add my name, since with the
73435         FPRINTFTIME changes strftime.c has forked from glibc.
73436
73437 2006-06-29  Eric Blake  <ebb9@byu.net>
73438
73439         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
73440
73441 2006-06-29  Eric Blake  <ebb9@byu.net>
73442
73443         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
73444
73445 2006-06-29  Eric Blake  <ebb9@byu.net>
73446
73447         * lib/stat_.h: New file.
73448
73449 2006-06-29  Eric Blake  <ebb9@byu.net>
73450
73451         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
73452         unused static function.
73453
73454 2006-06-29  Eric Blake  <ebb9@byu.net>
73455
73456         * doc/functions.texi (Function Portability): Document missing lstat
73457         on mingw.
73458
73459 2006-06-29  Eric Blake  <ebb9@byu.net>
73460
73461         * MODULES.html.sh: Add sys_stat.
73462         * modules/sys_stat: New module.
73463         * modules/mkstemp (Depends-on): Add sys_stat.
73464
73465 2006-06-29  Derek R. Price  <derek@ximbiot.com>
73466
73467         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
73468
73469 2006-06-29  Derek R. Price  <derek@ximbiot.com>
73470
73471         * m4/c-bs-a.m4: Removed.
73472
73473 2006-06-29  Derek R. Price  <derek@ximbiot.com>
73474
73475         * lib/strftime.c: Assume strftime() exists.
73476
73477 2006-06-29  Derek Price  <derek@ximbiot.com>
73478
73479         * modules/c-bs-a: Removed - \a is C89.
73480         * MODULES.html.sh: Remove c-bs-a.
73481
73482 2006-06-29  Bruno Haible  <bruno@clisp.org>
73483
73484         * modules/wcwidth (License): Change to LGPL.
73485
73486 2006-06-28  Simon Josefsson  <jas@extundo.com>
73487
73488         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
73489         on _WIN32.
73490
73491         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
73492         getnameinfo.
73493
73494 2006-06-28  Simon Josefsson  <jas@extundo.com>
73495
73496         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
73497
73498 2006-06-28  Simon Josefsson  <jas@extundo.com>
73499
73500         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
73501         functions there.  It will succeed on Windows XP, but on Windows
73502         2000 and (presumably) earlier, it will fail, and use the internal
73503         re-implementation.
73504         (use_win32_p): New function.
73505         (getaddrinfo): Use strtoul on servname, to support numeric ports.
73506         Support AI_NUMERICSERV to disable getservbyname.
73507         (getnameinfo): New function, only supports
73508         NI_NUMERICHOST|NI_NUMERICSERV for now.
73509
73510         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
73511         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
73512         getnameinfo.
73513
73514 2006-06-28  Eric Blake  <ebb9@byu.net>
73515
73516         * modules/wcwidth: New file.
73517         * modules/mbchar (Depends-on): Add wcwidth.
73518         * modules/mbswidth (Depends-on): Add wcwidth.
73519         * MODULES.html.sh: Add wcwidth.
73520
73521 2006-06-28  Eric Blake  <ebb9@byu.net>
73522
73523         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
73524         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
73525
73526 2006-06-28  Eric Blake  <ebb9@byu.net>
73527
73528         * lib/xvasprintf.h: Fix comments.
73529
73530 2006-06-28  Eric Blake  <ebb9@byu.net>
73531
73532         * lib/mbchar.h (wcwidth): Include wcwidth.h.
73533         * lib/mbswidth.c (wcwidth): Move from here...
73534         * lib/wcwidth.h: ...to this new file.
73535
73536 2006-06-28  Derek R. Price  <derek@ximbiot.com>
73537
73538         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
73539
73540         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
73541         it's obsolete.
73542         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
73543
73544 2006-06-28  Derek R. Price  <derek@ximbiot.com>
73545
73546         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
73547         Autoconf 2.60 says this stuff was obsolete.
73548
73549 2006-06-28  Bruno Haible  <bruno@clisp.org>
73550
73551         * modules/wcwidth (Files): Add m4/wchar_t.m4.
73552
73553 2006-06-28  Bruno Haible  <bruno@clisp.org>
73554
73555         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
73556         gt_TYPE_WCHAR_T.
73557
73558 2006-06-28  Bruno Haible  <bruno@clisp.org>
73559
73560         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
73561         declaration for wcwidth.
73562         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
73563
73564 2006-06-28  Bruno Haible  <bruno@clisp.org>
73565
73566         * lib/mkdtemp.c [MINGW]: Include <io.h>.
73567         (mkdir): Define using _mkdir.
73568
73569 2006-06-28  Bruno Haible  <bruno@clisp.org>
73570
73571         * lib/getaddrinfo.h: Fix POSIX URL.
73572         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
73573         _WIN32.
73574         (use_win32_p): Make static.
73575         (getaddrinfo): Reject service name if it is empty or does not consist
73576         solely of decimal digits, or if its value is > 65535.
73577         (getnameinfo): Remove useless casts.
73578
73579 2006-06-27  Simon Josefsson  <jas@extundo.com>
73580
73581         * modules/sys_select: New file, suggested by Bruno Haible, Paul
73582         Eggert and Martin Lambers.
73583
73584 2006-06-27  Simon Josefsson  <jas@extundo.com>
73585
73586         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
73587         Eggert and Martin Lambers.
73588
73589 2006-06-27  Bruno Haible  <bruno@clisp.org>
73590
73591         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
73592         result to 0, not to empty.
73593         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
73594
73595 2006-06-27  Bruno Haible  <bruno@clisp.org>
73596
73597         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
73598
73599 2006-06-26  Simon Josefsson  <jas@extundo.com>
73600
73601         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
73602         present.
73603
73604 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
73605
73606         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
73607         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
73608         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
73609
73610 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
73611
73612         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
73613
73614 2006-06-26  Bruno Haible  <bruno@clisp.org>
73615
73616         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
73617
73618 2006-06-26  Bruno Haible  <bruno@clisp.org>
73619
73620         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
73621
73622 2006-06-26  Bruno Haible  <bruno@clisp.org>
73623
73624         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
73625         SGI C compiler in pre-C99 mode.
73626         Suggested by Mark D. Baushke and Larry Jones.
73627
73628 2006-06-26  Bruno Haible  <bruno@clisp.org>
73629
73630         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
73631         WCHAR_MAX.
73632         Reported by Mark D. Baushke and Larry Jones.
73633
73634 2006-06-26  Bruno Haible  <bruno@clisp.org>
73635
73636         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
73637         in pre-C99 mode.
73638         Suggested by Mark D. Baushke and Larry Jones.
73639
73640 2006-06-23  Simon Josefsson  <jas@extundo.com>
73641             Bruno Haible  <bruno@clisp.org>
73642
73643         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
73644         Emit mostlyclean-local rule.
73645         (func_emit_tests_Makefile_am): Likewise.
73646         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
73647
73648 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
73649
73650         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
73651
73652 2006-06-23  Bruno Haible  <bruno@clisp.org>
73653
73654         * tests/test-stdint.c: Update to match ISO C 99 Technical
73655         Corrigendum 1.
73656
73657 2006-06-23  Bruno Haible  <bruno@clisp.org>
73658
73659         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
73660
73661 2006-06-23  Bruno Haible  <bruno@clisp.org>
73662
73663         * lib/stdint_.h: Treat IRIX like OpenBSD.
73664
73665 2006-06-23  Bruno Haible  <bruno@clisp.org>
73666
73667         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
73668         ISO C 99 Technical Corrigendum 1.
73669
73670 2006-06-22  Simon Josefsson  <jas@extundo.com>
73671
73672         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
73673         MinGW.
73674
73675 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
73676
73677         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
73678         needed.  Some compiler complained about some of them.  Problem reported
73679         by Larry Jones in
73680         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
73681
73682 2006-06-21  Simon Josefsson  <jas@extundo.com>
73683
73684         * tests/test-getaddrinfo.c: New file.
73685
73686         * modules/getaddrinfo-tests: New file.
73687
73688         * MODULES.html.sh: Add inet_pton.
73689
73690         * modules/inet_pton: New file.
73691
73692 2006-06-21  Simon Josefsson  <jas@extundo.com>
73693
73694         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
73695         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
73696         of using the (limited) gnulib implementation on Windows XP.
73697
73698         * m4/inet_pton.m4: New file.
73699
73700 2006-06-21  Simon Josefsson  <jas@extundo.com>
73701
73702         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
73703         variable.
73704
73705         * lib/socket_.h: Don't define WINVER.
73706
73707         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
73708         slightly modified to work in gnulib.
73709
73710 2006-06-21  Simon Josefsson  <jas@extundo.com>
73711
73712         * doc/gnulib.texi (Windows sockets): Add.
73713
73714 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
73715
73716         * lib/read-file.c (fread_file): Start with buffer allocation of
73717         0 bytes rather than 1 byte; this simplifies the code.
73718         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
73719         code to free buffer and save/restore errno.
73720         (internal_read_file): Remove unused local.
73721
73722 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
73723
73724         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
73725         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
73726         Problem reported by Denis Excoffier in
73727         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
73728
73729 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73730
73731         * modules/sys_socket, modules/socklen: Include sys/types since
73732         FreeBSD 4.x's sys/socket.h needs it.
73733
73734 2006-06-19  Simon Josefsson  <jas@extundo.com>
73735
73736         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
73737
73738 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
73739
73740         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
73741
73742 2006-06-19  Bruno Haible  <bruno@clisp.org>
73743
73744         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
73745         and FULL_PATH_INTTYPES_H in angle brackets.
73746         Reported by Mark D. Baushke <mdb@gnu.org>.
73747
73748 2006-06-17  Eric Blake  <ebb9@byu.net>
73749
73750         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
73751         errno.
73752
73753 2006-06-17  Bruno Haible  <bruno@clisp.org>
73754
73755         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
73756         <sys/inttypes.h>.
73757
73758 2006-06-17  Bruno Haible  <bruno@clisp.org>
73759
73760         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
73761         whether errno is declared. Assume <errno.h> declares errno.
73762
73763 2006-06-17  Bruno Haible  <bruno@clisp.org>
73764
73765         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
73766
73767 2006-06-17  Bruno Haible  <bruno@clisp.org>
73768
73769         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
73770         problem on Solaris 2.5.1.
73771
73772 2006-06-16  Eric Blake  <ebb9@byu.net>
73773
73774         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
73775         * lib/unicodeio.c [!defined errno]: Likewise.
73776         * lib/strtol.c [!defined errno]: Likewise.
73777         * lib/strtod.c [!defined errno]: Likewise.
73778
73779 2006-06-15  Eric Blake  <ebb9@byu.net>
73780
73781         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
73782
73783 2006-06-15  Eric Blake  <ebb9@byu.net>
73784
73785         * config/srclist.txt (ssize_t.m4): Lose sync.
73786
73787 2006-06-15  Bruno Haible  <bruno@clisp.org>
73788
73789         * modules/stdint (Files): Include m4/full-header-path.m4,
73790         m4/size_max.m4, m4/wchar_t.m4.
73791         (Makefile.am): Many more substitutions.
73792         * modules/stdint-tests: New file.
73793         * tests/test-stdint.c: New file.
73794
73795 2006-06-15  Bruno Haible  <bruno@clisp.org>
73796
73797         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
73798         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
73799         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
73800         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
73801         gl_CHECK_TYPE_SAME): New macros.
73802
73803 2006-06-15  Bruno Haible  <bruno@clisp.org>
73804
73805         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
73806
73807 2006-06-15  Bruno Haible  <bruno@clisp.org>
73808
73809         * lib/stdint_.h: Rewritten to be fully auto-configured.
73810         Fixes bug on HP-UX/IA64.
73811
73812 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
73813
73814         * lib/getdate.y (__attribute__): Don't define if already defined.
73815         Problem reported by Larry Jones.
73816         * lib/utimens.c (__attribute__): Likewise.
73817
73818 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
73819
73820         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
73821         reported by Andreas Schwab.
73822
73823 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73824             Bruno Haible  <bruno@clisp.org>
73825
73826         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
73827         check for the declaration of strnlen and a run test that exposes the
73828         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
73829         rpl_strndup.
73830
73831 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73832             Bruno Haible  <bruno@clisp.org>
73833
73834         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
73835
73836 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73837
73838         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
73839         compile test, for Tru64 4.0D.
73840
73841 2006-05-28  Karl Berry  <karl@gnu.org>
73842
73843         * config/srclist.txt (printf-args.c): lose sync.
73844
73845 2006-05-26  Martin Lambers  <marlam@marlam.de>
73846
73847         * lib/getpass.c: Updates the test for the native W32 API, and adds
73848         missing includes, thus fixing compilation warnings.
73849
73850 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
73851
73852         * lib/exclude.c (exclude_fnmatch): New function.
73853         (excluded_file_name): Call exclude_fnmatch.
73854         * lib/exclude.h (excluded_file_name): New prototype
73855
73856 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
73857
73858         * lib/tempname.c (small_open, large_open): New macros.
73859         (__open, __open64) [!_LIBC]: Remove.
73860         (__gen_tempname): Use small_open and large_open instead of __open
73861         and __open64.  This fixes a portability bug on HP-UX 11.11i
73862         reported by Simon Wing-Tang in
73863         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
73864
73865 2006-05-24  Bruno Haible  <bruno@clisp.org>
73866
73867         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
73868         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
73869         Reported by Thorsten Maerz <torte@netztorte.de> via
73870         Aaron Stone <aaron@serendipity.cx>.
73871
73872 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
73873
73874         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
73875         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
73876         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
73877         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
73878         not really conditional on the cache.
73879         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
73880
73881 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
73882
73883         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
73884         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
73885         (my_usleep): Don't mishandle maximum value.
73886
73887 2006-05-19  Jim Meyering  <jim@meyering.net>
73888
73889         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
73890
73891 2006-05-17  Bruno Haible  <bruno@clisp.org>
73892
73893         Cygwin portability.
73894         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
73895
73896 2006-05-17  Bruno Haible  <bruno@clisp.org>
73897
73898         * lib/stdint_.h: Fix recognition of Cygwin.
73899
73900 2006-05-15  Bruno Haible  <bruno@clisp.org>
73901
73902         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
73903         on libtool patch by Ralf Wildenhues.
73904
73905 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
73906
73907         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
73908         test for C99 conformance; (bool) 0.5 is an integer constant
73909         expression, but (bool) -0.5 is not.  Problem reported by Fedor
73910         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
73911
73912 2006-05-11  Simon Josefsson  <jas@extundo.com>
73913
73914         * m4/xvasprintf.m4: Fix obvious typo.
73915
73916 2006-05-11  Jim Meyering  <jim@meyering.net>
73917
73918         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
73919         James Lemley.
73920
73921 2006-05-10  Simon Josefsson  <jas@extundo.com>
73922
73923         * lib/md4.c: Typo fix, update copyright years.
73924         (K1, K2): Don't use L because it turn computations into 64-bit on
73925         64-bit platforms.
73926
73927 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
73928
73929         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
73930         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
73931         unwanted sign propagation, e.g., on hosts with 64-bit int.
73932         There still are some problems with reeelly weird theoretical hosts
73933         (e.g., 33-bit int) but it's not worth worrying about now.
73934         * lib/sha1.c (rol): Likewise.
73935         (K1, K2, K3, K4): Remove unnecessary L suffix.
73936
73937 2006-05-10  Bruno Haible  <bruno@clisp.org>
73938
73939         * lib/des.c: Cast to avoid warnings.
73940
73941 2006-05-09  Bruno Haible  <bruno@clisp.org>
73942
73943         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
73944         (Depends-on): Depend also on xsize, stdarg.
73945         (configure.ac): Add gl_XVASPRINTF.
73946
73947 2006-05-09  Bruno Haible  <bruno@clisp.org>
73948
73949         * m4/xvasprintf.m4: New file.
73950
73951 2006-05-09  Bruno Haible  <bruno@clisp.org>
73952
73953         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
73954         (EOVERFLOW): Define fallback value.
73955         (xstrcat): New function.
73956         (xvasprintf): Recognize the special case of a string concatenation.
73957
73958 2006-05-08  Eric Blake  <ebb9@byu.net>
73959
73960         * gnulib-tool (func_version): Base copyright year on CVS date.
73961         (func_emit_copyright_notice): New function.
73962         (func_emit_lib_Makefile_am): Use it.
73963         (func_emit_tests_Makefile_am): Likewise.
73964         (func_import): Likewise.
73965
73966 2006-05-08  Bruno Haible  <bruno@clisp.org>
73967
73968         * modules/stdarg: New file.
73969         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
73970
73971 2006-05-08  Bruno Haible  <bruno@clisp.org>
73972
73973         * m4/stdarg.m4: New file, from GNU gettext.
73974
73975 2006-05-08  Bruno Haible  <bruno@clisp.org>
73976
73977         * config/srclist.txt (build-aux/config.rpath): different from latest
73978         release.
73979
73980 2006-05-08  Bruno Haible  <bruno@clisp.org>
73981
73982         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
73983
73984 2006-05-05  Jim Meyering  <jim@meyering.net>
73985
73986         * m4/warning.m4: New file, derived from bison's file by the same name.
73987
73988 2006-05-03  Bruno Haible  <bruno@clisp.org>
73989
73990         * lib/stdint_.h: Shorter URL.
73991         * lib/inttypes.h: Likewise.
73992
73993 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
73994
73995         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
73996
73997 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
73998
73999         * lib/verify.h: Document the internals better.  Most of this change
74000         was written by Bruno Haible.
74001
74002 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
74003
74004         * doc/verify.texi: New file, partly based on a proposal by
74005         Bruno Haible.
74006
74007 2006-05-02  Bruno Haible  <bruno@clisp.org>
74008
74009         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
74010         test from here...
74011         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
74012
74013 2006-04-29  Bruno Haible  <bruno@clisp.org>
74014
74015         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
74016         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
74017
74018 2006-04-29  Bruno Haible  <bruno@clisp.org>
74019
74020         * gnulib-tool: Make --update option actually work.
74021
74022 2006-04-29  Bruno Haible  <bruno@clisp.org>
74023
74024         * doc/gcd.texi: New file.
74025         * doc/gnulib.texi: Include it.
74026
74027 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
74028
74029         * lib/getdate.y (get_date): When adding relative date, start with the
74030         initial time, not with the result of the first mktime call.
74031
74032 2006-04-25  Bruno Haible  <bruno@clisp.org>
74033
74034         * gnulib-tool (func_import): Output the include directives in three
74035         blocks, sorted separately.
74036         Reported by Ben Pfaff <blp@cs.stanford.edu>.
74037
74038 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
74039
74040         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
74041         to define main with arguments, for C++.  Reported by Eric Blake.
74042         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
74043         Prefer 'int main ()' to 'int main (void)', for C++.
74044         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
74045         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
74046         for 'main', for C99 and C++.
74047
74048 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
74049
74050         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
74051         Don't assume that exit status -1 is valid.
74052         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74053         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
74054         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
74055         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
74056         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
74057         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
74058         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
74059         functions can be used without declaring them, or that you can
74060         exit with status -1.
74061         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
74062
74063 2006-04-24  Karl Berry  <karl@gnu.org>
74064
74065         * config/srclist.txt (longdouble.m4): sync lost.
74066
74067 2006-04-24  Eric Blake  <ebb9@byu.net>
74068
74069         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
74070
74071 2006-04-24  Bruno Haible  <bruno@clisp.org>
74072
74073         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
74074         poll() implementation in AIX.
74075         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74076
74077 2006-04-24  Bruno Haible  <bruno@clisp.org>
74078
74079         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
74080         assigned exactly once.
74081
74082 2006-04-23  Claudio Fontana  <claudio@gnu.org>
74083             Bruno Haible  <bruno@clisp.org>
74084
74085         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
74086         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
74087         for AM_CPPFLAGS.
74088
74089 2006-04-23  Bruno Haible  <bruno@clisp.org>
74090
74091         * modules/copy-file: Depend on unistd.
74092         * modules/execute: Likewise.
74093         * modules/fatal-signal: Likewise.
74094         * modules/findprog: Likewise.
74095         * modules/mkdtemp : Likewise.
74096         * modules/pipe: Likewise.
74097         * modules/wait-process: Likewise.
74098
74099 2006-04-23  Bruno Haible  <bruno@clisp.org>
74100
74101         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
74102         condition was already detected.
74103         Reported by Ben Pfaff <blp@cs.stanford.edu>.
74104
74105 2006-04-23  Bruno Haible  <bruno@clisp.org>
74106
74107         * lib/copy-file.c: Include <unistd.h> unconditionally.
74108         * lib/execute.c: Likewise.
74109         * lib/fatal-signal.c: Likewise.
74110         * lib/findprog.c: Likewise.
74111         * lib/mkdtemp.c: Likewise.
74112         * lib/pipe.h: Likewise.
74113         * lib/pipe.c: Likewise.
74114         * lib/wait-process.h: Likewise.
74115
74116 2006-04-23  Bruno Haible  <bruno@clisp.org>
74117
74118         * gnulib-tool (func_usage): Fix --import description. Document
74119         --update.
74120         (func_import): Create temporary file in a temporary directory, if
74121         --dry-run is specified. Silence errors from 'grep' when there are no
74122         m4 files in $m4dir.
74123         (func_create_testdir): Silence errors from 'grep' when there are no
74124         m4 files in $m4dir.
74125         Reported by Karl Berry <karl@freefriends.org>.
74126
74127 2006-04-20  Bruno Haible  <bruno@clisp.org>
74128
74129         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
74130         one argument, so that the code will be portable to Autoconf 2.60.
74131         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
74132         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
74133         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
74134
74135 2006-04-19  Derek Price  <derek@ximbiot.com>
74136             Eric Blake  <ebb9@byu.net>
74137
74138         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
74139         rather than "/full/path.h".  Update comment to match.  Shorten &
74140         generalize m4_translit call via AS_TR_CPP.
74141
74142 2006-04-19  Derek Price  <derek@ximbiot.com>
74143             Eric Blake  <ebb9@byu.net>
74144
74145         * lib/inttypes.h: Correct grammar in comment.
74146
74147 2006-04-18  Derek Price  <derek@ximbiot.com>
74148             Paul Eggert  <eggert@cs.ucla.edu>
74149
74150         * modules/inttypes: New file.
74151         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
74152
74153 2006-04-18  Derek Price  <derek@ximbiot.com>
74154             Paul Eggert  <eggert@cs.ucla.edu>
74155
74156         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
74157         New files.
74158
74159 2006-04-18  Derek Price  <derek@ximbiot.com>
74160             Paul Eggert  <eggert@cs.ucla.edu>
74161
74162         * lib/inttypes.h: New file.
74163         * lib/strtoimax.c: Assume <inttypes.h>.
74164
74165 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
74166
74167         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
74168         isn't mounted.  Problem reported by Kir Kolyshkin.
74169
74170 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
74171
74172         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
74173         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
74174         Derek R. Price.
74175         * lib/regex.h (RE_DUP_MAX): Update comment to match current
74176         implementation.
74177
74178 2006-04-12  Eric Blake  <ebb9@byu.net>
74179
74180         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
74181         is now done automatically by the corresponding Autoconf macro.
74182
74183 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
74184
74185         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
74186         time_r.h.
74187
74188 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74189
74190         Merge regex changes from libc, removing some of our
74191         POSIX-conformance changes that were rejected and redoing them in a
74192         less-intrusive way.
74193
74194         * lib/regcomp.c (re_compile_internal, init_dfa):
74195         Length arg is now size_t, not Idx.  All uses changed.
74196         (peek_token): Forward decl now says internal_function.
74197         (__re_error_msgid, __re_error_msgid_idx):
74198         Now static rather than extern with attribute_hidden.
74199         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
74200         For some reason libc prefers K&R style defns for external functions.
74201         (regerror) [!defined _LIBC]: Likewise.
74202         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
74203         (seek_collating_symbol_entry, lookup_collation_sequence_value):
74204         (build_range_exp, build_collating_symbol):
74205         Use K&R-style defn.
74206         (re_compile_fastmap): Use '\0' to memset, not 0.
74207         (utf8_sb_map): Make the calculations more obvious.
74208         (init_dfa, parse_bracket_exp, build_charclass_op):
74209         Call calloc and cast result, as glibc does.
74210         (init_word_char, fetch_token, peek_token, peek_token_bracket):
74211         (build_range_exp, build_collating_symbol):
74212         Now internal functions.
74213
74214         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
74215
74216         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
74217         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
74218         Don't depend on VMS; depend on __VMS instead, for POSIX
74219         namespace cleanness.
74220         (regoff_t): Define to ssize_t, not long int.
74221
74222         Remove the REG_ macros named below.  Instead, make the old names
74223         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
74224         __USE_GNU_REGEX.
74225         (REG_BACKSLASH_ESCAPE_IN_LISTS):
74226         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
74227         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
74228         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
74229         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
74230         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
74231         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
74232         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
74233         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
74234         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
74235         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
74236         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
74237         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
74238         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
74239         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
74240         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
74241         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
74242         (REG_NREGS):
74243         Remove.  All uses replaced by the old RE_* names.
74244         (RE_BACKSLASH_ESCAPE_IN_LISTS):
74245         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
74246         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
74247         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
74248         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
74249         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
74250         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
74251         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
74252         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
74253         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
74254         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
74255         Don't bother having these macros be independent of each others'
74256         values, since they no longer exist in the POSIX name space.
74257
74258         Rename the following member names back to their old names,
74259         unless !__USE_GNU_REGEX.  All uses changed back.
74260         (buffer): Renamed from re_buffer.
74261         (allocated): Renamed from re_allocated.
74262         (used): Renamed from re_used.
74263         (syntax): Renamed from re_syntax.
74264         (fastmap): Renamed from re_fastmap.
74265         (translate): Renamed from re_translate.
74266         (can_be_null): Renamed from re_can_be_null.
74267         (regs_allocated): Renamed from re_regs_allocated.
74268         (fastmap_accurate): Renamed from re_fastmap_accurate.
74269         (no_sub): Renamed from re_no_sub.
74270         (not_bol): Renamed from re_not_bol.
74271         (not_eol): Renamed from re_not_eol.
74272         (newline_anchor): Renamed from re_newline_anchor.
74273         (num_regs): Renamed from rm_num_regs.
74274         (start): Renamed from rm_start.
74275         (end): Renamed from rm_end.
74276
74277         (free_state): Move up a bit.
74278
74279         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
74280         #define to be empty.
74281         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
74282         when that is what is intended.
74283         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
74284         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
74285         (MAX): New macro.
74286         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
74287         All uses changed back to re_malloc, etc.  It's now the caller's
74288         responsibility to check for overflow; all callers changed.
74289         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
74290         (re_x2nrealloc): Remove.
74291         (free_state): Remove decl.
74292
74293         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
74294         (re_set_registers, re_exec):
74295         Use K&R-style defn.
74296
74297         2006-01-31  Roland McGrath  <roland@redhat.com>
74298
74299         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
74300         Reported by Mike Frysinger <vapier@gentoo.org>.
74301
74302         2006-01-15  Andreas Jaeger  <aj@suse.de>
74303
74304         [BZ #1950]
74305         * lib/regex_internal.c (re_string_reconstruct): Adjust for
74306         build_wcs_upper_buffer change.
74307         (build_wcs_upper_buffer): Change return type.
74308
74309         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
74310
74311         * lib/regex_internal.h: Include <stdint.h> if available.
74312
74313         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
74314
74315         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
74316
74317         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
74318
74319         * lib/regcomp.c: Adjust for changed secondary hash function.
74320
74321         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
74322
74323         * lib/regex.h: Pretty printing.
74324         Clean up namespace a bit.
74325
74326         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
74327
74328         * lib/regexec.c (update_cur_sifted_state, check_arrival,
74329         check_arrival_add_next_nodes): Avoid using uninitialized variable.
74330
74331         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74332                     Ulrich Drepper  <drepper@redhat.com>
74333
74334         [BZ #1302]
74335         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
74336         changed.
74337         (bitset_word_t): Renamed from bitset_word.  All uses changed.
74338
74339         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
74340
74341         [BZ #281]
74342         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
74343         * lib/regcomp.c: Remove unnecessary uses of
74344         unsigned RE_TRANSLATE_TYPE.
74345         * lib/regex_internal.h: Likewise.
74346         * lib/regex_internal.c: Likewise.
74347         * lib/regexec.c: Likewise.
74348         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
74349
74350         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
74351
74352         * lib/regexec.c (find_recover_state): Remove unnecessary
74353         initialization.
74354         (transit_state_bkref): Make DFA a const pointer.
74355         (get_subexp): Likewise.
74356         (check_arrival): Likewise.
74357         (update_cur_sifted_state): Likewise.
74358         (re_search_internal): Likewise.
74359         (prune_impossible_nodes): Likewise.
74360         (acquire_init_state_context): Likewise.
74361         (proceed_next_node): Likewise.
74362         (set_regs): Likewise.
74363         (free_fail_stack_return): Likewise.
74364         (check_arrival_expand_ecl): Mark DFA parameter as const.
74365         (check_arrival_expand_ecl_sub): Likewise.
74366         (check_subexp_limits): Likewise.
74367         (sub_epsilon_src_nodes):  Likewise.
74368         (add_epsilon_src_nodes):  Likewise.
74369         (merge_state_array): Likewise.
74370         (update_regs): Likewise.
74371         (build_trtable): Likewise.
74372         (sift_states_backward): Mark MCTX parameter as const.
74373         (build_sifted_states): Likewise.
74374         (update_cur_sifted_state): Likewise.
74375         (sift_states_mkref): Likewise.
74376         (check_arrival_expand_ecl): Mark eclosure as const.
74377         (check_dst_limits_calc_pos_1): Likewise.
74378         * lib/regex_internal.h (re_match_context_t): Make dfa a const
74379         pointer.
74380
74381         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
74382
74383         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
74384         (transit_state_sb): Likewise.
74385         (transit_state_mb): Likewise.
74386         (sift_states_iter_mb): Likewise.
74387         (check_arrival_add_next_nodes): Likewise.
74388         (check_node_accept_bytes): Change first parameter to pointer-to-const.
74389         [_LIBC] (re_search_2_stub): Use mempcpy.
74390
74391         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
74392         mbrtowc for very simple UTF-8 case.
74393
74394         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
74395         a pointer-to-const.
74396         (re_acquire_state_context): Likewise.
74397         * lib/regex_internal.h: Adjust prototypes.
74398
74399         * lib/regex.c: Prevent using C++ compilers.
74400
74401         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
74402         (re_acquire_state_context): Likewise.
74403
74404 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74405
74406         * modules/regex (Depends-on): Add ssize_t.
74407
74408 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74409
74410         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
74411         translation table.
74412
74413 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74414
74415         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
74416
74417 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
74418             Bruno Haible  <bruno@clisp.org>
74419
74420         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
74421         <sys/types.h> and <inttypes.h>.
74422
74423 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74424
74425         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
74426         `__error_t_defined', so argp.h will not typedef the former.
74427
74428 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
74429
74430         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
74431         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
74432         glibc names.  Even if glibc is changed to conform to POSIX, the
74433         traditional names will be available anyway, since regex depends on
74434         the extensions module.  Also, fix a longstanding typo in the
74435         implementation of Spencer ERE test #75 from grep 2.3.  Problems
74436         reported by Emanuele Giaquinta.  Also, change sense of cached
74437         variable, so that the message makes sense.
74438
74439 2006-03-24  Simon Josefsson  <jas@extundo.com>
74440
74441         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
74442         including some doc fixes.
74443         (base64_encode_alloc): Fix +1 bug on allocation failures.
74444
74445 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74446
74447         * lib/base64.c (base64_encode): Do not read past end of array with
74448         unsanitized input on systems with CHAR_BIT > 8.
74449
74450 2006-03-24  Eric Blake  <ebb9@byu.net>
74451
74452         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
74453
74454 2006-03-22  Karl Berry  <karl@gnu.org>
74455
74456         * config/srclist.txt (*setenv.[ch]): get from coreutils.
74457         * config/srclistvars.sh (COREUTILS): new var.
74458
74459 2006-03-17  Jim Meyering  <jim@meyering.net>
74460
74461         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
74462         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
74463
74464 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
74465
74466         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
74467         no longer needs it.  Instead, check that regoff_t is as least
74468         as wide as ptrdiff_t.
74469
74470         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
74471         so that our regex.h stays compatible with the installed regex.
74472         This is helpful for installers who configure --without-included-regex.
74473         Problem reported by Emanuele Giaquinta.
74474
74475 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
74476
74477         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
74478         Typedef to long int, not to off_, as POSIX will likely change
74479         in that direction.
74480
74481 2006-03-15  Eric Blake  <ebb9@byu.net>
74482
74483         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
74484
74485 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
74486
74487         * lib/argp-help.c (validate_uparams): Fix typo
74488         * lib/argp-parse.c (argp_default_options): Consistently begin help
74489         messages with a lowercase letter.
74490
74491 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
74492
74493         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
74494         overrun buffers and shouldn't be used (much as gets shouldn't be
74495         used).
74496         * lib/time_r.c (asctime_r, ctime_r): Likewise.
74497
74498 2006-03-08  Simon Josefsson  <jas@extundo.com>
74499
74500         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
74501         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74502
74503 2006-03-08  Simon Josefsson  <jas@extundo.com>
74504
74505         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
74506         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74507
74508 2006-03-08  Simon Josefsson  <jas@extundo.com>
74509
74510         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
74511         signal that configure disabled the device.
74512
74513 2006-03-08  Simon Josefsson  <jas@extundo.com>
74514
74515         * build-aux/maint.mk: Fix refresh-po, to handle no translated
74516         languages.
74517
74518 2006-03-07  Simon Josefsson  <jas@extundo.com>
74519
74520         * modules/getopt (Depends-on): Add unistd.
74521
74522         * modules/unistd: New file.
74523
74524 2006-03-07  Simon Josefsson  <jas@extundo.com>
74525
74526         * modules/gc-random: New file.
74527
74528 2006-03-07  Simon Josefsson  <jas@extundo.com>
74529
74530         * m4/unistd_h.m4: New file.
74531
74532 2006-03-07  Simon Josefsson  <jas@extundo.com>
74533
74534         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
74535         test to be side-effect free by storing the result in the cache
74536         variable gl_cv_lib_readline, and moving the assignment of
74537         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
74538         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74539
74540 2006-03-07  Simon Josefsson  <jas@extundo.com>
74541
74542         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
74543         error on missing devices (the functions will return an error).
74544
74545         * m4/gc.m4: Move random stuff to gc-random.m4
74546
74547 2006-03-07  Simon Josefsson  <jas@extundo.com>
74548
74549         * lib/unistd_.h: New file.
74550
74551 2006-03-07  Simon Josefsson  <jas@extundo.com>
74552
74553         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
74554
74555 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
74556
74557         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
74558         Problem reported by Juan Manuel Guerrero.
74559
74560 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
74561
74562         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
74563         the unistd module.
74564         * lib/getlogin_r.c: Likewise.
74565         * lib/getlogin_r.h: Likewise.
74566         * lib/glob.c: Likewise.
74567         * lib/pagealign_alloc.c: Likewise.
74568         * lib/unistd_.h: Remove; no longer needed.
74569
74570 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
74571
74572         * MODULES.html.sh (Support for systems lacking POSIX:2001):
74573         Add unistd.
74574         * modules/c-stack (Depends-on): Add unistd.
74575         * modules/getlogin_r: Likewise.
74576         * modules/glob: Likewise.
74577         * modules/pagealign_alloc: Likewise.
74578         * modules/unistd (Files): Remove lib/unistd_.h.
74579         (EXTRA_DIST): Remove.
74580         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
74581         need unistd_.h.
74582         (MOSTLYCLEANFILES): Remove unistd.h-t.
74583
74584 2006-03-03  Simon Josefsson  <jas@extundo.com>
74585
74586         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
74587
74588 2006-03-03  Simon Josefsson  <jas@extundo.com>
74589
74590         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
74591         libidn and bison.
74592
74593 2006-03-03  Simon Josefsson  <jas@extundo.com>
74594
74595         * build-aux/maint.mk: Add indent target.
74596
74597 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
74598
74599         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
74600         our replacement poll.h in any case, to avoid a differing
74601         declaration from a system header.  Seen on AIX.
74602
74603 2006-03-01  Simon Josefsson  <jas@extundo.com>
74604
74605         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
74606         <kasal@ucw.cz>.
74607
74608 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
74609
74610         * modules/gettime (Depends-on): Add extensions module.
74611         * modules/nanosleep (Depends-on): Likewise.
74612         * modules/settime (Depends-on): Likewise.
74613
74614 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
74615
74616         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
74617         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
74618         pedantically.
74619         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74620         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
74621
74622         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
74623         not "==".  Reported by Ralf Wildenhues.
74624
74625 2006-03-01  Karl Berry  <karl@gnu.org>
74626
74627         * doc/Copyright/request-*: new files, synced from gnuorg.
74628
74629 2006-03-01  Karl Berry  <karl@gnu.org>
74630
74631         * config/srclist.txt (Copyright/*): new entries.
74632
74633 2006-02-28  Simon Josefsson  <jas@extundo.com>
74634
74635         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
74636
74637 2006-02-27  Simon Josefsson  <jas@extundo.com>
74638
74639         * lib/base64.h: Indent #define's.  From Jim Meyering
74640         <jim@meyering.net>.
74641
74642 2006-02-27  Jim Meyering  <jim@meyering.net>
74643
74644         Revert the change of 2006-02-24, so these files can continue
74645         to be sync'd from gettext.
74646         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
74647         of `config.h'.
74648
74649 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
74650
74651         * modules/intprops: New file.
74652         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
74653         Add intprops.
74654         * modules/getloadavg (Files): Remove lib/intprops.h.
74655         (Depends-on): Add intprops.
74656         * modules/human: Likewise.
74657         * modules/inttostr: Likewise.
74658         * modules/openat: Likewise.
74659         * modules/sig2str: Likewise.
74660         * modules/userspec: Likewise.
74661         * modules/utimecmp: Likewise.
74662         * modules/xnanosleep: Likewise.
74663         * modules/xstrtol: Likewise.
74664
74665 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
74666
74667         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
74668         * modules/lock-tests (TESTS): Use $(EXEEXT).
74669         * modules/tls-tests: Likewise.
74670         * modules/argp-tests: Likewise.
74671         (check_PROGRAMS): New var, replacing...
74672         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
74673
74674 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74675
74676         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
74677         `config.h'.
74678
74679 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
74680
74681         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
74682
74683 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74684
74685         Sync from coreutils.
74686         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
74687         gl_CHDIR_SAFER.
74688
74689 2006-02-22  Jim Meyering  <jim@meyering.net>
74690
74691         Sync from coreutils.
74692         * m4/chdir-safer.m4: New file.
74693
74694 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
74695
74696         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
74697         AT_FDCWD exceeds INT_MAX.
74698         * lib/openat.h (AT_FDCWD): Likewise.
74699
74700 2006-02-17  Eric Blake  <address@hidden>
74701
74702         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
74703
74704 2006-02-16  Simon Josefsson  <jas@extundo.com>
74705
74706         * modules/getaddrinfo (Depends-on): Add sys_socket.
74707
74708 2006-02-15  Simon Josefsson  <jas@extundo.com>
74709
74710         * build-aux/maint.mk: Add dsyntax-check rule.
74711
74712 2006-02-15  Eric Blake  <ebb9@byu.net>
74713
74714         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
74715         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
74716         'present but cannot compile' warnings on cygwin.
74717         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
74718         use ws2tcpip.h if sys/socket.h works.
74719         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
74720         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
74721
74722 2006-02-14  Simon Josefsson  <jas@extundo.com>
74723
74724         * modules/maintainer-makefile (Files): Rename.
74725
74726         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
74727         and (the local) Makefile.cfg to maint-cfg.mk.
74728
74729         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
74730         to the latter.
74731
74732         * modules/maintainer-makefile: New module.
74733
74734         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
74735         severaly stripped to make it possible to build it up from scratch
74736         with reliable tests.
74737
74738         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
74739         fixes to permit overriding the default actions when configure and
74740         makefile are not available.
74741
74742 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
74743
74744         Sync from coreutils.
74745         * modules/lstat (Depends-on): Don't depend on xalloc.
74746         (License): Change from GPL to LGPL, since this is now simply a
74747         replacement for a libc function.
74748
74749 2006-02-14  Jim Meyering  <jim@meyering.net>
74750
74751         Sync from coreutils.
74752
74753         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
74754         failure on deficient systems, and simplify gnulib lgpl dependencies.
74755         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
74756         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
74757
74758         * lib/xalloc-die.c: Remove unused definition of N_.
74759
74760 2006-02-14  Jim Meyering  <jim@meyering.net>
74761
74762         Sync from coreutils.
74763         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
74764         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
74765         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
74766         double-quote uses of that variable, to accommodate the rare case in
74767         which getmntent is available in none of the libraries checked.  This
74768         happens at least on FreeBSD 5.0.
74769
74770 2006-02-13  Simon Josefsson  <jas@extundo.com>
74771
74772         * gnulib-tool (Usage): Fix --import, from
74773         karl@freefriends.org (Karl Berry).
74774
74775 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
74776
74777         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
74778
74779 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
74780
74781         * lib/argp-namefrob.h: Restore changes accidentally lost during the
74782         "autoupdate" on 2005-12-12.
74783
74784 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
74785
74786         * modules/closeout (Depends-on): Remove atexit.
74787
74788 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
74789
74790         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
74791         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
74792
74793 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
74794
74795         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
74796         __EXTENSIONS__ if this causes compilation to fail.  Problem
74797         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
74798         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
74799
74800 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
74801
74802         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
74803         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
74804         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
74805         All uses changed.
74806
74807 2006-01-26  Simon Josefsson  <jas@extundo.com>
74808
74809         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
74810         prototype is visible on mingw32.
74811
74812         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
74813         for mingw32.
74814
74815         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
74816         mingw32).
74817
74818 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
74819
74820         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
74821         attempt to open for write; this always fails, at least on POSIX
74822         hosts.  This reinstates the 2006-01-09 change, which was
74823         inadvertently removed.
74824
74825 2006-01-26  Bruno Haible  <bruno@clisp.org>
74826
74827         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
74828         Reported by Paul Eggert.
74829
74830 2006-01-26  Bruno Haible  <bruno@clisp.org>
74831             Paul Eggert  <eggert@cs.ucla.edu>
74832
74833         * lib/stdbool_.h (_Bool)
74834         [(! (defined __cplusplus || defined __BEOS__)
74835           && !defined __GNUC__
74836           && !(defined __HP_cc || defined __xlc__
74837                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
74838                || defined __sgi))]:
74839         #define to signed char in these cases too; this simplifies
74840         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
74841         etc., separately) and makes it more conservative.
74842
74843 2006-01-25  Simon Josefsson  <jas@extundo.com>
74844
74845         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
74846         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
74847         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
74848
74849 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
74850
74851         * lib/argp-namefrob.h: Bugfix. Remove stray #
74852
74853 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
74854
74855         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
74856         so that we test the test.
74857         Check for yet another HP-UX cc bug involving *bool |= bool.
74858
74859 2006-01-25  Karl Berry  <karl@gnu.org>
74860
74861         * config/srclist.txt (vasnprintf.c): sync lost.
74862
74863 2006-01-25  Jim Meyering  <jim@meyering.net>
74864
74865         Sync from the stable (b5) branch of coreutils:
74866
74867         * lib/fts.c (fts_children): Don't let close() clobber errno from
74868         failed fchdir().
74869
74870         * lib/fts.c (fts_stat): When following a symlink-to-directory,
74871         don't necessarily interpret stat-fails+lstat-succeeds as indicating
74872         a dangling symlink.  That can also happen at least for ELOOP.
74873         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
74874         FYI, this bug predates the inclusion of fts.c in coreutils.
74875
74876         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
74877         in their own block, so pre-c99 compilers don't object.
74878
74879         Avoid the double-free (first in fts_read, second in fts_close) that
74880         would occur when an `active' directory is made inaccessible (e.g.,
74881         via chmod a-x) during a traversal.
74882         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
74883         before returning.  Reproduce this failure by
74884         mkdir -p a/b; cd a; chmod a-x . b
74885         Reported by Stavros Passas.
74886
74887 2006-01-25  Jim Meyering  <jim@meyering.net>
74888
74889         * lib/fileblocks.c: Remove more useless parentheses.
74890         * lib/readutmp.h: Likewise.
74891
74892 2006-01-25  Bruno Haible  <bruno@clisp.org>
74893
74894         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
74895         warnings.
74896         Reported by Paul Eggert.
74897
74898 2006-01-25  Bruno Haible  <bruno@clisp.org>
74899
74900         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
74901         rid of a trap command. For Solaris sh.
74902         Reported by Mark D. Baushke <mdb@gnu.org>.
74903
74904 2006-01-24  Simon Josefsson  <jas@extundo.com>
74905
74906         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
74907         Bruno.
74908
74909 2006-01-24  Karl Berry  <karl@gnu.org>
74910
74911         * config/srclist.txt (argp-namefrob.h): sync lost.
74912
74913 2006-01-24  Jim Meyering  <jim@meyering.net>
74914
74915         * modules/openat (Files): Add lib/intprops.h.
74916         From Mark D. Baushke.
74917
74918 2006-01-24  Jim Meyering  <jim@meyering.net>
74919
74920         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
74921         Reported by Mark D. Baushke.
74922
74923 2006-01-24  Jim Meyering  <jim@meyering.net>
74924
74925         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
74926
74927 2006-01-24  Bruno Haible  <bruno@clisp.org>
74928
74929         * modules/strnlen (Maintainer): Change from glibc to all.
74930
74931 2006-01-24  Bruno Haible  <bruno@clisp.org>
74932
74933         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
74934         Patch by Paul Eggert.
74935
74936 2006-01-24  Bruno Haible  <bruno@clisp.org>
74937
74938         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
74939         already has it.
74940         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
74941         2005-11-26.
74942
74943         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
74944         'signed char' to avoid problems with the built-in _Bool type.
74945         Reported by Paul Eggert on 2005-11-26.
74946
74947 2006-01-24  Bruno Haible  <bruno@clisp.org>
74948
74949         * gnulib-tool (func_import): Avoid constructing complicated sed
74950         expressions inside backquote.
74951         Report and solution by Mark D. Baushke <mdb@gnu.org>.
74952
74953 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
74954
74955         These changes imported from libc.
74956         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
74957         test and two separate function calls.
74958         * lib/strndup.c (__strndup): Add libc_hidden_def.
74959
74960 2006-01-23  Simon Josefsson  <jas@extundo.com>
74961
74962         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
74963         Remove the test_*_SOURCES variable: automake infers it by default.
74964         * modules/tls-tests: Likewise.
74965
74966 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74967
74968         Work around porting bugs reported by Dieter in
74969         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
74970         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
74971         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
74972         Include "getopt.h" first, to check interface.
74973         (getenv): Declare only if defined HAVE_DECL_GETENV &&
74974         !HAVE_DECL_GETENV.
74975         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
74976         (__strndup): Revert to K&R-style function dfns, the glibc style.
74977         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
74978         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
74979         Include strnlen.h first, to get prototype properly.
74980         (strnlen): Renamed from __strnlen.
74981         Remove weak alias.
74982
74983 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74984
74985         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
74986
74987 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74988
74989         * config/srclist.txt: Adjust to reflect glibc reorganization.
74990         This affects only comments.
74991
74992 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74993
74994          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
74995          Reported by Bruce Korb <bkorb@gnu.org>.
74996
74997 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
74998
74999         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
75000         to pacify gcc -Wswitch-default.
75001
75002 2006-01-22  Bruno Haible  <bruno@clisp.org>
75003
75004         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
75005         temporary buffer for sprintf, take into account the precision also
75006         for 'd', 'i', 'u', 'o', 'x', 'X'.
75007
75008 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
75009
75010         * modules/argp-tests: New module
75011         * tests/test-argp.c: New file
75012         * tests/test-argp-2.sh: New file
75013
75014 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
75015
75016         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
75017         (__argp_base_name): Removed
75018         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
75019         typo.
75020         (__argp_base_name): Provide macro definition or extern declaration
75021         depending on the configuration
75022
75023 2006-01-20  Simon Josefsson  <jas@extundo.com>
75024
75025         * modules/inet_ntop (Depends-on): Depend on sys_socket.
75026
75027 2006-01-20  Simon Josefsson  <jas@extundo.com>
75028
75029         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
75030
75031 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
75032
75033         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
75034         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
75035         Suggested by Bruno Haible.
75036
75037 2006-01-20  Karl Berry  <karl@gnu.org>
75038
75039         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
75040         until changes propagate, I guess.
75041
75042 2006-01-19  Simon Josefsson  <jas@extundo.com>
75043
75044         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
75045
75046 2006-01-19  Simon Josefsson  <jas@extundo.com>
75047
75048         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
75049
75050 2006-01-19  Simon Josefsson  <jas@extundo.com>
75051
75052         * gnulib-tool: Set check_PROGRAMS.
75053
75054         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
75055         modules/des-tests, modules/gc-arcfour-tests,
75056         modules/gc-arctwo-tests, modules/gc-des-tests,
75057         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
75058         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
75059         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
75060         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
75061         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
75062         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
75063         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
75064         test_*_SOURCES.
75065
75066 2006-01-18  Simon Josefsson  <jas@extundo.com>
75067
75068         * modules/socklen (Depends-on): Depend on sys_socket.
75069
75070 2006-01-18  Simon Josefsson  <jas@extundo.com>
75071
75072         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
75073         modules/des-tests, modules/gc-arcfour-tests,
75074         modules/gc-arctwo-tests, modules/gc-des-tests,
75075         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
75076         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
75077         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
75078         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
75079         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
75080         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
75081         $(EXEEXT) to automake TESTS variable, for mingw32.
75082
75083 2006-01-17  Simon Josefsson  <jas@extundo.com>
75084
75085         * modules/socklen (Include): Need sys/socket.h.
75086
75087 2006-01-17  Bruno Haible  <bruno@clisp.org>
75088
75089         * modules/ssize_t (Include): Add <sys/types.h>.
75090
75091 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
75092
75093         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
75094         it's not portable and it doesn't work with cross-compiles.
75095         Problem reported by Bruno Haible.  Fix missing-$ typo in
75096         'test "gl_cv_ignore_unused_libraries" ...' that prevented
75097         -zignore from being used with Sun's C compiler.
75098
75099 2006-01-12  Simon Josefsson  <jas@extundo.com>
75100
75101         * lib/base64.c: Fix warning, reported by Bruno Haible
75102         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
75103
75104 2006-01-12  Bruno Haible  <bruno@clisp.org>
75105
75106         * modules/ldd: New file.
75107         * build-aux/ldd.sh.in: New file.
75108         * MODULES.html.sh (Support for building libraries and executables): Add
75109         ldd.
75110
75111 2006-01-12  Bruno Haible  <bruno@clisp.org>
75112
75113         * m4/ldd.m4: New file.
75114
75115 2006-01-12  Bruno Haible  <bruno@clisp.org>
75116
75117         * gnulib-tool (func_import, func_create_testdir): Don't go into an
75118         endless loop while replacing $auxdir with build-aux.
75119
75120 2006-01-11  Simon Josefsson  <jas@extundo.com>
75121
75122         * lib/stdint_.h (SIZE_MAX): Add missing (.
75123
75124 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
75125
75126         Sync from coreutils.
75127         * lib/md5.c: Fix commentary typos.
75128         (alignof, UNALIGNED_P): No need for a GCC-specific version.
75129         * lib/md5.h (__attribute__): Remove; unused.
75130         * lib/sha1.c: Fix commentary to match md5 better.
75131         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
75132         so that we don't need to worry about alignment.  All uses changed.
75133         This merges the 2005-10-28 md5 change into sha1.
75134
75135 2006-01-11  Jim Meyering  <jim@meyering.net>
75136
75137         Sync from coreutils.
75138         * lib/md5.c (OP): Fix spacing.
75139
75140 2006-01-11  Bruno Haible  <bruno@clisp.org>
75141
75142         Ensure automatic ordering between gl_LOCK and gl_ARGP.
75143         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
75144         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
75145
75146 2006-01-11  Bruno Haible  <bruno@clisp.org>
75147
75148         Ensure automatic ordering between gl_LOCK and gl_ARGP.
75149         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
75150         the "early" section as well.
75151
75152 2006-01-11  Bruno Haible  <bruno@clisp.org>
75153
75154         Avoid "ar: no archive members specified" error on MacOS X.
75155         * gnulib-tool (func_modules_add_dummy): New function.
75156         (func_import, func_create_testdir): Invoke it.
75157
75158 2006-01-11  Bruno Haible  <bruno@clisp.org>
75159
75160         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
75161         with $auxdir in AC_CONFIG_FILES statements.
75162
75163 2006-01-11  Bruno Haible  <bruno@clisp.org>
75164
75165         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75166         Initialize also noinst_HEADERS to empty.
75167
75168 2006-01-11  Bruno Haible  <bruno@clisp.org>
75169
75170         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
75171         variables.
75172         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
75173         autoreconf.
75174
75175 2006-01-11  Bruno Haible  <bruno@clisp.org>
75176
75177         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
75178         overridable by the user.
75179         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75180
75181 2006-01-10  Simon Josefsson  <jas@extundo.com>
75182
75183         * modules/sys_socket: New file.
75184
75185 2006-01-10  Simon Josefsson  <jas@extundo.com>
75186
75187         * m4/sys_socket_h.m4: New file.
75188
75189 2006-01-10  Simon Josefsson  <jas@extundo.com>
75190
75191         * lib/socket_.h: New file.
75192
75193 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75194
75195         * modules/readutmp (Maintainer): Add myself.
75196
75197 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75198
75199         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
75200         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
75201         People who are still concerned with buggy memcmp implementations
75202         can invoke gl_FUNC_MEMCMP themselves.
75203
75204 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75205
75206         * lib/regex_internal.h (BITSET_WORD_BITS):
75207         Work around a bug in 64-bit PGC (before version 6.1-2), where the
75208         preprocessor mishandles large unsigned values as if they were signed.
75209         Problem reported by Claudio Fontana in
75210         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
75211
75212 2006-01-10  Jim Meyering  <jim@meyering.net>
75213
75214         Avoid the double-free (first in fts_read, second in fts_close) that
75215         would occur when an `active' directory is made inaccessible (e.g.,
75216         via chmod a-x) during a traversal.
75217         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
75218         before returning.  Reproduce this failure by
75219         mkdir -p a/b; cd a; chmod a-x . b
75220         Reported by Stavros Passas.
75221
75222         Sync from coreutils.
75223         * lib/sha1.c: Tweak grammar in a comment.
75224
75225 2006-01-10  Jim Meyering  <jim@meyering.net>
75226
75227         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
75228         Patch by Joerg Sonnenberger.
75229
75230 2006-01-10  Bruno Haible  <bruno@clisp.org>
75231
75232         * modules/readutmp: Depend on module free.
75233         * modules/strtok_r: Depend on module restrict.
75234
75235 2006-01-10  Bruno Haible  <bruno@clisp.org>
75236
75237         * modules/gettext (configure.ac): Add an invocation of
75238         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
75239
75240 2006-01-10  Bruno Haible  <bruno@clisp.org>
75241
75242         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
75243         Reported by Werner Lemberg <wl@gnu.org>.
75244
75245 2006-01-10  Bruno Haible  <bruno@clisp.org>
75246
75247         * lib/localcharset.c: Update from GNU gettext.
75248
75249 2006-01-10  Bruno Haible  <bruno@clisp.org>
75250
75251         * lib/argp.h (__const): Remove macro. Use const instead.
75252         * lib/argp-fmtstream.h (__const): Likewise.
75253         * lib/glob_.h (__const): Remove macro.
75254         * lib/glob-libc.h: Use const instead of __const.
75255
75256 2006-01-10  Bruno Haible  <bruno@clisp.org>
75257
75258         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
75259         variable.
75260         Needed to avoid an automake error regarding the 'gettext' module.
75261
75262 2006-01-09  Simon Josefsson  <jas@extundo.com>
75263
75264         * modules/inet_ntop (Depends-on): Add restrict.
75265
75266 2006-01-09  Simon Josefsson  <jas@extundo.com>
75267
75268         * modules/gc-rijndael-tests (License): Put under LGPL.
75269
75270         * modules/gc-des-tests (License): Likewise.
75271
75272         * modules/gc-arcfour-tests (License): Likewise.
75273
75274         * modules/gc-arctwo-tests (License): Likewise.
75275
75276         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
75277
75278         * modules/gc-hmac-sha1-tests (Files): Likewise.
75279
75280         * modules/gc-hmac-md5-tests (License): Likewise.
75281
75282         * modules/gc-sha1-tests (License): Likewise.
75283
75284         * modules/gc-md5-tests (License): Likewise.
75285
75286         * modules/gc-md4-tests (License): Likewise.
75287
75288         * modules/gc-md2-tests (License): Likewise.
75289
75290         * modules/gc-tests (License): Likewise.
75291
75292         * modules/des-tests (License): Likewise.
75293
75294         * modules/md4-tests (License): Likewise.
75295
75296         * modules/md2-tests (License): Likewise.
75297
75298 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75299
75300         Sync from coreutils:
75301
75302         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
75303         * modules/lib-ignore: New file.
75304         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
75305         chdir-safer.m4, lchmod.m4.
75306         * modules/openat: Add mkdirat.c, openat-priv.h.
75307
75308 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75309
75310         Sync from coreutils.
75311         * m4/lib-ignore.m4: New file.
75312         * m4/lchmod.m4: New file.
75313
75314 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75315
75316         Sync from coreutils.
75317         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
75318         for write access: POSIX says that must fail.
75319         * lib/fts.c (diropen): Likewise.
75320         * lib/save-cwd.c (save_cwd): Likewise.
75321         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
75322         well, for minor improvements on hosts that lack O_DIRECTORY.
75323         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
75324         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
75325         Fall back on chown if open failed with EACCES.
75326
75327         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
75328         Report an error at compile-time if only a 1-second nominal clock
75329         resolution is found.
75330
75331         * lib/lchmod.h: New file.
75332         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
75333         (make_dir_parents): Use lchown rather than chown, and
75334         lchmod rather than chmod.
75335
75336         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
75337         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
75338         "proc" reported by n0dalus.
75339
75340         * lib/mountlist.c: Include <limits.h>.
75341         (dev_from_mount_options)
75342         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
75343         New function.  It no longer assumes "dev=" has the System V meaning
75344         on Linux (since it doesn't).  It also parses "dev=" more carefully.
75345         (read_file_system_list)
75346         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
75347         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
75348         dev= in that case.
75349
75350         * lib/posixtm.h (PDS_PRE_2000): New macro.
75351         * lib/posixtm.c (year): Arg is now syntax_bits rather than
75352         allow_century.  All usages changed.  Reject dates outside the range
75353         1969-1999 if PDS_PRE_2000 is used.
75354
75355 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75356
75357         Sync from coreutils.
75358         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
75359         (Time of day items): Mention the possibility of leap seconds.
75360         Problem reported by Dr. David Alan Gilbert.
75361
75362 2006-01-09  Jim Meyering  <jim@meyering.net>
75363
75364         Sync from coreutils.
75365
75366         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
75367
75368         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
75369
75370         * lib/modechange.c (mode_compile): Reject an invalid mode string
75371         that starts with an octal digit.  From Andreas Gruenbacher.
75372
75373         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
75374         and dup to open_safer and dup_safer, respectively.
75375         (openat_permissive): Fix typo in comment.
75376
75377         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
75378         "gettext.h"; either no longer needed or are guaranteed by openat.h.
75379         (_): Remove; no longer needed.
75380         (openat): Renamed from rpl_openat; no need for rpl_openat
75381         since openat.h renames openat for us.
75382         Replace most of the body with a call to openat_permissive,
75383         to avoid duplicate code.
75384         Port to (probably hypothetical) environments were mode_t is
75385         wider than int.
75386         (openat_permissive): Require mode arg, so that we can check
75387         types better.  Put it just after flags.  Change cwd failure
75388         indicator from pointer-to-bool to pointer-to-errno-value.
75389         All callers changed.
75390         Invoke openat_save_fail and/or openat_restore_fail if
75391         cwd_errno is null, so that openat can call us.
75392         (openat_permissive, fdopendir, fstatat, unlinkat):
75393         Simplify errno handling to avoid some duplicate code,
75394         as it's OK to set errno on success.
75395         * lib/openat.h: Revamp code so that function macros depend on
75396         __OPENAT_PREFIX only, not also on AT_FDCWD.
75397         (openat_ro): Remove.  Caller changed to use openat_permissive.
75398         (openat_permissive): Now a macro, if not a function.
75399         (openat_restore_fail, openat_save_fail): Now always functions,
75400         since mkdirat needs them even if __OPENAT_PREFIX is defined.
75401
75402         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
75403         and openat.c.
75404         * lib/mkdirat.c: Include openat-priv.h.
75405         Remove definitions of macros defined therein.
75406         * lib/openat.c: Likewise.
75407
75408         * lib/mkdirat.c (mkdirat): New file and function.
75409         * lib/openat.h (mkdirat): Declare.
75410
75411         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
75412
75413         * lib/openat.h (openat_permissive): Declare.
75414         (openat_ro): Define.
75415
75416         * lib/openat.c (EXPECTED_ERRNO): New macro.
75417         (openat_permissive): New function -- used in remove.c rewrite.
75418         (all functions): Set errno just before returning, only if there
75419         was an actual failure.
75420         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
75421
75422         Emulate openat-family functions using Linux's procfs, if possible.
75423         Idea and some code based on Ulrich Drepper's glibc changes.
75424
75425         * lib/openat.c: (BUILD_PROC_NAME): New macro.
75426         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
75427         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
75428         before falling back on save_cwd and restore_cwd.
75429         (fdopendir, fstatat, unlinkat): Likewise.
75430
75431         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
75432         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
75433
75434         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
75435         as second argument to va_arg.  Otherwise, some versions of gcc
75436         warn that `if this code is reached, the program will abort'.
75437
75438 2006-01-09  Jim Meyering  <jim@meyering.net>
75439
75440         Sync from coreutils.
75441         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
75442         Require openat-priv.h.
75443
75444 2006-01-09  Bruno Haible  <bruno@clisp.org>
75445
75446         * modules/strnlen (Include): Use strnlen.h.
75447
75448 2006-01-09  Bruno Haible  <bruno@clisp.org>
75449
75450         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
75451
75452 2006-01-09  Bruno Haible  <bruno@clisp.org>
75453
75454         * lib/sysexit_.h (EX_OK): New macro.
75455         Suggested by Martin Lambers <marlam@marlam.de>.
75456
75457 2006-01-09  Bruno Haible  <bruno@clisp.org>
75458
75459         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
75460         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
75461
75462 2006-01-09  Bruno Haible  <bruno@clisp.org>
75463
75464         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
75465         numbers.
75466
75467 2006-01-09  Bruno Haible  <bruno@clisp.org>
75468
75469         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
75470         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
75471         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
75472         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
75473
75474 2006-01-09  Bruno Haible  <bruno@clisp.org>
75475
75476         * build-aux/javacomp.sh.in: New file, moved from lib/.
75477         * modules/javacomp-script (Files): Update.
75478         (configure.ac): Add AC_CONFIG_FILES invocation.
75479         (EXTRA_DIST): Remove variable.
75480
75481         * build-aux/javaexec.sh.in: New file, moved from lib/.
75482         * modules/javaexec (Files): Update.
75483         (configure.ac): Add AC_CONFIG_FILES invocation.
75484         (EXTRA_DIST): Remove javaexec.sh.in.
75485
75486         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
75487         * modules/csharpcomp-script (Files): Update.
75488         (configure.ac): Add AC_CONFIG_FILES invocation.
75489         (EXTRA_DIST): Remove variable.
75490
75491         * build-aux/csharpexec.sh.in: New file, moved from lib/.
75492         * modules/csharpexec (Files): Update.
75493         (configure.ac): Add AC_CONFIG_FILES invocation.
75494         (EXTRA_DIST): Remove csharpexec.sh.in.
75495
75496 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
75497
75498         Sync from coreutils.
75499
75500         Add POSIX ACL support
75501         * lib/acl.h (copy_acl, set_acl): Add declarations.
75502         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
75503         systems other than Linux.
75504         (chmod_or_fchmod): New function: use fchmod when possible,
75505         and chmod otherwise.
75506         (file_has_acl): Add a POSIX ACL implementation, with a
75507         Linux-specific subcase.
75508         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
75509         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
75510         acls are unsupported.
75511         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
75512         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
75513         are unsupported.
75514
75515 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
75516
75517         Sync from coreutils.
75518         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
75519
75520 2006-01-07  Bruno Haible  <bruno@clisp.org>
75521
75522         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
75523         gl_EARLY.
75524
75525 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75526
75527         * lib/strftime.c (tzname): Don't declare if it is already #defined.
75528         Problem reported for Mingw by Mark Junker.
75529
75530 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75531
75532         * README: Gnulib normally doesn't generate a tarball.
75533
75534 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
75535
75536         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
75537         long int, not int, for nanosecond counts, so that people who are
75538         used to POSIX struct timespec won't be surprised.  Reported by Jim
75539         Meyering.
75540
75541 2005-12-28  Bruno Haible  <bruno@clisp.org>
75542
75543         * build-aux/config.rpath: Update from GNU gettext.
75544
75545 2005-12-16  Jim Meyering  <jim@meyering.net>
75546
75547         * modules/fprintftime: New module.
75548         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
75549
75550 2005-12-16  Jim Meyering  <jim@meyering.net>
75551
75552         * m4/fprintftime.m4: New file.
75553
75554 2005-12-16  Jim Meyering  <jim@meyering.net>
75555
75556         * lib/fprintftime.c, lib/fprintftime.h: New files.
75557
75558 2005-12-15  Simon Josefsson  <jas@extundo.com>
75559
75560         * modules/socklen (configure.ac): Fix M4 macro name, to align with
75561         new m4/socklen.m4.
75562
75563 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
75564
75565         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
75566         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
75567
75568 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
75569
75570         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
75571         * lib/argp-help.c (fill_in_uparams): Check if the constructed
75572         struct uparams is valid. Fall back to the default values if it is
75573         not.
75574
75575 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75576
75577         * modules/argp (Files): Add argp-pin.c
75578         (Depends-on): dirname
75579         (lib_SOURCES): Add argp-pin.c
75580
75581 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75582
75583         * m4/argp.m4:  Check if program_invocation_name and
75584         program_invocation_short_name are declared and define appropriate
75585         macros if they are not.
75586
75587 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75588
75589         * lib/argp-help.c (__argp_base_name): New function
75590         (__argp_short_program_name): Rewrite using __argp_base_name
75591         * lib/argp-namefrob.h: Define program_invocation_name and
75592         program_invocation_short_name if requested
75593         (__argp_base_name): Add prototype
75594         * lib/argp-parse.c (argp_def): Use gettext wrappers
75595         (argp_default_parser): Use __argp_base_name
75596         * lib/argp-pin.c: New file. Defines program_invocation_name and
75597         program_invocation_short_name on systems that lack them.
75598
75599 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
75600
75601         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
75602         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
75603         porting problem reported by Georg Schwarz in
75604         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
75605
75606 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
75607
75608         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
75609         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
75610         porting problem reported by Georg Schwarz in
75611         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
75612
75613 2005-12-05  Bruno Haible  <bruno@clisp.org>
75614
75615         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
75616         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
75617         Reported by Mark Junker <mjscod@gmx.de>.
75618
75619 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
75620
75621         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
75622         Use implementation from Albert Chin, with some
75623         comments/corrections by Stepan Kasal and myself.
75624
75625 2005-12-02  Bruno Haible  <bruno@clisp.org>
75626
75627         * gnulib-tool (func_import): Accept GPLed build tool modules when
75628         --lgpl is given.
75629         * modules/csharpcomp-script: New file.
75630         * modules/csharpcomp: Depend on it.
75631         * modules/javacomp-script: New file.
75632         * modules/javacomp: Depend on it.
75633         Suggested by Simon Josefsson.
75634
75635 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
75636
75637         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
75638         statement, to work around an HP-UX 10.20 compiler bug reported by
75639         Peter O'Gorman.
75640
75641 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
75642
75643         * modules/savedir (Depends-on): Add openat.
75644
75645 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
75646
75647         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
75648         (uintmax_t) [defined uintmax_t]: Do not declare.
75649         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
75650         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
75651         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
75652         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
75653         sake of portability to weird hosts that C allows (though we don't
75654         know of any practical examples).
75655
75656         * lib/savedir.h (fdsavedir): New decl.
75657         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
75658         contains most of the former guts of savedir.
75659         (savedir): Use savedirstream.
75660         Include "openat.h".
75661
75662 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
75663
75664         * modules/obstack (Files): Add m4/ulonglong.m4.
75665         Problem reported by Davide Angelocola.
75666
75667 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
75668
75669         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
75670         coreutils no longer futzes with rounding modes.
75671
75672 2005-11-14  Jim Meyering  <jim@meyering.net>
75673
75674         * lib/mkstemp-safer.c: Include <config.h>, required for possible
75675         replacement of mkstemp.
75676
75677 2005-11-10  Simon Josefsson  <jas@extundo.com>
75678
75679         * lib/readline.c: Remove EOL.
75680
75681 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
75682
75683         * modules/gethrxtime (Depends-on): Add gettime.
75684
75685 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
75686
75687         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
75688         or gettimeofday; no longer needed.
75689
75690 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
75691
75692         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
75693         time business.
75694         (gethrxtime) [! (HAVE_NANOUPTIME
75695         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
75696         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
75697         our own approximation.
75698
75699 2005-11-08  Eric Blake  <ebb9@byu.net>
75700
75701         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
75702
75703 2005-11-08  Eric Blake  <ebb9@byu.net>
75704
75705         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
75706
75707 2005-11-04  Bruno Haible  <bruno@clisp.org>
75708
75709         * gnulib-tool: Implement --update mode.
75710
75711 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
75712
75713         Fix porting problem reported by Theodoros V. Kalamatianos.
75714         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
75715         Don't assume that futimes failing means we must fail.
75716
75717 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
75718
75719         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
75720         variables to suggest the intended function of the PATH_MAX check.
75721
75722 2005-10-30  Kean Johnston  <jkj@sco.com>
75723
75724         Trivial changes to support SCO systems.
75725         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
75726         as PATH_MAX.
75727         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
75728         where __ptr is null when no I/O is pending.
75729
75730 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
75731
75732         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
75733         leave errno alone.  Problem reported by Dmitry V. Levin.
75734
75735 2005-10-28  Simon Josefsson  <jas@extundo.com>
75736
75737         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
75738         Test more.
75739
75740         * tests/test-gc-md2.c, tests/test-md2.c: New files.
75741
75742         * modules/md2, modules/md2-tests: New files.
75743
75744 2005-10-28  Simon Josefsson  <jas@extundo.com>
75745
75746         * m4/inet_ntop.m4: More tests.
75747
75748         * m4/gc-md2.m4, md2.m4: New file.
75749
75750 2005-10-28  Simon Josefsson  <jas@extundo.com>
75751
75752         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
75753         "restrict" keywords, as per POSIX.  Protect the function
75754         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
75755         Don't use K&R prototypes.  Check the sprintf return values.
75756         Re-define EAFNOSUPPORT if not present.  Indent.
75757
75758         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
75759         suggested by Bruno Haible <bruno@clisp.org>.
75760
75761         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
75762
75763         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
75764
75765         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
75766         libgcrypt).
75767
75768         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
75769
75770         * lib/md2.h, lib/md2.c: New files.
75771
75772 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
75773
75774         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
75775         errno alone.  Problem reported by Frederic Jolliton.
75776
75777 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
75778
75779         * modules/verify (License): Change from GPL to LGPL.  This is a
75780         tiny module and there are apparently near-equivalents that are
75781         under the BSD license.
75782
75783 2005-10-24  Simon Josefsson  <jas@extundo.com>
75784
75785         * modules/sha1: Relicense to LGPL.
75786
75787 2005-10-24  Simon Josefsson  <jas@extundo.com>
75788
75789         * lib/md4.h: Shrink buffer size, now that we changed the type.
75790
75791 2005-10-23  Simon Josefsson  <jas@extundo.com>
75792
75793         * gnulib-tool (func_import): Fix --tests-base.
75794
75795 2005-10-22  Simon Josefsson  <jas@extundo.com>
75796
75797         * modules/arcfour (Depends-on): Need stdint.
75798
75799 2005-10-22  Simon Josefsson  <jas@extundo.com>
75800
75801         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
75802         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
75803
75804 2005-10-22  Simon Josefsson  <jas@extundo.com>
75805
75806         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
75807         suggested by Bruno Haible <bruno@clisp.org>.
75808
75809 2005-10-22  Simon Josefsson  <jas@extundo.com>
75810
75811         * lib/crc.h: Include stddef.h, for size_t.
75812
75813 2005-10-22  Simon Josefsson  <jas@extundo.com>
75814
75815         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
75816         arcfour_context struct (simplify test vector testing in GNU
75817         Shishi).
75818
75819 2005-10-21  Simon Josefsson  <jas@extundo.com>
75820
75821         * modules/des, modules/des-tests: New files.
75822
75823         * modules/gc-des, modules/gc-des-tests: New files.
75824
75825         * tests/test-des.c, tests/test-gc-des.c: New file.
75826
75827 2005-10-21  Simon Josefsson  <jas@extundo.com>
75828
75829         * modules/arctwo, modules/arctwo-tests: New files.
75830
75831         * tests/test-arctwo.c: New file.
75832
75833         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
75834
75835         * tests/test-gc-arctwo.c: New file.
75836
75837 2005-10-21  Simon Josefsson  <jas@extundo.com>
75838
75839         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
75840         Bruno Haible <bruno@clisp.org>.
75841
75842         * m4/gc-des.m4: New file.
75843
75844 2005-10-21  Simon Josefsson  <jas@extundo.com>
75845
75846         * m4/arctwo.m4: New file.
75847
75848         * m4/gc-arctwo.m4: New file.
75849
75850 2005-10-21  Simon Josefsson  <jas@extundo.com>
75851
75852         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
75853         block.
75854
75855 2005-10-21  Simon Josefsson  <jas@extundo.com>
75856
75857         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
75858         <bruno@clisp.org>.
75859
75860         * lib/hmac-sha1.c (hmac_sha1): Likewise.
75861
75862         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
75863         Bruno Haible <bruno@clisp.org>.
75864
75865         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
75866         <bruno@clisp.org>.
75867
75868 2005-10-21  Simon Josefsson  <jas@extundo.com>
75869
75870         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
75871
75872 2005-10-21  Simon Josefsson  <jas@extundo.com>
75873
75874         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
75875
75876 2005-10-21  Simon Josefsson  <jas@extundo.com>
75877
75878         * lib/des.h, lib/des.c: New files.
75879
75880         * lib/gc-gnulib.c: Support DES.c
75881
75882 2005-10-21  Simon Josefsson  <jas@extundo.com>
75883
75884         * lib/arctwo.h, lib/arctwo.c: New files.
75885
75886         * lib/gc-gnulib.c: Support ARCTWO.
75887
75888 2005-10-21  Simon Josefsson  <jas@extundo.com>
75889
75890         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
75891         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75892
75893 2005-10-21  Simon Josefsson  <jas@extundo.com>
75894
75895         * gnulib-tool (func_import, func_create_testdir): Define automake
75896         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
75897         Makefile.am snippet),
75898         suggested by Bruno Haible <bruno@clisp.org>.
75899
75900         * modules/gc (Makefile.am): Use it.
75901
75902 2005-10-21  Bruno Haible  <bruno@clisp.org>
75903
75904         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
75905         patch.
75906
75907 2005-10-19  Simon Josefsson  <jas@extundo.com>
75908
75909         * tests/test-gc-rijndael.c: New file.
75910
75911         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
75912
75913 2005-10-19  Simon Josefsson  <jas@extundo.com>
75914
75915         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
75916         interface too.
75917
75918 2005-10-19  Simon Josefsson  <jas@extundo.com>
75919
75920         * tests/test-gc-arcfour.c: New file.
75921
75922         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
75923
75924 2005-10-19  Simon Josefsson  <jas@extundo.com>
75925
75926         * modules/gc-md4, modules/gc-md4-tests: New file.
75927
75928         * tests/test-gc-md4.c: New file.
75929
75930 2005-10-19  Simon Josefsson  <jas@extundo.com>
75931
75932         * m4/gc-md4.m4: New file.
75933
75934 2005-10-19  Simon Josefsson  <jas@extundo.com>
75935
75936         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
75937         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
75938         <kasal@ucw.cz>.
75939
75940 2005-10-19  Simon Josefsson  <jas@extundo.com>
75941
75942         * m4/gc-arcfour.m4: New file.
75943
75944         * m4/gc-rijndael.m4: New file.
75945
75946 2005-10-19  Simon Josefsson  <jas@extundo.com>
75947
75948         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
75949
75950 2005-10-19  Simon Josefsson  <jas@extundo.com>
75951
75952         * lib/gc-gnulib.c: Support ARCFOUR.
75953
75954 2005-10-19  Simon Josefsson  <jas@extundo.com>
75955
75956         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
75957         support.
75958
75959         * lib/gc.h: Add ECB enum type.
75960
75961         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
75962
75963 2005-10-18  Simon Josefsson  <jas@extundo.com>
75964
75965         * tests/test-md5.c: New file.
75966
75967         * modules/md5-tests: New file.
75968
75969 2005-10-18  Simon Josefsson  <jas@extundo.com>
75970
75971         * tests/test-md4.c: New file.
75972
75973         * modules/md4, modules/md4-tests: New files.
75974
75975 2005-10-18  Simon Josefsson  <jas@extundo.com>
75976
75977         * m4/md4.m4: New file.
75978
75979 2005-10-18  Simon Josefsson  <jas@extundo.com>
75980
75981         * lib/md4.h, lib/md4.c: New files, based on md5.?.
75982
75983 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
75984
75985         * gnulib-tool (func_create_testdir): Omit the second check whether
75986         BUILT_SOURCES in nonempty.
75987
75988 2005-10-17  Simon Josefsson  <jas@extundo.com>
75989
75990         * tests/test-rijndael.c: New file.
75991
75992 2005-10-17  Simon Josefsson  <jas@extundo.com>
75993
75994         * modules/sha1: Depend on stdint instead of md5.
75995
75996         * modules/md5: Depend on stdint, remove uint32_t.
75997
75998 2005-10-17  Simon Josefsson  <jas@extundo.com>
75999
76000         * modules/gc-sha1-tests: New file.
76001
76002         * tests/test-gc-sha1.c: New file.
76003
76004 2005-10-17  Simon Josefsson  <jas@extundo.com>
76005
76006         * m4/md5.m4: Remove call to uint32_t.m4.
76007
76008 2005-10-17  Simon Josefsson  <jas@extundo.com>
76009
76010         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
76011
76012         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
76013         md5.h.
76014
76015         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
76016
76017         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
76018
76019 2005-10-17  Simon Josefsson  <jas@extundo.com>
76020
76021         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
76022
76023 2005-10-17  Simon Josefsson  <jas@extundo.com>
76024
76025         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
76026
76027 2005-10-17  Simon Josefsson  <jas@extundo.com>
76028
76029         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
76030
76031         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
76032
76033 2005-10-17  Bruno Haible  <bruno@clisp.org>
76034
76035         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
76036         that it can also be used in a test.
76037
76038 2005-10-16  Bruno Haible  <bruno@clisp.org>
76039
76040         * gnulib-tool (func_emit_tests_Makefile_am): Also define
76041         TESTS_ENVIRONMENT, so that individual tests can augment it.
76042
76043         * gnulib-tool (func_create_testdir): Use an intermediate target for
76044         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
76045         macros, like $(ALLOCA_H), which cannot be passed through the command
76046         line.
76047
76048 2005-10-15  Simon Josefsson  <jas@extundo.com>
76049
76050         * modules/rijndael-tests: New file.
76051
76052         * modules/rijndael: New file.
76053
76054 2005-10-15  Simon Josefsson  <jas@extundo.com>
76055
76056         * m4/rijndael.m4: New file.
76057
76058 2005-10-15  Simon Josefsson  <jas@extundo.com>
76059
76060         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
76061
76062         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
76063
76064 2005-10-14  Simon Josefsson  <jas@extundo.com>
76065
76066         * tests/test-arcfour.c: New file.
76067
76068         * modules/arcfour, modules/arcfour-tests: New files.
76069
76070 2005-10-14  Simon Josefsson  <jas@extundo.com>
76071
76072         * m4/arcfour.m4: New file.
76073
76074 2005-10-14  Simon Josefsson  <jas@extundo.com>
76075
76076         * lib/arcfour.h, lib/arcfour.c: New files.
76077
76078 2005-10-14  Roland McGrath  <roland@redhat.com>
76079
76080         Import from libc.  [BZ #1331]
76081         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
76082         macro argument.
76083         Reported by Matej Vela <vela@debian.org>.
76084
76085 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76086
76087         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
76088         include <wchar.h>; no longer needed.
76089
76090 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76091
76092         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
76093
76094 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
76095         and  Ulrich Drepper  <drepper@redhat.com>
76096
76097         Import from libc.
76098         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
76099         instead of inline stream orientation test and two separate
76100         function calls.  Pay no attention to USE_IN_LIBIO.
76101
76102 2005-10-13  Simon Josefsson  <jas@extundo.com>
76103
76104         * modules/gc-hmac-md5-tests: New file.
76105
76106         * tests/test-gc-hmac-sha1.c: New file.
76107
76108         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
76109
76110         * modules/gc-hmac-md5-tests: New file.
76111
76112         * tests/test-gc-md5.c: New file.
76113
76114         * modules/gc-md5-tests: New file.
76115
76116 2005-10-13  Simon Josefsson  <jas@extundo.com>
76117
76118         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
76119         Move memory allocation outside of loop.
76120
76121 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
76122
76123         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
76124         intermediate directory is in a read-only file system.  Problem
76125         reported by Eric Blake.
76126
76127 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
76128
76129         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
76130
76131 2005-10-12  Simon Josefsson  <jas@extundo.com>
76132
76133         * tests/test-hmac-sha1.c: New file.
76134
76135         * modules/hmac-sha1-tests: New file.
76136
76137         * modules/hmac-sha1: New file.
76138
76139 2005-10-12  Simon Josefsson  <jas@extundo.com>
76140
76141         * modules/gc-sha1: New file.
76142
76143 2005-10-12  Simon Josefsson  <jas@extundo.com>
76144
76145         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
76146
76147         * tests/test-gc-pbkdf2-sha1.c: New file.
76148
76149 2005-10-12  Simon Josefsson  <jas@extundo.com>
76150
76151         * modules/gc-md5, modules/gc-hmac-md5: New files.
76152
76153         * modules/gc (Files): Remove md5, memxor and hmac files.
76154
76155 2005-10-12  Simon Josefsson  <jas@extundo.com>
76156
76157         * m4/gc-pbkdf2-sha1.m4: New file.
76158
76159         * m4/gc-hmac-sha1.m4: New file.
76160
76161         * m4/gc-sha1: New file.
76162
76163         * m4/hmac-sha1.m4: New file.
76164
76165 2005-10-12  Simon Josefsson  <jas@extundo.com>
76166
76167         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
76168
76169         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
76170
76171 2005-10-12  Simon Josefsson  <jas@extundo.com>
76172
76173         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
76174         suggested by Bruno Haible <bruno@clisp.org>.
76175
76176 2005-10-12  Simon Josefsson  <jas@extundo.com>
76177
76178         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
76179
76180 2005-10-12  Simon Josefsson  <jas@extundo.com>
76181
76182         * lib/gc-pbkdf2-sha1.c: New file.
76183
76184         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
76185
76186 2005-10-12  Simon Josefsson  <jas@extundo.com>
76187
76188         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
76189
76190         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
76191
76192 2005-10-12  Simon Josefsson  <jas@extundo.com>
76193
76194         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
76195         GC_USE_HMAC_MD5, respectively.
76196
76197         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
76198         (gc_md5): Fix typo.
76199
76200         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
76201
76202         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
76203
76204         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
76205
76206 2005-10-12  Bruno Haible  <bruno@clisp.org>
76207
76208         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
76209         Reported by Stepan Kasal <kasal@ucw.cz>.
76210
76211 2005-10-11  Simon Josefsson  <jas@extundo.com>
76212
76213         * tests/test-crc.c: New file.
76214
76215         * modules/crc, modules/crc-tests: New files.
76216
76217 2005-10-11  Simon Josefsson  <jas@extundo.com>
76218
76219         * m4/crc.m4: New file.
76220
76221 2005-10-11  Simon Josefsson  <jas@extundo.com>
76222
76223         * lib/gc.h: Add gc_hash and gc_hash_buffer.
76224
76225         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
76226
76227         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
76228
76229 2005-10-11  Simon Josefsson  <jas@extundo.com>
76230
76231         * lib/crc.h, lib/crc.c: New files.
76232
76233         * lib/gc.h (gc_hash_buffer): Add doc.
76234
76235 2005-10-11  Bruno Haible  <bruno@clisp.org>
76236
76237         * modules/c-strcasestr: New file.
76238         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
76239
76240 2005-10-11  Bruno Haible  <bruno@clisp.org>
76241
76242         * modules/c-strcase: New file.
76243         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
76244
76245 2005-10-11  Bruno Haible  <bruno@clisp.org>
76246
76247         * lib/strcasecmp.c: Include limits.h.
76248         (strcasecmp): Avoid integer overflow on exotic platforms.
76249         * lib/strncasecmp.c: Include limits.h.
76250         (strncasecmp): Avoid integer overflow on exotic platforms.
76251         Reported by Paul Eggert.
76252
76253 2005-10-11  Bruno Haible  <bruno@clisp.org>
76254
76255         * lib/c-strcasestr.h: New file, from GNU gettext.
76256         * lib/c-strcasestr.c: New file, from GNU gettext.
76257
76258 2005-10-11  Bruno Haible  <bruno@clisp.org>
76259
76260         * lib/c-strcase.h: New file, from GNU gettext.
76261         * lib/c-strcasecmp.c: New file, from GNU gettext.
76262         * lib/c-strncasecmp.c: New file, from GNU gettext.
76263
76264 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
76265
76266         * modules/mempcpy (License): GPL -> LGPL.
76267         * modules/strchrnul (License): Likewise.
76268         * modules/sysexits (License): Likewise.
76269
76270 2005-10-08  Simon Josefsson  <jas@extundo.com>
76271
76272         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
76273
76274 2005-10-07  Simon Josefsson  <jas@extundo.com>
76275
76276         * m4/memxor.m4: Remove gl_C_RESTRICT call.
76277
76278 2005-10-06  Simon Josefsson  <jas@extundo.com>
76279
76280         * tests/test-hmac-md5.c: New file.
76281
76282         * modules/hmac-md5-tests: New file.
76283
76284         * modules/hmac-md5: New file.
76285
76286 2005-10-06  Simon Josefsson  <jas@extundo.com>
76287
76288         * m4/hmac-md5.m4: New file.
76289
76290         * m4/memxor.m4: Require gl_C_RESTRICT.
76291
76292 2005-10-06  Simon Josefsson  <jas@extundo.com>
76293
76294         * lib/memxor.c (memxor): Avoid casts and warnings.
76295
76296 2005-10-06  Simon Josefsson  <jas@extundo.com>
76297
76298         * lib/hmac-md5.c: New file.
76299
76300         * lib/hmac.h: New file.
76301
76302 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
76303
76304         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
76305         promotes to int, not unsigned int, to catch the AIX 5.3
76306         compiler bug.
76307
76308 2005-10-05  Simon Josefsson  <jas@extundo.com>
76309
76310         * modules/memxor: New file.
76311
76312         * modules/iconv (Files): Move config.rpath to havelib, it is used
76313         there.
76314
76315         * modules/havelib (Files): Add config.rpath.
76316
76317 2005-10-05  Simon Josefsson  <jas@extundo.com>
76318
76319         * m4/memxor.m4: New file.
76320
76321 2005-10-05  Simon Josefsson  <jas@extundo.com>
76322
76323         * lib/memxor.c (memxor): Fix compiler error.
76324
76325         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
76326         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
76327
76328         * lib/memxor.h, lib/memxor.c: New files.
76329
76330         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
76331         we assume all systems have it, suggested by Jim Meyering
76332         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
76333         any systems lack sys/socket.h; mingw32 is known to lack it, but we
76334         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
76335         same reasons.
76336
76337 2005-10-05  Simon Josefsson  <jas@extundo.com>
76338
76339         * config/srclist.txt: Add glibc bug 1423 for md5.h.
76340
76341 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
76342
76343         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
76344         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
76345         needed, since the source code now assumes these .h files.
76346
76347 2005-10-05  Derek Price  <derek@ximbiot.com>
76348
76349         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
76350
76351 2005-10-05  Bruno Haible  <bruno@clisp.org>
76352
76353         * modules/stdint (License): Change to LGPL.
76354
76355 2005-10-04  Simon Josefsson  <jas@extundo.com>
76356
76357         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
76358         D. Baushke" <mdb@gnu.org>.
76359
76360 2005-10-04  Bruno Haible  <bruno@clisp.org>
76361
76362         * lib/verify.h (verify_true): Provide alternative definition for C++.
76363
76364 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
76365
76366         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
76367         (SSIZE_MAX): New macro, if not already defined.
76368         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
76369         than 2 GiB.
76370
76371 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
76372
76373         Sync from coreutils.
76374         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
76375         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
76376         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
76377         ULLONG_MAX doesn't work with 2.7.2.1.
76378
76379 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
76380
76381         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
76382         From Ben Pfaff.
76383
76384         * modules/exclude (Depends-on): Depend on verify.
76385         * modules/strtoimax (Depends-on): Likewise.
76386         * modules/utimecmp (Depends-on): Likewise.
76387
76388 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
76389
76390         * lib/exclude.c: Include verify.h.
76391         (verify): Remove.  All callers changed to use verify.h's version.
76392         * lib/strtoimax.c: Likewise.
76393         * lib/utimecmp.c: Likewis.e
76394
76395         Sync from coreutils.
76396         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
76397         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
76398         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
76399         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
76400         bother returning ENOSYS if settimeofday or stime fails; just let
76401         them return whatever errno they want to return.
76402         * lib/utimens.c: Include unistd.h, for dup2.
76403         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
76404         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
76405
76406 2005-10-02  Jim Meyering  <jim@meyering.net>
76407
76408         Sync from coreutils.
76409         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
76410         from glibc-2.2.5 that fails for read-only files.
76411
76412 2005-10-02  Jim Meyering  <jim@meyering.net>
76413
76414         Sync from coreutils.
76415         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
76416         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
76417         `#if HAVE_CONFIG_H'.
76418         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
76419         Remove AT_FDCWD test.
76420         Do not consume the fd unless successful.
76421         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
76422         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
76423         block, so that we don't even try to compile it if settimeofday is
76424         available.  This works around a compilation failure on OSF1 V5.1,
76425         due to stime requiring a `long int*' while tv_sec is `int'.
76426
76427 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
76428
76429         Sync from coreutils.
76430         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
76431         against `yes', rather than just testing for nonempty.
76432
76433 2005-10-01  Simon Josefsson  <jas@extundo.com>
76434
76435         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
76436         and Darwin.
76437
76438         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
76439         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
76440         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
76441         freeaddrinfo and gai_strerror are declared by the POSIX headers.
76442         Check if struct addrinfo is declared.
76443
76444 2005-10-01  Simon Josefsson  <jas@extundo.com>
76445
76446         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
76447         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
76448         AI_* and EAI_* definitions.  Protect function declarations.
76449
76450 2005-10-01  Jim Meyering  <jim@meyering.net>
76451
76452         Sync from coreutils.
76453
76454         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
76455         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
76456         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
76457         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
76458         in the inet and nsl libraries.  Required on Solaris 5.7.
76459
76460 2005-10-01  Jim Meyering  <jim@meyering.net>
76461
76462         Sync from coreutils.
76463         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
76464         in the inet and nsl libraries.  Required on Solaris 5.7.
76465
76466 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
76467
76468         * lib/getdelim.c (getdelim): Remove unused variables.
76469
76470 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
76471
76472         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
76473         so that the code works even with ancient cpp.  Portability problem
76474         with GCC 2.7.2.1 reported by Thomas M.Ott.
76475
76476 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
76477
76478         * modules/regex (Depends-on): Add strcase.
76479
76480         * modules/gethostname (Licence): Change from GPL to LGPL, since
76481         gethostname.c is a trivial implementation of a standard library
76482         function.
76483         * modules/poll (License): Change from GPL to LGPL, since it's
76484         derived from LGPL code.
76485
76486 2005-09-27  Jim Meyering  <jim@meyering.net>
76487
76488         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
76489         HAVE_CONFIG_H.
76490
76491         * lib/intprops.h (signed_type_or_expr__): Define.
76492         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
76493         for unsigned types.
76494
76495 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
76496
76497         * lib/verify.h (verify_expr): Remove, replacing with:
76498         (verify_true): New macro that returns true instead of void.
76499         (verify_type__): Remove.
76500         (verify): Use verify_true rather than verify_type__.
76501
76502 2005-09-26  Bruno Haible  <bruno@clisp.org>
76503
76504         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
76505         is necessary.
76506         (lib_SOURCES): Remove mbchar.c.
76507         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
76508         (Files): Add m4/mbrtowc.m4.
76509         * modules/mbiter: Likewise.
76510         * modules/mbuiter: Likewise.
76511
76512 2005-09-26  Bruno Haible  <bruno@clisp.org>
76513
76514         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
76515         compile mbchar.c if they are not both present.
76516         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
76517         * m4/mbiter.m4 (gl_MBITER): Likewise.
76518         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
76519         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
76520         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
76521
76522 2005-09-25  Jim Meyering  <jim@meyering.net>
76523
76524         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
76525         also uses socklen_t.
76526
76527 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
76528
76529         * lib/utimens.c (ENOSYS): Define if not already defined.
76530         (futimens): Support having a null PATH if the file descriptor
76531         is nonnegative.
76532
76533         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
76534         Remove.
76535         (__attribute): Define to empty unless GCC 3.1 or later.
76536         This works around a core dump on OpenBSD 3.4, which has GCC
76537         2.95.3, which dumps core when given __attribute__(()).  It also
76538         simplifies other tests, since we really don't want to bother with
76539         worrying about which ancient version of GCC supported what.
76540         Original problem reported by Yoann Vandoorselaere, with part of
76541         the fix suggested by Derek Price.
76542
76543 2005-09-24  Jim Meyering  <jim@meyering.net>
76544
76545         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
76546         so we can once again use a positive bitfield width of 1 -- now we
76547         don't have to explain why we were using a bitfield width of 2.
76548
76549 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
76550
76551         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
76552         and similarly for the other external symbols.  Problem reported
76553         by James Gallager.
76554
76555         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
76556         bug reported by Jim Meyering.
76557
76558         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
76559         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
76560         not needed, since socklen is a prerequisite module.
76561
76562 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
76563
76564         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
76565         Problem reported by Eric Blake.
76566         (getaddrinfo): Initialize se so that it's not garbage.
76567         Redo internal storage allocation so that it doesn't make unportable
76568         assumptions about alignment.
76569         Fix a memory leak.
76570
76571         * lib/utimens.c (futimens): Use futimesat if available.
76572         Prefer it to futimes since it doesn't have the futimes bug.
76573
76574         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
76575         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
76576         Instead, declare a function that returns a pointer to an array,
76577         and use verify_type__ to declare the size of the array.
76578         Problem and germ of a solution reported by Bruno Haible.
76579         (verify_type__): Use 2, not 1, for bitfield size, to avoid
76580         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
76581
76582 2005-09-23  Jim Meyering  <jim@meyering.net>
76583
76584         Sync from coreutils.
76585         Correct build failure (socklen_t not defined) on at least
76586         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
76587         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
76588
76589 2005-09-23  Jim Meyering  <jim@meyering.net>
76590
76591         * modules/getaddrinfo (Depends-on): Add socklen.
76592
76593 2005-09-23  Bruno Haible  <bruno@clisp.org>
76594
76595         * tests/test-verify.c: New file.
76596
76597 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
76598
76599         Sync from coreutils.
76600
76601         * modules/argmatch (Depends-on): Add verify.
76602         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
76603         unistd-safer.
76604         * modules/save-cwd (Depends-on): Likewise.
76605
76606         * modules/openat (Files): Add lib/openat-die.c.
76607         (Depends-on): Remove error, exitfail.
76608         Add dirname.
76609
76610         * modules/verify: New file.
76611         * MODULES.html.sh (Diagnostics <assert.h>): New section,
76612         with "verify" module.
76613
76614 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
76615
76616         Sync from coreutils.
76617
76618         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
76619         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
76620         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
76621         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
76622         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
76623         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
76624         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
76625         Don't bother checking for string.h, stdlib.h, unistd.h.
76626         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
76627         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
76628         module's job.
76629         * m4/jm-macros.m4 (gl_MACROS): Likewise.
76630         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
76631
76632         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
76633         (gl_GETDATE): Use it.
76634
76635         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
76636
76637 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
76638
76639         Sync from coreutils.
76640
76641         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
76642         stat-time.h.
76643         * lib/argmatch.h: Include verify.h
76644         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
76645         (ARGMATCH_ASSERT): Remove; unused.
76646         * lib/canonicalize.c: Assume STDC_HEADERS.
76647         * lib/exclude.c: Include "strcase.h".
76648         * lib/regex_internal.h [!defined _LIBC]: Likewise.
76649         * lib/getusershell.c: Include stdio--.h rather than stdio.h
76650         and stdio-safer.h.
76651         (getusershell): Call fopen, not fopen_safer.
76652         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
76653         Do not include unistd-safer.h.
76654         (save_cwd): Don't call fd_safer; no longer needed
76655         now that we include fcntl--.h.
76656
76657         * lib/getdate.y (relative_time): New type.
76658         (RELATIVE_TIME_0): New constant.
76659         (parser_control): Use relative_time instead of doing it ourselves.
76660         (%union): Add new relative_time rel member.
76661         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
76662         Now typeless.
76663         (relunit, relunit_snumber): Now of type rel.
76664         (zone, rel, relunit, get_date): Adjust to above changes.
76665
76666         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
76667         Do not include unistd-safer.h.
76668         (getloadavg): Don't call fd_safer; no longer needed
76669         now that we include fcntl--.h.
76670
76671         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
76672         (make_dir_parents): Treat ENOSYS like EEXIST.
76673
76674         Improve quality of diagnostics on restore_cwd failure.
76675         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
76676         (make_dir_parents): Last arg is now int * (for errno), not bool *.
76677         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
76678         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
76679         each time through the loop.  Do not diagnose restore_cwd failure;
76680         that is the caller's job (and perhaps the caller does not care).
76681
76682         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
76683         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
76684         If the file already exists but is not a directory, don't bother
76685         to try to make its parents.
76686         Close potential file descriptor leak if we can't chdir("/") (!).
76687         Don't always return true if chdir($PWD) fails; return true only
76688         if the requested action was done successfully (except for the
76689         chdir($PWD)).
76690         Don't log final directory unless we actually made it.
76691         Refactor to avoid duplicate code to fix up permissions.
76692         Don't attempt to fix up parent permissions if chdir($PWD) fails.
76693
76694         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
76695         to make it a bit faster and (I hope) clearer.
76696         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
76697         Fix bug in formats like %2N.
76698
76699         * lib/verify.h: New file.
76700
76701 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
76702
76703         Sync from coreutils.
76704         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
76705
76706 2005-09-22  Jim Meyering  <jim@meyering.net>
76707
76708         Sync from coreutils.
76709
76710         * m4/lstat.m4 (gl_FUNC_LSTAT):
76711         Use AC_LIBSOURCES to require lstat.c and lstat.h.
76712         Remove obsolete comment.
76713         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
76714         * m4/xstrtod.m4: Likewise.
76715
76716         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
76717
76718 2005-09-22  Jim Meyering  <jim@meyering.net>
76719
76720         Sync from coreutils.
76721
76722         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
76723
76724         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
76725         the .tm_year member, since otherwise gcc-4.0 would now warn about
76726         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
76727
76728         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
76729         order to avoid an unsuppressible warning from gcc on 64-bit systems.
76730
76731         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
76732         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
76733         when run in a time zone for which daylight savings time is in effect
76734         for the starting date.
76735
76736         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
76737         stop us from restricting permissions of just-created absolute-named
76738         directories.
76739         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
76740         to restore initial working directory.
76741         * lib/mkdir-p.c (make_dir_parents): New parameter:
76742         different_working_dir, to tell caller if/when we change the working
76743         directory and are unable to return to the initial one.
76744         * lib/mkdir-p.h (make_dir_parents): Update prototype.
76745         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
76746         `return false'.  This fixes a bug introduced on 2004-07-30.
76747
76748         * lib/openat.c (fdopendir): Be sure to close the supplied
76749         file descriptor before returning.  This makes our replacement
76750         implementation a little closer to Solaris's, where fdopendir
76751         ties the file descriptor to the returned DIR* pointer.
76752         * lib/openat.c (unlinkat): New function.
76753         * lib/openat.h (unlinkat): Add prototype.
76754         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
76755         (openat_restore_fail): Rename from openat_restore_die.
76756         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
76757
76758         Provide an alternative to exiting immediately upon save_cwd or
76759         restore_cwd failure.  Now, an application can arrange e.g.,
76760         to perform a longjump in that case.
76761         * lib/openat.c: Include dirname.h.
76762         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
76763         (rpl_openat, fdopendir, fstatat): Call openat_save_die
76764         and openat_restore_die rather than calling error directly.
76765         Don't include "error.h" or "exitfail.h"; they're no longer needed.
76766
76767         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
76768         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
76769         define.
76770
76771         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
76772         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
76773                             int utc, int nanoseconds);
76774         Background:
76775         date should not have to allocate a megabyte of virtual memory to
76776         handle a format argument like +%1048575T.  When implemented with
76777         strftime, it must allocate such a buffer, use strftime to fill it
76778         in, print it, then free it.
76779         With fprintftime, it simply prints everything and exits.
76780         With no need for memory allocation, that's one fewer way to fail.
76781         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
76782         optional field width, not before, so we accept %9:z, not %:9z.
76783         (my_strftime): Be sure to use L_('x') for literals.
76784
76785         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
76786         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
76787         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
76788         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
76789         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
76790         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
76791         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
76792         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
76793         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
76794         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
76795         * lib/xgethostname.c, lib/xreadlink.c:
76796         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
76797
76798         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
76799         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
76800         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
76801         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
76802         and don't include <sys/file.h>).
76803
76804 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
76805
76806         Sync from coreutils.
76807
76808         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
76809         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
76810         [!LDAV_DONE]: Avoid unused variable warning.
76811
76812 2005-09-21  Bruno Haible  <bruno@clisp.org>
76813
76814         * lib/unicodeio.h (unicode_to_mb): New declaration.
76815
76816 2005-09-20  Derek Price  <derek@ximbiot.com>
76817
76818         * lib/getaddrinfo.c: Don't include <netdb.h> included from
76819         getaddrinfo.h.
76820
76821 2005-09-20  Bruno Haible  <bruno@clisp.org>
76822
76823         * gnulib-tool: Remove trailing slashes from the values specified for
76824         --source-base, --m4-base, --tests-base, --aux-dir.
76825         Suggested by Simon Josefsson <jas@extundo.com>.
76826
76827 2005-09-20  Bruno Haible  <bruno@clisp.org>
76828
76829         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
76830         func_modules_to_filelist, func_import, func_create_testdir): Make all
76831         sorting results locale-independent, so that gnulib-cache.m4 doesn't
76832         change when gnulib-tool is invoked in a different locale.
76833
76834 2005-09-19  Simon Josefsson  <jas@extundo.com>
76835
76836         * m4/socklen.m4: Fix typo.
76837
76838 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76839
76840         Use a consistent style for including <config.h>.
76841         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
76842         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
76843         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
76844         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
76845         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
76846         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
76847         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
76848         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
76849         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
76850         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
76851         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
76852         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
76853         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
76854         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
76855         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
76856         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
76857         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
76858         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
76859         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
76860         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
76861         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
76862         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
76863         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
76864         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
76865         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
76866         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
76867         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
76868         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
76869         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
76870         lib/xstrtoumax.c, lib/yesno.c:
76871         Standardize inclusion of config.h.
76872         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
76873         lib/inttostr.h:  Removed inclusion of config.h from header files.
76874         * lib/inttostr.c:  Adjusted in-tree users.
76875         * lib/timespec.h: Remove superfluous warning to include config.h.
76876         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
76877         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
76878         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
76879         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
76880         config.h with HAVE_CONFIG_H.
76881
76882 2005-09-19  Jim Meyering  <jim@meyering.net>
76883
76884         * modules/pathmax (License): Change to LGPL.
76885
76886 2005-09-19  Derek Price  <derek@ximbiot.com>
76887
76888         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
76889
76890 2005-09-19  Bruno Haible  <bruno@clisp.org>
76891
76892         * gnulib-tool (import): Provide default for --tests-base.
76893
76894 2005-09-19  Bruno Haible  <bruno@clisp.org>
76895
76896         * doc/quote.texi: New file, extracted from gnulib.texi.
76897         * doc/ctime.texi: New file, extracted from gnulib.texi.
76898         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
76899         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
76900         * doc/gnulib.texi: Include them.
76901
76902 2005-09-18  Bruno Haible  <bruno@clisp.org>
76903
76904         Portability fix.
76905         * gnulib-tool (func_readlink): New function.
76906         (func_ln_if_changed): Use it.
76907
76908 2005-09-18  Bruno Haible  <bruno@clisp.org>
76909
76910         * gnulib-tool: Support --with-tests also with --import.
76911         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
76912         (func_import): Use variables $testsbase and $inctests. Emit a
76913         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
76914         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
76915         SUBDIRS += $testsdir.
76916         (func_create_testdir): Update.
76917
76918 2005-09-18  Bruno Haible  <bruno@clisp.org>
76919
76920         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
76921         instead of $dry_run.
76922         (func_cp_if_changed, func_mv_if_changed): Remove functions.
76923         (func_ln_if_changed): Don't handle dry-run here.
76924         (func_import): In dry-run mode, detect more precisely which actions
76925         would be performed, and don't use "...ing" verbs.
76926
76927 2005-09-18  Bruno Haible  <bruno@clisp.org>
76928
76929         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
76930         (func_import): Use join on two temporary files instead of three nested
76931         loops, in order to determine which files are new or old.
76932
76933 2005-09-18  Bruno Haible  <bruno@clisp.org>
76934
76935         * gnulib-tool (func_import): Comment out code that spits out the
76936         new files with --dry-run.
76937
76938 2005-09-18  Bruno Haible  <bruno@clisp.org>
76939
76940         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
76941
76942 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
76943
76944         * lib/stat-time.h: New file.
76945         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
76946         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
76947         in a different way.
76948         (timespec_cmp): New function.
76949         * lib/utimecmp.c: Include stat-time.h.
76950         (SYSCALL_RESOLUTION): Depend on whether various struct stat
76951         members exist, not on the obsolescent ST_MTIM_NSEC.
76952         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
76953
76954 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
76955
76956         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
76957
76958 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
76959
76960         * MODULES.html.sh (File system functions): Add stat-time.
76961         * modules/stat-time: New file.
76962         * modules/timespec (Files): Remove m4/st_mtim.m4; this
76963         is now done in a different way, by the stat-time module.
76964         * modules/utimecmp (Depends-on): Add stat-time.
76965
76966 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
76967
76968         * m4/st_mtim.m4: Remove.  Superseded by...
76969         * m4/stat-time.m4: New file.
76970         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
76971         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
76972
76973 2005-09-15  Derek Price  <derek@ximbiot.com>
76974
76975         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
76976
76977 2005-09-15  Derek Price  <derek@ximbiot.com>
76978
76979         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
76980         * lib/regex_internal.c: Ditto, using this...
76981         (__GNUC_PREREQ): ...new macro.
76982         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
76983         using...
76984         (__GNUC_PREREQ): ...this new macro.
76985
76986         * lib/strstr.h: Include string.h. Define strstr as a macro here.
76987
76988 2005-09-15  Derek Price  <derek@ximbiot.com>
76989             Paul Eggert  <eggert@cs.ucla.edu>
76990
76991         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
76992         changes, consolidating in...
76993         * lib/regex_internal.h: ...this file.
76994
76995 2005-09-13  Jim Meyering  <jim@meyering.net>
76996
76997         * lib/canon-host.c: Filter through gnu indent and reword comments
76998         slightly.
76999         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
77000
77001 2005-09-13  Derek Price  <derek@ximbiot.com>
77002
77003         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
77004         failure.
77005         Reported by Jim Meyering  <jim@meyering.net>.
77006
77007 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
77008
77009         * lib/base64.c: Typo.
77010         (base64_encode): Put b64str in initialized data section.
77011
77012 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
77013
77014         Merge glibc and coreutils changes into gnulib, plus a few
77015         extra fixes.
77016         * lib/md5.c: Use #error rather than a string.
77017         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
77018         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
77019         (__attribute__): Define to empty for non recent-GCC.
77020         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
77021         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
77022         Renamed from their non-__ counterparts, with new macros replacing
77023         them if not _LIBC.  Add __THROW attribute.
77024         (rol): Remove.
77025         (struct md5_ctx): Align buffer if using GCC.
77026         * lib/sha1.h (struct sha1_ctx): Likewise.
77027         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
77028         The old name was backwards.
77029         (NOTSWAP): Remove; not used.
77030         (rol): New macro, moved here from md5.h.
77031         (sha1_process_block): Remove a FIXME that doesn't make sense.
77032
77033 2005-09-12  Derek Price  <derek@ximbiot.com>
77034
77035         Return usable errors from canon-host.
77036         * lib/canon-host.h: New file.
77037         * lib/canon-host.c (canon_host): Wrap...
77038         (canon_host_r): ...this new function, which now relies exclusively on
77039         getaddrinfo.
77040         (ch_strerror): New function.
77041         (last_cherror): New global.
77042         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
77043         interface.
77044         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
77045         void *.
77046         (freeaddrinfo): Free ai->ai_canonname when set.
77047
77048 2005-09-12  Derek Price  <derek@ximbiot.com>
77049
77050         Make canon-host require getaddrinfo.
77051         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
77052         AC_LIBSOURCE canon-host.h.  Call...
77053         (gl_PREREQ_CANON_HOST): ...this new function, which requires
77054         gl_GETADDRINFO.
77055         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
77056
77057 2005-09-12  Derek Price  <derek@ximbiot.com>
77058
77059         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
77060         LGPL.
77061         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
77062
77063 2005-09-12  Derek Price  <derek@ximbiot.com>
77064
77065         * lib/gai_strerror.c: Include config.h when available.  Include
77066         getaddrinfo.h before other headers to test interface.
77067         Reported by Larry Jones <lawrence.jones@ugs.com>.
77068
77069 2005-09-12  Derek Price  <derek@ximbiot.com>
77070             Paul Eggert  <eggert@cs.ucla.edu>
77071
77072         * modules/glob (Files): Add glob-libc.h.
77073
77074 2005-09-12  Derek Price  <derek@ximbiot.com>
77075             Paul Eggert  <eggert@cs.ucla.edu>
77076
77077         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
77078         glob_.h, glob-libc.h.
77079         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
77080
77081 2005-09-12  Derek Price  <derek@ximbiot.com>
77082             Paul Eggert  <eggert@cs.ucla.edu>
77083
77084         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
77085         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
77086         protecting things that should be done only in gnulib contexts.
77087         * lib/glob_.h: New file, containing only the glob things needed for
77088         gnulib.
77089         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
77090         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
77091         (glob, globfree, glob_pattern_p): Now defined simply in terms of
77092         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
77093         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
77094         and to respect the namespace rules better.
77095
77096 2005-09-08  Simon Josefsson  <jas@extundo.com>
77097
77098         * modules/socklen: New file.
77099
77100 2005-09-08  Simon Josefsson  <jas@extundo.com>
77101
77102         * m4/socklen.m4: New file.
77103
77104 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77105
77106         * modules/utimens (Files): Add m4/utimbuf.m4, since
77107         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
77108         Reported by Sergey Poznyakoff.
77109
77110 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77111
77112         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
77113         definitions, since that's the preferred style in glibc.
77114         Fix a minor spacing issue, and update copyright notice to match
77115         glibc's.
77116
77117 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77118
77119         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
77120
77121 2005-09-06  Simon Josefsson  <jas@extundo.com>
77122
77123         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
77124         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
77125
77126 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
77127
77128         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
77129         warning.
77130
77131 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
77132
77133         * config/srclist.txt: Add glibc bug 1302.
77134
77135 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
77136
77137         Change bitset word type from unsigned int to unsigned long int,
77138         as this has better performance on typical 64-bit hosts.
77139         Port bitset code to hosts with unusual word sizes.
77140         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
77141         (build_collating_symbol):
77142         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
77143         argument is a bitset.  This is merely a style issue, but it makes
77144         it clearer that an entire array is expected.
77145         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
77146         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
77147         Port to the case where bitset_word is not the same as unsigned int.
77148         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
77149         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
77150         Likewise.
77151         * lib/regexec.c (check_dst_limits_calc_pos_1,
77152         check_subexp_matching_top):
77153         (build_trtable, group_nodes_into_DFAstates):
77154         Likewise.
77155         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
77156         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
77157         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
77158         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
77159         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
77160         * lib/regcomp.c (optimize_subexps, lower_subexp):
77161         Work even if bitset_word has holes in its bitwise representation.
77162         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
77163         * lib/regexec.c (check_dst_limits_calc_pos_1,
77164         check_subexp_matching_top):
77165         Likewise.
77166         * lib/regex_internal.c (re_string_reconstruct):
77167         Don't assume UCHAR_MAX == 255.
77168         * lib/regex_internal.h (bitset_set_all): Likewise.
77169         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
77170         All uses changed.
77171         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
77172         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
77173         All uses changed.
77174         (BITSET_WORD_MAX): New macro.
77175         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
77176         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
77177         (bitset_empty, bitset_copy):
77178         Prefer sizeof (bitset) to multiplying it out ourselves.
77179         (bitset_not_merge): Remove; unused.
77180         (bitset_contain): Return bool, not unsigned int with one bit on.
77181         All callers changed.
77182         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
77183         alignment than re_node_set; do this by defining a new internal
77184         type struct dests_alloc and using it to allocate memory.
77185
77186 2005-09-05  Bruno Haible  <bruno@clisp.org>
77187
77188         * gnulib-tool (func_import): Fix comparison in handling of symbolic
77189         links.
77190
77191 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
77192
77193         * modules/size_max (Makefile.am): Add size_max.h
77194
77195 2005-09-04  Derek Price  <derek@ximbiot.com>
77196
77197         * gnulib-tool (func_import): Fix reversed $symbolic logic.
77198
77199 2005-09-03  Simon Josefsson  <jas@extundo.com>
77200
77201         * gnulib-tool: Fix typo.
77202
77203 2005-09-03  Simon Josefsson  <jas@extundo.com>
77204
77205         * config/srclist.txt: Add glibc bug 1293.
77206
77207 2005-09-03  Derek Price  <derek@ximbiot.com>
77208
77209         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
77210         From Larry Jones <lawrence.jones@ugs.com>.
77211
77212 2005-09-02  Simon Josefsson  <jas@extundo.com>
77213
77214         * modules/socklen: New file.
77215
77216 2005-09-02  Simon Josefsson  <jas@extundo.com>
77217
77218         * modules/havelib: New module.
77219
77220         * modules/gettext, modules/iconv, modules/lock, modules/readline:
77221         Use havelib.
77222
77223 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
77224
77225         Check for arithmetic overflow when calculating sizes, to prevent
77226         some buffer-overflow issues.  These patches are conservative, in the
77227         sense that when I couldn't determine whether an overflow was possible,
77228         I inserted a run-time check.
77229         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
77230         macros.
77231         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
77232         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
77233         (re_xnrealloc, re_x2nrealloc): New inline functions.
77234         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
77235         parse_bracket_exp):
77236         (build_equiv_class, build_charclass): Check for arithmetic overflow
77237         in size expression calculations.
77238         * lib/regex_internal.c (re_string_realloc_buffers):
77239         (build_wcs_upper_buffer, re_node_set_add_intersect):
77240         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
77241         (re_dfa_add_node, register_state): Likewise.
77242         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
77243         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
77244         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
77245         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
77246
77247 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
77248
77249         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
77250         m4/ulonglong.m4.  Problem reported by Martin Lambers.
77251
77252 2005-09-02  Bruno Haible  <bruno@clisp.org>
77253
77254         Support for lib vs. lib64 distinction on biarch platforms.
77255         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
77256         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
77257         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
77258
77259 2005-09-02  Bruno Haible  <bruno@clisp.org>
77260
77261         * gnulib-tool (import): In the other first-use case, provide defaults
77262         as well.
77263
77264 2005-09-02  Bruno Haible  <bruno@clisp.org>
77265
77266         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
77267         patches not yet found in the latest gettext release.
77268
77269 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77270
77271         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
77272         to avoid a collision with bits/local_lim.h in glibc.
77273         All uses changed.  Problem reported by Dmitry V. Levin in
77274         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
77275
77276         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
77277         bugs in int versus size_t comparisons.
77278         (re_string_context_at): Fix bug where the code assumed that
77279         Idx is signed.
77280
77281         Use bool where appropriate.
77282         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
77283         All callers changed.
77284         (calc_eclosure_iter): Likewise, for ROOT arg.
77285         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
77286         (build_charclass_op): Likewise, for NON_MATCH arg.
77287         * lib/regex_internal.c (re_string_allocate, re_string_construct):
77288         (re_string_construct_common): Likewise, for ICASE arg.
77289         * lib/regexec.c (re_search_2_stub, re_search_stub):
77290         Likewise, for RET_LEN arg.
77291         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
77292         (set_regs): Likewise, for FL_BACKTRACK arg.
77293         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
77294         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
77295         (calc_eclosure_iter, parse_bracket_exp):
77296         Use bool for internal variables that are booleans.
77297         * lib/regexec.c (re_search_internal, check_matching,
77298         proceed_next_node):
77299         (set_regs, build_sifted_states, sift_states_bkref):
77300         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
77301         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
77302         (find_collation_sequence_value):
77303         Likewise.
77304         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
77305         (re_node_set_compare):
77306         Return bool, not int. All callers changed.
77307         * lib/regexec.c (check_halt_node_context, check_dst_limits):
77308         (build_trtable, check_node_accept): Likewise.
77309         * lib/regex_internal.h: Include stdbool.h.
77310
77311         Fix bugs uncovered when converting to bool.
77312         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
77313         failure instead of charging ahead blindly.
77314         * lib/regex_internal.c (register_state): Likewise.
77315         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
77316         for freeing internal storage.
77317         (group_nodes_into_DFA_states): Use unsigned int, not int, for
77318         bitset pieces used as boolean, to avoid undefined behavior
77319         on hosts that do int overflow checking.
77320
77321 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77322
77323         * config/srclist.txt: Add glibc bugs 1285-1287.
77324
77325 2005-09-01  Jim Meyering  <jim@meyering.net>
77326
77327         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
77328         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
77329         Require gl_STAT_MACROS, too.
77330
77331 2005-09-01  Bruno Haible  <bruno@clisp.org>
77332
77333         * gnulib-tool (import): In the first-use case, provide defaults.
77334
77335 2005-09-01  Bruno Haible  <bruno@clisp.org>
77336
77337         * gnulib-tool (func_import): Remove the .tmp files.
77338
77339 2005-09-01  Bruno Haible  <bruno@clisp.org>
77340
77341         * gnulib-tool (func_import): Fix handling of symbolic links.
77342
77343 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77344
77345         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
77346         old glibc regex code mishandles strings longer than 2**31 bytes.
77347         This patch fixes this when the regex code is used in gnulib
77348         (i.e., outside glibc).
77349
77350         This patch should not affect the use of the regex code inside
77351         glibc.  No doubt this problem also needs to be handled for glibc
77352         as well, but the result will be an incompatible change to the
77353         glibc ABI, and the old ABI will have to be supported too.  That
77354         can be the the subject for another patch.
77355
77356         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
77357         governing whether the rest of this patch is active.  By default,
77358         the macro is disabled and the patch has no effect.
77359         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
77360         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
77361         (struct re_pattern_buffer, re_search, re_search_2, re_match):
77362         (re_match_2, re_set_registers): Use the new types.
77363         * lib/regex_internal.h (Idx, re_hashval_t): New types.
77364         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
77365         New macros.
77366         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
77367         (re_string_context_at, bin_tree_t, re_dfastate_t):
77368         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
77369         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
77370         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
77371         (re_string_char_size_at, re_string_wchar_at):
77372         (re_string_elem_size_at):
77373         Use the new types and macros to port to 64-bit hosts.
77374         Use unsigned types for internal values, so that the code
77375         mostly works even for arrays larger than SSIZE_MAX.
77376         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
77377         (search_duplicated_node, calc_eclosure_iter, fetch_number):
77378         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
77379         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
77380         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
77381         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
77382         (calc_inveclosure, parse_dup_op, build_range_exp):
77383         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
77384         (fetch_number, create_token_tree, mark_opt_subexp):
77385         Likewise.
77386         * lib/regex_internal.c (re_string_construct_common,
77387         create_ci_newstate):
77388         (create_cd_newstate, re_string_allocate, re_string_construct):
77389         (re_string_realloc_buffers, build_wcs_upper_buffer):
77390         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
77391         (re_string_reconstruct, re_string_peek_byte_case):
77392         (re_string_fetch_byte_case, re_string_context_at):
77393         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
77394         (re_node_set_init_copy, re_node_set_add_intersect):
77395         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
77396         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
77397         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
77398         (re_acquire_state, re_acquire_state_context, register_state):
77399         Likewise.
77400         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
77401         search_cur_bkref_entry):
77402         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
77403         (re_search_internal, re_search_2_stub, re_search_stub)
77404         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
77405         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
77406         (update_cur_sifted_state, check_dst_limits):
77407         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
77408         (check_subexp_limits, sift_states_bkref, merge_state_array):
77409         (check_subexp_matching_top, get_subexp, get_subexp_sub):
77410         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
77411         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
77412         (expand_bkref_cache, check_node_accept_bytes):
77413         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
77414         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
77415         (acquire_init_state_context, check_halt_node_context):
77416         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
77417         (sift_states_backward, clean_state_log_if_needed):
77418         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
77419         (find_recover_state, transit_state_sb, transit_state_mb):
77420         (transit_state_bkref, build_trtable, match_ctx_clean):
77421         Likewise.
77422         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
77423         to work around an assumption that REG_MISSING is negative.
77424
77425         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
77426         (seek_collating_symbol_entry) [defined _LIBC]:
77427         (lookup_collation_sequence_value) [defined _LIBC]:
77428         (build_range_exp, build_collating_symbol) [defined _LIBC]:
77429         Use prototypes rather than old-style function definitions.
77430         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
77431         (transit_state_sb) [0]:
77432         (find_collation_sequence_value) [defined _LIBC]: Likewise.
77433
77434         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
77435         rm_eo.
77436
77437         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
77438         (optimize_subexps, lower_subexp):
77439         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
77440         since the signed shift might overflow.  Use 1u<<31 instead.
77441         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
77442         Likewise.
77443         * lib/regexec.c (check_dst_limits_calc_pos_1,
77444         check_subexp_matching_top): Likewise.
77445
77446         * lib/regcomp.c (optimize_subexps, lower_subexp):
77447         Use CHAR_BIT rather than 8, for clarity.
77448         * lib/regexec.c (check_dst_limits_calc_pos_1):
77449         (check_subexp_matching_top): Likewise.
77450         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
77451         have to worry about portability issues when shifting it left.
77452         Remove no-longer-needed test for table_size > 0.
77453         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
77454         in a word, as the resulting behavior is undefined.
77455         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
77456         in one case, a <= should have been an <, and in another case the
77457         whole test was missing.
77458         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
77459         the standard name CHAR_BIT.
77460         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
77461         this is not true on one's complement and signed-magnitude hosts.
77462
77463         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
77464         next_last_offset.
77465         (struct re_dfa_t): Remove unused member states_alloc.
77466         * lib/regcomp.c (init_dfa): Don't initialize unused members.
77467
77468 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77469
77470         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
77471         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
77472         and large-file glibc and in 32-bit large-file Solaris.
77473
77474 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77475
77476         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
77477         lengths fit in regoff_t; this isn't true if regoff_t is the same
77478         width as size_t.
77479         * lib/regex.c (re_search_internal): 5th arg is LAST_START
77480         (= START + RANGE) instead of RANGE.  This avoids overflow
77481         problems when regoff_t is the same width as size_t.
77482         All callers changed.
77483         (re_search_2_stub): Check for overflow when adding the
77484         sizes of the two strings.
77485         (re_search_stub): Check for overflow when adding START
77486         to RANGE; if it occurs, substitute the extreme value.
77487
77488 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77489
77490         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
77491
77492 2005-08-31  Jim Meyering  <jim@meyering.net>
77493
77494         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
77495         a pointer-to-const.
77496         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
77497         (register_state): Likewise.
77498         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
77499         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
77500         (group_nodes_into_DFAstates): Likewise.
77501
77502 2005-08-31  Jim Meyering  <jim@meyering.net>
77503
77504         * check-module: Add a FIXME comment.
77505
77506 2005-08-31  Eric Blake  <ebb9@byu.net>
77507
77508         * modules/unistd-safer (Files): Add unistd--.h.
77509         * modules/stdio-safer (Files): Add stdio--.h.
77510
77511 2005-08-31  Derek Price  <derek@ximbiot.com>
77512
77513         * lib/getdelim.c (getdelim): Return EOF on EOF.
77514         Reported by Larry Jones <lawrence.jones@ugs.com>.
77515
77516 2005-08-31  Bruno Haible  <bruno@clisp.org>
77517
77518         Avoid unnecessary diffs in the generated lib/Makefile.am.
77519         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
77520         the generated files.
77521         (func_import): Don't set cmd.
77522
77523 2005-08-31  Bruno Haible  <bruno@clisp.org>
77524
77525         * lib/strstr.c: Include <stddef.h>, for NULL.
77526         * lib/strcasestr.c: Likewise.
77527         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
77528
77529 2005-08-31  Bruno Haible  <bruno@clisp.org>
77530
77531         * gnulib-tool: New option --macro-prefix.
77532         (func_import): Use macro_prefix.
77533         (import): Handle option --macro-prefix.
77534
77535 2005-08-31  Bruno Haible  <bruno@clisp.org>
77536
77537         * gnulib-tool (import): Rename most ac_* variables to cached_*.
77538         Also use new variables cached_lgpl, cached_libtool.
77539
77540 2005-08-31  Bruno Haible  <bruno@clisp.org>
77541
77542         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
77543         always instantiating them.
77544
77545 2005-08-31  Bruno Haible  <bruno@clisp.org>
77546
77547         * gnulib-tool (func_import): Read the previous cached settings
77548         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
77549         earlier added by gnulib but are now dropped. Warn when a gnulib file
77550         overwrites a non-gnulib file.
77551
77552 2005-08-31  Bruno Haible  <bruno@clisp.org>
77553
77554         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
77555         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
77556         projects that don't keep autogenerated files in CVS. Put into
77557         actioncmd only the specified modules, not the transitive closure.
77558
77559 2005-08-31  Bruno Haible  <bruno@clisp.org>
77560
77561         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
77562         Create directories that shall be filled.
77563         (import): Don't look for gl_* macros in configure.ac. Recurse across
77564         all directories containing a gnulib-cache.m4 files, if meaningful.
77565
77566 2005-08-31  Bruno Haible  <bruno@clisp.org>
77567
77568         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
77569         (import): Set seen_libtool when we see gl_LIBTOOL.
77570
77571 2005-08-31  Bruno Haible  <bruno@clisp.org>
77572
77573         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
77574         declaration macro definitions from generated gnulib.m4.
77575
77576 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
77577
77578         * lib/iconvme.h: Add prototype for iconv_alloc.
77579
77580 2005-08-29  Simon Josefsson  <jas@extundo.com>
77581
77582         * lib/iconvme.c: Fix errno.
77583
77584 2005-08-29  Bruno Haible  <bruno@clisp.org>
77585
77586         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
77587         that it works when the directory contains spaces.
77588
77589 2005-08-29  Bruno Haible  <bruno@clisp.org>
77590
77591         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
77592
77593 2005-08-29  Bruno Haible  <bruno@clisp.org>
77594
77595         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
77596         Emit more advice.
77597
77598 2005-08-29  Bruno Haible  <bruno@clisp.org>
77599         and Stepan Kasal  <kasal@ucw.cz>
77600
77601         * check-module: If more parameters are given, check each of them
77602         separately; add more exceptions, as noted by Jim Meyering.
77603         (check_module): New procedure.
77604         (%exempt_header): Now contains all exceptions.
77605
77606 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
77607
77608         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
77609
77610 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
77611
77612         * lib/iconvme.c: Split iconv_string into iconv_alloc.
77613
77614 2005-08-28  Bruno Haible  <bruno@clisp.org>
77615
77616         * m4/gnulib-tool.m4: New file.
77617
77618 2005-08-27  Jim Meyering  <jim@meyering.net>
77619
77620         * modules/unistd-safer (Files): Add pipe-safer.c.
77621         * modules/fcntl-safer (Files): Add creat-safer.c.
77622
77623 2005-08-27  Jim Meyering  <jim@meyering.net>
77624
77625         * m4/stdlib-safer.m4: New file.  From coreutils.
77626         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
77627         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
77628         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
77629         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
77630         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
77631
77632 2005-08-27  Jim Meyering  <jim@meyering.net>
77633
77634         * lib/fopen-safer.c: Merge minor changes from coreutils.
77635         * lib/dup-safer.c: Likewise.
77636         * lib/fd-safer.c: Likewise.
77637
77638         Merge from coreutils.
77639         * lib/stdio--.h: New file.
77640         * lib/stdlib--.h: New file.
77641         * lib/mkstemp-safer.c: New file.
77642
77643         GNU tar needs these.
77644         * lib/pipe-safer.c: New file.
77645         * lib/creat-safer.c: New file.
77646         * lib/fcntl--.h (creat): Define to creat_safer.
77647         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
77648         * lib/unistd--.h (pipe): Define to pipe_safer.
77649         * lib/unistd-safer.h: Declare pipe_safer.
77650
77651 2005-08-26  Simon Josefsson  <jas@extundo.com>
77652
77653         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
77654         Haible <bruno@clisp.org>.
77655
77656 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
77657
77658         * lib/regex_internal.h: Remove all references to
77659         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
77660         or better.
77661         (bitset_not, bitset_merge, bitset_not_merge):
77662         (bitset_mask, re_string_allocate, re_string_construct):
77663         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
77664         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
77665         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
77666         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
77667         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
77668         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
77669         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
77670         (re_acquire_state_context):
77671         Remove unnecessary forward decls.
77672         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
77673         Put __attribute at function definition,
77674         now that the function decl has been removed.
77675         * lib/regex_internal.c (re_string_peek_byte_case):
77676         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
77677         Likewise.
77678
77679 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
77680
77681         * m4/regex.m4: Add AC_PREREQ(2.50).
77682         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
77683
77684 2005-08-25  Simon Josefsson  <jas@extundo.com>
77685
77686         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
77687         __fsetlocking.
77688
77689 2005-08-25  Simon Josefsson  <jas@extundo.com>
77690
77691         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
77692         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
77693         GLIBC specific code.
77694
77695 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77696
77697         Make regex safe for g++.  This fixes one real bug (an "err"
77698         that should have been "*err").  g++ problem reported by
77699         Sam Steingold.
77700         * lib/regex_internal.h (re_calloc): New macro, consistent with
77701         re_malloc etc.  All callers of calloc changed to use re_calloc.
77702         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
77703         not int.  All callers changed.
77704         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
77705         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
77706         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
77707         (find_recover_state): Change "err" to "*err"; this fixes what
77708         appears to be a real bug.
77709         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
77710         versus int.
77711
77712 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77713
77714         * modules/regex (Depends-on): Add malloc, since the code
77715         assumes that !malloc(0) means failure.
77716
77717 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77718
77719         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
77720
77721         alloca modernization/simplification for regex.
77722         * lib/regex.c: Remove portability cruft for alloca.  This no longer
77723         needs to be at the start of the file, and can be moved into
77724         regex_internal.h and simplified.
77725         * lib/regex_internal.h: Include <alloca.h>.
77726         (__libc_use_alloca) [!defined _LIBC]: New macro.
77727         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
77728         now works outside glibc.
77729
77730 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77731
77732         * config/srclist.txt: Add glibc bugs 1241, 1245.
77733
77734 2005-08-25  Jim Meyering  <jim@meyering.net>
77735
77736         * lib/open-safer.c: Include <config.h>.
77737         Otherwise, we'd lose LARGEFILE support in any file using
77738         e.g. "fcntl--.h"
77739
77740 2005-08-25  Bruno Haible  <bruno@clisp.org>
77741
77742         * m4/minmax.m4: Require autoconf 2.52.
77743         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
77744         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
77745         alternatives of translit over the alphabet.
77746         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
77747
77748 2005-08-24  Simon Josefsson  <jas@extundo.com>
77749
77750         * tests/test-getpass.c: New file.
77751
77752 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
77753
77754         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
77755         for GNU regex features.
77756
77757 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
77758
77759         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
77760         * lib/regex.h (regerror): Likewise.
77761
77762         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
77763         requires this.  (The code never needed it.)
77764
77765         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
77766         All uses of recently-renamed identifiers changed to use the new,
77767         POSIX-compliant names.  The code will build and run just fine
77768         without these changes, but it's better to eat our own dog food
77769         and use the standard-conforming names.
77770
77771         * lib/regex.h: Fix a multitude of POSIX name space violations.
77772         These changes have an effect only for programs that define
77773         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
77774         do not change anything for programs compiled in the normal way.
77775         Also, there is no effect on the ABI.
77776
77777         (_REGEX_SOURCE): New macro.
77778         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
77779         defined and _GNU_SOURCE is not; this fixes a name space violation.
77780
77781         Rename the following macros to obey POSIX requirements.
77782         The old names are still visible as macros if _REGEX_SOURCE is defined.
77783         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
77784         RE_BACKSLASH_ESCAPE_IN_LISTS.
77785         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
77786         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
77787         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
77788         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
77789         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
77790         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
77791         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
77792         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
77793         (REG_INTERVALS): renamed from RE_INTERVALS.
77794         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
77795         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
77796         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
77797         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
77798         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
77799         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
77800         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
77801         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
77802         RE_UNMATCHED_RIGHT_PAREN_ORD.
77803         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
77804         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
77805         (REG_DEBUG): renamed from RE_DEBUG.
77806         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
77807         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
77808         unusual, since we can't clash with the POSIX REG_ICASE.
77809         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
77810         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
77811         (REG_NO_SUB): renamed from RE_NO_SUB.
77812         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
77813         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
77814         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
77815         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
77816         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
77817         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
77818         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
77819         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
77820         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
77821         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
77822         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
77823         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
77824         RE_SYNTAX_POSIX_MINIMAL_BASIC.
77825         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
77826         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
77827         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
77828         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
77829         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
77830         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
77831         (REG_FIXED): Renamed from REGS_FIXED.
77832         (REG_NREGS): Renamed from RE_NREGS.
77833
77834         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
77835         of other REG_* macros, since POSIX says the user is allowed to
77836         #undef these macros selectively.
77837
77838         (reg_errcode_t): Update comment stating what other tables need
77839         to be consistent.
77840
77841         Rename the following enum values to obey POSIX requirements.
77842         The old names are still visible as macros.
77843         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
77844         is not defined, since GNU is supposed to be a superset of POSIX as
77845         much as possible, and since we want reg_errcode_t to be a signed
77846         type for implementation consistency.
77847         (_REG_NOERROR): Renamed from REG_NOERROR.
77848         (_REG_NOMATCH): Renamed from REG_NOMATCH.
77849         (_REG_BADPAT): Renamed from REG_BADPAT.
77850         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
77851         (_REG_ECTYPE): Renamed from REG_ECTYPE.
77852         (_REG_EESCAPE): Renamed from REG_EESCAPE.
77853         (_REG_ESUBREG): Renamed from REG_ESUBREG.
77854         (_REG_EBRACK): Renamed from REG_EBRACK.
77855         (_REG_EPAREN): Renamed from REG_EPAREN.
77856         (_REG_EBRACE): Renamed from REG_EBRACE.
77857         (_REG_BADBR): Renamed from REG_BADBR.
77858         (_REG_ERANGE): Renamed from REG_ERANGE.
77859         (_REG_ESPACE): Renamed from REG_ESPACE.
77860         (_REG_BADRPT): Renamed from REG_BADRPT.
77861         (_REG_EEND): Renamed from REG_EEND.
77862         (_REG_ESIZE): Renamed from REG_ESIZE.
77863         (_REG_ERPAREN): Renamed from REG_ERPAREN.
77864         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
77865         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
77866         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
77867         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
77868
77869         (_REG_RE_NAME, _REG_RM_NAME): New macros.
77870         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
77871         changed.  But support the old name if the new one is not defined
77872         and if _REGEX_SOURCE.
77873
77874         Change the following member names in struct re_pattern_buffer.
77875         The old names are still supported if !_REGEX_SOURCE.
77876         The new names are always supported, regardless of _REGEX_SOURCE.
77877         (re_buffer): Renamed from buffer.
77878         (re_allocated): Renamed from allocated.
77879         (re_used): Renamed from used.
77880         (re_syntax): Renamed from syntax.
77881         (re_fastmap): Renamed from fastmap.
77882         (re_translate): Renamed from translate.
77883         (re_can_be_null): Renamed from can_be_null.
77884         (re_regs_allocated): Renamed from regs_allocated.
77885         (re_fastmap_accurate): Renamed from fastmap_accurate.
77886         (re_no_sub): Renamed from no_sub.
77887         (re_not_bol): Renamed from not_bol.
77888         (re_not_eol): Renamed from not_eol.
77889         (re_newline_anchor): Renamed from newline_anchor.
77890
77891         Change the following member names in struct re_registers.
77892         The old names are still supported if !_REGEX_SOURCE.
77893         The new names are always supported, regardless of _REGEX_SOURCE.
77894         (rm_num_regs): Renamed from num_regs.
77895         (rm_start): Renamed from start.
77896         (rm_end): Renamed from end.
77897
77898         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
77899         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
77900         Prepend __ to parameter names.
77901
77902         Undo yesterday's changes.
77903
77904 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
77905
77906         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
77907         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
77908         lib/regex.c.
77909
77910 2005-08-24  Jim Meyering  <jim@meyering.net>
77911
77912         Sync from coreutils.
77913         * m4/fcntl-safer.m4: New file.
77914
77915         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
77916         and object files for this module.
77917
77918 2005-08-24  Jim Meyering  <jim@meyering.net>
77919
77920         Sync from coreutils.
77921         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
77922
77923 2005-08-24  Jim Meyering  <jim@meyering.net>
77924
77925         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
77926         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
77927
77928 2005-08-24  Jim Meyering  <jim@meyering.net>
77929
77930         * modules/fcntl-safer: New module.
77931         * modules/fts (Depends-on): Add fcntl-safer.
77932         * MODULES.html.sh (File descriptor based Input/Output):
77933         Add fcntl-safer.
77934
77935 2005-08-24  Bruno Haible  <bruno@clisp.org>
77936
77937         Support for unit test modules.
77938         * modules/README: Mention tests modules.
77939         * modules/TEMPLATE-TESTS: New file.
77940         * gnulib-tool: New options --extract-tests-module, --with-tests and
77941         --tests-base (unused for the moment).
77942         (testsbase, inctests): New variables.
77943         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
77944         (func_verify_module): Exclude TEMPLATE-TESTS.
77945         (func_verify_nontests_module, func_verify_tests_module): New functions.
77946         (func_get_dependencies): Add implicit dependency for tests modules.
77947         (func_get_tests_module): New function.
77948         (func_modules_transitive_closure): When --with-tests was specified,
77949         include the unit tests as well, unless explicitly avoided.
77950         (func_emit_lib_Makefile_am): Ignore the tests modules here.
77951         (func_emit_tests_Makefile_am): New function.
77952         (func_create_testdir): When --with-tests was specified, emit a
77953         tests/ directory.
77954         * MODULES.html.sh (Future developments): Update.
77955
77956 2005-08-24  Bruno Haible  <bruno@clisp.org>
77957
77958         * modules/tls-tests: New file.
77959         * tests/test-tls.c: New file, from GNU gettext.
77960
77961 2005-08-24  Bruno Haible  <bruno@clisp.org>
77962
77963         * modules/lock-tests: New file.
77964         * tests/test-lock.c: New file, from GNU gettext.
77965
77966 2005-08-24  Bruno Haible  <bruno@clisp.org>
77967
77968         * lib/lock.h: Add multiple inclusion guard.
77969         * lib/tls.h: Add multiple inclusion guard.
77970
77971 2005-08-24  Bruno Haible  <bruno@clisp.org>
77972
77973         * gnulib-tool: Add support for the --aux-dir option to
77974         --create-testdir, --create-megatestdir, --test, --megatest.
77975         (func_create_testdir, func_create_megatestdir): Optionally emit a
77976         AC_CONFIG_AUX_DIR directive.
77977         (create-testdir, create-megatestdir, test, megatest): Provide a
77978         default value for $auxdir.
77979
77980 2005-08-24  Bruno Haible  <bruno@clisp.org>
77981
77982         * gnulib-tool (import): Use compound statement instead of subshell
77983         where possible.
77984
77985 2005-08-24  Bruno Haible  <bruno@clisp.org>
77986
77987         * gnulib-tool (import): Change --aux-dir default to "build-aux".
77988
77989 2005-08-24  Bruno Haible  <bruno@clisp.org>
77990
77991         * gnulib-tool (func_version): Update.
77992
77993 2005-08-24  Bruno Haible  <bruno@clisp.org>
77994
77995         * gnulib-tool (func_import, func_create_testdir,
77996         func_create_megatestdir): Quote all autoconf macro arguments.
77997
77998 2005-08-24  Bruno Haible  <bruno@clisp.org>
77999
78000         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
78001         option --force, because --force causes the aclocal.m4 of each
78002         subdirectory to be newer than the corresponding config.h.in.
78003
78004 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78005
78006         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
78007         All contents moved to gl_REGEX.
78008         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
78009         assume that it does.
78010
78011 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78012
78013         * lib/regex.h (REG_NOSYS)
78014         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
78015         Define, since POSIX requires it as of 2001.
78016         (_REG_ENOSYS)
78017         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
78018         New private symbol, used to keep the enum signed in all cases.
78019         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
78020         Youngman in
78021         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
78022
78023         * lib/regex_internal.c (re_string_skip_chars, register_state):
78024         (calc_state_hash):
78025         Remove forward decls; no longer needed now that we use prototypes.
78026         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
78027         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
78028         (clean_state_log_if_needed): Likewise.
78029
78030 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78031
78032         * config/srclist.txt: Add glibc bugs 1231-1233.
78033
78034 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78035
78036         Fix problems reported by Sam Steingold in
78037         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
78038         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
78039         assumed that reg_errcode_t is a signed type, which is not
78040         necessarily true if _XOPEN_SOURCE is not defined.
78041         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
78042         since some compilers warn about it otherwise.
78043
78044 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78045
78046         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
78047         (init_word_char, create_initial_state, duplicate_node_closure):
78048         (fetch_token, peek_token_bracket, build_range_exp):
78049         (build_collating_symbol): Remove forward decls; no longer needed
78050         now that we use prototypes.
78051
78052         * lib/regcomp.c:
78053         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
78054         (re_compile_fastmap_iter, regcomp, regerror, regfree):
78055         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
78056         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
78057         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
78058         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
78059         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
78060         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
78061         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
78062         (build_range_exp, build_collating_symbol, parse_bracket_exp):
78063         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
78064         (build_charclass, build_charclass_op, fetch_number, create_tree):
78065         (create_token_tree, mark_opt_subexp, duplicate_tree):
78066         Use prototypes rather than old-style definitions.
78067
78068         * lib/regex_internal.c:
78069         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
78070         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
78071         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
78072         (re_string_reconstruct, re_string_peek_byte_case):
78073         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
78074         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
78075         (re_node_set_init_copy, re_node_set_add_intersect):
78076         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
78077         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
78078         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
78079         (re_acquire_state, re_acquire_state_context, register_state):
78080         (create_ci_newstate, create_cd_newstate, free_state):
78081         Likewise.
78082         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
78083         re_search_2):
78084         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
78085         (re_search_internal, prune_impossible_nodes):
78086         (acquire_init_state_context, check_matching, static):
78087         (check_halt_node_context, check_halt_state_context, proceed_next_node):
78088         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
78089         (update_regs, sift_states_backward, build_sifted_states):
78090         (clean_state_log_if_needed, merge_state_array):
78091         (update_cur_sifted_state, add_epsilon_src_nodes):
78092         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
78093         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
78094         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
78095         (find_recover_state, check_subexp_matching_top, transit_state_mb):
78096         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
78097         (check_arrival, check_arrival_add_next_nodes):
78098         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
78099         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
78100         (check_node_accept_bytes, check_node_accept, extend_buffers):
78101         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
78102         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
78103         (sift_ctx_init):
78104         Likewise.
78105
78106         * lib/regex_internal.h:
78107         (re_string_allocate, re_string_construct, re_string_reconstruct):
78108         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
78109         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
78110         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
78111         (re_string_context_at, re_string_peek_byte_case):
78112         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
78113         is defined, since we now use prototypes always.
78114
78115         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
78116         C89 or better.  All uses removed.
78117
78118 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78119
78120         * config/srclist.txt: Add glibc bugs 1220-1227.
78121
78122 2005-08-20  Jim Meyering  <jim@meyering.net>
78123
78124         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
78125         of unused local, dfa.
78126
78127 2005-08-20  Bruno Haible  <bruno@clisp.org>
78128
78129         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
78130
78131 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78132
78133         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
78134         (re_node_set_insert_last, re_dfa_add_node):
78135         Rename local variables to avoid GCC shadowing warnings.
78136
78137 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78138
78139         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
78140         [defined lint]: Suppress bogus uninitialized-variable warnings.
78141
78142         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
78143         and let the caller return REG_ESPACE if out of space.  This
78144         removes an uninitialied-variable warning with GCC 4.0.1, and also
78145         avoids taking the address of a local variable.  All callers
78146         changed.
78147
78148 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78149
78150         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
78151         $LIBCSRC/posix/regexec.c.
78152         Add glibc bug 1217 for regcomp.c.
78153
78154 2005-08-19  Jim Meyering  <jim@meyering.net>
78155
78156         * lib/regexec.c (proceed_next_node): Redo local variables to
78157         avoid GCC shadowing warnings.
78158
78159 2005-08-18  Bruno Haible  <bruno@clisp.org>
78160
78161         * lib/strstr.c (strstr): Fix return value in multibyte case.
78162         * lib/strcasestr.c (strcasestr): Likewise.
78163
78164 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
78165
78166         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
78167
78168 2005-08-17  Jim Meyering  <jim@meyering.net>
78169
78170         Make the %s format (seconds since the epoch) work for a negative
78171         number and when used with a zero-padded field width, e.g. %015s.
78172
78173         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
78174         label so that it precedes the code to set `digits'.  Otherwise,
78175         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
78176         print `00-22'.  Now, it prints `-0022', as it should.
78177
78178 2005-08-17  Bruno Haible  <bruno@clisp.org>
78179
78180         * modules/strstr (Files): Add m4/mbrtowc.m4.
78181         (Depends-on): Add mbuiter.
78182
78183 2005-08-17  Bruno Haible  <bruno@clisp.org>
78184
78185         * modules/strcasestr: New file.
78186         * MODULES.html.sh (String handling, based on ANSI C 89): Add
78187         strcasestr.
78188
78189 2005-08-17  Bruno Haible  <bruno@clisp.org>
78190
78191         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
78192
78193 2005-08-17  Bruno Haible  <bruno@clisp.org>
78194
78195         * modules/mbuiter: New file.
78196         * MODULES.html.sh (Extended multibyte and wide character utilities):
78197         Add mbuiter.
78198
78199 2005-08-17  Bruno Haible  <bruno@clisp.org>
78200
78201         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
78202         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
78203
78204 2005-08-17  Bruno Haible  <bruno@clisp.org>
78205
78206         * m4/strcasestr.m4: New file.
78207
78208 2005-08-17  Bruno Haible  <bruno@clisp.org>
78209
78210         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
78211         * lib/strstr.c: Completely rewritten, with multibyte locale support.
78212
78213 2005-08-17  Bruno Haible  <bruno@clisp.org>
78214
78215         * lib/strcasestr.h: New file.
78216         * lib/strcasestr.c: New file.
78217
78218 2005-08-17  Bruno Haible  <bruno@clisp.org>
78219
78220         * lib/strcasecmp.c: Use mbuiter.h.
78221
78222 2005-08-17  Bruno Haible  <bruno@clisp.org>
78223
78224         * lib/mbuiter.h: New file.
78225
78226 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
78227
78228         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
78229         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
78230         and gl_GETOPT are both invoked via different paths (as happens
78231         with GNU tar CVS because it uses both argp and getopt), the former
78232         wins.
78233
78234 2005-08-16  Bruno Haible  <bruno@clisp.org>
78235
78236         * modules/tls: New file.
78237         * MODULES.html.sh (Multithreading): Add tls.
78238
78239 2005-08-16  Bruno Haible  <bruno@clisp.org>
78240
78241         * modules/strnlen1: New file.
78242         * MODULES.html.sh (String handling): Add strnlen1.
78243
78244 2005-08-16  Bruno Haible  <bruno@clisp.org>
78245
78246         * modules/strcase (Files): Add m4/mbrtowc.m4.
78247         (Depends-on): Add strnlen1, mbchar.
78248
78249 2005-08-16  Bruno Haible  <bruno@clisp.org>
78250
78251         * modules/mbiter: New file.
78252         * MODULES.html.sh (Extended multibyte and wide character utilities):
78253         Add mbiter.
78254
78255 2005-08-16  Bruno Haible  <bruno@clisp.org>
78256
78257         * modules/mbfile: New file.
78258         * MODULES.html.sh (Extended multibyte and wide character utilities):
78259         Add mbfile.
78260
78261 2005-08-16  Bruno Haible  <bruno@clisp.org>
78262
78263         * modules/mbchar: New file.
78264         * MODULES.html.sh (Extended multibyte and wide character utilities):
78265         New section.
78266
78267 2005-08-16  Bruno Haible  <bruno@clisp.org>
78268
78269         * m4/tls.m4: New file, from GNU gettext.
78270
78271 2005-08-16  Bruno Haible  <bruno@clisp.org>
78272
78273         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
78274         always.
78275         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
78276
78277 2005-08-16  Bruno Haible  <bruno@clisp.org>
78278
78279         * m4/mbiter.m4: New file.
78280
78281 2005-08-16  Bruno Haible  <bruno@clisp.org>
78282
78283         * m4/mbfile.m4: New file.
78284
78285 2005-08-16  Bruno Haible  <bruno@clisp.org>
78286
78287         * m4/mbchar.m4: New file.
78288
78289 2005-08-16  Bruno Haible  <bruno@clisp.org>
78290
78291         * lib/tls.h: New file, from GNU gettext.
78292         * lib/tls.c: New file, from GNU gettext.
78293
78294 2005-08-16  Bruno Haible  <bruno@clisp.org>
78295
78296         * lib/strnlen1.h: New file.
78297         * lib/strnlen1.c: New file.
78298
78299 2005-08-16  Bruno Haible  <bruno@clisp.org>
78300
78301         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
78302         (mbi_init): Update.
78303         (mbi_avail, mbi_advance): Let the iteration end before the terminating
78304         NUL byte, not after it.
78305
78306 2005-08-16  Bruno Haible  <bruno@clisp.org>
78307
78308         * lib/strcase.h (strcasecmp): Add note in comments.
78309         * lib/strncasecmp.c: Use code from strcasecmp.c.
78310         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
78311         (strcasecmp): Work correctly in multibyte locales.
78312
78313 2005-08-16  Bruno Haible  <bruno@clisp.org>
78314
78315         * lib/mbiter.h: New file.
78316
78317 2005-08-16  Bruno Haible  <bruno@clisp.org>
78318
78319         * lib/mbfile.h: New file.
78320
78321 2005-08-16  Bruno Haible  <bruno@clisp.org>
78322
78323         * lib/mbchar.h: New file.
78324         * lib/mbchar.c: New file.
78325
78326 2005-08-16  Bruno Haible  <bruno@clisp.org>
78327
78328         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
78329         the valid ones. Makes the comparison operations transitive:
78330         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
78331         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
78332
78333 2005-08-15  Simon Josefsson  <jas@extundo.com>
78334
78335         * modules/ssize_t (License): Change to 'unlimited'.
78336
78337         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
78338
78339 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78340
78341         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
78342         Add comments for each pending glibc patch.
78343
78344 2005-08-15  Bruno Haible  <bruno@clisp.org>
78345
78346         * lib/regex.h (__restrict_arr): Don't define to __restrict if
78347         __cplusplus is defined.
78348
78349 2005-08-14  Jim Meyering  <jim@meyering.net>
78350
78351         Sync from coreutils.
78352
78353         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
78354         Use the hash-table-based cycle-detection code not just when
78355         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
78356         Reported by James Youngman in
78357         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
78358         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
78359         FTS_TIGHT_CYCLE_CHECK.
78360         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
78361         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
78362         once again.
78363         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
78364         * lib/fts.c (fd_safer): Remove decl.
78365         Include fcntl--.h rather than unistd-safer.h
78366         (fts_safe_changedir): Don't call fd_safer; no longer needed
78367         now that we include fcntl--.h.
78368
78369 2005-08-12  Simon Josefsson  <jas@extundo.com>
78370
78371         * modules/getndelim2: Use ssize_t module.
78372         * modules/getnline: Likewise.
78373         * modules/safe-read: Likewise.
78374         * modules/xreadlink: Likewise.
78375
78376         * modules/ssize_t: New file.
78377
78378 2005-08-12  Simon Josefsson  <jas@extundo.com>
78379
78380         * m4/readline.m4: Look for termcap, curses or ncurses if required.
78381
78382 2005-08-12  Simon Josefsson  <jas@extundo.com>
78383
78384         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78385         ssize_t.
78386
78387 2005-08-12  Simon Josefsson  <jas@extundo.com>
78388
78389         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
78390         readline, getdelim and check_version.
78391         (Support for systems lacking ISO C 99: Sizes of integer types):
78392         Add size_max.
78393
78394 2005-08-12  Bruno Haible  <bruno@clisp.org>
78395
78396         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
78397
78398 2005-08-11  Simon Josefsson  <jas@extundo.com>
78399
78400         * modules/readline: New file.
78401
78402         * modules/strnlen (Files): Add strnlen.h.
78403
78404 2005-08-11  Simon Josefsson  <jas@extundo.com>
78405
78406         * m4/readline.m4: New file.
78407
78408 2005-08-11  Simon Josefsson  <jas@extundo.com>
78409
78410         * lib/readline.h, readline.c: New file.
78411
78412 2005-08-11  Simon Josefsson  <jas@extundo.com>
78413
78414         * doc/gnulib.texi (Initial import, Finishing touches): Mention
78415         gl_AVOID.
78416
78417 2005-08-11  Bruno Haible  <bruno@clisp.org>
78418
78419         * lib/strnlen.h (strnlen): Change parameter name to match comment.
78420
78421 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
78422
78423         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
78424
78425 2005-08-10  Simon Josefsson  <jas@extundo.com>
78426
78427         * tests/test-iconvme.c: New file.
78428
78429 2005-08-10  Simon Josefsson  <jas@extundo.com>
78430
78431         * m4/strnlen.m4: New file.
78432
78433         * m4/strndup.m4: Don't check for strnlen declaration, done in
78434         strnlen.m4.
78435
78436 2005-08-10  Simon Josefsson  <jas@extundo.com>
78437
78438         * lib/strndup.c: Use strnlen.h.
78439
78440         * lib/strnlen.h: New file.
78441
78442 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78443
78444         * README: Typos.
78445
78446 2005-08-02  Simon Josefsson  <jas@extundo.com>
78447
78448         * modules/readline: New file.
78449
78450 2005-08-02  Simon Josefsson  <jas@extundo.com>
78451
78452         * modules/getdelim: New file.
78453
78454         * modules/getline: Rewrite, don't use getndelim2.
78455
78456 2005-08-02  Simon Josefsson  <jas@extundo.com>
78457
78458         * m4/getline.m4: Separate out getdelim stuff into separate module.
78459
78460         * m4/getdelim.m4: New file.
78461
78462 2005-08-02  Simon Josefsson  <jas@extundo.com>
78463
78464         * lib/getline.h, getline.c: Rewrite.
78465
78466         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
78467
78468 2005-07-31  Bruno Haible  <bruno@clisp.org>
78469
78470         * lib/lock.h (gl_lock_initializer): New macro.
78471         (gl_lock_define_initialized): Use it.
78472         (gl_rwlock_initializer): New macro.
78473         (gl_rwlock_define_initialized): Use it.
78474         (gl_recursive_lock_initializer): New macro.
78475         (gl_recursive_lock_define_initialized): Use it.
78476
78477 2005-07-30  Karl Berry  <karl@gnu.org>
78478
78479         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
78480         Report from Ben Pfaff, regarding getopt.
78481
78482 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
78483
78484         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
78485         normal way.
78486         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
78487         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
78488         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
78489         (gl_GETOPT): Use the new macros.  Most of the implementation
78490         is moved to the new macros.  This is for programs like Emacs
78491         that don't want all the functionality of gl_GETOPT.
78492
78493 2005-07-26  Bruno Haible  <bruno@clisp.org>
78494
78495         * m4/lock.m4: Update from GNU gettext.
78496
78497 2005-07-26  Bruno Haible  <bruno@clisp.org>
78498
78499         * lib/lock.h: Update from GNU gettext.
78500         * lib/lock.c: Update from GNU gettext.
78501
78502 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
78503
78504         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
78505         obsolescent AC_TRY_RUN.  Include the default includes files, for
78506         'exit'.
78507
78508 2005-07-24  Bruno Haible  <bruno@clisp.org>
78509
78510         * modules/visibility: New file.
78511         * MODULES.html.sh (Misc): Add visibility.
78512
78513 2005-07-24  Bruno Haible  <bruno@clisp.org>
78514
78515         * m4/visibility.m4: New file.
78516
78517 2005-07-24  Bruno Haible  <bruno@clisp.org>
78518
78519         * doc/visibility.texi: New file.
78520
78521 2005-07-22  Bruno Haible  <bruno@clisp.org>
78522
78523         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
78524         $(ALLOCA_H), redundant through BUILT_SOURCES.
78525         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
78526         redundant through BUILT_SOURCES.
78527         * modules/byteswap (Makefile.am): Remove explicit dependency on
78528         $(BYTESWAP_H), redundant through BUILT_SOURCES.
78529         * modules/fnmatch (Makefile.am): Remove explicit dependency on
78530         $(FNMATCH_H), redundant through BUILT_SOURCES.
78531         * modules/getopt (Makefile.am): Remove explicit dependency on
78532         $(GETOPT_H), redundant through BUILT_SOURCES.
78533         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
78534         redundant through BUILT_SOURCES.
78535         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
78536         redundant through BUILT_SOURCES.
78537         * modules/stdbool (Makefile.am): Remove explicit dependency on
78538         $(STDBOOL_H), redundant through BUILT_SOURCES.
78539         * modules/stdint (Makefile.am): Remove explicit dependency on
78540         $(STDINT_H), redundant through BUILT_SOURCES.
78541         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
78542         Remove explicit dependency on $(SYSEXITS_H).
78543         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
78544
78545 2005-07-18  Simon Josefsson  <jas@extundo.com>
78546
78547         * lib/check-version.c (check_version): Accept identical versions too.
78548
78549 2005-07-18  Bruno Haible  <bruno@clisp.org>
78550
78551         * modules/lock: New file.
78552         * MODULES.html.sh (Multithreading): New section.
78553
78554 2005-07-18  Bruno Haible  <bruno@clisp.org>
78555
78556         * m4/lock.m4: New file, from GNU gettext.
78557
78558 2005-07-18  Bruno Haible  <bruno@clisp.org>
78559
78560         * lib/lock.h: New file, from GNU gettext.
78561         * lib/lock.c: New file, from GNU gettext.
78562
78563 2005-07-18  Bruno Haible  <bruno@clisp.org>
78564
78565         * lib/lock.h (gl_once_t): New type.
78566         (gl_once_define, gl_once): New macros.
78567         * lib/lock.c (fresh_once): New variable.
78568         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
78569         functions.
78570
78571 2005-07-16  Simon Josefsson  <jas@extundo.com>
78572
78573         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
78574         workaround, suggested by Bruno.
78575
78576 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
78577
78578         * modules/xalloc (Depends-on): Add xalloc-die.
78579         * modules/xvasprintf (Depends-on): Add xalloc-die.
78580
78581 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
78582
78583         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
78584         with a minor change.
78585
78586 2005-07-15  Bruno Haible  <bruno@clisp.org>
78587
78588         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
78589         When using lib/poll.c, define poll as rpl_poll.
78590
78591 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
78592
78593         * modules/argp (Depends-on): Remove unlocked-io.
78594
78595 2005-07-14  Derek Price  <derek@ximbiot.com>
78596
78597         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
78598         for glob symlink bug.
78599
78600 2005-07-14  Bruno Haible  <bruno@clisp.org>
78601
78602         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
78603         Instead, test for *_unlocked function declarations directly.
78604
78605 2005-07-11  Simon Josefsson  <jas@extundo.com>
78606
78607         * modules/size_max: New file.
78608
78609         * modules/xsize: Depend on size_max module for size_max.m4.
78610
78611 2005-07-11  Simon Josefsson  <jas@extundo.com>
78612
78613         * lib/size_max.h: New file.
78614
78615 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
78616
78617         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
78618         copyright symbol and the year.
78619         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
78620         (version_etc_va): Use parameterized copyright notice.
78621         Reword to conform to the current GNU coding standards.
78622
78623 2005-07-11  Karl Berry  <karl@gnu.org>
78624
78625         * doc/gnulib.texi (Quoting): new node.
78626         (Initial import): more info, from Patrice.
78627
78628 2005-07-11  Bruno Haible  <bruno@clisp.org>
78629
78630         * gnulib-tool (func_usage): Document option --avoid.
78631         (Command line options): Handle --avoid.
78632         (func_acceptable): New function.
78633         (func_modules_transitive_closure): Use it.
78634
78635 2005-07-11  Bruno Haible  <bruno@clisp.org>
78636
78637         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
78638         Reported by Jim Meyering.
78639
78640 2005-07-10  Bruno Haible  <bruno@clisp.org>
78641
78642         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
78643         Needed when size_t is smaller than 'unsigned int'.
78644         Reported by Paul Eggert.
78645
78646 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78647
78648         * modules/argp (Depends-on): Add unlocked-io
78649
78650 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78651
78652         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
78653         block of defines.
78654
78655 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
78656
78657         * config/srclist.txt: Comment out regcomp.c, since we have a porting
78658         fix now.
78659
78660 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
78661         and Paul Eggert  <eggert@cs.ucla.edu>
78662
78663         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
78664         in wint_t, not wchar_t.  Remove now-unnecessary cast.
78665
78666 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
78667
78668         * modules/regex (Files): Add lib/regex_internal.c,
78669         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
78670         (Depends-on): Add extensions.
78671         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
78672
78673 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
78674
78675         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
78676         pathconf.
78677         * m4/same.m4 (gl_SAME): Likewise.
78678         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
78679
78680         * m4/regex.m4: Adjust to new libc regex implementation.
78681         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
78682         all the .c and .h parts of (the new) regex.
78683         Quote the m4 stuff better.
78684         Check for RE_ICASE bug of old gnulib.
78685         Check for REG_STARTEND of recent libc.
78686         Rename local variables from jm_* to gl_*.
78687         Quote operand of "test -f".
78688         Say "recent enough" version of libc, not "version 2".
78689         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
78690         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
78691         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
78692         Remove check for btowc, isascii.
78693         Require AM_LANGINFO_CODESET.
78694
78695 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
78696
78697         * lib/regex.c, regex.h: Sync from libc.
78698         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
78699         * lib/regexec.c:
78700         New files, synced from libc, except that regex_internal.h
78701         currently has a small porting fix.
78702
78703 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
78704
78705         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
78706         regex_internal.c, regexec.c.
78707         Add regex_internal.h too, but as a comment, since the libc version
78708         is currently broken in gnulib mode.
78709
78710 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78711
78712         Support programs like Emacs that use gnulib but not gettext.
78713         * MODULES.html.sh (Internationalization functions): Add gettext-h.
78714         * modules/gettext-h: New file.
78715         * modules/gettext (Files): Remove lib/gettext.h.
78716         (Depends-on): Add gettext-h.
78717         (Makefile.am): Remove lib_SOURCES.
78718         * modules/argmatch, modules/c-stack, modules/closeout:
78719         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
78720         * modules/execute, modules/file-type, modules/getaddrinfo:
78721         * modules/getopt, modules/human, modules/javacomp:
78722         * modules/javaexec, modules/mkdir-p, modules/obstack:
78723         * modules/openat, modules/pagealign_alloc, modules/pipe:
78724         * modules/quotearg, modules/regex, modules/rpmatch:
78725         * modules/unicodeio, modules/userspec, modules/version-etc:
78726         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
78727         * modules/xsetenv:
78728         Depend on gettext-h, not gettext.
78729
78730 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
78731
78732         * gnulib-tool (func_import): Add support for 'public domain' license.
78733         * modules/alloca, modules/atexit, modules/memmove:
78734         Now public domain, not GPL.
78735         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
78736         * modules/realloc, modules/strerror, modules/strtod:
78737         Now LGPL, not GPL.
78738
78739 2005-07-05  Bruno Haible  <bruno@clisp.org>
78740
78741         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
78742         autoconf CVS. Needed for mingw.
78743
78744 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78745
78746         Remove the dependency of the strftime module on the tzset module.
78747         * modules/strftime (Depends-on): Remove dependency on tzset.
78748
78749 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78750
78751         Remove the dependency of the strftime module on the tzset module.
78752         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
78753         gl_FUNC_TZSET_CLOBBER.
78754
78755 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78756
78757         Remove the dependency of the strftime module on the tzset module.
78758         * lib/strftime.c (my_strftime)
78759         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
78760         Copy the input structure, to work around some of the bug with
78761         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
78762         Solaris releases, you should also use the tzset module, but we won't
78763         require it as a dependency any more since we don't want LGPLed code
78764         to depend on GPLed code.
78765
78766 2005-07-02  Jim Meyering  <jim@meyering.net>
78767
78768         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
78769         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
78770         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
78771         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
78772
78773 2005-07-02  Jim Meyering  <jim@meyering.net>
78774
78775         * lib/backupfile.c (backup_args): Change a `0' to NULL.
78776
78777 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78778
78779         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
78780         declares only 'struct timespec;' (!).
78781
78782 2005-07-01  Jim Meyering  <jim@meyering.net>
78783
78784         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
78785         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
78786         * lib/save-cwd.c, tempname.c:
78787         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
78788         and don't include <sys/file.h>).
78789
78790 2005-06-29  Jim Meyering  <jim@meyering.net>
78791
78792         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
78793         type name.  Use the variable name instead.
78794         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
78795         Likewise.
78796
78797 2005-06-28  Simon Josefsson  <jas@extundo.com>
78798
78799         * modules/check-version (Files): Add check-version.m4.
78800
78801 2005-06-28  Simon Josefsson  <jas@extundo.com>
78802
78803         * m4/check-version.m4: New file, suggested by Jim Meyering
78804         <jim@meyering.net>.
78805
78806 2005-06-28  Simon Josefsson  <jas@extundo.com>
78807
78808         * lib/check-version.h, lib/check-version.c: New files.
78809
78810 2005-06-28  Simon Josefsson  <jas@extundo.com>
78811
78812         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
78813         collision with global variable.  Better indentation.  Don't
78814         increment buffer pointer beyond buffer end.  Based on comments
78815         from Paul Eggert <eggert@cs.ucla.edu>.
78816
78817         * lib/base64.h: Indent.
78818
78819 2005-06-28  Simon Josefsson  <jas@extundo.com>
78820
78821         * doc/gnulib.texi (Library version handling): New section.
78822
78823 2005-06-28  Jim Meyering  <jim@meyering.net>
78824
78825         * check-module (find_included_lib_files): Hard-code another
78826         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
78827         but modules/fts-lgpl (correctly) does not list those files.
78828
78829         * modules/canonicalize (Files): Add lib/pathmax.h.
78830
78831 2005-06-25  Simon Josefsson  <jas@extundo.com>
78832
78833         * modules/check-version: New file.
78834
78835 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
78836
78837         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
78838         initializer of struct addrinfo, as an indication that we don't
78839         care how many members the structure has.
78840
78841 2005-06-24  Derek Price  <derek@ximbiot.com>
78842         and Bruno Haible  <bruno@clisp.org>
78843
78844         Remove stat module & update lstat.
78845         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
78846         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
78847         * m4/stat.m4: Remove this file.
78848
78849 2005-06-24  Derek Price  <derek@ximbiot.com>
78850         and Bruno Haible  <bruno@clisp.org>
78851
78852         Remove stat module & update lstat.
78853         * lib/stat.c: Remove this file...
78854         (slash_aware_lstat): ...moving this content and its support...
78855         * lib/lstat.c (rpl_lstat): ...into here.
78856         * lib/lstat.h: New file.
78857
78858 2005-06-24  Derek Price  <derek@ximbiot.com>
78859         and Bruno Haible  <bruno@clisp.org>
78860
78861         Remove stat module & update lstat.
78862         * config/srclist.txt (libc sources): Remove stat.
78863
78864 2005-06-24  Derek Price  <derek@ximbiot.com>
78865         and Bruno Haible  <bruno@clisp.org>
78866
78867         Remove stat module & update lstat.
78868         * MODULES.html.sh (stat): Remove.
78869         * MODULES.html: Regenerated.
78870         * modules/lstat (Description): Correct function name.
78871         (Files): Add "lstat.h".
78872         (Depends-on): Remove stat, add xalloc, stat-macros.
78873         * modules/stat: Remove this file.
78874         (Include): Add "lstat.h", remove <sys/stat.h>.
78875
78876 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
78877
78878         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
78879         (ranged_convert): Don't save conversion in a temporary struct.
78880         This causes a warning with GCC 4.0.0, and anyway in the typical
78881         case it's not worth the extra 100 bytes or so of code.
78882         (ranged_convert, __mktime_internal): When calling a function via a
78883         pointer P, use P () rather than (*P) (), as we now assume C89 or
78884         better.
78885
78886 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
78887
78888         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
78889         "who -r" failed to give output.  Problem reported by Tim Waugh.
78890
78891         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
78892         (xcalloc): Use it to avoid needless tests.
78893         Problem reported by Jim Meyering.
78894
78895 2005-06-20  Derek Price  <derek@ximbiot.com>
78896
78897         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
78898         unnecessary for Autoconfs > 2.59c.
78899
78900 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78901
78902         * lib/argp.h (__option_is_short): Check upper limit of
78903         __key. Isprint() requires its argument to have the value
78904         of an unsigned char or EOF.
78905
78906 2005-06-16  Jim Meyering  <jim@meyering.net>
78907
78908         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
78909         when either N or S is zero.
78910
78911 2005-06-16  Derek Price  <derek@ximbiot.com>
78912
78913         * m4/bison.m4: Declare YACC & YFLAGS precious.
78914
78915 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
78916
78917         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
78918         multibyte string or pattern, fall back on unibyte matching.
78919         Problem reported by James Youngman.
78920
78921 2005-06-08  Bruno Haible  <bruno@clisp.org>
78922
78923         * modules/csharpcomp: New file.
78924         * MODULES.html.sh (C#): Add csharpcomp.
78925
78926 2005-06-08  Bruno Haible  <bruno@clisp.org>
78927
78928         * m4/csharpcomp.m4: New file, from GNU gettext.
78929
78930 2005-06-08  Bruno Haible  <bruno@clisp.org>
78931
78932         * lib/csharpcomp.h: New file, from GNU gettext.
78933         * lib/csharpcomp.c: New file, from GNU gettext.
78934         * lib/csharpcomp.sh.in: New file, from GNU gettext.
78935
78936 2005-06-08  Bruno Haible  <bruno@clisp.org>
78937
78938         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
78939         warning on mingw.
78940
78941 2005-06-07  Derek Price  <derek@ximbiot.com>
78942
78943         Sync from CVS.
78944         * lib/glob_.h: Indent nested #ifdef.
78945
78946 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
78947
78948         Sync from coreutils.
78949         Use "file name" when talking about file names, instead of "filename"
78950         or "path", as per the GNU coding standards.
78951         * lib/mkdir-p.c: Renamed from makepath.c.
78952         (make_dir_parents): Renamed from make_path.  All callers changed.
78953         * lib/mkdir-p.h: Likewise.  All includers changed.
78954         * lib/filenamecat.c: Renamed from path-concat.c.
78955         (file_name_concat): Renamed from path_concat.  All callers changed.
78956         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
78957         * lib/filenamecat.h: Likewise.  All includers changed.
78958         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
78959         in comments or local variable names.
78960         * lib/basename.c: Likewise.
78961         * lib/canonicalize.c, canonicalize.h: Likewise.
78962         * lib/dirname.c, dirname.h: Likewise.
78963         * lib/euidaccess.c: Likewise.
78964         * lib/exclude.c: Likewise
78965         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
78966         * lib/fsusage.c, fsuage.h: Likewise.
78967         * lib/fts.c, fts_.h: Likewise.
78968         * lib/getcwd.c: Likewise.
78969         * lib/getloadavg.c: Likewise.
78970         * lib/mkstemp.c: Likewise.
78971         * lib/mountlist.c, mountlist.h: Likewise.
78972         * lib/openat.c, openat.h: Likewise.
78973         * lib/readlink-stub.c: Likewise.
78974         * lib/readutmp.c, readutmp.h: Likewise.
78975         * lib/rename.c: Likewise.
78976         * lib/rmdir.c: Likewise.
78977         * lib/same.c: Likewise.
78978         * lib/savedir.c: Likewise.
78979         * lib/stripslash.c: Likewise.
78980         * lib/tempname.c: Likewise.
78981         * lib/xreadlink.c: Likewise.
78982         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
78983         All uses changed.
78984         * lib/exclude.h: Likewise.
78985
78986         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
78987         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
78988         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
78989         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
78990         * lib/pathmax.h: Include <limits.h> unconditionally, since other
78991         files have been getting away with it for years (MORE/BSD 4.3
78992         is extinct now).
78993         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
78994         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
78995
78996         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
78997         Define to 256, not 255, as per modern POSIX.
78998
78999 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
79000
79001         Sync from coreutils.
79002         Use "file name" when talking about file names, instead of "filename"
79003         or "path", as per the GNU coding standards.
79004         * MODULES.html.sh: mkdir-p renamed from makepath.
79005         filenamecat renamed from path-concat.
79006         * modules/filenamecat: Renamed from modules/path-concat.
79007         (Files): filenamecat.h and filenamecat.c renamed from
79008         path-concat.h and path-concat.c.
79009         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
79010         (Include): filenamecat.h, not path-concat.h.
79011         * modules/mkdir-p: Renamed from modules/makepath.
79012         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
79013         makepath.c.
79014         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
79015         (Include): mkdir-p.h, not makepath.h.
79016
79017 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
79018
79019         Sync from coreutils.
79020         * m4/mkdir-p.m4: Renamed from makepath.m4.
79021         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
79022         Rename files from makepath.c to mkdir-p.c, and from
79023         makepath.h to mkdir-p.h.
79024         * m4/filenamecat.m4: Renamed from path-concat.m4.
79025         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
79026         Rename files from path-concat.c to filenamecat.c,
79027         and from path-concat.h to filenamecat.h.
79028         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
79029         "file name" in local variables or comments.
79030         * m4/rename.m4: Likewise.
79031
79032 2005-06-01  Bruno Haible  <bruno@clisp.org>
79033
79034         * modules/csharpexec: New file.
79035         * MODULES.html.sh (C#): New section.
79036
79037 2005-06-01  Bruno Haible  <bruno@clisp.org>
79038
79039         * m4/csharp.m4: New file, from GNU gettext.
79040         * m4/csharpexec.m4: New file, from GNU gettext.
79041
79042 2005-06-01  Bruno Haible  <bruno@clisp.org>
79043
79044         * lib/csharpexec.h: New file, from GNU gettext.
79045         * lib/csharpexec.c: New file, from GNU gettext.
79046         * lib/csharpexec.sh.in: New file, from GNU gettext.
79047
79048 2005-05-31  Derek Price  <derek@ximbiot.com>
79049             Paul Eggert  <eggert@cs.ucla.edu>
79050
79051         Sync from cvs.
79052         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
79053
79054 2005-05-31  Derek Price  <derek@ximbiot.com>
79055             Paul Eggert  <eggert@cs.ucla.edu>
79056
79057         Sync from cvs.
79058         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
79059
79060 2005-05-29  Derek Price  <derek@ximbiot.com>
79061
79062         * config/srclist.txt (glob_.h, glob.c): Add these files.
79063
79064 2005-05-29  Derek Price  <derek@ximbiot.com>
79065
79066         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
79067         * modules/glob: New file.
79068         * modules/getlogin_r: Add link to POSIX spec in description.
79069
79070 2005-05-29  Derek Price  <derek@ximbiot.com>
79071             Paul Eggert  <eggert@cs.ucla.edu>
79072
79073         * m4/glob.m4: New file.
79074
79075 2005-05-29  Derek Price  <derek@ximbiot.com>
79076             Paul Eggert  <eggert@cs.ucla.edu>
79077
79078         * lib/glob_.h, lib/glob.c: New files.
79079
79080 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
79081
79082         * modules/fts (Files): Remove m4/inttypes-pri.m4.
79083         * modules/fts-lgpl (Depends-on): Remove gettext.
79084
79085 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
79086
79087         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
79088         and don't require gt_INTTYPES_PRI.
79089
79090 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
79091
79092         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
79093
79094         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
79095         the configuration hassle isn't worth it.
79096         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
79097         (LONGEST_MODIFIER, PRIuMAX): Remove.
79098
79099 2005-05-27  Bruno Haible  <bruno@clisp.org>
79100
79101         * lib/getlogin_r.h: Remove second include of <stddef.h>.
79102
79103 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
79104
79105         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
79106         _POSIX_PTHREAD_SEMANTICS for Solaris.
79107
79108 2005-05-25  Derek Price  <derek@ximbiot.com>
79109
79110         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
79111
79112 2005-05-25  Derek Price  <derek@ximbiot.com>
79113             Paul Eggert  <eggert@cs.ucla.edu>
79114
79115         * modules/getlogin_r, m4/getlogin_r.m4: New files.
79116         * lib/getlogin_r.c, getlogin_r.h: New files.
79117
79118 2005-05-25  Bruno Haible  <bruno@clisp.org>
79119             Derek Price  <derek@ximbiot.com>
79120
79121         * lib/getlogin_r.h: Simplify API documentation.
79122
79123 2005-05-23  Derek Price  <derek@ximbiot.com>
79124
79125         * modules/minmax (Files): Add m4/minmax.m4.
79126         (configure.ac): Add gl_MINMAX.
79127
79128 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
79129
79130         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
79131         so that unistd-safer.h (GPL'ed code) need not be included.
79132
79133 2005-05-22  Bruno Haible  <bruno@clisp.org>
79134
79135         * m4/minmax.m4: New file.
79136         Based on a patch by Derek Price <derek@ximbiot.com>.
79137
79138 2005-05-22  Bruno Haible  <bruno@clisp.org>
79139
79140         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
79141         (INT64_MIN): Fix definition.
79142         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
79143
79144         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
79145         NEED_SIGNED_INT_TYPES.
79146
79147         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
79148         HAVE_SYSTEM_INTTYPES.
79149
79150 2005-05-22  Bruno Haible  <bruno@clisp.org>
79151
79152         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
79153         Also include <sys/param.h> if it defines MIN, MAX.
79154         Based on a patch by Derek Price <derek@ximbiot.com>.
79155
79156 2005-05-21  Jim Meyering  <jim@meyering.net>
79157
79158         * modules/fts (Files): Add m4/inttypes-pri.m4.
79159         (Depends-on): Add lstat and remove gettext.  Alphabetize.
79160
79161 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79162
79163         New fts module.
79164         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
79165         (setup_dir, free_dir): New functions.
79166         (enter_dir, leave_dir): Define trivial
79167         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
79168         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
79169         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
79170         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
79171         Move to fts-cycle.c.
79172         (fts_open): Use setup_dir.
79173         (fts_close): Use free_dir.
79174         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
79175         This adds a label and some gotos, but the alternatives were messier.
79176         Check for memory allocation failure when entering a dir.
79177         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
79178         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
79179         (FTS): New member fts_cycle, that is a union that contains the
79180         old active_dir_ht and cycle_state.  All uses changed to mention
79181         fts_cycle.ht and fts_cycle.state.
79182         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
79183         fts.c, with the following changes:
79184         (setup_dir, free_dir): New functions.
79185         (enter_dir): Now returns bool.  Return true if successful, false
79186         if memory exhausted.  All callers changed.
79187         Do not bother partly cleaning up on
79188         memory allocation failure; that is free_dir's job.
79189         However, free ad if hash_insert fails, to avoid memory leak.
79190         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
79191         fts->fts_options to see which union member to use.
79192
79193 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79194
79195         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
79196         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
79197
79198 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79199
79200         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
79201
79202 2005-05-20  Jim Meyering  <jim@meyering.net>
79203
79204         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
79205         Now a macro, to pacify GCC.
79206
79207 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
79208
79209         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
79210         of -1.
79211
79212 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
79213
79214         * lib/chown.c (rpl_chown): Return -1 on failure.
79215
79216 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
79217
79218         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
79219         Don't check for stddef.h.
79220         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
79221         don't use its results.
79222         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
79223         since we include them unconditionally.  Don't require
79224         AM_STDBOOL_H, since stdbool is a prerequisite.
79225         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
79226         since we assume C89 or better.
79227         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
79228         as we don't use their results.
79229         Don't check for fchdir, memmove, memset, strrchr, as we use
79230         them unconditionally.
79231         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
79232         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
79233
79234 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
79235
79236         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
79237         Include <stddef.h> unconditionally, since we assume C89 now.
79238         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
79239         * lib/fts.c: Include fts_.h first, to check interface.
79240         Do not include intprops.h; no longer needed.
79241         Include cycle-check.h and hash.h, since fts_.h no longer does.
79242         Remove unnecessary casts of closedir to void.
79243         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
79244         decide whether to decrement nlinks.
79245         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
79246         (FTS): Use struct hash_table * instead of Hash_table, so that
79247         we no longer need to include hash.h here.
79248
79249 2005-05-18  Jim Meyering  <jim@meyering.net>
79250
79251         * modules/dirfd (License): Change to LGPL.  Most of the code
79252         is already in the public domain.
79253
79254 2005-05-18  Jim Meyering  <jim@meyering.net>
79255
79256         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
79257         Reported by Yoann Vandoorselaere.
79258
79259 2005-05-17  Jim Meyering  <jim@meyering.net>
79260
79261         * m4/fts.m4: New file, from coreutils.
79262
79263 2005-05-17  Jim Meyering  <jim@meyering.net>
79264
79265         * lib/fts.c, lib/fts_.h: New files, from coreutils.
79266
79267 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79268
79269         Sync from coreutils.
79270         * m4/unlinkdir.m4: New file.
79271
79272 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79273
79274         Sync from coreutils.
79275         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
79276         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
79277         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
79278         White space changes only.
79279         * lib/makepath.c (make_path): Port to hosts where leading "//" is
79280         special.
79281         * lib/yesno.c: Include getline.h, not ctype.h.
79282         (yesno): Don't remove leading white space; POSIX doesn't allow it.
79283         Use getline to remove arbitrary restriction on response length.
79284
79285 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79286
79287         * config/srclist-update: Spell out "Street" in FSF postal
79288         mail address; this is the style the FSF seems to prefer.
79289
79290         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
79291         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
79292         this updates FSF postal mail address.
79293
79294         Sync from coreutils.
79295         * modules/unlinkdir: New file.
79296         * modules/yesno (Depends-on): Add getline.
79297         * MODULES.html.sh (File system functions): Add unlinkdir.
79298
79299 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79300
79301         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
79302         lib/strsep.h:
79303         Change the initial comment to refer to GPL, not LGPL.
79304         gnulib-tool will change it to LGPL as needed.
79305
79306         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
79307         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
79308         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
79309         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
79310         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
79311         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
79312         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
79313         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
79314         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
79315         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
79316         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
79317         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
79318         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
79319         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
79320         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
79321         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
79322         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
79323         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
79324         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
79325         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
79326         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
79327         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
79328         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
79329         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
79330         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
79331         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
79332         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
79333         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
79334         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
79335         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
79336         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
79337         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
79338         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
79339         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
79340         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
79341         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
79342         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
79343         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
79344         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
79345         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
79346         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
79347         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
79348         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
79349         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
79350         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
79351         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
79352         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
79353         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
79354         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
79355         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
79356         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
79357         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
79358         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
79359         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
79360         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
79361         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
79362         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
79363         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
79364         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
79365         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
79366         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
79367         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
79368         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
79369         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
79370         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
79371         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
79372         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
79373         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
79374         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
79375         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
79376         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
79377         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
79378         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
79379         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
79380         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
79381         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
79382         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
79383         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
79384         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
79385         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
79386         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
79387         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
79388         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
79389         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
79390         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
79391         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
79392         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
79393         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
79394         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
79395         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
79396         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
79397         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
79398         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
79399         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
79400         lib/yesno.c, lib/yesno.h:
79401         Update FSF postal mail address.
79402
79403 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79404
79405         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
79406         tests/test-memmem.c, tests/test-stpncpy.c:
79407         Update FSF postal mail address.
79408
79409 2005-05-13  Bruno Haible  <bruno@clisp.org>
79410
79411         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
79412         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
79413         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
79414         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
79415         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
79416         Add support for 64-bit integers in the MSVC compiler.
79417
79418 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79419
79420         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
79421
79422 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
79423
79424         * gnulib-tool (func_import): Sort and uniquify recommended includes.
79425
79426 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
79427
79428         * doc/getdate.texi (General date syntax): Don't say that date
79429         date --iso-8601=ns generates acceptable dates; it doesn't yet.
79430         Problem reported by Nic Ferrier.
79431
79432 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79433
79434         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
79435         specified in ai_socktype. Fix invalid ai_protocol
79436         check. ai_protocol is usually set to 0 or depending on
79437         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
79438         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
79439         ai_socktype / ai_protocol in the returned addrinfo structure.
79440
79441 2005-05-10  Simon Josefsson  <jas@extundo.com>
79442
79443         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
79444         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79445
79446 2005-05-10  Karl Berry  <karl@gnu.org>
79447
79448         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
79449         (from http://www.gnu.org/licenses).
79450         * doc/COPYING.LIB: also rename to COPYING.LESSER.
79451         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
79452         fdl.texi suffices.
79453
79454 2005-05-10  Karl Berry  <karl@gnu.org>
79455
79456         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
79457         (COPYING.DOC): remove.
79458
79459         * config/srclist-update: new FSF address.
79460
79461 2005-05-10  Derek Price  <derek@ximbiot.com>
79462
79463         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
79464         possible.
79465
79466 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79467             Bruno Haible  <bruno@clisp.org>
79468
79469         * modules/inet_ntop: New file.
79470         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79471         inet_ntop.
79472
79473 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79474             Bruno Haible  <bruno@clisp.org>
79475
79476         * m4/inet_ntop.m4: New file.
79477
79478 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79479             Bruno Haible  <bruno@clisp.org>
79480
79481         * lib/inet_ntop.h: New file.
79482         * lib/inet_ntop.c: New file, from glibc with modifications.
79483
79484 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
79485
79486         * modules/time_r (License): Change to LGPL.
79487         * modules/extensions (License): Change to LGPL.  Actually,
79488         the license is more permissive than that, but currently gnulib-tool
79489         doesn't know how to handle more-permissive licenses.
79490
79491         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
79492         Problem reported by Dave Love.
79493
79494 2005-05-08  Jim Meyering  <jim@meyering.net>
79495
79496         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
79497         blank.
79498
79499 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
79500
79501         * modules/argmatch (Depends-on): Add stdbool.
79502         * modules/backupfile (Depends-on): Likewise.
79503         * modules/chdir-long (Depends-on): Likewise.
79504         * modules/closeout (Depends-on): Likewise.
79505         * modules/cycle-check (Depends-on): Likewise.
79506         * modules/dirname (Depends-on): Likewise.
79507         * modules/fnmatch (Depends-on): Likewise.
79508         * modules/fsusage (Depends-on): Likewise.
79509         * modules/fwriteerror (Depends-on): Likewise.
79510         * modules/getcwd (Depends-on): Likewise.
79511         * modules/getloadavg (Depends-on): Likewise.
79512         * modules/hard-locale (Depends-on): Likewise.
79513         * modules/makepath (Depends-on): Likewise.
79514         * modules/mountlist (Depends-on): Likewise.
79515         * modules/nanosleep (Depends-on): Likewise.
79516         * modules/posixtm (Depends-on): Likewise.
79517         * modules/quotearg (Depends-on): Likewise.
79518         * modules/readtokens (Depends-on): Likewise.
79519         * modules/readtokens0 (Depends-on): Likewise.
79520         * modules/readutmp (Depends-on): Likewise.
79521         * modules/save-cwd (Depends-on): Likewise.
79522         * modules/strftime (Depends-on): Likewise.
79523         * modules/userspec (Depends-on): Likewise.
79524         * modules/utimecmp (Depends-on): Likewise.
79525         * modules/xgetcwd (Depends-on): Likewise.
79526         * modules/xnanosleep (Depends-on): Likewise.
79527         * modules/xstrtod (Depends-on): Likewise.
79528         * modules/yesno (Depends-on): Likewise.
79529
79530 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
79531
79532         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
79533         needless checks.
79534
79535 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
79536
79537         Merge from coreutils.  Among other things,
79538         add bulletproofing for cases where stdin, stdout, or stderr are closed.
79539         * lib/fd-safer.c: New file.
79540         * lib/fcntl-safer.h, open-safer.c: Remove.
79541         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
79542         * lib/dup-safer.c: Include unistd-safer.h first.
79543         Don't include errno.h.
79544         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
79545         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
79546         * lib/file-type.c: Rely on file-type.h change.
79547         * lib/getloadavg.c: Include unistd-safer.h.
79548         (getloadavg): Use safer open.
79549         * lib/getusershell.c: Include "stdio-safer.h".
79550         (getusershell): Use safer fopen.
79551         * lib/long-options.c (long_options): Use NULL rather than 0.
79552         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
79553         'free'.
79554         * lib/modechange.c: Likewise.
79555         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
79556         (MODE_DONE): New constant.
79557         (struct mode_change): Remove 'next' member.
79558         (make_node_op_equals): New function; like the old one of the
79559         same name, except it allocates an array.
79560         (mode_compile, mode_create_from_ref): Use it.
79561         (mode_compile): Allocate result as an array, not a linked list.
79562         Parse octal string ourself, so that we catch mistakes like "+0".
79563         (mode_adjust): Arg is an array, not a linked list.
79564         * lib/modechange.c: Include stat-macros.h, xalloc.h.
79565         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
79566         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
79567         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
79568         Remove.  This is now stat-macros.h's job.
79569         (talloc): Remove.  All callers replaced by xalloc, so that
79570         our invokers don't have to worry about reporting memory failures.
79571         (make_node_op_equals): Remove.
79572         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
79573         New constants.
79574         (struct mode_change): Moved here from modechange.h.
79575         (mode_append_entry): Remove.
79576         (mode_compile): Remove MASKED_OPS arg, since it encouraged
79577         apps to have incorrect behavior.  Use simpler algorithm for head
79578         and tail.  Don't futz with umask; that's now the job of mode_adjust.
79579         Detect more invalid usages rather than having somewhat-random behavior.
79580         Don't insert an "a=" action, as that leads to incorrect behavior.
79581         (mode_compile, mode_create_from_ref): Return NULL on error instead
79582         of an enum, since now there's only one way to have an error.  All
79583         callers changed.
79584         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
79585         at the correct time.  Simplify calculation of "+u" and its ilk.
79586         Don't mishandle "+X".
79587         (mode_free): Remove "register" and localize decls.
79588         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
79589         (struct mode_change): Move to modechange.c; callers don't
79590         need to see this stuff.
79591         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
79592         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
79593         (mode_change, mode_adjust): Reflect the new signatures noted above.
79594         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
79595         that might redefine system include files.
79596         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
79597         (my_usleep): Use NULL rather than (void *) 0.
79598         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
79599         Use siginterrupt to specify that system calls should be interrupted.
79600         (rpl_nanosleep): Move initialization of suspended closer to call of
79601         my_usleep.
79602         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
79603         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
79604         (desirable_utmp_entry): New function.
79605         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
79606         using x2nrealloc, to simplify logic.
79607         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
79608         size calculation.  Do not assume utmp file is a regular file.
79609         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
79610         (READ_UTMP_CHECK_PIDS): New constant.
79611         * lib/save-cwd.c: Include unistd-safer.h.
79612         (save_cwd): Use fd_safer.
79613         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
79614         [!_LIBC] Include "stat-macros.h" instead.
79615         * lib/unistd-safer.h (fd_safer): New decl.
79616
79617 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
79618
79619         * modules/getloadavg (Depends-on): Add unistd-safer.
79620         * modules/getusershell (Depends-on): Add stdio-safer.
79621         * modules/lstat (Depends-on): Remove xalloc.
79622         * modules/mkstemp (Depends-on): Add stat-macros.
79623         * modules/modechange (Depends-on): Remove xstrtol.
79624         Add stat-macros, xalloc.
79625         * modules/save-cwd (Depends-on): Add unistd-safer.
79626         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
79627         * modules/unistd-safer (Files): Add lib/fd-safer.c
79628         (Makefile.am): Remove lib_SOURCES.
79629
79630         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
79631         Remove fcntl-safer; unistd-safer supersedes it.
79632
79633 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
79634
79635         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
79636         AC_HEADER_STAT.
79637         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
79638         (gl_PREREQ_CHOWN): Remove.
79639         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
79640         it.  Don't require AC_HEADER_STAT.
79641         (gl_PREREQ_LSTAT): Remove.
79642         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
79643         Don't require AC_HEADER_STAT.
79644         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
79645         (gl_PREREQ_RMDIR): Remove.
79646         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
79647         mention stat-macros.h or AC_HEADER_STAT, since we'll make
79648         the stat-macros module a prerequisite.
79649         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
79650         * m4/filemode.m4 (gl_FILEMODE): Likewise.
79651         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
79652         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
79653         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
79654         variable names.
79655         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
79656         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
79657         variable prefixes.
79658         * m4/fcntl-safer.m4: Remove.
79659         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
79660         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
79661         Invoke gl_PREREQ_FD_SAFER.
79662         (gl_PREREQ_FD_SAFER): New macro.
79663         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
79664         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
79665         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
79666         Remove duplicate call to AC_LIBOBJ(readutmp).
79667         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
79668
79669         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
79670         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
79671
79672 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
79673
79674         * MODULES.html.sh (Misc): Add byteswap.
79675
79676 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
79677
79678         * modules/getcwd (Depends-on): Add extensions.
79679         * modules/openat (Depends-on): Likewise.
79680
79681 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
79682
79683         * modules/byteswap: New file.
79684
79685 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
79686
79687         * m4/byteswap.m4: New file.
79688
79689 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
79690
79691         * lib/byteswap_.h: New file.
79692
79693 2005-04-25  Karl Berry  <karl@gnu.org>
79694
79695         * m4/gettext.m4: Update from GNU gettext 0.14.4.
79696
79697 2005-04-25  Albert Chin  <china@thewrittenword.com>
79698
79699         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
79700         Toolkit C bug.
79701
79702 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
79703
79704         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
79705         (func_ln_if_changed): Remove forcibly for no error message
79706         in case file does not exist.
79707
79708 2005-04-19  Simon Josefsson  <jas@extundo.com>
79709
79710         * gnulib-tool (Options): Make --symlink mean --symbolic.
79711
79712 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
79713
79714         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
79715
79716 2005-04-16  Simon Josefsson  <jas@extundo.com>
79717
79718         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
79719
79720 2005-04-15  Simon Josefsson  <jas@extundo.com>
79721
79722         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
79723
79724 2005-04-15  Simon Josefsson  <jas@extundo.com>
79725
79726         * gnulib-tool: Rename --symlink to --symbolic.
79727
79728 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
79729
79730         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
79731         symbolic links to files instead of copying/moving.  Add --aux-dir,
79732         specifying directory relative --dir where auxiliary build tools
79733         are placed.
79734
79735 2005-04-14  Bruno Haible  <bruno@clisp.org>
79736
79737         * modules/allocsa (License): Change to LGPL.
79738         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
79739
79740 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
79741
79742         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
79743         that "UTC +1 second" continues to work.  Problem reported
79744         by Dmitry V. Levin.
79745         (relunit_snumber): New rule.
79746         (relunit): Use it.
79747
79748 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
79749
79750         * lib/getdate.y (universal_time_zone_table): New constant.
79751         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
79752         universal_time_zone_table.
79753         (lookup_zone): Prefer universal_time_zone_table to
79754         local_time_zone_table, so that "GMT" time stamps are allowed in
79755         London during the summer.  Problem reported by Ian Abbott.
79756
79757 2005-04-12  Jim Meyering  <jim@meyering.net>
79758
79759         * lib/human.c (humblock): Set *options even when returning due to
79760         xstrtoumax conversion failure.  Thanks to a used-uninitialized
79761         warning from gcc-4.
79762
79763 2005-04-09  Jim Meyering  <jim@meyering.net>
79764
79765         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
79766         -Wuninitialized: initialize tm0.tm_year.
79767
79768 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
79769
79770         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
79771         count, since there's no maximum.  All uses changed.
79772         Add member dsts_seen.
79773         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
79774         not being INT_MAX.
79775         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
79776         Use pc_rels_seen to decide whther a date is absolute.
79777
79778         * lib/getdate.y (number): Don't overwrite year.
79779         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
79780         check.
79781
79782 2005-04-02  Simon Josefsson  <jas@extundo.com>
79783
79784         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
79785         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
79786
79787 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
79788
79789         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
79790         where no absolute path name can be longer than PATH_MAX.
79791
79792 2005-03-27  Jim Meyering  <jim@meyering.net>
79793
79794         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
79795
79796 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
79797
79798         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
79799         "one's complement" -> "ones' complement" in comment, as per Knuth.
79800         "value of type" -> "type or expression" in comment.
79801         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
79802
79803 2005-03-26  Jim Meyering  <jim@meyering.net>
79804
79805         Comment nits.
79806         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
79807         Correct typos: s/or/of/.
79808
79809 2005-03-26  Jim Meyering  <jim@meyering.net>
79810
79811         * modules/check-include-files: Move to ../ and rename to...
79812         * check-module: ...this.
79813
79814 2005-03-25  Jim Meyering  <jim@meyering.net>
79815
79816         * modules/xvasprintf (Files): Add xalloc.h.
79817
79818 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
79819
79820         * modules/gettext (Files): config/config.rpath ->
79821         build-aux/config.rpath
79822         * modules/iconv (Files): Likewise.
79823         Problem reported by Oskar Liljeblad.
79824
79825 2005-03-23  Jim Meyering  <jim@meyering.net>
79826
79827         * modules/check-include-files: New script to check for
79828         missing dependencies, multiple includes, etc.
79829
79830         * modules/c-strtold (Depends-on): Add xalloc.
79831         * modules/c-strtod (Depends-on): Add xalloc.
79832         * modules/hash (Depends-on): Add xalloc.
79833         (Files): Remove lib/xalloc.h.
79834
79835         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
79836         * modules/userspec (Files): Add lib/inttostr.h.
79837
79838 2005-03-23  Jim Meyering  <jim@meyering.net>
79839
79840         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
79841
79842 2005-03-22  Jim Meyering  <jim@meyering.net>
79843
79844         * modules/stat-macros: New module.
79845         * modules/canonicalize, modules/euidaccess, modules/file-type,
79846         * modules/filemode, modules/lchown, modules/makepath,
79847         * modules/rmdir, modules/stat: Depend on new stat-macros module
79848         rather than listing lib/stat-macros.h manually.
79849         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
79850
79851 2005-03-22  Jim Meyering  <jim@meyering.net>
79852
79853         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
79854
79855 2005-03-22  Bruno Haible  <bruno@clisp.org>
79856
79857         * config/srclist.txt: Replace target directory 'config' with
79858         'build-aux'.
79859         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
79860         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
79861         ../build-aux/.
79862
79863 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
79864
79865         * modules/chdir-long (Depends-on): Add mempcpy.
79866
79867         * modules/acl, modules/backupfile, modules/c-strtod,
79868         modules/c-strtold, modules/canon-host, modules/canonicalize,
79869         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
79870         modules/exclude, modules/exitfail, modules/file-type,
79871         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
79872         modules/getdate, modules/getline, modules/getpagesize,
79873         modules/getpass, modules/getugroups, modules/group-member,
79874         modules/hard-locale, modules/hash, modules/human, modules/idcache,
79875         modules/inttostr, modules/long-options, modules/makepath,
79876         modules/md5, modules/memcasecmp, modules/memcoll,
79877         modules/modechange, modules/mountlist, modules/path-concat,
79878         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
79879         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
79880         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
79881         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
79882         modules/strftime, modules/strndup, modules/strverscmp,
79883         modules/timespec, modules/unlocked-io, modules/userspec,
79884         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
79885         modules/yesno:
79886         Remove lib_SOURCES line from Makefile.am section, as this is now
79887         done automatically by the corresponding Autoconf macro.
79888
79889 2005-03-21  Jim Meyering  <jim@meyering.net>
79890
79891         Changes imported from coreutils.
79892
79893         * lib/cycle-check.c: Don't include xalloc.h.
79894
79895         * lib/path-concat.c: Don't include assert.h.
79896         (path_concat): Remove assertion that would have triggered
79897         for ABASE starting with more than one slash.
79898         Reported by Andreas Schwab.
79899
79900         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
79901         properly when ABASE is an absolute file name.
79902         Correct the description of this function.
79903         Include <assert.h>.
79904         Add an assertion and a test driver.
79905         This fixes a bug introduced on 2004-07-02.
79906         Andreas Schwab reported the resulting failure of cp --parents:
79907         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
79908
79909 2005-03-21  Jim Meyering  <jim@meyering.net>
79910
79911         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
79912         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
79913
79914 2005-03-21  Jim Meyering  <jim@meyering.net>
79915         and  Paul Eggert  <eggert@cs.ucla.edu>
79916
79917         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
79918         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
79919         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
79920         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
79921         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
79922         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
79923         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
79924         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
79925         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
79926         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
79927         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
79928         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
79929         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
79930         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
79931         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
79932         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
79933         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
79934         for these modules.
79935
79936 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
79937
79938         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
79939         (which shouldn't happen), generate nothing instead of returning 0
79940         immediately, so that nstrftime (NULL, ...) doesn't return 0.
79941
79942 2005-03-16  Bruno Haible  <bruno@clisp.org>
79943
79944         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
79945         HAVE_LONGLONG_64BIT.
79946
79947 2005-03-16  Bruno Haible  <bruno@clisp.org>
79948
79949         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
79950         HAVE_LONGLONG_64BIT.
79951
79952 2005-03-16  Bruno Haible  <bruno@clisp.org>
79953
79954         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
79955         HAVE_LONGLONG_64BIT.
79956
79957 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
79958
79959         * lib/strftime.c (my_strftime): Prepend space to format so that we can
79960         reliably distinguish strftime failure from empty output on POSIX
79961         hosts.
79962
79963 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
79964
79965         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
79966         (iconv_string): Don't guess a size-zero buffer, as that might cause
79967         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
79968         result would be 'too large', where 'too large' is (heuristically)
79969         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
79970         overflow concerns.  This will prevent some unwanted malloc failures
79971         when the inputs are very large.
79972
79973 2005-03-15  Karl Berry  <karl@gnu.org>
79974
79975         * config/srclist.txt (config.rpath): from gettext.
79976         * config/config.rpath: update.
79977
79978 2005-03-15  Bruno Haible  <bruno@clisp.org>
79979
79980         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
79981         to 'negate'.
79982
79983         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
79984         variable.
79985
79986         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
79987         results.
79988
79989 2005-03-14  Simon Josefsson  <jas@extundo.com>
79990
79991         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
79992         <fx@gnu.org>.
79993
79994 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
79995
79996         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
79997         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
79998         intprops.h.
79999         * lib/strtol.c: Likewise.
80000
80001 2005-03-14  Jim Meyering  <jim@meyering.net>
80002
80003         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
80004         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
80005         to be nonzero so that we (and caller) can detect the difference
80006         between a valid zero-length expansion and an error return, even
80007         when the underlying strftime fails before writing anything into
80008         that location.
80009
80010 2005-03-14  Bruno Haible  <bruno@clisp.org>
80011
80012         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
80013         Update from GNU gettext 0.14.3.
80014
80015 2005-03-10  Jim Meyering  <jim@meyering.net>
80016
80017         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
80018
80019 2005-03-10  Jim Meyering  <jim@meyering.net>
80020
80021         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
80022         so that this module works on systems without fchdir.
80023
80024 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
80025
80026         Factor int-properties macros into a single file, except for
80027         glibc-related files.
80028         * lib/intprops.h: New file.
80029         * lib/getloadavg.c: Include it instead of limits.h.
80030         (INT_STRLEN_BOUND): Remove.
80031         * lib/human.c: Include intprops.h.
80032         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
80033         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
80034         302/1000.
80035         * lib/inttostr.h: Include intprops.h instead of limits.h.
80036         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
80037         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
80038         for consistency with intprops.h.
80039         (time_t_is_integer, twos_complement_arithmetic): Use them.
80040         * lib/sig2str.h: Include <signal.h>, intprops.h.
80041         (INT_STRLEN_BOUND): Remove.
80042         * lib/strftime.c (TYPE_SIGNED): Remove.
80043         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
80044         * lib/strtol.c: Adjust comments to match intprops.h.
80045         * lib/userspec.c: Include intprops.h.
80046         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
80047         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
80048         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
80049         instead of rolling our own expressions.
80050         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
80051
80052         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
80053         instead of int.
80054         (my_strftime): Do not mishandle years close to INT_MAX, by doing
80055         the right thing even if adding 1900 would overflow.  Similarly
80056         for tm_mon + 1 and tm_yday + 1.
80057         Make %Y always equivalent to %C%y, and similarly for %G and %g.
80058         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
80059         (DO_SIGNED_NUMBER): New macro.
80060         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
80061
80062 2005-03-07  Bruno Haible  <bruno@clisp.org>
80063
80064         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
80065
80066 2005-03-07  Bruno Haible  <bruno@clisp.org>
80067
80068         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
80069
80070 2005-03-04  Derek R. Price  <derek@ximbiot.com>
80071
80072         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
80073         (func_import): Only replace files via --import when they have actually
80074         changed.
80075
80076 2005-03-03  Derek R. Price  <derek@ximbiot.com>
80077
80078         * m4/mmap-anon.m4: New file.
80079         * m4/pagealign_alloc.m4: New file.
80080
80081 2005-03-03  Derek R. Price  <derek@ximbiot.com>
80082             Bruno Haible  <bruno@clisp.org>
80083
80084         * modules/pagealign_alloc: New file.
80085         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
80086
80087 2005-03-03  Derek R. Price  <derek@ximbiot.com>
80088             Bruno Haible  <bruno@clisp.org>
80089
80090         * lib/pagealign_alloc.h: New file.
80091         * lib/pagealign_alloc.c: New file.
80092
80093 2005-03-03  Bruno Haible  <bruno@clisp.org>
80094
80095         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
80096         Use an all-permissive copyright notice, recommended by RMS.
80097
80098 2005-03-02  Bruno Haible  <bruno@clisp.org>
80099
80100         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
80101         of AIX, the replacement has to be done only after <string.h> is
80102         included, therefore not in config.h. stpncpy.h does the replacement,
80103         and stpncpy.c uses it.
80104
80105 2005-03-02  Bruno Haible  <bruno@clisp.org>
80106
80107         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
80108         stpncpy.c uses it.
80109
80110 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80111
80112         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
80113         The workaround isn't strictly needed for POSIX conformance, and
80114         it's too much of a pain to configure and maintain.  We'll ask
80115         people to fix their kernels instead.
80116         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
80117         (NANOSLEEP_BUG_WORKAROUND): Remove.
80118         (xnanosleep): Remove the workaround.
80119
80120 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80121
80122         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
80123         Reported by Derek Price.
80124         (Include): Add "timespec.h".
80125
80126         * modules/xnanosleep (Depends-on): Remove gethrxtime.
80127
80128 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80129
80130         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
80131         to detect nanosleep bug.
80132
80133 2005-03-01  Bruno Haible  <bruno@clisp.org>
80134
80135         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
80136
80137 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
80138
80139         * modules/gethrxtime: New file.
80140         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
80141         (Depends-on): Add gethrxtime.
80142         (configure.ac): Add gl_XNANOSLEEP.
80143         (Makefile.am): Remove lib_SOURCES line.
80144
80145 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
80146
80147         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
80148         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
80149
80150 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
80151
80152         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
80153         * lib/timespec.h (gettime): Return void, since it always
80154         succeeds now.  All uses changed.
80155         * lib/gettime.c (gettime): Likewise.
80156         [HAVE_NANOTIME]: Prefer nanotime.
80157         Assume gettimeofday succeeds, as POSIX requires.
80158         Assime time () succeeds, since other code already does.
80159         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
80160         (timespec_subtract): Remove.
80161         (NANOSLEEP_BUG_WORKAROUND): New constant.
80162         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
80163         things considerably.  Use it only on GNU/Linux hosts, since the
80164         workaround shouldn't be needed elsewhere.
80165
80166 2005-02-24  Bruno Haible  <bruno@clisp.org>
80167
80168         * modules/gettext (Files): Add m4/glibc2.m4.
80169
80170 2005-02-24  Bruno Haible  <bruno@clisp.org>
80171
80172         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
80173         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
80174         * m4/progtest.m4:
80175         Update from GNU gettext 0.14.2.
80176         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
80177
80178 2005-02-24  Bruno Haible  <bruno@clisp.org>
80179
80180         * lib/localcharset.c: Update from GNU gettext 0.14.2.
80181         * lib/config.charset: Update from GNU gettext 0.14.2.
80182
80183 2005-02-24  Bruno Haible  <bruno@clisp.org>
80184
80185         * lib/gettext.h: Update from GNU gettext 0.14.2.
80186
80187 2005-02-23  Simon Josefsson  <jas@extundo.com>
80188
80189         * m4/iconvme.m4: New file.
80190
80191 2005-02-23  Jim Meyering  <jim@meyering.net>
80192
80193         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
80194         change.
80195         Thanks to Bruno Haible for catching it.
80196
80197 2005-02-22  Simon Josefsson  <jas@extundo.com>
80198
80199         * modules/iconvme: New file.
80200
80201         * MODULES.html.sh: Add iconvme.
80202
80203 2005-02-22  Simon Josefsson  <jas@extundo.com>
80204
80205         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
80206
80207 2005-02-22  Simon Josefsson  <jas@extundo.com>
80208
80209         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
80210
80211 2005-02-22  Jim Meyering  <jim@meyering.net>
80212
80213         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
80214         s/ifndef/ifdef/.
80215
80216 2005-02-20  Neil Conway  <neilc@samurai.com>
80217
80218         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
80219         returned by OSX/Darwin if the specified buffer is not large
80220         enough for the hostname.
80221
80222 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80223
80224         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
80225         pass it to _help, otherwise the latter coredumps trying to
80226         dereference state.root_argp.
80227
80228 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
80229
80230         * modules/chdir-long (Depends-on): Add memrchr.
80231         * modules/memrchr (Files): Add lib/memrchr.h.
80232         (Include): "memrchr.h".
80233
80234 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
80235
80236         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
80237
80238 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
80239
80240         * lib/memrchr.h: New file.
80241         * lib/chdir-long.c: Include it.
80242         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
80243         Don't bother including stddef.h.
80244
80245 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
80246
80247         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
80248         inclusion.
80249         Include <sys/types.h>, for dev_t.
80250         (ME_DUMMY, ME_REMOTE): Move from here....
80251         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
80252         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
80253         Dmitry V. Levin.
80254         Include mountlist.h first, to test the interface.
80255
80256 2005-01-29  Bruno Haible  <bruno@clisp.org>
80257
80258         * lib/progname.c (program_name): Initialize.
80259         Needed when linking statically on MacOS X.
80260
80261 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
80262
80263         Sync from coreutils.
80264         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
80265         (Depends-on): Add c-strtod.
80266         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
80267
80268 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
80269
80270         Sync from coreutils.
80271         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
80272
80273         Remove files that are specific to coreutils.
80274         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
80275
80276 2005-01-28  Bruno Haible  <bruno@clisp.org>
80277
80278         * modules/javacomp: New file.
80279         * MODULES.html.sh (Java): Add javacomp.
80280
80281 2005-01-28  Bruno Haible  <bruno@clisp.org>
80282
80283         * m4/javacomp.m4: New file, from GNU gettext.
80284
80285 2005-01-28  Bruno Haible  <bruno@clisp.org>
80286
80287         * lib/javacomp.sh.in: New file, from GNU gettext.
80288         * lib/javacomp.h: New file, from GNU gettext.
80289         * lib/javacomp.c: New file, from GNU gettext.
80290
80291 2005-01-26  Simon Josefsson  <jas@extundo.com>
80292
80293         * lib/gai_strerror.c: Use GPL in header.
80294
80295 2005-01-26  Bruno Haible  <bruno@clisp.org>
80296
80297         * modules/javaexec: New file.
80298         * MODULES.html.sh (Java): Add javaexec.
80299
80300 2005-01-26  Bruno Haible  <bruno@clisp.org>
80301
80302         * m4/javaexec.m4: New file, from GNU gettext.
80303
80304 2005-01-26  Bruno Haible  <bruno@clisp.org>
80305
80306         * lib/javaexec.sh.in: New file, from GNU gettext.
80307         * lib/javaexec.h: New file, from GNU gettext.
80308         * lib/javaexec.c: New file, from GNU gettext.
80309
80310 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80311
80312         * modules/lchown (Depends-on): Remove lchown.h
80313
80314 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80315
80316         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
80317         must be defined if the header file was not found, in order
80318         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
80319
80320 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80321
80322         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
80323         initializers for struct pentry_state.
80324         (__argp_error): Check return value of __asprintf
80325         (__argp_failure): Translate error message
80326
80327         * lib/argp-parse.c: Removed braces around the expansion of N_()
80328
80329 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80330
80331         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
80332         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
80333         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
80334         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
80335         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
80336         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
80337         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
80338         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
80339         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
80340         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
80341         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
80342         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
80343         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
80344         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
80345         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
80346         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
80347         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
80348         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
80349         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
80350         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
80351         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
80352         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
80353         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
80354         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
80355         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
80356         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
80357         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
80358         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
80359         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
80360         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
80361         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
80362         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
80363         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
80364         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
80365         xstrtol.m4, xstrtoumax.m4, yesno.m4:
80366         Use an all-permissive copyright notice, recommended by RMS.
80367
80368 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
80369
80370         * modules/chdir-long (Depends-on): Remove mempcpy.
80371
80372 2005-01-21  Jim Meyering  <jim@meyering.net>
80373
80374         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
80375         same value as for Solaris 9.
80376
80377         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
80378         component length.  This included changing the parameter to be
80379         of type `char *' rather than `char const *'.
80380         * lib/chdir-long.h (chdir_long): Update prototype.
80381
80382         * lib/openat.c (fdopendir, fstatat): New functions.
80383         * lib/openat.h: Include headers required for use of DIR and struct
80384         stat.
80385         [AT_SYMLINK_NOFOLLOW]: Define.
80386         (fdopendir, fstatat): Add prototypes.
80387
80388 2005-01-21  Bruno Haible  <bruno@clisp.org>
80389
80390         * modules/classpath: New file.
80391         * MODULES.html.sh (Java): Add classpath.
80392
80393 2005-01-21  Bruno Haible  <bruno@clisp.org>
80394
80395         * lib/classpath.h: New file, from GNU gettext.
80396         * lib/classpath.c: New file, from GNU gettext.
80397
80398 2005-01-20  Simon Josefsson  <jas@extundo.com>
80399
80400         * modules/version-etc-fsf: New file.
80401
80402 2005-01-20  Simon Josefsson  <jas@extundo.com>
80403
80404         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
80405         * lib/version-etc.c: Remove version_etc_copyright.
80406         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
80407         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
80408
80409 2005-01-20  Simon Josefsson  <jas@extundo.com>
80410
80411         * lib/base64.h (isbase64): Add.
80412
80413         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
80414         using a unsigned prototype, don't inline.
80415         (base64_decode): Use it.
80416
80417 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
80418
80419         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
80420         it.
80421
80422 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
80423
80424         * lib/save-cwd.c (save_cwd): Remove code to support the case
80425         where fchdir is missing or flaky.
80426
80427 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
80428
80429         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
80430
80431 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
80432
80433         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
80434         AC_LIBSOURCES now does this.
80435         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
80436         with new ullong_max module.
80437
80438 2005-01-19  Bruno Haible  <bruno@clisp.org>
80439
80440         * modules/sh-quote: New file.
80441         * MODULES.html.sh (Executing programs): Add sh-quote.
80442
80443 2005-01-19  Bruno Haible  <bruno@clisp.org>
80444
80445         * lib/sh-quote.h: New file, from GNU gettext.
80446         * lib/sh-quote.c: New file, from GNU gettext.
80447
80448 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
80449
80450         Merge from coreutils.
80451         * m4/ullong_max.m4: New file.
80452         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
80453         (gl_MACROS): Assume localeconv exists.
80454
80455 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
80456
80457         Merge changes from coreutils, as described below in several
80458         changelogs dated today.
80459
80460         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
80461         (O_DIRECTORY): Remove; not needed here, since "." must be
80462         a directory.  All uses removed.
80463         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
80464         universal on Suns, and we also need to test for IRIX.
80465         Revamp code to use 'if' rather than '#if'.
80466         Avoid unnecessary comparison of cwd->desc to 0.
80467
80468         * lib/utimens.c (futimens): Robustify the previous patch, by checking
80469         for known valid error numbers rather than observed invalid ones.
80470
80471 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
80472
80473         * modules/ullong_max: New file.
80474
80475         * modules/chdir-long, modules/openat: New files.
80476         * modules/save-cwd (Depends-on): Depend on chdir-long.
80477         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
80478
80479 2005-01-18  Jim Meyering  <jim@meyering.net>
80480
80481         Merge from coreutils.
80482         * m4/chdir-long.m4, m4/openat.m4: New files.
80483         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
80484         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
80485         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
80486         is sane and DOES follow symlinks.  Besides, testing 20 different
80487         systems found no broken chown implementations.
80488         Prompted by a change in rsync's copy of this macro.
80489         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
80490
80491         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
80492
80493         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
80494         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
80495         NULL-means-set-to-current-time semantics.
80496         Remove temporary file immediately, rather than waiting
80497         for configure's at-exit trap code to do it.
80498
80499 2005-01-18  Jim Meyering  <jim@meyering.net>
80500
80501         * lib/version-etc.c (version_etc_copyright): Update copyright date.
80502
80503         * lib/utimens.c (futimens): Account for the fact that futimes
80504         can also fail with errno == ENOSYS or errno == ENOENT.
80505         Patch from Dmitry V. Levin.
80506
80507         Change the name of the robust chdir function from chdir to chdir_long.
80508         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
80509         (restore_cwd): Use chdir_long, not chdir.
80510         * lib/chdir-long.c: Renamed from chdir.c.
80511         * lib/chdir-long.h: Renamed from chdir.h.
80512         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
80513         Hurd.
80514
80515 2005-01-18  Bruno Haible  <bruno@clisp.org>
80516
80517         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
80518         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
80519         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
80520         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
80521         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
80522         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
80523         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
80524         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
80525         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
80526         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
80527         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
80528         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
80529         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
80530         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
80531         Use an all-permissive copyright notice, recommended by RMS.
80532
80533 2005-01-18  Bob Proulx  <bob@proulx.com>
80534
80535         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
80536         simplify offsetof() macro construct to avoid compile failure with
80537         native HP-UX 11.0 ANSI C compiler.
80538
80539 2005-01-17  Bruno Haible  <bruno@clisp.org>
80540
80541         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
80542         redundant because stpncpy.m4 takes care of it.
80543
80544 2005-01-17  Bruno Haible  <bruno@clisp.org>
80545
80546         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
80547
80548 2005-01-17  Bruno Haible  <bruno@clisp.org>
80549
80550         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
80551         used.
80552
80553 2005-01-17  Bruno Haible  <bruno@clisp.org>
80554
80555         * lib/fwriteerror.h (fwriteerror): Change specification to include
80556         fclose.
80557         * lib/fwriteerror.c: Include <stdbool.h>.
80558         (fwriteerror): At the end, close the file stream. Record whether
80559         stdout was already closed.
80560
80561 2005-01-17  Bruno Haible  <bruno@clisp.org>
80562
80563         * lib/execute.c (environ): Declare if needed.
80564         * lib/pipe.c (environ): Likewise.
80565         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
80566
80567 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80568
80569         * modules/argp: Depend on vsnprintf
80570
80571 2005-01-10  Jim Meyering  <jim@meyering.net>
80572
80573         * modules/closeout (Depends-on): Add atexit.
80574
80575 2005-01-06  Bruno Haible  <bruno@clisp.org>
80576
80577         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
80578
80579 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
80580
80581         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
80582         definitions to be after all include files, to avoid collisions.
80583         Problem reported by Bob Proulx.
80584
80585 2005-01-04  Jim Meyering  <jim@meyering.net>
80586
80587         Changes imported from coreutils.
80588         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
80589         as the mkstemp template, use a temporary directory and an
80590         8.3-friendly template to avoid trouble on systems like DJGPP.
80591         Reported by Juan M. Guerrero via Stepan Kasal.
80592         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
80593         close. Remove the temporary directory right away, rather than waiting
80594         for configure's at-exit trap code to do it.
80595         Suggestion from Stepan Kasal.
80596
80597 2005-01-01  Simon Josefsson  <jas@extundo.com>
80598
80599         * gnulib-tool: Print #include directives when --import'ing.
80600
80601 2004-12-28  Simon Josefsson  <jas@extundo.com>
80602
80603         * tests/test-base64.c: Include required header files.  Remove
80604         unused variables.
80605
80606 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
80607
80608         * modules/error (Depends-on): Remove gettext.
80609
80610 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
80611
80612         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
80613         not needed.  This removes a dependency on the gettext module.
80614         [defined _LIBC]: Do not include <libintl.h>; not needed.
80615
80616 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
80617
80618         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
80619         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
80620
80621 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
80622
80623         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
80624         HAVE_DECL_STRTOLD.
80625
80626 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
80627
80628         * modules/getdate (Depends-on): Remove alloca-opt.
80629
80630 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
80631
80632         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
80633
80634 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
80635
80636         * lib/argp-parse.c: Include <stddef.h>.
80637         (alignof, alignto): New macros.
80638         (parser_init): Don't assume that void * is aligned sufficiently
80639         for struct option.
80640
80641         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
80642         need to extend the stack.
80643         (YYINITDEPTH): New macro, so that the initial stack isn't overly
80644         large.
80645
80646 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80647
80648         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
80649
80650 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
80651
80652         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
80653         (2004-10-24) change.  Apparently this was a false alarm.
80654
80655         * modules/getdate: Depend on alloca-opt, not alloca.
80656
80657 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
80658
80659         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
80660         Remove now-obsolete comment about AIX.
80661         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
80662         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
80663         (YYMAXDEPTH): New macro.
80664
80665 2004-12-18  Simon Josefsson  <jas@extundo.com>
80666
80667         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
80668
80669 2004-12-18  Bruno Haible  <bruno@clisp.org>
80670
80671         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
80672
80673 2004-12-18  Bruno Haible  <bruno@clisp.org>
80674
80675         * lib/fatal-signal.c (fatal_signals): Make non-const.
80676         (init_fatal_signals): New function.
80677         (uninstall_handlers, install_handlers): Ignore signals that were set to
80678         SIG_IGN.
80679         (at_fatal_signal): Call init_fatal_signals.
80680         (init_fatal_signal_set): Likewise. Ignore signals that were set to
80681         SIG_IGN.
80682         Reported by Paul Eggert.
80683
80684 2004-12-18  Bruno Haible  <bruno@clisp.org>
80685
80686         * doc/alloca.texi: New file.
80687         * doc/alloca-opt.texi: New file.
80688
80689 2004-12-17  Jim Meyering  <jim@meyering.net>
80690
80691         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
80692         Otherwise, install-sh could exit with improper exit status when
80693         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
80694
80695 2004-12-16  Simon Josefsson  <jas@extundo.com>
80696
80697         * tests/test-base64.c: Add license.
80698
80699 2004-12-15  Stepan Kasal  <address@hidden>
80700
80701         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
80702
80703 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
80704
80705         * modules/getcwd (Files): Add m4/d-ino.m4.
80706         Suggested by Mark D. Baushke.
80707
80708 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
80709
80710         * lib/getdate.y (textint): New member "negative".
80711         (time_zone_hhmm): New function.
80712         Expect 14 shift-reduce conflicts, not 13.
80713         (o_colon_minutes): New rule.
80714         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
80715         (yylex): Set the "negative" member of signed numbers.
80716
80717 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
80718
80719         * doc/getdate.texi (Time of day items, Time zone items):
80720         Describe new formats +00:00, UTC+00:00.
80721
80722 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
80723
80724         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
80725         spurious "-l"s.  Problem reported by Stepan Kasal.
80726
80727 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
80728
80729         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
80730         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
80731
80732 2004-12-04  Simon Josefsson  <jas@extundo.com>
80733
80734         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
80735         Vandoorselaere <yoann@prelude-ids.org>.
80736
80737 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
80738
80739         Changes imported from coreutils.
80740         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
80741         exist.
80742         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
80743
80744 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
80745
80746         Changes imported from coreutils.
80747         * lib/hard-locale.c: Assume <locale.h> exists.
80748         Include "strdup.h".
80749         (GLIBC_VERSION): New macro.
80750         (hard_locale): Assume setlocale exists.
80751         Rewrite to avoid #ifdef.
80752         Use strdup rather than malloc + strcpy.
80753         * lib/human.c: Assume <locale.h> exists.
80754         (human_readable): Assume localeconv exists.
80755
80756 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
80757
80758         * modules/hard-locale (Depends-on): Add strdup.
80759
80760 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
80761
80762         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
80763         convert T2, not T.  (Imported from libc.)
80764
80765 2004-11-30  Simon Josefsson  <jas@extundo.com>
80766
80767         * modules/restrict (License): Change to LGPL.
80768
80769 2004-11-30  Simon Josefsson  <jas@extundo.com>
80770
80771         * m4/restrict.m4: Add copyright and copying conditions.
80772
80773 2004-11-30  Simon Josefsson  <jas@extundo.com>
80774
80775         * m4/base64.m4: New file.
80776
80777 2004-11-30  Simon Josefsson  <jas@extundo.com>
80778
80779         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
80780         base64.
80781
80782         * tests/test-base64.c: New file.
80783
80784         * modules/base64: New file.
80785
80786 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
80787
80788         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
80789         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
80790
80791         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
80792
80793 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
80794
80795         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
80796         (__getcwd.c): Don't restore errno; glibc doesn't.
80797         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
80798         first, falling back to our code only if its results look suspicious.
80799         Ensure that the resulting buffer is only as large as necessary.
80800
80801         * lib/readutmp.c: Include readutmp.h first.
80802         Include <errno.h>, since readutmp.h no longer does that.
80803         * lib/readutmp.h: Don't include <errno.h>,
80804         <sys/param.h>, <time.h>; not needed to establish interface.
80805         (errno): Remove decl.
80806         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
80807         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
80808         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
80809
80810 2004-11-28  Simon Josefsson  <jas@extundo.com>
80811
80812         * lib/base64.h, base64.c: New file.
80813
80814 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
80815
80816         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
80817
80818 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
80819
80820         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
80821         (Depends-on): Remove pathmax, same.  Add mempcpy.
80822         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
80823         (Makefile.am): Append getcwd.h to lib_SOURCES.
80824         (Include): Add getcwd.h.
80825         (Maintainer): Change from Jim Meyering to "all, glibc",
80826         since getdate now uses intended-for-glibc code.
80827         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
80828         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
80829
80830 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
80831
80832         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
80833         HP's ANSI C compiler.
80834         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
80835         Declaring int functions causes warnings on some modern systems and
80836         shouldn't be needed to compile on ancient ones.
80837         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
80838         defined.
80839
80840         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
80841         with the following changes.
80842         (__set_errno): Parenthesize properly.
80843         Include <stdbool.h>.
80844         (MIN, MAX, MATCHING_INO): New macros.
80845         (__getcwd): Define with prototype, not K&R form.
80846         Use heuristics to allocate default buffer on stack if possible.
80847         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
80848         behavior, and to avoid the PATH_MAX limit when computing
80849         ../../../../...
80850         Use MATCHING_INO to compare inode number to file.
80851         Check for arithmetic overflow in size calculations.
80852         Fix bug in reallocation of dot array that caused getcwd to fail
80853         on directories nested deeper than 75.
80854         Be more careful about saving errno on error.
80855         Do not use realloc; use only free+malloc, as this is a bit
80856         more flexible and avoids a needless copy operation.
80857         Do not inspect st_dev and st_ino for symbolic links; POSIX
80858         doesn't specify the latter.
80859         Check for closedir errors.
80860         Avoid needless casts.
80861         Use "#ifdef weak_alias" around weak_alias, to be like other
80862         glibc code.
80863         The following changes to getcwd.c have effect only when used in
80864         gnulib; they have no effect inside glibc proper.
80865         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
80866         as alloca isn't used.
80867         (alloca, __alloca): Likewise.
80868         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
80869         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
80870         unconditionally, as gnulib assumes C89 or better.
80871         Do not include <sys/param.h>.
80872         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
80873         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
80874         better.
80875         (NULL) [!defined NULL]: Remove; we assume C89 or better.
80876         Include <dirent.h> in a way that is compatible with modern Autoconf.
80877         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
80878         New macros, if not already defined.
80879         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
80880         Use "_LIBC", not "defined _LIBC", for consistency.
80881         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
80882         a mempcpy module.
80883         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
80884         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
80885         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
80886         credit only to Jim Meyering and adjust the copyright dates.
80887         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
80888         <stdlib.h>, <unistd.h>, "pathmax.h".
80889         Instead, include "xgetcwd.h" (first) and "getcwd.h".
80890         (INITIAL_BUFFER_SIZE): Remove.
80891         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
80892
80893 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
80894
80895         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
80896         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
80897         Use the _ONCE methods, for efficiency.
80898         Check for fcntl.h.  In test program, include <errno.h>
80899         and <fcntl.h> if available.  Remove old K&R cruft from
80900         test program.  Check for common errors in GNU/Linux,
80901         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
80902         don't do AC_LIBOBJ, as that's getcwd.m4's job.
80903         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
80904         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
80905         name accordingly.
80906         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
80907         accommodate new getcwd.c.
80908         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
80909         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
80910         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
80911         that's all we need now.
80912
80913 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80914
80915         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
80916         argp-parse.c depends on getopt internals, that means we should
80917         always use our getopt, to be on the safe side.
80918         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
80919         order not to spoil the result of an eventual previous invocation
80920         of gl_GETOPT_SUBSTITUTE.
80921
80922 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80923
80924         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
80925         redefinition warnings. To avoid them, include the defines
80926         in `#if !defined __need_getopt ... #endif'. The only place
80927         where __getopt_argv_const is used is in definitions
80928         of getopt_long and getopt_long_only below, which are as well
80929         protected by `#ifndef __need_getopt'.
80930         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
80931         __need_getopt after including <stdio.h> and <unistd.h> These
80932         headers might have defined it.
80933
80934 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
80935
80936         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
80937
80938 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
80939
80940         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
80941         (futimens): New function, which uses futimes if available.
80942         (futimens, utimens): Support timespec==NULL, with same semantics
80943         as utime and utimens.
80944         * lib/utimens.h (futimens): New decl.
80945
80946 2004-11-23  Jim Meyering  <jim@meyering.net>
80947
80948         * lib/getopt_.h: Remove trailing blanks.
80949
80950 2004-11-23  Jim Meyering  <jim@meyering.net>
80951
80952         * lib/__fpending.c: Add comment.
80953
80954 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
80955
80956         * modules/canonicalize (Depends-on): Add xreadlink.
80957         Problem reported by James Youngman.
80958
80959 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
80960
80961         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
80962         New macros.
80963         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
80964         optopt): Use them instead of invoking ## directly; otherwise, the
80965         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
80966
80967 2004-11-19  Bruno Haible  <bruno@clisp.org>
80968
80969         * lib/strtok_r.c: Move comments from here...
80970         * lib/strtok_r.h: ... to here.
80971
80972 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
80973
80974         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
80975         implementations that mishandle size_t overflow.
80976
80977 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
80978
80979         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
80980         might fail.  Problem reported by Yoann Vandoorselaere.
80981         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
80982         implementations that mishandle size_t overflow.
80983
80984 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
80985
80986         * modules/canon-host (Depends-on): Add strdup.
80987
80988 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
80989
80990         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
80991
80992 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
80993
80994         * lib/canon-host.c: Include "strdup.h".
80995         (canon_host): Use getaddrinfo if available, so that IPv6 works.
80996         Use strdup instead of malloc/strcpy to duplicate strings.
80997
80998         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
80999         (human_space_before_unit): New constant.
81000         * lib/human.c (human_readable): Support it.
81001
81002         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
81003         (xgetcwd): Set errno correctly when failing.
81004         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
81005         the failure is actually due to a PATH_MAX problem.
81006
81007         Further getopt changes to make it more likely that glibc will
81008         buy the changes back.
81009         * lib/getopt.c (POSIXLY_CORRECT): New constant.
81010         (getopt): Use it, so to preserve glibc semantic
81011         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
81012         when compiling for libc.
81013         * lib/getopt_.h (__getopt_argv_const): Bring it back.
81014         (getopt_long, getopt_long_only): Use it.
81015
81016         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
81017         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
81018         (getopt): Argv is now char * const *, as per standard.
81019         (_getopt_internal_r, _getopt_internal): Argv is now char **,
81020         not char *__getopt_argv_const *.
81021         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
81022         _getopt_long_only_r): Likewise.
81023         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
81024         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
81025         _getopt_long_r, _getopt_long_only_r): Likewise.
81026         * lib/getopt_.h (__getopt_argv_const): Remove.
81027         (getopt): Argv is now char * const *, as per standard.
81028
81029         * lib/getdate.y (tORDINAL): New token.
81030         (day, relunit): Allow it for relative times.
81031         (relative_time_table): Use tORDINAL for ordinals.
81032
81033 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81034
81035         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
81036         Document that "second" isn't allowed as an ordinal number.
81037
81038 2004-11-16  Jim Meyering  <jim@meyering.net>
81039
81040         * modules/closeout (Depends-on): Add fpending.
81041
81042 2004-11-15  Jim Meyering  <jim@meyering.net>
81043
81044         * lib/closeout.c: Include "__fpending.h" once again.
81045         Include <stdbool.h>.
81046         (close_stdout): Don't fail just because stdout was closed initially,
81047         since some programs don't write to stdout in the normal course of
81048         operation (other than --version and --help), and we don't want this
81049         function to make e.g. `touch file >&-' fail.
81050         But do fail if it was closed and someone has tried to write to it.
81051         E.g., `printf foo >&-' must fail.
81052
81053 2004-11-13  Jim Meyering  <jim@meyering.net>
81054
81055         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
81056
81057 2004-11-12  Simon Josefsson  <jas@extundo.com>
81058
81059         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
81060         small doc fix is still pending.
81061
81062 2004-11-11  Simon Josefsson  <jas@extundo.com>
81063
81064         * modules/strtok_r: New file.
81065
81066         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81067         strtok_r.
81068
81069 2004-11-11  Simon Josefsson  <jas@extundo.com>
81070
81071         * m4/strtok_r.m4: New file.
81072
81073         * m4/getopt.m4: Replace opterr.
81074
81075 2004-11-11  Simon Josefsson  <jas@extundo.com>
81076
81077         * lib/strtok_r.h, strtok_r.c: New file.
81078
81079 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
81080
81081         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
81082         of replacing opterr, getopt, etc.  This should handle the
81083         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
81084
81085 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
81086
81087         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
81088         we can stop lying to compilers about the constness of argv when we
81089         are compiled outside glibc.
81090         (getopt, getopt_long, getopt_long_only): Use it.
81091         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
81092         _getopt_internal, getopt): Likewise.
81093         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
81094         _getopt_long_only_r): Likewise.
81095         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
81096         _getopt_long_r, _getopt_long_only_r): Likewise.
81097
81098         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
81099         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
81100         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
81101         the other external symbols.
81102         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
81103         declaration, since the above renaming now works around collisions.
81104
81105 2004-11-11  Jim Meyering  <jim@meyering.net>
81106
81107         * lib/linebreak.c: Remove trailing blanks.
81108         * lib/alloca_.h: Likewise.
81109         * lib/acosl.c: Likewise.
81110         * lib/euidaccess.c: Likewise.
81111         * lib/allocsa.h: Likewise.
81112
81113 2004-11-10  Simon Josefsson  <jas@extundo.com>
81114
81115         * m4/getaddrinfo.m4: New file.
81116
81117 2004-11-10  Simon Josefsson  <jas@extundo.com>
81118
81119         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
81120
81121 2004-11-10  Simon Josefsson  <jas@extundo.com>
81122
81123         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81124         getaddrinfo.
81125
81126         * modules/getaddrinfo: New file.
81127
81128 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81129
81130         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
81131
81132 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81133
81134         * lib/mktime.c (SHR): New macro, which is a portable
81135         substitute for >> that should work even on Crays.
81136         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
81137         Problem reported by Mark D. Baushke in
81138         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
81139         * lib/getdate.y (SHR): Likewise.
81140         (tm_diff): Use it.
81141         * lib/strftime.c (SHR): Likewise.
81142         (tm_diff): Use it.
81143         * lib/quotearg.c (struct quoting_options): Use unsigned int for
81144         quote_these_too, so that right shifts are well defined.  All uses
81145         changed.
81146
81147 2004-11-10  Jim Meyering  <jim@meyering.net>
81148
81149         Ensure that no close failure goes unreported.
81150         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
81151         return early when it seems there's nothing to flush.
81152         Don't include __fpending.h.
81153
81154 2004-11-10  Jim Meyering  <jim@meyering.net>
81155
81156         * modules/closeout (Depends-on): Remove fpending.
81157
81158 2004-11-10  Jim Meyering  <jim@meyering.net>
81159
81160         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
81161
81162 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
81163
81164         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
81165         gl_FUNC_STRFTIME.
81166         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
81167         and AC_REQUIRE when possible, to avoid duplicate checks.
81168         Check for <wchar.h>.
81169
81170 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
81171
81172         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
81173
81174 2004-11-09  Bruno Haible  <bruno@clisp.org>
81175
81176         * m4/sockpfaf.m4: New file.
81177
81178 2004-11-05  Bruno Haible  <bruno@clisp.org>
81179
81180         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
81181         Reported by Mark D. Baushke <mdb@cvshome.org>.
81182
81183 2004-11-04  Bruno Haible  <bruno@clisp.org>
81184
81185         2004-09-11  Bruno Haible  <bruno@clisp.org>
81186                 * allocsa.valgrind: New file.
81187         2004-02-06  Bruno Haible  <bruno@clisp.org>
81188                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
81189                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
81190                 Reported by Christopher Seip <chris.seip@hp.com>.
81191
81192 2004-11-04  Bruno Haible  <bruno@clisp.org>
81193
81194         * modules/allocsa (Files): Add lib/allocsa.valgrind.
81195         (Makefile.am): Distribute it.
81196
81197 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
81198
81199         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
81200         with errno == ERANGE if the buffer is too small.
81201         Problem reported by Mark D. Baushke.
81202
81203 2004-11-03  Albert Chin  <china@thewrittenword.com>
81204             Paul Eggert  <eggert@cs.ucla.edu>
81205
81206         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
81207         equivalent, substitute $ac_type for equivalent type rather than
81208         blindly using uint32_t *always* which won't work if uint32_t is not
81209         available.  Define _UINT32_T to work around typedef of uint32_t if
81210         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
81211         2.5.1.
81212
81213 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
81214
81215         * m4/jm-macros.m4: Sync from coreutils.
81216         (gl_MACROS): Check for mbrlen, for pathchk.
81217         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
81218
81219 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
81220
81221         * lib/xreadlink.c (MAXSIZE): New macro.
81222         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
81223         size does not exceed MAXSIZE.  Avoid cast.
81224         As suggested by Mark D. Baushke in
81225         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
81226         if readlink fails with buffer size just under MAXSIZE, try again
81227         with MAXSIZE.
81228
81229 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
81230
81231         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
81232
81233 2004-11-02  Derek R. Price  <derek@ximbiot.com>
81234         and  Paul Eggert  <eggert@cs.ucla.edu>
81235
81236         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
81237         (get_date): Overparenthesize to avoid GCC warning.
81238
81239 2004-11-02  Bruno Haible  <bruno@clisp.org>
81240
81241         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
81242         returns void.
81243
81244 2004-11-02  Bruno Haible  <bruno@clisp.org>
81245
81246         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
81247         function returns void.
81248
81249 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
81250
81251         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
81252         fflush_unlocked, flockfile, funlockfile, funlockfile,
81253         fputs_unlocked, putc_unlocked.
81254
81255 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
81256
81257         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
81258         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
81259         already declared.
81260
81261 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81262
81263         * modules/getdate (Files): Add doc/getdate.texi.
81264         (Depends-on): Add setenv, xalloc.
81265
81266 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81267
81268         * lib/getdate.y: Add support for TZ="foo" within a date string.
81269         Fix some bugs near time_t boundaries.  Reject dates with
81270         out-of-range components, e.g., "Sept 31".
81271         Include <stdlib.h>, "setenv.h", "xalloc.h".
81272         (ISDIGIT_LOCALE): Remove; unused.
81273         Note that the TZ and time functions used here are not reentrant.
81274         (mktime_ok, get_tz): New functions.
81275         (TZBUFSIZE): New constant.
81276         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
81277         This requires that we sometimes generate our own TZ="XXX..." setting.
81278
81279 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81280
81281         * doc/getdate.texi: New file, from coreutils with modifications for
81282         the new TZ parsing.
81283
81284 2004-10-27  Derek R. Price  <derek@ximbiot.com>
81285
81286         * lib/mktime.c (not_equal_tm): Remove redundant check.
81287
81288 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
81289
81290         * modules/regex (lib_SOURCES): Add regex.c.
81291         Reported by James Youngman in
81292         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
81293
81294 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
81295
81296         * lib/getdate.y: Use Bison 1.875 features, and some minor
81297         code cleanups.  This change does not affect semantics.
81298         Don't include <stdlib.h>; no longer needed.
81299         Don't include unlocked-io.h; only the "#if TEST" code uses
81300         stdio, and performance isn't crucial there.
81301         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
81302         Bison 1.875 features as described below.
81303         All uses of "PC." replaced by "pc->".
81304         (YYSTYPE): Add a forward declaration.
81305         (yylex, yyerror): Use full prototypes in forward decls.
81306         Use "%pure-parser" rather than obsolescent "%pure_parser".
81307         Use %parse-param and %lex-param instead of obsolescent
81308         YYPARSE_PARAM and YYLEX_PARAM.
81309         (meridian_table, month_and_day_table, time_units_table,
81310         relative_time_table, time_zone_table, military_table,
81311         lookup_zone, lookup_word, get_date):
81312         Use NULL instead of 0 where appropriate.
81313         (to_hour): Avoid abort (), to avoid a dependency on
81314         stdlib.h.
81315         (yyerror, yylex): Now accepts parser_control * arg.
81316         (main) [TEST]: Use '\0' rather than 0 for char.
81317
81318 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
81319
81320         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
81321
81322 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
81323
81324         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
81325         It's now the caller's responsibility to handle the case where
81326         !HAVE_GETPAGESIZE && !defined getpagesize.
81327
81328         * lib/mktime.c (leapyear): Arg is long int, not int.
81329
81330 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
81331
81332         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
81333
81334 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
81335
81336         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
81337         missing.  Problem reported by James Youngman.
81338
81339 2004-10-16  Simon Josefsson  <jas@extundo.com>
81340
81341         * gnulib-tool: Fix comments.  Fix parse problem.
81342         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
81343
81344 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
81345
81346         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
81347         implementation of getopt_long.  Problem reported by Alexander Taler in:
81348         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
81349
81350 2004-10-15  Bruno Haible  <bruno@clisp.org>
81351
81352         * gnulib-tool: Untabify. Initialize supplied_libname.
81353         (func_usage): More homogenous output.
81354         (func_modules_transitive_closure, func_modules_to_filelist,
81355         func_emit_lib_Makefile_am): New functions.
81356         (func_import): New function, extracted from big case statement. Use
81357         func_get_license, func_modules_transitive_closure,
81358         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
81359         opt_lgpl. Don't use test -a, as it's not portable.
81360         (func_create_testdir): Use func_modules_transitive_closure,
81361         func_modules_to_filelist, func_emit_lib_Makefile_am.
81362
81363 2004-10-15  Bruno Haible  <bruno@clisp.org>
81364
81365         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
81366
81367 2004-10-15  Bruno Haible  <bruno@clisp.org>
81368
81369         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
81370         the portions belonging to each module.
81371         Suggested by Derek Robert Price <derek@ximbiot.com>.
81372
81373 2004-10-12  Simon Josefsson  <jas@extundo.com>
81374
81375         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
81376         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
81377         to real functions.
81378
81379 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81380
81381         * modules/vsnprintf: New file.
81382
81383 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81384
81385         * m4/vsnprintf.m4: New file.
81386
81387 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81388
81389         * lib/vsnprintf.h: New file.
81390         * lib/vsnprintf.c: New file.
81391
81392 2004-10-11  Bruno Haible  <bruno@clisp.org>
81393
81394         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
81395         vsnprintf.
81396
81397 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
81398
81399         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
81400
81401 2004-10-07  Bruno Haible  <bruno@clisp.org>
81402
81403         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
81404         fits into the provided buffer.
81405
81406 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
81407
81408         * lib/diacrit.c, diacrit.h: Add GPL notice.
81409
81410         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
81411         notice.
81412         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
81413         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
81414         This avoids a potential constant-folding bug.
81415
81416 2004-10-05  Bruno Haible  <bruno@clisp.org>
81417
81418         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
81419         for the declaration of strsep.
81420
81421 2004-10-05  Bruno Haible  <bruno@clisp.org>
81422
81423         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
81424
81425 2004-10-04  Simon Josefsson  <jas@extundo.com>
81426
81427         * modules/memmem: New file.
81428         * tests/test-memmem.c: New file.
81429         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
81430
81431 2004-10-04  Simon Josefsson  <jas@extundo.com>
81432
81433         * m4/memmem.m4: New file.
81434
81435 2004-10-04  Simon Josefsson  <jas@extundo.com>
81436
81437         * lib/memmem.h: New file.
81438         * lib/memmem.c: New file, taken from glibc.
81439
81440 2004-10-04  Simon Josefsson  <jas@extundo.com>
81441
81442         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
81443         '#ifdef USE_UNLOCKED_IO'.
81444
81445 2004-10-04  Simon Josefsson  <jas@extundo.com>
81446
81447         * config/srclist.txt: Add memmem from glibc.
81448
81449 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
81450
81451         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
81452
81453         * modules/argmatch, modules/argp, modules/closeout, modules/error,
81454         modules/exclude, modules/getdate, modules/getline,
81455         modules/getndelim2, modules/getpass, modules/getpass-gnu,
81456         modules/getusershell, modules/linebuffer, modules/md5,
81457         modules/mountlist, modules/posixtm, modules/readtokens,
81458         modules/readutmp, modules/regex, modules/sha1,
81459         modules/version-etc, modules/yesno:
81460         Remove dependency on unlocked-io.
81461
81462 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
81463
81464         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
81465
81466         * m4/unlocked-io.m4: Add copyright notice.
81467         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
81468
81469 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
81470
81471         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
81472         * lib/xmalloc.c (xmemdup): Likewise.
81473         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
81474         XFREE): Remove these long-obsolescent macros.
81475         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
81476         * lib/xstrdup.c: Remove.
81477
81478         * lib/regex.c (re_comp): Cast gettext return value to char *,
81479         Problem reported by Martin Neitzel via Mark D. Baushke.
81480
81481 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
81482
81483         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
81484         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
81485         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
81486         regex.c, sha1.c, version-etc.c, yesno.c:
81487         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
81488         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
81489         the includer's responsibility.
81490
81491         Sync from coreutils.
81492
81493         * lib/modechange.c (mode_compile): Don't decrement a pointer that
81494         points to the start of a string, as the C Standard says the
81495         resulting behavior is undefined.
81496
81497         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
81498         simple -> simple_backups, numbered_existing ->
81499         numbered_existing_backups, numbered -> numbered_backups
81500         to avoid shadowing problems.  All uses changed.
81501         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
81502         * lib/backupfile.c (check_extension, numbered_backup):
81503         Rename locals to avoid shadowing 'basename'.
81504         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
81505         once.
81506
81507         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
81508         * lib/.cvsignore: Add getopt.h.
81509
81510 2004-10-04  Bruno Haible  <bruno@clisp.org>
81511
81512         * modules/README: New file.
81513         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
81514         not a module.
81515
81516 2004-10-02  Jim Meyering  <jim@meyering.net>
81517
81518         * lib/dirfd.h, getpagesize.h: Add copyright notice.
81519
81520 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81521
81522         * modules/strsep: New file.
81523
81524 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81525
81526         * m4/strsep.m4: New file.
81527
81528 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81529
81530         * lib/strsep.h: New file.
81531         * lib/strsep.c: New file.
81532
81533 2004-10-01  Simon Josefsson  <jas@extundo.com>
81534
81535         * lib/snprintf.c (snprintf): Handle size==0.
81536
81537 2004-10-01  Simon Josefsson  <jas@extundo.com>
81538             Bruno Haible  <bruno@clisp.org>
81539
81540         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
81541         (snprintf): Declare 'args'.
81542
81543 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
81544
81545         * lib/snprintf.c: Remove comments as to why each header is needed.
81546
81547 2004-10-01  Bruno Haible  <bruno@clisp.org>
81548
81549         * MODULES.html.sh: Add strsep.
81550
81551 2004-09-30  Simon Josefsson  <jas@extundo.com>
81552
81553         * modules/snprintf: New file.
81554
81555 2004-09-30  Simon Josefsson  <jas@extundo.com>
81556
81557         * m4/snprintf.m4: New file.
81558
81559 2004-09-30  Simon Josefsson  <jas@extundo.com>
81560
81561         * lib/snprintf.h, lib/snprintf.c: New files.
81562
81563 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81564
81565         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
81566         (hol_entry_help): Never translate an empty string.
81567         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
81568         * lib/argp.h (OPTION_NO_TRANS): New option.
81569
81570 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
81571
81572         * modules/argp (Maintainer): Replace Simon Josefsson
81573         by Sergey Poznyakoff.
81574
81575 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
81576
81577         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
81578         changes merged back into glibc.
81579
81580 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
81581
81582         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
81583
81584 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
81585
81586         * lib/xvasprintf.c: Include xalloc.h.
81587         (xvasprintf): Use xalloc_die, not xmalloc_die.
81588
81589 2004-09-29  Bruno Haible  <bruno@clisp.org>
81590
81591         * modules/alloca-opt: New file, derived from modules/alloca.
81592         * modules/allocsa: Depend on alloca-opt instead of alloca.
81593         * modules/setenv: Likewise.
81594         * modules/vasnprintf: Likewise.
81595         * MODULES.html.sh: Add alloca-opt.
81596
81597 2004-09-28  Simon Josefsson  <jas@extundo.com>
81598
81599         * gnulib-tool: New parameter --lgpl, to asseert that modules are
81600         LGPL, and to replace license template from GPL to LGPL.
81601
81602 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
81603
81604         * modules/dummy: Change license to LGPL.
81605
81606 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
81607
81608         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
81609
81610 2004-09-24  Simon Josefsson  <jas@extundo.com>
81611
81612         * modules/minmax (License): Change from GPL to LGPL.
81613
81614 2004-09-23  Simon Josefsson  <jas@extundo.com>
81615
81616         * gnulib-tool (--import): Typo.
81617
81618 2004-09-23  Simon Josefsson  <jas@extundo.com>
81619
81620         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
81621
81622 2004-09-22  Bruno Haible  <bruno@clisp.org>
81623
81624         * modules/*: Add 'License' field.
81625         * gnulib-tool: Accept --extract-license option.
81626         (func_get_license): New function.
81627
81628 2004-09-21  Bruno Haible  <bruno@clisp.org>
81629
81630         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
81631         Reported by Simon Josefsson.
81632
81633 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
81634
81635         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
81636         gl_AC_TYPE_LONG_LONG.
81637
81638 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
81639
81640         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
81641
81642 2004-09-18  Simon Josefsson  <jas@extundo.com>
81643         and  Paul Eggert  <eggert@cs.ucla.edu>
81644
81645         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
81646         calls with autoreconf.  Define GL_LIB.
81647
81648 2004-09-14  Karl Berry  <karl@gnu.org>
81649
81650         * config/srclist.txt: unsync setenv.c, sigh.
81651
81652 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
81653
81654         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
81655         Problem reported by Bruno Haible in:
81656         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
81657
81658 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
81659
81660         * config/srclist.txt: Comment out argp-pvh.c.
81661
81662 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
81663
81664         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
81665         in case some system header has #define'd it.  Problem reported by
81666         Soeren D. Schulze in
81667         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
81668
81669 2004-09-09  Karl Berry  <karl@gnu.org>
81670
81671         * regex.[ch]: delete from the root.  These were supposed to be
81672                 synced with emacs cvs, but this has not happened for about
81673                 a year, and anyway nothing else uses emacs regex.[ch].
81674                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
81675                 lib/regex[.ch] is untouched.
81676
81677 2004-09-09  Bruno Haible  <bruno@clisp.org>
81678
81679         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
81680
81681 2004-09-09  Bruno Haible  <bruno@clisp.org>
81682
81683         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
81684         modifications.
81685         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
81686
81687 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
81688
81689         * modules/xvasprintf: New file.
81690         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
81691
81692 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
81693
81694         * lib/xvasprintf.h: New file.
81695         * lib/xvasprintf.c: New file.
81696         * lib/xasprintf.c: New file.
81697
81698 2004-09-08  Bruno Haible  <bruno@clisp.org>
81699
81700         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
81701
81702 2004-09-08  Bruno Haible  <bruno@clisp.org>
81703
81704         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
81705         length is > INT_MAX.
81706         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
81707         more.
81708
81709 2004-09-08  Bruno Haible  <bruno@clisp.org>
81710
81711         * lib/stdint_.h: New file, taken from GNU clisp.
81712
81713 2004-09-08  Bruno Haible  <bruno@clisp.org>
81714             Oskar Liljeblad  <oskar@osk.mine.nu>
81715
81716         * modules/stdint: New file.
81717         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
81718
81719 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81720
81721         Import from coreutils.
81722         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
81723         strings on unbounded length.  alloca's performance benefits aren't
81724         that important here.
81725         (V_STRDUP): Remove.
81726         (parse_with_separator): New function, with most of the internals
81727         of the old parse_user_spec.  Allow user to omit both user and group,
81728         for compatibility with FreeBSD.
81729         Clone only the user name, not the entire spec.
81730         Do not set *uid, *gid unless entirely successful.
81731         Avoid memory leak in some failing cases.
81732         Fix regression for USER.GROUP reported by Dmitry V. Levin in
81733         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
81734         (parse_user_spec): Rewrite to use parse_with_separator.
81735
81736 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81737
81738         * modules/userspec: Don't depend on alloca.
81739
81740 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81741
81742         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
81743
81744 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
81745
81746         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
81747         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
81748         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
81749
81750 2004-08-16  Simon Josefsson  <jas@extundo.com>
81751
81752         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
81753         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
81754         Add --dry-run for --import.
81755         Let user provided command line parameters override configure.ac
81756         settings.
81757
81758 2004-08-12  Simon Josefsson  <jas@extundo.com>
81759
81760         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
81761         as discussed with Paul Eggert in threads rooted at
81762         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
81763         and
81764         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
81765         Before, the test was empty, and relied on ELIDE_CODE in source
81766         code.)
81767         (gl_PREREQ_GETOPT): New macro.
81768         (gl_GETOPT): Use them.
81769
81770 2004-08-12  Simon Josefsson  <jas@extundo.com>
81771
81772         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
81773         * lib/getopt_.h: Renamed from getopt.h.
81774
81775 2004-08-12  Simon Josefsson  <jas@extundo.com>
81776
81777         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
81778         Change default library name from libfoo to libgnu.
81779         Now, if you have a configure.ac that says:
81780                 gl_SOURCE_BASE(gl)
81781                 gl_M4_BASE(gl/m4)
81782                 gl_MODULES(error getopt etcetera)
81783                 gl_INIT
81784         you can import all you need by running:
81785                 ../gnulib/gnulib-tool --import
81786
81787         * modules/getopt (Files): Rename getopt.h to getopt_.h.
81788         (Makefile.am): Rewrite, use logic from argz.
81789         (Include): Use <getopt.h> instead of "getopt.h".
81790
81791 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
81792
81793         * modules/argp (Files): Add m4/unlocked-io.m4.
81794         (Depends-on): Add extensions.
81795
81796 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
81797
81798         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
81799         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
81800         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
81801         Check for program_invocation_name, program_invocation_short_name,
81802         flockfile, funlockfile, features.h, _getopt_long_only_r.
81803
81804 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
81805
81806         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
81807         its complicated substitute.
81808         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
81809         and program_invocation_name.
81810         (__argp_basename) [!_LIBC]: Remove; the only use was
81811         replaced by its body.
81812         (__argp_short_program_name): Change condition from
81813         !defined __argp_short_program_name to
81814         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
81815         to match argp-namefrob.h.
81816         (__argp_failure): Don't assume strerror_r returns char *.
81817         * lib/argp-parse.c (N_): Define unconditionally.
81818         (argp_default_options): Fill out initializers with 0 to avoid
81819         gcc warnings.
81820
81821 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
81822
81823         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
81824         getopt1.c.
81825
81826 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
81827
81828         Merge from coreutils.
81829
81830         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
81831
81832         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
81833         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
81834
81835 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
81836
81837         Merge from coreutils.
81838
81839         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
81840         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
81841         for Reliant Unix 5.43.
81842
81843         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
81844         (union fooround): Use uintmax_t, not long int.
81845         The rest is a merge from libc:
81846         [defined _LIBC]: Include <shlib-compat.h>.
81847         (_obstack) [defined _LIBC]: Remove after 2.3.4.
81848
81849         * lib/settime.c (settime): Recode to avoid warning with
81850         Sun Forte C 6U2.
81851
81852         * lib/strverscmp.c: Convert to UTF-8.
81853
81854 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
81855
81856         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
81857         m4/uintmax_t.m4.
81858
81859 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
81860
81861         * modules/xalloc-die: New file.
81862         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
81863
81864         * modules/md5 (Files): Add m4/uint32_t.m4.
81865         * modules/sha1: Renamed from modules/sha.
81866         (Files):
81867         Rename lib/sha.h to lib/sha1.h.
81868         Rename lib/sha.c to lib/sha1.c.
81869         Rename m4/sha.m4 to m4/sha1.m4.
81870         (lib_SOURCES): Likewise.
81871         (configure.ac): Rename gl_SHA to gl_SHA1.
81872         (Include): sha.h -> sha1.h.
81873
81874 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
81875
81876         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
81877         * m4/sha1.m4: Renamed from sha.m4.
81878         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
81879
81880 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
81881
81882         * lib/obstack.h (obstack_empty_p):
81883         Don't assume that chunk->contents is suitably aligned.
81884         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
81885         Likewise. Problem reported by Benno in
81886         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
81887
81888         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
81889         readable.  This could be improved further but it'd take some work.
81890
81891 2004-08-08  Simon Josefsson  <jas@extundo.com>
81892
81893         * modules/xgethostname (Depends-on): Remove exit and error (not
81894         used).
81895
81896         * modules/getpass-gnu: Add getpass.h.
81897         (Depends-on): Add stdbool.
81898         * modules/getpass: Add getpass.h.
81899
81900 2004-08-08  Simon Josefsson  <jas@extundo.com>
81901
81902         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
81903         Check getpass declaration.
81904
81905 2004-08-08  Simon Josefsson  <jas@extundo.com>
81906
81907         * lib/xgethostname.c: Don't include error.h (not used).
81908
81909         * lib/getpass.h: Add.
81910         * lib/getpass.c: Include getpass.h first.
81911
81912 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
81913
81914         * lib/xalloc-die.c: New file.
81915         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
81916         All uses removed.
81917         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
81918         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
81919         xalloc-die.c.
81920         (_, N_, xalloc_die): Move to xalloc-die.c.
81921         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
81922         so that we needn't mess with xalloc_msg_memory_exhausted.
81923
81924         * lib/sha1.h: Renamed from sha.h.
81925         (SHA1_H): Renamed from _SHA_H.
81926         (sha1_ctx): Renamed from sha_ctx.
81927         (sha1_init_ctx): Renamed from sha_init_ctx.
81928         (sha1_process_block): Renamed from sha_process_block.
81929         (sha1_process_bytes): Renamed from sha_process_bytes.
81930         (sha1_finish_ctx): Renamed from sha_finish_ctx.
81931         (sha1_read_ctx): Renamed from sha_read_ctx.
81932         (sha1_stream): Renamed from sha_stream.
81933         (sha1_buffer): Renamed from sha_buffer.
81934         * lib/sha1.c: Likewise; renamed from sha.c.
81935         Do not include <sys/types.h>.
81936         Include <stddef.h> rather than <stdlib.h>.
81937
81938 2004-08-08  Bruno Haible  <bruno@clisp.org>
81939
81940         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
81941         FILESYSTEM_PREFIX_LEN.
81942         * lib/progreloc.c: Likewise.
81943         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
81944
81945 2004-08-06  Simon Josefsson  <jas@extundo.com>
81946
81947         * modules/progname (Depends-on): Don't depend on stdbool.
81948
81949 2004-08-06  Simon Josefsson  <jas@extundo.com>
81950
81951         * modules/getsubopt: New file.
81952         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81953         getsubopt.
81954
81955 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
81956
81957         More merge from coreutils.
81958
81959         * m4/utimens.m4, m4/utimecmp.m4: New files.
81960         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
81961         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
81962         prereq.m4, sha.m4: Import changes from coreutils.
81963
81964 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
81965
81966         More merge from coreutils.
81967         * modules/raise, modules/readtokens0, modules/utimens:
81968         * modules/utimecmp, module/xnanosleep: New files.
81969         * modules/strftime: Add lib/strftime.h.
81970         Change include from <time.h> to "strftime.h".
81971         * modules/yesno: Add lib/yesno.h.
81972         * modules/backupfile: Remove lib/addext.c.
81973         * modules/euidaccess: Add stat-macros.h.
81974         * modules/canonicalize, modules/euidaccess,
81975         modules/filemode, modules/lchown, modules/makepath,
81976         modules/rmdir, modules/stat: Likewise.
81977
81978 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
81979
81980         Merge from tar.
81981         * lib/argp-help.c (make_hol, hol_append): Don't assume that
81982         SIZE_MAX is a valid preprocessor constant.
81983         (__argp_basename): Change from "#ifndef _LIBC"
81984         to "#ifndef __argp_short_program_name", so that
81985         we don't compile these functions for tar.
81986
81987         More merges from coreutils.
81988         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
81989         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
81990         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
81991         * lib/addext.c: Remove; no longer needed.
81992         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
81993         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
81994         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
81995         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
81996         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
81997         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
81998         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
81999         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
82000         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
82001         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
82002         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
82003         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
82004         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
82005         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
82006         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
82007         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
82008         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
82009         Import changes from coreutils.
82010
82011 2004-08-05  Simon Josefsson  <jas@extundo.com>
82012
82013         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
82014
82015 2004-08-05  Simon Josefsson  <jas@extundo.com>
82016
82017         * m4/getsubopt.m4: New file.
82018
82019 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
82020
82021         Merge from coreutils.
82022
82023         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
82024         * m4/getcwd-path-max.m4: New files.
82025
82026         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
82027         FILESYSTEM_PREFIX_LEN ->
82028         FILE_SYSTEM_PREFIX_LEN.
82029         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
82030         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
82031         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
82032         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
82033
82034         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
82035         prerequisite modules now handle the DOS stuff.
82036         Don't check for unistd.h.
82037
82038 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
82039
82040         Merge from coreutils.
82041
82042         * lib/.gdb-history: Remove; this doesn't belong here.
82043
82044         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
82045         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
82046         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
82047         * lib/getcwd.c: New files.
82048
82049         * lib/dirname.h: Include <stdbool.h>.
82050         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
82051         for consistency with POSIX terminology.  All uses changed.
82052         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
82053         (strip_trailing_slashes): Use bool for booleans.
82054         * lib/stripslash.c (strip_trailing_slashes): Likewise.
82055
82056         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
82057         sometimes returns a positive errno value even when it succeeds.
82058         (print_errno_message) [!LIBC]: Fall back on strerror if
82059         __strerror_r fails.
82060
82061         * lib/path-concat.c (mempcpy): Don't define if a system header defines
82062         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
82063         (longest_relative_suffix): New function.
82064         (path_concat): Use it.  Assume first argument is not NULL.
82065         Port to DOS.  Omit redundant separators.
82066         Report an error instead of returning NULL.
82067         Use mempcpy instead of memcpy.
82068         (xpath_concat): Remove: not declared or used.
82069
82070         * lib/same.h: Include <stdbool.h>
82071         (same_name): Return bool, not int.
82072         * lib/same.c (same_name): Likewise.
82073         (errno): Don't declare; we assume C89 or better now.
82074
82075         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
82076         if not already defined.
82077
82078         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
82079         * lib/dup-safer.c (errno): Likewise.
82080
82081 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
82082
82083         Merge from coreutils.
82084         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
82085         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
82086         * modules/path-concat: Don't depend on strdup.
82087
82088 2004-08-03  Simon Josefsson  <jas@extundo.com>
82089
82090         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
82091         * lib/progname.h: Don't include stdbool.h.
82092
82093 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
82094
82095         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
82096         * MODULES.html.sh (func_all_modules): Remove fatal.
82097
82098 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
82099
82100         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
82101
82102 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
82103
82104         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
82105         working.
82106
82107 2004-08-02  Simon Josefsson  <jas@extundo.com>
82108
82109         * lib/getsubopt.h: New file, with comments from Bruno Haible.
82110         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
82111         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
82112
82113 2004-08-01  Simon Josefsson  <jas@extundo.com>
82114
82115         * lib/xgetdomainname.c: Include stdlib.h, for free().
82116
82117 2004-07-19  Bruno Haible  <bruno@clisp.org>
82118
82119         * MODULES.html.sh (func_all_modules): Add dummy.
82120
82121 2004-07-16  Simon Josefsson  <jas@extundo.com>
82122
82123         * modules/dummy: New file.
82124
82125 2004-07-16  Simon Josefsson  <jas@extundo.com>
82126
82127         * lib/dummy.c: New file.
82128
82129 2004-07-16  Bruno Haible  <bruno@clisp.org>
82130
82131         * lib/backupfile.h: Add extern "C" for C++.
82132         * lib/closeout.h: Likewise.
82133         * lib/copy-file.h: Likewise.
82134         * lib/findprog.h: Likewise.
82135         * lib/full-write.h: Likewise.
82136         * lib/pathname.h: Likewise.
82137         * lib/progname.h: Likewise.
82138         * lib/stpcpy.h: Likewise.
82139         * lib/stpncpy.h: Likewise.
82140         * lib/strcase.h: Likewise.
82141         * lib/strstr.h: Likewise.
82142         * lib/xalloc.h: Likewise.
82143
82144         * lib/mbswidth.h: Add extern "C" for C++.
82145         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
82146
82147 2004-07-13  Robert Millan  <robertmh@gnu.org>
82148
82149         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
82150
82151 2004-07-09  Simon Josefsson  <jas@extundo.com>
82152
82153         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
82154         failed without this.)
82155
82156 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
82157
82158         * modules/chown (Files): Add lib/fchown-stub.c, since
82159         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
82160
82161 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
82162
82163         * lib/fchown-stub.c: New file.
82164
82165 2004-06-24  Jim Meyering  <jim@meyering.net>
82166
82167         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
82168
82169 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82170
82171         * modules/argz: Omit "#include".
82172
82173         * MODULES.html.sh (func_all_modules): Add calloc, to match
82174         2004-06-01 addition of calloc module.
82175
82176 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82177
82178         * m4/argz.m4: New file, which is autoupdated from libtool.
82179
82180 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82181
82182         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
82183         libtool.
82184
82185 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82186
82187         * config/srclist-update: Don't insist on "USA." before the
82188         close-comment, as libtool omits the period and puts the */ on a
82189         separate line.
82190         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
82191         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
82192
82193 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
82194
82195         * modules/argz: New file.
82196         * MODULES.html.sh (func_all_modules): Add argz.
82197
82198 2004-06-12  Jim Meyering  <jim@meyering.net>
82199         and  Paul Eggert  <eggert@cs.ucla.edu>
82200
82201         * modules/hash (Files): Add lib/xalloc.h.
82202         * modules/pipe (Depends-on): Add wait-process.
82203         * modules/stat (Depends-on): Add xalloc.
82204         * modules/userspec (Files): Add lib/userspec.h.
82205         * modules/xstrto
82206
82207         Upgrade from gettext-0.13.
82208         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
82209         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
82210         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
82211
82212 2004-06-10  Jim Meyering  <jim@meyering.net>
82213
82214         * lib/calloc.c: New file.
82215
82216 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
82217
82218         * lib/getdate.y (yylex): Allow space between sign and number.
82219         Problem reported by Dan Jacobson.
82220
82221 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
82222
82223         Merge from coreutils CVS.
82224
82225         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
82226         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
82227         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
82228         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
82229         xstrtol.m4: Fix copyright date and/or serial number.
82230
82231         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
82232         See if we need an fchown replacement.
82233         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
82234         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
82235         and use the replacement function if we detect either defect.
82236
82237         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
82238         gl_UTIMECMP.
82239
82240 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
82241         and  Jim Meyering  <jim@meyering.net>
82242
82243         Merge from coreutils CVS.
82244
82245         * lib/stat-macros.h: New file, with contents from file-type.h
82246         and coreutils' system.h.
82247         * lib/file-type.c: Include "stat-macros.h".
82248         * lib/file-type.h (file_type): Move all macro definitions to new file,
82249         stat-macros.h.
82250
82251         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
82252         Wrap old code with this conditional.
82253         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
82254         function that does not dereference symlinks.
82255         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
82256
82257         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
82258         dependency problems.
82259         (xreadlink): Accept new arg SIZE, for efficiency.
82260         All decls and uses changed.
82261         * lib/xreadlink.h: Include <stddef.h>, for size_t.
82262
82263         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
82264         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
82265
82266         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
82267         sysexits.h.
82268
82269 2004-06-01  Jim Meyering  <jim@meyering.net>
82270
82271         * m4/calloc.m4: New file.
82272
82273 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
82274
82275         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
82276         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
82277         Also, fix a typo in a diagnostic.
82278
82279 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
82280
82281         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
82282         or AC_FUNC_REALLOC.
82283
82284 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
82285
82286         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
82287         macros to be defined.
82288         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
82289         the allocator returns NULL because the requested size is zero.
82290
82291 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82292
82293         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
82294         var.  Add comment explaining why libc still defines it.  This
82295         merges the following patch from glibc:
82296         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
82297
82298 2004-05-20  Andreas Schwab  <schwab@suse.de>
82299
82300         * m4/free.m4: Replace free if it not known to work, not the other
82301         way round.
82302
82303 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
82304
82305         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
82306         present in glibc since revision 1.1 of this file.
82307         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
82308         obstack_alignment_mask, obstack_alloc, obstack_base,
82309         obstack_blank, obstack_blank_fast, obstack_chunk_size,
82310         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
82311         obstack_grow0, obstack_init, obstack_int_grow,
82312         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
82313         obstack_next_free, obstack_object_size, obstack_ptr_grow,
82314         obstack_ptr_grow_fast, obstack_room): Remove declarations of
82315         nonexistent functions.
82316
82317 2004-05-18  Karl Berry  <karl@gnu.org>
82318
82319         * config/srclist.txt: break link for vasnprintf.c.
82320
82321 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
82322
82323         Port obstack to the AS/400, where pointers are 16 bytes wide and
82324         you cannot cast an integer to a valid pointer.  This patch is
82325         currently waiting to be integrated into glibc; see
82326         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
82327
82328         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
82329         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
82330         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
82331         (struct obstack): temp member is now a union of a pointer and
82332         an integer, instead of an integer.  All integer uses changed.
82333         This does not affect the physical layout of struct obstack,
82334         except on hosts (like the AS/400) where the size or alignment of
82335         void * is greater than that of ptrdiff_t.
82336         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
82337         __STDC__)]: Store temporary in pointer member of union, not
82338         integer member.
82339         * lib/obstack.c: Include <stddef.h>, for offsetof.
82340         (struct fooalign): Remove; it doesn't need a name.
82341         (union fooround): Change double to long double, and add void *.
82342         (DEFAULT_ALIGNMENT): Use offsetof to compute.
82343         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
82344         not a macro.  Hence the values are always int; so remove all
82345         casts-to-int in uses.
82346
82347 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
82348
82349         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
82350         we can get this patch merged into glibc.
82351
82352 2004-05-17  Derek R. Price  <derek@ximbiot.com>
82353             Paul Eggert  <eggert@cs.ucla.edu>
82354
82355         * m4/argp: Depend on alloca.
82356
82357 2004-05-17  Derek R. Price  <derek@ximbiot.com>
82358             Paul Eggert  <eggert@cs.ucla.edu>
82359
82360         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
82361         freecoding.
82362
82363 2004-05-17  Bruno Haible  <bruno@clisp.org>
82364
82365         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
82366         precision that consists of a '.' followed by an empty digit string.
82367         Patch by Tor Lillqvist <tml@iki.fi>.
82368
82369 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
82370
82371         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
82372         for backward compatibility with older code.  We need our own
82373         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
82374         it under some other name, and our alloca.h will define it.
82375
82376 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
82377             Derek Price  <derek@ximbiot.com>
82378
82379         * lib/alloca.c: Include <alloca.h>, to get our interface.
82380         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
82381         include <alloca.h> first.  Use C89 prototype for alloca; this
82382         requires including <stddef.h> for size_t.  Use extern "C" if C++.
82383         Use #elif for simplicity, since we can assume C89 now.
82384         Don't try to source the system alloca.h since it will not be found
82385         and to prevent recursively including its replacement.
82386         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
82387         * lib/regex.c: Likewise.
82388
82389 2004-05-16  Derek Price  <derek@ximbiot.com>
82390             Paul Eggert  <eggert@cs.ucla.edu>
82391
82392         getline cleanup.  This changes the getndelim2 API: both order of
82393         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
82394         no delimiter).
82395
82396         * lib/getline.c: Don't include stddef.h or stdio.h, since our
82397         interface does that.
82398         (getline): Always use getdelim, so that we don't have two
82399         copies of this code.
82400         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
82401         if available.
82402         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
82403         (GETNDELIM2_MAXIMUM): New macro.
82404         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
82405         instead of the old practice of delim2==0.  All callers changed.
82406         Return -1 on overflow, instead of returning junk.
82407         Do not set *linesize unless allocation succeeds.
82408         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
82409         that we include sys/types.h.
82410         * lib/getnline.h: Likewise.
82411         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
82412         (getndelim2): Reorder arguments.
82413         * lib/getnline.c (getnline, getndelim):
82414         Don't discard the NMAX argument.
82415         (getnline): Invoke getndelim, to avoid code duplication.
82416         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
82417         of (size_t) -1 by callers of the getnline family.
82418
82419 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
82420
82421         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
82422         Check for gettimeofday.
82423         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
82424         Check for settimeofday, stime.
82425
82426 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
82427
82428         * lib/nanosleep.c (suspended): Change its type from int to
82429         sig_atomic_t volatile.
82430         (first_call): Make it private to rpl_nanosleep, and have it
82431         be zero initially as that's a bit faster.
82432         (my_usleep): Round up fractional times instead of truncating them,
82433         as this is the usual meaning for 'sleep'.
82434
82435         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
82436         doesn't work.
82437         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
82438         (ENOSYS): Define if not defined.
82439         (settime): Fall back on stime if it exists and settimeofday fails.
82440         But don't bother with fallbacks if a method fails with errno == EPERM.
82441
82442 2004-05-11  Jim Meyering  <jim@meyering.net>
82443
82444         Prior to this change, the save_cwd caller required read access to the
82445         current directory on most systems (ones with the fchdir function).
82446
82447         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
82448         fails, try write-only, and finally, resort to using xgetcwd.
82449
82450 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
82451
82452         * lib/obstack.c, obstack.h: Import changes from libc.
82453
82454 2004-04-28  Bruno Haible  <bruno@clisp.org>
82455
82456         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
82457         also implicitly appends .exe to executables.
82458         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
82459         accepts Windows pathnames.
82460         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
82461         Treat Cygwin like Windows, since it now accepts Windows pathnames.
82462         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
82463         Treat Cygwin like Windows, since it now accepts Windows pathnames.
82464         Reported by Derek Robert Price <derek@ximbiot.com>.
82465
82466 2004-04-21  Karl Berry  <karl@gnu.org>
82467
82468         * config/srclist.txt (localcharset.c): break sync.
82469
82470 2004-04-20  Paul Eggert  <eggert@twinsun.com>
82471
82472         * m4/host-os.m4: Add a copyright notice.
82473
82474 2004-04-20  Jim Meyering  <jim@meyering.net>
82475
82476         Change UTILS_ to gl_ in AC_DEFINE'd names.
82477         Change utils_- and jm_-prefixed variables, too.
82478         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
82479         UTILS_FUNC_MKDIR_TRAILING_SLASH.
82480         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
82481
82482         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
82483         Don't emit trailing blanks.
82484         Also rename jm_-prefixed variables to have gl_ prefix.
82485
82486         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
82487         Also rename jm_-prefixed variables to have gl_ prefix.
82488
82489         * m4/jm-macros.m4: Reflect the renamings.
82490         * m4/prereq.m4: Likewise.
82491
82492 2004-04-20  Jim Meyering  <jim@meyering.net>
82493
82494         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
82495         memory.
82496
82497 2004-04-20  Jim Meyering  <jim@meyering.net>
82498             Bruno Haible  <bruno@clisp.org>
82499
82500         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
82501         memory when realloc fails.
82502
82503 2004-04-19  Jim Meyering  <jim@meyering.net>
82504
82505         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
82506         now that readutmp.c may call `free (0)'.
82507
82508 2004-04-19  Bruno Haible  <bruno@clisp.org>
82509
82510         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
82511         * m4/inttypes_h.m4: Likewise.
82512         * m4/stdint_h.m4: Likewise.
82513         * m4/intmax_t.m4: Likewise.
82514         * m4/uintmax_t.m4: Likewise.
82515
82516 2004-04-18  Jim Meyering  <jim@meyering.net>
82517
82518         * m4/prereq.m4: Don't forbid jm_ prefix.
82519
82520         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
82521         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
82522         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
82523         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
82524         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
82525         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
82526         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
82527         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
82528         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
82529         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
82530         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
82531         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
82532         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
82533         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
82534         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
82535         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
82536         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
82537         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
82538         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
82539
82540 2004-04-18  Jim Meyering  <jim@meyering.net>
82541
82542         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
82543         failure, don't leak memory and do call END_UTMP_ENT.
82544
82545 2004-04-16  Jim Meyering  <jim@meyering.net>
82546
82547         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
82548         coreutils' stat program.
82549         (gl_PREREQ): Don't require jm_PREREQ_STAT.
82550
82551 2004-04-11  Paul Eggert  <eggert@twinsun.com>
82552
82553         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
82554         C89.
82555         (CHAR_BIT): Remove, since we assume C89.
82556         Include <stdint.h> if available, as per current Autoconf CVS advice.
82557
82558 2004-03-31  Jim Meyering  <jim@meyering.net>
82559
82560         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
82561         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
82562         * m4/xalloc.m4: Likewise.
82563
82564 2004-03-30  Paul Eggert  <eggert@twinsun.com>
82565
82566         Merge from coreutils.
82567
82568         * m4/inttostr.m4: New file.
82569         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
82570         Require AM_STDBOOL_H and gl_TIMESPEC instead.
82571         Require gl_CLOCK_TIME.
82572         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
82573
82574 2004-03-30  Paul Eggert  <eggert@twinsun.com>
82575
82576         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
82577         not bool, to be more consistent with Unix conventions.
82578         Suggested by Bruno Haible.
82579
82580         Merge from coreutils.
82581
82582         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
82583         * lib/umaxtostr.c: New files.
82584
82585         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
82586         the usual <time.h> dance.
82587         (get_date): Change signature to support fractional time stamps.
82588         All callers changed.
82589         * lib/getdate.y: Include "getdate.h" first, as we can now
82590         assume C89 and don't need to worry about 'const'.
82591         Similarly, include "unlocked-io.h" near start, not in middle.
82592         Include <limits.h>.
82593         (textint.value): Use long int rather than int.
82594         (textint.digits): Use size_t rather than int.
82595         (BILLION, LOG10_BILLION): New constants.
82596         (parser_control): New member rel_ns.  Members day_ordinal,
82597         time_zone, month, day, hour, minutes, rel_year, rel_month,
82598         rel_day, rel_hour, rel_minutes, rel_seconds
82599         are now long int, not int.  Member seconds is now struct timespec,
82600         not int.  New member timespec_seen.  Members dates_seen, days_seen,
82601         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
82602         not int.
82603         (%union.intval): Now long int, not int.
82604         New member timespec.
82605         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
82606         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
82607         (spec): Now is a timespec or an item list.
82608         (timespec, items): New nonterminals.
82609         (time, rel, relunit, number, get_date):
82610         Add support for fractional seconds.
82611         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
82612         (gmtime, localtime, mktime): Remove decls; not needed with C89.
82613         (to_hour): First arg is now long int, not int.
82614         (to_year): Returns long int, not int.
82615         Don't treat year -70 like 70.
82616         (tm_diff): Returns long int, not int.
82617         (lookup_word): Use bool instead of int when appropriate.
82618         (yylex): Use size_t for count, not int.
82619         Detect overflow when parsing large integer constants.
82620         Add support for fractions.
82621         (get_date): Make pointers 'const' if possible.
82622         Use more-portable code to detect integer overflow.
82623         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
82624         Don't use ctime; it's not reliable if the year has >4 digits.
82625
82626         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
82627         This is for compatibility with BSD.
82628
82629         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
82630         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
82631         From coreutils' system.h.
82632
82633         * lib/userspec.c: Don't include "posixver.h".
82634         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
82635         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
82636         compatible extension.  Simplify code by removing a boolean int
82637         that was always nonzero if a string was nonnull.
82638
82639 2004-03-30  Jim Meyering  <jim@meyering.net>
82640
82641         Merge from coreutils.
82642
82643         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
82644         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
82645         on some systems one must include <grp.h> before it.
82646         Reported by Christian Krackowizer.
82647
82648 2004-03-30  Jim Meyering  <jim@meyering.net>
82649
82650         Merge from coreutils.
82651
82652         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
82653
82654         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
82655         an empty input stream.
82656
82657         * lib/readtokens.c: Include <stdbool.h>.
82658         (readtoken): Use `size_t' rather than int/long.
82659         All callers adjusted.
82660         Use `bool' rather than `int' where appropriate.
82661         Use memset rather than an explicit loop.
82662         Use x2nrealloc rather than xrealloc.
82663         Allow the use of `\0' as a delimiter.
82664         (readtokens): Likewise.
82665         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
82666
82667 2004-03-30  Jim Meyering  <jim@meyering.net>
82668
82669         * m4/realloc.m4: Remove file, since now it does no more than
82670         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
82671         the `configure.ac' section of module/realloc.
82672         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
82673
82674 2004-03-30  Bruno Haible  <bruno@clisp.org>
82675
82676         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
82677         nonnull.
82678
82679 2004-03-29  Paul Eggert  <eggert@twinsun.com>
82680
82681         Merge changes to getloadavg.c from coreutils and Emacs.
82682
82683         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
82684         Define to an expression, not to the empty string.
82685         Include cloexec.h and xalloc.h.
82686         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
82687         Use set_cloexec_flag rather than rolling our own.
82688         * lib/cloexec.c, lib/cloexec.h: New files.
82689
82690 2004-03-29  Paul Eggert  <eggert@twinsun.com>
82691
82692         * m4/cloexec.m4: New file.
82693
82694 2004-03-18  Paul Eggert  <eggert@twinsun.com>
82695
82696         * lib/getopt.h: Sync with libc CVS.
82697
82698 2004-03-18  Paul Eggert  <eggert@twinsun.com>
82699             Bruno Haible  <bruno@clisp.org>
82700
82701         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
82702         mbswidth.
82703
82704 2004-03-18  Paul Eggert  <eggert@twinsun.com>
82705             Bruno Haible  <bruno@clisp.org>
82706
82707         * lib/mbswidth.h: Include <wchar.h> only if
82708         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
82709         <wchar.h>.
82710         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
82711
82712 2004-03-09  Paul Eggert  <eggert@twinsun.com>
82713
82714         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
82715         Sync with libc CVS.
82716         * lib/getopt_int.h: New file, also synced from libc.
82717
82718 2004-03-09  Paul Eggert  <eggert@twinsun.com>
82719
82720         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
82721         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
82722         Bring back getopt.c, getopt.h, getopt1.c.
82723
82724 2004-03-07  Paul Eggert  <eggert@twinsun.com>
82725
82726         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
82727         All uses changed.  Check for sa_sigaction member; this fixes
82728         a bug first reported by Jason Andrade in
82729         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
82730
82731 2004-03-07  Paul Eggert  <eggert@twinsun.com>
82732
82733         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
82734         '#if' expressions.  Unlike the code it replaces, it does not
82735         depend on (defined _SC_PAGESIZE).  However, it does depend on
82736         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
82737         first reported by Jason Andrade in
82738         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
82739
82740 2004-02-25  Simon Josefsson  <jas@extundo.com>
82741
82742         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
82743
82744 2004-02-25  Simon Josefsson  <jas@extundo.com>
82745
82746         * lib/strdup.h: New file.
82747         * lib/strdup.c: Include it.
82748         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
82749         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
82750
82751 2004-02-23  Karl Berry  <karl@gnu.org>
82752
82753         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
82754         (from fencepost.gnu.org:/gd/gnuorg).
82755
82756 2004-02-23  Karl Berry  <karl@gnu.org>
82757
82758         * config/srclistvars.sh (GNUORG) [karl]: redefine.
82759         * config/srclist.txt: add maintain/standards documents.
82760
82761 2004-02-18  Bruno Haible  <bruno@clisp.org>
82762
82763         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
82764         Reported by Derek Robert Price <derek@ximbiot.com>.
82765
82766 2004-02-16  Karl Berry  <karl@gnu.org>
82767
82768         * config/mkinstalldirs, install-sh: update from automake.
82769
82770 2004-02-06  Karl Berry  <karl@gnu.org>
82771
82772         * m4/po.m4: update from gettext 0.14.1.
82773
82774 2004-02-06  Karl Berry  <karl@gnu.org>
82775
82776         * lib/config.charset: update from gettext 0.14.1.
82777
82778 2004-02-05  Paul Eggert  <eggert@twinsun.com>
82779
82780         Add comments and code, prompted by suggestions from Bruno Haible
82781         for sh-quote.
82782         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
82783         describing the enum quoting_style values.
82784         * lib/quotearg.c (quotearg_alloc): New function.
82785         (quotearg_buffer_restyled): Treat lone { and } as special.
82786         Treat = as special.  Work around bug with older shells
82787         that "see" a '\' that is really the 2nd byte of a multibyte char.
82788         Quote empty string with shell_quoting_style.
82789
82790 2004-02-03  Bruno Haible  <bruno@clisp.org>
82791
82792         * m4/pipe.m4: New file, from GNU gettext.
82793
82794 2004-02-03  Bruno Haible  <bruno@clisp.org>
82795
82796         * lib/pipe.h: New file, from GNU gettext.
82797         * lib/pipe.c: New file, from GNU gettext.
82798
82799 2004-01-27  Bruno Haible  <bruno@clisp.org>
82800
82801         * m4/execute.m4: New file, from GNU gettext.
82802
82803 2004-01-27  Bruno Haible  <bruno@clisp.org>
82804
82805         * lib/execute.h: New file, from GNU gettext.
82806         * lib/execute.c: New file, from GNU gettext.
82807         * lib/w32spawn.h: New file, from GNU gettext.
82808
82809 2004-01-24  Paul Eggert  <eggert@twinsun.com>
82810
82811         Merge from diffutils.
82812
82813         * lib/file-type.c (file_type): Add typed memory objects.
82814         * lib/file-type.h (S_TYPEISTMO): New macro.
82815
82816         * lib/c-stack.h (c_stack_action): Remove argv argument.
82817         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
82818         (die): Don't calculate message unless segv_action returns.
82819         (get_stack_location, min_address_from_argv, max_address_from_argv,
82820         volatile stack_base, volatile_stack_size): Remove.
82821         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
82822         that every segmentation violation is a stack overflow.  (Ouch!)
82823         See Debian bug 136249 (still outstanding) for more info about why
82824         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
82825
82826 2004-01-24  Paul Eggert  <eggert@twinsun.com>
82827
82828         Exit-status fix from coreutils.
82829
82830         Use exit_failure consistently in place of EXIT_FAILURE,
82831         so that program exit statuses are consistent on failure.
82832
82833         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
82834         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
82835         * lib/argmatch.h: Comment fix to match the above.
82836         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
82837         Now a macro referring to exit_failure, instead of a separate
82838         variable.  Include "exitfail.h" to get it.
82839         * lib/xstrtol.h: Include "exitfail.h".
82840         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
82841
82842         * lib/long-options.c (parse_long_options): Use prototype
82843         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
82844         for clarity.
82845
82846 2004-01-21  Jim Meyering  <jim@meyering.net>
82847
82848         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
82849         so as not to conflict with a different-sized __mktime_internal
82850         function in GNU libc.
82851         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
82852         Problem building statically-linked `ls' reported by Michael Brunnbauer.
82853
82854 2004-01-20  Karl Berry  <karl@gnu.org>
82855
82856         * config/config.guess: update from config.
82857
82858         * config/srclistvars.sh: GNUWWWLICENSES for karl.
82859
82860 2004-01-20  Bruno Haible  <bruno@clisp.org>
82861
82862         Safer stack allocation.
82863         * lib/setenv.c: Include allocsa.h.
82864         (alloca): Remove fallback definition.
82865         (freea): Remove macro.
82866         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
82867         instead of freea.
82868
82869 2004-01-20  Bruno Haible  <bruno@clisp.org>
82870
82871         * m4/eealloc.m4: New file, from GNU gettext.
82872
82873 2004-01-20  Bruno Haible  <bruno@clisp.org>
82874
82875         * m4/allocsa.m4: New file, from GNU gettext.
82876
82877 2004-01-20  Bruno Haible  <bruno@clisp.org>
82878
82879         * lib/xallocsa.h: New file, from GNU gettext.
82880         * lib/xallocsa.c: New file, from GNU gettext.
82881
82882 2004-01-20  Bruno Haible  <bruno@clisp.org>
82883
82884         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
82885
82886 2004-01-20  Bruno Haible  <bruno@clisp.org>
82887
82888         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
82889         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
82890         specially.
82891
82892 2004-01-20  Bruno Haible  <bruno@clisp.org>
82893
82894         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
82895         patch.
82896
82897 2004-01-20  Bruno Haible  <bruno@clisp.org>
82898
82899         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
82900
82901 2004-01-20  Bruno Haible  <bruno@clisp.org>
82902
82903         * lib/eealloc.h: New file.
82904
82905 2004-01-20  Bruno Haible  <bruno@clisp.org>
82906
82907         * lib/binary-io.h: Avoid warnings on Cygwin.
82908
82909 2004-01-20  Bruno Haible  <bruno@clisp.org>
82910
82911         * lib/allocsa.h: New file, from GNU gettext.
82912         * lib/allocsa.c: New file, from GNU gettext.
82913
82914 2004-01-18  Karl Berry  <karl@gnu.org>
82915
82916         * doc/gpl.texi, doc/lgpl.texi: new files.
82917
82918 2004-01-18  Karl Berry  <karl@gnu.org>
82919
82920         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
82921         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
82922
82923 2004-01-15  Paul Eggert  <eggert@twinsun.com>
82924
82925         Merge from coreutils.
82926
82927         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
82928         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
82929         (gl_DEFAULT_POSIX2_VERSION): Move
82930         the documentation from 'configure' into 'config.hin',
82931         so that 'configure --help' isn't burdened by it and
82932         we don't have to worry about its formatting there.
82933         Reword the documentation so that it's more succinct
82934         and can be run together into a single paragraph.
82935         * m4/same.m4 (gl_SAME): Check for pathconf.
82936
82937 2004-01-15  Paul Eggert  <eggert@twinsun.com>
82938
82939         Merge from coreutils.
82940
82941         * lib/posixver.c: Include posixver.h.
82942
82943         * lib/same.c: Include <stdbool.h>, <limits.h>.
82944         (_POSIX_NAME_MAX): Define if not defined.
82945         (MIN): New macro.
82946         (same_name): If file names are silently truncated, report
82947         that the file names are the same if they are the same after
82948         the silent truncation.
82949
82950         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
82951         conversion function.
82952         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
82953         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
82954         longer needed.
82955
82956 2004-01-15  Jim Meyering  <jim@meyering.net>
82957
82958         Merge from coreutils.
82959
82960         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
82961         if no library is required.
82962         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
82963         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
82964         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
82965         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
82966         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
82967         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
82968         value, $ac_cv_search_crypt, if it's "none required".
82969         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
82970         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
82971         not gl_FUNC_GETLOADAVG.
82972         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
82973         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
82974
82975 2004-01-15  Jim Meyering  <jim@meyering.net>
82976
82977         Merge from coreutils.
82978
82979         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
82980         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
82981         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
82982
82983         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
82984         optional configure-time default.
82985
82986         * lib/version-etc.c (version_etc_copyright): Update copyright date.
82987
82988         * lib/xreadlink.c (xreadlink): Correct outdated comment.
82989
82990 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
82991
82992         Merge from coreutils.
82993
82994         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
82995         value, $ac_cv_search_nanosleep, if it's "none required".
82996
82997 2004-01-14  Paul Eggert  <eggert@twinsun.com>
82998
82999         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
83000         with like-named macro in fnmatch.c.
83001         (EXT): Use an internal constant instead.
83002
83003         Merge fnmatch patches from glibc.
83004         * lib/fnmatch.c (mbsinit): Remove define.
83005         Add libc_hidden_ver (__fnmatch, fnmatch).
83006         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
83007         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
83008
83009 2004-01-14  Karl Berry  <karl@gnu.org>
83010
83011         * config/install-sh: update from automake.
83012
83013 2004-01-13  Karl Berry  <karl@gnu.org>
83014
83015         * config/install-sh: update from automake.
83016
83017 2004-01-09  Karl Berry  <karl@gnu.org>
83018
83019         * config/install-sh: update from automake.
83020
83021 2004-01-05  Karl Berry  <karl@gnu.org>
83022
83023         * config/config.{sub,guess}: update from config.
83024
83025 2003-12-31  Karl Berry  <karl@gnu.org>
83026
83027         * config/depcomp: update from automake.
83028
83029 2003-12-14  Karl Berry  <karl@gnu.org>
83030
83031         * lib/config.charset: update from gettext-runtime.
83032
83033 2003-12-03  Paul Eggert  <eggert@twinsun.com>
83034
83035         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
83036         Bug reported by Alfred M. Szmidt.
83037
83038 2003-12-03  Bruno Haible  <bruno@clisp.org>
83039
83040         * m4/gettext.m4: Upgrade from gettext-0.13.
83041         * m4/po.m4: Upgrade from gettext-0.13.
83042         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
83043         * m4/intmax.m4: New file, from gettext-0.13.
83044         * m4/printf-posix.m4: New file, from gettext-0.13.
83045
83046 2003-11-29  Karl Berry  <karl@gnu.org>
83047
83048         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
83049
83050 2003-11-25  Paul Eggert  <eggert@twinsun.com>
83051             Bruno Haible  <bruno@clisp.org>
83052
83053         * lib/printf-parse.h: Don't include sys/types.h.
83054         (ARG_NONE): New macro.
83055         (char_directive): Change type of *arg_index fields to size_t.
83056         * lib/printf-parse.c: Don't include sys/types.h.
83057         (SSIZE_MAX): Remove macro.
83058         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
83059         Remove unnecessary overflow check.
83060         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
83061         fields.
83062
83063 2003-11-25  Bruno Haible  <bruno@clisp.org>
83064
83065         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
83066
83067 2003-11-25  Bruno Haible  <bruno@clisp.org>
83068
83069         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
83070         gt_TYPE_SSIZE_T.
83071
83072 2003-11-24  Paul Eggert  <eggert@twinsun.com>
83073
83074         * modules/alloca: Remove dependency on xalloc.
83075
83076 2003-11-24  Paul Eggert  <eggert@twinsun.com>
83077
83078         * lib/alloca.c: Remove dependency on xalloc module.
83079         (xalloc_die): Remove.
83080         (memory_full) [!defined emacs]: New macro.
83081         [!defined emacs]: Don't include xalloc.h.
83082         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
83083         address arithmetic overflows.  Change datatypes a bit to avoid
83084         unnecessary casts.
83085
83086 2003-11-22  Jim Meyering  <jim@meyering.net>
83087
83088         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
83089         s/size/size_t/.
83090
83091 2003-11-21  Karl Berry  <karl@gnu.org>
83092
83093         * config/config.{sub,guess}: update from config.
83094
83095 2003-11-18  Karl Berry  <karl@gnu.org>
83096
83097         * config/config.{sub,guess}: update from config.
83098
83099         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
83100
83101 2003-11-17  Paul Eggert  <eggert@twinsun.com>
83102
83103         * README: Mention that S+T cannot overflow if S is the size of
83104         an existing object and T is sufficiently small.
83105
83106 2003-11-17  Jim Meyering  <jim@meyering.net>
83107
83108         On systems without utime and without a utimes function capable of
83109         dealing with a NULL struct utimbuf* argument, this utime replacement
83110         could -- in unusual circumstances -- leak a file descriptor.
83111         * lib/utime.c: Include <unistd.h> and <errno.h>.
83112         (utime_null): Be sure to close `fd' and to preserve errno.
83113         Reported by Geoff Collyer via Arnold Robbins.
83114
83115 2003-11-17  Bruno Haible  <bruno@clisp.org>
83116
83117         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
83118         (Depends-on): Add xsize.
83119
83120 2003-11-17  Bruno Haible  <bruno@clisp.org>
83121
83122         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
83123
83124 2003-11-17  Bruno Haible  <bruno@clisp.org>
83125
83126         * lib/vasnprintf.c (alloca): Remove fallback definition.
83127         (freea): Remove definition.
83128         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
83129         Reported by Paul Eggert.
83130
83131 2003-11-16  Paul Eggert  <eggert@twinsun.com>
83132             Bruno Haible  <bruno@clisp.org>
83133
83134         Protect against address arithmetic overflow.
83135         * lib/printf-args.h: Include stddef.h.
83136         (arguments): Change type of field 'count' to size_t.
83137         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
83138         'unsigned int' where appropriate.
83139         * lib/printf-parse.h: Include sys/types.h.
83140         (char_directive): Change type of *arg_index fields to ssize_t.
83141         (char_directives): Change type of fields 'count', max_*_length to
83142         size_t.
83143         * lib/printf-parse.c: Include sys/types.h and xsize.h.
83144         (SSIZE_MAX): Define fallback value.
83145         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
83146         instead of 'int' where appropriate. Check a_allocated, d_allocated
83147         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
83148         * lib/vasnprintf.c: Include xsize.h.
83149         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
83150         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
83151         overflow. Avoid wraparound when converting a width or precision from
83152         decimal to binary.
83153
83154 2003-11-16  Bruno Haible  <bruno@clisp.org>
83155
83156         Update from GNU gettext.
83157         * lib/printf-parse.c: Generalize to it can be compiled for wide
83158         strings.
83159         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
83160         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
83161         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
83162         SNPRINTF): New macros.
83163         Don't include <alloca.h> if the file is used inside libintl.
83164         (local_wcslen): New function, for Solaris 2.5.1.
83165         (VASNPRINTF): Use it instead of wcslen.
83166
83167 2003-11-16  Bruno Haible  <bruno@clisp.org>
83168
83169         * lib/xsize.h (xmax): New function.
83170         (xsum, xsum3, xsum4): Declare as "pure" functions.
83171
83172 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83173
83174         * modules/xalloc (Files): Undo latest change, since xalloc.h
83175         no longer needs SIZE_MAX or PTRDIFF_MAX.
83176
83177 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83178
83179         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
83180         gl_PTRDIFF_MAX.
83181
83182 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83183
83184         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
83185         "return", to pacify some unknown compiler.  Problem reported
83186         by Joerg Schilling.
83187
83188 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83189
83190         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
83191         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
83192         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
83193         heuristic is just as accurate as far as we know, and it removes a
83194         dependency on size_max.m4 and ptrdiff_max.m4.
83195
83196 2003-11-11  Bruno Haible  <bruno@clisp.org>
83197
83198         * modules/xsize (Files): Add m4/size_max.m4.
83199         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
83200
83201 2003-11-11  Bruno Haible  <bruno@clisp.org>
83202
83203         * m4/size_max.m4: New file.
83204         * m4/ptrdiff_max.m4: New file.
83205         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
83206         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
83207         (gl_XALLOC): Invoke it.
83208
83209 2003-11-11  Bruno Haible  <bruno@clisp.org>
83210
83211         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
83212         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
83213         defined.
83214
83215 2003-11-10  Paul Eggert  <eggert@twinsun.com>
83216
83217         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
83218         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
83219         rejected some allocations of exactly SIZE_MAX - 2 bytes.
83220         From Bruno Haible.
83221         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
83222         not (size_t) -1, since it's defined here.
83223
83224 2003-11-09  Karl Berry  <karl@gnu.org>
83225
83226         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
83227
83228 2003-11-06  Paul Eggert  <eggert@twinsun.com>
83229
83230         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
83231         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
83232         Reject sizes of exactly SIZE_MAX bytes.
83233         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
83234         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
83235
83236 2003-11-05  Bruno Haible  <bruno@clisp.org>
83237
83238         * lib/xsize.h: Include limits.h, to avoid a possible collision with
83239         SIZE_MAX defined in <limits.h> on Solaris.
83240
83241 2003-11-04  Jim Meyering  <jim@meyering.net>
83242
83243         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
83244         variable names, rather than @VAR@.
83245         * modules/poll: Likewise.
83246
83247 2003-11-04  Bruno Haible  <bruno@clisp.org>
83248
83249         * modules/xsize: New file.
83250         * modules/linebreak: Depend on xsize.
83251         * MODULES.html.sh (func_all_modules): Add xsize.
83252
83253 2003-11-04  Bruno Haible  <bruno@clisp.org>
83254
83255         * m4/xsize.m4: New file.
83256
83257 2003-11-04  Bruno Haible  <bruno@clisp.org>
83258
83259         * lib/xsize.h: New file.
83260         * lib/linebreak.c: Include xsize.h.
83261         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
83262         argument for overflow.
83263         Suggested by Paul Eggert.
83264
83265 2003-11-03  Karl Berry  <karl@gnu.org>
83266
83267         * config/config.{guess,sub}: update from config.
83268
83269 2003-11-03  Jim Meyering  <jim@meyering.net>
83270
83271         * modules/userspec (lib_SOURCES): Add userspec.h.
83272         (Include): Add "userspec.h".
83273         Improve description.
83274
83275 2003-11-03  Jim Meyering  <jim@meyering.net>
83276
83277         * lib/userspec.c: Include "userspec.h".
83278         * lib/userspec.h: New file.
83279
83280 2003-11-03  Bruno Haible  <bruno@clisp.org>
83281
83282         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
83283
83284 2003-11-03  Bruno Haible  <bruno@clisp.org>
83285
83286         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
83287         available, to avoid (extremely rare) race condition.
83288         Suggested by Paul Eggert.
83289
83290 2003-11-02  Karl Berry  <karl@gnu.org>
83291
83292         * config/srclist.txt (vasprintf.c): sync broken, sigh.
83293
83294 2003-10-31  Paul Eggert  <eggert@twinsun.com>
83295
83296         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
83297         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
83298         (read_filesystem_list): Set and use me_type_malloced.
83299         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
83300         whatever the type happens to be), for brevity and consistency.
83301         Check for size calculation overflow on Alphas running OSF/1.
83302
83303 2003-10-31  Jim Meyering  <jim@meyering.net>
83304
83305         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
83306
83307         * lib/linebuffer.c: Include <string.h> for declaration of memset.
83308
83309 2003-10-30  Paul Eggert  <eggert@twinsun.com>
83310             Bruno Haible  <bruno@clisp.org>
83311
83312         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
83313         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
83314
83315 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83316
83317         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
83318         netbsd*-gnu*.  Suggested by Robert Millan.
83319
83320 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83321
83322         * modules/group-member: Depend on stdbool.
83323
83324 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83325
83326         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
83327
83328 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83329
83330         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
83331         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
83332         after the 'gnu' in these cases.  This fixes some bugs in the
83333         previous change, and is based on suggestions by Robert Millan.
83334
83335 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83336
83337         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
83338         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
83339         no longer needed.
83340         * lib/quotearg.c (quotearg_n_options): Use it.
83341         * lib/group-member.c: Include <stdbool.h>.
83342         (free_group_info): Arg is now const *; don't free arg.
83343         (get_group_info): Now returns bool and accepts struct group_info *,
83344         rather than returning a malloc'ed struct group_info *.
83345         All uses changed.  Check for overflow in internal size calculation.
83346
83347         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
83348         rather than xmalloc/xrealloc.
83349         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
83350         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
83351         conformance bug: the old code used a pointer after freeing the
83352         storage that it addressed.
83353         * lib/hash.c (hash_initialize): Simplify the code by using
83354         xalloc_oversized rather than doing it by hand.
83355         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
83356         the buffer preserved.  Use free and xmalloc instead.
83357         * lib/quotearg.c (quotearg_n_options): Likewise.
83358         Use a simpler test for size overflow.  Don't use xalloc_oversized
83359         because unsigned int might be wider than size_t (!); this suggests
83360         that we should switch from unsigned int to size_t for slot numbers.
83361
83362 2003-10-28  Paul Eggert  <eggert@twinsun.com>
83363
83364         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
83365         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
83366         NetBSD kernels.  Requested by Richard Stallman.
83367
83368 2003-10-27  Paul Eggert  <eggert@twinsun.com>
83369
83370         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
83371         to allocate the returned structure.  Do not allocate a subarray,
83372         as x2nrealloc will do that.
83373         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
83374         instead of xnrealloc.
83375         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
83376
83377 2003-10-27  Bruno Haible  <bruno@clisp.org>
83378
83379         * lib/stdbool_.h: Better support for BeOS.
83380
83381 2003-10-26  Paul Eggert  <eggert@twinsun.com>
83382
83383         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
83384         now uses inline.
83385
83386 2003-10-26  Paul Eggert  <eggert@twinsun.com>
83387
83388         * lib/xalloc.h (xalloc_oversized): New static inline function, for
83389         callers that want to do their own size-overflow checking.  Include
83390         <stdbool.h>, since xalloc_oversized returns bool.
83391         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
83392         to use xalloc_oversized.
83393
83394         Add two functions x2realloc, x2nrealloc, for programs that grow
83395         arrays dynamically by doubling their sizes.
83396         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
83397         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
83398         New functions.
83399
83400         Port to C99 semantics for 'inline' of external functions.
83401         Bug reported by Bruno Haible.
83402         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
83403         with the old contents of xnmalloc.
83404         (xnmalloc, xmalloc): Use it.
83405         (xnrealloc_inline): New static inline function,
83406         with the old contents of xnrealloc.
83407         (xnrealloc, xrealloc): Use it.
83408
83409         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
83410         that.
83411
83412 2003-10-26  Karl Berry  <karl@gnu.org>
83413
83414         * config/srclist.txt (COPYING.DOC): no longer available from
83415         /gd/gnuorg; don't know where the ultimate source is.
83416
83417 2003-10-25  Paul Eggert  <eggert@twinsun.com>
83418
83419         Fix several address-calculation bugs in the hash modules,
83420         plus some minor code cleanup.
83421
83422         * lib/hash.h: Include <stdbool.h>, for bool.
83423         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
83424         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
83425         hash_get_n_entries, hash_get_max_bucket_length,
83426         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
83427         hash_rehash): Use size_t rather than unsigned.
83428         * lib/hash.c (struct hash_table, hash_get_n_buckets,
83429         hash_get_n_buckets_used, hash_get_n_entries,
83430         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
83431         hash_get_entries, hash_do_for_each, hash_string, is_prime,
83432         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
83433         Likewise.
83434         (SIZE_MAX): Define if not defined.
83435         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
83436         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
83437         hash_print):
83438         Use const * when possible.
83439         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
83440         (check_tuning): Fix bug: if tuning parameters were very close to
83441         0 or 1, rounding errors could have caused subscript violations.
83442         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
83443         (hash_initialize): Add 'fail:' label
83444         to free table and return NULL, and use it to simplify code.
83445         Use calloc rather than clearing the storage ourself.
83446         (hash_initialize, hash_rehash): Check for arithmetic overflow in
83447         buffer size calculations.
83448         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
83449         Include <stddef.h>, for size_t.
83450         * lib/hash-pjw.c (hash_pjw): Likewise.
83451         Switch to method described by Bruno Haible.
83452         Include <limits.h>, for CHAR_BIT.
83453         (SIZE_BITS): New macro.
83454
83455 2003-10-23  Paul Eggert  <eggert@twinsun.com>
83456
83457         * m4/getline.m4 (AM_FUNC_GETLINE):
83458         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
83459         hosts.  Problem reported by Derek Robert Price in
83460         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
83461         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
83462         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
83463
83464 2003-10-21  Paul Eggert  <eggert@twinsun.com>
83465
83466         * lib/getndelim2.c (getndelim2): When size calculation overflows,
83467         ceiling the allocation at NMAX bytes rather than silently
83468         discarding input bytes before NMAX is reached.  This makes
83469         a difference only if NMAX exceeds SIZE_MAX / 2.
83470
83471         * lib/obstack.c: Merge from glibc.
83472         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
83473         Add libc_hidden_def (_obstack_newchunk).
83474         (_obstack_free) [! defined _LIBC]: Remove.
83475         [defined _LIBC]: Make a strong alias from obstack_free, rather than
83476         a clone of the function body.
83477         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
83478         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
83479
83480         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
83481         glibc.
83482         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
83483         arg to memcpy.
83484
83485         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
83486         (obstack_ptr_grow_fast, obstack_int_grow_fast):
83487         Don't use lvalue casts, as GCC plans to remove support for them
83488         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
83489         was also present in the non-GCC version, indicating that this
83490         code had always been buggy and had never been widely used.
83491         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
83492         Use the fast variant of each macro, rather than copying the
83493         definiens of the fast variant; that way, we'll be more likely to
83494         catch future bugs in the fast variants.
83495
83496 2003-10-20  Bruno Haible  <bruno@clisp.org>
83497
83498         * modules/wait-process: New file.
83499         * MODULES.html.sh (func_all_modules): Add wait-process.
83500
83501 2003-10-20  Bruno Haible  <bruno@clisp.org>
83502
83503         * m4/wait-process.m4: New file.
83504
83505 2003-10-20  Bruno Haible  <bruno@clisp.org>
83506
83507         * lib/wait-process.h: New file, from GNU gettext.
83508         * lib/wait-process.c: New file, from GNU gettext.
83509
83510 2003-10-19  Jim Meyering  <jim@meyering.net>
83511
83512         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
83513         HPUX 10.20.
83514
83515 2003-10-18  Karl Berry  <karl@gnu.org>
83516
83517         * config/config.guess: update from config.
83518
83519 2003-10-16  Paul Eggert  <eggert@twinsun.com>
83520
83521         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
83522         (getgroups): First arg is int, not size_t.
83523         Don't let 'free' mangle errno.
83524
83525 2003-10-16  Paul Eggert  <eggert@twinsun.com>
83526
83527         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
83528
83529 2003-10-16  Karl Berry  <karl@gnu.org>
83530
83531         * config/config.{guess,sub}: update from config.
83532
83533 2003-10-16  Jim Meyering  <jim@meyering.net>
83534
83535         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
83536         memcpy.
83537
83538 2003-10-15  Paul Eggert  <eggert@twinsun.com>
83539
83540         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
83541         (SIZE_MAX): Remove.
83542         (new_exclude, add_exclude_file): Initial size no longer needs to
83543         be a power of 2.
83544         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
83545         our own address arithmetic overflow checking.
83546
83547         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
83548         (fnmatch): Do not alloca more than 2000 wide characters;
83549         instead, use malloc for large buffers.
83550         Check for address arithmetic overflow, and return -1
83551         with errno set to ENOMEM in that case.
83552         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
83553         (NEW_PATTERN): Do not alloca more than 8000 bytes;
83554         instead, return -1.  Check for address arithmetic overflow.
83555
83556 2003-10-14  Paul Eggert  <eggert@twinsun.com>
83557
83558         Handle invalid suffixes and overflow independently, so that
83559         callers can treat them independently as needed.  Fix some bugs in
83560         suffix handling, e.g., "100k@" was not diagnosed as an invalid
83561         suffix for a human-readable blocksize.  The major caller-visible
83562         change is the addition of a new
83563         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
83564         that both overflow and suffix chars were found.
83565
83566         * lib/human.c (humblock): Don't check separately for invalid suffix
83567         char; that is xstrtoumax's job (now that its bug is fixed).
83568         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
83569         INTMAX_MAX]: New macros.
83570         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
83571         TYPE_MAXIMUM): New macros.
83572         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
83573         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
83574         if overflow occurs, as it's what __strtol does and it's more useful
83575         in practice.
83576         (__xstrtol): If __strtol reports some error other than ERANGE,
83577         reflect it to the caller as LONGINT_INVALID.  If it reports
83578         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
83579         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
83580         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
83581         value.
83582         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
83583         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
83584         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
83585         [defined UINTMAX_MAX]: New macros.
83586
83587 2003-10-14  Bruno Haible  <bruno@clisp.org>
83588
83589         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
83590
83591 2003-10-14  Bruno Haible  <bruno@clisp.org>
83592
83593         * m4/sig_atomic_t: New file, from GNU gettext.
83594         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
83595
83596 2003-10-14  Bruno Haible  <bruno@clisp.org>
83597
83598         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
83599         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
83600         Also use volatile where needed.
83601
83602 2003-10-12  Paul Eggert  <eggert@twinsun.com>
83603
83604         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
83605         Change maintainer from Bruno Haible to 'all'.
83606
83607 2003-10-12  Paul Eggert  <eggert@twinsun.com>
83608
83609         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
83610
83611 2003-10-12  Paul Eggert  <eggert@twinsun.com>
83612
83613         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
83614         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
83615         and define in terms of the other primitives.
83616         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
83617         (SIZE_MAX): Define if not already defined.
83618         (array_size_overflow): New function.
83619         (xalloc_die): Abort instead of exiting if 'error' returns.
83620         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
83621         (xmalloc, xrealloc): Use them.
83622         (xcalloc): Check for address arithmetic overflow.
83623         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
83624         a bit faster than strcpy.
83625
83626 2003-10-10  Simon Josefsson  <jas@extundo.com>
83627
83628         * modules/argp (Depends-on): Add restrict and strcase.
83629
83630 2003-10-10  Simon Josefsson  <jas@extundo.com>
83631
83632         * m4/argp.m4: Add AC_C_INLINE.
83633
83634 2003-10-08  Paul Eggert  <eggert@twinsun.com>
83635
83636         Merge getpass from libc, plus a few fixes.
83637
83638         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
83639         Include <stdbool.h>.
83640         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
83641         __fsetlocking to empty.
83642         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
83643         do include <bits/libc-lock.h>.
83644         Do not include <fcntl.h>; not needed.
83645         [_LIBC]: Include <wchar.h>.
83646         (NOTCANCEL_MODE): New macro.
83647         (flockfile, funlockfile) [_LIBC]: New macros.
83648         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
83649         [!_LIBC]: New macros.
83650         (call_fclose): New function.
83651         (getpass): Use it.  Save tty stream separately; this simplifies the
83652         code and makes it more reliable if stdin happens to equal stdout.
83653         Invoke __fsetlocking on tty.
83654         Handle thread cancellation if needed.
83655         Namespace cleanup (use __tcgetattr, __getline).
83656         Use bool for Booleans.
83657         [USE_IN_LIBIO]: Handle wide streams.
83658         [!_LIBC]: Unconditionally do the fseek, since we don't know what
83659         stream might go where.
83660
83661         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
83662         doesn't have to include <stdio.h> before us.
83663         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
83664         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
83665         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
83666         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
83667         if not declared, so that we can use getpass.c code from libc without
83668         rewriting it.
83669         (flockfile, ftrylockfile, funlockfile): New macros.
83670
83671 2003-10-08  Paul Eggert  <eggert@twinsun.com>
83672
83673         * modules/getpass: Depend on stdbool.
83674
83675 2003-10-08  Paul Eggert  <eggert@twinsun.com>
83676
83677         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
83678
83679 2003-10-07  Karl Berry  <karl@gnu.org>
83680
83681         * config/config.{guess,sub}: update from config.
83682
83683 2003-10-06  Jim Meyering  <jim@meyering.net>
83684             Bruno Haible  <bruno@clisp.org>
83685
83686         This lets translators provide better translations for the
83687         "Written by ..." part of --version output.
83688         * lib/version-etc.h: Include stdarg.h.
83689         (version_etc_copyright): Declare as readonly.
83690         (version_etc): Make this function variadic with a NULL-terminated list
83691         of author name strings.
83692         (version_etc_va): New declaration.
83693         * lib/version-etc.c: Include stdarg.h, stdlib.h.
83694         (version_etc_copyright): Declare as readonly.
83695         (version_etc_va): New function. Provide a different translatable string
83696         for each possible number of authors < 10. Abbreviate when there are 10
83697         authors or more.
83698         (version_etc): Make this function variadic. Call version_etc_va.
83699         Suggestion from Gary V. Vaughan.
83700
83701         * lib/long-options.h (parse_long_options): Change prototype: the
83702         authors string is moved to the end and becomes variadic.
83703         * lib/long-options.c: Include stdarg.h.
83704         (parse_long_options): Make this function variadic, too.
83705         Call version_etc_va, not version_etc.
83706
83707 2003-10-06  Bruno Haible  <bruno@clisp.org>
83708
83709         * modules/version-etc-2: Remove file.
83710         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
83711
83712 2003-10-06  Bruno Haible  <bruno@clisp.org>
83713
83714         * modules/fatal-signal: New file.
83715         * MODULES.html.sh (func_all_modules): Add fatal-signal.
83716
83717 2003-10-06  Bruno Haible  <bruno@clisp.org>
83718
83719         * m4/fatal-signal.m4: New file.
83720         * m4/signalblocking.m4: New file, from GNU gettext.
83721
83722 2003-10-06  Bruno Haible  <bruno@clisp.org>
83723
83724         * lib/version-etc-2.h: Remove file.
83725         * lib/version-etc-2.c: Remove file.
83726
83727 2003-10-06  Bruno Haible  <bruno@clisp.org>
83728
83729         * lib/fatal-signal.h: New file, from GNU gettext.
83730         * lib/fatal-signal.c: New file, from GNU gettext.
83731
83732 2003-10-05  Paul Eggert  <eggert@twinsun.com>
83733
83734         * README: Rework advice for preventing empty .o files.
83735         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
83736         not <sys/types.h>.
83737
83738 2003-10-04  Karl Berry  <karl@gnu.org>
83739
83740         * lib/argp*: update from libc.
83741
83742 2003-10-04  Karl Berry  <karl@gnu.org>
83743
83744         * config/config.{guess,sub}: update from config.
83745
83746 2003-10-02  Bruno Haible  <bruno@clisp.org>
83747
83748         * modules/lchown (Include): Add lchown.h.
83749         * modules/time_r (Include): Use "..." syntax.
83750         * modules/xgetdomainname (Include): Add xgetdomainname.h.
83751
83752 2003-10-01  Simon Josefsson  <jas@extundo.com>
83753
83754         * MODULES.html.sh (func_all_modules): Move gethostname from section
83755         'based on' to section 'lacking' POSIX:2001.
83756
83757 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
83758
83759         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
83760         to output mode on the same stream.
83761
83762 2003-09-29  Paul Eggert  <eggert@twinsun.com>
83763
83764         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
83765         Fix arg typo in previous patch.
83766
83767 2003-09-28  Jim Meyering  <jim@meyering.net>
83768
83769         * lib/error.c: Correct cpp indentation.
83770
83771 2003-09-27  Paul Eggert  <eggert@twinsun.com>
83772
83773         * modules/free: New file.
83774
83775 2003-09-27  Paul Eggert  <eggert@twinsun.com>
83776
83777         * m4/free.m4: New file.
83778
83779 2003-09-27  Paul Eggert  <eggert@twinsun.com>
83780
83781         * lib/minmax.h (MIN, MAX)
83782         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
83783         Omit the special code that used __typeof__, since we worry that
83784         it could be more trouble than it's worth.  See:
83785         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
83786         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
83787
83788         * lib/free.c: New file.
83789
83790 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
83791
83792         Trivial fixes to Makefile.am parts of module listings.
83793         * modules/strstr: Append strstr.h to lib_SOURCES.
83794         * modules/strcase: Likewise, for strcase.h.
83795
83796 2003-09-27  Karl Berry  <karl@gnu.org>
83797
83798         * config/mkinstalldirs: update from automake.
83799
83800 2003-09-26  Paul Eggert  <eggert@twinsun.com>
83801
83802         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
83803         (error_tail): Do not loop, reallocating temporary buffer, since
83804         the output cannot contain more wide characters than the input
83805         contains bytes, the size must be big enough already.  This avoids
83806         one potential size overflow calculation.  Check for size overflow
83807         when calculating temporary buffer size.  Free temporary buffer
83808         when done, if it was allocated with malloc; this plugs a memory
83809         leak.  Remove casts from void * to pointers, that are no longer
83810         needed now that we're assuming C89 or better.
83811
83812         Merge error changes from glibc.
83813
83814         * lib/error.c, error.h: Update copyright notice header to match glibc.
83815         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
83816         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
83817         Disable cancellation while printing error.
83818         * lib/error.h: Prepend __ to parameter names.
83819
83820 2003-09-26  Jim Meyering  <jim@meyering.net>
83821
83822         * lib/error.c (error_tail): Move some declarations
83823         into inner scope where the local variables are used.
83824
83825 2003-09-26  Bruno Haible  <bruno@clisp.org>
83826
83827         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
83828         stpncpy().
83829         Don't define stpncpy through config.h; it's now done through stpncpy.h.
83830
83831 2003-09-26  Bruno Haible  <bruno@clisp.org>
83832
83833         * lib/stpncpy.h (gnu_stpncpy): New declaration.
83834         (stpncpy): Define as alias for gnu_stpncpy.
83835         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
83836
83837 2003-09-25  Simon Josefsson  <jas@extundo.com>
83838
83839         * lib/xgetdomainname.h: New file.
83840         * lib/xgetdomainname.c: New file.
83841
83842 2003-09-25  Simon Josefsson  <jas@extundo.com>
83843             Bruno Haible  <bruno@clisp.org>
83844
83845         * modules/getdomainname: New file.
83846         * modules/xgetdomainname: New file.
83847         * MODULES.html.sh (func_all_modules): Add getdomainname,
83848         xgetdomainname.
83849
83850 2003-09-25  Simon Josefsson  <jas@extundo.com>
83851             Bruno Haible  <bruno@clisp.org>
83852
83853         * m4/getdomainname.m4: New file.
83854
83855 2003-09-25  Simon Josefsson  <jas@extundo.com>
83856             Bruno Haible  <bruno@clisp.org>
83857
83858         * lib/getdomainname.h: New file.
83859         * lib/getdomainname.c: New file.
83860
83861 2003-09-25  Karl Berry  <karl@gnu.org>
83862
83863         * lib/argp-fmtstream.c, argp-help.c: update from libc.
83864
83865 2003-09-25  Karl Berry  <karl@gnu.org>
83866
83867         * config/install-sh: update from automake.
83868
83869 2003-09-25  Bruno Haible  <bruno@clisp.org>
83870
83871         * modules/version-etc-2: New file, from modules/version-etc with
83872         modifications.
83873         * MODULES.html.sh (func_all_modules): Add version-etc-2.
83874
83875 2003-09-25  Bruno Haible  <bruno@clisp.org>
83876
83877         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
83878         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
83879
83880 2003-09-24  Simon Josefsson  <jas@extundo.com>
83881
83882         * modules/xgethostname: Add xgethostname.h.
83883
83884 2003-09-24  Paul Eggert  <eggert@twinsun.com>
83885
83886         * lib/linebuffer.c (freebuffer): Don't free the argument, just
83887         the buffer associated with the argument.  Bug reported by
83888         Simon Josefsson.
83889
83890 2003-09-24  Paul Eggert  <eggert@twinsun.com>
83891
83892         * README: Document assumptions that 'int' is at least 32 bits
83893         wide, that integer arithmetic is 2's complement without overflow,
83894         that there are no holes in integer values, that adding sizes of
83895         two nonoverlapping objects can't overflow, and that all-bits-zero
83896         yields scalar zero.  Fix spelling and capitalization typos.
83897
83898 2003-09-19  Karl Berry  <karl@gnu.org>
83899
83900         * lib/argp.h: update from libc.
83901
83902 2003-09-17  Paul Eggert  <eggert@twinsun.com>
83903
83904         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
83905         to avoid spurious warnings like "AC_RUN_IFELSE was called before
83906         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
83907
83908 2003-09-17  Paul Eggert  <eggert@twinsun.com>
83909
83910         * gnulib-tool: Use "test -h", not "test -L", for portability
83911         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
83912         (tags_regexp): Remove, since \| doesn't conform to POSIX.
83913         (sed_extract_prog): Issue s commands one-by-one, rather than
83914         using \| in one s command.
83915
83916 2003-09-16  Paul Eggert  <eggert@twinsun.com>
83917
83918         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
83919         input error, instead of returning NULL the next time we are called
83920         (and therefore losing track of errno).
83921
83922 2003-09-16  Bruno Haible  <bruno@clisp.org>
83923
83924         * gnulib-tool (func_create_testdir): Warn about duplicated
83925         dependencies.
83926
83927 2003-09-15  Paul Eggert  <eggert@twinsun.com>
83928
83929         * modules/argmatch, modules/fatal, modules/obstack,
83930         modules/xalloc, modules/xgethostname: Sort dependencies by
83931         importance, not alphabetically.
83932
83933 2003-09-15  Paul Eggert  <eggert@twinsun.com>
83934
83935         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
83936         fails, so that the caller gets the proper errno.
83937
83938         * lib/readutmp.c (read_utmp): Likewise.
83939         Check for fstat error.  Close stream and free storage
83940         when failing.
83941
83942 2003-09-14  Karl Berry  <karl@gnu.org>
83943
83944         * config/srclist.txt (strdup.c): disable for c89 changes.
83945
83946 2003-09-14  Jim Meyering  <jim@meyering.net>
83947
83948         * lib/getloadavg.c: Correct cpp indentation.
83949         * lib/strdup.c: Likewise.
83950         * lib/vasnprintf.c: Likewise.
83951
83952 2003-09-14  Bruno Haible  <bruno@clisp.org>
83953
83954         * modules/fwriteerror: New file.
83955         * MODULES.html.sh (func_all_modules): Add fwriteerror.
83956
83957 2003-09-14  Bruno Haible  <bruno@clisp.org>
83958
83959         * lib/fwriteerror.h: New file.
83960         * lib/fwriteerror.c: New file.
83961
83962 2003-09-12  Paul Eggert  <eggert@twinsun.com>
83963
83964         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
83965         modules/xgethostname, modules/xalloc: Depend on exit.
83966
83967 2003-09-12  Paul Eggert  <eggert@twinsun.com>
83968
83969         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
83970
83971         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
83972         and AC_MINIX, too, so that their extensions are available.
83973
83974         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
83975         This macro has been superseded by gl_BACKUPFILE.
83976
83977         More patches to assume C89 or better.
83978
83979         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
83980
83981         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
83982         unconditionally.
83983         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
83984         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
83985         Include <string.h>, <stdlib.h> unconditionally.
83986         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
83987         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
83988         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
83989         headers or for string.h.
83990         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
83991         or strtoul.
83992
83993         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
83994         headers.
83995         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
83996         * m4/userspec.m4 (gl_USERSPEC): Likewise.
83997         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
83998         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
83999         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
84000         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
84001         memcpy, memset.
84002         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
84003         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
84004         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
84005         strtol.
84006         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
84007         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
84008         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
84009         strtoul.
84010
84011 2003-09-12  Paul Eggert  <eggert@twinsun.com>
84012
84013         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
84014         * lib/obstack.c [!defined _LIBC]: Likewise.
84015         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
84016         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
84017         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
84018
84019         More changes to assume C89 or better.
84020
84021         * lib/error.c (error_tail): Assume vprintf.
84022
84023         * lib/argmatch.c (getenv): Remove decl.
84024         * lib/progreloc.c (get_full_program_name): Define via prototype.
84025         * lib/setenv.c (clearenv): Likewise.
84026         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
84027         needed.
84028         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
84029         (malloc, memcpy): Remove decls.
84030         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
84031         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
84032         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
84033         (memcpy): Remove macro.
84034         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
84035         (__P): Remove.  All uses removed.
84036         (PTR): Remove.  All uses changed to void *.
84037         (CHAR_BIT, NULL): Remove.
84038         (spaces, zeros, memset_space, memset_zero)
84039         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
84040         Remove.
84041         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
84042         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
84043         Define with prototype.
84044         Remove now-unnecessary prototype decl.
84045         (extra_args_spec): Assume ANSI C.  All uses changed.
84046         (extra_args_spec_iso): Remove.
84047         (my_strftime, emacs_strftimeu): Define via prototype.
84048         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
84049         unconditionally.
84050         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
84051         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
84052         (strtoul, strtol): Remove decls.
84053         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
84054         LONG_MAX): Remove.
84055         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
84056         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
84057         (LOCALE_PARAM_PROTO): New macro.
84058         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
84059         (INTERNAL (strtol), strtol): Define with a prototype.
84060         (PARAMS): Remove.  All uses removed.
84061         * lib/tempname.c: Include <string.h> unconditionally.
84062         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
84063         * lib/xgethostname.c (main): Define with a prototype.
84064         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
84065         Include <stdlib.h> unconditionally.
84066         (calloc, malloc, realloc, free): Remove decls.
84067         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
84068         Include <stdlib.h> unconditionally.  Sort include file names.
84069         (strtod): Remove.
84070         (xstrtod): Define with a prototype.
84071         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
84072         (strtol, strtoul): Remove decls.
84073
84074 2003-09-11  Paul Eggert  <eggert@twinsun.com>
84075
84076         More patches to assume C89 or better.
84077         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
84078         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
84079         string.h, memchr, STDC_HEADERS.
84080
84081 2003-09-11  Paul Eggert  <eggert@twinsun.com>
84082
84083         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
84084         Include <stdlib.h>, <string.h> unconditionally.
84085         Remove now-unnecessary cast to char *.
84086         * lib/strnlen.c: Include <string.h> unconditionally.
84087         * lib/yesno.c (yesno): Define with a prototype.
84088
84089 2003-09-11  Bruno Haible  <bruno@clisp.org>
84090
84091         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
84092
84093 2003-09-10  Jim Meyering  <jim@meyering.net>
84094
84095         * lib/error.c: Correct indentation of cpp directives.
84096
84097 2003-09-10  Bruno Haible  <bruno@clisp.org>
84098
84099         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
84100         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
84101         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
84102         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
84103         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
84104         <stdlib.h> and <string.h> checks.
84105         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
84106         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
84107
84108 2003-09-10  Bruno Haible  <bruno@clisp.org>
84109
84110         * lib/strcspn.c: Include <string.h> unconditionally.
84111         * lib/strpbrk.c: Include <string.h> unconditionally.
84112         * lib/strstr.c: Include <string.h> unconditionally.
84113         * lib/unicodeio.c: Include <string.h> unconditionally.
84114         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
84115         * lib/unsetenv.c: Likewise.
84116         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
84117         * lib/yesno.c: Include <stdlib.h> unconditionally.
84118         (rpmatch): Add prototype.
84119
84120 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84121
84122         More patches to assume C89 or better.
84123         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
84124         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
84125         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
84126         or for string.h.
84127         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
84128         stdlib.h.
84129         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
84130         C headers.
84131         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
84132         string.h.
84133         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
84134         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
84135         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
84136         or for string.h.
84137         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
84138         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
84139         C headers.
84140         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
84141         memcpy.
84142         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
84143         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
84144         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
84145         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
84146         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
84147         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
84148         string.h, free.
84149         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
84150         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
84151         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
84152         C headers, or for string.h.
84153         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
84154         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
84155         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
84156         headers, memory.h, stdlib.h, string.h, strings.h.
84157         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
84158         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
84159         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
84160         strchr.
84161         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
84162         headers, memory.h, string.h.
84163         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
84164         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
84165         free.
84166         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
84167         headers.
84168         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
84169         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
84170         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
84171         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
84172         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
84173
84174 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84175
84176         More K&R removal.
84177
84178         * lib/acosl.c (main): Use a prototype.
84179         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
84180         tanl.c: Likewise.
84181
84182         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
84183
84184         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
84185         (getopt, etopt_long, getopt_long_only, _getopt_internal)
84186         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
84187         with a prototype.
84188         * lib/getopt.c (const): Remove macro.
84189         Include <string.h> unconditionally.
84190         (my_index): Remove; all uses changed to strchr.
84191         (strlen): Remove decl.
84192         (exchange): Remove forward decl; no longer needed.
84193         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
84194         Define with prototype.
84195         * lib/getopt1.c (const): Remove macro.
84196         (getopt_long, getopt_long_only, main): Define with prototype.
84197
84198         * lib/getugroups.c: Include <string.h> unconditionally.
84199
84200         * lib/getusershell.c: Include <stdlib.h> unconditionally.
84201         (getusershell, setusershell, endusershell, readname, main):
84202         Define with prototypes.
84203
84204         * lib/group-member.c: Include group-member.h first.
84205         Include <stdlib.h> unconditionally.
84206
84207         * lib/hard-locale.c: Include hard-locale.h first.
84208         Include <stdlib.h>, <string.h> unconditionally.
84209
84210         * lib/hash.c (free, malloc): Remove decls.
84211         Include <stdlib.h> unconditionally.
84212
84213         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
84214         (getenv): Do not declare.
84215
84216         * lib/idcache.c: Include <string.h> unconditionally.
84217
84218         * lib/long-options.c: Include long-options.h first, to test interface.
84219         Include <stdlib.h> unconditionally.
84220
84221         * lib/makepath.c: Include makepath.h first, to test interface.
84222         Include <stdlib.h> and <string.h> unconditionally.
84223
84224         * lib/linebuffer.c: Include <stdlib.h>.
84225         (free): Remove decl.
84226
84227         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
84228         stddef.h. rpl_malloc returns void *, not char *.
84229         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
84230         prototype.
84231
84232         * lib/md5.h: Include <limits.h> unconditionally.
84233         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
84234         (__P): Remove; all uses removed.
84235         * lib/md5.c: Include "md5.h" first.
84236         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
84237         md5_buffer, md5_process_bytes, md5_process_block):
84238         Define with prototypes.
84239         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
84240         * lib/sha.c: Include "sha.h" first.
84241         Include <stdlib.h>, <string.h> unconditionally.
84242
84243         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
84244         * lib/memcmp.c (__ptr_t): Likewise.
84245         * lib/memrchr.c (__ptr_t): Likewise.
84246         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
84247         Include <string.h> unconditionally.
84248         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
84249         * lib/memchr.c: Include <stdlib.h> unconditionally.
84250         * lib/memchr.c (LONG_MAX): Remove.
84251         * lib/memrchr.c (LONG_MAX): Likewise.
84252         * lib/memchr.c (__memchr): Define via a prototype.
84253         * lib/memrchr.c (__memrchr): Likewise.
84254         * lib/memcmp.c (__P): Remove, and remove all uses.
84255         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
84256         Remove forward decls; no longer needed.
84257         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
84258         Use types required by C89 in prototype.
84259
84260         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
84261         * lib/savedir.c: Likewise.
84262         * lib/mkdir.c (free): Remove decl.
84263         * lib/rmdir.c (rmdir): Define with a prototype.
84264         * lib/savedir.c: Include savedir.h first, to test interface.
84265
84266         * lib/mktime.c (STDC_HEADERS): Remove.
84267         Include <stdlib.h>, <string.h> unconditionally.
84268
84269         * lib/modechange.c: Include <stdlib.h> unconditionally.
84270         (malloc): Remove decl.
84271
84272         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
84273         (free): Remove decl.
84274
84275         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
84276         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
84277         (This type really should be intptr_t, but that's a C99ism.)
84278         (_obstack_memcpy): Remove: all uses changed to memcpy.
84279         Include <string.h> unconditionally.
84280         (struct obstack): Assume __STDC__ for types of members
84281         chunkfun, freefun, extra_arg.
84282         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
84283         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
84284         obstack_begin, obstack_specify_allocation,
84285         obstack_specify_allocation_with_arg, obstack_chunkfun,
84286         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
84287         Remove unprototyped decls and the macros that use them.
84288         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
84289         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
84290         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
84291         (defined __STDC__ && __STDC__)]:
84292         Remove nonprototyped code.
84293         Include <stdlib.h> unconditionally.
84294         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
84295         _obstack_allocated_p, _obstack_free, obstack_free,
84296         _obstack_memory_used, print_and_abort):
84297         Define using prototypes.
84298         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
84299         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
84300         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
84301         obstack_next_free, obstack_object_size, obstack_room) [0]:
84302         Remove unused, unprototyped code.
84303
84304         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
84305
84306         * lib/physmem.c (physmem_total, physmem_available, main): Define
84307         with prototypes.
84308
84309         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
84310         (main): Define with a prototype.
84311
84312         * lib/posixver.c (getenv): Remove decl.
84313
84314         * lib/putenv.c (malloc): Returns void *, not char *.
84315         Include <string.h> unconditionally.
84316         (strchr, memcpy, NULL): Do not define.
84317
84318         * lib/readtokens.c: Include readtokens.h first, to test interface.
84319         Include <stdlib.h>, <string.h> unconditionally.
84320         (init_tokenbuffer): Define with a prototype.
84321
84322         * lib/regex.c (PARAMS): Remove.  All uses removed.
84323         All uses of _RE_ARGS removed, too.
84324         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
84325         unconditionally.
84326         (bzero): Assume memset exists.
84327         (memcmp, memcpy, NULL): Remove.
84328         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
84329         char, or assignments to local vars of type signed char.
84330         (init_syntax_once, PREFIX(extract_number_and_incr),
84331         PREFIX(print_partial_compiled_pattern),
84332         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
84333         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
84334         PREFIX(regex_grow_registers), PREFIX(regex_compile),
84335         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
84336         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
84337         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
84338         wcs_compile_range, byte_compile_range, truncate_wchar,
84339         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
84340         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
84341         count_mbs_length, wcs_re_match_2_internal,
84342         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
84343         PREFIX(alt_match_null_string_p),
84344         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
84345         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
84346         regfree, PREFIX(extract_number)): Define with prototype.  Remove
84347         now-unnecessary declaration, if any.
84348         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
84349         regcomp, regexec):
84350         Remove now-unnecessary casts among pointer types.
84351         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
84352
84353         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
84354         (free): Remove decl.
84355
84356         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
84357
84358         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
84359         (free): Remove decl.
84360
84361         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
84362         * lib/xgetcwd.c: Likewise.
84363
84364         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
84365         (free): Remove decl.
84366
84367         * lib/strchrnul.c (strchrnul): Define with a prototype.
84368         Fix bug: c_in was not converted to char before searching.
84369
84370         The following changes are not K&R related:
84371
84372         * lib/group-member.h: Include <sys/types.h>, so that this file is
84373         self-contained.
84374         * lib/makepath.h: Likewise.
84375
84376         * lib/getusershell.c (readname, default_index, line_size, readname):
84377         Use size_t, not int, for sizes.
84378         (readname): If the size overflows, report an error instead of
84379         looping forever.
84380
84381 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84382
84383         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
84384         libc.
84385
84386 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84387
84388         * README: New section: portability guidelines.
84389
84390 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
84391
84392         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
84393         C89 spec.
84394
84395 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
84396
84397         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
84398
84399 2003-09-08  Paul Eggert  <eggert@twinsun.com>
84400
84401         Assume C89 or better; remove K&R cruft.
84402         A few of these changes were first proposed by Derek Robert Price
84403         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
84404
84405         * lib/addext.c: Include <string.h> unconditionally.
84406         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
84407         Don't declare getenv or malloc.
84408
84409         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
84410         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
84411         (NULL): Remove.
84412         (find_stack_direction, alloca): Use prototypes.
84413
84414         * lib/atexit.c (atexit): Define using a prototype.
84415
84416         * lib/basename.c, dirname.c, stripslash.c:
84417         Include <string.h> unconditionally.
84418
84419         * lib/bcopy.c: Include <stddef.h>.
84420         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
84421
84422         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
84423
84424         * lib/error.h (error, error_at_line, error_print_progname)
84425         [! (defined (__STDC__) && __STDC__)]: Remove decls.
84426         * lib/error.c: Include error.h first, to check interface.
84427         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
84428         (VA_START): Remove; all uses changeed to va_start.
84429         (exit, strerror): Remove decls.
84430         (error_print_progname): Prototype uncondionally.
84431         Don't include <errno.h>; no longer needed.
84432         (private_strerror): Remove.
84433         (error_tail): Always define.
84434         (error, error_at_line): Assume C89 or better; always use prototypes.
84435         * lib/fatal.c: Include "fatal.h" first, to test interface.
84436         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
84437         (VA_START): Remove; all uses changed to va_start.
84438         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
84439         this case.
84440         (exit): Remove decl.
84441         (fatal): Prototype unconditionally.  Assume va_start works.
84442         Abort at end, to pacify gcc.
84443
84444         * lib/euidaccess.c (main): Define with a prototype.
84445
84446         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
84447
84448         * lib/exitfail.c: Include <stdlib.h> unconditionally.
84449
84450         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
84451         prototypes.
84452         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
84453         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
84454         (getenv): Remove decl.
84455         (fnmatch): Define using a prototype.
84456         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
84457         (FCT): Define using a prototype.
84458
84459         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
84460
84461         * lib/gethostname.c: Include <stddef.h>.
84462         (gethostname): Define with prototype.  Length is size_t, not int.
84463
84464 2003-09-08  Paul Eggert  <eggert@twinsun.com>
84465
84466         Assume C89 or better; remove K&R cruft.
84467         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
84468         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
84469         string.h, getenv, malloc.
84470         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
84471         headers.
84472         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
84473         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
84474         do not check for strerror.
84475         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
84476         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
84477         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
84478         do not check for doprnt or vprintf.
84479         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
84480         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
84481
84482 2003-09-08  Paul Eggert  <eggert@twinsun.com>
84483
84484         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
84485         getversion.c should have been removed then, but was accidentally
84486         preserved.
84487
84488         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
84489         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
84490
84491 2003-09-08  Karl Berry  <karl@gnu.org>
84492
84493         * config/config.sub, config.guess, srclistvars.sh: update from savannah
84494                 config, forget about prep.
84495
84496         * config/depcomp, missing: update from automake.
84497
84498 2003-09-07  Paul Eggert  <eggert@twinsun.com>
84499
84500         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
84501         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
84502
84503 2003-09-07  Paul Eggert  <eggert@twinsun.com>
84504
84505         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
84506         copy_tm_result.  Bug reported by Simon Josefsson in
84507         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
84508
84509 2003-09-06  Paul Eggert  <eggert@twinsun.com>
84510
84511         * m4/time_r.m4: New file.
84512         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
84513         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
84514         is. Check for timegm declaration.
84515         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
84516         Do not check for gmtime_r.
84517         Replace mktime if __mktime_internal does not exist and if mktime
84518         hasn't been replaced already.
84519
84520 2003-09-06  Paul Eggert  <eggert@twinsun.com>
84521
84522         * lib/time_r.c, lib/time_r.h: New files.
84523
84524         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
84525         __localtime_r.
84526         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
84527         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
84528
84529         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
84530         __gmtime_r.
84531         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
84532         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
84533         Include <time_r.h>.
84534
84535         * lib/timegm.c: Switch to glibc implementation, with the following
84536         changes:
84537         [defined HAVE_CONFIG_H]: Include <config.h>.
84538         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
84539         (__mktime_internal) [!defined _LIBC]: New decl.
84540         (__gmtime_r) [!defined _LIBC]: New macro and function.
84541         (timegm): Use a prototype, since gnulib assumes C89.
84542         Do not bother declaring tmp to be const, as it's not really usefu.
84543         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
84544         (timegm): Declare only if HAVE_DECL_TIMEGM.
84545
84546 2003-09-06  Paul Eggert  <eggert@twinsun.com>
84547
84548         * MODULES.html.sh (func_all_modules): Add time_r.
84549         * modules/time_r: New file.
84550         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
84551         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
84552
84553 2003-09-03  Paul Eggert  <eggert@twinsun.com>
84554
84555         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
84556         Bug reported by Lute Kamstra in
84557         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
84558
84559         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
84560         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
84561         course with correspondingly smaller numbers for tomorrow and
84562         yesterday.  From Tadayoshi Funaba.  Originally installed into
84563         sh-utils on 1999-08-07, but the patch got lost (I guess during the
84564         coreutils merge?).
84565
84566 2003-08-31  Simon Josefsson  <jas@extundo.com>
84567
84568         * modules/timegm: New file.
84569         * MODULES.html.sh (func_all_modules): Add timegm.
84570
84571 2003-08-31  Simon Josefsson  <jas@extundo.com>
84572
84573         * m4/timegm.m4: New file.
84574
84575 2003-08-31  Simon Josefsson  <jas@extundo.com>
84576
84577         * lib/timegm.h: New file.
84578         * lib/timegm.c: New file.  Based on
84579         wget-1.8.2/src/http.c:mktime_from_utc.
84580
84581 2003-08-31  Karl Berry  <karl@gnu.org>
84582
84583         * lib/argp.h: update from libc.
84584
84585 2003-08-28  Bruno Haible  <bruno@clisp.org>
84586
84587         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
84588         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
84589         followed by '#define fnmatch fnmatch_posix' gives an error.
84590
84591 2003-08-28  Bruno Haible  <bruno@clisp.org>
84592
84593         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
84594         warning on QNX, which defines O_BINARY to 000000.
84595
84596 2003-08-27  Jim Meyering  <jim@meyering.net>
84597
84598         * m4/mkstemp.m4: Require that the system mkstemp be able to create
84599         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
84600         would fail after 32.  Reported by Danny Levinson.  Details here:
84601         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
84602
84603 2003-08-24  Bruno Haible  <bruno@clisp.org>
84604
84605         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
84606         MSVC7 <stdio.h> is included later.
84607
84608 2003-08-22  Simon Josefsson  <jas@extundo.com>
84609
84610         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
84611
84612 2003-08-20  Karl Berry  <karl@gnu.org>
84613
84614         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
84615
84616 2003-08-20  Bruno Haible  <bruno@clisp.org>
84617
84618         * modules/progname: New file.
84619         * MODULES.html.sh (func_all_modules): Add progname.
84620
84621 2003-08-20  Bruno Haible  <bruno@clisp.org>
84622
84623         * lib/progname.h: New file, from GNU gettext.
84624         * lib/progname.c: New file, from GNU gettext.
84625         * lib/progreloc.c: New file, from GNU gettext.
84626
84627 2003-08-19  Jim Meyering  <jim@meyering.net>
84628
84629         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
84630         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
84631
84632 2003-08-19  Bruno Haible  <bruno@clisp.org>
84633
84634         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
84635         more.
84636
84637 2003-08-19  Bruno Haible  <bruno@clisp.org>
84638
84639         * lib/xstrdup.c: Assume <string.h> exists.
84640
84641 2003-08-18  Paul Eggert  <eggert@twinsun.com>
84642
84643         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
84644         in makefile rules.
84645
84646 2003-08-18  Jim Meyering  <jim@meyering.net>
84647
84648         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
84649         * m4/lib-ld.m4: Likewise.
84650
84651 2003-08-18  Jim Meyering  <jim@meyering.net>
84652
84653         * lib/setenv.h: Indent nested cpp directive.
84654         * lib/vasnprintf.c: Remove trailing blanks.
84655
84656 2003-08-17  Simon Josefsson  <jas@extundo.com>
84657
84658         * modules/xstrndup: New file.
84659         * MODULES.html.sh (func_all_modules): Add xstrndup.
84660
84661 2003-08-17  Simon Josefsson  <jas@extundo.com>
84662
84663         * modules/argp: Fix autoconf macro name. Add more dependencies.
84664
84665 2003-08-17  Simon Josefsson  <jas@extundo.com>
84666
84667         * m4/xstrndup.m4: New file.
84668
84669 2003-08-17  Simon Josefsson  <jas@extundo.com>
84670
84671         * m4/argp.m4: New file.
84672
84673 2003-08-17  Simon Josefsson  <jas@extundo.com>
84674             Bruno Haible  <bruno@clisp.org>
84675
84676         * lib/xstrndup.h: New file.
84677         * lib/xstrndup.c: New file.
84678
84679 2003-08-17  Bruno Haible  <bruno@clisp.org>
84680
84681         * modules/strndup (Files, Include): Add lib/strndup.h.
84682
84683 2003-08-17  Bruno Haible  <bruno@clisp.org>
84684
84685         * modules/euidaccess (Files): Add lib/euidaccess.h.
84686
84687 2003-08-17  Bruno Haible  <bruno@clisp.org>
84688
84689         * lib/strndup.h: New file.
84690
84691 2003-08-17  Bruno Haible  <bruno@clisp.org>
84692
84693         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
84694         like AC_GNU_SOURCE.
84695         * modules/extensions (configure.ac): Comment out the invocation of
84696         gl_USE_SYSTEM_EXTENSIONS.
84697
84698 2003-08-16  Paul Eggert  <eggert@twinsun.com>
84699
84700         Merges from coreutils, etc.
84701         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
84702         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
84703         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
84704         fixing a typo.
84705         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
84706         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
84707
84708 2003-08-16  Paul Eggert  <eggert@twinsun.com>
84709
84710         Document merge from coreutils.
84711         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
84712         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
84713         * modules/utime: Add m4/utimes-null.m4.
84714
84715 2003-08-16  Paul Eggert  <eggert@twinsun.com>
84716
84717         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
84718         space, undoing this 2003-08-12 change:
84719         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
84720
84721 2003-08-16  Paul Eggert  <eggert@twinsun.com>
84722
84723         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
84724         strtoul.c from libc, undoing this 2003-08-12 change:
84725         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
84726
84727 2003-08-16  Jim Meyering  <jim@meyering.net>
84728
84729         Merges from coreutils.
84730         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
84731         prefix.  Adjust cache variables similarly.  Create 500 rather than
84732         just 300 files, to exercise bug on Darwin6.5, too.
84733         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
84734         $missing_dir.
84735         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
84736         AM_SYS_POSIX_TERMIOS.
84737         Reported by mkc@mathdogs.com.
84738         Also change use of $am_cv_sys_posix_termios
84739         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
84740         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
84741         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
84742         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
84743         in /proc/mounts until it finds one with matching device number.  This
84744         is unnecessary when the FILE argument *is* a mount point.  No stat call
84745         is necessary in that case.  So, disable the statvfs-testing code on
84746         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
84747         as RedHat bug# 84846.
84748         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
84749         to 1MB, so as not to render systems with no stack size limit (e.g.,
84750         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
84751         Include <unistd.h>.  On some systems,
84752         it is required for the definition of _SC_PAGESIZE.
84753
84754 2003-08-16  Jim Meyering  <jim@meyering.net>
84755
84756         Merge from coreutils.
84757         * lib/xstrtoimax.c: #else #if -> #elif.
84758         * lib/xstrtoumax.c: Likewise.
84759
84760 2003-08-16  Jim Meyering  <jim@meyering.net>
84761
84762         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
84763         * m4/utimes.m4: Removed.
84764         * m4/utimes-null.m4: Renamed from utimes.m4.
84765
84766         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
84767         to 1MB, so as not to render systems with no stack size limit (e.g.,
84768         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
84769         Include <unistd.h>.  On some systems,
84770         it is required for the definition of _SC_PAGESIZE.
84771
84772 2003-08-16  Jim Meyering  <jim@meyering.net>
84773         and Paul Eggert  <eggert@cs.ucla.edu>
84774
84775         Merges from coreutils, etc.
84776
84777         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
84778         using the latest version from cvs.  This avoids problems with #line
84779         directives using a vendor (Sun) compiler.
84780         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
84781         Don't set GETGROUPS_LIB here; now it's
84782         done via getgroups.m4's wrapper function.
84783         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
84784         rather than just in sh-util/configure.in, so that the
84785         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
84786         same.
84787         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
84788         AC_FUNC_GETLOADAVG where to find getloadavg.c.
84789         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
84790         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
84791         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
84792         Remove code that is now done by the newly-required macros.
84793         Append $(EXEEXT) to DF_PROG.
84794         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
84795         Do not invoke or require the following here,
84796         since prereq.m4 or some gnulib .m4 now does this for us:
84797         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
84798         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
84799         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
84800         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
84801         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
84802         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
84803         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
84804         AC_FUNC_OBSTACK.
84805         Do not replace the following functions, as this is now the job
84806         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
84807         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
84808         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
84809         atexit getpass, strdup, getpagesize.
84810         Replace 'raise'.
84811         Do not check for the following functions, as this is now the job
84812         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
84813         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
84814         setregid.
84815         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
84816         Check for sys/sysctl.h.
84817         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
84818         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
84819         of checking for ssize_t ourselves.
84820
84821         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
84822         Require every macro that gnulib/modules/* suggests for us.
84823         (jm_PREREQ_ADDEXT): New macro.
84824         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
84825         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
84826
84827         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
84828         (gl_PHYSMEM): Use it.
84829         Also check for `table' function.
84830         Check for new headers and functions.
84831         Add check for sys/sysmp.h.
84832         With suggestions from Kaveh Ghazi.
84833         Ignore headers that are present but cannot be compiled.  This
84834         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
84835         C 5.4.
84836
84837 2003-08-15  Paul Eggert  <eggert@twinsun.com>
84838
84839         Document merge from coreutils.
84840         * modules/userspec: Depend on posixver.
84841         * modules/strftime: Depend on tzset.
84842
84843 2003-08-15  Paul Eggert  <eggert@twinsun.com>
84844
84845         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
84846         rather than tab, after '#' in shell-script copyright notices.
84847         Suggested by Bruno Haible.
84848
84849 2003-08-15  Paul Eggert  <eggert@twinsun.com>
84850
84851         * config/srclist-update: Use three spaces, rather than tab, after '#'
84852         in shell-script copyright notices.  Suggested by Bruno Haible.
84853         Remove unnecessary parenthesization in regular expression.
84854
84855 2003-08-15  Jim Meyering  <jim@meyering.net>
84856
84857         Merge from coreutils.
84858         * lib/xgethostname.c: Include <stdlib.h>.
84859         (xghostname): Don't exit for anything other than memory-related
84860         failure; just return NULL.
84861         * lib/userspec.c: Include "posixver.h".
84862         (parse_user_spec): Accept `.' as a separator only
84863         in pre-POSIX-200112 mode.
84864         * lib/strtoimax.c: Use #elif rather than #else #if.
84865         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
84866         Remove function, now that we can rely on a working tzset function.
84867         [!_LIBC]: Ensure that the required autoconf test has been run.
84868         [!defined _NL_CURRENT && HAVE_STRFTIME]:
84869         Use underlying_strftime for %r.
84870         * lib/sha.c: Merge in some clean-up and optimization changes from
84871         glibc.
84872         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
84873         Ensure that it is a multiple of 64.
84874         Rearrange loop exit tests so as to avoid performing an
84875         additional fread after encountering an error or EOF.
84876         * lib/realloc.c: Update copyright date.
84877
84878 2003-08-15  Jim Meyering  <jim@meyering.net>
84879         and Paul Eggert  <eggert@twinsun.com>
84880
84881         Merge from coreutils.
84882         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
84883         member but strut utmpx does not.  Needed for AIX 4.3.3.
84884         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
84885
84886 2003-08-15  Jim Meyering  <jim@meyering.net>
84887         and Paul Eggert  <eggert@cs.ucla.edu>
84888
84889         Merges from coreutils, etc.
84890         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
84891         Require gl_FUNC_TZSET_CLOBBER.
84892         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
84893         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
84894         members.
84895
84896 2003-08-14  Paul Eggert  <eggert@twinsun.com>
84897
84898         Help the merge from coreutils.
84899         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
84900         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
84901         * m4/tzset.m4: Use it too.
84902
84903 2003-08-14  Paul Eggert  <eggert@twinsun.com>
84904
84905         * modules/tzset: New file.
84906
84907 2003-08-14  Jim Meyering  <jim@meyering.net>
84908
84909         Merges from coreutils.
84910         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
84911         variable names, rather than @FNMATCH_H@.
84912         * modules/alloca: Likewise for $(ALLOCA_H).
84913
84914         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
84915         the three copies of the literal target, `fnmatch.h'.
84916         * modules/alloca (alloca.h): Likewise.
84917
84918 2003-08-14  Jim Meyering  <jim@meyering.net>
84919
84920         Merge from coreutils.
84921         * m4/tzset.m4: New file.
84922         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
84923         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
84924         otherwise, AIX 5.1 systems would end up using the latter.
84925         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
84926         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
84927         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
84928         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
84929
84930 2003-08-14  Jim Meyering  <jim@meyering.net>
84931
84932         Merge from coreutils.
84933         * lib/obstack.h: Whitespace changes.
84934         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
84935         and xcalloc return values.
84936         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
84937         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
84938         hang on OSF/1 5.1 for DIR on both local and remote file systems.
84939         Reported by (and fix confirmed by) Nelson H. F. Beebe.
84940         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
84941         error from mntctl.
84942         Use mntctl's return value to drive the entry-processing loop, since
84943         we can't rely on the value of the vmt_length member in the last
84944         entry.  On some systems doing so could result in exhausting
84945         virtual memory.  Based in part on a patch from Mike Jetzer.
84946
84947 2003-08-14  Jim Meyering  <jim@meyering.net>
84948         and Paul Eggert  <eggert@twinsun.com>
84949
84950         Merges from coreutils, plus other fixes.
84951         * lib/physmem.c: Merge in portability changes from gcc/libiberty
84952         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
84953         for credits and details.  Thanks to Kaveh Ghazi for helping
84954         to keep these files in sync.
84955         (ARRAY_SIZE): Define it.
84956         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
84957         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
84958         (memcasecmp): Don't assume size_t fits in unsigned int.
84959         Remove casts and duplicate code.
84960         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
84961         (memcpy): Remove definition.
84962         Merge in some clean-up and optimization changes from glibc.
84963         [BLOCKSIZE]: Move definition to top of file.
84964         Ensure that it is a multiple of 64.
84965         Rearrange loop exit tests so as to avoid performing an
84966         additional fread after encountering an error or EOF.
84967         * lib/md5.h (md5_uintptr): Define.
84968         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
84969         return to the initial working directory.  Preserve errno
84970         for caller.
84971         * lib/idcache.c: Include "xalloc.h".
84972         (xmalloc, xrealloc): Remove decls.
84973         (getuser): Remove casts no longer required in C89.
84974         * lib/human.c: Include stdio.h, for sprintf.
84975         * lib/group-member.c: Include "xalloc.h".
84976         (xmalloc, xrealloc): Remove decls.
84977         (get_group_info): Remove casts no longer required in C89.
84978         * lib/getusershell.c (readname): Remove casts no longer required in
84979         C89.
84980         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
84981         * lib/getline.c: Whitespace fix, from coreutils.
84982
84983 2003-08-13  Paul Eggert  <eggert@twinsun.com>
84984
84985         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
84986         Check for isascii.
84987
84988         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
84989         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
84990         Undo previous (whitespace-only) change.
84991
84992 2003-08-13  Paul Eggert  <eggert@twinsun.com>
84993
84994         * lib/exclude.c: Include <ctype.h>
84995         (IN_CTYPE_DOMAIN): New macro.
84996         (is_space): New fn.
84997         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
84998         and empty lines.
84999
85000         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
85001         Undo previous (whitespace-only) change.
85002
85003 2003-08-13  Paul Eggert  <eggert@twinsun.com>
85004
85005         * config/srclist-update: Change update back to the old behavior,
85006         leaving whitespace alone.  Use one 'sed' command rather than a
85007         pipeline.
85008         (fixlicense): Now a variable, not a function.
85009         (remove_trailing_blanks): Remove.
85010         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
85011         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
85012         Undo previous (whitespace-only) change.
85013
85014 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85015
85016         Merge from coreutils.
85017         * modules/euidaccess: Add lib_SOURCES, include for new
85018         file euidaccess.h
85019
85020 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85021
85022         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
85023         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
85024         Normalize leading white space and remove trailing white space.
85025
85026         Merge from coreutils
85027         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
85028
85029         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
85030         0.12.1.  These files are now being upgraded automatically by
85031         ../config/srclist-update.
85032
85033 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85034
85035         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
85036         Normalize leading white space and remove trailing white space.
85037         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
85038         notice, as per ../config/srclist-update.
85039
85040         Merge from coreutils.
85041         * lib/euidaccess.h: New file.
85042         * lib/euidaccess.c: Include it.
85043         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
85044         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
85045         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
85046
85047 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85048
85049         * config/srclist-update: Add copyright notice.
85050         (remove_id_lines, remove_trailing_blanks): New constants.
85051         (fixfile): Use them to normalize spacing a bit in copied files.
85052         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
85053         Normalize leading white space and remove trailing white space.
85054
85055         * config/texinfo.tex: Sync with texinfo.
85056
85057         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
85058         strtoul.c from libc, to merge coreutils whitespace changes.
85059
85060         * config/srclist.txt: Get the following m4 files from gettext:
85061         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
85062         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
85063         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
85064         wint_t.m4.
85065
85066 2003-08-12  Karl Berry  <karl@gnu.org>
85067
85068         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
85069         been made.
85070
85071 2003-08-11  Paul Eggert  <eggert@twinsun.com>
85072
85073         * modules/gnu-source, m4/gnu-source.m4:
85074         Remove; we're assuming Autoconf 2.54 or later now.
85075         Suggested by Bruno Haible.
85076         * MODULES.html.sh (func_all_modules): Remove gnu-source.
85077
85078 2003-08-11  Bruno Haible  <bruno@clisp.org>
85079
85080         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
85081
85082 2003-08-11  Bruno Haible  <bruno@clisp.org>
85083
85084         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
85085         (vasnprintf): Use it instead of wcslen.
85086
85087 2003-08-11  Bruno Haible  <bruno@clisp.org>
85088
85089         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
85090         value to ensure that _Bool promotes to int. Use #define for _Bool when
85091         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
85092
85093 2003-08-10  Karl Berry  <karl@gnu.org>
85094
85095         * lib/regex.h: update from libc (whitespace fix).
85096
85097 2003-08-09  Paul Eggert  <eggert@twinsun.com>
85098
85099         Merge some files from coreutils.  These changes were
85100         originally made by Jim Meyering.
85101         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
85102         many older Unixes require this.
85103         * lib/alloca.c (alloca): Remove cast to argument of free;
85104         no longer needed in C89.
85105         * lib/alloca_.h, regex.h: Fix white space to match
85106         what GNU indent does.
85107
85108 2003-08-09  Paul Eggert  <eggert@twinsun.com>
85109
85110         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
85111         apparently Emacs's Unicode mode got confused before my 2003-08-05
85112         checkin.
85113
85114 2003-08-08  Paul Eggert  <eggert@twinsun.com>
85115
85116         * m4/extensions.m4: New file.
85117         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
85118         Require gl_USE_SYSTEM_EXTENSIONS.
85119         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
85120         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
85121
85122 2003-08-08  Paul Eggert  <eggert@twinsun.com>
85123
85124         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
85125         * modules/extensions, modules/gnu-source: New files.
85126         * modules/timespec, modules/unlocked-io: Depend on extensions.
85127
85128 2003-08-07  Paul Eggert  <eggert@twinsun.com>
85129
85130         * modules/restrict: New file.
85131         * MODULES.html.sh (func_all_modules): Add restrict.
85132         * modules/regex: Depend on restrict.
85133
85134 2003-08-07  Paul Eggert  <eggert@twinsun.com>
85135
85136         * m4/restrict.m4: New file.
85137         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
85138
85139 2003-08-07  Bruno Haible  <bruno@clisp.org>
85140
85141         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
85142         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
85143
85144 2003-08-07  Bruno Haible  <bruno@clisp.org>
85145
85146         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
85147         makes the module 'getndelim2' compatible with the module 'getline'.
85148
85149 2003-08-05  Paul Eggert  <eggert@twinsun.com>
85150
85151         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
85152         byte with "\201" to avoid glitches when editing that source file
85153         with multi-gnome-terminal.
85154
85155 2003-08-05  Paul Eggert  <eggert@twinsun.com>
85156
85157         * lib/bumpalloc.h: Remove.
85158
85159 2003-08-05  Paul Eggert  <eggert@twinsun.com>
85160
85161         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
85162         * modules/bumpalloc: Remove.
85163
85164 2003-08-04  Paul Eggert  <eggert@twinsun.com>
85165
85166         * lib/getloadavg.c: Change copyright notice and spacing to conform to
85167         GNU coding style.
85168
85169         Merge from coreutils.
85170         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
85171         1. From glibc.
85172         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
85173         from Karl Berry, implemented by Jim Meyering.
85174         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
85175         from Dmitry V. Levin.
85176         Remove anachronistic cast of xrealloc.
85177         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
85178         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
85179         type. Otherwise, it wouldn't compile with at least /bin/cc on
85180         ymp-cray-unicos9.0.2.X.
85181         Combine two mostly-identical uses of alloca into one.
85182         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
85183
85184 2003-08-04  Dave Love  <d.love@dl.ac.uk>
85185
85186         [From Emacs.]
85187
85188         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
85189         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
85190         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
85191         obsolete NLIST_NAME_UNION.
85192         [__GNU__]: Undef BSD and FSCALE.
85193         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
85194
85195 2003-08-03  Paul Eggert  <eggert@twinsun.com>
85196
85197         * lib/stdbool_.h (_Bool): Make it signed char, instead of
85198         an enum type, so that it's guaranteed to promote to int.  See:
85199         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
85200
85201 2003-08-03  Karl Berry  <karl@gnu.org>
85202
85203         * config/depcomp: update from automake.
85204
85205 2003-07-31  Paul Eggert  <eggert@twinsun.com>
85206
85207         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
85208         (strerror): Don't assume that a printable int fits in 14 bytes.
85209
85210 2003-07-31  Bruno Haible  <bruno@clisp.org>
85211
85212         * modules/getpass-gnu: New file.
85213         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
85214
85215 2003-07-31  Bruno Haible  <bruno@clisp.org>
85216
85217         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
85218
85219 2003-07-24  Karl Berry  <karl@gnu.org>
85220
85221         * config/missing: update from automake.
85222
85223 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
85224             Bruno Haible  <bruno@clisp.org>
85225
85226         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
85227         * lib/getline.c (getline, getdelim): Likewise.
85228         Remove _GNU_SOURCE define; now it's defined in config.h through
85229         m4/getline.m4.
85230
85231 2003-07-23  Karl Berry  <karl@gnu.org>
85232
85233         * config/config.sub: update from prep.
85234
85235 2003-07-22  Paul Eggert  <eggert@twinsun.com>
85236
85237         * modules/xalloc (Depends-on): Add exitfail.
85238         * modules/xmemcoll: Likewise.
85239
85240 2003-07-22  Paul Eggert  <eggert@twinsun.com>
85241
85242         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
85243         over-parenthesization in macros.
85244
85245         Sync with coreutils.
85246
85247         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
85248         required by C99.
85249
85250         Use `exit_failure' for xalloc and xmemcoll instead of their own
85251         private exit-failure variables.
85252         * lib/xalloc.h (xalloc_exit_failure): Remove.
85253         * lib/xmalloc.c: Likewise.  Include exitfail.h.
85254         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
85255         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
85256         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
85257         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
85258
85259 2003-07-20  Jim Meyering  <jim@meyering.net>
85260
85261         * modules/closeout (Depends-on): Add exitfail.
85262         Suggestion from Bruno Haible.
85263
85264 2003-07-19  Karl Berry  <karl@gnu.org>
85265
85266         * config/config.sub: update from prep.
85267
85268 2003-07-18  Paul Eggert  <eggert@twinsun.com>
85269
85270         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
85271         Remove.
85272         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
85273         to test that it can stand by itself.  Include "exitfail.h".
85274         Clients should set exit_failure instead.
85275         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
85276
85277 2003-07-18  Bruno Haible  <bruno@clisp.org>
85278
85279         * modules/getndelim2: New file.
85280         * modules/getline: Share files with module getndelim2.
85281         * modules/getnline: Depend on getndelim2 instead of sharing files with
85282         it. Add getnline.c to lib_SOURCES.
85283         * MODULES.html.sh (func_all_modules): Add getndelim2.
85284
85285 2003-07-18  Bruno Haible  <bruno@clisp.org>
85286
85287         * m4/getndelim2.m4: New file.
85288         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
85289         invoke gl_PREREQ_GETNDELIM2.
85290         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
85291         gl_PREREQ_GETNDELIM2.
85292         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
85293         gl_GETNDELIM2.
85294
85295 2003-07-18  Bruno Haible  <bruno@clisp.org>
85296
85297         * lib/getndelim2.h: New file.
85298         * lib/getndelim2.c: Make into a module of its own. Include config.h,
85299         getndelim2.h.
85300         (getndelim2): Make non-static. Change return type to ssize_t.
85301         * lib/getline.h: Change argument names.
85302         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
85303         * lib/getnline.c: Include getndelim2.h.
85304
85305 2003-07-18  Andreas Schwab  <schwab@suse.de>
85306
85307         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
85308
85309 2003-07-17  Karl Berry  <karl@gnu.org>
85310
85311         * config/config.sub: update from prep.
85312
85313 2003-07-17  Bruno Haible  <bruno@clisp.org>
85314
85315         * modules/getnline: New file.
85316         * modules/getline: Add lib/getndelim2.c to source file list.
85317         * MODULES.html.sh (func_all_modules): Add getnline.
85318
85319 2003-07-17  Bruno Haible  <bruno@clisp.org>
85320
85321         * m4/getnline.m4: New file.
85322
85323 2003-07-17  Bruno Haible  <bruno@clisp.org>
85324
85325         * m4/Makefile.am.in: Remove file.
85326         * m4/Makefile.am: Remove file.
85327         * m4/Makefile.in: Remove file.
85328
85329 2003-07-17  Bruno Haible  <bruno@clisp.org>
85330
85331         * lib/getnline.h: New file.
85332         * lib/getnline.c: New file.
85333         * lib/getndelim2.c: New file, extracted from getline.c.
85334         (getndelim2): Renamed from getdelim2, with added nmax argument.
85335         * lib/getline.c: Include getndelim2.c.
85336         (getdelim2): Moved out to getndelim2.c.
85337         (getline, getdelim): Update.
85338
85339 2003-07-17  Bruno Haible  <bruno@clisp.org>
85340
85341         * lib/Makefile.am: Remove file.
85342         * lib/Makefile.in: Remove file.
85343
85344 2003-07-17  Bruno Haible  <bruno@clisp.org>
85345
85346         * configure.in: Remove file.
85347         * Makefile.in: Remove file.
85348
85349 2003-07-17  Bruno Haible  <bruno@clisp.org>
85350
85351         * MODULES.html.sh: Put the </BODY> right before </HTML>.
85352
85353 2003-07-16  Karl Berry  <karl@gnu.org>
85354
85355         * config/srclist-update: was running fixlicense twice, which caused
85356                 texinfo.tex to be nullified for some reason.  Simplify,
85357                 $gplsrc is no longer needed as far as I can see?
85358
85359 2003-07-16  Jim Meyering  <jim@meyering.net>
85360
85361         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
85362
85363 2003-07-15  Paul Eggert  <eggert@twinsun.com>
85364
85365         * config/srclist.txt: Get the following files from gettext-runtime/intl
85366         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
85367         ref-del.sin.  From Bruno Haible.
85368         * config/srclist-update (fixfile): Change grep pattern again, since the
85369         previous fix didn't work (there was another trailing $).  Use
85370         '[$]' to escape the $s.
85371
85372 2003-07-15  Karl Berry  <karl@gnu.org>
85373
85374         * lib/vasnprintf.c: update from gettext.
85375
85376 2003-07-15  Karl Berry  <karl@gnu.org>
85377
85378         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
85379         gets expanded when surrounded by '$'.
85380
85381 2003-07-15  Jim Meyering  <jim@meyering.net>
85382
85383         * modules/save-cwd: Don't depend on error.  From Derek Price.
85384
85385 2003-07-15  Jim Meyering  <jim@meyering.net>
85386
85387         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
85388
85389 2003-07-14  Simon Josefsson  <jas@extundo.com>
85390
85391         * modules/mempcpy: New file.
85392         * MODULES.html.sh (func_all_modules): Add mempcpy.
85393
85394 2003-07-14  Simon Josefsson  <jas@extundo.com>
85395
85396         * m4/mempcpy.m4: New file.
85397
85398 2003-07-14  Simon Josefsson  <jas@extundo.com>
85399
85400         * lib/mempcpy.h: New file.
85401         * lib/mempcpy.c: New file.
85402
85403 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85404
85405         * modules/getdate, modules/posixtm: Depend on mktime.
85406
85407 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85408
85409         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
85410         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
85411         unicodeio.c, unicodeio.h, unlocked-io.h:
85412         Switch from LGPL to GPL.
85413
85414 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85415
85416         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
85417         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
85418         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
85419         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
85420         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
85421         updated automatically by ../config/srclist-update.  This changes
85422         their license from LPGL to GPL.
85423
85424 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85425
85426         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
85427         assumed to refer to the root of the most recent stable gettext version.
85428         * config/srclistvars.sh: Add defaults for eggert.
85429         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
85430         Match "This program" as well as "The program".  This is needed
85431         for gettext.
85432
85433 2003-07-14  Jim Meyering  <jim@meyering.net>
85434
85435         Don't emit diagnostics.  Let callers do that.
85436         * lib/save-cwd.c: Don't include "error.h".
85437         (save_cwd): Don't call error.  Ensure that errno is valid
85438         when returning nonzero.
85439
85440         * lib/save-cwd.h (restore_cwd): Update prototype.
85441         * lib/save-cwd.c (restore_cwd): Remove two parameters.
85442         Simplify.  Don't call error upon failure.  Let callers do that.
85443         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
85444         when auditing is enabled.  But don't bother updating the #if.
85445
85446 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
85447
85448         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
85449         it breaks C++ compilation.
85450         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
85451
85452 2003-07-10  Simon Josefsson  <jas@extundo.com>
85453
85454         * modules/strchrnul (Makefile.am): Add strchrnul.h.
85455
85456 2003-07-10  Jim Meyering  <jim@meyering.net>
85457
85458         * m4/clock_time.m4: Remove trailing blank.
85459         * m4/intmax_t.m4: Likewise.
85460
85461 2003-07-10  Jim Meyering  <jim@meyering.net>
85462
85463         * lib/vasnprintf.c: Remove trailing blanks.
85464         Make cpp indentation consistent.
85465
85466 2003-07-09  Paul Eggert  <eggert@twinsun.com>
85467
85468         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
85469         posixver.c, strftime.c, strnlen.c, strverscmp.c:
85470         Switch from LGPL to GPL.
85471
85472 2003-07-09  Paul Eggert  <eggert@twinsun.com>
85473
85474         * config/srclist.txt: Sort sublists.  Add
85475         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
85476         that differ from gnulib for one reason or another; we'd like this list
85477         to be smaller but for now let's document what we have.
85478
85479 2003-07-08  Paul Eggert  <eggert@twinsun.com>
85480
85481         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
85482         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
85483         and sweeter "eval x=$x".
85484         * config/srclist.txt: Get lib/argp* from glibc.
85485
85486 2003-07-07  Paul Eggert  <eggert@twinsun.com>
85487
85488         * lib/mktime.c: Fix some boundary cases and remove need for floating
85489         point.
85490
85491         Issue a compile-time diagnostic if time_t is floating point, or if
85492         two's complement arithmetic is not in effect, or if arithmetic
85493         right shift does not propagate the sign.  These assumptions were
85494         all in the original code but they weren't checked.
85495
85496         (TIME_T_MIDPOINT, verify): New macros.
85497         (__isleap): Remove; it has integer overflow problems.
85498         (leapyear): New function, without those problems.
85499         (ydhms_tm_diff): Remove; splitting into two parts.
85500         (ydhms_diff): New function, containing the arithmetic part of
85501         the old ydhms_tm_diff function.  Issue a compile-time
85502         diagnostic if we are not using C99 integer division.
85503         Avoid casts when possible.
85504         (guess_time_tm): New function, containing the checking part of
85505         the old ydhms_tm_diff function.  Return the new value, rather than
85506         the difference between it and the old.  Accept a new argument T
85507         so that *T specifies the old value.  Check for overflow in the result.
85508
85509         (__mktime_internal): Use a time_t offset, not a long int offset.
85510         This undoes the 2003-06-04 change, which is no longer needed now
85511         that we have better overflow checking.
85512         (localtime_offset): Likewise.
85513
85514         (__mktime_internal): Avoid harmful overflow on hosts where time_t
85515         and long are 64-bit but int is only 32-bit.
85516         (ydhms_diff): Use long int to store year1 and yday1.
85517         Issue a compile-time diagnostic if long int is not wide enough.
85518
85519         (__mktime_internal): Use long int to store adjusted year and yday.
85520         Use plain C rather than preprocessor commands, if that doesn't
85521         affect efficiency.
85522         Check for overflow (and try to repair) after each probe
85523         rather than checking only at the very end.  This avoids some bugs
85524         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
85525         does not equal GMT offset at maximum time).
85526         Use integer to check for overflow rather than floating point; this
85527         is more portable to non-IEEE hosts, and is a tad faster.
85528         When we detect that we are oscillating between two values,
85529         don't check whether tm_isdst has the requested value, since
85530         we already know the answer.  When tm_isdst has the wrong value,
85531         use a different heuristic to find the right one, based on the
85532         extreme values actually observed in practice in tz2003a,
85533         rather than the (overly optimistic) "previous 3 calendar quarters".
85534
85535         (not_equal_tm, print_tm, check_result): Use "const T" rather than
85536         "T const" to accommodate glibc style.
85537         (check_result): Use less-confusing report format.  "long" -> "long int.
85538         (main): Likewise.
85539         Don't loop if the iteration overflows time_t.
85540         Allow a negative step in the iteration.
85541
85542 2003-07-06  Karl Berry  <karl@gnu.org>
85543
85544         * config/depcomp: update from automake.
85545         * config/config.sub: update from prep.
85546
85547 2003-07-03  Karl Berry  <karl@gnu.org>
85548
85549         * config/config.guess: update from prep.
85550
85551 2003-07-01  Paul Eggert  <eggert@twinsun.com>
85552
85553         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
85554         xreadlink.c now includes it unconditionally.
85555
85556 2003-07-01  Paul Eggert  <eggert@twinsun.com>
85557
85558         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
85559         having it depend on HAVE_SYS_TYPES_H.
85560
85561 2003-07-01  Bruno Haible  <bruno@clisp.org>
85562
85563         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
85564         <sys/types.h> should be sufficient.
85565         Reported by Paul Eggert.
85566
85567 2003-06-26  Karl Berry  <karl@gnu.org>
85568
85569         * config/depcomp: update from automake.
85570
85571 2003-06-26  Bruno Haible  <bruno@clisp.org>
85572
85573         * modules/human: Depend on module stdbool.
85574
85575 2003-06-25  Bruno Haible  <bruno@clisp.org>
85576
85577         * modules/readlink: New file.
85578         * modules/xreadlink: Depend on it.
85579         * MODULES.html.sh (func_all_modules): Add readlink.
85580
85581 2003-06-25  Bruno Haible  <bruno@clisp.org>
85582
85583         * m4/readlink.m4: New file.
85584
85585 2003-06-25  Bruno Haible  <bruno@clisp.org>
85586
85587         * lib/readlink.c: New file.
85588
85589 2003-06-22  Karl Berry  <karl@gnu.org>
85590
85591         * config/srclist.txt: update mkinstalldirs from automake.
85592         * config/mkinstalldirs: update.
85593
85594 2003-06-22  Bruno Haible  <bruno@clisp.org>
85595
85596         Portability to mingw32.
85597         * m4/ssize_t.m4: New file, from GNU gettext.
85598         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
85599         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
85600
85601 2003-06-22  Bruno Haible  <bruno@clisp.org>
85602
85603         * modules/safe-read: Add m4/ssize_t.m4.
85604         * modules/xreadlink: Add m4/ssize_t.m4.
85605
85606 2003-06-20  Bruno Haible  <bruno@clisp.org>
85607
85608         Assume C89, so PARAMS isn't needed.
85609         * lib/unicodeio.h (PARAMS): Remove.
85610         * lib/unicodeio.c: Don't use PARAMS.
85611
85612 2003-06-18  Karl Berry  <karl@gnu.org>
85613
85614         * config/config.{guess,sub}: update from prep.
85615
85616 2003-06-18  Jim Meyering  <jim@meyering.net>
85617
85618         Merge changes from coreutils.
85619         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
85620         Remove explicit declarations of xmalloc and realloc.
85621         Include xalloc.h.
85622         (read_utmp): Remove anachronistic cast of xmalloc.
85623
85624 2003-06-17  Paul Eggert  <eggert@twinsun.com>
85625
85626         Assume C89, so PARAMS isn't needed.
85627         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
85628         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
85629         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
85630         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
85631         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
85632         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
85633         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
85634         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
85635         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
85636         lib/xstrtod.h, lib/xstrtol.h: Likewise.
85637         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
85638         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
85639         no longer needed. Anyway, config.h should always be included before any
85640         other file.
85641
85642 2003-06-11  Simon Josefsson  <jas@extundo.com>
85643
85644         * modules/sysexits: New file.
85645         * MODULES.html.sh (func_all_modules): Add sysexits.
85646
85647 2003-06-11  Simon Josefsson  <jas@extundo.com>
85648
85649         * lib/sysexit_.h: New file.
85650
85651 2003-06-11  Derek Price  <derek@ximbiot.com>
85652
85653         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
85654         necessary.
85655
85656 2003-06-11  Bruno Haible  <bruno@clisp.org>
85657
85658         * m4/sysexits.m4: New file.
85659
85660 2003-06-10  Simon Josefsson  <jas@extundo.com>
85661
85662         * lib/argp.h: New file, from glibc.
85663         * lib/argp-ba.c: New file, from glibc.
85664         * lib/argp-eexst.c: New file, from glibc.
85665         * lib/argp-fmtstream.c: New file, from glibc.
85666         * lib/argp-fmtstream.h: New file, from glibc.
85667         * lib/argp-fs-xinl.c: New file, from glibc.
85668         * lib/argp-help.c: New file, from glibc.
85669         * lib/argp-namefrob.h: New file, from glibc.
85670         * lib/argp-parse.c: New file, from glibc.
85671         * lib/argp-pv.c: New file, from glibc.
85672         * lib/argp-pvh.c: New file, from glibc.
85673         * lib/argp-xinl.c: New file, from glibc.
85674
85675 2003-06-10  Simon Josefsson  <jas@extundo.com>
85676
85677         * modules/strchrnul: New file.
85678
85679 2003-06-10  Simon Josefsson  <jas@extundo.com>
85680
85681         * modules/argp: New file.
85682
85683 2003-06-10  Simon Josefsson  <jas@extundo.com>
85684
85685         * m4/strchrnul.m4: New file.
85686
85687 2003-06-10  Simon Josefsson  <jas@extundo.com>
85688
85689         * lib/strchrnul.h: New file.
85690         * lib/strchrnul.c: New file.
85691
85692 2003-06-10  Bruno Haible  <bruno@clisp.org>
85693
85694         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
85695
85696 2003-06-07  Karl Berry  <karl@gnu.org>
85697
85698         * config/config.{guess,sub}: update from prep.
85699
85700 2003-06-07  Jim Meyering  <jim@meyering.net>
85701
85702         * modules/strtod: Use $(...) notation, not @...@ for
85703         AC_REPLACE'd variables.
85704         * modules/localcharset: Likewise.
85705
85706 2003-06-07  Jim Meyering  <jim@meyering.net>
85707
85708         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
85709         in place of my name in the copyright comment.
85710         Remove definition and uses of __P.
85711
85712         From coreutils.
85713         * lib/stat.c: Don't declare xmalloc explicitly.
85714         Instead, include "xalloc.h".
85715         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
85716         xrealloc, and xcalloc return values.
85717         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
85718         Improve comment.
85719         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
85720
85721 2003-06-07  Bruno Haible  <bruno@clisp.org>
85722
85723         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
85724         avoid AC_CONFIG_LINKS.
85725         * modules/fnmatch (Makefile.am): Use explicit creation rule for
85726         fnmatch.h, to avoid AC_CONFIG_LINKS.
85727         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
85728
85729 2003-06-07  Bruno Haible  <bruno@clisp.org>
85730
85731         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
85732         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
85733         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
85734         directory.
85735         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
85736         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
85737         directory.
85738
85739 2003-06-06  Jim Meyering  <jim@meyering.net>
85740
85741         Merge from coreutils.
85742         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
85743         Consolidate declarations and initializations of *_base* locals.
85744
85745         Merge from coreutils.
85746         This avoids a core dump on systems without GNU putenv,
85747         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
85748         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
85749         (unsetenv): New static function, from GNU libc.
85750         (rpl_putenv): Use it.
85751
85752         * lib/modechange.c: Remove trailing blanks.
85753
85754         Merge from coreutils.
85755         * lib/fsusage.c: Remove declaration of statfs.
85756         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
85757
85758         * lib/posixtm.c: Include <stdbool.h> unconditionally.
85759
85760 2003-06-06  Jim Meyering  <jim@meyering.net>
85761
85762         * lib/stdbool_.h: Renamed from stdbool.h.in.
85763
85764 2003-06-06  Jim Meyering  <jim@meyering.net>
85765             Bruno Haible  <bruno@clisp.org>
85766
85767         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
85768         Adjust Makefile.am snippet not to redirect directly to target.
85769         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
85770
85771 2003-06-05  Paul Eggert  <eggert@twinsun.com>
85772
85773         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
85774         mismatch, look in future quarters as well as past.  This fixes a
85775         bug when processing fall-backwards gaps immediately after a long
85776         period of daylight-saving time.
85777
85778         * lib/mktime.c: Assume freestanding C89 or better.
85779         (HAVE_LIMITS_H): Remove.  Assume it's 1.
85780         (__P): Remove; not used.
85781         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
85782         (mktime, not_equal_tm, print_tm, check_result,
85783         main): Use prototypes.  Use const * where appropriate.
85784         (main): Fix typo in testing code that uncovered by above changes.
85785         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
85786
85787 2003-06-04  Paul Eggert  <eggert@twinsun.com>
85788
85789         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
85790         locale.h, localeconv.  This merges changes from coreutils.
85791
85792         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
85793         It can be removed after the next Autoconf is released.
85794         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
85795         needed.
85796
85797 2003-06-04  Paul Eggert  <eggert@twinsun.com>
85798
85799         * lib/mktime.c: Fix Debian bug 177940
85800         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
85801         (localtime_offset): Now long int, not time_t, because we want it
85802         to be guaranteed to be signed.  All uses changed.
85803         (__mktime_internal): If overflow would occur when adding offset,
85804         don't add it.
85805
85806         Merge 'human' changes from coreutils.  Rewrite to support
85807         locale-specific notations like thousands separators.
85808         * lib/human.c: Simplify authorship notice.
85809         Include human.h immediately after config.h.
85810         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
85811         <limits.h>: Do not include, since human.h does.
85812         (SIZE_MAX, UINTMAX_MAX): New macros.
85813         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
85814         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
85815         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
85816         (power_letter): Renamed from suffixes.
85817         (generate_suffix_backwards): Remove.
85818         (adjust_value): Now takes int style (because of human.h changes)
85819         and long double value (for greater precision on some platforms).
85820         (group_number): New function.
85821         (human_readable): Use it.  Use integer options, not enum.
85822         Put the options before the sizes in the arg list.
85823         Support all the new options.
85824         The old human_readable function has been removed;
85825         use inttostr.h instead.
85826         (human_readable, default_block_size, humblock):
85827         Use uintmax_t, not int, for block sizes.
85828         (human_readable_inexact, block_size_types): Remove.
85829         (block_size_opts): New constant.
85830         (human_options): Renamed from human_block_size, with new signature
85831         that allows block sizes up to UINTMAX_MAX.  All callers changed.
85832         * lib/human.h: Add copyright and authorship notice.
85833         Include <limits.h> and <stdbool.h> unconditionally.
85834         (PARAMS): Remove.  All uses removed.
85835         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
85836         (enum human_inexact_style): Remove tag; now a nameless enum.
85837         (human_floor, human_ceiling, human_round_to_even): Now have
85838         values 2, 0, 1 rather than -1, 1, 0.
85839         (human_group_digits, human_suppress_point_zero, human_autoscale,
85840         human_base_1024, human_SI, human_B): New constants.
85841         (human_readable_inexact, human_block_size): Remove.
85842         (human_readable): Size args are now uintmax_t, not int.
85843         (human_options): New decl.
85844
85845         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
85846         unnecessary now that we assume C89 or better.  This change
85847         imported from coreutils.
85848
85849         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
85850         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
85851         in the 2003-05-30 sync from glibc.
85852
85853         .h files should stand alone, but we shouldn't include <sys/types.h>
85854         if we can get away with just <stddef.h>.
85855
85856         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
85857         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
85858         rather than <sys/types.h>, as we merely need size_t.
85859         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
85860         to get size_t.
85861         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
85862         Include <stdio.h>, to get FILE.
85863         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
85864         memcasecmp.h has included <stddef.h> and all we need is size_t.
85865         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
85866         our interface, instead of including <sys/types.h>
85867
85868 2003-06-04  Paul Eggert  <eggert@twinsun.com>
85869
85870         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
85871         now, as glibc mktime is buggy on non-glibc systems.
85872
85873 2003-06-03  Karl Berry  <karl@gnu.org>
85874
85875         * config/config.sub: update from prep.
85876
85877 2003-06-02  Paul Eggert  <eggert@twinsun.com>
85878
85879         [from coreutils]
85880         Fix some minor time-related bugs with POSIX time arguments.
85881         Some valid time stamps were being rejected (notably -1, and
85882         time stamps before 1900 on 64-bit hosts).  And some invalid
85883         time stamps were being accepted, e.g. September 31.
85884
85885         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
85886         that we can return (time_t) -1 successfully.
85887         * lib/posixtm.c: Likewise.
85888         [HAVE_STDBOOL_H]: Include <stdbool.h>.
85889         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
85890         (t): Remove static var.
85891         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
85892         of static var.  All uses changed.
85893         (year): Do not reject years before 1900; they can occur with
85894         64-bit time_t.
85895         (posix_time_parse): Do not check for out-of-range components;
85896         that is now the caller's responsibility, since our checks were
85897         only approximations.
85898         (posixtime): Use mktime to check for out-of-range components,
85899         since it knows them exactly.
85900         If mktime returns (time_t) -1, check whether an error actually occurred
85901         by invoking localtime on -1.
85902         (main) [TEST_POSIXTIME]: Check for input data errors, and report
85903         posixtime failures better.
85904         Improve the test data (in comments only).
85905
85906 2003-06-02  Karl Berry  <karl@gnu.org>
85907
85908         * config/mkinstalldirs (version): new variable.
85909         (--version): new option.
85910         (usage): improve message.
85911
85912 2003-05-30  Karl Berry  <karl@gnu.org>
85913
85914         * lib/mktime.c: update from libc.
85915
85916 2003-05-30  Bruno Haible  <bruno@clisp.org>
85917
85918         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
85919         * config/config.rpath: Upgrade to gettext-0.12.1.
85920
85921 2003-05-30  Bruno Haible  <bruno@clisp.org>
85922
85923         * m4/gettext.m4: Upgrade to gettext-0.12.1.
85924         * m4/nls.m4: New file, from gettext-0.12.1.
85925         * m4/po.m4: New file, from gettext-0.12.1.
85926         * m4/progtest.m4: Upgrade to gettext-0.12.1.
85927
85928 2003-05-30  Bruno Haible  <bruno@clisp.org>
85929
85930         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
85931         * lib/localcharset.h: Likewise.
85932         * lib/localcharset.c: Likewise.
85933
85934 2003-05-29  Karl Berry  <karl@gnu.org>
85935
85936         * config/config.rpath: update from gettext.
85937
85938 2003-05-28  Paul Eggert  <eggert@twinsun.com>
85939
85940         Assume the headers required for C89 freestanding compilers.
85941         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
85942         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
85943         * m4/human.m4 (gl_HUMAN): Likewise.
85944         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
85945         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
85946         * m4/userspec.m4 (gl_USERSPEC): Likewise.
85947         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
85948         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
85949         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
85950
85951 2003-05-28  Paul Eggert  <eggert@twinsun.com>
85952
85953         Assume the headers required for C89 freestanding compilers.
85954         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
85955         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
85956         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
85957         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
85958         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
85959         define, since <limits.h> is guaranteed to do that.
85960         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
85961         * lib/exclude.c: Include <stdbool.h> unconditionally.
85962         * lib/tempname.c: Include <stddef.h> unconditionally.
85963         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
85964         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
85965         <stddef.h> does that.
85966         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
85967         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
85968         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
85969         needed.
85970         * lib/xstrtol.c: Likewise.
85971         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
85972         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
85973
85974         * lib/addext.c (addext): Use assignment rather than cast, to avoid
85975         warnings on some platforms.
85976
85977         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
85978         arbitrarily.
85979
85980 2003-05-26  Jim Meyering  <jim@meyering.net>
85981
85982         Merge in a change from coreutils:
85983         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
85984         that is guaranteed to be `no'.  Use `no_such_member' to indicate
85985         that condition, rather than `-1' which is slightly misleading.
85986         Change the name of the cache variable to have the gl_ prefix.
85987         Prompted by a patch from Richard Dawe for DJGPP.
85988
85989 2003-05-24  Karl Berry  <karl@gnu.org>
85990
85991         * config/config.guess: update from prep.
85992
85993 2003-05-22  Karl Berry  <karl@gnu.org>
85994
85995         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
85996
85997 2003-05-20  Karl Berry  <karl@gnu.org>
85998
85999         * config/config.guess: update from prep.
86000
86001 2003-05-18  Karl Berry  <karl@gnu.org>
86002
86003         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
86004         might actually be set by the user.
86005
86006         * config/depcomp, install-sh, mdate-sh: update from automake.
86007
86008 2003-05-17  Bruno Haible  <bruno@clisp.org>
86009
86010         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
86011         invalid expansion for AC_EGREP_CPP.
86012         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
86013         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
86014         Suggested by Akim Demaille <akim@epita.fr> in
86015         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
86016
86017 2003-05-12  Jim Meyering  <jim@meyering.net>
86018
86019         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
86020         the space-padded-by-default conversion specifiers, %e, %k, %l.
86021
86022 2003-05-12  Bruno Haible  <bruno@clisp.org>
86023
86024         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
86025         the string is longer than 4 KB.
86026
86027 2003-05-11  Karl Berry  <karl@gnu.org>
86028
86029         * config/config.{guess,sub}: update from prep.
86030
86031 2003-05-09  Bruno Haible  <bruno@clisp.org>
86032
86033         * modules/error: Add m4/strerror_r.m4 to file list.
86034
86035 2003-05-03  Bruno Haible  <bruno@clisp.org>
86036
86037         Upgrade to Unicode-4.0.
86038         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
86039         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
86040         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
86041         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
86042         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
86043         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
86044         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
86045         Change width of U+E0100..U+E01EF from 1 to 0.
86046
86047 2003-04-25  Jim Meyering  <jim@meyering.net>
86048
86049         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
86050         of type size_t, not int.
86051
86052 2003-04-25  Bruno Haible  <bruno@clisp.org>
86053
86054         * lib/copy-file.c: Include <stddef.h>, for size_t.
86055
86056 2003-04-21  Paul Eggert  <eggert@twinsun.com>
86057
86058         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
86059         code which expansion is under static control.  Patch imported from
86060         Akim Demaille's patch to Bison; see
86061         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
86062
86063 2003-04-14  Bruno Haible  <bruno@clisp.org>
86064
86065         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
86066
86067 2003-04-11  Jim Meyering  <jim@meyering.net>
86068
86069         Merge changes from Coreutils.
86070
86071         2003-03-22  Jim Meyering  <jim@meyering.net>
86072
86073         * lib/strftime.c (widen): Cast alloca return value to proper type.
86074
86075         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
86076
86077         From GNU libc.
86078         * lib/strftime.c (my_strftime): Handle very large width
86079         specifications for numeric values correctly.  Improve checks for
86080         overflow.
86081
86082         2003-01-19  Jim Meyering  <jim@meyering.net>
86083
86084         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
86085         definitions.
86086         (nl_get_alt_digit) [! defined my_strftime]: Define.
86087         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
86088         _nl_get_alt_digit and _nl_get_walt_digit.
86089
86090         * lib/strftime.c (my_strftime): Merge in locale-related changes from
86091         libc. These changes have no effect outside of _LIBC.
86092
86093 2003-04-10  Bruno Haible  <bruno@clisp.org>
86094
86095         * modules/findprog: New file.
86096         * MODULES.html.sh (func_all_modules): Add it.
86097
86098 2003-04-10  Bruno Haible  <bruno@clisp.org>
86099
86100         * m4/findprog.m4: New file.
86101         * m4/eaccess.m4: New file.
86102
86103 2003-04-10  Bruno Haible  <bruno@clisp.org>
86104
86105         * lib/findprog.h: New file, from GNU gettext.
86106         * lib/findprog.c: New file, from GNU gettext.
86107
86108 2003-04-05  Jim Meyering  <jim@meyering.net>
86109
86110         Merge changes from Coreutils.
86111
86112         * lib/exclude.h (PARAMS): Remove definition and uses.
86113         * lib/exclude.c: Remove uses of `PARAMS'.
86114
86115         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
86116         Add test-cases for DOS filenames. Declare program_name.
86117         (main): Set up program_name.  Patch by Rich Dawe.
86118
86119         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
86120         error from mntctl.
86121         Use mntctl's return value to drive the entry-processing loop, since
86122         we can't rely on the value of the vmt_length member in the last
86123         entry.  On some systems doing so could result in exhausting
86124         virtual memory.  Based in part on a patch from Mike Jetzer.
86125
86126 2003-04-04  Bruno Haible  <bruno@clisp.org>
86127
86128         * modules/linebreak: New file.
86129         * MODULES.html.sh (func_all_modules): Add it.
86130
86131 2003-04-04  Bruno Haible  <bruno@clisp.org>
86132
86133         * m4/linebreak.m4: New file.
86134
86135 2003-04-04  Bruno Haible  <bruno@clisp.org>
86136
86137         * lib/linebreak.h: New file, from GNU gettext.
86138         * lib/linebreak.c: New file, from GNU gettext with slight
86139         modifications.
86140         * lib/lbrkprop.h: New file, from GNU gettext.
86141
86142 2003-04-03  Bruno Haible  <bruno@clisp.org>
86143
86144         * modules/utf8-ucs4: New file.
86145         * modules/utf16-ucs4: New file.
86146         * modules/ucs4-utf8: New file.
86147         * modules/ucs4-utf16: New file.
86148         * MODULES.html.sh (func_all_modules): Add them.
86149
86150 2003-04-03  Bruno Haible  <bruno@clisp.org>
86151
86152         * m4/utf-ucs4.m4: New file.
86153         * m4/ucs4-utf.m4: New file.
86154
86155 2003-04-03  Bruno Haible  <bruno@clisp.org>
86156
86157         * lib/utf8-ucs4.h: New file, from GNU gettext.
86158         * lib/utf16-ucs4.h: New file, from GNU gettext.
86159         * lib/ucs4-utf8.h: New file, from GNU gettext.
86160         * lib/ucs4-utf16.h: New file, from GNU gettext.
86161
86162 2003-04-02  Bruno Haible  <bruno@clisp.org>
86163
86164         * modules/binary-io: New file.
86165         * MODULES.html.sh (func_all_modules): Add it.
86166
86167 2003-04-02  Bruno Haible  <bruno@clisp.org>
86168
86169         * lib/binary-io.h: New file, from GNU gettext.
86170
86171 2003-04-01  Bruno Haible  <bruno@clisp.org>
86172
86173         * modules/pathname: New file.
86174         * MODULES.html.sh (func_all_modules): Add it.
86175
86176 2003-04-01  Bruno Haible  <bruno@clisp.org>
86177
86178         * lib/pathname.h: New file, from GNU gettext.
86179         * lib/concatpath.c: New file, from GNU gettext.
86180
86181 2003-03-30  Bruno Haible  <bruno@clisp.org>
86182
86183         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
86184
86185 2003-03-30  Bruno Haible  <bruno@clisp.org>
86186
86187         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
86188         function chown() doesn't exist.
86189
86190 2003-03-28  Bruno Haible  <bruno@clisp.org>
86191
86192         * modules/copy-file: New file.
86193         * MODULES.html.sh (func_all_modules): Add it.
86194
86195 2003-03-28  Bruno Haible  <bruno@clisp.org>
86196
86197         * m4/copy-file.m4: New file.
86198
86199 2003-03-28  Bruno Haible  <bruno@clisp.org>
86200
86201         * lib/copy-file.h: New file, from GNU gettext.
86202         * lib/copy-file.c: New file, from GNU gettext.
86203
86204 2003-03-18  Jim Meyering  <jim@meyering.net>
86205
86206         * lib/quote.c (quote_n): Fix typo in comment.
86207
86208 2003-03-18  Bruno Haible  <bruno@clisp.org>
86209
86210         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
86211         checking.
86212         * m4/onceonly_2_57.m4: Likewise.
86213
86214 2003-03-17  Bruno Haible  <bruno@clisp.org>
86215
86216         * m4/onceonly.m4: Require autoconf 2.54 or newer.
86217         (m4_quote): Remove macro.
86218         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
86219
86220 2003-03-14  Jim Meyering  <jim@meyering.net>
86221
86222         Merge changes from Coreutils.
86223         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
86224         to be const, in order to avoid warnings.
86225         (obstack_room): Likewise.
86226         (obstack_empty_p): Likewise.
86227
86228 2003-03-14  Bruno Haible  <bruno@clisp.org>
86229
86230         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
86231         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
86232
86233 2003-03-13  Paul Eggert  <eggert@twinsun.com>
86234
86235         Merge changes from Bison.
86236         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
86237         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
86238         when compiling Bison 1.875's `bitset bset = obstack_alloc
86239         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
86240         * lib/hash.c: Include <stdbool.h> unconditionally.
86241
86242 2003-03-13  Paul Eggert  <eggert@twinsun.com>
86243
86244         * m4/onceonly.m4 (m4_quote): New macro.
86245         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
86246         Quote AC_FOREACH variable-expansions properly.
86247
86248 2003-03-13  Paul Eggert  <eggert@twinsun.com>
86249
86250         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
86251
86252 2003-03-09  Paul Eggert  <eggert@twinsun.com>
86253
86254         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
86255         Reported by Bruce Becker; see:
86256         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
86257
86258 2003-03-03  Paul Eggert  <eggert@twinsun.com>
86259             Bruno Haible  <bruno@clisp.org>
86260
86261         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
86262         Reported by John Hughes, see
86263         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
86264
86265 2003-02-20  Bruno Haible  <bruno@clisp.org>
86266
86267         * MODULES.html.sh (func_all_modules): Add poll.
86268
86269 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
86270
86271         * modules/poll: New file.
86272
86273 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
86274
86275         * lib/poll_.h: New file.
86276         * lib/poll.c: New file.
86277
86278 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
86279
86280         * m4/poll.m4: New file.
86281
86282 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
86283
86284         * modules/mathl: New file.
86285
86286 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
86287
86288         * lib/mathl.h: New file.
86289         * lib/acosl.c: New file.
86290         * lib/asinl.c: New file.
86291         * lib/atanl.c: New file.
86292         * lib/ceill.c: New file.
86293         * lib/cosl.c: New file.
86294         * lib/expl.c: New file.
86295         * lib/floorl.c: New file.
86296         * lib/frexpl.c: New file.
86297         * lib/ldexpl.c: New file.
86298         * lib/logl.c: New file.
86299         * lib/sincosl.c: New file.
86300         * lib/sinl.c: New file.
86301         * lib/sqrtl.c: New file.
86302         * lib/tanl.c: New file.
86303         * lib/trigl.c: New file.
86304         * lib/trigl.h: New file.
86305
86306 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
86307
86308         * m4/mathl.m4: New file.
86309
86310 2003-02-18  Bruno Haible  <bruno@clisp.org>
86311
86312         * MODULES.html.sh (func_all_modules): Add mathl.
86313
86314 2003-02-17  Bruno Haible  <bruno@clisp.org>
86315
86316         * modules/mkdtemp: New module.
86317         * MODULES.html.sh (func_all_modules): Add it.
86318
86319 2003-02-17  Bruno Haible  <bruno@clisp.org>
86320
86321         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
86322
86323 2003-02-17  Bruno Haible  <bruno@clisp.org>
86324
86325         * lib/mkdtemp.h: New file, from GNU gettext.
86326         * lib/mkdtemp.c: New file, from GNU gettext.
86327
86328 2003-02-02  Jim Meyering  <jim@meyering.net>
86329
86330         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
86331         e.g. glibc-2.2.93.
86332
86333 2003-01-31  Bruno Haible  <bruno@clisp.org>
86334
86335         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
86336         'rpl_rename'.
86337         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
86338         'rpl_strnlen'.
86339         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
86340         'rpl_strtod'.
86341         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
86342         'rpl_utime'.
86343
86344 2003-01-31  Bruno Haible  <bruno@clisp.org>
86345
86346         * lib/rename.c: #undef rename before defining rpl_rename.
86347         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
86348
86349 2003-01-30  Bruno Haible  <bruno@clisp.org>
86350
86351         * modules/vasnprintf, modules/vasprintf: New modules.
86352         * MODULES.html.sh (func_all_modules): Add them.
86353
86354 2003-01-30  Bruno Haible  <bruno@clisp.org>
86355
86356         * m4/signed.m4: New file, from GNU gettext.
86357         * m4/longdouble.m4: New file, from GNU gettext.
86358         * m4/wchar_t.m4: New file, from GNU gettext.
86359         * m4/wint_t.m4: New file, from GNU gettext.
86360         * m4/vasnprintf.m4: New file.
86361         * m4/vasprintf.m4: New file.
86362
86363 2003-01-30  Bruno Haible  <bruno@clisp.org>
86364
86365         * lib/printf-args.h: New file, from GNU gettext.
86366         * lib/printf-args.c: New file, from GNU gettext.
86367         * lib/printf-parse.h: New file, from GNU gettext.
86368         * lib/printf-parse.c: New file, from GNU gettext.
86369         * lib/vasnprintf.h: New file, from GNU gettext.
86370         * lib/vasnprintf.c: New file, from GNU gettext.
86371         * lib/asnprintf.c: New file, from GNU gettext.
86372         * lib/vasprintf.h: New file, from GNU gettext with modifications.
86373         * lib/vasprintf.c: New file, from GNU gettext.
86374         * lib/asprintf.c: New file, from GNU gettext.
86375
86376 2003-01-29  Bruno Haible  <bruno@clisp.org>
86377
86378         * modules/stpncpy: New module.
86379         * MODULES.html.sh (func_all_modules): Add it.
86380
86381 2003-01-29  Bruno Haible  <bruno@clisp.org>
86382
86383         * m4/stpncpy.m4: New file.
86384
86385 2003-01-29  Bruno Haible  <bruno@clisp.org>
86386
86387         * lib/stpncpy.h: New file, from GNU gettext with modifications.
86388         * lib/stpncpy.c: New file, from GNU gettext with modifications.
86389
86390 2003-01-28  Bruno Haible  <bruno@clisp.org>
86391
86392         * modules/c-ctype: New module.
86393         * MODULES.html.sh (func_all_modules): Add it.
86394
86395 2003-01-28  Bruno Haible  <bruno@clisp.org>
86396
86397         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
86398         Paul Eggert.
86399         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
86400         Paul Eggert.
86401
86402 2003-01-27  Bruno Haible  <bruno@clisp.org>
86403
86404         * modules/xsetenv: New module.
86405         * MODULES.html.sh (func_all_modules): Add it.
86406
86407 2003-01-27  Bruno Haible  <bruno@clisp.org>
86408
86409         * lib/xsetenv.h: New file, from GNU gettext.
86410         * lib/xsetenv.c: New file, from GNU gettext.
86411
86412 2003-01-23  Jim Meyering  <jim@meyering.net>
86413
86414         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
86415         from working on systems without dirfd (at least Irix and OSF1/Tru64).
86416
86417 2003-01-23  Bruno Haible  <bruno@clisp.org>
86418
86419         * modules/minmax: New module.
86420         * MODULES.html.sh (func_all_modules): Add it.
86421
86422 2003-01-23  Bruno Haible  <bruno@clisp.org>
86423
86424         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
86425         Eggert.
86426
86427 2003-01-22  Bruno Haible  <bruno@clisp.org>
86428
86429         * modules/exit: New module.
86430         * MODULES.html.sh (func_all_modules): Add it.
86431
86432 2003-01-22  Bruno Haible  <bruno@clisp.org>
86433
86434         * lib/exit.h: New file, from GNU gettext.
86435
86436 2003-01-19  Bruno Haible  <bruno@clisp.org>
86437
86438         * gnulib-tool: Recognize option --extract-maintainer.
86439         (func_get_maintainer): New function.
86440         * modules/*: Add Maintainer entry.
86441
86442 2003-01-16  Jim Meyering  <jim@meyering.net>
86443
86444         * m4/regex.m4: The `regex' struct is both input and output.
86445         Initialize it before each use.  Patch by Tim Waugh.
86446
86447 2003-01-16  Bruno Haible  <bruno@clisp.org>
86448
86449         * MODULES.html.sh: Add a table of contents. Add the module name as
86450         leftmost column. Add hyperlinks.
86451
86452 2003-01-15  Bruno Haible  <bruno@clisp.org>
86453
86454         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
86455
86456 2003-01-15  Bruno Haible  <bruno@clisp.org>
86457
86458         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
86459         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
86460         suffix.
86461
86462 2003-01-15  Bruno Haible  <bruno@clisp.org>
86463
86464         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
86465
86466 2003-01-15  Bruno Haible  <bruno@clisp.org>
86467
86468         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
86469         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
86470
86471 2003-01-14  Jim Meyering  <jim@meyering.net>
86472
86473         * lib/same.c (same_name): Tweak a comment.
86474
86475 2003-01-14  Bruno Haible  <bruno@clisp.org>
86476
86477         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
86478         when a string comparison is sufficient.
86479
86480 2003-01-14  Bruno Haible  <bruno@clisp.org>
86481
86482         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
86483         'unsigned int'.
86484
86485 2003-01-14  Bruno Haible  <bruno@clisp.org>
86486
86487         * lib/hash-pjw.c: Add comment about low quality of this function.
86488
86489 2003-01-13  Bruno Haible  <bruno@clisp.org>
86490
86491         * modules/stpcpy: Distribute lib/stpcpy.h.
86492         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
86493
86494 2003-01-13  Bruno Haible  <bruno@clisp.org>
86495
86496         * modules/*: Add a description.
86497         * modules/strpbrk: Fix Makefile.am snippet.
86498         * modules/strtoimax: Fix dependencies.
86499         * modules/strtoumax: Likewise.
86500
86501 2003-01-13  Bruno Haible  <bruno@clisp.org>
86502
86503         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
86504         * modules/alloca (Makefile.am): All object files depend on alloca.h.
86505         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
86506
86507 2003-01-13  Bruno Haible  <bruno@clisp.org>
86508
86509         * gnulib-tool (func_create_testdir): Store config/* files in the main
86510         directory.
86511         * config.rpath: Move to ...
86512         * config/config.rpath: ... here.
86513         * modules/gettext: Contains config/config.rpath, not config.rpath.
86514         * modules/iconv: Likewise.
86515
86516 2003-01-12  Paul Eggert  <eggert@twinsun.com>
86517
86518         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
86519         to avoid collisions with libcurses and libreadline.
86520
86521         * m4/getstr.m4: Remove.
86522         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
86523
86524 2003-01-12  Paul Eggert  <eggert@twinsun.com>
86525
86526         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
86527         to avoid collisions with libcurses and libreadline.
86528
86529         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
86530         * lib/getstr.h, getstr.c: Remove.
86531         * lib/getline.c: Include "getline.h", to check interface.
86532         Move body of old getstr.c here: this defines MIN_CHUNK and
86533         declares getdelim2, which is renamed from getstr.
86534         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
86535
86536         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
86537         All uses changed.
86538         * lib/linebuffer.h: Likewise.
86539         (readline): Remove backward-compatibility macro.
86540
86541 2003-01-12  Paul Eggert  <eggert@twinsun.com>
86542
86543         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
86544         to avoid collisions with libcurses and libreadline.
86545         * getstr: Remove.
86546         * MODULES.html.sh: Remove getstr.
86547         * modules/getline: Depend on unlocked-io, not getstr.
86548
86549 2003-01-12  Jim Meyering  <jim@meyering.net>
86550
86551         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
86552
86553 2003-01-10  Bruno Haible  <bruno@clisp.org>
86554
86555         * modules/alloca: Change Makefile.am requirements. Simplify Include
86556         requirements. Add lib/alloca_.h to file list.
86557
86558 2003-01-10  Bruno Haible  <bruno@clisp.org>
86559
86560         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
86561
86562 2003-01-10  Bruno Haible  <bruno@clisp.org>
86563
86564         * lib/alloca_.h: New file.
86565         * lib/getdate.y: Unconditionally include alloca.h.
86566         * lib/makepath.c: Likewise.
86567         * lib/setenv.c: Likewise.
86568         * lib/userspec.c: Likewise.
86569
86570 2003-01-09  Karl Berry  <karl@gnu.org>
86571
86572         * MODULES.html.sh: include `dirname $0` in PATH, to find
86573         gnulib-tool.
86574
86575 2003-01-09  Bruno Haible  <bruno@clisp.org>
86576
86577         * modules/stdbool: Change configure.ac, Makefile.am requirements.
86578         Simplify Include requirements. Add lib/stdbool.h.in to file list.
86579
86580 2003-01-09  Bruno Haible  <bruno@clisp.org>
86581
86582         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
86583
86584 2003-01-09  Bruno Haible  <bruno@clisp.org>
86585
86586         * lib/stdbool.h.in: New file.
86587
86588 2003-01-09  Bruno Haible  <bruno@clisp.org>
86589
86590         * gnulib-tool (func_all_modules): Ignore files ending in ~.
86591         * MODULES.html.sh: Likewise.
86592
86593 2003-01-08  Jim Meyering  <jim@meyering.net>
86594
86595         * lib/full-write.c: Undefine and define-away `const' after inclusion
86596         of errno.h, not before.  Suggestion from Bruno Haible.
86597
86598 2003-01-08  Bruno Haible  <bruno@clisp.org>
86599
86600         * modules/full-read: Depend on full-write.
86601
86602 2003-01-08  Bruno Haible  <bruno@clisp.org>
86603
86604         * lib/safe-read.c: Include specification header first, to ensure its
86605         selfcontainedness.
86606         * lib/full-write.c: Likewise.
86607
86608 2003-01-07  Jim Meyering  <jim@meyering.net>
86609
86610         * lib/full-write.c: Rework so that it may serve to define full_read,
86611         too.
86612         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
86613
86614 2003-01-07  Bruno Haible  <bruno@clisp.org>
86615
86616         * lib/strtoimax.c: Include <stdint.h> as an alternative to
86617         <inttypes.h>.
86618         * lib/xstrtol.h: Likewise.
86619         * lib/xstrtoimax.c: Likewise.
86620         * lib/xstrtoumax.c: Likewise.
86621         * lib/human.h: Likewise.
86622
86623         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
86624         on systems that have <inttypes.h> but not <stdint.h>.
86625
86626 2003-01-07  Bruno Haible  <bruno@clisp.org>
86627
86628         * MODULES.html.sh: Add copyright notice.
86629         (missed_files): Omit CVS directory entries.
86630         (func_module): Make it work with sed-3.02.
86631         * MODULES.txt: Remove file.
86632
86633 2003-01-06  Jim Meyering  <jim@meyering.net>
86634
86635         * lib/version-etc.c: Update year in translatable copyright string.
86636
86637 2003-01-03  Karl Berry  <karl@gnu.org>
86638
86639         * config/config.{guess,sub}: update from prep.
86640
86641 2003-01-02  Karl Berry  <karl@gnu.org>
86642
86643         * doc/COPYING.DOC: belatedly updated to 1.2.
86644
86645 2003-01-01  Karl Berry  <karl@gnu.org>
86646
86647         * gnulib-tool (func_verify_module): report module name $module in
86648         error message, not $1.
86649         * gnulib-tool (create-testdir): don't complain if destdir couldn't
86650         be created, only if it doesn't exist.
86651         * gnulib-tool (last_checkin_date): don't expand the $Date here.
86652
86653 2002-12-31  Paul Eggert  <eggert@twinsun.com>
86654
86655         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
86656
86657 2002-12-31  Paul Eggert  <eggert@twinsun.com>
86658
86659         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
86660         memcmp if strcoll doesn't work.
86661
86662 2002-12-31  Bruno Haible  <bruno@clisp.org>
86663
86664         * lib/utime.c (utime_null): No need to call ftruncate if the file was
86665         nonempty.
86666
86667 2002-12-31  Bruno Haible  <bruno@clisp.org>
86668
86669         * lib/memcoll.c (STRCOLL): New macro.
86670         (memcoll): Use it.
86671
86672 2002-12-31  Bruno Haible  <bruno@clisp.org>
86673
86674         * lib/localcharset.h: New file.
86675         * lib/localcharset.c: Include it.
86676         * lib/unicodeio.c: Likewise.
86677
86678 2002-12-31  Bruno Haible  <bruno@clisp.org>
86679
86680         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
86681         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
86682
86683 2002-12-31  Bruno Haible  <bruno@clisp.org>
86684
86685         * lib/getline.h: Include <stddef.h>, for size_t.
86686
86687         * lib/unicodeio.h: Include <stddef.h>, for size_t.
86688         * lib/unicodeio.c: Don't include <stddef.h>.
86689
86690 2002-12-31  Bruno Haible  <bruno@clisp.org>
86691
86692         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
86693         HAVE_TM_ZONE.
86694
86695 2002-12-24  Karl Berry  <karl@gnu.org>
86696
86697         * config/config.guess: update from prep.
86698
86699 2002-12-24  Bruno Haible  <bruno@clisp.org>
86700
86701         General infrasructure.
86702         * m4/README: Rewritten.
86703         * m4/onceonly.m4: New file.
86704         * m4/onceonly_2_57.m4: New file.
86705
86706         Module atexit.
86707         * m4/atexit.m4: New file.
86708
86709         Module strtod.
86710         * m4/strtod.m4: New file.
86711
86712         Module strtol.
86713         * m4/strtol.m4: New file.
86714
86715         Module strtoul.
86716         * m4/strtoul.m4: New file.
86717
86718         Module memchr.
86719         * m4/memchr.m4: New file.
86720
86721         Module memcmp.
86722         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
86723         (jm_FUNC_MEMCMP): Invoke it.
86724
86725         Module memcpy.
86726         * m4/memcpy.m4: New file.
86727
86728         Module memmove.
86729         * m4/memmove.m4: New file.
86730
86731         Module memset.
86732         * m4/memset.m4: New file.
86733
86734         Module strcspn.
86735         * m4/strcspn.m4: New file.
86736
86737         Module strpbrk.
86738         * m4/strpbrk.m4: New file.
86739
86740         Module strstr.
86741         * m4/strstr.m4: New file.
86742
86743         Module strerror.
86744         * m4/strerror.m4: New file.
86745
86746         Module mktime.
86747         * m4/mktime.m4: Renamed from jm-mktime.m4.
86748         (gl_PREREQ_MKTIME): New macro.
86749         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
86750
86751         Module malloc.
86752         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
86753         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
86754         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
86755
86756         Module realloc.
86757         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
86758         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
86759         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
86760
86761         Module strftime.
86762         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
86763         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
86764         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
86765         gl_TM_GMTOFF.
86766         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
86767
86768         Module xalloc.
86769         * m4/xalloc.m4: New file.
86770
86771         Module alloca.
86772         * m4/alloca.m4: New file.
86773
86774         Module putenv.
86775         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
86776         (jm_FUNC_PUTENV): Invoke it.
86777
86778         Module setenv.
86779         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
86780         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
86781         when invoked twice.
86782         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
86783         gt_FUNC_SETENV.
86784
86785         Module memrchr.
86786         * m4/memrchr.m4: New file.
86787
86788         Module stpcpy.
86789         * m4/stpcpy.m4: New file.
86790
86791         Module strcase.
86792         * m4/strcase.m4: New file.
86793
86794         Module strdup.
86795         * m4/strdup.m4: New file.
86796
86797         Module strnlen.
86798         * m4/strnlen.m4: New file.
86799
86800         Module strndup.
86801         * m4/strndup.m4: New file.
86802
86803         Module xstrtod.
86804         * m4/xstrtod.m4: New file.
86805
86806         Module xstrtol.
86807         * m4/xstrtol.m4: New file.
86808
86809         Module getdate.
86810         * m4/getdate.m4: New file.
86811
86812         Module unlocked-io.
86813         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
86814         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
86815         * m4/jm-glibc-io.m4n: Remove file.
86816
86817         Module long-options.
86818         * m4/long-options.m4: New file.
86819
86820         Module md5.
86821         * m4/md5.m4: New file.
86822
86823         Module sha.
86824         * m4/sha.m4: New file.
86825
86826         Module getstr.
86827         * m4/getstr.m4: New file.
86828
86829         Module getline.
86830         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
86831         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
86832         <sys/types.h>, for size_t. Use the function name gnu_getline, not
86833         simply getline. Infoke gl_PREREQ_GETLINE.
86834
86835         Module obstack.
86836         * m4/obstack.m4: New file.
86837
86838         Module hash.
86839         * m4/hash.m4: New file.
86840
86841         Module readtokens.
86842         * m4/readtokens.m4: New file.
86843
86844         Module strverscmp.
86845         * m4/strverscmp.m4: New file.
86846
86847         Module stdbool.
86848         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
86849         OSF/1.
86850
86851         Module strtoll.
86852         * m4/strtoll.m4: New file.
86853
86854         Module strtoull.
86855         * m4/strtoull.m4: New file.
86856
86857         Module strtoimax.
86858         * m4/strtoimax.m4: New file.
86859
86860         Module strtoumax.
86861         * m4/strtoumax.m4: New file.
86862
86863         Module xstrtoimax.
86864         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
86865         jm_AC_PREREQ_XSTRTOIMAX.
86866         Moved the strtol prerequisites to strtol.m4.
86867         Moved the strtoll prerequisites to strtoll.m4.
86868         Moved the strtoimax prerequisites to strtoimax.m4.
86869
86870         Module xstrtoumax.
86871         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
86872         jm_AC_PREREQ_XSTRTOUMAX.
86873         Moved the strtoul prerequisites to strtoul.m4.
86874         Moved the strtoull prerequisites to strtoull.m4.
86875         Moved the strtoumax prerequisites to strtoumax.m4.
86876
86877         Module chown.
86878         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
86879         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
86880
86881         Module dup2.
86882         * m4/dup2.m4: New file.
86883
86884         Module ftruncate.
86885         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
86886         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
86887
86888         Module getgroups.
86889         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
86890         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
86891
86892         Module gettimeofday.
86893         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
86894         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
86895         gl_PREREQ_GETTIMEOFDAY.
86896
86897         Module mkdir.
86898         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
86899         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
86900
86901         Module mkstemp.
86902         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
86903         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
86904         jm_AC_TYPE_UINTMAX_T.
86905         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
86906
86907         Module stat.
86908         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
86909         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
86910
86911         Module lstat.
86912         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
86913         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
86914
86915         Module timespec.
86916         * m4/timespec.m4 (gl_TIMESPEC): New macro.
86917         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
86918         * m4/st_mtim.m4: Indentation.
86919
86920         Module nanosleep.
86921         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
86922         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
86923         gl_PREREQ_NANOSLEEP.
86924
86925         Module regex.
86926         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
86927         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
86928         (gl_REGEX): New macro.
86929
86930         Module rename.
86931         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
86932         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
86933
86934         Module rmdir.
86935         * m4/rmdir.m4: New file.
86936
86937         Module utime.
86938         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
86939         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
86940         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
86941
86942         Module dirname.
86943         * m4/dirname.m4: New file.
86944
86945         Module getopt.
86946         * m4/getopt.m4: New file.
86947
86948         Module unistd-safer.
86949         * m4/unistd-safer.m4: New file.
86950
86951         Module fnmatch.
86952         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
86953         declaration.
86954         (gl_PREREQ_FNMATCH_EXTRA): New macro.
86955         (gl_FUNC_FNMATCH_POSIX): New macro.
86956         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
86957         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
86958         simply fnmatch.
86959
86960         Module exclude.
86961         * m4/exclude.m4: New file.
86962
86963         Module human.
86964         * m4/human.m4: New file.
86965
86966         Module acl.
86967         * m4/acl.m4: Nop.
86968
86969         Module backupfile.
86970         * m4/backupfile.m4: New file.
86971         * m4/d-ino.m4: Indentation.
86972
86973         Module fsusage.
86974         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
86975         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
86976         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
86977
86978         Module dirfd.
86979         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
86980         requirements.
86981
86982         Module euidaccess.
86983         * m4/euidaccess.m4: New file.
86984
86985         Module file-type.
86986         * m4/file-type.m4: New file.
86987
86988         Module fileblocks.
86989         * m4/fileblocks.m4: New file.
86990
86991         Module filemode.
86992         * m4/filemode.m4: New file.
86993
86994         Module isdir.
86995         * m4/isdir.m4: New file.
86996
86997         Module lchown.
86998         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
86999         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
87000
87001         Module makepath.
87002         * m4/makepath.m4: New file.
87003
87004         Module modechange.
87005         * m4/modechange.m4: New file.
87006
87007         Module mountlist.
87008         * m4/mountlist.m4: New file.
87009         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
87010         Indentation.
87011
87012         Module path-concat.
87013         * m4/path-concat.m4: New file.
87014
87015         Module pathmax.
87016         * m4/pathmax.m4: New file.
87017
87018         Module same.
87019         * m4/same.m4: New file.
87020
87021         Module save-cwd.
87022         * m4/save-cwd.m4: New file.
87023
87024         Module savedir.
87025         * m4/savedir.m4: New file.
87026
87027         Module xgetcwd.
87028         * m4/xgetcwd.m4: New file.
87029         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
87030
87031         Module xreadlink.
87032         * m4/xreadlink.m4: New file.
87033
87034         Module safe-read.
87035         * m4/safe-read.m4: New file.
87036
87037         Module safe-write.
87038         * m4/safe-write.m4: New file.
87039
87040         Module closeout.
87041         * m4/closeout.m4: New file.
87042
87043         Module stdio-safer.
87044         * m4/stdio-safer.m4: New file.
87045
87046         Module getpass.
87047         * m4/getpass.m4: New file.
87048
87049         Module getugroups.
87050         * m4/getugroups.m4: New file.
87051
87052         Module group-member.
87053         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
87054         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
87055
87056         Module idcache.
87057         * m4/idcache.m4: New file.
87058
87059         Module userspec.
87060         * m4/userspec.m4: New file.
87061
87062         Module gettime.
87063         * m4/clock_time.m4: New file.
87064         * m4/gettime.m4: New file.
87065
87066         Module settime.
87067         * m4/settime.m4: New file.
87068
87069         Module posixtm.
87070         * m4/posixtm.m4: New file.
87071
87072         Module gethostname.
87073         * m4/gethostname.m4: New file.
87074
87075         Module canon-host.
87076         * m4/canon-host.m4: New file.
87077
87078         Module gettext.
87079         * m4/codeset.m4: New file, from gettext-0.11.5.
87080         * m4/gettext.m4: New file, from gettext-0.11.5.
87081         * m4/glibc21.m4: New file, from gettext-0.11.5.
87082         * m4/iconv.m4: New file, from gettext-0.11.5.
87083         * m4/intdiv0.m4: New file, from gettext-0.11.5.
87084         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
87085         * m4/inttypes.m4: New file, from gettext-0.11.5.
87086         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
87087         * m4/isc-posix.m4: New file, from gettext-0.11.5.
87088         * m4/lcmessage.m4: New file, from gettext-0.11.5.
87089         * m4/lib-ld.m4: New file, from gettext-0.11.5.
87090         * m4/lib-link.m4: New file, from gettext-0.11.5.
87091         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
87092         * m4/progtest.m4: New file, from gettext-0.11.5.
87093         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
87094         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
87095         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
87096
87097         Module localcharset.
87098         * m4/localcharset.m4: New file.
87099
87100         Module hard-locale.
87101         * m4/hard-locale.m4: New file.
87102
87103         Module mbswidth.
87104         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
87105         onceonly macros.
87106         * m4/mbrtowc.m4: Add comment.
87107
87108         Module memcasecmp.
87109         * m4/memcasecmp.m4: New file.
87110
87111         Module memcoll.
87112         * m4/memcoll.m4: New file.
87113
87114         Module unicodeio.
87115         * m4/unicodeio.m4: New file.
87116
87117         Module rpmatch.
87118         * m4/rpmatch.m4: New file.
87119
87120         Module yesno.
87121         * m4/yesno.m4: New file.
87122
87123         Module exitfail.
87124         * m4/exitfail.m4: New file.
87125
87126         Module c-stack.
87127         * m4/c-stack.m4 (gl_C_STACK): New macro.
87128         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
87129
87130         Module error.
87131         * m4/error.m4 (gl_ERROR): New macro.
87132         (jm_PREREQ_ERROR): Use onceonly macros.
87133
87134         Module fatal.
87135         * m4/fatal.m4: New file.
87136
87137         Module getloadavg.
87138         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
87139         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
87140
87141         Module getpagesize.
87142         * m4/getpagesize.m4: New file.
87143
87144         Module getusershell.
87145         * m4/getusershell.m4: New file.
87146
87147         Module physmem.
87148         * m4/physmem.m4: New file.
87149
87150         Module posixver.
87151         * m4/posixver.m4: New file.
87152
87153         Module quotearg.
87154         * m4/quotearg.m4: New file.
87155
87156         Module quote.
87157         * m4/quote.m4: New file.
87158
87159         Module readutmp.
87160         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
87161
87162         Module sig2str.
87163         * m4/sig2str.m4: New file.
87164
87165         Other.
87166         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
87167         ulonglong.m4.
87168         * m4/intmax_t.m4: New file.
87169         * m4/d-type.m4: Indentation.
87170         * m4/jm-macros.m4: Update.
87171         * m4/prereq.m4 (jm_PREREQ): Update.
87172         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
87173         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
87174         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
87175         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
87176         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
87177         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
87178         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
87179         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
87180         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
87181         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
87182         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
87183         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
87184         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
87185         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
87186         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
87187         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
87188         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
87189         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
87190         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
87191
87192 2002-12-24  Bruno Haible  <bruno@clisp.org>
87193
87194         * MODULES.txt: Update according to m4/ changes.
87195
87196         Module gettext.
87197         * config.rpath: New file, from gettext-0.11.5.
87198
87199         * modules/*: New module descriptions.
87200         * gnulib-tool: New file.
87201         * MODULES.html.sh: New file.
87202
87203 2002-12-21  Karl Berry  <karl@gnu.org>
87204
87205         * doc/fdl.texi: update to version 1.2.
87206
87207 2002-12-19  Karl Berry  <karl@gnu.org>
87208
87209         * config/config.guess: update from prep.
87210
87211 2002-12-18  Bruno Haible  <bruno@clisp.org>
87212
87213         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
87214         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
87215
87216 2002-12-17  Bruno Haible  <bruno@clisp.org>
87217
87218         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
87219         stdlib.h, string.h.
87220
87221 2002-12-17  Bruno Haible  <bruno@clisp.org>
87222
87223         * lib/canon-host.c (strdup): Remove unused declaration.
87224
87225         * lib/fsusage.c: Include full_read.h.
87226         (get_fs_usage): Use full_read instead of safe_read.
87227
87228         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
87229
87230 2002-12-12  Karl Berry  <karl@gnu.org>
87231
87232         * config/config.guess: update from prep.
87233
87234 2002-12-11  Bruno Haible  <bruno@clisp.org>
87235
87236         * m4/setenv.m4: New file, from gettext-0.11.5.
87237
87238 2002-12-11  Bruno Haible  <bruno@clisp.org>
87239
87240         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
87241         not unsetenv().
87242         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
87243         modifications:
87244
87245         2002-12-11  Bruno Haible  <bruno@clisp.org>
87246
87247                 * setenv.c (alloca): Fall back to malloc.
87248                 (freea): New macro.
87249                 (setenv): Use freea() to free memory allocated with alloca().
87250
87251         2002-11-13  Bruno Haible  <bruno@clisp.org>
87252
87253                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
87254                 function declarations.
87255                 * unsetenv.c (unsetenv): Likewise.
87256
87257         2002-03-04  Bruno Haible  <bruno@clisp.org>
87258
87259                 Portability to AIX 4.3.3.
87260                 * unsetenv.c: New file, extracted from setenv.c.
87261                 * setenv.c: Move the unsetenv() function to unsetenv.c.
87262
87263         2001-12-20  Bruno Haible  <bruno@clisp.org>
87264
87265                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
87266                 use malloc instead. For SunOS 4.
87267
87268         2001-12-11  Bruno Haible  <bruno@clisp.org>
87269
87270                 * setenv.c: Declare alloca.
87271                 (compar_fn_t): New typedef.
87272                 (KNOWN_VALUE, STORE_VALUE): Use it.
87273
87274         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
87275         setenv.h.
87276
87277 2002-12-10  Paul Eggert  <eggert@twinsun.com>
87278
87279         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
87280         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
87281         Choose values that are less likely to collide with system fnmatch
87282         options.
87283         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
87284         defined (e.g., a pure POSIX system).
87285         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
87286         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
87287
87288 2002-12-06  Paul Eggert  <eggert@twinsun.com>
87289
87290         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
87291         a pain in practice to deal with generated m4 files.  This change
87292         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
87293
87294         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
87295         and jm-glibc-io.m4, as they are no longer a special case.
87296         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
87297         kludge and the auto-generation stuff.  Check only whether the
87298         functions are declared, not whether they exist, since older hosts
87299         that don't declare the functions can't use the optimization anyway.
87300
87301 2002-12-06  Jim Meyering  <jim@meyering.net>
87302
87303         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
87304
87305         Merge in changes from libc's misc/error.c, in preparation
87306         for the merge of gnulib's changes back into libc.
87307
87308         * lib/error.c (_): Define only if not already defined.
87309         Move definition to follow all #include directives.
87310         Include unlocked-io.h only if !_LIBC.
87311         [_LIBC]: Include <libio/libioP.h>.
87312         [USE_IN_LIBIO]: Include <libio/iolibio.h>
87313         (fflush): Tweak definition to use INTUSE.
87314         (putc): Define.
87315
87316 2002-12-05  Paul Eggert  <eggert@twinsun.com>
87317
87318         * lib/alloca.c [defined emacs]: Include "lisp.h".
87319         (xalloc_die) [defined emacs]: New macro.
87320         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
87321         [! defined emacs]: Include <xalloc.h>.
87322         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
87323         (pointer): Typedef to POINTER_TYPE *.
87324         (malloc): Remove decl; we now always use xmalloc.
87325         (alloca): Use old-style definition, since Emacs needs this.
87326         Check for arithmetic overflow when computing combined size.
87327
87328 2002-12-04  Paul Eggert  <eggert@twinsun.com>
87329
87330         Do not generate unlocked-io.h automatically, since it's easier to
87331         maintain it by hand.
87332
87333         * lib/unlocked-io.h: New file, from GNU diffutils,
87334         but with proper copyright notice and attribution.
87335         * lib/gen-uio: Remove.
87336         * lib/Makefile.am: Add copyright notice.
87337         (libfetish_a_SOURCES): Add unlocked-io.h.
87338         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
87339         (DISTCLEANFILES, io_functions): Remove macros.
87340         (EXTRA_DIST): Remove gen_uio.
87341         (unlocked-io.h): Remove rule.
87342
87343 2002-12-04  Jim Meyering  <jim@meyering.net>
87344
87345         Reflect the fact that stat.c and lstat.c are no longer generated.
87346         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
87347         (DISTCLEANFILES): Likewise.
87348         (EXTRA_DIST): Likewise.
87349         (all_local): Don't depend on stat.c or lstat.c.
87350         (stat.c, lstat.c): Remove rules.
87351         (EXTRA_DIST): Remove xstat.in.
87352
87353         * lib/xstat.in: Remove file.  Contents moved into stat.c.
87354         * lib/stat.c: New file.  Contents mostly from xstat.in.
87355         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
87356         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
87357
87358         * lib/safe-read.c: Rework so that it may serve to define safe_write,
87359         too.
87360         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
87361
87362 2002-12-03  Jim Meyering  <jim@meyering.net>
87363
87364         * lib/safe-read.c, safe-write.c: Change variable names and comments,
87365         but not semantics, to minimize the differences between these two files.
87366         (safe_read): Change comment to mention SAFE_READ_ERROR.
87367
87368         * lib/safe-read.c (IS_EINTR): Define.
87369         (safe_read): Use IS_EINTR in place of in-function cpp directives.
87370
87371 2002-12-02  Jim Meyering  <jim@meyering.net>
87372
87373         * lib/safe-read.c (EINTR): Define.
87374         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
87375         (INT_MAX): Provide fallback.
87376         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
87377
87378         * lib/safe-read.h (SAFE_READ_ERROR): Define.
87379
87380 2002-12-02  Bruno Haible  <bruno@clisp.org>
87381
87382         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
87383         Define, taken from safe-read.c.
87384         (INT_MAX): Provide fallback.
87385         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
87386         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
87387
87388         * lib/safe-read.c (EINTR): Remove definition.
87389         (safe_read): Don't use EINTR if it is absent.
87390
87391 2002-12-01  Jim Meyering  <jim@meyering.net>
87392
87393         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
87394         zero.
87395         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
87396
87397 2002-11-27  Paul Eggert  <eggert@twinsun.com>
87398
87399         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
87400         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
87401         with `if (! (value < limit)) abort ();', for readability.
87402
87403 2002-11-26  Karl Berry  <karl@gnu.org>
87404
87405         * lib/strdup.c: copy from libc again, with jim's ok.
87406         * lib/.cppi-disable: re-add strdup.c
87407
87408 2002-11-25  Karl Berry  <karl@gnu.org>
87409
87410         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
87411         instead of "strtol.c".
87412
87413 2002-11-25  Karl Berry  <karl@gnu.org>
87414
87415         * config/install-sh: update from automake for variable quoting, $0 in
87416         error msgs, etc.
87417
87418         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
87419         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
87420         entry.
87421
87422 2002-11-25  Jim Meyering  <jim@meyering.net>
87423
87424         * lib/mktime.c: Sync from libc, now that it has the latest fix.
87425
87426 2002-11-24  Karl Berry  <karl@gnu.org>
87427
87428         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
87429         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
87430
87431 2002-11-24  Jim Meyering  <jim@meyering.net>
87432
87433         Update from coreutils:
87434
87435         * lib/mktime.c: Merge in changes from libc.
87436
87437         Avoid a link-time failure on some Linux systems.
87438         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
87439         (otherwise).
87440         (__mon_yday): Declare with the STATIC attribute.
87441         (__mktime_internal): Likewise.
87442         Based on a report from Greg Schafer.
87443
87444 2002-11-23  Jim Meyering  <jim@meyering.net>
87445
87446         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
87447         Use `unsigned', not `int', as type of index.
87448
87449         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
87450
87451         * lib/fsusage.c: Remove unneeded parentheses around operands of
87452         `defined'.
87453
87454 2002-11-22  Paul Eggert  <eggert@twinsun.com>
87455
87456         * lib/quotearg.h: Allow multiple inclusion by surrounding with
87457         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
87458         so that we can be included first.
87459         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
87460         * lib/quotearg.c: Include quotearg.h immediately after config.h.
87461         No need to include stddef.h or sys/types.h any more.
87462         Surround local include files with "", not "<>".
87463         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
87464         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
87465         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
87466         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
87467         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
87468         (ISPRINT): Remove; no longer needed now that we assume C89.
87469
87470         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
87471         Preserve errno.
87472
87473         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
87474         quotearg_char): Use SIZE_MAX rather than
87475         (size_t) -1 when we are talking about "infinity".
87476
87477         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
87478
87479 2002-11-22  Paul Eggert  <eggert@twinsun.com>
87480
87481         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
87482         hint that one should use `if (! x) abort ();' rather than `assert
87483         (x);', and anyway it's one less thing to worry about configuring.
87484         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
87485         hash_rehash, hash_insert): Use abort rather than assert.
87486
87487 2002-11-22  Bruno Haible  <bruno@clisp.org>
87488
87489         * lib/safe-read.h: Assume C89. Add comments.
87490         (safe_read): Change return type to size_t.
87491         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
87492         byte counts > SSIZE_MAX correctly.
87493         * lib/safe-write.h: New file.
87494         * lib/safe-write.c: New file.
87495         * lib/full-read.h: New file.
87496         * lib/full-read.c: New file.
87497         * lib/full-write.h: Assume C89. Add comments.
87498         * lib/full-write.c: Include safe-write.h.
87499         (full_write): Rewritten to use safe_write.
87500         Suggested by Jim Meyering and Paul Eggert.
87501
87502 2002-11-21  Jim Meyering  <jim@meyering.net>
87503
87504         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
87505
87506         Merge in changes from the coreutils.
87507
87508         2002-09-25  Paul Eggert  <eggert@twinsun.com>
87509         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
87510         <stdint.h>.
87511         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
87512         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
87513         int.  Work more efficiently if X is the same width as uintmax_t.
87514         Do not compare X to -1, to avoid bogus compiler warning.
87515         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
87516         Don't assume that f_frsize and f_bsize are the same type.
87517
87518         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
87519         warning on FreeBSD.
87520
87521         * lib/makepath.c (make_path): Restore umask *before* creating the final
87522         component.
87523         (make_path): Minor reformatting.
87524
87525         * lib/xmalloc.c: Adjust to work with new autoconf macros,
87526         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
87527         HAVE_MALLOC/HAVE_REALLOC.
87528
87529         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
87530         dummy ones.  At least on GNU/Linux systems, `auto' means something
87531         else.
87532         From Michael Stone.
87533
87534 2002-11-21  Bruno Haible  <bruno@clisp.org>
87535
87536         Remove case insensitive option matching.
87537         * lib/argmatch.h (argcasematch): Remove declaration.
87538         (ARGCASEMATCH): Remove macro.
87539         (__xargmatch_internal): Remove case_sensitive argument.
87540         (XARGMATCH): Update.
87541         (XARGCASEMATCH): Remove macro.
87542         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
87543         case_sensitive argument.
87544         (argcasematch): Remove function.
87545         (__xargmatch_internal): Remove case_sensitive argument.
87546         (main): Use XARGMATCH instead of XARGCASEMATCH.
87547
87548         * lib/xmalloc.c: Change compile-time error message. Add comment about
87549         required autoconf version.
87550
87551 2002-11-20  Paul Eggert  <eggert@twinsun.com>
87552
87553         Merge argmatch cleanups from Bison.  Assume C89.
87554
87555         * lib/argmatch.c: Include config.h here, not in argmatch.h.
87556         Include stdlib.h, for EXIT_FAILURE.
87557         Always include <string.h>, since we assume C89.
87558         (EXIT_FAILURE): Remove pre-C89 bug workaround.
87559         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
87560         Include <stddef.h> instead, since it's all we need for size_t.
87561         (PARAMS): Remove.  All uses removed.
87562         (ARRAY_CARDINALITY): Do not bother to #undef.
87563         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
87564         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
87565         Remove unnecessary parentheses.
87566         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
87567         Insert necessary parentheses.
87568         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
87569         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
87570
87571 2002-11-19  Bruno Haible  <bruno@clisp.org>
87572
87573         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
87574         * lib/mbswidth.h: Include <stddef.h>, for size_t.
87575
87576         * lib/mbswidth.h (PARAMS): Remove macro.
87577         (mbswidth, mbsnwidth): Use ANSI C function declarations.
87578         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
87579
87580         * lib/gcd.h (PARAMS): Remove macro.
87581         (gcd): Use ANSI C function declarations.
87582         * lib/gcd.c (gcd): Likewise.
87583
87584 2002-11-15  Bruno Haible  <bruno@clisp.org>
87585
87586         * lib/strcspn.c: Include <stddef.h>.
87587         (strcspn): Use ANSI C function declaration. Change return type to
87588         size_t. Use NULL.
87589         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
87590         (strpbrk): Use NULL.
87591         * lib/strpbrk.h (PARAMS): Remove macro.
87592         (strpbrk): Use ANSI C function declaration.
87593         * lib/strstr.c: Don't include <sys/types.h>.
87594         * lib/strstr.h (PARAMS): Remove macro.
87595         (strstr): Use ANSI C function declarations.
87596
87597 2002-11-14  Karl Berry  <karl@gnu.org>
87598
87599         * config/mkinstalldirs: `do' on separate line, instead of
87600         `for var; do'.
87601
87602 2002-11-06  Bruno Haible  <bruno@clisp.org>
87603
87604         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
87605         * lib/gcd.c (gcd): Likewise.
87606
87607 2002-11-05  Bruno Haible  <bruno@clisp.org>
87608
87609         * lib/gcd.h: New file, from gettext-0.11.5.
87610         * lib/gcd.c: New file, from gettext-0.11.5.
87611
87612 2002-11-05  Bruno Haible  <bruno@clisp.org>
87613
87614         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
87615         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
87616         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
87617         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
87618
87619         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
87620         <libintl.h>.
87621         * lib/makepath.c: Include gettext.h instead of <locale.h> and
87622         <libintl.h>.
87623
87624         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
87625         * lib/human.c: Include gettext.h instead of <libintl.h>.
87626         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
87627         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
87628         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
87629         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
87630         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
87631         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
87632         (textdomain): Remove definition.
87633         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
87634
87635         * lib/long-options.c: Remove include of <libintl.h> and definition of
87636         _.
87637         * lib/same.c: Remove include of <libintl.h> and definition of _.
87638
87639 2002-11-04  Owen Taylor  <otaylor@redhat.com>
87640
87641         * lib/config.charset: A few additions for Solaris.
87642
87643 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
87644
87645         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
87646         * lib/localcharset.c (locale_charset): Declare as extern "C".
87647
87648 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
87649
87650         * lib/config.charset: msdos in uk_UA uses CP1125.
87651
87652 2002-11-04  Bruno Haible  <bruno@clisp.org>
87653
87654         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
87655         * lib/strcase.h: New file, from GNU gettext-0.11.5.
87656         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
87657         * lib/strstr.h: New file, from GNU gettext-0.11.5.
87658         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
87659
87660 2002-11-04  Bruno Haible  <bruno@clisp.org>
87661
87662         * lib/localcharset.c (locale_charset): Don't return an empty string.
87663
87664 2002-11-04  Bruno Haible  <bruno@clisp.org>
87665
87666         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
87667         aliases.
87668
87669 2002-11-04  Bruno Haible  <bruno@clisp.org>
87670
87671         * lib/config.charset: Update for newest glibc. Add canonical names
87672         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
87673
87674 2002-11-04  Bruno Haible  <bruno@clisp.org>
87675
87676         * lib/config.charset: Add support for NetBSD.
87677
87678 2002-11-04  Bruno Haible  <bruno@clisp.org>
87679
87680         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
87681
87682 2002-11-01  Bruno Haible  <bruno@clisp.org>
87683
87684         * configure.in: Add AC_CONFIG_AUX_DIR call.
87685         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
87686         test/Makefile.
87687         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
87688
87689 2002-09-28  Karl Berry  <karl@gnu.org>
87690
87691         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
87692         installed automake until the next release, since changes have been
87693         made.
87694
87695 2002-09-25  Karl Berry  <karl@gnu.org>
87696
87697         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
87698         * lib/getopt*: copy from libc/posix.
87699         * lib/gettext.h: copy from gettext.
87700         * lib/.cppi-disable: add strdup.c, gettext.h.
87701
87702 2002-09-25  Karl Berry  <karl@gnu.org>
87703
87704         * config/srclist.txt: enable gettext.h check.
87705         * config/config.{guess,sub}: update from prep.
87706         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
87707                 from automake 1.6.3.
87708         See srclist*.
87709
87710 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
87711
87712         * regex.c (PATFETCH): Remove the translating fetch.
87713         (PATFETCH_RAW): Rename to PATFETCH.
87714         (set_image_of_range): New fun.
87715         (SET_RANGE_TABLE_WORK_AREA): Use it.
87716         (regex_compile): Don't translate the pattern chars so eagerly.
87717         Only do it when inserting an `exactn' bytecode or when handling
87718         a char-range.
87719         (mutually_exclusive_p): Avoid empty statement.
87720
87721 2002-07-06  Jim Meyering  <meyering@lucent.com>
87722
87723         * m4/README: Don't mention Makefile.am.in.
87724         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
87725
87726 2002-07-01  Jim Meyering  <meyering@lucent.com>
87727
87728         * lib/c-stack.c: Include sys/time.h.
87729         From Volker Borchert.
87730
87731 2002-06-26  Paul Eggert  <eggert@twinsun.com>
87732
87733         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
87734
87735 2002-06-26  Paul Eggert  <eggert@twinsun.com>
87736
87737         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
87738         New macro.  Use it uniformly instead of
87739         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
87740         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
87741         reported by Vin Shelton.
87742
87743 2002-06-22  Paul Eggert  <eggert@twinsun.com>
87744
87745         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
87746         Do not assume SA_SIGINFO behavior.
87747         Bug reported by Jim Meyering on NetBSD 1.5.2.
87748
87749 2002-06-22  Jim Meyering  <meyering@lucent.com>
87750
87751         * m4/c-stack.m4: New file, from diffutils-2.8.2.
87752         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
87753
87754         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
87755         now that configure.ac uses AC_GNU_SOURCE.
87756         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
87757         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
87758
87759         Update to latest tools.  Suggestions from Paul Eggert.
87760         * m4/stdbool.m4: New file, from diffutils-2.8.2.
87761         * m4/gnu-source.m4: Update from diffutils-2.8.2.
87762         * m4/fnmatch.m4: Likewise.
87763         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
87764         to AC_HEADER_STDBOOL
87765
87766 2002-06-22  Jim Meyering  <meyering@lucent.com>
87767
87768         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
87769         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
87770
87771 2002-06-22  Jim Meyering  <meyering@lucent.com>
87772
87773         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
87774
87775         * lib/exitfail.c, exitfail.h: Likewise.
87776         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
87777
87778         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
87779         of fnmatch.h.
87780         (EXTRA_DIST): Add fnmatch_loop.c.
87781         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
87782
87783         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
87784         * lib/fnmatch.c: Update from diffutils-2.8.2.
87785         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
87786         * lib/fnmatch.h: Remove file.
87787
87788 2002-06-21  Jim Meyering  <meyering@lucent.com>
87789
87790         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
87791         * m4/mbrtowc.m4: Likewise.
87792
87793         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
87794         * m4/mbswidth.m4: Reflect name change:
87795         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
87796         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
87797
87798         * m4/lib-link.m4: Update from gettext-0.11.2.
87799         * m4/gettext.m4: Likewise.
87800
87801         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
87802         From Alfred M. Szmidt.
87803
87804 2002-06-18  Paul Eggert  <eggert@twinsun.com>
87805
87806         * lib/file-type.h: Report an error if neither S_ISREG nor
87807         S_IFREG is defined, instead of using a test specific to glibc
87808         2.2.  This should be safe, since POSIX requires S_ISREG and
87809         Unix Version 7 had S_IFREG.  We don't need to check for
87810         <sys/types.h> since we don't use any symbols that it defines.
87811
87812 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
87813
87814         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
87815         $@-t, so that each temporary file name is unique and valid in the first
87816         8 characters, for operation under DOS.
87817
87818 2002-06-15  Paul Eggert  <eggert@twinsun.com>
87819
87820         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
87821
87822 2002-06-15  Jim Meyering  <meyering@lucent.com>
87823
87824         Work even with DJGPP 2.03, which lacks support for symlinks.
87825         From Richard Dawe.
87826         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
87827         is defined.
87828         * lib/lchown.c (S_ISLNK): Likewise.
87829
87830 2002-06-15  Jim Meyering  <meyering@lucent.com>
87831
87832         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
87833         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
87834         have been included before this file.
87835
87836 2002-06-14  Jim Meyering  <meyering@lucent.com>
87837
87838         * lib/file-type.h: Use the version from diffutils-2.8.2.
87839         * lib/file-type.c: Likewise.
87840
87841 2002-06-07  Jim Meyering  <meyering@lucent.com>
87842
87843         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
87844         They're needed at least for NetBSD 1.5.2.
87845         ($statxfs_includes): Include those same headers.
87846         ($statxfs_includes): Include sys/vfs.h if available.
87847         ($statxfs_includes): Likewise for sys/statvfs.h.
87848         Check for the following members in both structs statfs and statvfs:
87849         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
87850
87851 2002-06-01  Jim Meyering  <meyering@lucent.com>
87852
87853         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
87854         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
87855
87856 2002-05-28  Jim Meyering  <meyering@lucent.com>
87857
87858         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
87859         Reported by Volker Borchert.
87860
87861 2002-05-27  Jim Meyering  <meyering@lucent.com>
87862
87863         Fix a problem seen only on nonconforming systems whereby ls.c's
87864         use of localtime, and then of gettimeofday would cause trouble:
87865         the localtime call used to initialize rpl_gettimeofday's save
87866         mechanism would clobber ls's current local time information so
87867         that in any long listing the first file would always be listed
87868         with date 1970-01-01.  Analysis by Volker Borchert.
87869
87870         * lib/gettimeofday.c (localtime): Undefine.
87871         (rpl_localtime): New function.
87872
87873 2002-05-27  Jim Meyering  <meyering@lucent.com>
87874
87875         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
87876         localtime.
87877
87878         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
87879         use the replacement function; it wouldn't resolve at link time.
87880         Reported by Volker Borchert.
87881
87882 2002-05-22  Jim Meyering  <meyering@lucent.com>
87883
87884         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
87885         file-type.h.
87886         * lib/file-type.h: New file.
87887         * lib/file-type.c (file_type): New file/function.  Extracted from
87888         diffutils.
87889
87890 2002-04-30  Jim Meyering  <meyering@lucent.com>
87891
87892         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
87893
87894 2002-04-29  Paul Eggert  <eggert@twinsun.com>
87895
87896         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
87897
87898 2002-04-29  Paul Eggert  <eggert@twinsun.com>
87899
87900         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
87901         Do not check for alloca.h (no longer used) or stdbool.h (was never
87902         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
87903
87904 2002-04-29  Paul Eggert  <eggert@twinsun.com>
87905
87906         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
87907
87908 2002-04-29  Jim Meyering  <meyering@lucent.com>
87909
87910         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
87911         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
87912         Use AC_FUNC_STRNLEN here instead.
87913
87914         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
87915         With autoconf-2.53a, it's part of AC_PROG_CC.
87916
87917 2002-04-28  Paul Eggert  <eggert@twinsun.com>
87918
87919         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
87920         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
87921
87922 2002-04-28  Paul Eggert  <eggert@twinsun.com>
87923
87924         * lib/sig2str.h, lib/sig2str.c: New files.
87925         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
87926
87927 2002-04-28  Paul Eggert  <eggert@twinsun.com>
87928
87929         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
87930         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
87931         of 127, since 64 is the largest conceivable number for ancient
87932         nonstandard hosts.
87933         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
87934
87935 2002-04-28  Jim Meyering  <meyering@lucent.com>
87936
87937         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
87938
87939 2002-04-24  Jim Meyering  <meyering@lucent.com>
87940
87941         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
87942         (jm_PREREQ): Use it.
87943
87944         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
87945         mach/mach.h fcntl.h.
87946         Check for this function: setlocale.
87947
87948 2002-04-24  Jim Meyering  <meyering@lucent.com>
87949
87950         * lib/gettext.h: New file, from Gettext.
87951         * lib/Makefile.am (INCLUDES): Remove -I../intl.
87952         (libfetish_a_SOURCES): Add gettext.h.
87953
87954 2002-04-16  Jim Meyering  <meyering@lucent.com>
87955
87956         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
87957         ut_pid, ut_id, ut_exit.
87958
87959 2002-04-16  Jim Meyering  <meyering@lucent.com>
87960
87961         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
87962         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
87963         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
87964
87965 2002-04-12  Jim Meyering  <meyering@lucent.com>
87966
87967         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
87968         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
87969         existence of the getmntinfo function.  Needed for Darwin 5.3.
87970
87971         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
87972         This is necessary at least on Darwin 5.3.
87973
87974         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
87975         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
87976         strnlen.o in the library, and that makes some versions of ranlib
87977         object.
87978
87979 2002-04-12  Jim Meyering  <meyering@lucent.com>
87980
87981         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
87982
87983 2002-04-09  Jim Meyering  <meyering@lucent.com>
87984
87985         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
87986         to be more precise.  Rather than saying we're checking whether the
87987         function `works', say what we're testing.
87988         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
87989         Reported by Bruno Haible.
87990
87991 2002-03-10  Jim Meyering  <meyering@lucent.com>
87992
87993         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
87994         Suggestion from Santiago Vila.
87995
87996 2002-03-08  Jim Meyering  <meyering@lucent.com>
87997
87998         * lib/rename.c: Mention that this wrapper is needed also on
87999         mips-dec-ultrix4.4 systems.
88000
88001 2002-03-02  Jim Meyering  <meyering@lucent.com>
88002
88003         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
88004         not HAVE_CLOCK_SETTIME.
88005
88006 2002-02-27  Paul Eggert  <eggert@twinsun.com>
88007
88008         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
88009         Check for clock_settime.
88010
88011 2002-02-27  Paul Eggert  <eggert@twinsun.com>
88012
88013         * lib/nanosleep.h: Rename to....
88014         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
88015
88016         * lib/gettime.c: New file.
88017         * lib/settime.c: New file.
88018         * lib/stime.c: Remove.
88019
88020         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
88021         timespec.h.  Remove nanosleep.h.
88022
88023 2002-02-25  Paul Eggert  <eggert@twinsun.com>
88024
88025         * m4/acl.m4: New file.
88026         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
88027         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
88028
88029 2002-02-25  Paul Eggert  <eggert@twinsun.com>
88030
88031         * lib/acl.c, lib/acl.h: New files.
88032         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
88033
88034 2002-02-24  Jim Meyering  <meyering@lucent.com>
88035
88036         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
88037         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
88038         cause trouble.  Reported by Nelson Beebe.
88039
88040 2002-02-23  Paul Eggert  <eggert@twinsun.com>
88041
88042         * lib/path-concat.c (xpath_concat): Reorder code to pacify
88043         compilers that don't know that xalloc_die never returns.
88044
88045 2002-02-20  Jim Meyering  <meyering@lucent.com>
88046
88047         * lib/getdate.c: Regenerate using bison-1.33.
88048
88049 2002-02-17  Jim Meyering  <meyering@lucent.com>
88050
88051         * config/config.guess (main): Don't use `head -1'; it's no longer
88052         portable. Use `sed 1q' instead.
88053
88054 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
88055
88056         * m4/codeset.m4: Upgrade to gettext-0.11.
88057         * m4/gettext.m4: Upgrade to gettext-0.11.
88058         * m4/glibc21.m4: Upgrade to gettext-0.11.
88059         * m4/iconv.m4: Upgrade to gettext-0.11.
88060         * m4/isc-posix.m4: Upgrade to gettext-0.11.
88061         * m4/lcmessage.m4: Upgrade to gettext-0.11.
88062         * m4/lib-ld.m4: New file, from gettext-0.11.
88063         * m4/lib-link.m4: New file, from gettext-0.11.
88064         * m4/lib-prefix.m4: New file, from gettext-0.11.
88065         * m4/progtest.m4: Upgrade to gettext-0.11.
88066
88067 2002-02-15  Paul Eggert  <eggert@twinsun.com>
88068
88069         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
88070         (jm_PREREQ): Use it.
88071
88072 2002-02-15  Paul Eggert  <eggert@twinsun.com>
88073
88074         * lib/posixver.c, lib/posixver.h: New files.
88075         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
88076
88077 2002-02-02  Paul Eggert  <eggert@twinsun.com>
88078             Bruno Haible  <bruno@clisp.org>
88079
88080         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
88081         (fwrite_success_callback): New declaration.
88082         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
88083         print_unicode_char. Call failure callback instead of error.
88084         (fwrite_success_callback): New function.
88085         (exit_failure_callback): New function.
88086         (fallback_failure_callback): New function.
88087         (print_unicode_char): Call unicode_to_mb.
88088
88089 2002-01-26  Jim Meyering  <meyering@lucent.com>
88090
88091         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
88092         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
88093
88094 2002-01-26  Jim Meyering  <meyering@lucent.com>
88095
88096         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
88097
88098 2002-01-22  Paul Eggert  <eggert@twinsun.com>
88099
88100         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
88101
88102 2002-01-22  Jim Meyering  <meyering@lucent.com>
88103
88104         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
88105         Otherwise, some versions of automake would omit the rule that makes
88106         Makefile from Makefile.in.
88107
88108 2002-01-21  Paul Eggert  <eggert@twinsun.com>
88109
88110         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
88111         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
88112         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
88113         (memcoll): Set errno to zero if there is no error.
88114
88115         * lib/quotearg.c (quotearg_buffer_restyled):
88116         Fix bug with quoting buffers containing NUL when backslashing escapes.
88117         This bug was exposed by the other changes in this patch.
88118         (quotearg_n_options): New arg ARGSIZE.
88119         All callers changed.
88120         (quoting_options_from_style): New function.
88121         (quotearg_n_style): Use it.
88122         (quotearg_n_style_mem): New function.
88123
88124         * lib/quotearg.h (quotearg_n_style_mem): New function.
88125
88126 2002-01-19  Jim Meyering  <meyering@lucent.com>
88127
88128         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
88129         Remove useless quotes: DF_PROG="df".
88130         * m4/strnlen.m4: New file.
88131
88132 2002-01-16  Paul Eggert  <eggert@twinsun.com>
88133
88134         * lib/backupfile.c (ISDIGIT): Comment fix.
88135         * lib/getdate.y (ISDIGIT): Likewise.
88136         * lib/posixtm.c (ISDIGIT, year): Likewise.
88137         * lib/strverscmp.c (ISDIGIT): Likewise.
88138         * lib/userspec.c (ISDIGIT): Likewise.
88139
88140 2002-01-16  Jim Meyering  <meyering@lucent.com>
88141
88142         * lib/getdate.y: Add three semicolons, each just before a closing
88143         brace. Bison (as of version 1.31) no longer papers over that mistake.
88144
88145 2002-01-05  Jim Meyering  <meyering@lucent.com>
88146
88147         * lib/version-etc.c (version_etc_copyright): Update copyright year.
88148
88149 2001-12-19  Paul Eggert  <eggert@twinsun.com>
88150
88151         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
88152         not silently exit merely because the output buffer happens to
88153         have nothing pending.
88154
88155 2001-12-18  Paul Eggert  <eggert@twinsun.com>
88156
88157         See the big note in ../ChangeLog.
88158         * lib/human.c (suffixes): Prefer K to k for 1024.
88159         (generate_suffix_backwards): New function.
88160         (human_readable_inexact): Use it.
88161         * lib/xstrtol.c (__xstrtol): If there is no number but there
88162         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
88163         Accept 'K' as well as 'k'.
88164
88165 2001-12-15  Jim Meyering  <meyering@lucent.com>
88166
88167         * lib/regex.h (__restrict_arr): Update from libc.
88168
88169         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
88170         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
88171         (STREQ): Define.
88172
88173 2001-12-14  Jim Meyering  <meyering@lucent.com>
88174
88175         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
88176         Suggestion from Bruno Haible.
88177
88178 2001-12-10  Jim Meyering  <meyering@lucent.com>
88179
88180         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
88181         xrealloc, Instead, include "xalloc.h".
88182         (initbuffer): Don't cast xmalloc return value to char*.
88183         (readline): Reword comment.
88184         Don't cast xrealloc return value to char*
88185         Return NULL, not 0.
88186
88187 2001-12-09  Jim Meyering  <meyering@lucent.com>
88188
88189         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
88190         about `signed and unsigned type in conditional expression'.
88191         * lib/posixtm.c (posix_time_parse): Likewise.
88192
88193         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
88194
88195         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
88196         to avoid a pedantic warning.
88197
88198         * lib/getstr.c: Don't include assert.h.
88199         (getstr): Remove warning-evoking assertions.
88200         Return -1 if offset parameter is out of bounds.
88201         Change the type of a local from int to size_t.
88202
88203         * lib/strftime.c (my_strftime_localtime_r): Include this function
88204         definition in the `#if ! HAVE_TM_GMTOFF' block.
88205
88206         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
88207         Include xalloc.h instead.
88208
88209 2001-12-02  Jim Meyering  <meyering@lucent.com>
88210
88211         * lib/tempname.c: Don't declare getenv, thus reverting the change of
88212         2001-11-18.  It's no longer necessary, now that stdlib.h is always
88213         included.
88214
88215         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
88216         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
88217
88218 2001-11-30  Akim Demaille  <akim@epita.fr>
88219
88220         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
88221         before being defined.
88222
88223 2001-11-27  Paul Eggert  <eggert@twinsun.com>
88224
88225         * lib/quotearg.h (quotearg_n, quotearg_n_style):
88226         First arg is int, not unsigned.
88227         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
88228         (SIZE_MAX, UINT_MAX): New macros.
88229         (quotearg_n_options): Abort if N is negative.
88230         Avoid overflow check on hosts where size_t is 64 bits and int
88231         is 32 bits, as overflow is impossible there.
88232         Fix off-by-one typo that caused unnecessary reallocation.
88233
88234 2001-11-27  Jim Meyering  <meyering@lucent.com>
88235
88236         * lib/tempname.c: Merge with version from libc.
88237         * lib/regex.c: Likewise.
88238
88239         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
88240         systems for which STDC_HEADERS is 0, it was not included, resulting in
88241         a warning about an integer-to-pointer conversion problem with getenv.
88242         Reported by Volker Borchert.
88243
88244 2001-11-26  Jim Meyering  <meyering@lucent.com>
88245
88246         * lib/gtod.h: Remove file.
88247         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
88248         * lib/gettimeofday.c: Don't include gtod.h.
88249         (GTOD_init): Remove function.
88250         (rpl_gettimeofday): Do its job here instead, rather than aborting.
88251         Suggestion from Volker Borchert.
88252
88253 2001-11-23  Jim Meyering  <meyering@lucent.com>
88254
88255         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
88256         it.
88257         * lib/hash.c (struct hash_table): Define it here instead.
88258
88259 2001-11-22  Jim Meyering  <meyering@lucent.com>
88260
88261         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
88262
88263 2001-11-20  Jim Meyering  <meyering@lucent.com>
88264
88265         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
88266         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
88267
88268 2001-11-19  Jim Meyering  <meyering@lucent.com>
88269
88270         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
88271         directory.  Use "conftestXXXXXX" as the template.
88272         Suggestion from Paul Eggert.
88273
88274         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
88275         immediately, so the test doesn't mistakenly hit the max-open-files
88276         limit.
88277
88278 2001-11-18  Paul Eggert  <eggert@twinsun.com>
88279
88280         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
88281         (TEMPORARIES): New macro.
88282         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
88283         removes an artificial limitation (e.g. HP-UX 10.20, where
88284         TMP_MAX is 17576).
88285
88286 2001-11-18  Jim Meyering  <meyering@lucent.com>
88287
88288         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
88289
88290 2001-11-18  Jim Meyering  <meyering@lucent.com>
88291
88292         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
88293         on SunOS 4.
88294
88295         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
88296         files will be created before anything else.
88297
88298 2001-11-17  Paul Eggert  <eggert@twinsun.com>
88299
88300         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
88301         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
88302
88303 2001-11-17  Jim Meyering  <meyering@lucent.com>
88304
88305         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
88306         Prompted by a report from Bob Proulx.
88307
88308         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
88309         Instead, require UTILS_FUNC_MKSTEMP.
88310
88311 2001-11-17  Jim Meyering  <meyering@lucent.com>
88312
88313         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
88314         Now, that's done as part of AC_FUNC_STRTOD.
88315
88316 2001-11-17  Jim Meyering  <meyering@lucent.com>
88317
88318         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
88319         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
88320         rather than group writable.  Patch by Juan F. Codagnone.
88321
88322         * lib/readtokens.c: Remove explicit declarations of xmalloc and
88323         xrealloc, Instead, include "xalloc.h".
88324
88325         * lib/mountlist.c: Include unlocked-io.h after all system headers.
88326         Remove explicit declarations of xmalloc, xrealloc,
88327         and xstrdup.  Instead, include "xalloc.h".
88328
88329         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
88330         unlocked-io.h.
88331         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
88332         Likewise.
88333         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
88334
88335         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
88336         Reported by Padraig Brady.
88337
88338         * lib/mkstemp.c: #undef mkstemp.
88339         Include config.h.
88340         (rpl_mkstemp): Rename from mkstemp.
88341         Protoize.
88342
88343 2001-11-16  Jim Meyering  <meyering@lucent.com>
88344
88345         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
88346         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
88347         determine the amount of total physical memory, use pstat_getstatic.
88348         HPUX-11 doesn't define _SC_PHYS_PAGES.
88349         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
88350         If sysconf couldn't be used to determine the amount of available
88351         physical memory, use both pstat_getstatic and pstat_getdynamic.
88352         Based on a patch from Bob Proulx.
88353
88354 2001-11-10  Jim Meyering  <meyering@lucent.com>
88355
88356         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
88357         (jm_PREREQ): Use it.
88358
88359 2001-11-09  Jim Meyering  <meyering@lucent.com>
88360
88361         * m4/jm-macros.m4: Require autoconf-2.52f.
88362         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
88363         Use these AC_-prefixed names, not the AM_-prefixed ones.
88364
88365         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
88366
88367 2001-11-05  Jim Meyering  <meyering@lucent.com>
88368
88369         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
88370
88371 2001-11-04  Jim Meyering  <meyering@lucent.com>
88372
88373         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
88374         $DEFS.
88375
88376 2001-11-03  Jim Meyering  <meyering@lucent.com>
88377
88378         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
88379         of AC_DEFUN.
88380
88381         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
88382         know the name of the variable in the macro definition.
88383
88384 2001-11-03  Jim Meyering  <meyering@lucent.com>
88385
88386         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
88387         in argmatch_to_argument call.
88388
88389         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
88390         argument.
88391
88392         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
88393         e.g., a fault due to an attempt to free a NULL pointer.
88394
88395 2001-11-01  Jim Meyering  <meyering@lucent.com>
88396
88397         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
88398         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
88399
88400 2001-11-01  Jim Meyering  <meyering@lucent.com>
88401
88402         * lib/dirfd.c, lib/dirfd.h: New files.
88403         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
88404
88405         * lib/hash.c (hash_print) [TESTING]: Clean up.
88406
88407 2001-10-22  Paul Eggert  <eggert@twinsun.com>
88408
88409         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
88410         to avoid a warning if -Wall.
88411
88412 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
88413
88414         * README: New file
88415         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
88416         (per RMS's instructions, this is now the canonical source)
88417         * lgpl/, gpl/: New directories.
88418
88419 2001-10-21  Paul Eggert  <eggert@twinsun.com>
88420
88421         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
88422
88423 2001-10-21  Jim Meyering  <meyering@lucent.com>
88424
88425         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
88426         this code would end up calling gettext even in packages built
88427         with --disable-nls.
88428         * lib/getopt.c (_): Likewise.
88429         * lib/regex.c (_): Likewise.
88430
88431 2001-10-20  Paul Eggert  <eggert@twinsun.com>
88432
88433         * m4/error.m4 (jm_PREREQ_ERROR):
88434         Do not invoke AC_CHECK_FUNCS with strerror_r, as
88435         AC_FUNC_STRERROR_R does that.
88436         Check for strerror declaration.
88437
88438         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
88439         are supposed to have them these days.
88440         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
88441         Merge changes from latest Autoconf CVS.
88442         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
88443         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
88444         POSIX decided to standardize on the int flavor of strerror_r.
88445
88446 2001-10-20  Paul Eggert  <eggert@twinsun.com>
88447
88448         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
88449         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
88450         Use strerror_r that is only a macro, even if it is not a function.
88451         (strerror): Check for HAVE_DECL_STRERROR before declaring.
88452         (private_strerror): Use prototypes, not old-style function definition.
88453         (print_errno_message): New function.
88454         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
88455         char*-flavored one.
88456         (error_tail, error, error_at_line): Use it.
88457
88458 2001-10-11  Jim Meyering  <meyering@lucent.com>
88459
88460         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
88461         and quote_n (1, ... to avoid clobbering a buffer.
88462
88463 2001-10-05  Jim Meyering  <meyering@lucent.com>
88464
88465         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
88466         hash-pjw.h.
88467         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
88468         * lib/hash-pjw.h: New file.
88469
88470 2001-09-30  Jim Meyering  <meyering@lucent.com>
88471
88472         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
88473         `struct fsstat' has the `f_fstypename' member.
88474         Use that to define FS_TYPE, which is now used to make
88475         the getfsstat link test tighter.
88476
88477 2001-09-30  Jim Meyering  <meyering@lucent.com>
88478
88479         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
88480         Include <sys/ucred.h>, for Apple Darwin.
88481         Include sys/mount.h and sys/fs_types.h only if available.
88482         (FS_TYPE): Define.
88483         (read_filesystem_list): Use FS_TYPE.
88484
88485 2001-09-29  Paul Eggert  <eggert@twinsun.com>
88486
88487         * lib/exclude.c (excluded_filename): 0 -> false, since it's
88488         a boolean context.
88489
88490 2001-09-29  Jim Meyering  <meyering@lucent.com>
88491
88492         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
88493         [one-argument getmntent function]): Include stdio.h before mntent.h.
88494         SunOS 4.1.x needs it for the declaration of `FILE'.
88495         Patch by Volker Borchert.
88496
88497         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
88498         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
88499         sys/fs_types.h, and make the link-test for getfsstat guard #include
88500         directives with appropriate #if HAVE_*_H tests so that we can
88501         detect getfsstat on Apple Darwin1.3.7 systems.
88502         Reported by Nelson Beebe.
88503         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
88504
88505 2001-09-28  Paul Eggert  <eggert@twinsun.com>
88506
88507         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
88508         #defines strtoimax.  Also treat the other strto* functions
88509         like strtoimax.
88510
88511         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
88512         Check for strtoul and strtoumax,
88513         as those declarations are made even in the signed case.
88514         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
88515         Likewise, for strtol and strtoimax.
88516
88517 2001-09-28  Paul Eggert  <eggert@twinsun.com>
88518
88519         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
88520         #defines strtoimax.  Also treat the other strto* functions
88521         like strtoimax.
88522
88523         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
88524         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
88525         (strtoimax, strtoumax): Do not declare if already defined as a macro.
88526
88527 2001-09-26  Jim Meyering  <meyering@lucent.com>
88528
88529         Most macros in unlocked-io.h had the wrong number of arguments.
88530         * lib/gen-uio: New script.
88531         (USE_UNLOCKED_IO): Define to 1 if not already defined.
88532         * lib/unlocked-io.hin: Remove file.
88533         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
88534         rather than trying to embed it here.
88535         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
88536         Reported by Padraig Brady.
88537
88538 2001-09-25  Volker Borchert  <bt@teknon.de>
88539
88540         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
88541         `result'.
88542
88543 2001-09-24  Jim Meyering  <meyering@lucent.com>
88544
88545         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
88546
88547 2001-09-23  Jim Meyering  <meyering@lucent.com>
88548
88549         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
88550         instead of the mere test for existence of mntent.h.  The latter
88551         would get a false-positive on AIX 3.4 systems.
88552         In the outer getmntent if-block, don't die if neither of the getmntent
88553         tests succeeds.  Instead, just fall through and continue with the
88554         remaining tests.
88555
88556 2001-09-23  Jim Meyering  <meyering@lucent.com>
88557
88558         * lib/mountlist.c: Remove useless parentheses in #if directives.
88559         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
88560         the deprecated MOUNTED symbol is no longer defined in mntent.h.
88561
88562 2001-09-22  Jim Meyering  <meyering@lucent.com>
88563
88564         * m4/gettext.m4: New file.  From gettext.
88565         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
88566         * m4/progtest.m4: Likewise
88567         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
88568         * m4/glibc21.m4: Likewise.
88569
88570         * m4/libintl.m4: Remove.  No longer used.
88571
88572 2001-09-22  Jim Meyering  <meyering@lucent.com>
88573
88574         * lib/localcharset.c: Update from latest gettext.
88575         * lib/config.charset: Likewise.
88576
88577 2001-09-20  Jim Meyering  <meyering@lucent.com>
88578
88579         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
88580         strtoimax.
88581         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
88582         strtoumax.
88583
88584 2001-09-20  Jim Meyering  <meyering@lucent.com>
88585
88586         * lib/xstrtol.c (strtoimax): Guard declaration with
88587         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
88588         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
88589         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
88590         (strtoumax): Likewise, for completeness (it wasn't necessary).
88591
88592 2001-09-17  Paul Eggert  <eggert@twinsun.com>
88593
88594         * lib/strtoimax.c (HAVE_LONG_LONG):
88595         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
88596         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
88597         to work around bug in IBM C compiler.
88598
88599 2001-09-17  Jim Meyering  <meyering@lucent.com>
88600
88601         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
88602         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
88603         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
88604         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
88605         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
88606         whenever the right hand side need not be expanded by the shell.
88607
88608 2001-09-16  Paul Eggert  <eggert@twinsun.com>
88609
88610         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
88611         library.  It's not correct, as some older glibcs are buggy.
88612         fnmatch wasn't fixed until glibc 2.2.
88613
88614         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
88615         special shell magic here.
88616
88617 2001-09-16  Jim Meyering  <meyering@lucent.com>
88618
88619         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
88620         * m4/jm-macros.m4: Require it.
88621
88622 2001-09-16  Jim Meyering  <meyering@lucent.com>
88623
88624         * lib/mkdir.c: New file.
88625
88626 2001-09-15  Jim Meyering  <meyering@lucent.com>
88627
88628         * m4/jm-macros.m4: Check for help2man.
88629
88630 2001-09-11  Jim Meyering  <meyering@lucent.com>
88631
88632         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
88633         The body, by Paul Eggert, was moved here from configure.in.
88634         * m4/jm-macros.m4: Require UTILS_HOST_OS.
88635
88636 2001-09-04  Paul Eggert  <eggert@twinsun.com>
88637
88638         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
88639         (jm_PREREQ): Use it.
88640
88641 2001-09-04  Paul Eggert  <eggert@twinsun.com>
88642
88643         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
88644         Use ssize_t, not int, to store result of readlink.
88645         Check for ssize_t overflow as well as size_t overflow,
88646         as POSIX says the result of readlink is implementation-defined
88647         when ssize_t overflows.
88648         Remove unnecessary cast to char*.
88649         Use free+malloc instead of realloc, as the storage doesn't need
88650         to be preserved and it's clearer and can be more efficient that way.
88651         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
88652         * lib/xreadlink.h (xreadlink): Update prototype.
88653
88654 2001-09-04  Paul Eggert  <eggert@twinsun.com>
88655
88656         * lib/xgetcwd.c: Revert some of the previous change; intead,
88657         fix the HAVE_GETCWD_NULL code to behave more like the
88658         !HAVE_GETCWD_NULL code used to.
88659
88660         Include "xalloc.h".
88661         (xgetcwd): Do not return NULL when memory is exhausted; instead,
88662         invoke xalloc_die.
88663
88664 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88665
88666         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
88667         sys/param.h, as pathmax.h includes them.
88668
88669 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88670
88671         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
88672         (jm_PREREQ_XGETCWD): New macro.
88673
88674         * m4/getcwd.m4: New file.
88675
88676 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88677
88678         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
88679         like the HAVE_GETCWD_NULL code.
88680         Include pathmax.h if not HAVE_GETCWD.
88681         Do not include xalloc.h.
88682         (INITIAL_BUFFER_SIZE): New symbol.
88683         Do not use xmalloc / xrealloc, since the caller is responsible for
88684         handling errors.  Preserve errno around `free' during failure.
88685         Do not overrun buffer when using getwd.
88686
88687 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88688
88689         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
88690         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
88691         getcwd (NULL, 0).
88692
88693 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88694
88695         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
88696         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
88697         spotted by Jim Meyering.
88698
88699 2001-09-03  Jim Meyering  <meyering@lucent.com>
88700
88701         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
88702         failure.
88703
88704 2001-09-02  Jim Meyering  <meyering@lucent.com>
88705
88706         * lib/error.c: Update from GNU libc.
88707
88708 2001-09-01  Jim Meyering  <meyering@lucent.com>
88709
88710         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
88711         Used by df.
88712
88713 2001-09-01  Jim Meyering  <meyering@lucent.com>
88714
88715         * lib/xreadlink.c: New file.
88716         * lib/xreadlink.h: New file.
88717         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
88718         xreadlink.h.
88719
88720         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
88721         doesn't conflict with sparc Solaris 7's definition in
88722         /usr/include/sys/int_types.h.
88723
88724         * lib/exclude.c: Use `""', not `<>' to #include non-system header
88725         files.
88726         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
88727         and strncasecmp as r-values.  Unixware didn't have declarations.
88728
88729 2001-08-31  Paul Eggert  <eggert@twinsun.com>
88730
88731         * lib/xstrtol.h: Add copyright notice.
88732         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
88733         LONGINT_INVALID_SUFFIX_CHAR.
88734
88735 2001-08-31  Paul Eggert  <eggert@twinsun.com>
88736
88737         * lib/xstrtol.c (strtoimax): New decl.
88738
88739 2001-08-31  Paul Eggert  <eggert@twinsun.com>
88740
88741         * lib/xgetcwd.c: Don't include pathmax.h.
88742         Include stdlib.h and unistd.h if available.
88743         Include xalloc.h.
88744         (xmalloc, xstrdup, free): Remove decls.
88745         (xgetcwd): Don't assume sizes fit in unsigned.
88746         Check for overflow when computing sizes.
88747         Simplify reallocation code.
88748
88749 2001-08-31  Paul Eggert  <eggert@twinsun.com>
88750
88751         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
88752         a directory's st_size can have an arbitrary value, so the old
88753         usage could waste an arbitrary amount of memory.  All uses
88754         changed.
88755         * lib/savedir.h: Update prototype.
88756
88757 2001-08-31  Paul Eggert  <eggert@twinsun.com>
88758
88759         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
88760
88761         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
88762         old strtoimax.c.
88763
88764         Also, make the following further changes to make this file's
88765         configuration more similar to that of strtol.c:
88766         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
88767         (strtoumax, uintmax_t, strtoull, strtol): Remove.
88768         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
88769         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
88770         changed to signed values.
88771
88772         And make the following changes as well:
88773         Fix copyright notice, as 1999 was missing.
88774         (verify): New macro.
88775         (strtoimax): Check sizes at compile-time, not run-time.
88776         Prefer strtol to strtoll if both work.
88777         (main): Remove; it was not that useful and was a pain to maintain.
88778
88779         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
88780
88781 2001-08-31  Jim Meyering  <meyering@lucent.com>
88782
88783         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
88784         Use an initial, malloc'd, buffer of length 128 rather than
88785         a statically allocated one of length 1024.
88786
88787 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88788
88789         Simplify code, partly by assuming autoconf 2.52 semantics.
88790
88791         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
88792
88793         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
88794         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
88795         All uses removed.
88796         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
88797         Move AC_REQUIRE to next-to-top level, to avoid confusion.
88798         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
88799         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
88800         jm_AC_HEADER_INTTYPES_H.
88801         * m4/jm-macros.m4 (jm_MACROS): Likewise.
88802
88803         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
88804
88805         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
88806         Quote first arg of AC_DEFUN.
88807         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
88808         since they are needed to parse the include file even if we need
88809         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
88810         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
88811         but with opposite signedness.
88812
88813 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88814
88815         Merge 'exclude' changes from tar 1.13.22.
88816         This fixes one or two unlikely storage allocation overflow bugs,
88817         but doesn't change user-visible behavior otherwise.
88818
88819 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88820
88821         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
88822         (jm_PREREQ_EXCLUDE): New macro.
88823
88824 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88825
88826         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
88827         tm to be declared.
88828
88829 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88830
88831         * lib/hash.c: Remove '2001' from copyright notice.
88832
88833 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88834
88835         * lib/full-write.h: New file.
88836         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
88837         * lib/full-write.c: Correct credits, as cccp.c no longer
88838         exists and anyway it was so heavily changed from the old cccp
88839         code as to be unrecognizable.  Include full-write.h.
88840         (full_write): Return size_t, with short writes meaning failure.
88841         All callers changed.  This fixes a bug with large buffers
88842         on 64-bit hosts.
88843         * lib/utime.c: Include full-write.h.
88844
88845 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88846
88847         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
88848         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
88849         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
88850         Include if available.
88851         (<xalloc.h>): Include
88852         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
88853         (verify): New macro.  Use it to verify that EXCLUDE macros do not
88854         collide with FNM macros.
88855         (struct patopts): New struct.
88856         (struct exclude): Use it, as exclude patterns now come with options.
88857         (new_exclude): Support above changes.
88858         (new_exclude, add_exclude_file):
88859         Initial size must now be a power of two to simplify overflow checking.
88860         (free_exclude, fnmatch_no_wildcards): New function.
88861         (excluded_filename): No longer requires options arg, as the options
88862         are determined by add_exclude.  Now returns bool, not int.
88863         (excluded_filename, add_exclude):
88864         Add support for the fancy new exclusion options.
88865         (add_exclude, add_exclude_file): Now takes int options arg.
88866         Check for arithmetic overflow when computing sizes.
88867         (add_exclude_file): xrealloc might modify errno, so don't
88868         realloc until after errno might be used.
88869
88870         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
88871         New macros.
88872         (free_exclude): New decl.
88873         (add_exclude, add_exclude_file): Now takes int options arg.
88874         (excluded_filename): No longer requires options arg, as the options
88875         are determined by add_exclude.  Now returns bool, not int.
88876
88877 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88878
88879         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
88880
88881 2001-08-27  Jim Meyering  <meyering@lucent.com>
88882
88883         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
88884
88885         * lib/version-etc.c (N_): Remove definition.
88886         Revert most of last change.
88887         Instead, simply don't mark the `Copyright...' string for translation.
88888         Based on advice from Paul Eggert.
88889
88890         * lib/strtoxmax.c: Tweak comment.
88891
88892 2001-08-26  Jim Meyering  <meyering@lucent.com>
88893
88894         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
88895
88896         * m4/xstrtoimax.m4: New file.
88897         * m4/xstrtoumax.m4: Add comments explaining why we
88898         AC_REPLACE_FUNCS(strtol).
88899
88900 2001-08-26  Jim Meyering  <meyering@lucent.com>
88901
88902         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
88903         of copyright with `%s' so translators don't get an untranslated
88904         message in 2002.
88905         (COPYRIGHT_YEAR): Define.
88906         (version_etc): Use fprintf rather than fputs.
88907         Suggestion from Ulrich Drepper.
88908
88909         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
88910
88911         * lib/strtoll.c: New file, from GNU libc.
88912         * lib/xstrtoimax.c: New file.
88913
88914         * lib/xstrtol.h: Add xstrtoimax.
88915         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
88916         * lib/strtoimax.c: New file.  Likewise, but first define
88917         STRTOUXMAX_SIGNED.
88918
88919         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
88920         ...
88921         * lib/strtoxmax.c: ... then renamed to this.
88922
88923 2001-08-18  Paul Eggert  <eggert@twinsun.com>
88924
88925         * m4/inttypes.m4: Add AC_PREREQ(2.13).
88926         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
88927         (jm_AC_TYPE_INTMAX_T): New macro.
88928         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
88929
88930         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
88931
88932         * m4/longlong.m4: Renamed from ulonglong.m4.
88933         * m4/inttypes.m4: Renamed from inttypes_h.m4.
88934         * m4/uintmax_t.m4: Removed.
88935
88936 2001-08-13  Paul Eggert  <eggert@twinsun.com>
88937
88938         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
88939         Port to Solaris 8, where 'sed' requires a space after the 'r'
88940         command, and where sh dislikes "$/".  Clean up the spacing a bit.
88941         Redirect output to $tmp just once.
88942
88943 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
88944
88945         * lib/addext.c (<errno.h>): Include.
88946         (errno): Declare if not defined.
88947         (addext): Work correctly when pathconf returns -1 and leaves
88948         errno alone because there is no limit.  Also, work even if
88949         pathconf returns a value greater than SIZE_MAX.
88950
88951 2001-08-12  Jim Meyering  <meyering@lucent.com>
88952
88953         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
88954         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
88955         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
88956         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
88957         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
88958         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
88959         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
88960         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
88961         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
88962         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
88963         utime.m4, utimes.m4, xstrtoumax.m4:
88964         Quote the first argument in each use of AC_DEFUN.
88965
88966 2001-08-12  Jim Meyering  <meyering@lucent.com>
88967
88968         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
88969         Simply `return getcwd (NULL, 0);'.
88970         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
88971         Use 1300 as initial value for length, not PATH_MAX.
88972
88973         * lib/pathmax.h: Clean up cpp syntax.
88974
88975 2001-08-12  Jim Meyering  <meyering@lucent.com>
88976
88977         * lib/gettimeofday.c: New file.
88978         * lib/gtod.h: New file.
88979         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
88980
88981 2001-08-05  Jim Meyering  <meyering@lucent.com>
88982
88983         * m4/jm-macros.m4: Require autoconf-2.52.
88984
88985 2001-08-04  Jim Meyering  <meyering@lucent.com>
88986
88987         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
88988         stmt, to get in sync with glibc.
88989
88990 2001-08-03  Paul Eggert  <eggert@twinsun.com>
88991
88992         The following changes are from gettext 0.10.39 as maintained by
88993         Bruno Haible.
88994
88995         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
88996         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
88997         with inverted sense.  All uses changed.
88998
88999         * lib/mbswidth.c: Don't include <limits.h>.
89000         Include <stdlib.h> and <string.h> unconditionally.
89001         (iswcntrl, mbsinit, ISCNTRL): New macros.
89002         (mbsnwidth): Use K&R style function declarations.
89003         Don't bother checking for MB_LEN_MAX == 1, since the compiler
89004         can optimize it when MB_CUR_MAX == 1.
89005         The width of control characters is zero, not 1.
89006
89007 2001-08-03  Paul Eggert  <eggert@twinsun.com>
89008
89009         The following changes are from gettext 0.10.39 as maintained by
89010         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
89011
89012         * m4/codeset.m4: Upgrade to serial AM1.
89013         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
89014         all uses changed.  Quote first arg of AC_DEFUN.
89015         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
89016
89017         * m4/iconv.m4: Upgrade to serial AM2.
89018         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
89019         Add --with-libconv-prefix.
89020         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
89021         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
89022         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
89023         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
89024         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
89025
89026         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
89027         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
89028         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
89029         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
89030         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
89031         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
89032         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
89033         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
89034         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
89035
89036         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
89037         string.h any more.
89038
89039         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
89040         not the default value.
89041
89042         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
89043         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
89044         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
89045         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
89046         Also check for iswcntrl, used for wcwidth fallback.
89047         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
89048         to Autoconf 2.13.
89049
89050 2001-08-03  Jim Meyering  <meyering@lucent.com>
89051
89052         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
89053         as it was in the original.  Reported by Paul Eggert.
89054
89055 2001-07-16  Jim Meyering  <meyering@lucent.com>
89056
89057         * m4/gettimeofday.m4: New file.
89058         Prompted by a report from Bernhard Baehr.
89059
89060 2001-07-15  Jim Meyering  <meyering@lucent.com>
89061
89062         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
89063         stuff. Now it's in ../Makefile.cfg.
89064
89065 2001-07-15  Jim Meyering  <meyering@lucent.com>
89066
89067         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
89068         (BUILT_SOURCES): Add unlocked-io.h.
89069         (io_functions): Define.
89070         (unlocked-io.h): New rule.
89071         (DISTCLEANFILES): Add unlocked-io.h.
89072         (all-local): Depend on unlocked-io.h, to ensure it is created.
89073
89074         * lib/unlocked-io.hin: New file
89075
89076         * lib/regex.c: Update from glibc.
89077
89078 2001-07-05  Jim Meyering  <meyering@lucent.com>
89079
89080         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
89081         recommendation.
89082         (libfetish_a_SOURCES): Put all .h files here instead.
89083         Remove a thus-exposed (better checks in automake) duplicate and
89084         two unnecessary .h files.
89085
89086 2001-07-04  Jim Meyering  <meyering@lucent.com>
89087
89088         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
89089         that generates jm-glibc-io.m4 so that it doesn't trigger any make
89090         distcheck failure.
89091
89092 2001-07-02  Jim Meyering  <meyering@lucent.com>
89093
89094         The following changes were prompted by suggestions from Bruno Haible.
89095
89096         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
89097         is now generated.
89098         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
89099         definition of EXTRA_DIST.
89100         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
89101         ensure that the generated file is created/updated whenever the list
89102         of $(unlocked_functions) is changed.
89103         (jm-glibc-io.m4): New rule.
89104         (unlocked-io.h): New rule -- currently unused.
89105
89106 2001-06-24  Jim Meyering  <meyering@lucent.com>
89107
89108         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
89109         unmatched right bracket, rather than kludging it with an extra,
89110         falsely-matching quote in a comment.  Patch by Akim Demaille.
89111
89112 2001-06-11  Jim Meyering  <meyering@lucent.com>
89113
89114         * lib/regex.c: Update from GNU libc.
89115
89116 2001-05-27  Jim Meyering  <meyering@lucent.com>
89117
89118         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
89119         Check for ut_type in struct utmp.
89120
89121 2001-05-27  Jim Meyering  <meyering@lucent.com>
89122
89123         * lib/readutmp.h (UT_TYPE): Define.
89124
89125 2001-05-24  Jim Meyering  <meyering@lucent.com>
89126
89127         * lib/argmatch.c: Include "quote.h".
89128         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
89129         quote function.  Reported by Göran Uddeborg.
89130
89131 2001-05-22  Jim Meyering  <meyering@lucent.com>
89132
89133         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
89134         now that we use the package-supplied version unconditionally.
89135         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
89136
89137 2001-05-21  Jim Meyering  <meyering@lucent.com>
89138
89139         * m4/regex.m4: Change a couple backticks to single quotes to avoid
89140         shell syntax errors.
89141
89142 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
89143
89144         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
89145
89146 2001-05-20  Paul Eggert  <eggert@twinsun.com>
89147
89148         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
89149         Don't bother to check library strftime, since
89150         we'll be using our own my_strftime function anyway.
89151         Define my_strftime instead of strftime.
89152
89153 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
89154
89155         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
89156         which is not yet declared.
89157
89158 2001-05-15  Jim Meyering  <meyering@lucent.com>
89159
89160         * m4/regex.m4: Use proper quoting so brackets appear in the test
89161         program.
89162         Reported by, and with help from, Bruno Haible.
89163
89164 2001-05-13  Jim Meyering  <meyering@lucent.com>
89165
89166         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
89167         undefined.
89168
89169 2001-05-11  Paul Eggert  <eggert@twinsun.com>
89170
89171         dirname code cleanup.  base_name now behaves more compatibly
89172         with POSIX basename when given file names that have trailing
89173         slashes, and similarly for dir_name.  Add new primitives
89174         base_len and dir_len.  Put the directory-name-related decls
89175         into dirname.h.
89176
89177         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
89178         * lib/backupfile.c (base_name): Likewise.
89179         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
89180         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
89181         * lib/makepath.c (strip_trailing_slashes): Likewise.
89182         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
89183         ISSLASH): Likewise.
89184         * lib/rename.c (strip_trailing_slashes): Likewise.
89185         * lib/same.c (base_name): Likewise.
89186         * lib/stripslash.c (ISSLASH): Likewise.
89187
89188         * lib/addext.c: Include <dirname.h> after size_t is defined.
89189         * lib/backupfile.c: Likewise.
89190
89191         * lib/addext.c (addext): Use base_len to trim redundant
89192         trailing slashes instead of doing it ourselves.
89193         But do not trim the last slash if it is not redundant.
89194
89195         * lib/backupfile.c (find_backup_file_name,
89196         max_backup_version): Use base_len instead of rolling it ourselves.
89197         Handle the case of "" and (on DOS) "C:" correctly.
89198
89199         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
89200         needed. Include <string.h>, <dirname.h>.
89201         (base_name): Allow file names ending in slashes, other than names
89202         that are all slashes.  In this case, return the basename followed
89203         by the slashes.  This is more general, and can be used in places
89204         where the original base_name purposely had an assertion failure.
89205         (base_len): New function.
89206
89207         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
89208         Do not include <assert.h>; no longer needed.
89209         Include xalloc.h.
89210         (memrchr): Remove decl.
89211         (dir_name_r): Remove.
89212         (dir_len): Renamed from dirlen.  All callers changed.
89213         Rewrite in terms of base_name, for simplicity and consistency.
89214         (dir_name): Never return NULL.  All callers changed.
89215         Do not include <stdlib.h> in test program; no longer needed.
89216         return 0; is fine for test program.
89217
89218         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
89219         New macros.
89220         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
89221
89222         * lib/path-concat.c (path_concat): Use base_len to compute
89223         base length, not strlen; this means we cannot rely on memcpy
89224         to null-terminate.
89225
89226         * lib/same.c (STREQ): Remove.
89227         (same_name): Handle the case where the basename ends in trailing '/'.
89228
89229         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
89230         a slash was stripped.  Do not strip the last slash after a
89231         file system prefix.
89232
89233 2001-05-11  Paul Eggert  <eggert@twinsun.com>
89234
89235         * lib/Makefile.am (libfetish_a_SOURCES):
89236         Add strftime.c, since we now compile it on all hosts.
89237
89238         * lib/strftime.c (my_strftime):
89239         Define to nstrftime if emacs, but only if my_strftime is not defined.
89240         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
89241         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
89242         Add one more extra argument: a nanoseconds value.
89243         All uses changed.
89244         (ns): New macro.
89245         (my_strftime function): Add %N format.
89246         (emacs_strftimeu): Renamed from emacs_strftime,
89247         with extra ut argument.
89248
89249 2001-05-09  Paul Eggert  <eggert@twinsun.com>
89250
89251         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
89252
89253 2001-04-21  Jim Meyering  <meyering@lucent.com>
89254
89255         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
89256         doesn't interfere.
89257
89258 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
89259
89260         * m4/ftruncate.m4: Check for chsize.
89261         Link with ftruncate.o unconditionally if ftruncate is missing.
89262         This was required when cross-compiling to i586-mingw32msvc.
89263
89264 2001-04-08  Jim Meyering  <meyering@lucent.com>
89265
89266         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
89267         recomputed; that's necessary when the offset spans a DST transition.
89268         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
89269
89270 2001-04-02  Jim Meyering  <meyering@lucent.com>
89271
89272         * lib/regex.h, regex.c: Update from GNU libc.
89273
89274 2001-03-24  Jim Meyering  <meyering@lucent.com>
89275
89276         * m4/jm-macros.m4: Require autoconf-2.49d.
89277
89278 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
89279
89280         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
89281
89282 2001-03-19  Paul Eggert  <eggert@twinsun.com>
89283
89284         * lib/version-etc.c (version_etc_copyright): Update to 2001.
89285
89286 2001-03-17  Jim Meyering  <meyering@lucent.com>
89287
89288         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
89289         now that the version in autoconf is equivalent.
89290         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
89291
89292         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
89293         Suggestion from Akim Demaille.
89294
89295         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
89296         (jm_PREREQ_TEMPNAME): New function.
89297
89298 2001-03-16  Paul Eggert  <eggert@twinsun.com>
89299
89300         * lib/tempname.c (uint64_t): Define to uintmax_t if
89301         not defined, and if UINT64_MAX is not defined.
89302         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
89303         Reported by John David Anglin.
89304
89305 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
89306
89307         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
89308         resolve alias if codeset is empty.
89309         * lib/config.charset (BeOS): Use wildcard syntax.
89310
89311 2001-03-13  Jim Meyering  <meyering@lucent.com>
89312
89313         * lib/path-concat.c (path_concat)
89314         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
89315         concatenating e.g., `C:' and `foo'.
89316         From Bruno Haible.
89317
89318 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
89319
89320         * lib/localcharset.c (locale_charset): Don't use
89321         setlocale(LC_CTYPE,NULL). Don't return NULL.
89322         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
89323
89324 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
89325
89326         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
89327         support for DOS/DJGPP.
89328
89329 2001-03-01  Paul Eggert  <eggert@twinsun.com>
89330
89331         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
89332         lacks mkstemp.  Compile our own tempname.c if we compile our own
89333         mkstemp.c, as mkstemp relies on tempname.
89334
89335 2001-03-01  Jim Meyering  <meyering@lucent.com>
89336
89337         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
89338         AH_VERBATIM really does output its argument verbatim.
89339
89340 2001-02-28  Paul Eggert  <eggert@twinsun.com>
89341
89342         * lib/Makefile.am (libfetish_a_SOURCES):
89343         Add dup-safer.c, fopen-safer.c.
89344         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
89345
89346         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
89347         * lib/unistd-safer.h: New files.
89348
89349 2001-02-25  Paul Eggert  <eggert@twinsun.com>
89350
89351         The mkstemp replacement is taken from glibc 2.2.2, with some
89352         portability fixes for use outside glibc, as follows:
89353
89354         * lib/tempname.c (struct_stat64): New macro.
89355         (direxists, __gen_tempname): Use it.
89356         This avoids a portability problem with Solaris 8.
89357
89358         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
89359         (<stddef.h>, <stdint.h>, <string.h>):
89360         Include only if STDC_HEADERS || _LIBC.
89361         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
89362         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
89363         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
89364         (__set_errno): Define this macro if <errno.h> doesn't.
89365         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
89366         Define these macros if <stdio.h> doesn't.
89367         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
89368         Define these macros if <sys/stat.h>
89369         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
89370         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
89371         __xstat64): Define if not _LIBC.
89372         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
89373         (__gen_tempname): Invoke gettimeofday only if
89374         HAVE_GETTIMEOFDAY || _LIBC;
89375         otherwise, fall back on plain "time".
89376         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
89377
89378         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
89379
89380         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
89381
89382 2001-02-18  Paul Eggert  <eggert@twinsun.com>
89383
89384         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
89385
89386 2001-02-17  Paul Eggert  <eggert@twinsun.com>
89387
89388         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
89389         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
89390         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
89391         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
89392
89393 2001-02-17  Paul Eggert  <eggert@twinsun.com>
89394
89395         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
89396         Remove workaround macros for hosts that have mbrtowc but not
89397         mbstate_t, as we now insist on proper declarations for both
89398         before using mbrtowc.
89399
89400 2001-02-17  Jim Meyering  <meyering@lucent.com>
89401
89402         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
89403         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
89404         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
89405         UnixWare 7.1.1.
89406
89407         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
89408         rather than AC_CACHE_VAL.
89409
89410 2001-02-17  Jim Meyering  <meyering@lucent.com>
89411
89412         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
89413         around included file name.
89414
89415         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
89416
89417         * lib/strftime.c: Update from GNU libc (the only changes were to
89418         comments).
89419
89420 2001-02-17  Jim Meyering  <meyering@lucent.com>
89421
89422         * lib/regex.c: Update from libc.
89423
89424 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
89425
89426         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
89427         clash.
89428
89429 2001-02-16  Paul Eggert  <eggert@twinsun.com>
89430
89431         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
89432         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
89433         Reported by Mark Hounschell via Paul Eggert.
89434
89435 2001-02-07  Jim Meyering  <meyering@lucent.com>
89436
89437         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
89438
89439 2001-02-05  Jim Meyering  <meyering@lucent.com>
89440
89441         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
89442         it includes the patch required for `large file' support with at least
89443         HP-UX's 10.20 /bin/cc.
89444
89445 2001-02-03  Jim Meyering  <meyering@lucent.com>
89446
89447         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
89448         AS_IF, now that it works once again (mysteriously).
89449         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
89450
89451 2001-01-30  Jim Meyering  <meyering@lucent.com>
89452
89453         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
89454         * m4/chown.m4: Rename conftestchown to conftest.chown.
89455         * m4/rename.m4: s/conftestdir/conftest.d1/ and
89456         s/conftestdir2/conftest.d2/.
89457         * m4/utimes.m4: s/conftestdata/conftest.data/
89458         Inspired by Pavel Roskin's change in autoconf.
89459
89460 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
89461
89462         * lib/config.charset: Update for FreeBSD 4.2.
89463
89464 2001-01-27  Jim Meyering  <meyering@lucent.com>
89465
89466         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
89467         a use of AS_IF.
89468         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
89469
89470 2001-01-26  Jim Meyering  <meyering@lucent.com>
89471
89472         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
89473         quotearg.c includes it.
89474
89475 2001-01-26  Jim Meyering  <meyering@lucent.com>
89476
89477         * lib/quotearg.c: Include stddef.h.
89478         * lib/quote.c: Include stddef.h.
89479         Reported by Axel Kittenberger.
89480
89481         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
89482         line in double quotes so that it evokes a better diagnostic.
89483         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
89484         Reported by Axel Kittenberger.
89485
89486 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
89487
89488         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
89489         as if it was a `charset'.
89490
89491 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
89492
89493         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
89494         has const.
89495
89496 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
89497
89498         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
89499         to avoid a warning.  Add back 'const' to inptr.
89500
89501 2001-01-20  Jim Meyering  <meyering@lucent.com>
89502
89503         Be sure that headers are checked before used in code compiled
89504         for the type checks.
89505         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
89506         In place of that, invoke jm_CHECK_ALL_TYPES.
89507         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
89508         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
89509         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
89510         The check for ssize_t was mistakenly run before the test for unistd.h.
89511
89512         The configure-time check for stdbool.h was missing.
89513         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
89514         (jm_PREREQ_HASH): New function.
89515
89516 2001-01-17  Jim Meyering  <meyering@lucent.com>
89517
89518         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
89519         for autoconf-2.49c.
89520         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
89521
89522 2001-01-16  Jim Meyering  <meyering@lucent.com>
89523
89524         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
89525         From Bruno Haible.
89526
89527 2001-01-14  Jim Meyering  <meyering@lucent.com>
89528
89529         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
89530         foo and bar.  Create conftestdir/ in the script, not in the C code.
89531         Remove directories in the script, not in the C code.
89532         Remove conftestdir{,2} before trying to create the directory.
89533         Make the entire configure script fail if the mkdir fails.
89534
89535 2001-01-14  Jim Meyering  <meyering@lucent.com>
89536
89537         * lib/rename.c: New file.  From Volker Borchert.
89538         Include stdlib.h, string.h or strings.h, and xalloc.h.
89539         Use strip_trailing_slashes rather than open-coding it.
89540
89541 2001-01-03  Paul Eggert  <eggert@twinsun.com>
89542
89543         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
89544
89545 2001-01-03  Jim Meyering  <meyering@lucent.com>
89546
89547         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
89548         of local `inptr' to avoid warning with some system declarations of
89549         iconv.
89550
89551 2001-01-02  Volker Borchert  <bt@teknon.de>
89552
89553         * m4/rename.m4: New file.
89554         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
89555
89556 2001-01-01  Jim Meyering  <meyering@lucent.com>
89557
89558         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
89559         even on systems with utmpx.h.  It's necessary for the declaration of
89560         utmp's ut_user member.  Reported by Andreas Jaeger.
89561
89562         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
89563         available. They are required for the declarations of getgrgid and
89564         getpwuid resp.
89565         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
89566         Reported by Andreas Jaeger.
89567
89568 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
89569
89570         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
89571         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
89572         so `make install' also works in VPATH builds.
89573
89574 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
89575
89576         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
89577         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
89578         can be used in subdirectories.
89579
89580 2000-12-29  Paul Eggert  <eggert@twinsun.com>
89581
89582         * lib/modechange.c: Do not assume that mode_t uses the
89583         traditional octal encoding.  E.g. "chmod 1 FOO" should set
89584         the other-execute bit of FOO even if S_IXOTH != 1.
89585
89586         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
89587         WOTH, XOTH, ALLM): New macros.
89588         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
89589          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
89590         Use them.
89591         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
89592         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
89593         (mode_compile):
89594         No need to use uintmax_t; unsigned long is long enough.
89595         Don't bother to get suffix since we don't use it.
89596
89597 2000-12-26  Jim Meyering  <meyering@lucent.com>
89598
89599         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
89600         better with autoheader.
89601
89602 2000-12-24  Jim Meyering  <meyering@lucent.com>
89603
89604         * lib/hash.c (is_prime): Return explicit boolean values.
89605         (hash_get_first): Return NULL to appease Irix5.6's 89.
89606         Reported by Nelson Beebe.
89607
89608 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
89609
89610         * lib/localcharset.c (locale_charset): Add support for Win32.
89611
89612 2000-12-18  Paul Eggert  <eggert@twinsun.com>
89613
89614         * lib/physmem.h, lib/physmem.c: New files.
89615
89616         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
89617         (noinst_HEADERS): Add physmem.h.
89618
89619         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
89620         't' for compatibility with Solaris 8 sort.
89621
89622 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
89623
89624         * lib/config.charset: Add support for BeOS.
89625
89626 2000-12-17  Jim Meyering  <meyering@lucent.com>
89627
89628         * m4/dos.m4 (jm_AC_DOS): New file and macro.
89629         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
89630
89631 2000-12-16  Jim Meyering  <meyering@lucent.com>
89632
89633         This bug had a serious impact on chown: `chown N:M FILE' (for integer
89634         N and M) would have treated it like `chown N:N FILE'.
89635
89636         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
89637
89638 2000-12-16  Jim Meyering  <meyering@lucent.com>
89639
89640         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
89641         SHELLS_FILE to a file name that's useful on djgpp systems.
89642         Include stdlib.h.
89643         (ADDITIONAL_DEFAULT_SHELLS): Define.
89644         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
89645         Based mostly on a patch from Prashant TR.
89646
89647 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
89648
89649         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
89650         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
89651         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
89652
89653 2000-12-08  Andreas Schwab  <schwab@suse.de>
89654
89655         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
89656         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
89657
89658 2000-12-07  Jim Meyering  <meyering@lucent.com>
89659
89660         * lib/stripslash.c (ISSLASH): Define.
89661         (strip_trailing_slashes): Use ISSLASH rather than comparing against
89662         `/'.
89663         From Prashant TR.
89664
89665         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
89666         (dir_name_r): Declare this function as static.
89667         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
89668         manifest itself on a name containing a mix of slashes and
89669         backslashes.
89670         Make this function work with names starting with a DOS-style
89671         drive letter and colon prefix.
89672         (dir_name): Append `.' if necessary.
89673         Based mostly on patches from Prashant TR and Eli Zaretskii.
89674
89675         * lib/dirname.h (dir_name_r): Remove prototype.
89676
89677 2000-12-06  Paul Eggert  <eggert@twinsun.com>
89678
89679         * m4/off_t-format.m4: Remove this file.
89680         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
89681
89682 2000-12-06  Jim Meyering  <meyering@lucent.com>
89683
89684         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
89685         replacement strtoull, we may well need the replacement strtoul, too.
89686         Check for declarations of strtoul and strtoull.
89687         Check for strtol.  Mainly as a cue to cause automake to include
89688         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
89689         Check for limits.h -- strtol.c needs it.
89690
89691 2000-12-05  Jim Meyering  <meyering@lucent.com>
89692
89693         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
89694
89695 2000-12-04  Jim Meyering  <meyering@lucent.com>
89696
89697         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
89698         Also include memory.h, stdlib.h, unistd.h if appropriate.
89699         Reported by Andreas Jaeger (conflicting declaration of malloc).
89700
89701 2000-12-02  Jim Meyering  <meyering@lucent.com>
89702
89703         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
89704         * m4/jm-macros.m4 (jm_MACROS): require it.
89705
89706 2000-12-02  Jim Meyering  <meyering@lucent.com>
89707
89708         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
89709
89710 2000-12-01  Paul Eggert  <eggert@twinsun.com>
89711
89712         * lib/memrchr.c: Include <config.h> before any system include file.
89713
89714 2000-11-30  Jim Meyering  <meyering@lucent.com>
89715
89716         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
89717
89718 2000-11-30  Jim Meyering  <meyering@lucent.com>
89719
89720         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
89721
89722 2000-11-29  Paul Eggert  <eggert@twinsun.com>
89723
89724         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
89725
89726 2000-11-26  Jim Meyering  <meyering@lucent.com>
89727
89728         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
89729
89730 2000-11-22  Paul Eggert  <eggert@twinsun.com>
89731
89732         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
89733         size of (size_t) -1; it's not portable.
89734
89735 2000-11-17  Jim Meyering  <meyering@lucent.com>
89736
89737         * lib/strstr.c: Update from GNU libc.
89738
89739 2000-11-17  Akim Demaille  <akim@epita.fr>
89740
89741         * lib/obstack.h: Formatting changes.
89742         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
89743         prevent type checking.
89744         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
89745         cast the value to (void *): assigning a `foo *' to a `void *'
89746         variable is valid.
89747         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
89748
89749 2000-11-16  Jim Meyering  <meyering@lucent.com>
89750
89751         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
89752
89753 2000-11-11  Jim Meyering  <meyering@lucent.com>
89754
89755         * lib/error.c: Add a couple #includes, merging from GNU libc version.
89756
89757 2000-11-10  Jim Meyering  <meyering@lucent.com>
89758
89759         * lib/obstack.h: Update from GNU libc.
89760         * lib/obstack.c: Likewise.
89761
89762 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
89763
89764         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
89765
89766 2000-11-06  Paul Eggert  <eggert@twinsun.com>
89767
89768         * lib/getusershell.c (setusershell): Use rewind rather than
89769         fseek/fseeko, to avoid configuration hassles with fseeko.
89770         Don't bother opening SHELLS_FILE if shellstream is NULL;
89771         it's not necessary.
89772
89773 2000-11-05  Jim Meyering  <meyering@lucent.com>
89774
89775         * lib/makepath.h (make_dir): Declare.
89776         * lib/makepath.c (make_dir): Remove `static' attribute.
89777         Tweak a comment.
89778
89779 2000-11-04  Jim Meyering  <meyering@lucent.com>
89780
89781         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
89782
89783 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
89784
89785         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
89786         last one in a bucket, advance to the next bucket.
89787
89788 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
89789
89790         * lib/fnmatch.c: Do not comment out all the code if we are using
89791         the GNU C library, because in some cases we are replacing buggy
89792         code in the GNU C library itself.
89793
89794 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
89795
89796         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
89797         (regex_compile): Catch bogus \(\1\).
89798
89799 2000-10-30  Paul Eggert  <eggert@twinsun.com>
89800
89801         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
89802         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
89803         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
89804
89805 2000-10-30  Paul Eggert  <eggert@twinsun.com>
89806
89807         * lib/error.h, getline.h, modechange.h:
89808         Remove "2000" from Copyright line, as the file hasn't been
89809         changed this year other than in the copyright notice.
89810
89811         * lib/xalloc.h: Add "2000" to Copyright line, as this file
89812         was changed this year.
89813
89814 2000-10-29  Jim Meyering  <meyering@lucent.com>
89815
89816         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
89817         renaming.
89818         * m4/ls-mntd-fs.m4: Likewise
89819
89820 2000-10-29  Jim Meyering  <meyering@lucent.com>
89821
89822         * lib/xstat.in: Fix grammar in comment.
89823
89824 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
89825
89826         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
89827         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
89828         doesn't define __restrict_arr.
89829
89830 2000-10-28  Jim Meyering  <meyering@lucent.com>
89831
89832         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
89833         (jm_PREREQ_MEMCHR): New function.
89834
89835 2000-10-28  Jim Meyering  <meyering@lucent.com>
89836
89837         * lib/memchr.c: Update from libc.
89838         Adjust for portability:
89839         [HAVE_STDLIB_H]: Include stdlib.h.
89840         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
89841         Undef __memchr, too.
89842         [!weak_alias]: Define __memchr to memchr.
89843
89844         * lib/regex.c: Update from libc.
89845         * lib/regex.h: Likewise.
89846         * lib/getopt1.c: Likewise.
89847         * lib/memcmp.c: Likewise.
89848
89849         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
89850         Avoid using fseek, when possible -- it's broken by design.
89851         Patch by Ulrich Drepper.
89852
89853 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
89854
89855         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
89856         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
89857         Giving in to popular pressure to shut up the compiler with casts.
89858
89859 2000-10-26  Jim Meyering  <meyering@lucent.com>
89860
89861         * lib/strftime.c: Update from libc.
89862
89863 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
89864
89865         * regex.c: More `unsigned char' -> `re_char' changes.
89866         Also change several `int' into `re_wchar_t'.
89867         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
89868         (PUSH_FAILURE_POINTER): Don't cast any more.
89869         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
89870         We want GCC to complain, since this piece of code makes
89871         re_match non-reentrant, which *should* be fixed.
89872         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
89873         (EXTEND_BUFFER): Use RETALLOC.
89874         (SET_LIST_BIT): Don't cast.
89875         (re_wchar_t): New type.
89876         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
89877         that those two functions will always properly return.
89878         (IMMEDIATE_QUIT_CHECK): Cast to void.
89879         (analyse_first): Use recursion rather than an explicit stack.
89880         (re_compile_fastmap): Can't fail anymore.
89881         (re_search_2): Don't check re_compile_fastmap for failure.
89882         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
89883         Now also sets the new value (passed in a new argument).
89884         (re_match_2_internal): Use it.
89885         Also, use a new var `reg' of type size_t when looping through regs
89886         rather than reuse the inappropriate `mcnt'.
89887
89888 2000-10-25  Jim Meyering  <meyering@lucent.com>
89889
89890         * lib/obstack.c: Update from libc.
89891
89892 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
89893
89894         * regex.c (regex_compile): Change the way of handling a range from
89895         a char less than 256 to a char not less than 256.
89896
89897 2000-10-24  Andrew Innes  <andrewi@gnu.org>
89898
89899         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
89900         NT-Emacs only.
89901         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
89902         so that re_search functions only quit when callers expect them to.
89903
89904 2000-10-23  Jim Meyering  <meyering@lucent.com>
89905
89906         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
89907         wrong.  That set_locale call must not have any side effects.
89908         From Paul Eggert.
89909
89910 2000-10-22  Jim Meyering  <meyering@lucent.com>
89911
89912         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
89913         [CYCLIC]: Remove now-unused definition.
89914
89915         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
89916         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
89917         Suggestion from Ulrich Drepper.
89918
89919 2000-10-21  Jim Meyering  <meyering@lucent.com>
89920
89921         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
89922         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
89923         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
89924
89925 2000-10-21  Jim Meyering  <meyering@lucent.com>
89926
89927         * lib/dirname.c (memrchr): Declare if necessary.
89928         (dir_name): Remove the restriction that there be no
89929         trailing slashes.  Now, this code skips past them, effectively
89930         ignoring them.
89931         [TEST_DIRNAME] (main): New unit tests.
89932
89933         * lib/memrchr.c: New file from GNU libc.
89934         Undef __memrchr, too.
89935         [!weak_alias]: Define __memrchr to memrchr.
89936         Guard weak_alias use with `#ifdef weak_alias'.
89937
89938 2000-10-21  Jim Meyering  <meyering@lucent.com>
89939
89940         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
89941         (dir_name): Use dir_name_r.
89942         * lib/dirname.h (dir_name_r): Declare it.
89943
89944 2000-10-17  Jim Meyering  <meyering@lucent.com>
89945
89946         * lib/quote.h (PARAMS): Define and use.
89947         Reported by Akim Demaille.
89948
89949         * lib/getopt.c: Update from libc.
89950
89951 2000-10-16  Jim Meyering  <meyering@lucent.com>
89952
89953         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
89954         setlocale.
89955         From Jan Fedak.
89956
89957 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
89958
89959         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
89960
89961 2000-09-25  Jim Meyering  <meyering@lucent.com>
89962
89963         * lib/md5.h (rol): Define (from GnuPG).
89964
89965         * lib/sha.c: Give credit (GnuPG) where due.
89966         (M): Use rol rather than open-coding it.
89967         Add a FIXME comment.
89968
89969 2000-09-21  Jim Meyering  <meyering@lucent.com>
89970
89971         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
89972         Reported by Michael Stone.
89973
89974 2000-09-20  Jim Meyering  <meyering@lucent.com>
89975
89976         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
89977         (noinst_HEADERS): Add sha.h.
89978         Based on code from Scott G. Miller and from GnuPG.
89979
89980 2000-09-18  Jim Meyering  <meyering@lucent.com>
89981
89982         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
89983         LIBS. Otherwise, everyone ends up linking with -lelf for some
89984         configurations.
89985         Reported by Mike Stone.
89986
89987 2000-09-15  Jim Meyering  <meyering@lucent.com>
89988
89989         * lib/regex.c: Update from libc.
89990
89991 2000-09-10  Jim Meyering  <meyering@lucent.com>
89992
89993         * lib/getopt.c (_getopt_internal): Update from glibc.
89994
89995 2000-09-09  Jim Meyering  <meyering@lucent.com>
89996
89997         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
89998         think it should be used as a general replacement for isascii.
89999         * lib/fnmatch.c: Likewise.
90000         * lib/mbswidth.c: Likewise
90001         * lib/regex.c: Likewise.
90002
90003         Don't use atoi.
90004         * lib/userspec.c: Include sys/param.h and limits.h.
90005         Include xstrtol.h.
90006         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
90007         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
90008         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
90009         UID, GID.  Check range.
90010
90011 2000-09-06  Jim Meyering  <meyering@lucent.com>
90012
90013         * lib/getopt.c (_getopt_internal): Update from glibc.
90014
90015 2000-08-30  Jim Meyering  <meyering@lucent.com>
90016
90017         * lib/strftime.c: Merge in changes from GNU libc.
90018
90019 2000-08-26  Jim Meyering  <meyering@lucent.com>
90020
90021         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
90022         * m4/fpending.m4: New file.
90023
90024 2000-08-26  Jim Meyering  <meyering@lucent.com>
90025
90026         * lib/closeout.c: Include "__fpending.h".
90027         (close_stdout_status): Return right away if there's nothing to flush.
90028
90029         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
90030         * lib/__fpending.c: New file.
90031         * lib/__fpending.h: New file.
90032
90033 2000-08-20  Jim Meyering  <meyering@lucent.com>
90034
90035         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
90036         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
90037         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
90038
90039 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
90040
90041         Improve fileutils installation on systems where running
90042         programs (like install) can't be unlinked.
90043         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
90044         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
90045
90046 2000-08-07  Paul Eggert  <eggert@twinsun.com>
90047
90048         Standardize on "memory exhausted" instead of "Memory exhausted"
90049         or "virtual memory exhausted".
90050         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
90051         "virtual memory exhausted".
90052         * lib/same.c (same_name): Invoke xalloc_die instead of printing
90053         our own message.
90054         * lib/userspec.c (parse_user_spec): Likewise.
90055         * lib/bumpalloc.h: comment fix
90056         * lib/same.c, userspec.c: Include xalloc.h.
90057
90058         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
90059         not char *const and pointing to a constant array.
90060         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
90061         (xrealloc): Comment fix.
90062
90063         * lib/userspec.c (parse_user_spec):
90064         Don't translate a message until just before returning,
90065         to avoid unnecessary translation.
90066
90067 2000-08-07  Jim Meyering  <meyering@lucent.com>
90068
90069         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
90070         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
90071         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
90072         getgroups.c, gethostname.c, getopt.h, group-member.c,
90073         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
90074         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
90075         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
90076         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
90077         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
90078         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
90079         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
90080         yesno.c: Back out Copyright date changes for each file with no change
90081         this year.  This eases coordination with other programs using the same
90082         source code modules.  From Paul Eggert.
90083
90084 2000-08-06  Paul Eggert  <eggert@twinsun.com>
90085
90086         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
90087         not char, for compatibility with glibc 2.1.3 strftime.c.
90088
90089 2000-08-03  Greg McGary  <greg@mcgary.org>
90090
90091         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
90092         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
90093         (EXTEND_BUFFER): Use them.
90094
90095 2000-08-01  Jim Meyering  <meyering@lucent.com>
90096
90097         * lib/dirname.c (ISSLASH): Define.
90098         (BACKSLASH_IS_PATH_SEPARATOR): Define.
90099         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
90100         both `\' and `/' may be use as path separators.
90101         Based on a patch from Prashant TR.
90102
90103 2000-07-31  Paul Eggert  <eggert@twinsun.com>
90104
90105         * lib/quotearg.c (quotearg_n_options): Don't make the initial
90106         slot vector a constant, since it might get modified.
90107
90108 2000-07-31  Jim Meyering  <meyering@lucent.com>
90109
90110         * lib/xmalloc.c: Use `virtual memory exhausted', not
90111         `Memory exhausted'.
90112         * lib/obstack.c (print_and_abort): Likewise.
90113
90114 2000-07-30  Paul Eggert  <eggert@twinsun.com>
90115
90116         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
90117         buffer, so that the caller can always quote one small
90118         component of a "memory exhausted" message in slot 0.
90119         From a suggestion by Jim Meyering.
90120
90121 2000-07-30  Jim Meyering  <meyering@lucent.com>
90122
90123         * lib/makepath.c (make_path): Quote the other instance, too.
90124
90125         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
90126         (STATIC_BUF_SIZE): Define.
90127         (quotearg_n_options): Use only statically allocated storage when
90128         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
90129         than STATIC_BUF_SIZE.
90130
90131 2000-07-29  Jim Meyering  <meyering@lucent.com>
90132
90133         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
90134         * lib/dirname.c (dir_name): Likewise.
90135
90136         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
90137         `/'.
90138
90139         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
90140         (dir_name): Assert that there are no trailing slashes.
90141
90142 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
90143
90144         * lib/mbswidth.h (mbswidth): Add a flags argument.
90145         (mbswidth): New declaration.
90146         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
90147         * lib/mbswidth.c (mbswidth): Add a flags argument.
90148         (mbsnwidth): New function.
90149
90150 2000-07-24  Jim Meyering  <meyering@lucent.com>
90151
90152         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
90153
90154 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90155
90156         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
90157
90158 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90159
90160         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
90161         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
90162         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
90163         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
90164         invoke multibyte primitives.
90165
90166 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90167
90168         * lib/quotearg.c:
90169         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
90170         so that mbstate_t is always defined.
90171
90172         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
90173         be 1 in at least one GCC installation, and this configuration
90174         error is likely to be common.  Ignoring MB_LEN_MAX hurts
90175         performance on hosts that have mbrtowc but have only unibyte
90176         locales, but I assume these hosts are rare.
90177
90178 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90179
90180         * lib/mbswidth.c (_XOPEN_SOURCE):
90181         Don't define; this causes problems on Solaris 7.
90182         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
90183
90184 2000-07-23  Jim Meyering  <meyering@lucent.com>
90185
90186         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
90187         too: getgrgid, getpwuid, getuid.
90188
90189 2000-07-23  Jim Meyering  <meyering@lucent.com>
90190
90191         * lib/basename.c (base_name): Add an assertion.
90192
90193 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
90194
90195         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
90196         shadow its mbsinit function.
90197
90198 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
90199
90200         * lib/mbswidth.h: New file.
90201         * lib/mbswidth.c: New file.
90202         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
90203         (noinst_HEADERS): Add mbswidth.h.
90204
90205 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
90206
90207         * lib/config.charset: Add support for FreeBSD. Improve support for
90208         HP-UX and IRIX 6.
90209
90210 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
90211
90212         * m4/mbswidth.m4: New file.
90213         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
90214
90215 2000-07-15  Jim Meyering  <meyering@lucent.com>
90216
90217         * lib/makepath.c: Include quote.h.
90218         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
90219         corresponding argument in a `quote (...)' call.
90220         Give better diagnostics.
90221
90222         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
90223         (noinst_HEADERS): Add quote.h.
90224
90225         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
90226         from tar's src/misc.c.
90227         * lib/quote.h: New file.  Prototypes for same.
90228
90229 2000-07-14  Paul Eggert  <eggert@twinsun.com>
90230
90231         From a suggestion by Bruno Haible.
90232         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
90233         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
90234         to decide whether to define the BeOS workaround macro;
90235         this adjusts to the change to AC_MBSTATE_T.
90236
90237 2000-07-14  Jim Meyering  <meyering@lucent.com>
90238
90239         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
90240         jm_AC_TYPE_UINTMAX_T.
90241
90242 2000-07-13  Paul Eggert  <eggert@twinsun.com>
90243
90244         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
90245
90246         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
90247         quotearg_buffer_restyled): Add support for
90248         clocale_quoting_style.  Undo previous change to
90249         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
90250         and "{RIGHT QUOTATION MARK}" msgids.
90251
90252 2000-07-10  Paul Eggert  <eggert@twinsun.com>
90253
90254         From a suggestion by Bruno Haible.
90255         * m4/mbstate_t.m4 (AC_MBSTATE_T):
90256         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
90257         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
90258         and mbstate_t, to a single-part test that simply defines mbstate_t.
90259         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
90260         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
90261
90262 2000-07-10  Jim Meyering  <meyering@lucent.com>
90263
90264         * m4/strerror_r.m4: Mirror the correction made in autoconf.
90265
90266         * m4/gnu-source.m4: Output to confdefs.h directly.
90267         Suggestion from Akim Demaille.
90268
90269 2000-07-09  Paul Eggert  <eggert@twinsun.com>
90270
90271         The old behavior of quoting `like this' doesn't look good with
90272         newer, ISO-style fonts.  See:
90273         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
90274
90275         Instead, quote "like this" by default.  Let the translator
90276         tailor the locale-specific quoting behavior by providing
90277         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
90278
90279         * lib/quotearg.c (N_): New macro.
90280         (gettext_default): New function.
90281         (quotearg_buffer_restyled): Use
90282         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
90283         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
90284
90285 2000-07-09  Jim Meyering  <meyering@lucent.com>
90286
90287         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
90288         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
90289
90290         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
90291         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
90292
90293 2000-07-09  Jim Meyering  <meyering@lucent.com>
90294
90295         * lib/Most files: Update copyright dates to include 2000.
90296
90297 2000-07-08  Jim Meyering  <meyering@lucent.com>
90298
90299         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
90300         if not defined.
90301         (xgethostname): Remove now-unnecessary #ifdef.
90302         Move declaration of `err' into loop where it's used.
90303
90304 2000-07-05  Paul Eggert  <eggert@twinsun.com>
90305         and Bruno Haible  <haible@clisp.cons.org>
90306
90307         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
90308         only if the test for an object-type mbstate_t fails.  This
90309         prevents us from mistakenly reporting that mbstate_t is a
90310         system object type after we "#define mbstate_t int" to work
90311         around its lack.
90312
90313 2000-07-05  Paul Eggert  <eggert@twinsun.com>
90314         and Bruno Haible  <haible@clisp.cons.org>
90315
90316         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
90317
90318 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
90319
90320         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
90321         to strerror_r.
90322         Include <ctype.h> for use of isalpha.
90323
90324 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
90325
90326         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
90327         by allocating a larger buffer. Test the gethostname return value for
90328         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
90329         returns an error and ENAMETOOLONG isn't defined.
90330
90331 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
90332
90333         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
90334         dimension.
90335
90336 2000-07-04  Jim Meyering  <meyering@lucent.com>
90337
90338         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
90339         of the deprecated AC_CHECKING.
90340
90341 2000-07-04  Jim Meyering  <meyering@lucent.com>
90342
90343         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
90344         Reported by Bruno Haible.
90345
90346 2000-07-04  Jim Meyering  <meyering@lucent.com>
90347
90348         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
90349         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
90350         lacks mbrtowc.
90351
90352 2000-07-03  Paul Eggert  <eggert@twinsun.com>
90353
90354         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
90355         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
90356
90357 2000-07-03  Paul Eggert  <eggert@twinsun.com>
90358         and Bruno Haible  <haible@clisp.cons.org>
90359
90360         * lib/quotearg.c (mbrtowc):
90361         Assign to *pwc, and return 1 only if result is nonzero.
90362         (iswprint): Use ISPRINT when substituting our own mbrtowc.
90363
90364 2000-07-03  Jim Meyering  <meyering@lucent.com>
90365
90366         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
90367
90368 2000-07-03  Jim Meyering  <meyering@lucent.com>
90369
90370         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
90371         This is necessary to get a definition of e.g., UTMP_FILE on
90372         HP-UX 10.20.
90373         From Bob Proulx.
90374
90375 2000-07-02  Jim Meyering  <meyering@lucent.com>
90376
90377         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
90378
90379         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
90380         AC_LIBOBJ(function_name).
90381         * m4/chown.m4: Likewise.
90382         * m4/fnmatch.m4: Likewise.
90383         * m4/ftruncate.m4: Likewise.
90384         * m4/getgroups.m4: Likewise.
90385         * m4/getline.m4: Likewise.
90386         * m4/group-member.m4: Likewise.
90387         * m4/jm-macros.m4: Likewise.
90388         * m4/lstat.m4: Likewise.
90389         * m4/malloc.m4: Likewise.
90390         * m4/memcmp.m4: Likewise.
90391         * m4/nanosleep.m4: Likewise.
90392         * m4/putenv.m4: Likewise.
90393         * m4/realloc.m4: Likewise.
90394         * m4/regex.m4: Likewise.
90395         * m4/stat.m4: Likewise.
90396         * m4/strftime.m4: Likewise.
90397
90398 2000-07-02  Jim Meyering  <meyering@lucent.com>
90399
90400         * lib/quotearg.c (mbstate_t): Don't define here.
90401
90402 2000-07-02  Jim Meyering  <meyering@lucent.com>
90403
90404         * lib/nanosleep.c (SIGCONT): Define if not already defined.
90405
90406 2000-07-01  Jim Meyering  <meyering@lucent.com>
90407
90408         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
90409
90410 2000-07-01  Jim Meyering  <meyering@lucent.com>
90411
90412         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
90413         problem.
90414
90415 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
90416
90417         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
90418         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
90419
90420 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
90421
90422         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
90423         per change in ../m4/ls-mntd-fs.m4.
90424         (read_filesystem_list): Ignore symbolic links.
90425
90426 2000-06-29  Jim Meyering  <meyering@lucent.com>
90427
90428         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
90429         for declaration of strcmp.
90430
90431         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
90432
90433         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
90434         Avoid warning by casting result to `char *' to remove `const'.
90435
90436 2000-06-28  Jim Meyering  <meyering@lucent.com>
90437
90438         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
90439         included by quotearg.c, for which we perform this test.  From
90440         Bruno Haible.
90441
90442 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
90443
90444         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
90445         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
90446         <utmpx.h> exists, put readutmp.o into LIBOBJS.
90447
90448 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
90449
90450         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
90451
90452 2000-06-26  Paul Eggert  <eggert@twinsun.com>
90453
90454         savedir now sets errno on failure and invokes xmalloc to get memory.
90455         Fix a couple of other minor bugs while we're at it.
90456
90457         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
90458         (NAMLEN): Remove macro.
90459         (malloc, realloc): Remove decls.
90460         (stpcpy): Likewise.
90461         ("xalloc.h"): Include.
90462         (NAME_SIZE_DEFAULT): New macro.
90463         (savedir): Use xmalloc / xrealloc to allocate memory.
90464         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
90465         Skip "" directory entries.
90466         Use strlen to calculate directory entry length, since the old method
90467         is rarely used these days and isn't worth supporting.
90468         Don't use a pointer after freeing it.
90469         Check for integer overflow when calculating allocation size.
90470         Use memcpy to copy entries, instead of stpcpy.
90471         Set errno properly when returning NULL.
90472         Check for readdir error.
90473
90474 2000-06-26  Jim Meyering  <meyering@lucent.com>
90475
90476         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
90477
90478 2000-06-25  Jim Meyering  <meyering@lucent.com>
90479
90480         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
90481         Linux header bug when _XOPEN_SOURCE is defined to 500.
90482
90483 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
90484
90485         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
90486         deficiency.
90487
90488 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
90489
90490         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
90491         Include xalloc.h.
90492         Don't include <stdlib.h>.  Don't declare malloc, realloc.
90493
90494 2000-06-24  Jim Meyering  <meyering@lucent.com>
90495
90496         * m4/strerror_r.m4: Revive this file -- to try out an experimental
90497         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
90498         for which strerror does return char*, but which lacks a conveniently
90499         accessible declaration of the function.  If the compile-test says
90500         strerror_r doesn't work, then resort to a `run'-test that works on
90501         BeOS and segfaults on DEC Unix.
90502
90503 2000-06-24  Jim Meyering  <meyering@lucent.com>
90504
90505         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
90506
90507 2000-06-23  Paul Eggert  <eggert@twinsun.com>
90508
90509         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
90510         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
90511
90512 2000-06-23  Paul Eggert  <eggert@twinsun.com>
90513
90514         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
90515         (mbrtowc, mbstate_t): Define substitutes if
90516         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
90517         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
90518         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
90519
90520 2000-06-23  Jim Meyering  <meyering@lucent.com>
90521
90522         * m4/afs.m4: Add missing AC_MSG_RESULT.
90523         Reported by Bruno Haible.
90524
90525         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
90526         Suggestion from Bruno Haible.
90527
90528 2000-06-23  Jim Meyering  <meyering@lucent.com>
90529
90530         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
90531
90532 2000-06-21  Jim Meyering  <meyering@lucent.com>
90533
90534         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
90535
90536 2000-06-21  Jim Meyering  <meyering@lucent.com>
90537
90538         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
90539         (noinst_HEADERS): Add getstr.h.
90540
90541         * lib/getline.c (getstr): Move into a separate file.
90542         * lib/getstr.c (getstr): New file, extracted from getline.c, with
90543         the following changes: new parameter, delim2; both delim[12]
90544         parameters have type `int', not `char'.  The latter would lose
90545         with 8-bit delimiters.
90546         * lib/getstr.h: New file.
90547
90548 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
90549
90550         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
90551         than 1024, return a memory chunk of least possible size, instead
90552         of size PATH_MAX + 2. In the loop, increment the size proportionally.
90553         Use free/xmalloc instead of xrealloc to avoid copying for very long
90554         paths.
90555
90556 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
90557
90558         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
90559         the empty string.
90560
90561 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
90562
90563         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
90564         address, not strdup.  Include <stdlib.h> and don't declare free().
90565
90566 2000-06-19  Jim Meyering  <meyering@lucent.com>
90567
90568         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
90569
90570 2000-06-18  Jim Meyering  <meyering@lucent.com>
90571
90572         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
90573
90574         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
90575         `checking whether...' message to be consistent with that of the
90576         lstat test.
90577
90578 2000-06-18  Jim Meyering  <meyering@lucent.com>
90579
90580         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
90581         Besides, these days every porting target provides a mkdir function.
90582
90583         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
90584         needed. (this snippet comes from src/system.h).
90585
90586 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
90587
90588         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
90589
90590 2000-06-15  Paul Eggert  <eggert@twinsun.com>
90591
90592         * lib/human.c (adjust_value): New function.
90593         (human_readable_inexact): Apply rounding style even when
90594         printing approximate values.
90595
90596 2000-06-14  Paul Eggert  <eggert@twinsun.com>
90597
90598         * lib/human.c (human_readable_inexact): Allow an input block
90599         size that is not a multiple of the output block size, and vice versa.
90600         Reported by Piergiorgio Sartor.
90601
90602 2000-06-14  Paul Eggert  <eggert@twinsun.com>
90603
90604         * lib/getdate.y (get_date): Apply relative times after time
90605         zone indicator, not before.  Reported by Todd A. Jacobs.
90606
90607 2000-06-13  Jim Meyering  <meyering@lucent.com>
90608
90609         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
90610
90611         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
90612
90613 2000-06-12  Paul Eggert  <eggert@twinsun.com>
90614
90615         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
90616
90617 2000-06-12  Jim Meyering  <meyering@lucent.com>
90618
90619         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
90620         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
90621         optional argument.
90622         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
90623         the optional argument, `lib'.
90624
90625 2000-06-08  Jim Meyering  <meyering@lucent.com>
90626
90627         * m4/largefile.m4: Remove file (now that it's part of autoconf).
90628
90629 2000-06-04  Paul Eggert  <eggert@twinsun.com>
90630
90631         Rewrite largefile configuration so that we don't need to run
90632         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
90633         AC_CANONICAL_HOST in configure.in -- jmm]
90634
90635         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
90636         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
90637         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
90638         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
90639         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
90640         All uses changed.
90641         Instead of inspecting the output of getconf, try to compile the
90642         test program without and with the macro definition.
90643         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
90644         for getconf.  Instead, check for the needed flags by compiling
90645         test programs.
90646
90647 2000-06-04  Paul Eggert  <eggert@twinsun.com>
90648
90649         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
90650
90651 2000-06-04  Jim Meyering  <meyering@lucent.com>
90652
90653         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
90654         SunOS 4.1.4 for which gid_t is an unsigned type.
90655
90656 2000-06-03  Jim Meyering  <meyering@lucent.com>
90657
90658         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
90659         now that autoconf requires that.
90660
90661         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
90662         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
90663         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
90664
90665 2000-06-03  Jim Meyering  <meyering@lucent.com>
90666
90667         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
90668
90669 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
90670
90671         * m4/glibc21.m4: New file.
90672         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
90673
90674 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
90675
90676         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
90677         newer, don't install charset.alias.
90678         * lib/config.charset: Change the Linux/glibc rules so they become empty
90679         on glibc-2.1 or newer.
90680
90681 2000-06-02  Jim Meyering  <meyering@lucent.com>
90682
90683         * lib/mountlist.c: Back out last change.  Instead, do this...
90684         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
90685         me_dummy member using the same `ignore'-testing code.
90686         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
90687         fs_type strings.
90688         From Mark D. Roth.
90689
90690 2000-05-29  Jim Meyering  <meyering@lucent.com>
90691
90692         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
90693         mounts with the `ignore' attribute.  Based on a patch from
90694         Mark D. Roth.
90695
90696 2000-05-28  Jim Meyering  <meyering@lucent.com>
90697
90698         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
90699         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
90700         * m4/stat.m4: Likewise.
90701         * m4/lstat.m4: Likewise.
90702         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
90703
90704         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
90705         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
90706
90707 2000-05-26  Jim Meyering  <meyering@lucent.com>
90708
90709         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
90710
90711 2000-05-24  Jim Meyering  <meyering@lucent.com>
90712
90713         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
90714         autoconf requires that.
90715         * m4/lib-check.m4: Likewise.
90716         * m4/jm-macros.m4: Likewise.
90717         * m4/strftime.m4: Likewise.
90718
90719         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
90720         AC_CHECK_DECLS, now that autoconf requires that.
90721
90722 2000-05-22  Jim Meyering  <meyering@lucent.com>
90723
90724         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
90725         * m4/lstat.m4: Likewise.
90726
90727 2000-05-22  Jim Meyering  <meyering@lucent.com>
90728
90729         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
90730
90731 2000-05-20  Jim Meyering  <meyering@lucent.com>
90732
90733         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
90734         (jm_PREREQ): Use it.
90735
90736 2000-05-18  Jim Meyering  <meyering@lucent.com>
90737
90738         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
90739         back, too, since it may have been modified by allocate_entry.
90740         (hash_delete): Rewrite to use neither the assignment operator
90741         nor the comma operator in an if-expression.
90742
90743 2000-05-15  Paul Eggert  <eggert@twinsun.com>
90744
90745         * lib/closeout.c:
90746         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
90747         Remove; no longer needed.
90748         "quotearg.h": Add include.
90749         (file_name): Do not bother to explicitly initialize to NULL; it's less
90750         efficient on some hosts.
90751         (close_stdout_status): Remove test as to whether stdout was already
90752         closed; it breaks for the case "echo x | sort >&-".
90753         Quote file name colons.
90754         Do not assume that _("write error") lacks format strings.
90755
90756 2000-05-15  Jim Meyering  <meyering@lucent.com>
90757
90758         * lib/version-etc.c (version_etc_copyright): Update the copyright
90759         string used in all --version output.
90760
90761 2000-05-14  Jim Meyering  <meyering@lucent.com>
90762
90763         * lib/closeout.c (close_stdout_set_file_name): New function.
90764         (close_stdout_status): Use new file-scoped global.
90765         Return right away if fstat says the stdout file descriptor is invalid.
90766         * lib/closeout.h (close_stdout_set_file_name): Declare.
90767
90768 2000-05-10  Jim Meyering  <meyering@lucent.com>
90769
90770         * lib/closeout.c [default_exit_status]: New file-scoped variable.
90771         (close_stdout_set_status): New function.
90772         * lib/closeout.h (close_stdout_set_status): Declare.
90773
90774 2000-05-09  Jim Meyering  <meyering@lucent.com>
90775
90776         * m4/gettext.m4: Rename this...
90777         * m4/libintl.m4: ...to this.
90778
90779 2000-05-08  Jim Meyering  <meyering@lucent.com>
90780
90781         * lib/long-options.c: Don't include closeout.h.
90782         (parse_long_options): Don't call close_stdout for --version.
90783
90784 2000-05-06  Paul Eggert  <eggert@twinsun.com>
90785
90786         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
90787         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
90788         2.1.3 bug.  This avoids a clash when files like regex.c define
90789         _GNU_SOURCE.
90790
90791 2000-05-06  Jim Meyering  <meyering@lucent.com>
90792
90793         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
90794         (AC_REPLACE_FUNCS): Add strnlen.
90795
90796         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
90797         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
90798
90799         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
90800         AC_SEARCH_LIBS call for nanosleep.
90801         (LIB_NANOSLEEP): Set and AC_SUBST.
90802
90803 2000-05-06  Jim Meyering  <meyering@lucent.com>
90804
90805         * lib/strnlen.c: Undefine __strnlen and strnlen.
90806         [!weak_alias]: Define __strnlen to strnlen.
90807
90808         * lib/atexit.c: New file, from libiberty.
90809
90810 2000-05-06  Jim Meyering  <meyering@lucent.com>
90811
90812         * lib/closeout.c (close_stdout_status): Also check for errors on the
90813         stderr stream.
90814
90815 2000-05-05  Jim Meyering  <meyering@lucent.com>
90816
90817         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
90818         AC_SEARCH_LIBS call for clock_gettime.
90819         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
90820
90821         * m4/search-libs.m4: Update from autoconf.
90822
90823         su doesn't work on Solaris 2.6.
90824         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
90825         <shadow.h>.  Reported by Dragos Harabor.
90826
90827 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
90828
90829         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
90830         memcpy instead of xmalloc, xrealloc, path_concat.
90831         (locale_charset): Treat empty environment variables as absent.
90832         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
90833
90834 2000-05-04  Jim Meyering  <meyering@lucent.com>
90835
90836         * lib/getopt.c: Update from glibc.
90837         * lib/obstack.c: Likewise.
90838         * lib/obstack.h: Likewise.
90839         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
90840         file
90841
90842         * lib/regex.h: Likewise.
90843         * lib/strndup.c: Likewise.
90844         * lib/strnlen.c: New file, from glibc.
90845
90846 2000-05-03  Jim Meyering  <meyering@lucent.com>
90847
90848         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
90849
90850 2000-05-02  Paul Eggert  <eggert@twinsun.com>
90851
90852         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
90853         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
90854         compile-time test, rather than inspecting host and OS, to
90855         decide whether to define _LARGEFILE_SOURCE.
90856
90857 2000-05-01  Jim Meyering  <meyering@lucent.com>
90858
90859         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
90860
90861         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
90862         Based on a patch from Bruno Haible.
90863
90864 2000-05-01  Jim Meyering  <meyering@lucent.com>
90865
90866         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
90867
90868 2000-04-29  Jim Meyering  <meyering@lucent.com>
90869
90870         * lib/path-concat.c: Declare strdup only if it's not defined.
90871         * lib/canon-host.c: Likewise.
90872
90873 2000-04-28  Jim Meyering  <meyering@lucent.com>
90874
90875         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
90876         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
90877         is included first, then limits.h is included by locale.h by libintl.h.
90878         From John David Anglin.
90879
90880 2000-04-25  Jim Meyering  <meyering@lucent.com>
90881
90882         * lib/makepath.c (S_IRWXUGO): Define.
90883         (make_path): Always perform explicit chmod if MODE specifies any
90884         of the `special' permission bits.  Prompted by a bug report against
90885         install from Mate Wierdl and Joost van Baal.
90886
90887 2000-04-18  Jim Meyering  <meyering@lucent.com>
90888
90889         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
90890         (jm_PREREQ): Use it.
90891
90892 2000-04-18  Jim Meyering  <meyering@lucent.com>
90893
90894         * lib/README: New file.
90895
90896         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
90897         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
90898
90899 2000-04-17  Jim Meyering  <meyering@lucent.com>
90900
90901         Get it right :-)
90902         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
90903         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
90904         Suggestion from Akim Demaille.
90905
90906 2000-04-17  Jim Meyering  <meyering@lucent.com>
90907
90908         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
90909         the definition of it to rpl_strftime also defined-away the system's
90910         declaration.
90911
90912 2000-04-15  Jim Meyering  <meyering@lucent.com>
90913
90914         Use `C' to denote so-called `contiguous' files, the same way
90915         that tar does.
90916         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
90917         (ftypelet): Use S_ISCTG.
90918         From Michael Deutschmann.
90919
90920 2000-04-14  Jim Meyering  <meyering@lucent.com>
90921
90922         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
90923         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
90924         clobbered.
90925
90926 2000-04-14  Jim Meyering  <meyering@lucent.com>
90927
90928         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
90929
90930 2000-04-13  Jim Meyering  <meyering@lucent.com>
90931
90932         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
90933         AH_VERBATIM to insert required #ifndef into config.h.in.
90934         Suggestion from Akim Demaille.
90935
90936 2000-04-12  Jim Meyering  <meyering@lucent.com>
90937
90938         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
90939         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
90940         Christian Krackowizer.
90941
90942         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
90943         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
90944         (AC_SYS_LARGEFILE): Require.
90945         (AM_C_PROTOTYPES): Require.
90946
90947 2000-04-08  Jim Meyering  <meyering@lucent.com>
90948
90949         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
90950         names don't conflict.  Reported by Eli Zaretskii.
90951
90952 2000-04-07  Jim Meyering  <meyering@lucent.com>
90953
90954         * lib/putenv.c: Move inclusion of errno.h so it follows that of
90955         sys/types.h, to work around system header problems on AIX 3.2.5.
90956         From Bruno Haible.
90957
90958 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
90959
90960         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
90961         bug.  Deal with the different error behavior of Irix iconv.
90962
90963 2000-04-05  Paul Eggert  <eggert@twinsun.com>
90964
90965         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
90966         IRIX if the installer said otherwise.
90967
90968 2000-04-05  Jim Meyering  <meyering@lucent.com>
90969
90970         Portability tweaks required for ultrix4.3.
90971         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
90972         (jm_CHECK_DECLS): Add getutent to the list of functions.
90973         (_jm_DECL_HEADERS): Add utmpx.h.
90974         From John David Anglin.
90975
90976         * m4/strftime.m4: Back out the 2000-04-02 change.
90977         Instead of that change, simply undefine putenv in the test program.
90978
90979 2000-04-05  Jim Meyering  <meyering@lucent.com>
90980
90981         Portability tweaks required for ultrix4.3.
90982         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
90983         getutent.
90984         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
90985         * lib/canon-host.c: Declare strdup.
90986         * lib/path-concat.c: Likewise.
90987         From John David Anglin.
90988
90989 2000-04-04  Jim Meyering  <meyering@lucent.com>
90990
90991         Be more DOS 8.3-friendly.
90992         * lib/ref-add.sin: Renamed from ref-add.sed.in.
90993         * lib/ref-del.sin: Renamed from ref-del.sed.in.
90994         * lib/Makefile.am: Reflect renaming.
90995         Reported by Eli Zaretskii.
90996
90997         Use a temporary file name that won't clash with `charset.alias'
90998         in the DOS 8.3 name space.
90999         * lib/Makefile.am (charset_tmp): Define.
91000         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
91001         (uninstall-local): Likewise.
91002         Reported by Eli Zaretskii.
91003
91004 2000-04-03  Jim Meyering  <meyering@lucent.com>
91005
91006         * m4/gettext.m4: Fix typo in comment.
91007
91008         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
91009         textutils/configure.in).  Suggestion from Paul Eggert.
91010         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
91011
91012 2000-04-02  Paul Eggert  <eggert@twinsun.com>
91013
91014         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
91015         variable in the shell rather than using putenv, which isn't
91016         portable.  This avoids the configure-time inter-test dependency
91017         on the potentially-renamed putenv function.
91018
91019 2000-03-30  Paul Eggert  <eggert@twinsun.com>
91020
91021         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
91022         before checking struct stat.st_blksize, so that
91023         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
91024
91025 2000-03-29  Paul Eggert  <eggert@twinsun.com>
91026
91027         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
91028         since strftime.c uses HAVE_STRFTIME to decide whether to use
91029         the underlying strftime.
91030
91031 2000-03-29  Paul Eggert  <eggert@twinsun.com>
91032
91033         * lib/time/strftime.c (my_strftime): Make sure we call the system
91034         strftime, not ourselves, when invoking the underlying strftime.
91035
91036 2000-03-24  Jim Meyering  <meyering@lucent.com>
91037
91038         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
91039         (charset_alias): Define.
91040         (install-exec-local): Factor out common code.
91041         (uninstall-local): Split lines longer than 80.
91042         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
91043         (SUFFIXES): Define.
91044         (.sed.in.sed): New rule.  Don't redirect directly to $@.
91045         (CLEANFILES): Add ref-add.sed and ref-del.sed.
91046
91047 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
91048
91049         * lib/config.charset: Output a line containing "Packages using this
91050         file".
91051         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
91052         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
91053         ref-del.sed): New rules.
91054
91055 2000-03-17  Jim Meyering  <meyering@lucent.com>
91056
91057         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
91058         Otherwise, include <strings.h>
91059
91060 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
91061
91062         * lib/unicodeio.c (utf8_wctomb): New function.
91063         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
91064         format instead of in UCS-4 with platform dependent endianness.
91065
91066 2000-03-10  Jim Meyering  <meyering@lucent.com>
91067
91068         * m4/lib-check.m4: Look for getspnam in -lgen, too.
91069         From Marco Franzen.
91070
91071 2000-03-07  Paul Eggert  <eggert@twinsun.com>
91072
91073         * lib/savedir.c (savedir): Work even if directory size is
91074         negative; this can happen with some screwy NFS configurations.
91075
91076 2000-03-06  Jim Meyering  <meyering@lucent.com>
91077
91078         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
91079         if it's NULL (because we ran out of memory).  From Bruno Haible.
91080
91081 2000-03-05  Jim Meyering  <meyering@lucent.com>
91082
91083         * lib/localcharset.c ("path-concat.h"): Include.
91084         (get_charset_aliases): Use path_concat instead of ANSI string
91085         concatenation.
91086
91087         * lib/unicodeio.h (PARAMS): Define.
91088         Use it to guard prototype.
91089
91090 2000-03-04  Jim Meyering  <meyering@lucent.com>
91091
91092         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
91093         for lib/localcharset.c.
91094
91095 2000-03-04  Jim Meyering  <meyering@lucent.com>
91096
91097         * lib/Makefile.am (install-exec-local): Create $(libdir) before
91098         installing into it.
91099         (uninstall-local): Uncomment this rule so `make distcheck' works
91100         once again.
91101
91102         * lib/unicodeio.c (<errno.h>): Include it.
91103         (errno): Declare if not defined.
91104
91105         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
91106
91107         * lib/config.charset: New version, incorporating remarks from a linux
91108         i18n mailing list.  From Bruno Haible.
91109
91110 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
91111
91112         * m4/codeset.m4: New file.
91113         * m4/iconv.m4: New file.
91114         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
91115
91116 2000-03-03  Jim Meyering  <meyering@lucent.com>
91117
91118         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
91119
91120 2000-03-02  Jim Meyering  <meyering@lucent.com>
91121
91122         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
91123         the messages come out on separate lines.
91124
91125         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
91126         rather than jm_CHECK_DECLARATIONS.
91127         * m4/decl.m4: Remove now-unused file.
91128
91129         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
91130         geteuid.
91131
91132 2000-03-02  Jim Meyering  <meyering@lucent.com>
91133
91134         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
91135
91136 2000-03-01  Jim Meyering  <meyering@lucent.com>
91137
91138         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
91139         * lib/unicodeio.c: Likewise.
91140
91141 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
91142
91143         * lib/config.charset: New file.
91144         * lib/localcharset.c: New file.
91145         * lib/unicodeio.h, lib/unicodeio.c: New files.
91146         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
91147         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
91148         (noinst_HEADERS): Add unicodeio.h.
91149         (all-local, install-exec-local, charset.alias): New targets.
91150
91151 2000-02-28  Paul Eggert  <eggert@twinsun.com>
91152
91153         * lib/quotearg.c (ALERT_CHAR): New macro.
91154         (quotearg_buffer_restyled): Use it.
91155
91156 2000-02-27  Jim Meyering  <meyering@lucent.com>
91157
91158         * m4/check-decl.m4: Add getenv to the list.
91159
91160 2000-02-27  Jim Meyering  <meyering@lucent.com>
91161
91162         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
91163         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
91164
91165         * lib/backupfile.c: Guard inclusion of stdlib.h with
91166         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
91167         Declare malloc if needed.
91168
91169         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
91170         `#ifndef HAVE_DECL..'
91171         now that autoconf always defines the HAVE_DECL_ symbols.
91172         * lib/human.c: Likewise.
91173         * lib/same.c: Likewise.
91174         * lib/strtoumax.c: Likewise.
91175
91176         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
91177         declaration check was not run.
91178         * lib/hash.c: Likewise.
91179         * lib/human.c: Likewise.
91180         * lib/same.c: Likewise.
91181         * lib/strtoumax.c: Likewise.
91182
91183         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
91184         `.', then first look up the entire `.'-containing string as a login
91185         name.
91186
91187 2000-02-23  Jim Meyering  <meyering@lucent.com>
91188
91189         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
91190         in place of my hack.
91191
91192 2000-02-18  Paul Eggert  <eggert@twinsun.com>
91193
91194         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
91195         (textint): New typedef.
91196         (parser_control): Member year changed from int to textint.
91197         All uses changed.
91198         (YYSTYPE): Removed; replaced by %union with int and textint members.
91199         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
91200         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
91201         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
91202         (tSNUMBER, tUNUMBER): Now of type <textintval>.
91203         (date, number, to_year): Use width of number in digits, not its value,
91204         to determine whether it's a 2-digit year, or a 2-digit time.
91205         (yylex): Store number of digits of numeric tokens.
91206         Reported by John Kendall.
91207
91208         (parser_control): Changed from struct parser_control to typedef (for
91209         consistency).  All uses changed.
91210
91211         (tID): Removed; not used.
91212         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
91213
91214 2000-02-14  Paul Eggert  <eggert@twinsun.com>
91215
91216         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
91217         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
91218
91219 2000-02-12  Jim Meyering  <meyering@lucent.com>
91220
91221         * lib/userspec.c (ISDIGIT): Define it.
91222         (isdigit): Remove definition.
91223         (is_number): Use ISDIGIT, not isdigit.
91224         <libintl.h>: Include.
91225         (_ and N_): Define.
91226         (parse_user_spec): Mark translatable strings.
91227
91228 2000-02-10  Jim Meyering  <meyering@lucent.com>
91229
91230         With these changes, nanosleep.[ch] are finally enough like the other
91231         lib/* replacement files to compile on a few more losing systems.
91232
91233         * lib/nanosleep.h: Don't include config.h.
91234         Remove prototype from declaration of nanosleep.
91235         (PARAMS): Remove now-unneeded definition.
91236         * lib/nanosleep.c: #undef nanosleep.
91237         (rpl_nanosleep): Rename from nanosleep.
91238
91239 2000-02-10  Jim Meyering  <meyering@lucent.com>
91240
91241         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
91242         gnu_nanosleep to rpl_nanosleep.
91243
91244 2000-02-09  Jim Meyering  <meyering@lucent.com>
91245
91246         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
91247         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
91248
91249 2000-02-08  Akim Demaille  <akim@epita.fr>
91250
91251         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
91252         `[' and `]' and remove uses of `changequote'.
91253         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
91254         (AC_SYS_LARGEFILE): Likewise.
91255         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
91256         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
91257         of changequote.
91258         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
91259         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
91260         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
91261         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
91262
91263 2000-02-05  Jim Meyering  <meyering@lucent.com>
91264
91265         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
91266         Remove explicit use of AC_HEADER_TIME.  It is required by
91267         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
91268         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
91269         in autoconf whereby the expansion of the latter ended up preceding
91270         the expansion of its prerequisite, AC_HEADER_TIME.
91271         Reported by Volker Borchert.
91272
91273 2000-02-03  Jim Meyering  <meyering@lucent.com>
91274
91275         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
91276
91277 2000-02-03  Jim Meyering  <meyering@lucent.com>
91278
91279         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
91280         rather than with `#if HAVE_UTMPNAME'.
91281
91282 2000-02-02  Jim Meyering  <meyering@lucent.com>
91283
91284         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
91285         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
91286         Reported by Eli Zaretskii.
91287
91288 2000-02-01  Jim Meyering  <meyering@lucent.com>
91289
91290         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
91291
91292 2000-01-31  Jim Meyering  <meyering@lucent.com>
91293
91294         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
91295         functions.  Add the time.h and sys/time.h headers along with the
91296         AC_REQUIRE'ment of AC_HEADER_TIME.
91297
91298 2000-01-31  Jim Meyering  <meyering@lucent.com>
91299
91300         * lib/nanosleep.h (nanosleep): Guard declaration with
91301         `#if ! HAVE_DECL_NANOSLEEP'.
91302         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
91303         the declaration in that vendor's sys/timers.h.
91304         Reported by Christian Krackowizer.
91305
91306         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
91307         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
91308         (ISPRINT): Likewise.
91309         Reported by Tom Tromey.
91310
91311 2000-01-30  Jim Meyering  <meyering@lucent.com>
91312
91313         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
91314
91315         * m4/prereq.m4 (utmp_includes): Define.
91316         Check for ut_user and ut_name members in both struct utmpx
91317         and struct utmp.
91318
91319 2000-01-30  Jim Meyering  <meyering@lucent.com>
91320
91321         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
91322         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
91323         header files where only utmpx.ut_user is declared.
91324
91325         * lib/readutmp.h (UT_USER): Define.
91326
91327 2000-01-29  Jim Meyering  <meyering@lucent.com>
91328
91329         * m4/lib-check.m4: New file containing library-related checks from
91330         fileutils and sh-utils (textutils had none).
91331
91332 2000-01-28  Jim Meyering  <meyering@lucent.com>
91333
91334         * m4/perl.m4: Change format of warning message to look more like that
91335         from the missing script.  Suggestion from François Pinard.
91336
91337 2000-01-25  Jim Meyering  <meyering@lucent.com>
91338
91339         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
91340         well as time.h in the compile check.
91341         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
91342         Fix typo in cross-compiling case: s/yes/no/.
91343
91344 2000-01-23  Jim Meyering  <meyering@lucent.com>
91345
91346         * m4/jm-macros.m4: Move df-related tests here from
91347         fileutils/configure.in
91348
91349         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
91350         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
91351
91352         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
91353         s/space/ac_fsusage_space/.
91354         (jm_FILE_SYSTEM_USAGE): Take two parameters.
91355
91356         * m4/ftruncate.m4: New file (derived from part of
91357         fileutils/configure.in).
91358         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
91359         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
91360
91361         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
91362         AC_SUBST these here, rather than just in sh-util/configure.in, so
91363         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
91364         all the same.
91365         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
91366         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
91367         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
91368         (AC_SUBST(POW_LIBM)): Likewise.
91369         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
91370
91371 2000-01-23  Jim Meyering  <meyering@lucent.com>
91372
91373         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
91374         obstack.c.
91375
91376 2000-01-22  Jim Meyering  <meyering@lucent.com>
91377
91378         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
91379
91380         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
91381
91382         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
91383         configure.in
91384         (AC_CHECK_HEADERS): Likewise for sh-utils.
91385         (AC_CHECK_HEADERS): Likewise for textutils.
91386         Merge the three lists of headers.
91387
91388         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
91389         from fileutils' configure.in.
91390
91391         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
91392         code. Moved tests into their own function (_jm_DECL_HEADERS) in
91393         check-decl.m4.
91394
91395         * m4/check-decl.m4: Use #if rather than #ifdef.
91396         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
91397         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
91398         (_jm_DECL_HEADERS): Define new function.
91399         (jm_CHECK_DECLARATIONS): Require it.
91400
91401 2000-01-22  Jim Meyering  <meyering@lucent.com>
91402
91403         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
91404         [! HAVE_DECL_STRTOULL]: Declare strtoull.
91405         Required for some AIX systems.  Reported by Christian Krackowizer.
91406         [TESTING] (main): New function.
91407
91408         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
91409         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
91410         letters.
91411
91412         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
91413         iswprint.
91414
91415         * lib/strverscmp.c (ISDIGIT): Define.
91416         (strverscmp): Use ISDIGIT, not isdigit.
91417
91418 2000-01-19  Jim Meyering  <meyering@lucent.com>
91419
91420         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
91421         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
91422         defines `struct timespec' in <sys/time.h>
91423
91424         * m4/c-bs-a.m4: Remove uses of changequote altogether.
91425         Thanks to Akim for explaining.
91426
91427 2000-01-17  Paul Eggert  <eggert@twinsun.com>
91428
91429         * lib/nanosleep.c (nanosleep):
91430         Don't use SA_INTERRUPT to decide whether to call sigaction, as
91431         POSIX.1 doesn't require SA_INTERRUPT and some systems
91432         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
91433         it's been part of POSIX.1 since day 1 (in 1988).
91434
91435 2000-01-17  Jim Meyering  <meyering@lucent.com>
91436
91437         * lib/interlock: Remove unused file.  Reported by François Pinard.
91438
91439 2000-01-16  Paul Eggert  <eggert@twinsun.com>
91440
91441         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
91442         alert, backslash, formfeed, and vertical tab unnecessarily in
91443         shell quoting style.
91444
91445 2000-01-16  Jim Meyering  <meyering@lucent.com>
91446
91447         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
91448         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
91449         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
91450         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
91451
91452 2000-01-16  Jim Meyering  <meyering@lucent.com>
91453
91454         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
91455         because the latter didn't work.
91456
91457 2000-01-15  Jim Meyering  <meyering@lucent.com>
91458
91459         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
91460         (AC_REPLACE_FUNCS): Add memcpy and memset.
91461         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
91462         Add strpbrk.
91463         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
91464
91465 2000-01-12  Jim Meyering  <meyering@lucent.com>
91466
91467         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
91468         (jm_PREREQ): Use it.
91469         (jm_PREREQ_READUTMP): New macro.
91470         (jm_PREREQ): Use it.
91471
91472 2000-01-11  Paul Eggert  <eggert@twinsun.com>
91473
91474         Quote multibyte characters correctly.
91475         * m4/c-bs-a.m4: New file.
91476         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
91477         (jm_PREREQ): Use it.
91478
91479 2000-01-11  Paul Eggert  <eggert@twinsun.com>
91480
91481         * m4/uintmax_t.m4: Port to autoconf 2.13.
91482
91483 2000-01-08  Jim Meyering  <meyering@ascend.com>
91484
91485         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
91486         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
91487
91488 2000-01-04  Jim Meyering  <meyering@ascend.com>
91489
91490         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
91491         jm_STRUCT_DIRENT_D_TYPE.
91492         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
91493         jm_STRUCT_DIRENT_D_INO.
91494         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
91495         jm_STRUCT_UTIMBUF.
91496         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
91497         renamings.
91498         * m4/utime.m4: Likewise.
91499
91500         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
91501         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
91502
91503 2000-01-03  Paul Eggert  <eggert@twinsun.com>
91504
91505         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
91506         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
91507
91508 2000-01-02  Jim Meyering  <meyering@ascend.com>
91509
91510         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
91511         remember if this is necessary.
91512
91513 1999-12-26  Jim Meyering  <meyering@ascend.com>
91514
91515         * m4/jm-macros.m4: Use it here.
91516         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
91517
91518 1999-12-23  Jim Meyering  <meyering@ascend.com>
91519
91520         * m4/jm-macros.m4: Check for clock_gettime (moved from
91521         fileutils/configure.in)
91522         Check for gettimeofday.
91523
91524 1999-12-20  Jim Meyering  <meyering@ascend.com>
91525
91526         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
91527         autoconf-2.14a-1999-12-20.
91528
91529 1999-12-19  Jim Meyering  <meyering@ascend.com>
91530
91531         * m4/lstat-slash.m4: New file.
91532         * m4/jm-macros.m4: Use the new macro:
91533         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
91534
91535 1999-12-07  Jim Meyering  <meyering@ascend.com>
91536
91537         * m4/perl.m4: Require that File::Compare be available, too.
91538         Too many systems seem to lack it.
91539
91540         * m4/strftime.m4: Add checks for most of the cpp macros tested in
91541         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
91542
91543 1999-11-18  Paul Eggert  <eggert@twinsun.com>
91544
91545         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
91546         problem with the QNX 4.25 shell, which doesn't propagate exit
91547         status of failed commands inside shell assignments.
91548
91549 1999-11-17  Jim Meyering  <meyering@ascend.com>
91550
91551         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
91552
91553 1999-11-07  Jim Meyering  <meyering@ascend.com>
91554
91555         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
91556
91557 1999-11-06  Jim Meyering  <meyering@ascend.com>
91558
91559         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
91560         * m4/jm-macros.m4 (jm_MACROS): Use it here.
91561
91562 1999-11-05  Jim Meyering  <meyering@ascend.com>
91563
91564         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
91565         configure.in of textutils, fileutils, and sh-utils into this one
91566         (shared between those packages) file.
91567         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
91568         AC_STRUCT_ST_BLKSIZE.
91569
91570 1999-11-03  Jim Meyering  <meyering@ascend.com>
91571
91572         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
91573         of AC_CHECK_TYPE checks includes unistd.h.
91574         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
91575         Suggestion from Akim Demaille.
91576
91577 1999-10-30  Jim Meyering  <meyering@ascend.com>
91578
91579         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
91580         m4-quoted string.
91581         * m4/ls-mntd-fs.m4: Likewise.
91582         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
91583         * m4/jm-winsz1.m4: Likewise.
91584
91585         * m4/const.m4: Remove file, since the fix made it into the experimental
91586         version of autoconf.
91587         * m4/mktime.m4: Likewise.
91588
91589         * m4/check-type.m4: Remove file, now that the latest version of
91590         AC_CHECK_TYPE takes a third arg to specify additional #includes.
91591
91592         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
91593         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
91594         AC_CHECK_TYPE.
91595
91596 1999-10-04  Jim Meyering  <meyering@ascend.com>
91597
91598         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
91599
91600 1999-09-22  Paul Eggert  <eggert@twinsun.com>
91601
91602         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
91603         2.95.1 bug with HP-UX 10.20.
91604
91605 1999-09-17  Jim Meyering  <meyering@ascend.com>
91606
91607         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
91608         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
91609         due to missing strdup (against sh-utils-2.0).
91610
91611 1999-08-29  Jim Meyering  <meyering@ascend.com>
91612
91613         * m4/jm-macros.m4: Require jm_BISON.
91614         * m4/bison.m4: New file.
91615
91616 1999-08-17  Paul Eggert  <eggert@twinsun.com>
91617
91618         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
91619         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
91620
91621 1999-08-05  Jim Meyering  <meyering@ascend.com>
91622
91623         * m4/getline.m4: Rename test file from conftestdata to conftest.data
91624         to avoid conflicts with `conftest' on 8+3 filesystems.
91625         Suggestion from Eli Zaretskii.
91626
91627 1999-08-04  Jim Meyering  <meyering@ascend.com>
91628
91629         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
91630         fileutils and sh-utils (textutils's getline test was inadequate).
91631         (AM_FUNC_GETLINE): Run this test.
91632         (AC_CHECK_FUNCS): Check for getdelim.
91633         Reported by Bob Proulx.
91634
91635 1999-08-02  Jim Meyering  <meyering@ascend.com>
91636
91637         * m4/jm-macros.m4: Add a comment.
91638
91639 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91640
91641         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
91642         <inttypes.h> defines strtoumax as a macro (and not as a
91643         function).
91644
91645 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91646
91647         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
91648         that we can shift, multiply and divide unsigned long long
91649         values; Ultrix cc can't do it.
91650
91651 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91652
91653         * m4/mktime.m4: New file, which is a preview of what should appear
91654         in the next public autoconf release.
91655
91656 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91657
91658         * m4/lfs.m4: Remove this file.
91659         * m4/largefile.m4: New file.  It contains the old contents of
91660         lfs.m4, except that all names with prefix AC_LFS have been
91661         changed to use the prefix AC_SYS_LARGEFILE instead, to be
91662         compatible with future autoconf versions.  Also, some minor m4
91663         quoting problems have been fixed.
91664
91665 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91666
91667         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
91668         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
91669         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
91670         and simplify the shell code.
91671
91672 1999-08-01  Jim Meyering  <meyering@ascend.com>
91673
91674         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
91675         m4.
91676
91677 1999-07-20  Jim Meyering  <meyering@ascend.com>
91678
91679         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
91680
91681 1999-07-15  Jim Meyering  <meyering@ascend.com>
91682
91683         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
91684
91685 1999-05-22  Jim Meyering  <meyering@ascend.com>
91686
91687         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
91688
91689 1999-05-20  Jim Meyering  <meyering@ascend.com>
91690
91691         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
91692         Add a colon after each `then' in case $4 is empty.
91693
91694 1999-05-16  Jim Meyering  <meyering@ascend.com>
91695
91696         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
91697
91698 1999-05-10  Jim Meyering  <meyering@ascend.com>
91699
91700         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
91701
91702         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
91703         AC_FUNC_MKTIME.
91704
91705 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
91706
91707         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
91708
91709 1999-05-04  Paul Eggert  <eggert@twinsun.com>
91710
91711         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
91712         not CPPFLAGS, so that linking works correctly in IRIX.
91713
91714 1999-04-30  Paul Eggert  <eggert@twinsun.com>
91715
91716         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
91717
91718 1999-04-20  Paul Eggert  <eggert@twinsun.com>
91719
91720         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
91721         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
91722         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
91723         jm_AC_TYPE_UNSIGNED_LONG_LONG.
91724         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
91725
91726         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
91727
91728 1999-04-20  Jim Meyering  <meyering@ascend.com>
91729
91730         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
91731         AC_REPLACE xstroull if necessary.  From Paul Eggert.
91732         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
91733
91734 1999-04-18  Jim Meyering  <meyering@ascend.com>
91735
91736         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
91737         * m4/jm-macros.m4: Use it.
91738
91739 1999-04-06  Jim Meyering  <meyering@ascend.com>
91740
91741         * m4/strftime.m4: Remove test for %f.
91742
91743 1999-03-29  Jim Meyering  <meyering@ascend.com>
91744
91745         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
91746         superset of the AC_TYPE_* checks in the textutils, fileutils,
91747         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
91748         AC_TYPE_PID_T.
91749
91750 1999-03-28  Jim Meyering  <meyering@ascend.com>
91751
91752         * m4/jm-macros.m4: Define GNU_PACKAGE here.
91753         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
91754         replaced e.g., in the *.sh files of the sh-utils.
91755
91756 1999-03-20  Jim Meyering  <meyering@ascend.com>
91757
91758         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
91759         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
91760         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
91761
91762 1999-03-19  Jim Meyering  <meyering@ascend.com>
91763
91764         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
91765
91766 1999-03-12  Jim Meyering  <meyering@ascend.com>
91767
91768         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
91769
91770 1999-03-07  Jim Meyering  <meyering@ascend.com>
91771
91772         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
91773         declared.
91774
91775 1999-02-17  Jim Meyering  <meyering@ascend.com>
91776
91777         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
91778         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
91779
91780 1999-02-07  Jim Meyering  <meyering@ascend.com>
91781
91782         * m4/group-member.m4: New file -- extracted from sh-utils'
91783         configure.in.
91784
91785         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
91786         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
91787
91788 1999-02-06  Jim Meyering  <meyering@ascend.com>
91789
91790         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
91791         * m4/fnmatch.m4: Likewise.
91792         * m4/getgroups.m4: Likewise.
91793         * m4/lstat.m4: Likewise.
91794         * m4/malloc.m4: Likewise.
91795         * m4/putenv.m4: Likewise.
91796         * m4/realloc.m4: Likewise.
91797         * m4/regex.m4: Likewise.
91798         * m4/stat.m4: Likewise.
91799         * m4/strftime.m4: Likewise.
91800         Suggestion from Alain Magloire.
91801
91802         * m4/chown.m4: Use `.$ac_objext', not `.o'.
91803         * m4/fnmatch.m4: Likewise.
91804         * m4/getgroups.m4: Likewise.
91805         * m4/getline.m4: Likewise.
91806         * m4/lstat.m4: Likewise.
91807         * m4/malloc.m4: Likewise.
91808         * m4/memcmp.m4: Likewise.
91809         * m4/putenv.m4: Likewise.
91810         * m4/realloc.m4: Likewise.
91811         * m4/regex.m4: Likewise.
91812         * m4/stat.m4: Likewise.
91813         * m4/strftime.m4: Likewise.
91814         Suggestion from Alain Magloire.
91815
91816         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
91817         an argument.
91818
91819         * m4/regex.m4: Add a run-time Test for proper operation of
91820         re_compile_pattern.
91821
91822 1999-01-31  Jim Meyering  <meyering@ascend.com>
91823
91824         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
91825
91826 1999-01-30  Jim Meyering  <meyering@ascend.com>
91827
91828         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
91829
91830         * m4/jm-mktime.m4: Make this a wrapper around the official
91831         AM_FUNC_MKTIME rather than my private copy, now that the official one
91832         is up to date.
91833         * m4/mktime.m4: Remove file.
91834
91835         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
91836         * m4/uptime.m4: Likewise.
91837         * m4/uintmax_t.m4: Likewise.
91838
91839 1999-01-28  Jim Meyering  <meyering@ascend.com>
91840
91841         * m4/jm-macros.m4: Use jm_AFS.
91842         * m4/afs.m4: New file (from fileutils' configure.in).
91843
91844         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
91845         * m4/chown.m4: Likewise.
91846         * m4/d-ino.m4: Likewise.
91847         * m4/d-type.m4: Likewise.
91848         * m4/fnmatch.m4: Likewise.
91849         * m4/getgroups.m4: Likewise.
91850         * m4/gettext.m4: Likewise.
91851         * m4/jm-mktime.m4: Likewise.
91852         * m4/jm-winsz2.m4: Likewise.
91853         * m4/lcmessage.m4: Likewise.
91854         * m4/ls-mntd-fs.m4: Likewise.
91855         * m4/malloc.m4: Likewise.
91856         * m4/memcmp.m4: Likewise.
91857         * m4/putenv.m4: Likewise.
91858         * m4/realloc.m4: Likewise.
91859         * m4/st_mtim.m4: Likewise.
91860         * m4/strftime.m4: Likewise.
91861
91862 1999-01-16  Jim Meyering  <meyering@ascend.com>
91863
91864         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
91865         (ARGMATCH_DIE_DECL): Define.
91866
91867 1999-01-12  Jim Meyering  <meyering@ascend.com>
91868
91869         * m4/Makefile.am.in: Rewrite to avoid using fmt.
91870         Reported by Lars Hecking.
91871
91872 1999-01-10  Jim Meyering  <meyering@ascend.com>
91873
91874         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
91875         gross kludge.
91876         * m4/inttypes_h.m4: Likewise.
91877         * m4/lstat.m4: Likewise.
91878         * m4/malloc.m4: Likewise.
91879         * m4/readdir.m4: Likewise.
91880         * m4/realloc.m4: Likewise.
91881         * m4/st_dm_mode.m4: Likewise.
91882         * m4/stat.m4: Likewise.
91883         * m4/utimbuf.m4: Likewise.
91884         * m4/utimes.m4: Likewise.
91885
91886         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
91887         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
91888         comments in config.h.in are meaningful.
91889
91890         * m4/jm-macros.m4: Require autoconf-2.13 here.
91891
91892         * m4/regex.m4: By default, don't use the included regex.c on systems
91893         with glibc 2.  Suggestion from Uli Drepper.
91894
91895 1999-01-02  Jim Meyering  <meyering@ascend.com>
91896
91897         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
91898
91899 1998-12-18  Jim Meyering  <meyering@ascend.com>
91900
91901         * m4/Makefile.am.in (Makefile.am): Simplify rule.
91902         Based on a suggestion from Lars Hecking.
91903
91904 1998-11-16  Paul Eggert  <eggert@twinsun.com>
91905
91906         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
91907
91908 1998-11-16  Jim Meyering  <meyering@ascend.com>
91909
91910         * m4/lfs.m4: Double-quote the `uname...` expression.
91911
91912 1998-11-14  Jim Meyering  <meyering@ascend.com>
91913
91914         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
91915         * m4/stat.m4: Likewise.
91916
91917 1998-11-03  Jim Meyering  <meyering@ascend.com>
91918
91919         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
91920         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
91921
91922 1998-10-18  Jim Meyering  <meyering@ascend.com>
91923
91924         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
91925
91926 1998-10-17  Jim Meyering  <meyering@ascend.com>
91927
91928         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
91929         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
91930         calls for those previously hard-coded headers.  Instead, take a new
91931         parameter.
91932         (jm_CHECK_DECLARATIONS): Reflect interface change.
91933         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
91934         (jm_CHECK_DECL_LOCALTIME_R): New macro.
91935
91936         * m4/mktime.m4: Test for spring-forward gap before long-running test.
91937
91938 1998-10-14  Jim Meyering  <meyering@ascend.com>
91939
91940         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
91941         instead of "TZ=America/Vancouver".  From Paul Eggert.
91942
91943 1998-10-11  Jim Meyering  <meyering@ascend.com>
91944
91945         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
91946         This adds a test for a recently added compatibility fix for mktime.c.
91947         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
91948
91949 1998-09-27  Jim Meyering  <meyering@ascend.com>
91950
91951         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
91952
91953         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
91954         ../configure.in, including a change from Gordon Matzigkeit to allow
91955         cross-compiling for the Hurd.
91956
91957         * m4/glibc.m4: New file/macro to test for the GNU C Library
91958         versions 1 and 2.  From Gordon Matzigkeit.
91959         Indent.
91960
91961 1998-09-21  Jim Meyering  <meyering@ascend.com>
91962
91963         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
91964
91965 1998-08-18  Paul Eggert  <eggert@twinsun.com>
91966
91967         Port nanosecond-resolution times to UnixWare 2.1.2 and
91968         pedantic Solaris 2.6.
91969
91970         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
91971         AC_STRUCT_ST_MTIM.
91972         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
91973         Generate name of ns member, instead of just 1 or undef.
91974         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
91975
91976 1998-08-15  Jim Meyering  <meyering@ascend.com>
91977
91978         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
91979         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
91980         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
91981         instead of jm_TYPE_SSIZE_T.
91982
91983 1998-08-12  Jim Meyering  <meyering@ascend.com>
91984
91985         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
91986
91987 1998-08-02  Jim Meyering  <meyering@ascend.com>
91988
91989         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
91990         in acconfig.h manually.
91991
91992 1998-07-31  Paul Eggert  <eggert@twinsun.com>
91993
91994         * m4/st_mtim.m4: New file.
91995
91996 1998-07-28  Jim Meyering  <meyering@ascend.com>
91997
91998         * m4/utimes.m4: Undef stat.
91999
92000 1998-07-25  Jim Meyering  <meyering@ascend.com>
92001
92002         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
92003         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
92004
92005 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
92006
92007         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
92008         uid and gid actually remain unchanged.
92009
92010 1998-07-07  Jim Meyering  <meyering@ascend.com>
92011
92012         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
92013
92014 1998-07-04  Jim Meyering  <meyering@ascend.com>
92015
92016         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
92017         to prove that this macro can be used in packages without regex.c.
92018
92019 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
92020
92021         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
92022         is to be used.
92023
92024 1998-07-03  Jim Meyering  <meyering@ascend.com>
92025
92026         * m4/gettext.m4: Add -lintl if it's found to be necessary.
92027
92028         * m4/gettext.m4: New file -- from gettext-0.10.35.
92029         * m4/lcmessage.m4: Likewise.
92030         * m4/progtest.m4: Likewise.
92031
92032         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
92033         * m4/jm-macros.m4: Require the new macro.
92034
92035 1998-06-29  Jim Meyering  <meyering@ascend.com>
92036
92037         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
92038         for the definition of NGROUPS (used in a system header included
92039         by sys/mount.h).
92040
92041 1998-06-28  Jim Meyering  <meyering@ascend.com>
92042
92043         * m4/ls-mntd-fs.m4: New file.
92044         * m4/fstypename.m4: New file.
92045
92046         * m4/jm-macros.m4: Require the new macro.
92047         * m4/jm-glibc-io.m4: New file.
92048
92049 1998-05-19  Jim Meyering  <meyering@ascend.com>
92050
92051         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
92052         * m4/lchown.m4: New file.
92053
92054         * m4/Makefile.am.in: New file.
92055         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
92056
92057 1998-05-14  Jim Meyering  <meyering@ascend.com>
92058
92059         * m4/Makefile.am (EXTRA_DIST): Add them.
92060         * m4/jm-macros.m4: New file.
92061         * m4/utimbuf.m4: New file.
92062
92063 1998-05-12  Jim Meyering  <meyering@ascend.com>
92064
92065         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
92066
92067 1998-05-11  Jim Meyering  <meyering@ascend.com>
92068
92069         * m4/isc-posix.m4: New file.
92070
92071 1998-05-10  Jim Meyering  <meyering@ascend.com>
92072
92073         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
92074
92075 1998-05-09  Jim Meyering  <meyering@ascend.com>
92076
92077         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
92078         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
92079         with automake.
92080
92081         * m4/ssize_t.m4: New file.
92082         * m4/mktime.m4: Remove file -- the new automake has this now.
92083
92084 1998-04-26  Jim Meyering  <meyering@ascend.com>
92085
92086         * m4/assert.m4: New file.
92087         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
92088
92089 1998-04-05  Jim Meyering  <meyering@ascend.com>
92090
92091         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
92092         (jm_PREREQ): Use it here.
92093
92094 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
92095
92096         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
92097         in acconfig.h.
92098
92099 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
92100
92101         * m4/prereq.m4: New file.
92102         * m4/error.m4: New file.
92103         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
92104
92105 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
92106
92107         * m4/getline.m4: Don't set am_cv_func_working_getline before the
92108         cache-check for the same variable -- that defeated the purpose of
92109         the test; the test program was never run.  This was a problem only
92110         on systems with losing getline functions -- HP-UX 10.20 is one.
92111         Reported by Bjorn Helgaas.
92112
92113 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
92114
92115         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
92116
92117 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
92118
92119         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
92120
92121         * m4/const.m4: New file.  Use an initializer in this declaration
92122         typedef int charset[2]; const charset x;
92123         Reported by Bob Glickstein.
92124
92125 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
92126
92127         * m4/chown.m4: Fix reversed types on -1 args to chown.
92128         From Kaveh Ghazi.
92129
92130 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
92131
92132         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
92133         Add lseek and memchr.
92134
92135         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
92136         T.E.Dickey <dickey@clark.net> said that some older preprocessors
92137         have a 20-character limit on names.
92138
92139 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
92140
92141         * m4/inttypes_h.m4: New file.
92142         * m4/uintmax_t.m4: New file.
92143         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
92144
92145
92146         -----
92147
92148         Local Variables:
92149         coding: utf-8
92150         End:
92151
92152         Copyright (C) 1997-2012 Free Software Foundation, Inc.
92153
92154         Copying and distribution of this file, with or without
92155         modification, are permitted provided the copyright notice
92156         and this notice are preserved.